/*
Theme Name: Selwyn House School
Template: generatepress
Theme URI: https://
Author: Weave Digital Studio
Author URI: https://selwynhouse.school.nz/
Description: Selwyn House School
Version: 1.17
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 Local Icons
	1.4 Layout
	1.5 Heading
	1.6 Text
	1.7 List
	1.8 Blockquote
	1.9 Link & Button
	1.10 Image
	1.11 Misc
2. HEADER
	2.1 Header - Global
	2.2 Header - Mobile
	2.3 Header - Sticky
	2.4 Header - PP Global Menu
	2.5 Header - PP Desktop Menu
	2.6 Header - PP Mobile Menu
3. FOOTER
	3.1 Footer Menu
4. COMPONENTS
	4.1 Post Grid/Carousel (Global)
	4.2 Post Carousel: Events
	4.3 Post Grid: Team
	4.4 Quick Links
	4.5 Cards Grid
	4.6 PP Breadcrumbs
	4.7 PP Timeline
	4.8 Ninja Tables
	4.9 Micromodal
	4.10 Gravity Forms
	4.11 Stack cards on scroll
5. HOME
6. SEARCH RESULTS
7. MISC
8. STYLES TEMPLATE
*/


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

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

:root {

	/* COLORS VARIABLES */

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

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

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

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

.fl-builder-content .shs-hero-banner > .fl-col-content {
	aspect-ratio: 3/1;
	padding-top: 8%;
	padding-bottom: 8%;
}

/* --- RESPONSIVE --- */

@media (min-width: 769px) {
	.shs-mobile {
		display: none;
	}
}
@media (max-width: 768px) {
	.generate-back-to-top {
		bottom: 15px;
		right: 15px;
	}
	[class*="shs-mobile-max-width"] > * {
		margin-right: auto !important;
		margin-left: auto !important;
	}
	.shs-mobile-max-width > * {
		max-width: var(--mobile-max-width);
	}
	.shs-mobile-max-width-narrow > * {
		max-width: var(--mobile-max-width-narrow);
	}
	.shs-desktop {
		display: none;
	}
	.fl-builder-content .shs-hero-banner > .fl-col-content {
		aspect-ratio: 2/1;
	}
}
/* @media (max-width: 560px) {
	.fl-builder-content .shs-hero-banner > .fl-col-content {
		aspect-ratio: 1;
	}
} */

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

/* FLUID TYPOGRAPHY */

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

https://www.smashingmagazine.com/2022/01/modern-fluid-typography-css-clamp/ 
https://modern-fluid-typography.vercel.app/ 
https://chatgpt.com/share/67f1be86-6218-800e-8232-ae123ff085d1
*/

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 */
}
[class*="shs-heading-fake"] p, 
p[class*="shs-heading-fake"] {
	margin-bottom: 0.5em;
	font-family: var(--gp-font--dm-serif-display);
}
h1, 
.shs-heading-fake-h1 :is(h2,h3,h4,h5,h6,p), 
:is(h2,h3,h4,h5,h6,p).shs-heading-fake-h1 {
	font-size: clamp(2.3125rem, 1.4489rem + 4.3182vw, 4.6875rem); /* 37/56/75 px */
}
.shs-heading-fake-h1 p, 
p.shs-heading-fake-h1 {
	line-height: 1.05;
}
.shs-heading-h1-small-on-mobile h1, 
h1.shs-heading-h1-small-on-mobile {
	font-size: clamp(1.5rem, -0.625rem + 7.0833vw, 4.6875rem); /* 30/75 px */
}
h2, 
.shs-heading-fake-h2 :is(h1,h3,h4,h5,h6,p), 
:is(h1,h3,h4,h5,h6,p).shs-heading-fake-h2 {
	font-size: clamp(1.75rem, 1.3409rem + 2.0455vw, 2.875rem); /* 28/37/46 px */
}
.shs-heading-fake-h2 p, 
p.shs-heading-fake-h2 {
	line-height: 1.15;
}
h3, 
.shs-heading-fake-h3 :is(h1,h2,h4,h5,h6,p), 
:is(h1,h2,h4,h5,h6,p).shs-heading-fake-h3 {
	font-size: clamp(1.375rem, 1.0568rem + 1.5909vw, 2.25rem); /* 22/29/36 px */
	line-height: 1.3;
	line-height: 1.15;
}
.shs-heading-fake-h3 p, 
p.shs-heading-fake-h3 {
	line-height: 1.15;
}
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 /*, 
blockquote, blockquote p */ {
	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;
}

/* KICKER */

.shs-heading-kicker p,
:not(.fl-module-overlay) p.shs-heading-kicker {
	margin-bottom: .5em;
	font-size: clamp(0.6875rem, 0.642rem + 0.2273vw, 0.8125rem); /* 11/12/13 px */
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: 0.4em;
	text-transform: uppercase;
}

/* MAORI */ 

:is(h1,h2,h3,h4,h5,h6) .shs-maori {
	margin-top: .3em;
	color: var(--fresh-blue);
}
h1 .shs-maori {
	font-size: clamp(0.875rem, 0.7386rem + 0.6818vw, 1.25rem); /* 14/17/20 px */
}

span.shs-maori.preschool {
    color: var(--purple);
}

/* --- RESPONSIVE --- */

@media (max-width: 1024px) {
	.shs-heading-kicker p {
		letter-spacing: 0.3em;
	}
}
@media (max-width: 768px) {
	.shs-heading-kicker p {
		letter-spacing: 0.2em;
	}
}

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

p {
	text-wrap: pretty;
}
p:last-child, 
.fl-rich-text p:last-child, 
.fl-html p:last-child {
	margin-bottom: 0;
}
strong, 
.fl-builder-content .fl-rich-text strong {
	font-weight: 500;
}

/* SMALL */

.shs-text-small, 
.shs-text-small p {
	font-size: clamp(0.8125rem, 0.7898rem + 0.1136vw, 0.875rem); /* 13/14 px */
}

