/*
Theme Name: Value Cremations
Template: generatepress
Theme URI: https://valuecremations.co.nz
Author: Weave Digital Studio
Author URI: https://weave.co.nz/
Description: Value Cremations website 
Version: 0.9
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: gpc
*/

/*
CONTENTS:
1. GLOBALS
	Theme Variables
	Fonts
	Icons
	Layouts
	Heading
	Text
	List
	Blockquote
	Link & Button
	Table
	Misc
2. HEADER
	Layout
	GP Desktop Menu
	GP Mobile Menu
	GP Sticky Header
3. FOOTER
4. COMPONENTS
	BB Loop
	Cards
	PP Advanced Accordion / PP FAQ
	PP Table of Contents
	PP Content Grid
	WP GridBuilder
	SN Simple Text (Pyle Digital)
	Swiper JS
	HTML Popover
	Micromodal (plugin)
	Post
	Gravity Forms
5. HOME
6. SEARCH RESULTS
7. MISC
8. STYLES TEMPLATE
*/


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

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

:root {

	/* COLORS VARIABLES */

	/*
	--error: #ff4e7a;
	*/

	/* MISC VARIABLES */

	--transition-1: all .3s ease-out;
	--mobile-max-width: 520px;
	--mobile-max-width-narrow: 320px;
	--wp-admin-bar: 32px;
	--wp-admin-bar-mobile: 46px;
}
@media (max-width: 782px) {
	:root {

		/* MISC VARIABLES */

		--wp-admin-bar: 46px;
	}
}

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

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


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

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

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

/* PAGE SECTION */ 

:where(.vc-page-section[data-node]):not(.vc-full-width) > .fl-row-content-wrap {
	max-width: 1600px;
	margin-right: auto;
	margin-left: auto;
}
:where(.vc-page-section) > .fl-row-content-wrap {
	padding-top: clamp(15px, -4.0385px + 5.2885vw, 70px);
	padding-bottom: clamp(15px, -4.0385px + 5.2885vw, 70px);
}
:where(.vc-page-section.vc-spacing-xl) > .fl-row-content-wrap {
	padding-top: clamp(20px, -20px + 10vw, 100px);
	padding-bottom: clamp(20px, -20px + 10vw, 100px);
}

/* --- RESPONSIVE --- */

@media (max-width: 1400px) {
	.vc-page-section.vc-page-header > .fl-row-content-wrap {
		padding-bottom: clamp(0px, -5.9259px + 1.8519vw, 20px);
	}
}
@media (min-width: 769px) {
	.vc-mobile {
		display: none;
	}
}
@media (max-width: 768px) {
	.vc-desktop {
		display: none;
	}
	[class*="vc-mobile-max-width"] {
		--mobile-max-width: 520px;
		--mobile-max-width-narrow: 320px;
	}
	[class*="vc-mobile-max-width"]:not([class*="child"]),
	[class*="vc-mobile-max-width-child"] > * {
		margin-right: auto !important;
		margin-left: auto !important;
	}
	.vc-mobile-max-width,
	.vc-mobile-max-width-child > * {
		max-width: var(--mobile-max-width);
	}
	.vc-mobile-max-width-narrow,
	.vc-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(1rem, 0.963rem + 0.1852vw, 1.125rem); /* 16-18 */
	line-height: 1.3;
}
:is(h1,h2,h3,h4,h5,h6), 
[class*="vc-heading-display"] :is(h1,h2,h3,h4,h5,h6,p), 
:is(h1,h2,h3,h4,h5,h6,p)[class*="vc-heading-display"] {
	font-family: var(--gp-font--gelica);
	line-height: 1;
	letter-spacing: -3%;
}
h1, 
.vc-heading-display-1 :is(h2,h3,h4,h5,h6,p), 
:is(h2,h3,h4,h5,h6,p).vc-heading-display-1 {
	font-size: clamp(2.75rem, 1.9352rem + 4.0741vw, 5.5rem); /* 44-88 */
}
h2, 
.vc-heading-display-2 :is(h1,h3,h4,h5,h6,p), 
:is(h1,h3,h4,h5,h6,p).vc-heading-display-2 {
	font-size: clamp(2.1875rem, 1.5394rem + 3.2407vw, 4.375rem); /* 35-70 */
}
.wp-singular h2.wp-block-heading {
	color: var(--brand-green-dark);
}
h3, 
.vc-heading-display-3 :is(h1,h2,h4,h5,h6,p), 
:is(h1,h2,h4,h5,h6,p).vc-heading-display-3 {
	font-size: clamp(1.875rem, 1.3194rem + 2.7778vw, 3.75rem); /* 30-60 */
}
h4, 
.vc-heading-display-4 :is(h1,h2,h3,h5,h6,p), 
:is(h1,h2,h3,h5,h6,p).vc-heading-display-4, 
.wp-singular h2.wp-block-heading {
	font-size: clamp(1.5rem, 1.0556rem + 2.2222vw, 3rem); /* 24-48 */
}
h5, 
.vc-heading-display-5 :is(h1,h2,h3,h4,h6,p), 
:is(h1,h2,h3,h4,h6,p).vc-heading-display-5,
.wp-singular h3.wp-block-heading {
	font-size: clamp(1.25rem, 0.8796rem + 1.8519vw, 2.5rem); /* 20-40 */
}
h6, 
.vc-heading-display-6 :is(h1,h2,h3,h4,h5,p), 
:is(h1,h2,h3,h4,h5,p).vc-heading-display-6, 
.wp-singular h4.wp-block-heading {
	font-size: clamp(0.9375rem, 0.6597rem + 1.3889vw, 1.875rem); /* 15-30 */
}

