/*
Theme Name: Academy Funerals
Template: generatepress
Theme URI: https://academyfunerals.co.nz
Author: Weave Digital Studio
Author URI: https://weave.co.nz/
Description: Website for Academy Funerals
Version: 1.7
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. GLOBALS
	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 Misc
2. HEADER
	2.1 Layout
	2.2 GP Desktop Menu
	2.3 GP Mobile Menu
	2.4 GP Sticky Header
3. FOOTER
4. COMPONENTS
	4.1 Post Grid/Carousel (Global)
	4.2 Post Grid: Team
	4.3 Post Grid: Products
	4.4 Side Items
	4.5 Translate Press
	4.6 Clip Image
	4.7 Micromodal (plugin)
	4.8 Quick Links
	4.9 Academy Tabs
	4.10 Academy Accordion
	4.11 HK Funeral Suite: Pricing Grid
	4.12 Feedback
	4.13 Gravity Forms
5. SEARCH RESULTS
6. MISC
7. STYLES TEMPLATE
*/


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

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

:root {

	/* COLORS VARIABLES */

	/*
	--error: #e83fa4;
	*/

	/* MISC VARIABLES */

	--transition-1: all .3s ease-out;
	--transition-2: all .5s 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
*/


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

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

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

/* ASPECT RATIO */ 

.aca-aspect-ratio-1 {
	aspect-ratio: 1;
}
.aca-aspect-ratio-100-60 {
	aspect-ratio: 100/60;
}
.aca-aspect-ratio-100-70 {
	aspect-ratio: 100/70;
}

/* VISIBILITY - DIMENSIONS */ 

/* --- RESPONSIVE --- */

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

/* CSS COLUMNS */ 

.aca-layout-2-col {
	columns: 2;
	column-gap: 40px;
}

/* --- RESPONSIVE --- */

@media (max-width: 1024px) {
	.aca-layout-2-col {
		columns: unset;
	}
}

/* --------------------------
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.9091rem + 0.4545vw, 1.25rem); /* 16/20 px */
}
h1, 
.aca-heading-fake-h1 :is(h2,h3,h4,h5,h6), 
:is(h2,h3,h4,h5,h6).aca-heading-fake-h1 {
	/* font-size: clamp(2.1875rem, 1.392rem + 3.9773vw, 4.375rem); 35/70 px */
	font-size: clamp(1.875rem, 0.9659rem + 4.5455vw, 4.375rem); /* 30/70 px */
}
h2, 
.aca-heading-fake-h2 :is(h1,h3,h4,h5,h6), 
:is(h1,h3,h4,h5,h6).aca-heading-fake-h2 {
	/* font-size: clamp(1.6875rem, 1.0511rem + 3.1818vw, 3.4375rem); 27/55 px */
	font-size: clamp(1.5rem, 0.7955rem + 3.5227vw, 3.4375rem); /* 23/55 px */
}
h3, 
.aca-heading-fake-h3 :is(h1,h2,h4,h5,h6), 
:is(h1,h2,h4,h5,h6).aca-heading-fake-h3 {
	/* font-size: clamp(1.5625rem, 1.1761rem + 1.9318vw, 2.625rem); 25/42 px */
	font-size: clamp(1.3125rem, 0.8352rem + 2.3864vw, 2.625rem); /* 21/42 px */
	font-weight: 300;
}
h4, 
.aca-heading-fake-h4 :is(h1,h2,h3,h5,h6), 
:is(h1,h2,h3,h5,h6).aca-heading-fake-h4 {
	font-size: clamp(1.25rem, 1.0682rem + 0.9091vw, 1.75rem); /* 20/28 px */
	/* font-size: clamp(1.125rem, 0.8977rem + 1.1364vw, 1.75rem); 18/28 px */
}
h5 {
	font-size: clamp(1.125rem, 0.9886rem + 0.6818vw, 1.5rem); /* 18/24 px */
	/* font-size: clamp(1rem, 0.8182rem + 0.9091vw, 1.5rem); 16/24 px */
}
h6 {
	font-size: clamp(1rem, 0.9091rem + 0.4545vw, 1.25rem); /* 16/20 px */
	/* font-size: clamp(0.9375rem, 0.8239rem + 0.5682vw, 1.25rem); 15/20 px */
}

/* MISC */

h1, h2, h3, h4, h5, h6 {
	text-wrap: balance;
} 
:is(h1,h2,h3,h4,h5,h6) a {
	text-decoration: none;
}
:is(h2,h3,h4,h5,h6) a {
	color: var(--forest-green) !important;
}
:is(h2,h3,h4,h5,h6) a:hover, 
:is(h2,h3,h4,h5,h6) a:focus {
	color: var(--academy-blue) !important;
}
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;
}
.aca-pre-heading p {
	display: inline-flex;
	justify-content: center;
	align-items: center;
	padding: .2em .6em;
	background-color: var(--academy-blue);
	font-size: clamp(0.8125rem, 0.7443rem + 0.3409vw, 1rem); /* 13/16 px */
	font-weight: 400;
	color: white;
	border-radius: 6px;
 }


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