/* LARGE */

.shs-text-large, 
.shs-text-large p {
	font-size: clamp(1.375rem, 1.0568rem + 1.5909vw, 2.25rem); /* 22/29/36 px */
	line-height: 1.2;
}

/* LEAD */

.shs-text-lead, 
.shs-text-lead p {
	font-size: clamp(1rem, 0.9091rem + 0.4545vw, 1.25rem); /* 16/18/20 px */
	font-weight: 500;
	line-height: 1.4; 
}

/* MAORI */

.shs-maori {
	display: block;
	font-family: var(--gp-font--poppins);
	line-height: 1.2;
	color: var(--moonstone-blue);
}

/* READ MORE */ 

a[class*="read-more-link"] {
	display: inline-block;
	padding-bottom: .2em;
	font-weight: 500;
	text-decoration: none;
	color: var(--moonstone-blue);
	border-bottom: 1px solid var(--moonstone-blue);
}
a[class*="read-more-link"]:hover {
	color: var(--primary);
	border-bottom: 1px solid var(--primary);
}
[class*="read-more-content"] {
	margin-top: 1.5em;
}

/* NOTE */ 

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

/* MISC */

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

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

#content .fl-builder-content :not(.fl-module-overlay) li, 
#content .fl-builder-content li {
	margin-bottom: .5em;
}
.fl-module-overlay li {
	margin-bottom: 0;
}
#content .fl-builder-content .shs-list-no-margin-b li {
	margin-bottom: 0;
}
#content .fl-builder-content .shs-list-no-margin-l ul, 
#content .fl-builder-content ul.shs-list-no-margin-l {
	margin-left: 1.2em;
}

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

blockquote {
	position: relative;
	margin: 3.5em 0;
	padding: 40px 80px;
	border: none;
	border-radius: 16px;
	font-family: "DM Serif Display", Garamond, serif, system-ui; 
	font-style: normal;
	text-align: center;
	color: var(--moonstone-blue);
}
[class*="shs-bg-color"] blockquote, 
blockquote[class*="shs-bg-color"] {
	padding-top: 60px;
	padding-bottom: 60px;
}
.shs-bg-color-0 blockquote, 
blockquote.shs-bg-color-0 {
	padding-bottom: 0;
	background-color: transparent;
}
.shs-bg-color-1 blockquote, 
blockquote.shs-bg-color-1 {
	background-color: var(--ice-blue);
}
.shs-bg-color-2 blockquote, 
blockquote.shs-bg-color-2 {
	background-color: var(--lavender);
}
blockquote p {
	margin-bottom: 0;
	font-size: clamp(1.25rem, 1.0682rem + 0.9091vw, 1.75rem); /* 20/24/28 px */
	line-height: 1.4;
}
:is(blockquote.shs-bg-color-1, .shs-bg-color-1 blockquote),
:is(blockquote.shs-bg-color-1, .shs-bg-color-1 blockquote) * {
	color: var(--primary);
}
:is(blockquote, blockquote[class*="shs-bg-color"], [class*="shs-bg-color"] blockquote) cite {
	display: block;
	margin-top: 2em;
	font-family: var(--gp-font--poppins);
	font-style: normal;
	font-size: clamp(0.875rem, 0.8295rem + 0.2273vw, 1rem); /* 14/15/16 px */
	line-height: 1.4;
	color: var(--moonstone-blue);
}
:is(blockquote, blockquote[class*="shs-bg-color"], [class*="shs-bg-color"] blockquote) cite * {
	color: var(--moonstone-blue);
}
:is(blockquote:is(.shs-bg-color-2, .shs-bg-color-0), :is(.shs-bg-color-2, .shs-bg-color-0) blockquote),
:is(blockquote:is(.shs-bg-color-2, .shs-bg-color-0), :is(.shs-bg-color-2, .shs-bg-color-0) blockquote) *, 
:is(blockquote:is(.shs-bg-color-2, .shs-bg-color-0), :is(.shs-bg-color-2, .shs-bg-color-0) blockquote) cite, 
:is(blockquote:is(.shs-bg-color-2, .shs-bg-color-0), :is(.shs-bg-color-2, .shs-bg-color-0) blockquote) cite * {
	color: var(--lilac);
}
blockquote::before {
	content: "“";
	position: absolute;
	top: .2em;
	left: 50%;
	transform: translateX(-50%);
	font-size: clamp(2.3125rem, 1.4489rem + 4.3182vw, 4.6875rem); /* 37/56/75 px */
	line-height: 0;
}
blockquote.shs-no-decoration::before, 
.shs-no-decoration blockquote::before {
	content: none;
}
[class*="shs-bg-color"] blockquote::before, 
blockquote[class*="shs-bg-color"]::before {
	font-size: clamp(6.25rem, 4.4318rem + 9.0909vw, 11.25rem); /* 100/150/180 px */
}
.shs-bg-color-1 blockquote::before, 
blockquote.shs-bg-color-1::before {
	color: var(--fresh-blue);
}
.shs-bg-color-2 blockquote::before, 
blockquote.shs-bg-color-2::before {
	color: var(--lilac);
}

/* --- RESPONSIVE --- */

@media (max-width: 1024px) {
	blockquote {
		margin: 1.5em 0;
		padding: 40px 60px;
	}
	[class*="shs-bg-color"] blockquote, 
	blockquote[class*="shs-bg-color"] {
		padding-top: 40px;
		padding-bottom: 40px;
	}
}
@media (max-width: 768px) {
	blockquote {
		margin: 0;
		padding: 30px;
	}
	.shs-bg-color-0 blockquote, 
	blockquote.shs-bg-color-0 {
		padding-bottom: 0;
	}
}