/* 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;
}

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

p {
	text-wrap: pretty;
}
:where(.fl-module, [class*="fl-module"]) p:last-child {
	margin-bottom: 0;
}
strong, 
.fl-builder-content .fl-rich-text strong {
	font-weight: 500;
}
.fl-builder-content strong {
	font-weight: 600 !important;
}


/* [class^="vc-text-"] {
	line-height: 1.6;
	font-weight: 300;
} */
.vc-text-xxxl {
	font-size: clamp(1.25rem, 1.0648rem + 0.9259vw, 1.875rem); /* 20-30 */
}
.vc-text-xxl {
	font-size: clamp(1.125rem, 0.9954rem + 0.6481vw, 1.5625rem); /* 18-25 */
}
.vc-text-xl {
	font-size: clamp(1.0625rem, 1.0069rem + 0.2778vw, 1.25rem); /* 17-20 */
}
.vc-text-l {
	font-size: clamp(1rem, 0.963rem + 0.1852vw, 1.125rem); /* 16-18 */
}
.vc-text-m {
	font-size: clamp(0.9375rem, 0.9005rem + 0.1852vw, 1.0625rem); /* 15-17 */
}
.vc-text-s {
	font-size: clamp(0.875rem, 0.838rem + 0.1852vw, 1rem); /* 14-16 */
}
.vc-text-xs {
	font-size: clamp(0.8125rem, 0.794rem + 0.0926vw, 0.875rem); /* 13-14 */
}

.vc-text-kicker {
	font-size: clamp(0.75rem, 0.6635rem + 0.3846vw, 1rem) !important; /* 12-16 */
	font-weight: 400;
	text-transform: uppercase;
	letter-spacing: .08em;
}
.vc-text-kicker a {
	display: inline-flex;
	position: relative;
	text-decoration: none;
}
.vc-text-kicker a::after {
	content: "";
	position: absolute;
	right: 0;
	bottom: 0;
	left: 0;
	border-bottom: 1px solid var(--neutral-black);
}
.vc-text-kicker a:hover::after {
	border-color: var(--brand-orange-dark);
}
.vc-text-kicker .vc-separator::before {
	content: "/";
	margin: 0 .75em;
	color: var(--neutral-gray);
}

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

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

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

:not(header):not(footer) #content .fl-rich-text li:not(:last-child) {
	margin-bottom: .6em;
}
#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: .6em;
}
.vc-list-no-margin-l ul, 
ul.vc-list-no-margin-l {
	margin-left: 1.2em;
}

/* LIST ARROW ICON */

:is(.vc-list-arrow, .wp-block-list:not(.vc-link-list)) ul, 
ul:is(.vc-list-arrow, .wp-block-list:not(.vc-link-list)) {
	margin-left: 0;
}
:is(.vc-list-arrow, .wp-block-list:not(.vc-link-list)) ul li:not(.fl-module-overlay *), 
ul:is(.vc-list-arrow, .wp-block-list:not(.vc-link-list)) li:not(.fl-module-overlay *) {
	display: table;
	width: 100%;
}
:is(.vc-list-arrow, .wp-block-list:not(.vc-link-list)) ul:not(.vc-link-list) li::before, 
ul:is(.vc-list-arrow, .wp-block-list:not(.vc-link-list)) li::before {
	content: "\e900";
	position: initial;
	display: table-cell;
	width: 1.5em;
	padding-right: .75em;
	font-family: "Value-Cremations-Icons";
	white-space: nowrap;
}

/* LIST LINK */

ul.vc-link-list {
	margin: 2em 0 0 0;
	list-style: none;
}
ul.vc-link-list:has(+ *) {
	margin-bottom: 2em;
}
ul.vc-link-list li:not(:last-child) {
	margin-bottom: 1em !important;
}

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

blockquote {
	margin: 4em 0;
	padding: 20px 30px;
	font-style: normal;
	font-weight: 300;
	color: inherit;
	border-left: 2px solid #e7e7e7;
}
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
-------------------------- */

/* GLOBAL */

#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;
}
a:not([href]):is(:hover, :focus), 
*:hover a:not([href]), 
.hover a:not([href]) {
	cursor: default;
	color: inherit;
}
*:focus {
	outline: none;
}
*:focus-visible {
	outline: 1px dotted rgba(0,0,0,.6);
}
.vc-no-link {
	pointer-events: none;
}
.vc-dark-bg a:is(:hover, :focus) {
	 color: white !important; 
}

/* LINK ICON / LINK LIST / LINK WP READ MORE */

ul.vc-link-list,
a:is(.vc-link-icon, [class*="read-more-link"]), 
.vc-link-icon a {
	font-size: clamp(0.9375rem, 0.9005rem + 0.1852vw, 1.0625rem); /* 15-17 */
}
ul.vc-link-list a, 
a:is(.vc-link-icon, [class*="read-more-link"]),
.vc-link-icon a {
	display: inline-flex;
	gap: .5em;
	text-decoration: none;
	font-weight: 500;
	color: var(--neutral-black);
	border-bottom: 1px solid var(--neutral-black);
}
a[class*="read-more-link"] {
	color: var(--neutral-gray-light);
	border-color: var(--neutral-gray-light);
}
a[class*="read-more-link"], 
a[class*="read-more-link"] ~ [class*="read-more-content"] {
	margin-top: .6em;
}
ul.vc-link-list a::after, 
a.vc-link-icon::after, 
.vc-link-icon a::after {
	content: "\e901";
	font-family: "Value-Cremations-Icons";
}
ul.vc-link-list a:hover, 
a:is(.vc-link-icon, [class*="read-more-link"]):hover, 
.vc-link-icon a:hover {
	color: var(--brand-orange-dark);
	border-color: var(--brand-orange-dark);
}

/* BUTTON GLOBAL */

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(8px, 6.8148px + 0.3704vw, 12px) clamp(12px, 10.2222px + 0.5556vw, 18px); /* 8-12 12-18 */
	background-color: var(--neutral-black);
	font-size: clamp(1.0625rem, 1.0069rem + 0.2778vw, 1.25rem); /* 17-20 */
	font-weight: 600;
	line-height: 1.2;
	text-align: center;
	text-decoration: none;
	color: var(--neutral-white);
	border: none;
	border-radius: clamp(8px, 7.4074px + 0.1852vw, 10px);
}
.fl-builder-content :is(a.fl-button, a.fl-button:visited) * {
	color: var(--neutral-white);
}