p {
	text-wrap: pretty;
}
/* strong, 
.fl-builder-content .fl-rich-text strong {
	font-weight: 500;
} */
.aca-text-intro, 
.aca-text-intro p {
	font-size: clamp(1.125rem, 0.8977rem + 1.1364vw, 1.75rem); /* 18/28 px */
	/* font-size: clamp(1.1875rem, 0.983rem + 1.0227vw, 1.75rem); 19/28 px */
	font-weight: 300;
	line-height: 1.3;
}
.aca-text-intro-alt, 
.aca-text-intro-alt p {
	font-size: clamp(1.0625rem, 0.9034rem + 0.7955vw, 1.5rem); /* 17/24 px */
	font-weight: 400;
	line-height: 1.3;
}
.aca-text-no-margin-b p, 
p.aca-text-no-margin-b {
	margin-bottom: 0;
}
.aca-text-light {
	font-weight: 300;
	color: inherit !important;
}

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

/* SKETCH UNDERLINE */ 

.aca-sketch-underline p::after {
	content: "";
	display: block;
	aspect-ratio: 100/18;
	width: 50px;
	height: auto;
	margin: .1em 0;
	background: url("/wp-content/uploads/2025/07/Sketch-Underline.svg") center/contain no-repeat;
}

@media (max-width: 768px) {
	.aca-sketch-underline p::after {
		width: 40px;
	}
}

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

/* #content .fl-builder-content :not(.fl-module-overlay) li,  */
:not(header):not(footer) #content .fl-rich-text li {
	margin-bottom: .75rem;
}
#content .fl-builder-content .fl-module-overlay li {
	margin-bottom: 0;
}
.aca-list-no-margin-l ul, 
ul.aca-list-no-margin-l {
	margin-left: 1.2rem;
}

/* LINK LIST */ 

/* .aca-link-list .aca-text-light {
	white-space: nowrap;
} */
.fl-builder-content .aca-link-list .fl-button-width-full .fl-button {
	display: flex;
	gap: .5em;
}
.fl-builder-content .aca-link-list.fl-button-group.fl-button-group-buttons .fl-button-group-button:last-child a.fl-button {
	border-bottom: 1px solid var(--kermit-green);
}

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

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

/* --- RESPONSIVE --- */

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

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

a:not([href]):hover, 
*:hover a:not([href]), 
.hover a:not([href]) {
	cursor: default;
	color: inherit;
}
#content a, 
#content a *,
.fl-builder-content a, 
.fl-builder-content a *, 
#content .fl-button, 
#content .fl-button *, 
button.button, 
a.button, 
.button a {
	transition: all 0.15s ease-out;
}

/* LINK UNDERLINE */
/* https://dannyguo.medium.com/animated-multiline-link-underlines-with-css-abe07f3d6aee */ 

.site #content .fl-rich-text a:not(.fl-button), 
.site .fl-builder-content .fl-rich-text a:not(.fl-button) {
	background-image: linear-gradient(currentColor, currentColor);
	background-position: 0% 100%;
	background-repeat: no-repeat;
	background-size: 100% 1px;
}
.site #content a:not(.fl-button):hover, #content a:not(.fl-button):focus, 
.site .fl-builder-content a:not(.fl-button):hover, .fl-builder-content a:not(.fl-button):focus {
	background-image: linear-gradient(var(--forest-green), var(--forest-green));
	background-size: 0% 1px;
}

/* BUTTON GLOBAL */ 

button.button, 
a.button, 
.button a,
.fl-builder-content a.fl-button, 
.fl-builder-content a.fl-button:visited,
[data-node] .pp-gf-content .gform_wrapper .gform-button, 
[data-node] .pp-gf-content .gform_wrapper .gform_footer .gform_button, 
[data-node] .pp-gf-content .gform_wrapper .gform_page_footer .button {
	padding: 12px 24px;
	background-color: var(--kermit-green);
	font-size: clamp(0.875rem, 0.7841rem + 0.4545vw, 1.125rem); /* 14/18 px */
	font-weight: 400;
	line-height: 1.2;
	color: white;
	border: none;
	border-radius: 4px;
}
button.button:hover,
a.button:hover,
.button a:hover,
.fl-builder-content a.fl-button:hover, 
[data-node] .pp-gf-content .gform_wrapper .gform-button:hover, 
[data-node] .pp-gf-content .gform_wrapper .gform_footer .gform_button:hover, 
[data-node] .pp-gf-content .gform_wrapper .gform_page_footer .button:hover {
	background-color: var(--denim-blue);
}
/* button.button:hover, button.button:focus, 
a.button:hover, a.button:focus, 
.button a:hover, .button a:focus,
.fl-builder-content a.fl-button:hover, 
.fl-builder-content a.fl-button:focus,
[data-node] .pp-gf-content .gform_wrapper .gform-button:hover, 
[data-node] .pp-gf-content .gform_wrapper .gform-button:focus, 
[data-node] .pp-gf-content .gform_wrapper .gform_footer .gform_button:hover, 
[data-node] .pp-gf-content .gform_wrapper .gform_footer .gform_button:focus, 
[data-node] .pp-gf-content .gform_wrapper .gform_page_footer .button:hover, 
[data-node] .pp-gf-content .gform_wrapper .gform_page_footer .button:focus {
	color: white;
	border: none;
} */
.fl-builder-content a.fl-button *, 
.fl-builder-content a.fl-button:visited *, 
.fl-builder-content a.fl-button:focus * {
	color: white;
}
.fl-builder-content .fl-button i {
	font-size: 1.1em;
}