/* --------------------------
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, 
.main-navigation .main-nav ul li a {
	transition: all 0.15s ease-out;
}
.site-content a:not(.fl-button, .button, .pp-infobox-link, .page-numbers, [class*="read-more-link"]) {
	text-decoration: underline;
}
.site-content :is(h1,h2,h3,h4,h5,h6) a:not(.fl-button,.button, .fl-module-pp-infobox), 
.site-content .fl-module-overlay a,
.site-content a:not(.fl-button,.button):hover {
	text-decoration: none !important;
}
button.button, 
a.button, 
.fl-builder-content a.fl-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: 13px 24px;
	font-size: clamp(0.875rem, 0.8295rem + 0.2273vw, 1rem); /* 14/15/16 px */
	font-weight: 500;
	line-height: 1.2;
}
.fl-builder-content .fl-button i[class*="shs-icon-special-arrow"] {
	transform: scale(1.2);
	line-height: 0;
}

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

/* --- RESPONSIVE --- */

@media (max-width: 1024px) {
	button.button, 
	a.button, 
	.fl-builder-content a.fl-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: 12px 22px;
	}
}
@media (max-width: 768px) {
	button.button, 
	a.button, 
	.fl-builder-content a.fl-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: 10px 18px;
	}
}

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

img.shs-img-color-primary, 
.shs-img-color-primary img {
	filter: invert(33%) sepia(13%) saturate(1225%) hue-rotate(152deg) brightness(94%) contrast(85%);
}
img.shs-img-color-fresh-blue, 
.shs-img-color-fresh-blue img {
	filter: invert(84%) sepia(81%) saturate(3615%) hue-rotate(170deg) brightness(100%) contrast(96%);
}
img.shs-img-color-peach, 
.shs-img-color-peach img {
	filter: invert(91%) sepia(49%) saturate(1866%) hue-rotate(297deg) brightness(125%) contrast(101%);
}
img.shs-img-color-white, 
.shs-img-color-white img {
	filter: invert(1);
}
.shs-img-square img, 
img.shs-img-square {
	object-fit: cover;
	width: 100%;
	height: auto;
	aspect-ratio: 1;
}

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