button.button.vc-bt-small, 
a.button.vc-bt-small, 
.button.vc-bt-small a,
a.fl-button.vc-bt-small,
.fl-builder-content .vc-bt-small :is(a.fl-button, a.fl-button:visited) {
	padding: clamp(6px, 4.8148px + 0.3704vw, 10px) clamp(10px, 8.5185px + 0.463vw, 15px); /* 6-10 10-15 */
	font-size: clamp(0.9375rem, 0.9005rem + 0.1852vw, 1.0625rem); /* 15-17 */
}

button.button:hover,
a.button:hover,
.button a:hover,
header a.fl-button:hover,
.fl-builder-content a.fl-button:hover, 
[class*="vc-card"]:hover .vc-bt-orange a.fl.button,
[data-node] .pp-gf-content .gform_wrapper :is(.gform-button, .gform_footer .gform_button, .gform_page_footer .button):hover {
	background-color: var(--brand-orange);
	color: var(--neutral-black);
}
.fl-builder-content :is(a.fl-button, a.fl-button:visited):hover * {
	color: var(--neutral-black);
}

.fl-builder-content .fl-button i {
	font-size: 1.1em;
}

/* BT SOLID - ORANGE */

button.button.vc-bt-orange,
a.button.vc-bt-orange,
.button.vc-bt-orange a,
.fl-builder-content .vc-bt-orange a.fl-button {
	background-color: var(--brand-orange);
	color: var(--neutral-black);
}
.fl-builder-content .vc-bt-orange :is(a.fl-button, a.fl-button:visited) * {
	color: var(--neutral-black);
}
button.button.vc-bt-orange:hover,
a.button.vc-bt-orange:hover,
.button.vc-bt-orange a:hover,
.fl-builder-content .vc-bt-orange a.fl-button:hover {
	background-color: var(--neutral-black);
	color: var(--neutral-white);
}
.fl-builder-content .vc-bt-orange :is(a.fl-button, a.fl-button:visited):hover * {
	color: var(--neutral-white);
}

/* BT SOLID - OFF WHITE */

button.button.vc-bt-off-white,
a.button.vc-bt-off-white,
.button.vc-bt-off-white a,
.fl-builder-content .vc-bt-off-white a.fl-button {
	background-color: var(--neutral-off-white);
	color: var(--neutral-black);
}
.fl-builder-content .vc-bt-off-white :is(a.fl-button, a.fl-button:visited) * {
	color: var(--neutral-black);
}
button.button.vc-bt-off-white:hover,
a.button.vc-bt-off-white:hover,
.button.vc-bt-off-white a:hover,
.fl-builder-content .vc-bt-off-white a.fl-button:hover {
	background-color: var(--brand-orange);
}

/* BT SOLID - WHITE */

button.button.vc-bt-white,
a.button.vc-bt-white,
.button.vc-bt-white a,
.fl-builder-content .vc-bt-white a.fl-button {
	background-color: white;
	color: var(--neutral-black);
}
.fl-builder-content .vc-bt-white :is(a.fl-button, a.fl-button:visited) * {
	color: var(--neutral-black);
}
button.button.vc-bt-white:hover,
a.button.vc-bt-white:hover,
.button.vc-bt-white a:hover,
.fl-builder-content .vc-bt-white a.fl-button:hover {
	background-color: var(--neutral-black);
	color: white;
}
.fl-builder-content .vc-bt-white :is(a.fl-button, a.fl-button:visited):hover * {
	color: white;
}

/* BT SOLID - DARK BG */

button.button.vc-bt-orange.vc-dark-bg:hover,
a.button.vc-bt-orange.vc-dark-bg:hover,
.button.vc-bt-orange.vc-dark-bg a:hover,
.fl-builder-content .vc-bt-orange.vc-dark-bg a.fl-button:hover {
	background-color: white;
	color: var(--neutral-black);
}
.fl-builder-content .vc-bt-orange.vc-dark-bg :is(a.fl-button, a.fl-button:visited):hover * {
	color: var(--neutral-black);
}

/* BUTTON UNDERLINE, OUTLINE & TEXT */

button.button:is(.vc-bt-underline, .vc-bt-outline, .vc-bt-text), 
a.button:is(.vc-bt-underline, .vc-bt-outline, .vc-bt-text), 
.button:is(.vc-bt-underline, .vc-bt-outline, .vc-bt-text) a,
.fl-builder-content :is(.vc-bt-underline, .vc-bt-outline, .vc-bt-text) :is(a.fl-button, a.fl-button:visited) {
	background-color: transparent;
	color: var(--neutral-black);
}
button.button.vc-bt-underline, 
a.button.vc-bt-underline, 
.button.vc-bt-underline a,
.fl-builder-content .vc-bt-underline :is(a.fl-button, a.fl-button:visited) {
	padding: clamp(4px, 2.8148px + 0.3704vw, 8px) 0; /* 4-0 8-0 */
	border-bottom: 2px solid var(--neutral-black);
}
button.button.vc-bt-outline, 
a.button.vc-bt-outline, 
.button.vc-bt-outline a,
.fl-builder-content .vc-bt-outline :is(a.fl-button, a.fl-button:visited) {
	border: 1px solid var(--neutral-black);
}
.fl-builder-content :is(.vc-bt-underline, .vc-bt-outline, .vc-bt-text) :is(a.fl-button, a.fl-button:visited) * {
	color: var(--neutral-black);
}
button.button:is(.vc-bt-underline, .vc-bt-text), 
a.button:is(.vc-bt-underline, .vc-bt-text), 
.button:is(.vc-bt-underline, .vc-bt-text) a,
.fl-builder-content :is(.vc-bt-underline, .vc-bt-text) :is(a.fl-button, a.fl-button:visited) {
	padding-right: 0;
	padding-left: 0;
	border-radius: unset;
}