*:focus, *:focus > * {
	outline: none !important;
}
*:focus-visible, *:focus-visible > * {
	outline: 1px dotted rgba(0,0,0,.6) !important;
}
.aca-no-link {
	pointer-events: none;
}

/* --- RESPONSIVE --- */

@media (max-width: 1024px) {
	button.button, 
	a.button, 
	.button a,
	.fl-builder-content a.fl-button, 
	.fl-builder-content a.fl-button:visited,
	[data-node] .pp-gf-content .gform_wrapper .gform-button, 
	[data-node] .pp-gf-content .gform_wrapper .gform_footer .gform_button, 
	[data-node] .pp-gf-content .gform_wrapper .gform_page_footer .button {
		padding: 10px 20px;
	}
}
@media (max-width: 768px) {
	button.button, 
	a.button, 
	.button a,
	.fl-builder-content a.fl-button, 
	.fl-builder-content a.fl-button:visited,
	[data-node] .pp-gf-content .gform_wrapper .gform-button, 
	[data-node] .pp-gf-content .gform_wrapper .gform_footer .gform_button, 
	[data-node] .pp-gf-content .gform_wrapper .gform_page_footer .button {
		padding: 8px 16px;
	}
}

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

a img {
	transition: var(--transition-1);
}
a:hover img {
	filter: brightness(.95);
}

/* --------------------------
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;
	font-size: 80%;
}


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

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

header {
	z-index: 10;
}
header > .fl-module-box:first-of-type::before {
	content: "";
	position: absolute;
	z-index: 0;
	top: -200%;
	left: 50%;
	transform: translateX(-50%);
	width: 50%;
	height: 300%;
	background-color: var(--kermit-green);
	border-radius: 100%;
	filter: blur(40px);
	opacity: .15;
}
/* header img {
	height: unset;
} */

/* --------------------------
HEADER - MOBILE
-------------------------- */

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

header.fl-theme-builder-header-shrink > .fl-module-box {
	padding-top: 10px;
	padding-bottom: 10px;
	border-bottom: 1px solid var(--swirl);
}
header.fl-theme-builder-header-shrink [data-node] .pp-advanced-menu .menu > li > a, 
header.fl-theme-builder-header-shrink [data-node] .pp-advanced-menu .menu > li > .pp-has-submenu-container > a {
	padding-top: 4px;
	padding-bottom: 4px;
}
header.fl-theme-builder-header-shrink a.fl-button {
	padding: 8px 18px;
	font-size: 80%;
}
header.fl-theme-builder-header-shrink .aca-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-wrap.pp-search-form--style-full_screen .pp-search-form__container {
	top: 46px;
}
.pp-search-form--lightbox-close {
	top: 15px;
	right: 15px;
	padding: 0;
}
.pp-search-form--lightbox-close svg {
	stroke: var(--kermit-green);
	stroke-width: 2px;
	width: 35px;
	height: 35px;
}

/* --- RESPONSIVE --- */