hr {
	margin: 2em 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
/////////////////////////////////////////////////////*/

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

/* PP SEARCH MODULE */

[data-node] input[type='search'].pp-search-form__input, 
[data-node] .pp-search-form-wrap.pp-search-form--style-full_screen .pp-search-form input[type='search'].pp-search-form__input {
	margin-bottom: 35vh;
}
[pseudo="-webkit-input-placeholder"], 
input[type="search" i]::-webkit-search-cancel-button {
	filter: grayscale(1) opacity(.3);
}

/* PP SEARCH MODULE - HEADER OVERLAY */

header:not(.fl-theme-builder-header-shrink) .shs-header-overlay [data-node] .pp-search-form__toggle i {
	color: var(--white);
}
header:not(.fl-theme-builder-header-shrink) .shs-header-overlay [data-node] .pp-search-form__toggle i:hover {
	color: var(--fresh-blue);
}

/* EXTRA NAV - HEADER OVERLAY */

header:not(.fl-theme-builder-header-shrink) .shs-header-overlay .shs-desktop-wrapper .shs-extra-nav .shs-my-selwyn-house, 
header.fl-theme-builder-header-shrink .shs-header-overlay .shs-desktop-wrapper .shs-extra-nav .shs-my-selwyn-house-white {
	display: none;
}
header:not(.fl-theme-builder-header-shrink) .shs-header-overlay .shs-desktop-wrapper .shs-extra-nav .shs-my-selwyn-house-white, 
header.fl-theme-builder-header-shrink .shs-header-overlay .shs-desktop-wrapper .shs-extra-nav .shs-my-selwyn-house {
	display: block;
}
header:not(.fl-theme-builder-header-shrink) .shs-header-overlay .shs-desktop-wrapper .shs-extra-nav a.fl-button {
	background-color: var(--white);
}
header:not(.fl-theme-builder-header-shrink) .shs-header-overlay .shs-desktop-wrapper .shs-extra-nav a.fl-button:hover {
	background-color: var(--peach);
}

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

/* ADMIN BAR OFFSET */ 

.admin-bar .pp-menu-full-screen .pp-advanced-menu .pp-menu-overlay, 
.admin-bar .pp-search-form-wrap.pp-search-form--style-full_screen .pp-search-form__container {
	margin-top: 32px;
}

/* --- RESPONSIVE --- */

@media (max-width: 782px) {
	.admin-bar .pp-menu-full-screen .pp-advanced-menu .pp-menu-overlay, 
	.admin-bar .pp-search-form-wrap.pp-search-form--style-full_screen .pp-search-form__container {
		margin-top: 46px;
	}
}

/* SEARCH */

.pp-search-form--style-full_screen .pp-search-form__toggle i {
	background-color: unset;
}
.pp-search-form--style-full_screen .pp-search-form__toggle i:before {
	font-size: unset;
}
header [data-node]
header [data-node] .pp-search-form__toggle i {
	width: auto;
	height: auto;
}
.pp-search-form-wrap.pp-search-form--style-full_screen .pp-search-form__container {
	padding: 0 10%;
}
.pp-search-form-wrap.pp-search-form--style-full_screen .pp-search-form__input {
	max-width: 700px;
	margin: 0 auto;
}
.pp-search-form--lightbox-close {
	top: 10px;
	right: 10px;
}

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

.home header.fl-theme-builder-header-scrolled > .fl-row > .fl-row-content-wrap {
	background-color: transparent;
}
.home header.fl-theme-builder-header-scrolled.fl-theme-builder-header-shrink > .fl-row > .fl-row-content-wrap {
	background-color: var(--white);
}
header.fl-theme-builder-header-shrink .shs-desktop-wrapper, 
header.fl-theme-builder-header-shrink .shs-mobile-wrapper {
	border-bottom: 1px solid var(--fresh-blue);
} */
header.fl-theme-builder-header-shrink .shs-desktop-wrapper .shs-logo .fl-photo-content {
	width: auto;
}

/* --- RESPONSIVE --- */

@media (min-width: 1025px) {
	header.fl-theme-builder-header-shrink .shs-desktop-wrapper, 
	header.fl-theme-builder-header-shrink .shs-mobile-wrapper {
		padding-top: 3px;
		padding-bottom: 3px;
	}
	header.fl-theme-builder-header-shrink .shs-desktop-wrapper .shs-extra-nav {
		flex-direction: row;
		align-items: center;
		row-gap: 0;
		column-gap: 20px;
		justify-content: flex-end;
	}
}
@media (max-width: 1024px) {
	header.fl-theme-builder-header-shrink .shs-desktop-wrapper, 
	header.fl-theme-builder-header-shrink .shs-mobile-wrapper {
		padding-top: 5px;
		padding-bottom: 5px;
	}
	.fl-builder-content[data-type="header"].fl-theme-builder-header-shrink img {
		max-height: 40px !important;
	}
	header.fl-theme-builder-header-shrink [data-node] .pp-advanced-menu-mobile-toggle .pp-hamburger .pp-hamburger-box, 
	header.fl-theme-builder-header-shrink [data-node] .pp-search-form__toggle i {
		transform: scale(.8);
	}
	header.fl-theme-builder-header-shrink [data-node] .pp-advanced-menu-mobile-toggle .pp-hamburger .pp-hamburger-box .pp-hamburger-inner, 
	header.fl-theme-builder-header-shrink [data-node] .pp-advanced-menu-mobile-toggle .pp-hamburger .pp-hamburger-box .pp-hamburger-inner:before, 
	header.fl-theme-builder-header-shrink [data-node] .pp-advanced-menu-mobile-toggle .pp-hamburger .pp-hamburger-box .pp-hamburger-inner:after {
		background-color: var(--primary);
	}
}

/* --------------------------
HEADER - PP GLOBAL MENU
-------------------------- */

/* MENU TOP LEVEL */

header .shs-main-nav .menu-item .shs-maori, 
.pp-menu-full-screen .menu-item .shs-maori {
	font-size: 14px;
}
footer .menu-item .shs-maori {
	display: none;
}
header .shs-main-nav .menu-item .menu-item-text, 
.pp-menu-full-screen .menu-item .menu-item-text, 
.pp-menu-full-screen .pp-advanced-menu.full-screen .menu li a span.menu-item-text, 
.pp-menu-full-screen .pp-advanced-menu.full-screen .menu li .pp-has-submenu-container a span.menu-item-text {
	display: flex;
	flex-direction: column;
	gap: 4px;
}

[data-node] .pp-advanced-menu .menu > li.current-page-ancestor > a, 
[data-node] .fl-node-87dvza2wjosc .pp-advanced-menu .menu > li.current-page-ancestor > .pp-has-submenu-container > a {
	color: var(--moonstone-blue);
}

/* MENU TOP LEVEL - HEADER OVERLAY */

header:not(.fl-theme-builder-header-shrink) .shs-header-overlay .shs-main-nav .shs-has-mega-menu > .pp-has-submenu-container > a .menu-item-text, 
header:not(.fl-theme-builder-header-shrink) .shs-header-overlay .shs-main-nav .menu-item .shs-maori {
	color: var(--white);
}
header:not(.fl-theme-builder-header-shrink) .shs-header-overlay .shs-main-nav .shs-has-mega-menu > .pp-has-submenu-container > a:hover .menu-item-text, 
header:not(.fl-theme-builder-header-shrink) .shs-header-overlay .shs-main-nav .menu-item a:hover .shs-maori {
	color: var(--fresh-blue);
}

/* MISC */

.shs-main-nav .pp-advanced-menu .menu .menu-item.shs-footer {
	display: none;
}

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

/* MENU TOP LEVEL */

.shs-main-nav .pp-advanced-menu .pp-toggle-arrows .pp-menu-toggle:before,
.shs-main-nav .pp-advanced-menu .pp-toggle-none .pp-menu-toggle:before {
	border-color: var(--fresh-blue);
}

header:not(.fl-theme-builder-header-shrink) .shs-header-overlay .shs-main-nav .pp-advanced-menu .pp-toggle-arrows .pp-menu-toggle:before {
	border-color: var(--white);
}
header:not(.fl-theme-builder-header-shrink) .shs-header-overlay .shs-main-nav .pp-advanced-menu .pp-toggle-arrows a:hover .pp-menu-toggle:before {
	border-color: var(--fresh-blue);
}

.shs-main-nav .pp-advanced-menu-horizontal.pp-toggle-arrows .pp-has-submenu-container > a > span, 
.shs-main-nav .pp-advanced-menu .pp-has-submenu-container a > span {
	padding-right: 30px;
}
.shs-main-nav > div > .pp-advanced-menu > nav > .menu > .menu-item > div > a .pp-menu-toggle {
	top: 38%;
}

.shs-main-nav .pp-advanced-menu .menu .pp-menu-search-item a {
	margin: 0 0 20px 10px;
	font-size: 18px;
}

/* --- RESPONSIVE --- */

@media (max-width: 1380px) {
	.shs-main-nav .pp-advanced-menu .menu > li > a, 
	.shs-main-nav .pp-advanced-menu .menu > li > .pp-has-submenu-container > a {
		padding-right: 4px;
		padding-left: 4px;
	}
}

/* MEGA MENU CONTAINER */

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

.shs-main-nav li.shs-has-mega-menu .shs-spacer {
	height: 30px;
}
header.fl-theme-builder-header-shrink .shs-main-nav li.shs-has-mega-menu .shs-spacer {
	height: 20px;
}
.shs-main-nav li.shs-has-mega-menu {
	position: unset;
}
body:not(.fl-builder-edit) .shs-main-nav li.shs-has-mega-menu > .sub-menu {
	top: 73%;
	left: 0;
	width: 100%;
	transform: unset;
	animation: .3s ease-out 0s forwards menuAnim;
}
@keyframes menuAnim {
	from { top: 63%; opacity: 0; }
	to	 { top: 73%; opacity: 1; }
}
.shs-main-nav li.shs-has-mega-menu > .sub-menu .shs-wrapper {
	background-color: var(--white);
	border-top: 1px solid var(--fresh-blue);
	box-shadow: 0 10px 20px rgba(0,0,0,.1);
}

/* MEGA MENU CONTENT */

.shs-main-nav .pp-advanced-menu .menu .shs-has-mega-menu .sub-menu a.fl-button {
	font-weight: 400;
}
.shs-main-nav .pp-advanced-menu .menu .shs-has-mega-menu .sub-menu .menu > .menu-item > .pp-has-submenu-container > a {
	font-weight: 500;
}
.shs-main-nav .pp-advanced-menu .menu .shs-has-mega-menu .sub-menu .menu > .menu-item > .pp-has-submenu-container > a span {
	padding-right: 0;
}
.shs-main-nav .pp-advanced-menu .menu .shs-has-mega-menu .sub-menu .menu > .menu-item > .pp-has-submenu-container > a .pp-menu-toggle {
	display: none;
}
.shs-main-nav .shs-has-mega-menu .menu .pp-has-submenu .sub-menu {
	opacity: 1;
	visibility: visible;
	display: block;
	position: unset;
}
[data-node] .pp-advanced-menu .menu .shs-has-mega-menu > .sub-menu > li.menu-item .menu .menu-item.current-page-ancestor > .pp-has-submenu-container > a {
	color: var(--primary);
}

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

/* MOBILE TOGGLE - CLOSE */

.fl-builder-content [data-node].fl-module .pp-advanced-menu-mobile .pp-advanced-menu-mobile-toggle, 
.fl-builder-content [data-node].fl-module .pp-advanced-menu-mobile .pp-advanced-menu-mobile-toggle:hover {
	background-color: unset;
	padding: 0;
}
.pp-advanced-menu .pp-menu-overlay .pp-menu-close-btn {
	top: 20px;
	left: 20px;
	right: unset;
}

/* MOBILE FULL SCREEN LAYOUT */ 

.pp-menu-full-screen .pp-advanced-menu .pp-menu-overlay > ul.menu {
	top: 70px;
	width: 100% !important;
	transform: unset;
}
.pp-menu-full-screen .pp-advanced-menu .pp-menu-overlay > ul.menu {
	top: 70px;
}
.pp-menu-full-screen .pp-advanced-menu.full-screen .menu li.pp-active {
	background-color: var(--ice-blue);
}
.pp-menu-full-screen .pp-advanced-menu-horizontal.pp-toggle-plus .pp-menu-toggle {
	right: 13px;
}
.pp-menu-full-screen .pp-advanced-menu.full-screen .menu .sub-menu {
	padding-bottom: 25px;
}
.pp-menu-full-screen .pp-advanced-menu.full-screen .menu .sub-menu .sub-menu {
	padding-bottom: 15px;
}
.pp-menu-full-screen .pp-advanced-menu .sub-menu > li > .pp-has-submenu-container > a {
	font-weight: 500;
	color: var(--moonstone-blue);
}

/* MENU CONTENT */ 


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

/*--------------------------
GENERAL
--------------------------*/

footer > .fl-row > .fl-row-content-wrap {
	background-size: auto 60%;
}

/* --- RESPONSIVE --- */

@media (max-width: 1024px) {
	footer > .fl-row > .fl-row-content-wrap {
		background-size: auto 55%;
	}
}
@media (max-width: 768px) {
	footer > .fl-row > .fl-row-content-wrap {
		background-size: auto 370px;
	}
}

/*--------------------------
FOOTER - PP MOBILE MENU
--------------------------*/

footer .shs-mobile-menu .pp-advanced-menu .pp-menu-toggle:before, 
footer .shs-mobile-menu .pp-advanced-menu .pp-menu-toggle:after, 

.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;
}
footer .shs-mobile-menu .pp-advanced-menu .pp-toggle-plus .sub-menu .pp-menu-toggle:before, 
footer .shs-mobile-menu .pp-advanced-menu .pp-toggle-plus .sub-menu .pp-menu-toggle:after, 