button.button:is(.vc-bt-underline, .vc-bt-outline, .vc-bt-text):hover, 
a.button:is(.vc-bt-underline, .vc-bt-outline, .vc-bt-text):hover, 
.button:is(.vc-bt-underline, .vc-bt-outline, .vc-bt-text) a:hover,
.fl-builder-content :is(.vc-bt-underline, .vc-bt-outline, .vc-bt-text) a.fl-button:hover {
	color: var(--brand-orange-dark);
}
button.button:is(.vc-bt-underline, .vc-bt-outline):hover, 
a.button:is(.vc-bt-underline, .vc-bt-outline):hover, 
.button:is(.vc-bt-underline, .vc-bt-outline) a:hover,
.fl-builder-content :is(.vc-bt-underline, .vc-bt-outline) a.fl-button:hover {
	border-color: var(--brand-orange-dark);
}
.fl-builder-content :is(.vc-bt-underline, .vc-bt-outline, .vc-bt-text) a.fl-button:hover * {
	color: var(--brand-orange-dark);
}

/* BT UNDERLINE, OUTLINE & TEXT - DARK BG */ 

button.button:is(.vc-bt-underline, .vc-bt-outline, .vc-bt-text).vc-dark-bg, 
a.button:is(.vc-bt-underline, .vc-bt-outline, .vc-bt-text).vc-dark-bg, 
.button:is(.vc-bt-underline, .vc-bt-outline, .vc-bt-text).vc-dark-bg a,
.fl-builder-content :is(.vc-bt-underline, .vc-bt-outline, .vc-bt-text).vc-dark-bg :is(a.fl-button, a.fl-button:visited) {
	color: var(--neutral-white);
}
button.button:is(.vc-bt-underline, .vc-bt-outline).vc-dark-bg, 
a.button:is(.vc-bt-underline, .vc-bt-outline).vc-dark-bg, 
.button:is(.vc-bt-underline, .vc-bt-outline).vc-dark-bg a,
.fl-builder-content :is(.vc-bt-underline, .vc-bt-outline).vc-dark-bg :is(a.fl-button, a.fl-button:visited) {
	border-color: var(--neutral-white);
}
.fl-builder-content :is(.vc-bt-underline, .vc-bt-outline, .vc-bt-text).vc-dark-bg :is(a.fl-button, a.fl-button:visited) * {
	color: var(--neutral-white);
}
button.button:is(.vc-bt-underline, .vc-bt-outline, .vc-bt-text).vc-dark-bg:hover,
a.button :is(.vc-bt-underline, .vc-bt-outline, .vc-bt-text).vc-dark-bg:hover,
.button :is(.vc-bt-underline, .vc-bt-outline, .vc-bt-text).vc-dark-bg a:hover,
.fl-builder-content :is(.vc-bt-underline, .vc-bt-outline, .vc-bt-text).vc-dark-bg a.fl-button:hover {
	color: var(--brand-orange);
}
button.button:is(.vc-bt-underline, .vc-bt-outline).vc-dark-bg:hover,
a.button :is(.vc-bt-underline, .vc-bt-outline).vc-dark-bg:hover,
.button :is(.vc-bt-underline, .vc-bt-outline).vc-dark-bg a:hover,
.fl-builder-content :is(.vc-bt-underline, .vc-bt-outline).vc-dark-bg a.fl-button:hover {
	border-color: var(--brand-orange);
}
.fl-builder-content :is(.vc-bt-underline, .vc-bt-outline, .vc-bt-text).vc-dark-bg a.fl-button:hover * {
	color: var(--brand-orange);
}

/* --------------------------
TABLE
-------------------------- */

/* GLOBAL */

.vc-table table, 
table.vc-table {
	--cell-padding-th: clamp(15px, 14.1111px + 0.2778vw, 18px);
	--cell-padding-td: clamp(10px, 8.8148px + 0.3704vw, 14px);
	--cell-padding-td-small: clamp(8px, 6.8148px + 0.3704vw, 12px);

	width: 100%;
	margin: 0;
	border: 1px solid var(--neutral-off-white);
	border-collapse: separate;
	border-spacing: 0;
	border-radius: 5px;
	overflow: hidden;
}
.vc-table table:has(+ *), 
table.vc-table:has(+ *) {
	margin-bottom: 2em;
}
.vc-table table :is(th,td), 
table.vc-table :is(th,td) {
	background-color: white;
	border: none;
	text-align: left;
	vertical-align: baseline;
	border-bottom: 1px solid var(--neutral-off-white);
	border-right: 1px solid var(--neutral-off-white);
}
.vc-table table :is(th,td):last-child, 
table.vc-table :is(th,td):last-child, 
.vc-table.vc-border-vertical-none table :is(th,td), 
table.vc-table.vc-border-vertical-none :is(th,td) {
	border-right: none;
}
.vc-table table th, 
table.vc-table th {
	padding: var(--cell-padding-th);
	font-size: clamp(1.0625rem, 1.0069rem + 0.2778vw, 1.25rem); /* 17-20 */
	font-weight: 600;
}
.vc-table table td, 
table.vc-table td {
	padding: var(--cell-padding-td);
}
.vc-table.vc-padding-small table td, 
table.vc-table.vc-padding-small td {
	padding: var(--cell-padding-td-small) var(--cell-padding-td);
}

@media (min-width: 601px) {
	.vc-table table tr:last-child td, 
	table.vc-table tr:last-child td {
		border-bottom: none;
	}
}
@media (max-width: 600px) {
	.vc-table table :is(th,td), 
	table.vc-table :is(th,td) {
		display: block;
		width: 100% !important;
		border-right: none;
	}
	.vc-table table tr:last-child td:last-child, 
	table.vc-table tr:last-child td:last-child {
		border-bottom: none;
	}
}

/* TABLE BORDER */

.vc-table.vc-border-white table, 
table.vc-table.vc-border-white {
	border-color: white;
}

/* TABLE TYPOGRAPHY */

.vc-table.vc-txt-bold-col-1 table tbody td:first-child, 
table.vc-table.vc-txt-bold-col-1 tbody td:first-child {
	font-weight: 600;
}

/* TABLE MULTI COL */

.vc-table.vc-2-col table :is(th,td), 
table.vc-table.vc-2-col :is(th,td) {
	width: 50%;
}
.vc-table.vc-2-col-35-65 table :is(th,td):first-child, 
table.vc-table.vc-2-col-35-65 :is(th,td):first-child {
	width: 35%;
}
.vc-table.vc-3-col table :is(th,td), 
table.vc-table.vc-3-col :is(th,td) {
	width: 33.33%;
}