@media (max-width: 768px) {
	body.admin-bar .pp-search-form-wrap.pp-search-form--style-full_screen .pp-search-form__container {
		top: 46px;
	}
	.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 .pp-advanced-menu .menu > li.aca-has-mega-menu:hover > .pp-has-submenu-container > a, 
header .pp-advanced-menu .menu > li.aca-has-mega-menu:focus > .pp-has-submenu-container > a, 
header [data-node] .pp-advanced-menu .menu > li:is(.current-menu-item, .current-page-ancestor) > .pp-has-submenu-container > a {
	border-color: var(--fl-global-kermit-green);
}
header .pp-advanced-menu .menu .pp-has-submenu-container > a {
	padding-right: 14px !important;
}
/* header [data-node] .pp-advanced-menu-horizontal.pp-toggle-arrows .trp-language-switcher-container .pp-menu-toggle {
	display: none;
} */
header [data-node] .pp-advanced-menu-horizontal.pp-toggle-arrows .pp-menu-toggle {
	right: 0;
	margin-top: -7px;
}
header [data-node] .pp-advanced-menu .pp-menu-toggle:before {
	border-width: 1px;
}

/* --- RESPONSIVE --- */

@media (min-width: 1px) {
	header [data-node] .pp-advanced-menu-horizontal.pp-toggle-arrows .pp-has-submenu-container > a > span {
		padding-right: 8px;
	}
}
@media (max-width: 1350px) {
	header [data-node] .pp-advanced-menu .menu > li {
		margin-left: 8px;
		margin-right: 8px;
	}
}
@media (max-width: 1220px) {
	header [data-node] .pp-advanced-menu .menu > li {
		margin-left: 5px;
		margin-right: 5px;
	}
}
@media screen and (min-width: 1201px) and (max-width: 1332px) {
	span.trp-ls-language-name {
		display: none;
	}
}

/* MEGA MENU CONTAINER */

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

header {
	position: relative;
}
.aca-main-nav li.aca-has-mega-menu .aca-spacer {
	height: 30px;
}
header.fl-theme-builder-header-shrink .aca-main-nav li.aca-has-mega-menu .aca-spacer {
	height: 18px;
}
.aca-main-nav li.aca-has-mega-menu {
	position: unset;
}
body:not(.fl-builder-edit) .aca-main-nav li.aca-has-mega-menu > .sub-menu {
	top: 67%;
	left: 0;
	width: 100%;
	transform: unset;
	animation: .3s ease-out 0s forwards menu_anim;
	box-shadow: 0 10px 10px rgba(0,0,0,.05);
}
@keyframes menu_anim {
	from { top: 57%; opacity: 0; }
	to	 { top: 67%; opacity: 1; }
}

/* MEGA MENU CONTENT */

.aca-mega-menu .pp-advanced-menu .pp-has-submenu-container a > span {
	padding-right: 0;
}
.aca-main-nav .pp-advanced-menu .menu .aca-has-mega-menu .sub-menu .menu > .menu-item > .pp-has-submenu-container > a span {
	padding-right: 0;
}
.aca-main-nav .pp-advanced-menu .menu .aca-has-mega-menu .sub-menu .menu > .menu-item > .pp-has-submenu-container > a .pp-menu-toggle {
	display: none;
}
.aca-main-nav .aca-has-mega-menu .menu .pp-has-submenu .sub-menu {
	opacity: 1;
	visibility: visible;
	display: block;
	position: unset;
}

/* --------------------------
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%;
	}
}
.pp-advanced-menu .pp-menu-overlay > ul.menu {
	top: 30%;
	max-width: 520px;
}
.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-menu-full-screen .pp-advanced-menu .pp-menu-toggle:before {
	width: 15px;
}
.pp-menu-full-screen .pp-advanced-menu .pp-menu-toggle:after {
	height: 15px;
}
.pp-menu-full-screen .pp-advanced-menu-horizontal.pp-toggle-plus .pp-menu-toggle, 
.pp-menu-full-screen .pp-advanced-menu-vertical.pp-toggle-plus .pp-menu-toggle {
	width: 15px;
	height: 15px;
	margin-top: -9px;
}

/* MENU SUB LEVELS */

.pp-menu-full-screen .pp-advanced-menu.full-screen .menu li .pp-has-submenu-container + .sub-menu {
	padding: 10px 0 10px 15px;
}
.pp-menu-full-screen .pp-advanced-menu.full-screen .menu li .pp-has-submenu-container + .sub-menu .sub-menu {
	padding-left: 10px;
	margin: 3px 0;
	border-top: 1px solid var(--forest-green);
	border-bottom: 1px solid var(--forest-green);
}
.pp-menu-full-screen .pp-advanced-menu.full-screen .menu li .pp-has-submenu-container + .sub-menu a {
	padding-top: 3px;
	padding-bottom: 3px;
	border: none;
}
.pp-menu-full-screen .pp-advanced-menu.full-screen .menu li .pp-has-submenu-container + .sub-menu .sub-menu a {
	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(--kermit-green);
}


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

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

footer [data-node] .pp-advanced-menu .pp-has-submenu-container a > span {
	padding-right: 0;
}

/* --- RESPONSIVE --- */

@media (max-width: 1024px) {
	footer [data-node] .pp-advanced-menu .sub-menu > li > a, 
	footer [data-node] .pp-advanced-menu .sub-menu > li > .pp-has-submenu-container > a {
		padding-top: 4px;
		padding-bottom: 4px;
	}
}
@media (max-width: 768px) {
	footer [data-node] .pp-advanced-menu .sub-menu > li > a, 
	footer [data-node] .pp-advanced-menu .sub-menu > li > .pp-has-submenu-container > a {
		padding-top: 2px;
		padding-bottom: 2px;
	}
}


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

/*--------------------------
POST GRID/CAROUSEL (GLOBAL)
--------------------------*/

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

/* ON PAGE */ 

.aca-posts.aca-team .aca-post-image a {
	display: flex;
}
.aca-posts.aca-team .pp-post-image img, 
.aca-posts.aca-team .aca-post-image img {
	object-fit: cover;
	width: 100%; 
	height: auto;
	aspect-ratio: 1;
	border-radius: 100% 100% 0 0;
}
.aca-posts.aca-team .aca-post-content {
	text-align: center;
}
.aca-posts.aca-team .aca-post-title {
	font-size: clamp(1.25rem, 1.1591rem + 0.4545vw, 1.5rem); /* 20/24 px */
	font-weight: 400;
}
.aca-posts.aca-team .aca-post-content .aca-wrapper {
	padding: 15px;
	background: var(--mint);
	color: var(--forest-green);
}
.aca-posts.aca-team .aca-post-meta {
	font-size: clamp(0.8125rem, 0.7443rem + 0.3409vw, 1rem); /* 13/16 px */
}
.aca-posts.aca-team .aca-more {
	padding-top: .75em;
}
.aca-posts.aca-team .aca-more a {
	padding: .25em;
	font-size: clamp(0.9375rem, 0.8693rem + 0.3409vw, 1.125rem); /* 15/18 px */
	font-weight: 400;
	color: var(--kermit-green);
	border-bottom: 1px solid var(--kermit-green);
}
.aca-posts.aca-team .aca-more a::after {
	content: "\e904";
	display: inline-flex;
	margin-left: .5em;
	font-family: 'Academy-Funerals-Icons';
}
.aca-posts.aca-team .aca-more a:hover, 
.aca-posts.aca-team .aca-more a:focus {
	color: var(--academy-blue);
	border-color: var(--academy-blue);
}

/* MICROMODAL */ 

.aca-posts.aca-team .modal .modal__container {
	background-color: var(--academy-blue);
}
.aca-posts.aca-team .modal .aca-wrapper {
	display: flex;
	justify-content: stretch;
	align-items: flex-start;
	flex: 1 0 auto;
	column-gap: 60px;
}
.aca-posts.aca-team .modal .aca-post-image {
	flex: 1 0 28%;
}
.aca-posts.aca-team .modal .aca-post-image img {
	margin-bottom: .5em;
	border-radius: 100% 100% 100% 0;
}
.aca-posts.aca-team .modal .aca-post-content {
	padding-top: 0;
	text-align: left;
	color: white;
}
.aca-posts.aca-team .modal .aca-post-title {
	font-size: clamp(1.1875rem, 0.983rem + 1.0227vw, 1.75rem); /* 19/28 px */
	color: var(--kermit-green);
}
.aca-posts.aca-team .modal .aca-post-content strong {
	display: block;
	padding-right: 35%;
	font-size: clamp(1.0625rem, 0.9034rem + 0.7955vw, 1.5rem); /* 17/24 px */
	font-weight: 400;
}
.aca-posts.aca-team .modal .aca-post-content strong::before {
	content: "“";
}
.aca-posts.aca-team .modal .aca-post-content strong::after {
	content: "”";
}

/* --- RESPONSIVE --- */

@media (max-width: 1024px) {
	.aca-posts.aca-team .modal .aca-wrapper {
		column-gap: 50px;
	}
}
@media (max-width: 768px) {
	.aca-posts.aca-team .modal .aca-wrapper {
		flex-direction: column;
		row-gap: 30px;
	}
	.aca-posts.aca-team .modal .aca-post-image {
		max-width: 200px;
	}
}

/*--------------------------
POST GRID: PRODUCTS
--------------------------*/

.aca-products-grid .pp-content-post {
	transition: var(--transition-1);
}
.aca-products-grid .pp-content-post:hover {
	z-index: 1;
	box-shadow: 0px 0px 30px 0px rgba(0, 0, 0, 0.15);
}
.aca-products-grid .pp-post-image img {
	object-fit: contain;
}
.aca-products-grid.aca-caskets .pp-post-image img {
	aspect-ratio: 1/0.6;
}
.aca-products-grid.aca-urns .pp-post-image img {
	aspect-ratio: 1/0.8;
}
.aca-products-grid .pp-post-title {
	margin-bottom: .25em;
}
.aca-products-grid .hk-item-price-container {
	display: block;
	margin-top: .5em;
}
.aca-products-grid .hk-item-price-container .hk-item-price {
	font-size: 28px;
}

/* --- RESPONSIVE --- */

@media (min-width: 768px) {
	.aca-products-grid .pp-content-post-grid {
    	column-gap: 20px;
	}
}
@media (max-width: 768px) {
	.aca-products-grid .hk-item-price-container .hk-item-price {
		font-size: 24px;
	}
}

/*--------------------------
SIDE ITEMS
--------------------------*/

body:not(.fl-builder-edit) .aca-side-items {
	display: none;
}

@media (min-width: 1480px) {
	/* .home:not(.fl-builder-edit) .site {
		position: relative
	} */
	body:not(.fl-builder-edit) .aca-side-items {
		display: flex;
	}
	body:not(.fl-builder-edit) .aca-side-items [class*="aca-item"] {
		position: absolute;
		z-index: 0;
		opacity: 0;
		animation: 2s ease-out 0s forwards side_item_anim;
	}
	.home:not(.fl-builder-edit) .aca-side-items .aca-item-1 {
		top: 300px;
		left: 0;
	}
	.home:not(.fl-builder-edit) .aca-side-items .aca-item-2 {
		top: 180px;
		right: 0;
		animation-delay: .25s;
	}
	.home:not(.fl-builder-edit) .aca-side-items .aca-item-3 {
		top: 500px;
		right: 0;
		animation-delay: 1.5s;
	}
	@keyframes side_item_anim {
		from { transform: translateY(-200%); opacity: 0;}
		to {transform: translateY(0); opacity: 1;}
	
	}
}

/*--------------------------
TRANSLATE PRESS
--------------------------*/

header .trp-language-switcher-container .sub-menu {
	background-color: white;
	box-shadow: 0 10px 10px rgba(0,0,0,.2);
}

/* LANG SWITCHER - SHORTCODE */

.trp-language-switcher {
	width: auto;
}
.trp-language-switcher > div {
	border-radius: 4px;
	border: none;
	box-shadow: 0 0 12px rgba(0,0,0,.2);
}
.trp-language-switcher > div > a {
	font-size: 85%;
	font-weight: 300;
}
.trp-language-wrap a {
	font-size: 80%;
}

/* LANG SWITCHER - FLOATER */

#trp-floater-ls.trp-top-right {
	top: 60px;
	right: 0;
	/* right: calc(50% - 380px); */
	border-radius: 5px 5px 0 0;
	transform: rotate(-90deg);
	transform-origin: bottom right;
}
body.admin-bar #trp-floater-ls.trp-top-right {
	top: calc(60px + 32px)
}