.pp-menu-full-screen .pp-advanced-menu .pp-toggle-plus .pp-menu-toggle:before, 
.pp-menu-full-screen .pp-advanced-menu .pp-toggle-plus .pp-menu-toggle:after {
	border-color: var(--moonstone-blue);
}

footer .shs-mobile-menu .menu li.shs-header {
	display: none;
}

footer .shs-mobile-menu .menu > .menu-item > .sub-menu {
	padding-bottom: 12px;
}
footer .shs-mobile-menu .menu > .menu-item > .sub-menu > .menu-item > .pp-has-submenu-container a {
	font-weight: 500;
	color: var(--moonstone-blue);
}
footer .shs-mobile-menu .menu > .menu-item > .sub-menu > .menu-item > .sub-menu {
	margin: 6px 0 12px 0;
	padding: 6px 0 12px 0;
	border-top: 1px solid var(--fresh-blue);
	border-bottom: 1px solid var(--fresh-blue);
}
footer .shs-mobile-menu .menu > .menu-item > .sub-menu > .menu-item > .sub-menu a {
	padding-left: 20px;
}


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

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

/* PAGINATION */ 

.pp-content-grid-pagination .page-numbers {
	font-weight: 500;
}

/*--------------------------
POST CAROUSEL: EVENTS
--------------------------*/

/* LAYOUT */ 

.shs-posts.shs-carousel.shs-events .pp-content-post {
	display: flex;
	flex-direction: row;
}
.shs-posts.shs-carousel.shs-events .shs-post-content, 
.shs-posts.shs-carousel.shs-events .shs-post-image {
	flex-basis: 50%;
}
.shs-posts.shs-carousel.shs-events .shs-post-content {
	display: flex;
	flex-direction: column;
	gap: 35px;
	padding: 7% 6% 8.5%;
	background-color: var(--ice-blue);
}
.shs-posts.shs-carousel.shs-events .shs-post-image {
	aspect-ratio: 1;
	border-radius: 0 0 50%;
	overflow: hidden;
}