/* TABLE COMPARISON */

.vc-table.vc-comparison table :is(th,td):nth-child(2), 
table.vc-table.vc-comparison :is(th,td):nth-child(2) {
	border-color: white;
}
.vc-table.vc-comparison[class*="vc-2-col"] :is(th,td):nth-child(2), 
table.vc-table.vc-comparison[class*="vc-2-col"] :is(th,td):nth-child(2) {
	background-color: var(--neutral-off-white);
}

/* TABLE ALIGN */

.vc-table.vc-align-c-col-1 table :is(th,td):first-child, 
.vc-table.vc-align-c-col-2 table :is(th,td):nth-child(2), 
.vc-table.vc-align-c-col-3 table :is(th,td):nth-child(3), 
table.vc-table.vc-align-c-col-1 :is(th,td):first-child, 
table.vc-table.vc-align-c-col-2 :is(th,td):nth-child(2), 
table.vc-table.vc-align-c-col-3 :is(th,td):nth-child(3) {
	text-align: center;
}
.vc-table.vc-align-r-col-1 table :is(th,td):first-child, 
.vc-table.vc-align-r-col-2 table :is(th,td):nth-child(2), 
.vc-table.vc-align-r-col-3 table :is(th,td):nth-child(3), 
table.vc-table.vc-align-r-col-1 :is(th,td):first-child, 
table.vc-table.vc-align-r-col-2 :is(th,td):nth-child(2), 
table.vc-table.vc-align-r-col-3 :is(th,td):nth-child(3) {
	text-align: right;
}

/* TABLE ICON */

.vc-table[class*="vc-icon"] table, 
table.vc-table[class*="vc-icon"] {
	font-family: var(--gp-font--polymath);
	line-height: 1.3;
}
.vc-table:is(.vc-icon-check-col-1, .vc-icon-close-col-1, .vc-icon-arrow-col-1) table tbody td:first-child, 
table.vc-table:is(.vc-icon-check-col-1, .vc-icon-close-col-1, .vc-icon-arrow-col-1) tbody td:first-child, 
.vc-table:is(.vc-icon-check-col-2, .vc-icon-close-col-2, .vc-icon-arrow-col-2) table tbody td:nth-child(2), 
table.vc-table:is(.vc-icon-check-col-2, .vc-icon-close-col-2, .vc-icon-arrow-col-2) tbody td:nth-child(2) {
	position: relative;
	padding-left: calc(var(--cell-padding-td) + 2em);
}
.vc-table:is(.vc-icon-check-col-1, .vc-icon-close-col-1, .vc-icon-arrow-col-1) table tbody td:first-child::before, 
table.vc-table:is(.vc-icon-check-col-1, .vc-icon-close-col-1, .vc-icon-arrow-col-1) tbody td:first-child::before, 
.vc-table:is(.vc-icon-check-col-2, .vc-icon-close-col-2, .vc-icon-arrow-col-2) table tbody td:nth-child(2)::before, 
table.vc-table:is(.vc-icon-check-col-2, .vc-icon-close-col-2, .vc-icon-arrow-col-2) tbody td:nth-child(2)::before {
	font-family: "Value-Cremations-Icons";
	font-size: 120%;
	position: absolute;
	left: var(--cell-padding-td);
	transform: translateY(-.15em);
}
.vc-table.vc-icon-check-col-1 table tbody td:first-child::before, 
table.vc-table.vc-icon-check-col-1 tbody td:first-child::before, 
.vc-table.vc-icon-check-col-2 table tbody td:nth-child(2)::before, 
table.vc-table.vc-icon-check-col-2 tbody td:nth-child(2)::before {
	content: "\e906";
	color: var(--brand-green);
}
.vc-table.vc-icon-close-col-1 table tbody td:first-child::before, 
table.vc-table.vc-icon-close-col-1 tbody td:first-child::before, 
.vc-table.vc-icon-close-col-2 table tbody td:nth-child(2)::before, 
table.vc-table.vc-icon-close-col-2 tbody td:nth-child(2)::before {
	content: "\e90e";
}
.vc-table.vc-icon-arrow-col-1 table tbody td:first-child::before, 
table.vc-table.vc-icon-arrow-col-1 tbody td:first-child::before, 
.vc-table.vc-icon-arrow-col-2 table tbody td:nth-child(2)::before, 
table.vc-table.vc-icon-arrow-col-2 tbody td:nth-child(2)::before {
	content: "\e901";
}

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

hr {
	margin: 2em 0;
	border: none;
	border-top: 1px solid #e7e7e7;
}
code:not(.gp-color-grid-alt code), kbd, tt, var {
	display: inline-block;
	margin-bottom: 1em;
	background-color: #e5e5e5;
	padding: .2em .5em;
	font-size: 90%;
}
.vc-dark-bg code:not(.gp-color-grid-alt code), kbd, tt, var {
	background-color: rgba(255,255,255,.1);
	color: #ccc;
}


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

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

header.fl-theme-builder-header-shrink .vc-header-desktop {
	box-shadow: 0 0 40px rgba(0,0,0,.15);
}

/* --------------------------
GP DESKTOP MENU
-------------------------- */

/* DEV */
/* .main-navigation ul ul {
	left: 0;
	height: auto;
	opacity: 1;
} */
/* END DEV */

/* GLOBAL */ 

body:not(.fl-builder-edit) header :where(.vc-header-desktop, .vc-header-mobile) {
	display: none;
}
@media (min-width: 1401px) {
	body:not(.fl-builder-edit) header .vc-header-desktop {
		display: block !important;
	}
}
@media (max-width: 1400px) {
	body:not(.fl-builder-edit) header .vc-header-mobile {
		display: block !important;
	}
}

/* MENU BUTTON */ 

/* SUB MENU */ 

/* --------------------------
GP MOBILE MENU
-------------------------- */

[data-node] .pp-advanced-menu-mobile {
	justify-content: flex-start;
}
.pp-advanced-menu-mobile-toggle i {
  transition: var(--transition-1);
}
.pp-advanced-menu-mobile-toggle:hover i {
  color: var(--brand-green);
}