/* --- RESPONSIVE --- */

@media (max-width: 1024px) {
	#trp-floater-ls.trp-top-right {
		display: none;
	}
}
@media (max-width: 782px) {
	body.admin-bar #trp-floater-ls.trp-top-right {
		top: calc(60px + 46px)
	}
}

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

[class*="aca-clip-img"] {
	position: relative;	
}
[class*="aca-clip-img"]::after {
	content: "";
	position: absolute;	
}
.aca-clip-img-br::after {
	right: -12%;
	bottom: -10%;
}
[class*="aca-clip-img"].aca-logo-leaf::after {
	width: clamp(50px,25%,100px);
	height: auto;
	aspect-ratio: 100/94;
	background: url("/wp-content/uploads/2025/07/Logo-Leaf-Illustration.svg") no-repeat center/contain;
}

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

.modal {
	font-family: var(--gp-font--lota-grotesque);
}
.modal__overlay {
	z-index: 1000;
	padding: 20px;
	background-color: rgba(256,256,256,0.9);
}
.modal__container {
	position: relative;
	max-width: 1160px;
	max-height: 90vh;
	padding: 100px;
	border-radius: 14px;
}
.modal__content {
	margin: 0;
	line-height: inherit;
	color: white;
}
.modal__close {
	position: absolute;
	top: 10px;
	right: 10px;
	width: 50px;
	height: 50px;
	background-image: none;
	background-color: transparent !important;
}
.modal__close::before, 
.modal__close::after {
	content: "";
	display: block;
	position: absolute;
	top: 50%;
	left: calc(50% - 17.5px);
	width: 35px;
	height: 2px;
	background-color: var(--kermit-green);
	opacity: .7;
}
.modal__close::before {
	transform: rotate(45deg);
}
.modal__close::after {
	transform: rotate(-45deg);
}
.modal__close:hover::before, 
.modal__close:hover::after {
	opacity: 1;
}

