/*
Theme Name: Weave Funeral Blueprint
Template: generatepress
Theme URI: https://
Author: Weave Digital Studio
Author URI: https://weave.co.nz/
Description: Used for Firehawk Plugin Testing
Version: 1.0
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
	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 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;

}

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

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


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

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

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

/* --- RESPONSIVE --- */

@media (min-width: 769px) {
	.starter-mobile {
		display: none;
	}
}
@media (max-width: 768px) {
	.starter-desktop {
		display: none;
	}
	[class*="starter-mobile-max-width"] > * {
		margin-right: auto !important;
		margin-left: auto !important;
	}
	.aca-mobile-starter-width > * {
		max-width: var(--mobile-max-width);
	}
	.aca-mobile-starter-width-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.8295rem + 0.2273vw, 1rem); /* 14/15/16 px */
}
h1, 
.starter-heading-fake-h1 :is(h2,h3,h4,h5,h6), 
:is(h2,h3,h4,h5,h6).starter-heading-fake-h1 {
	font-size: clamp(2.3125rem, 1.4489rem + 4.3182vw, 4.6875rem); /* 37/56/75 px */
}
h2, 
.starter-heading-fake-h2 :is(h1,h3,h4,h5,h6), 
:is(h1,h3,h4,h5,h6).starter-heading-fake-h2 {
	font-size: clamp(1.75rem, 1.3409rem + 2.0455vw, 2.875rem); /* 28/37/46 px */
}
h3, 
.starter-heading-fake-h3 :is(h1,h2,h4,h5,h6), 
:is(h1,h2,h4,h5,h6).starter-heading-fake-h3 {
	font-size: clamp(1.375rem, 1.0568rem + 1.5909vw, 2.25rem); /* 22/29/36 px */
}
h4 {
	font-size: clamp(1.125rem, 0.8068rem + 1.5909vw, 2rem); /* 18/26/32 px */
}
h5 {
	font-size: clamp(1rem, 0.7273rem + 1.3636vw, 1.75rem); /* 16/22/28 px */
}
h6 {
	font-size: clamp(0.875rem, 0.6477rem + 1.1364vw, 1.5rem); /* 14/19/24 px */
}

/* 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;
}
/* strong, 
.fl-builder-content .fl-rich-text strong {
	font-weight: 500;
} */
.starter-text-intro, 
.starter-text-intro p {
	font-size: clamp(1rem, 0.9091rem + 0.4545vw, 1.25rem); /* 16/18/20 px */
	font-weight: 400;
	line-height: 1.6;
}
.starter-text-no-margin-b p, 
p.starter-text-no-margin-b {
	margin-bottom: 0;
}

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

/* --------------------------
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;
}
.starter-list-no-margin-l ul, 
ul.starter-list-no-margin-l {
	margin-left: 1.2rem;
}

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

/* --- RESPONSIVE --- */

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

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

a:not([href]):hover {
	cursor: default;	
}
#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;
}
button.button, 
a.button, 
.button a,
[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: 15px 45px;
	background-color: transparent;
	font-size: clamp(0.875rem, 0.8295rem + 0.2273vw, 1rem); /* 14/15/16 px */
	font-weight: 600;
	line-height: 1.2;
	text-transform: uppercase;
	letter-spacing: 1.2px;
}
.fl-builder-content .fl-button i {
	font-size: 1.1em;
}

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

/* --- RESPONSIVE --- */

@media (max-width: 1024px) {
	button.button, 
	a.button, 
	[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: 13px 35px;
	}
}
@media (max-width: 768px) {
	button.button, 
	a.button, 
	[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: 11px 25px;
	}
}

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


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

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

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

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

/* GLOBAL */ 

/* MENU BUTTON */ 

/* SUB MENU */ 

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

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


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


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

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

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

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


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

[class*="av-demo-font-"] {
	font-size: clamp(1.125rem, 0.9886rem + 0.6818vw, 1.5rem); /* 18/21/24 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--1); 
}
.av-demo-font-2, 
.av-demo-font-2 h2, 
.av-demo-font-2 h3 {
	font-family: var(--gp-font--2); 
}
[class*="av-demo-font-"] p {
	margin-bottom: .5em;
}
/*/////////////////////////////////////////////////////
9. MOBILE HEADER + FLEET SITE SWITCHER
/////////////////////////////////////////////////////*/

/* Requires the GeneratePress mobile menu breakpoint to be 768 (Customizer >
   Layout > Primary Navigation), not 0, or the mobile header never activates. */
@media (max-width: 768px) {
	/* Row 1: site title left, Menu toggle right. Switcher drops to its own
	   full-width row below (order 5 places it after the toggled menu). */
	#mobile-header .inside-navigation {
		flex-wrap: wrap;
	}
	#mobile-header .navigation-branding {
		margin-right: auto;
	}
	#mobile-header .menu-bar-items {
		order: 5;
		flex-basis: 100%;
		padding: 0 20px 12px;
	}
	.fh-site-switcher-wrap {
		display: block;
		width: 100%;
	}
	.fh-site-switcher {
		width: 100%;
		padding: 10px 12px;
		font-size: 16px; /* 16px+ stops iOS zooming the page on focus */
		border: 1px solid #ccc;
		border-radius: 4px;
		background: #fff;
	}
}

/*/////////////////////////////////////////////////////
10. FUNERAL NOTICES VIEW TOGGLE ([fh_view_toggle])
/////////////////////////////////////////////////////*/

.fh-view-toggle-wrap.fh-align-center {
	text-align: center;
}
.fh-view-toggle-wrap.fh-align-right {
	text-align: right;
}
.fh-view-toggle {
	display: inline-flex;
	border: 1px solid var(--contrast-3, #ccc);
	border-radius: 999px;
	overflow: hidden;
	margin-bottom: 24px;
}
.fh-view-toggle__btn {
	background: transparent;
	color: var(--contrast, #222);
	border: 0;
	padding: 9px 22px;
	font-size: 15px;
	line-height: 1.4;
	cursor: pointer;
	transition: background-color 0.15s ease, color 0.15s ease;
}
.fh-view-toggle__btn:hover {
	background: var(--base-2, #f0f0f0);
	color: var(--contrast, #222);
}
.fh-view-toggle__btn.is-active {
	background: var(--contrast, #222);
	color: var(--base-3, #fff);
}
@media (max-width: 768px) {
	.fh-view-toggle {
		display: flex;
		width: 100%;
	}
	.fh-view-toggle__btn {
		flex: 1;
	}
}

/*/////////////////////////////////////////////////////
11. FLEET NOTICE ([fh_fleet_notice])
/////////////////////////////////////////////////////*/

.fh-fleet-notice {
	background: var(--base-2, #f7f7f5);
	border-left: 4px solid var(--contrast-2, #666);
	color: var(--contrast, #222);
	padding: 14px 18px;
	margin-bottom: 28px;
	border-radius: 4px;
	font-size: 16px;
	line-height: 1.5;
}