/* PAGINATION */ 

.shs-posts.shs-carousel.shs-events .owl-theme .owl-carousel {
	position: relative;
}
.shs-posts.shs-carousel.shs-events .owl-theme .owl-dots {
	position: absolute; 
	top: 7.5%;
	left: calc(6% + 20px);
	margin: 0;
}
.shs-posts.shs-carousel.shs-events .pp-content-post-carousel .owl-theme .owl-dots {
	display: flex;
	gap: 8px;
}
.shs-posts.shs-carousel.shs-events .pp-content-post-carousel .owl-theme .owl-dots .owl-dot span {
	width: 20px;
	height: 2px;
	margin: 5px 0;
}
.shs-posts.shs-carousel.shs-events .pp-content-post-carousel .owl-theme .owl-dots .owl-dot.active span {
	width: 40px;
}

/* CONTENT */

.shs-posts.shs-carousel.shs-events .shs-post-content > *, 
.shs-posts.shs-carousel.shs-events .shs-post-content p {
	margin-bottom: 0;
}
.shs-posts.shs-carousel.shs-events .shs-post-content .shs-event-date {
	margin-bottom: -35px;
}
.shs-posts.shs-carousel.shs-events .shs-post-content .shs-post-title {
	font-size: clamp(1.6875rem, 1.1648rem + 2.6136vw, 3.125rem); /* 27/37/50 px */
}
.shs-posts.shs-carousel.shs-events .shs-post-content .shs-post-title a {
	color: var(--moonstone-blue);
}
.shs-posts.shs-carousel.shs-events .shs-post-content .shs-post-title a:hover {
	color: var(--primary);
}
.shs-posts.shs-carousel.shs-events .shs-post-content .shs-post-text, 
.shs-posts.shs-carousel.shs-events .shs-post-content .shs-event-date {
	color: var(--secondary);
}
.shs-posts.shs-carousel.shs-events .shs-post-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/* --- RESPONSIVE --- */

@media (max-width: 1024px) {
	.shs-posts.shs-carousel.shs-events .shs-post-content {
		gap: 30px;
	}
	.shs-posts.shs-carousel.shs-events .shs-post-content .shs-event-date {
		margin-bottom: -30px;
	}
	
	.shs-posts.shs-carousel.shs-events .owl-theme .owl-dots {
		top: 5.5%;
	}
}
@media (max-width: 768px) {
	.shs-posts.shs-carousel.shs-events .pp-content-post {
		flex-direction: column;
	}
	.shs-posts.shs-carousel.shs-events .shs-post-content {
		gap: 20px;
		padding: 50px 20px 40px;
	}
	.shs-posts.shs-carousel.shs-events .shs-post-content .shs-event-date {
		margin-bottom: -20px;
	}
	
	.shs-posts.shs-carousel.shs-events .owl-theme .owl-dots {
		top: 3%;
		left: 30px;
	}
}

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

/* ON PAGE */ 

.shs-posts.shs-team .shs-post-image a {
	display: flex;
}
.shs-posts.shs-team .pp-post-image img, 
.shs-posts.shs-team .shs-post-image img {
	object-fit: cover;
	width: 100%; 
	height: auto;
	aspect-ratio: 1;
	border-radius: 8px;
}
.shs-posts.shs-team .shs-post-content {
	padding-top: 20px;
}
.shs-posts.shs-team .shs-post-content .shs-post-title {
	font-size: clamp(1rem, 0.9091rem + 0.4545vw, 1.25rem); /* 16/18/20 px */
	font-weight: 500;
}
.shs-posts.shs-team .shs-post-content :is(.shs-post-meta, .shs-more) {
	font-size: clamp(0.8125rem, 0.7898rem + 0.1136vw, 0.875rem); /* 13/14 px */
}
.shs-posts.shs-team .shs-post-content .shs-more {
	padding-top: .75em;
}
.shs-posts.shs-team .shs-post-content .shs-more a {
	font-weight: 500;
	color: var(--moonstone-blue);
}

/* MICROMODAL */ 

.shs-posts.shs-team .modal .shs-wrapper {
	display: flex;
	justify-content: stretch;
	flex: 1 0 auto;
	column-gap: 60px;
}
.shs-posts.shs-team .modal .shs-post-image {
	flex: 1 0 33.33%;
}
.shs-posts.shs-team .modal .shs-post-content {
	padding-top: 0;
}
.shs-posts.shs-team .modal .shs-bio {
	margin-top: 2em;
}
.shs-posts.shs-team .modal .shs-post-title {
	font-size: clamp(1.125rem, 0.8068rem + 1.5909vw, 2rem); /* 18/26/32 px */
}
.shs-posts.shs-team .modal .shs-post-meta {
	font-size: clamp(1rem, 0.9091rem + 0.4545vw, 1.25rem); /* 16/18/20 px */
}

/* --- RESPONSIVE --- */

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

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

/* QUICK LINKS REGULAR */

/* BB 2.8.6.1 Fix */ 
.fl-builder-content .shs-quick-links .fl-button-group-buttons a.fl-button, 
.fl-builder-content .shs-quick-links .fl-button-group-buttons a.fl-button:hover {
	border-color: var(--ice-blue);
}

.shs-quick-links .fl-button-group-buttons {
	border-bottom: 1px solid var(--ice-blue);
}
.fl-builder-content .shs-quick-links .fl-button-group a.fl-button > i, 
.fl-builder-content .shs-quick-links .fl-button-group a.fl-button:hover > i {
	color: var(--fresh-blue);
}

/* QUICK LINKS BIG */