/* --- RESPONSIVE --- */

@media (max-width: 1024px) {
	.modal__container {
		padding: 40px;
	}
	.modal__container, 
	.modal__close {
		border-radius: 10px;
	}
	.modal a.close-modal {
		top: 0;
		right: 0;
	}
}
@media (max-width: 768px) {
	.modal__container {
		padding: 20px;
	}
	.modal__close {
		width: 40px;
		height: 40px;
	}
	.modal__close::before, 
	.modal__close::after {
		left: calc(50% - 12.5px);
		width: 25px;
	}
}

/*--------------------------
QUICK LINKS
--------------------------*/

.fl-builder-content .aca-quick-links .fl-button i {
	text-align: center;
	width: 1.3em;
	margin: 0;
}
.fl-builder-content .aca-quick-links .fl-button-width-full .fl-button {
	display: flex;
	align-items: center;
	gap: .5em;
}
.fl-builder-content .aca-quick-links.fl-button-group.fl-button-group-buttons .fl-button-group-button:last-child a.fl-button {
	border-bottom: 1px solid var(--kermit-green);
}
.aca-quick-links a .fl-button-icon {
	opacity: 0;
	transition: var(--transition-1) !important;
}
.aca-quick-links a:hover .fl-button-icon {
	opacity: 1;
	/* animation: .3s ease-out icon_anim; */
}
/* @keyframes icon_anim {
	from { transform: scale(0) } 
	to { transform: scale(1) } 
} */
.aca-quick-links a::after {
	content: "\e908";
	display: inline-flex;
	aspect-ratio: 1;
	height: 110%;
	margin-left: auto;
	padding: .3em;
	background-color: white;
	font-family: 'Academy-Funerals-Icons';
	font-size: 80%;
	color: var(--forest-green);
	line-height: .9;
	border-radius: 100%;
}
.aca-quick-links a:hover::after {
	color: var(--kermit-green);
}