[class*="fl-node"] .pp-advanced-menu .pp-menu-overlay {
	--overlay-shift: 10px;
	top: var(--overlay-shift);
	right: var(--overlay-shift);
	bottom: var(--overlay-shift);
	left: var(--overlay-shift);
	width: auto;
	height: calc(100vh - 20px) !important;
	border-radius: 10px;
}
body.admin-bar [class*="fl-node"] .pp-advanced-menu .pp-menu-overlay {
	--overlay-shift: 10px;
	top: calc(var(--wp-admin-bar) + var(--overlay-shift));
}

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


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


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

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

/* Fix */ 

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

/*--------------------------
CARDS
--------------------------*/

/* GLOBAL */

/* [class*="vc-card"][role="link"], */
[class*="vc-card"],
[class*="vc-card"] .vc-icon i:before, 
[class*="vc-card"] :is(.vc-title, .vc-text) {
	transition: var(--transition-1);
}

/* CARD STEP / CARD - TEXT + ICON / CARD - ARTICLE */

:is(.vc-card-step:not(.vc-bg-white), .vc-card-text-icon, .vc-card-article):last-child, 
.fl-loop-grid .fl-loop-item:last-child .vc-card-text-icon {
	border-bottom: 1px solid var(--neutral-gray-light);
}
.fl-loop-item:last-child .vc-card-text-icon {
	border-bottom: 1px solid var(--neutral-gray-light) !important;
}
.vc-card-step .vc-number .fl-simple-text-content, 
.vc-card-text-icon .vc-icon a i {
	display: flex;
	justify-content: center;
	align-items: center;
	width: auto !important;
	height: clamp(35px, 30.5556px + 1.3889vw, 50px);
	aspect-ratio: 1;
	padding: clamp(5px, 2.037px + 0.9259vw, 15px);
	background: white;
	font-family: var(--gp-font--gelica);
	line-height: 0 !important;
	border-radius: 5px !important;
}
.vc-card-step.vc-bg-white .vc-number .fl-simple-text-content {
	background: var(--neutral-off-white);
}
[class*="vc-card"]:has(a):hover :is(.vc-title, .vc-link-icon a), 
[class*="vc-card"]:has(a):hover .vc-icon i:before {
	color: var(--brand-orange-dark) !important;
}
.vc-card-text-icon .fl-icon i:before {
	font-size: clamp(12px, 9.6296px + 0.7407vw, 20px) !important;
}
[class*="vc-card"]:has(a):hover .vc-link-icon a {
	border-color: var(--brand-orange-dark);
}

/* CARD PRICING v2 */

.vc-pricing .vc-card__body {
	justify-content: flex-end;
}
.vc-pricing .vc-card__name, 
.vc-pricing .vc-card__price {
	font-size: clamp(1.5rem, 1.0556rem + 2.2222vw, 3rem); /* 24-48 */
}
.vc-pricing .vc-card__price {
	padding-top: clamp(10px, 4.0741px + 1.8519vw, 30px);
	padding-bottom: clamp(10px, 4.0741px + 1.8519vw, 30px);
}
.vc-pricing .vc-card__link {
	margin-top: 1em;
}

@media (max-width: 460px) {
	.vc-card__inner {
		flex-direction: column;
	}
}

/* CARD PRICING v1 */

.vc-card-pricing:hover {
	background-color: var(--brand-orange);
}
.vc-card-pricing:hover .vc-bt-underline a.fl-button, 
.vc-card-pricing:hover .vc-bt-underline a.fl-button * {
	color: var(--neutral-black);
	border-color: var(--neutral-black) !important;
}

/* CARD RESOURCE */

/* Fix PP ToC injecting <span> for [data-element-index] in Flexbox layout */ 

*:has([data-element-index]) {
	position: relative;
}
*:has([data-element-index]) [data-element-index] {
	position: absolute;
}

.vc-card-resource:not(:has(+ .vc-card-resource)) {
	border-bottom: 1px solid var(--neutral-off-white);
}
.vc-card-resource ul {
		font-size: clamp(0.9375rem, 0.9005rem + 0.1852vw, 1.0625rem); /* 15-17 */
}

/*--------------------------
PP TABLE OF CONTENTS
--------------------------*/

.pp-toc-container {
	background-color: var(--neutral-off-white);
	border-radius: 5px;
}
.pp-toc-container :is(.pp-toc-header, .pp-toc-body) {
	background: none;
}
.pp-toc-container .pp-toc-header {
	padding: 12px 20px;
}
.pp-toc-container .pp-toc-body {
	padding: 0 0 12px 0;
}
.pp-toc-container .pp-toc-header-title {
	font-weight: 600;
	color: var(--neutral-black);
}
.pp-toc-container .pp-toc-header-title, 
.pp-toc-container :is(.header-icon-expand, .header-icon-collapse) {
	font-size: clamp(1.0625rem, 1.0069rem + 0.2778vw, 1.25rem); /* 17-20 */
}
.pp-toc-container .pp-toc-separator {
	display: none;
}
[data-node] .pp-toc-container .pp-toc-list-wrapper > li {
	padding: 0 20px;
	font-size: clamp(0.9375rem, 0.9005rem + 0.1852vw, 1.0625rem); /* 15-17 */
	border-top: 1px solid white;
}
[data-node] .pp-toc-container .pp-toc-list-wrapper li a {
	flex-grow: 1;
	padding: 7px 0;
	text-decoration: none;
}
[data-node] .pp-toc-container .pp-toc-list-wrapper.pp-toc-list-icon li span {
	margin-right: .75em;
}

/*--------------------------
PP ADVANCED ACCORDION / PP FAQ
--------------------------*/