.shs-quick-links-big .pp-infobox-wrap .layout-3-wrapper {
	/* align-items: center; */
	gap: 20px;
	flex-wrap: unset;
}
.shs-quick-links-big .pp-infobox-wrap .layout-3 .pp-icon-wrapper {
	margin-right: 0;
}
.shs-quick-links-big .pp-infobox-icon {
	display: block;
}
.shs-quick-links-big .pp-infobox:hover a {
	text-decoration: none;
	color: var(--moonstone-blue);
}
.shs-quick-links-big .pp-heading-wrapper {
	display: flex;
	flex-direction: column;
	gap: .2em;
}

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

.shs-cards-grid {
	column-gap: 3vw;
	row-gap: 5vw;
	/* row-gap: 100px; */
}
.shs-cards-grid .shs-card {
	gap: 20px;
}
.shs-cards-grid .shs-card img {
	aspect-ratio: 1;
	object-fit: cover;
	width: 100%;
	border-radius: 10px;
}
.shs-cards-grid .shs-card a:hover img {
	opacity: .9;
}
.shs-cards-grid .shs-card .shs-content {
	gap: 15px;
}

/* --- RESPONSIVE --- */

/* @media (max-width: 1024px) {
	.shs-cards-grid {
		row-gap: 70px;
	}
} */
@media (max-width: 768px) {
	.shs-cards-grid {
		justify-content: center;
		justify-items: center;
		flex-wrap: wrap;
		column-gap: 5vw;
		row-gap: 9vw;
		/* row-gap: 50px; */
	}
	.shs-cards-grid .shs-card {
		gap: 15px;
		/* max-width: 280px; */
	}
	.shs-cards-grid .shs-card img {
		min-width: 220px;
	}
	.shs-cards-grid .shs-card .shs-content {
		gap: 10px;
	}
}

/*--------------------------
PP BREADCRUMBS
--------------------------*/

#content .fl-builder-content .pp-breadcrumbs .breadcrumb-item {
	margin-bottom: 0;
}
.pp-breadcrumbs .breadcrumb-item::after {
	margin-right: .3em;
	margin-left: .3em;
	color: var(--fresh-blue);
}

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

/* GENERAL */ 

.pp-timeline .pp-timeline-content-wrapper .pp-timeline-item .pp-timeline-content {
	width: 40%;
	overflow: visible;
}
.pp-timeline .pp-timeline-content-wrapper .pp-timeline-item {
	display: flex;
	margin-bottom: 20px;
}
.pp-timeline .pp-timeline-content-wrapper .pp-timeline-item:nth-of-type(2n) {
	justify-content: flex-end;
}
.pp-timeline .pp-timeline-content-wrapper:after {
	display: none;
}
[data-node] .pp-timeline-content-wrapper [class*="pp-timeline-item"] .pp-timeline-content .pp-timeline-text-wrapper p {
	color: var(--primary);
}
.pp-timeline .pp-timeline-text ul {
	margin-left: 1.2em;
}

/* --- RESPONSIVE --- */

@media (max-width: 768px) {
	.pp-timeline .pp-timeline-content-wrapper .pp-timeline-item {
		justify-content: flex-end;
	}
	.pp-timeline .pp-timeline-content-wrapper .pp-timeline-item .pp-timeline-content {
		float: none !important;
		width: calc(100% - 75px);
	}
}
@media (max-width: 480px) {
	.pp-timeline .pp-timeline-content-wrapper .pp-timeline-item .pp-timeline-content {
		width: calc(100% - 65px);
	}
}

/* ANIMATION */ 

html:not(.fl-builder-edit) .pp-timeline .pp-timeline-content-wrapper .pp-timeline-item .pp-separator-arrow, 
html:not(.fl-builder-edit) .pp-timeline .pp-timeline-content-wrapper .pp-timeline-item .pp-timeline-content {
	margin-left: -50px;
}
html:not(.fl-builder-edit) .pp-timeline .pp-timeline-content-wrapper .pp-timeline-item:nth-of-type(2n) .pp-separator-arrow, 
html:not(.fl-builder-edit) .pp-timeline .pp-timeline-content-wrapper .pp-timeline-item:nth-of-type(2n) .pp-timeline-content {
	margin-right: -50px;
}

/* COUNT */ 

.pp-timeline .pp-timeline-content-wrapper {
	counter-reset: stagesCount;
}
.pp-timeline .pp-timeline-content-wrapper .pp-timeline-item {
	counter-increment: stagesCount;
}
.pp-timeline .pp-timeline-title::before {
	position: absolute;
	content: counter(stagesCount)".";
	transform: translateX(calc(-100% - .35em));
}

/* ICON */ 

.pp-timeline .pp-timeline-content-wrapper .pp-timeline-item .pp-timeline-icon-wrapper {
	overflow: visible;
}
.pp-timeline .pp-icon  {
	display: inline-block;
	position: relative;
	width: 50px;
	height: 50px;
	background-color: var(--fresh-blue);
	border-radius: 100%;
	transform: translateY(-25%);
}
.pp-timeline .pp-icon::before  {
	content: "";
	width: 40px;
	height: 40px;
	background: center/contain no-repeat url("/wp-content/uploads/2025/02/selwyn-house-school-logo-black.svg");
	position: absolute;
	left: 5px;
	top: 5px;
	filter: invert(33%) sepia(13%) saturate(1225%) hue-rotate(152deg) brightness(94%) contrast(85%);
	/* transform: translate(-50%,5px); */
}

/*--------------------------
NINJA TABLES
--------------------------*/

/* LAYOUT */ 