/*--------------------------
ACADEMY TABS
--------------------------*/

[class*="aca-tabs"] .pp-tabs-horizontal .pp-tabs-labels {
	gap: 10px;
}
[class*="aca-tabs"] .pp-tabs-horizontal .pp-tabs-labels::before, 
[class*="aca-tabs"] .pp-tabs-horizontal .pp-tabs-labels::after {
	display: none;
}
[class*="aca-tabs"] .pp-tabs-horizontal.pp-tabs-default .pp-tabs-labels .pp-tabs-label {
	flex: 1 0 auto;
}
[class*="aca-tabs"] .pp-tab-label-flex {
	justify-content: center;
}
[class*="aca-tabs"] .pp-tabs-horizontal.pp-tabs-default .pp-tabs-labels .pp-tabs-label {
	border-radius: 14px 14px 0 0;
}
[class*="aca-tabs"] :is(.pp-tabs-labels,.pp-tabs-panels) .pp-tabs-label .pp-tab-title {
	font-size: clamp(1.1875rem, 0.983rem + 1.0227vw, 1.75rem); /* 19/28 px */
}
[class*="aca-tabs"] .pp-tabs-panel-content h3 {
	margin-bottom: 1.5em;
}

/* --- RESPONSIVE --- */

@media (max-width: 768px) {
	[class*="aca-tabs"] .pp-tabs-horizontal.pp-tabs-default :is(.pp-tabs-labels,.pp-tabs-panels) .pp-tabs-label {
		border-bottom: 1px solid white !important;
	}
	[class*="aca-tabs"] .pp-tabs-panel:first-child .pp-tabs-label {
		border-radius: 14px 14px 0 0;
	}
}

/*--------------------------
ACADEMY ACCORDION
--------------------------*/

[class*="aca-accordion"] .pp-accordion-content :is(ul, ol) {
	margin-left: 1em;
}
[class*="aca-accordion"] .pp-accordion-content :is(ul, ol) li {
	margin-bottom: .75em;
}

[class*="aca-accordion"] span.pp-accordion-button-icon {
	aspect-ratio: 1;
	justify-content: center;
	align-items: center;
	height: 1.8em;
	background-color: white;
	border-radius: 100%;
	transition: var(--transition-1);
}
[class*="aca-accordion"] .pp-accordion-button:hover span.pp-accordion-button-icon, 
[class*="aca-accordion"] span.pp-accordion-button-icon.pp-accordion-close {
	background-color: var(--mint);
}
html [class*="aca-accordion"] .pp-accordion-item .pp-accordion-button-icon.pp-accordion-icon-right {
	padding-left: 0;
}
html [class*="aca-accordion"] .pp-accordion-button-icon.pp-accordion-open, 
html [class*="aca-accordion"] .pp-accordion-item-active .pp-accordion-button-icon.pp-accordion-close {
	display: flex;
}


/* --- RESPONSIVE --- */

@media (max-width: 768px) {
	html [class*="aca-accordion"] .pp-accordion-item .pp-accordion-button-icon, 
	html [class*="aca-accordion"] .pp-accordion-item .pp-accordion-button-icon:before {
		font-size: 15px;
	}
}

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