:is(.pp-accordion, .pp-faq) {
	border-bottom: 1px solid var(--neutral-gray-light);
}
.pp-faq .pp-faq-button {
	display: flex;
}
.pp-accordion .pp-accordion-button, 
.pp-faq .pp-faq-button {
	justify-content: space-between;
	align-items: center;
	gap: 40px;
	padding: clamp(10px, 7.6296px + 0.7407vw, 18px) 0;
}
.pp-accordion .pp-accordion-button-label, 
.pp-faq .pp-faq-button-label {
	font-size: clamp(1.0625rem, 0.9144rem + 0.7407vw, 1.5625rem); /* 17-25 */
	font-weight: 500;
	transition: var(--transition-1);
}
.pp-accordion .pp-accordion-item:hover :is(.pp-accordion-button-label, .pp-accordion-button-icon), 
.pp-accordion .pp-accordion-item-active :is(.pp-accordion-button-label, .pp-accordion-button-icon), 
.pp-faq .pp-faq-item:hover :is(.pp-faq-button-label, .pp-faq-button-icon), 
.pp-faq .pp-faq-item-active :is(.pp-faq-button-label, .pp-faq-button-icon) {
	color: var(--brand-green-dark);
}
.pp-accordion .pp-accordion-item .pp-accordion-button-icon, 
.pp-accordion .pp-accordion-item .pp-accordion-button-icon:before, 
.pp-faq .pp-faq-item .pp-faq-button-icon, 
.pp-faq .pp-faq-item .pp-faq-button-icon:before {
	width: auto;
	height: auto;
}

[data-node] .pp-accordion-item .pp-accordion-button-icon, 
[data-node] .pp-accordion-item .pp-accordion-button-icon:before, 
[data-node] .pp-faq-item .pp-faq-button-icon, 
[data-node] .pp-faq-item .pp-faq-button-icon:before {
	font-size: clamp(15px, 13.5185px + 0.463vw, 20px);
}

.pp-accordion .pp-accordion-item .pp-accordion-button-icon, 
.pp-faq .pp-faq-item .pp-faq-button-icon {
	justify-content: center;
	align-items: center;
	aspect-ratio: 1;
	padding: clamp(8px, 5.9259px + 0.6481vw, 15px);
	background-color: var(--neutral-off-white);
	border-radius: 5px;
}
.pp-accordion .pp-accordion-item.pp-accordion-item-active > .pp-accordion-button .pp-accordion-close, 
.pp-faq .pp-faq-item.pp-faq-item-active > .pp-faq-button .pp-faq-close {
	display: flex;
}
.pp-accordion .pp-accordion-item .pp-accordion-button-icon:before, 
.pp-faq .pp-faq-item .pp-faq-button-icon:before {
	transition: var(--transition-1);
}
.pp-accordion .pp-accordion-content, 
.pp-faq .pp-faq-content {
	padding: 0 clamp(70px, 61.1111px + 2.7778vw, 100px) clamp(25px, 22.037px + 0.9259vw, 35px) 0;
}

/*--------------------------
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;
}

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

/* LAYOUT */

html .wpgb-facet > fieldset:last-child {
	margin-bottom: 0;
}

/* 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(0, 0, 0, 0.925), 0 -20px rgba(0, 0, 0, 0.8), 14.1422712488px -14.1422712488px rgba(0, 0, 0, 0.675), 20px 0 rgba(0, 0, 0, 0.55), 14.1422712488px 14.1422712488px rgba(0, 0, 0, 0.425), 0 20px rgba(0, 0, 0, 0.3), -14.1422712488px 14.1422712488px rgba(0, 0, 0, 0.175), -20px 0 rgba(0, 0, 0, 0.05);
	transition: box-shadow 200ms ease;
	opacity: 1;
}

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

/*--------------------------
SN SIMPLE TEXT (Pyle Digital)
--------------------------*/

.fl-module-sn-simple-text p:last-child {
  margin-bottom: 0;
}

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

.swiper {
	--swiper-pagination-color: var(--neutral-black);
	--swiper-pagination-bullet-width: 10px;
	--swiper-pagination-bullet-height: 10px;
	--swiper-pagination-bullet-inactive-color: var(--neutral-off-white);
	--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-builder-edit .swiper-wrapper {
	flex-direction: row !important;
}
body:not(.fl-builder-edit) .swiper-wrapper > .fl-module-box {
	flex-shrink: 0;
	width: 100% !important;
}

/* --- RESPONSIVE --- */

/* @media (min-width: 769px) {
	body:not(.fl-builder-edit) .fl-module-box.swiper,
	body:not(.fl-builder-edit) .fl-module-box .swiper-wrapper {
		width: 90%;
	}
} */
/* PAGINATION */ 

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

/* NAVIGATION */

.swiper-navigation {
	--border-style: 2px solid var(--neutral-black);
	display: flex;
	justify-content: center;
	gap: clamp(10px, 8.5185px + 0.463vw, 15px);
}
.swiper-navigation :is(.swiper-button-prev, .swiper-button-next) {
	position: initial;
	margin-top: 0;
	width: auto;
}
body.fl-builder-edit .swiper-navigation :is(.swiper-button-prev, .swiper-button-next), 
body.fl-builder-edit .swiper-navigation :is(.swiper-rtl .swiper-button-prev, .swiper-rtl .swiper-button-next) {
	position: relative;
	top: unset;
	right: unset;
	bottom: unset;
	left: unset;
}
.swiper-navigation :is(.swiper-button-prev, .swiper-button-next):after {
	content: "";
	display: block;
	width: clamp(15px, 12.2308px + 0.7692vw, 23px);
	height: auto; 
	aspect-ratio: 1;
	border-top: var(--border-style);
	transition: var(--transition-1);
}
.swiper-navigation :is(.swiper-button-prev, .swiper-button-next):hover:after {
	border-color: var(--primary);
}
.swiper-navigation .swiper-button-prev:after, 
.swiper-navigation .swiper-rtl .swiper-button-next:after {
	border-left: var(--border-style);
	transform: rotate(-45deg);
}
.swiper-navigation .swiper-button-next:after, 
.swiper-navigation .swiper-rtl .swiper-button-prev:after {
	border-right: var(--border-style);
	transform: rotate(45deg);
}

/*--------------------------
HTML POPOVER
--------------------------*/

/* TRIGGER */

button.vc-popover-trigger {
	display: inline;
	padding: 0;
	background: none;
	text-align: left;
	text-decoration: underline;
	color: var(--neutral-black);
	transition: var(--transition-1);
}
.vc-pricing button.vc-popover-trigger:hover {
	color: white;
}

/* CLOSE */ 

.vc-popover [popovertargetaction="hide"] {
	position: absolute;
	top: 0;
	right: 0;
	display: flex; 
	justify-content: center;
	align-items: center;
	padding: 0;
	width: clamp(25px, 22.037px + 0.9259vw, 35px);
	height: auto;
	aspect-ratio: 1;
}
.vc-popover [popovertargetaction="hide"]::before {
	content: "\e90e";
	font-family: "Value-Cremations-Icons";
	font-size: clamp(1.125rem, 1.088rem + 0.1852vw, 1.25rem) /* 18-20 */;
}

/* POPOVER */

body:not(.fl-builder-edit) .fl-module-html:has(.vc-popover) {
	position: absolute;
}
.vc-popover {
	overflow: hidden;
	max-width: 380px;
	padding: 20px 40px 20px 20px;
	background-color: var(--neutral-black);
	border: none;
	border-radius: 5px;
	color: white;

	/* closed state */
	opacity: 0;
	transform: translateY(0);
	transition: all .25s ease-in-out allow-discrete;
}
/* Anchored placement below the trigger — CSS anchor positioning is
   Chromium-only for now. Firefox/Safari skip this block and fall back
   to the UA-centered popover (position: fixed; margin: auto; inset: 0). */
@supports (position-area: bottom) {
	.vc-popover {
		position: relative;
		position-area: bottom;
		margin: 0 20px 20px 20px;
	}
}
/* open state: slide down into the 10px gap while fading in */
.vc-popover:popover-open {
	opacity: 1;
	transform: translateY(10px);
}
/* entry start state (the slide/fade begins from here) */
@starting-style {
	.vc-popover:popover-open {
		opacity: 0;
		transform: translateY(0);
	}
}

@media (max-width: 520px) {
	.vc-popover {
		max-width: unset;
	}
}

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

/* body.fl-builder-edit .modal,  */
.modal {
	display: none;
}
html .modal__overlay {
	z-index: 1000;
	padding: 20px;
	background-color: rgba(196, 186, 166, 0.95);
}
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);
	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;
}