html .semantic_ui .ui.table td {
	padding: 15px;
}
html .semantic_ui .ui.table thead th {
	background-color: var(--ice-blue);
	color: var(--primary);
	border: none;
}
html .semantic_ui .ui.table.shs-color-2 thead th {
	background-color: var(--lavender);
	color: var(--lilac);
}
html .semantic_ui .ui.table thead tr:first-child>th:first-child {
	border-radius: 10px 0 0 10px;
}
html .semantic_ui .ui.table thead tr:first-child>th:last-child {
	border-radius: 0 10px 10px 0;
}
html .shs-table .semantic_ui .ui.table tr:not(.footable-editing):first-child td {
	border-top: none;
}
.shs-table .semantic_ui .ui.table, 
.shs-table .semantic_ui .ui.table tr td {
	border: none;
}
.shs-table .semantic_ui .ui.table tr:not(.footable-editing) td {
	/* border-top: 1px solid var(--fresh-blue); */
	border-bottom: 1px solid var(--fresh-blue);
}
.shs-table .semantic_ui .ui.table.shs-color-2 tr:not(.footable-editing) td {
	border-top: 1px solid var(--lavender);
	border-bottom: 1px solid var(--lavender);
}

/* TYPOGRAPHY */ 

html .semantic_ui .ui.table {
	color: var(--primary);
}
html .semantic_ui .ui.table.shs-color-2 {
	color: var(--lilac);
}
html .semantic_ui .ui.table td.shs-blue {
	color: var(--moonstone-blue);
}
.shs-table table > * {
	font-size: clamp(0.875rem, 0.8295rem + 0.2273vw, 1rem); /* 14/15/16 px */
}
.shs-table table tr td.shs-heading {
	font-family: "DM Serif Display", Garamond, serif, system-ui; 
	font-size: clamp(1.5rem, 1.2273rem + 1.3636vw, 2.25rem); /* 24/32/36 px */
	line-height: 1.3;
}
.shs-table table tr td.shs-big, 
html .semantic_ui .ui.table thead th {
	font-size: clamp(1rem, 0.9091rem + 0.4545vw, 1.25rem); /* 16/18/20 px */
	font-weight: 500;
}
.shs-table table tr td.shs-bold {
	font-weight: 500;
}
/* .shs-table table.shs-center :is(td,th) {
	text-align: center;
} */

/* UI */ 

html .footable .btn-primary, 
html .footable .open > .dropdown-toggle.btn-primary {
	background-color: var(--ice-blue);
	font-weight: 300;
	color: var(--primary);
}
html .footable_parent [class*="fooicon-"]:before {
	filter: invert(33%) sepia(13%) saturate(1225%) hue-rotate(152deg) brightness(94%) contrast(85%);
}
html .footable .btn-primary:is(:active,:focus,:hover) {
	background-color: var(--fresh-blue);
	/* color: white; */
	color: var(--primary);
}
/* html .footable_parent .btn-primary:is(:active,:focus,:hover) [class*="fooicon-"]:before {
	filter: invert(100%);
} */

/* --- RESPONSIVE --- */

/* @media (min-width: 769px) {
	html .semantic_ui .ui.table td:first-child, 
	html .semantic_ui .ui.table td.footable-first-visible {
		padding-left: 0;
	}
	html .semantic_ui .ui.table td:last-child, 
	html .semantic_ui .ui.table td.footable-last-visible {
		padding-right: 0;
	}
	.shs-table .semantic_ui .ui.table {
		border-collapse: collapse;
	}
} */
@media (max-width: 768px) {
	/* .shs-table .semantic_ui .ui.table {
		border: 1px solid var(--fresh-blue);
	}
	.shs-table .semantic_ui tr:not(:last-child) .ui.table {
		border-bottom: none;
	} */
	.shs-table .semantic_ui .ui.table table {
		padding-top: 10px;
		padding-bottom: 10px;
	}
	html .semantic_ui .ui.table tr:not(.footable-editing) :is(td,th) {
		padding: 3px 0;
	}
	html table.ninja_footable.ninja_stacked_table > tbody > tr.footable-detail-row table.footable-details {
		margin: 0;
		border: none;
		border-top: 1px solid var(--fresh-blue);
	}	
}

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

.modal {
	font-family: var(--gp-font--poppins);
}
.modal__overlay {
	z-index: 1000;
	padding: 20px;
	background-color: rgba(62,94,107,.9);
}
.modal__container {
	position: relative;
	max-width: 1160px;
	max-height: 90vh;
	padding: 50px;
	border-radius: 16px;
}
.modal__content {
	margin: 0;
	line-height: inherit;
	color: var(--primary);
}
.modal__close {
	position: absolute;
	top: 10px;
	right: 10px;
	width: 50px;
	height: 50px;
	background-image: none;
	background-color: white !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(--moonstone-blue);
	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;
	}
}

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

/*--------------------------
STACK CARDS ON SCROLL
--------------------------*/

#shs-stack-wrapper .shs-title {
	position: sticky;
	top: 180px;
}
body:not(.fl-builder-edit) #shs-cards-wrapper .shs-card {
	position: sticky;
	top: 250px;
	transition: opacity 0.3s ease, transform 0.3s ease;
	z-index: var(--card-z-index);
}

/* --- RESPONSIVE --- */

@media (max-width: 1080px) {
	#shs-stack-wrapper .shs-title {
		top: 150px;
	}
	body:not(.fl-builder-edit) #shs-cards-wrapper .shs-card {
		top: 210px;
	}
}
@media (max-width: 480px) {
	#shs-stack-wrapper .shs-title {
		top: 70px;
	}
	body:not(.fl-builder-edit) #shs-cards-wrapper .shs-card {
		top: 100px;
	}
	body:not(.fl-builder-edit) #shs-cards-wrapper .shs-card .fl-module-box:first-child {
		padding: 50px;
	}
	body:not(.fl-builder-edit) #shs-cards-wrapper .shs-card .fl-module-box:last-child {
		padding: 20px 20px 30px;
	}
	body:not(.fl-builder-edit) #shs-cards-wrapper .shs-card h2 {
		font-size: 28px;
	}
}


/*/////////////////////////////////////////////////////
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(--moonstone-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: 100px;
		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--dm-serif-display);
}
.av-demo-font-2, 
.av-demo-font-2 h2, 
.av-demo-font-2 h3 {
	font-family: var(--gp-font--poppins);
}
[class*="av-demo-font-"] p {
	margin-bottom: .5em;
}