.hk-pricing-grid .hk-item {
	transition: border .3s ease-out;
}
.hk-pricing-grid .hk-item {
	border-color: transparent;
}
.hk-pricing-grid .hk-item.active {
	border-color: var(--kermit-green);
}
.hk-pricing-grid .fl-heading a:hover, 
.hk-pricing-grid .fl-heading a:focus {
	text-decoration: none;
}
.hk-pricing-grid .hk-sub-heading p, 
.hk-pricing-grid .hk-sub-heading-price p {
	margin-bottom: 0 !important;
} 
.hk-pricing-grid .hk-item-price, 
.hk-pricing-grid .hk-sub-heading p {
	font-size: clamp(.7em, .5vw + 1.1em, 1.35em);
	font-weight: 500;
}
.hk-pricing-grid ul {
	margin-left: 0;
	padding-left: 1em;
}
.hk-pricing-grid ul li {
	margin: 0 0 .5rem 0;
	padding: 0;
	list-style-type: disc;
}
.hk-pricing-grid ul li::before {
	content: unset;
}

/*--------------------------
FEEDBACK
--------------------------*/

.aca-feedback .parent {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 40px;
}
/* .aca-feedback .child {
	padding: 10px;
} */
.aca-feedback .child .number {
	font-size: clamp(1.375rem, 1.0568rem + 1.5909vw, 2.25rem); /* 22/36px */
}
.aca-feedback .child p {
	margin-bottom: 0;
}

/* --- RESPONSIVE --- */

@media (max-width: 1024px) {
	.aca-feedback .parent {
		grid-template-columns: repeat(3, 1fr);
	}
}
@media (max-width: 768px) {
	.aca-feedback .parent {
		grid-template-columns: 1fr;
		gap: 15px;
	}
}

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

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


/* MISC */

.fl-col[data-node] .pp-gf-content .gform_wrapper ul li.gsection {
	margin-bottom: 30px;
}
html .gform_wrapper .ginput_complex {
	margin-top: 0 !important;
}
.fl-col[data-node] .gform_wrapper .ginput_complex span {
	margin-bottom: 12px;
}
.fl-col[data-node] .gform_wrapper .ginput_complex span[class*="name"], 
.fl-col[data-node] .gform_wrapper .ginput_complex input:not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=image]):not([type=file]), 
.fl-col[data-node] .gform_wrapper .ginput_complex select, 
.fl-col[data-node] .pp-gf-content .gform_wrapper ul li.gfield.ff-no-margin-b {
	margin-bottom: 0;
}
.gform_wrapper li.hidden_label textarea {
	margin-top: 12px;
}
html .gform_wrapper select, 
html .gform_wrapper.gf_browser_chrome .ginput_complex .ginput_right select, 
html .gform_wrapper.gf_browser_chrome .ginput_complex select {
	line-height: 1.2;
}
.gform_wrapper input[type="button"] {
	font-weight: 600;
	line-height: 1;
}

html .gform_wrapper .gf_page_steps {
	margin-bottom: 50px;
	padding-bottom: 0;
	padding-left: 20px;
	border: none;
	border-left: 1px solid #ccc;
	font-weight: 600;
	text-transform: uppercase;
}
html .gform_legacy_markup_wrapper .gf_step span.gf_step_number {
	margin-right: 0.5em;
}
html .gform_wrapper .gf_step {
	display: block;
	height: auto;
	margin-top: 5px;
	margin-bottom: 5px;
}

/* VALIDATION */

html .gform_wrapper.gravity-theme .gform_validation_errors {
	background: none;
}
html .gform_wrapper.gravity-theme .gform_validation_errors > h2 {
	font-family: var(--gp-font--lota-grotesque);
	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='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;
}


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

.search-results [data-node] .pp-content-grid-pagination li .page-numbers {
	margin-right: 20px;
	font-weight: 600;
}
.search-results [data-node] .pp-content-grid-pagination li a.page-numbers:hover, 
.search-results [data-node] .pp-content-grid-pagination li span.page-numbers.current {
	border-color: var(--academy-blue);
}

/* --- 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;
	}
	.search-results [data-node] .pp-content-grid-pagination li .page-numbers {
		margin-right: 10px;
	}
}


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

.aca-legal p+h2, .aca-legal ul+h2, .aca-legal ol+h2 {
	margin-top: 1.5em;
}
.aca-legal h2 {
	margin-bottom: 1em;
}
.aca-legal h2, 
.aca-legal h2 * {
	font-size: clamp(1.25rem, 1.1136rem + 0.6818vw, 1.625rem) !important;
	/* font-size: 26px !important; */
	color: var(--forest-green) !important;
}

/*/////////////////////////////////////////////////////
8. STYLES TEMPLATE
/////////////////////////////////////////////////////*/

[class*="av-demo-font-"] {
	font-size: clamp(1.0625rem, 0.8125rem + 1.25vw, 1.75rem); /* 17/28 px */
}
[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--lota-grotesque); 
}
[class*="av-demo-font-"] p {
	margin-bottom: .5em;
}