/*--------------------------
POST
--------------------------*/

body.single .wp-block-group {
	padding: clamp(30px, 21.1111px + 2.7778vw, 60px) 0;
	border-style: solid;
	border-width: 1px 0 0;
	border-color: var(--fl-global-neutral-off-white);
}
body.single .wp-block-group:last-child {
	border-bottom: 1px solid var(--neutral-off-white);
}
body.single .vc-cta-2-buttons, */
body.single .vc-post-content .vc-cta-2-buttons {
	justify-content: flex-start;
	margin-top: 2.5em !important;
}
body[class*="single"] .vc-post-content :is(h1,h2,h3,h4,h5,h6):has(+ *),
body[class*="single"] .vc-post-content [class*="vc-heading-display"] :is(h1,h2,h3,h4,h5,h6,p):has(+ *),
body[class*="single"] .vc-post-content :is(h1,h2,h3,h4,h5,h6,p)[class*="vc-heading-display"]:has(+ *) {
	margin-bottom: .7em;
}

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

/* LAYOUT */

html .gform_wrapper.gravity-theme .gform_footer, 
html .gform_wrapper.gravity-theme .gform_page_footer {
	margin-top: 2em;
}

/* TYPOGRAPHY */

html .gform_wrapper.gravity-theme .ginput_complex label {
	font-size: 80%;
}
html .gform_wrapper.gravity-theme :is(input[type], textarea), 
html .gform_wrapper.gravity-theme .gfield_checkbox label {
	font-size: clamp(1rem, 0.963rem + 0.1852vw, 1.125rem); /* 16-18 */
}
html .gform_wrapper.gravity-theme .gfield_label, 
html .gform_wrapper.gravity-theme :is(select) {
	font-size: clamp(0.875rem, 0.838rem + 0.1852vw, 1rem); /* 14-16 */
}

/* INPUT */

[data-node] .pp-gf-content .gform_wrapper .gfield select {
	background: white url("data:image/svg+xml,<svg height='10px' width='10px' viewBox='0 0 16 16' fill='%23000000' xmlns='http://www.w3.org/2000/svg'><path d='M7.247 11.14 2.451 5.658C1.885 5.013 2.345 4 3.204 4h9.592a1 1 0 0 1 .753 1.659l-4.796 5.48a1 1 0 0 1-1.506 0z'/></svg>") no-repeat;
	background-position: calc(100% - 0.75rem) center !important;
	appearance: none !important;
	padding-right: 2rem !important;
}
html .gform_wrapper.gravity-theme .gfield_checkbox .gchoice {
	display: flex;
	gap: 15px;
}
[data-node] .pp-gf-content .gform_wrapper .gfield_checkbox input[type=checkbox], 
[data-node] .pp-gf-content .gform_wrapper .gfield_checkbox input[type=checkbox]:focus {
	padding: 0;
}

/* VALIDATION */

html .gform_wrapper.gravity-theme .gform_validation_errors {
	background: none;
	box-shadow: none;
}
html .gform_wrapper.gravity-theme .gform_validation_errors > h2 {
	font-family: var(--gp-font--polymath);
	font-size: clamp(0.9375rem, 0.9005rem + 0.1852vw, 1.0625rem); /* 15-17 */
}
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);
	border-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='image']):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. HOME
/////////////////////////////////////////////////////*/


/*/////////////////////////////////////////////////////
6. 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(--green);
}

/* --- 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;
	}
}


/*/////////////////////////////////////////////////////
7. 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 */ 

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

/* HEADINGS & TEXT */ 

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

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

/* LISTS */ 

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


/*/////////////////////////////////////////////////////
8. 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--gelica); 
}
.av-demo-font-2, 
.av-demo-font-2 h2, 
.av-demo-font-2 h3 {
	font-family: var(--gp-font--polymath); 
}
[class*="av-demo-font-"] p {
	margin-bottom: .5em;
}