/*--------------------------------------------------------------
>>> TABLE OF CONTENTS:
----------------------------------------------------------------
# Generic
    - Global Variables
	- Normalize
	- Box sizing
# Base
	- Typography
	- Elements
	- Links
	- Forms
## Layouts
# Components
	- Navigation
	- Posts and pages
	- Comments
	- Widgets
	- Media
	- Captions
	- Galleries
# plugins
	- Jetpack infinite scroll
# Utilities
	- Accessibility
	- Alignments

--------------------------------------------------------------*/

/*--------------------------------------------------------------
# Generic
--------------------------------------------------------------*/
/* Font Load */
@font-face { font-family: Averia; src: url('../fonts/Averia-Regular.ttf'); font-weight: normal;}
@font-face { font-family: Cera; src: url('../fonts/CeraBasic-Regular.otf'); font-weight: normal;}
@font-face { font-family: Galgony; src: url('../fonts/Galgony.ttf'); font-weight: normal;}
/* Global variables */
:root {
    /* Colors */
    --b-taupe: rgba(89,65,69,1);
    --b-taupe-20: rgba(89,65,69,0.2);
    --b-taupe-50: rgba(89,65,69,0.5);
    --b-sage: rgba(128,107,47,1);
    --b-sage-20: rgba(128,107,47,0.2);
    --b-sage-50: rgba(128,107,47,0.5);
    --b-olive: rgba(131,128,54,1);
    --b-olive-20: rgba(131,128,54,0.2);
    --b-olive-50: rgba(131,128,54,0.5);
    --b-jade: rgba(22,114,65,1);
    --b-jade-20: rgba(22,114,65,0.2);
    --b-jade-50: rgba(22,114,65,0.5);
    --b-sea-green: rgba(0,132,97,1);
    --b-sea-green-20: rgba(0,132,97,0.2);
    --b-sea-green-50: rgba(0,132,97,0.5);
    --b-grass: rgba(123,158,58,1);
    --b-grass-20: rgba(123,158,58,0.2);
    --b-grass-50: rgba(123,158,58,0.5);
    --b-light-green: rgba(121,188,104,1);
    --b-light-green-20: rgba(121,188,104,0.2);
    --b-light-green-50: rgba(121,188,104,0.5);
    --b-yellow: #f5c84b;
    --b-yellow-20: rgba(245,200,75,0.2);
    --b-yellow-25: rgba(245,200,75,0.25);
    --b-yellow-50: rgba(245,200,75,0.5);
    --b-orange: rgba(232,128,23,1);
    --b-orange-20: rgba(232,128,23,0.2);
    --b-orange-25: rgba(232,128,23,0.25);
    --b-orange-50: rgba(232,128,23,0.5);
    --b-orange-lt: rgba(245,159,64,1);
    --b-orange-lt-20: rgba(245,159,64,0.2);
    --b-orange-lt-25: rgba(245,159,64,0.25);
    --b-orange-lt-50: rgba(245,159,64,0.5);
    --b-rose: rgba(226,82,58,1);
    --b-rose-20: rgba(226,82,58,0.2);
    --b-rose-50: rgba(226,82,58,0.5);
    --b-pink: rgba(236,102,161,1);
    --b-pink-20: rgba(236,102,161,0.2);
    --b-pink-50: rgba(236,102,161,0.5);
    --b-purple: rgb(90, 70, 146);
    --b-purple-20: rgba(90,70,146,0.2);
    --b-purple-50: rgba(90, 70, 146, 0.5);
	--b-purple-75: rgba(90, 70, 146, 0.75);
    --b-purple-80: hsla(256, 35%, 42%, 0.8);
    --b-blue: rgba(15,147,205,1);
    --b-blue-20: rgba(15,147,205,0.2);
    --b-blue-50: rgba(15,147,205,0.5);
    --b-slate: rgba(22,48,70,1);
    --b-slate-20: rgba(22,48,70,0.2);
    --b-slate-50: rgba(22,48,70,0.5);
    --b-light: rgba(255,255,255,1);
    --b-light-20: rgba(255,255,255,0.2);
    --b-light-50: rgba(255,255,255,0.5);
    --b-light-80: rgba(255,255,255,0.8);
/* Fonts */
   --b-heading-font: "Galgony", serif; 
   --b-copy-font: "Cera Basic", sans-serif;
   --b-tertiary-font: "Averia", serif;
   --b-top-heading: clamp(2rem,5vw,4rem);
/* Styling Presets */
	--b-site-width: 1440px;
	--b-shadow: 0px 0.5px 2px rgba(22,48,70,0.25);
    --site-padding: 1rem 3rem 1rem 3rem;
    --transitions: 0.3s ease-in-out;
	--b-gap: clamp(1rem, 5vw, 3rem);
    --b-padding: 3rem;
}
/* Normalize
--------------------------------------------- */

/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */

/* Document
	 ========================================================================== */

/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */
 html {
	line-height: 1.15;
	-webkit-text-size-adjust: 100%;
}

/* Sections
	 ========================================================================== */

/**
 * Remove the margin in all browsers.
 */
body {
	margin: 0;
    background-color: var(--b-light-20);
}

/**
 * Render the `main` element consistently in IE.
 */
main {
	display: block;
}

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */
h1 {
	font-size: 2em;
	margin: 0.67em 0;
}

/* Grouping content
	 ========================================================================== */

/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
	box-sizing: content-box;
	height: 0;
	overflow: visible;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
pre {
	font-family: monospace, monospace;
	font-size: 1em;
}

/* Text-level semantics
	 ========================================================================== */

/**
 * Remove the gray background on active links in IE 10.
 */
a {
	background-color: transparent;
}

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title] {
	border-bottom: none;
	text-decoration: underline;
	text-decoration: underline dotted;
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
b,
strong {
	font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
code,
kbd,
samp {
	font-family: monospace, monospace;
	font-size: 1em;
}

/**
 * Add the correct font size in all browsers.
 */
small {
	font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */
sub,
sup {
	font-size: 75%;
	line-height: 0;
	position: relative;
	vertical-align: baseline;
}

sub {
	bottom: -0.25em;
}

sup {
	top: -0.5em;
}

/* Embedded content
	 ========================================================================== */

/**
 * Remove the border on images inside links in IE 10.
 */
img {
	border-style: none;
}

/* Forms Reset
	 ========================================================================== */

/**
 * 1. Change the font styles in all browsers.
 * 2. Remove the margin in Firefox and Safari.
 */
button,
input,
optgroup,
select,
textarea {
	font-family: inherit;
	font-size: 100%;
	line-height: 1.15;
	margin: 0;
}

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */
button,
input {
	overflow: visible;
}

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */
button,
select {
	text-transform: none;
}

/**
 * Correct the inability to style clickable types in iOS and Safari.
 */
button,
[type="button"],
[type="reset"],
[type="submit"] {
	-webkit-appearance: button;
}

/**
 * Remove the inner border and padding in Firefox.
 */
button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
	border-style: none;
	padding: 0;
}

/**
 * Restore the focus styles unset by the previous rule.
 */
button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
	outline: 1px dotted ButtonText;
}

/**
 * Correct the padding in Firefox.
 */
fieldset {
	padding: 0.35em 0.75em 0.625em;
}

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *		`fieldset` elements in all browsers.
 */
legend {
	box-sizing: border-box;
	color: inherit;
	display: table;
	max-width: 100%;
	padding: 0;
	white-space: normal;
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
	vertical-align: baseline;
}

/**
 * Remove the default vertical scrollbar in IE 10+.
 */
textarea {
	overflow: auto;
}

/**
 * 1. Add the correct box sizing in IE 10.
 * 2. Remove the padding in IE 10.
 */
[type="checkbox"],
[type="radio"] {
	box-sizing: border-box;
	padding: 0;
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */
[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
	height: auto;
}

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */
[type="search"] {
	-webkit-appearance: textfield;
	outline-offset: -2px;
}

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */
[type="search"]::-webkit-search-decoration {
	-webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */
::-webkit-file-upload-button {
	-webkit-appearance: button;
	font: inherit;
}

/* Interactive
	 ========================================================================== */

/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */
details {
	display: block;
}

/*
 * Add the correct display in all browsers.
 */
summary {
	display: list-item;
}
/* Donorfy Iframe styling */

#donate-now-form {
    height: 1800px;
}
@media screen and (min-width:1280px) {
    #donate-now-form {
        height: 1500px;
    }
    
}
#thankyou-message {
    min-height: 400px;
}
/* Misc
	 ========================================================================== */

/**
 * Add the correct display in IE 10+.
 */
template {
	display: none;
}

/**
 * Add the correct display in IE 10.
 */
[hidden] {
	display: none;
}

/* Box sizing
--------------------------------------------- */

/* Inherit box-sizing to more easily change it's value on a component level.
@link http://css-tricks.com/inheriting-box-sizing-probably-slightly-better-best-practice/ */
*,
*::before,
*::after {
	box-sizing: inherit;
}

html {
	box-sizing: border-box;
}

/*--------------------------------------------------------------
# Base
--------------------------------------------------------------*/

/* Typography
--------------------------------------------- */
/* @link https://utopia.fyi/type/calculator?c=320,21,1.2,1441,16,1.25,5,2,&s=0.75|0.5|0.25,1.5|2|3|4|6,s-l */

:root {
    --step--2: clamp(0.64rem, calc(0.99rem + -0.39vw), 0.91rem);
    --step--1: clamp(0.80rem, calc(1.18rem + -0.42vw), 1.09rem);
    --step-0: clamp(1.00rem, calc(1.40rem + -0.45vw), 1.31rem);
    --step-1: clamp(1.25rem, calc(1.67rem + -0.46vw), 1.58rem);
    --step-2: clamp(1.56rem, calc(1.98rem + -0.47vw), 1.89rem);
    --step-3: clamp(1.95rem, calc(2.36rem + -0.45vw), 2.27rem);
    --step-4: clamp(2.44rem, calc(2.80rem + -0.40vw), 2.72rem);
    --step-5: clamp(3.05rem, calc(3.33rem + -0.31vw), 3.27rem);
  }
body,
button,
input,
select,
optgroup,
textarea {
	color: var(--b-slate);
	font-family: var(--b-copy-font), sans-serif;
	font-size: var(--step-0);
	line-height: 1.5;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	clear: both;
}
h1,
h2,
h3 {
	font-family: var(--b-heading-font), serif;
	letter-spacing: 2px;
}
h1 {
    font-size: var(--step-5);
    line-height: var(--b-line-height-tight);
    margin-bottom: var(--b-spacing-6);
    color: var(--b-color-text);
}

h2 {
    font-size: var(--step-4);
    line-height: var(--b-line-height-tight);
    margin-bottom: var(--b-spacing-5);
    color: var(--b-color-text);
}

h3 {
    font-size: var(--step-3);
    line-height: var(--b-line-height-tight);
    margin-bottom: var(--b-spacing-4);
    color: var(--b-color-text);
}

h4 {
    font-size: var(--step-2);
    line-height: var(--b-line-height-normal);
    margin-bottom: var(--b-spacing-4);
    color: var(--b-color-text);
}

h5 {
    font-size: var(--step-2);
    line-height: var(--b-line-height-normal);
    margin-bottom: var(--b-spacing-3);
    color: var(--b-color-text);
}

h6 {
    font-size: var(--step-1);
    line-height: var(--b-line-height-normal);
    margin-bottom: var(--b-spacing-3);
    color: var(--b-color-text);
}

p {
	line-height: var(--b-line-height-normal);
    margin-bottom: var(--b-spacing-4);
    color: var(--b-color-text);
}

dfn,
cite,
em,
i {
	font-style: italic;
}

blockquote {
	max-width: 700px;
    margin: 2rem auto;
    position: relative;
    padding: 0 3rem;
}
blockquote::before, blockquote::after {
    position: absolute;
    content: "";
    top: -1.5rem;
    left: -2.5rem;
    width: 3rem;
    height: 3rem;
    background-image: url('../img/quote-blob-start.svg');
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
}
blockquote::after {
    position: absolute;
    content: "";
    top: unset;
    left: unset;
    bottom: -1.5rem;
    right: 0;
    background-image: url('../img/quote-blob-end.svg');
}
blockquote p {
    /* font-size: var(--step-2); */
    font-style: italic;
    margin-bottom: 0;
}
blockquote cite {
    display: block;
    font-family: var(--b-tertiary-font);
    text-align: right;
    line-height: 100%;
}
.wp-block-pullquote {
    position: relative;
    margin-top: 4rem;
}

.wp-block-pullquote blockquote {
    font-weight: bold;
    position: relative;
    padding: 3rem;
}

.wp-block-pullquote blockquote::before, .wp-block-pullquote blockquote::after{
    background-image: none;
}
.wp-block-pullquote::before {
    position: absolute;
    z-index: -1;
    content: '';
    background-image: url('../img/bibic-brain-watermark-purple-50.svg');
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
    opacity: 0.2;
}

@media screen and (min-width:73.125rem) {
    .wp-block-pullquote::before {
        position: absolute;
        z-index: -1;
        content: '';
        background-image: url('../img/bibic-brain-watermark-purple-80.svg');
        top: 20%;
        left: 3rem;
        width: 25%;
        height: 60%;
        background-position: center;
        background-repeat: no-repeat;
        background-size: contain;
        opacity: 0.5;
    }
    blockquote p {
        margin-bottom: 0;
    }
}
address {
	margin: 0 0 1.5em;
}

pre {
	background: #eee;
	font-family: "Courier 10 Pitch", courier, monospace;
	line-height: 1.6;
	margin-bottom: 1.6em;
	max-width: 100%;
	overflow: auto;
	padding: 1.6em;
}

code,
kbd,
tt,
var {
	font-family: monaco, consolas, "Andale Mono", "DejaVu Sans Mono", monospace;
}

abbr,
acronym {
	border-bottom: 1px dotted #666;
	cursor: help;
}

mark,
ins {
	background: #fff9c0;
	text-decoration: none;
}

big {
	font-size: 1.25rem;
}
.small {
	font-size: .66rem;
}

/* Elements
--------------------------------------------- */
body {
	background: #fff;
}

hr {
	background-color: #ccc;
	border: 0;
	height: 1px;
	margin-bottom: 1.5em;
}

ul,
ol {
	margin: 0 0 1.5em 0;
    padding-left: 0;
}

ul {
	list-style: none;
}

ol {
	list-style: decimal;
}

li > ul,
li > ol {
	margin-bottom: 0;
	margin-left: 1.5em;
}
.page-wrapper li {
    list-style: none;
    /** the image will be vertically aligned in the center **/
    background: url('../img/brain-list.png') left 10% no-repeat; 
    /** move the text to the right **/
    padding-left: 30px; 
    padding-bottom: 0.75rem;
}
.archive__category-list li, li.wp-social-link {
    list-style: none;
    background: none;
    padding-left: 0;
    padding-bottom: 0;
}
dt {
	font-weight: 700;
}

dd {
	margin: 0 1.5em 1.5em;
}

/* Make sure embeds and iframes fit their containers. */
embed,
iframe,
object {
	max-width: 100%;
}

img {
	height: auto;
	max-width: 100%;
}

figure {
	margin: 1em 0;
}

table {
	margin: 0 0 1.5em;
	width: 100%;
}

/* Links
--------------------------------------------- */
a {
	color: var(--b-color-link);
    text-decoration: none;
    transition: color var(--b-transition);
}

a:visited {
	color: var(--b-color-link);
}

a:hover,
a:active {
	color: var(--b-color-link-hover);
}

a:focus {
	outline: 2px solid var(--b-color-primary);
	outline-offset: 2px;
	border-radius: var(--b-radius-sm);
}

a:focus:not(:focus-visible) {
	outline: none;
}

/* Forms
--------------------------------------------- */
button,
input[type="button"],
input[type="reset"],
input[type="submit"] {
	border: none;
	border-radius: var(--b-radius);
	background-color: var(--b-orange);
	color: var(--b-button-text);
	line-height: var(--b-line-height-normal);
	padding: clamp(1rem, 2vw, 2rem) clamp(1.5rem, 3vw, 3rem) clamp(1rem, 2vw, 2rem) clamp(1rem, 2vw, 2rem);
    min-width: 200px;
	min-height: 44px;
    cursor: pointer;
    font-weight: bolder;
	font-family: var(--b-copy-font);
	transition: all var(--b-transition);
	position: relative;
	display: inline-block;
	text-align: center;
	box-sizing: border-box;
}

/* Stretch standard buttons to full width when inside button containers */
.archive__button button,
.archive__button input[type="button"],
.archive__button input[type="submit"],
.columns__button.button,
.columns__button button,
.columns__button input[type="button"],
.columns__button input[type="submit"],
.cta__button-link.button,
.cta__button-link button,
.cta__button-link input[type="button"],
.cta__button-link input[type="submit"] {
	width: 100%;
	min-width: auto;
	display: block;
	box-sizing: border-box;
}

@media (max-width: 48rem) {
	button,
	input[type="button"],
	input[type="reset"],
	input[type="submit"] {
		min-width: auto;
		width: 100%;
		padding: var(--b-spacing-4) var(--b-spacing-6);
	}
}

/* Button hover states */
button:hover,
input[type="button"]:hover,
input[type="reset"]:hover,
input[type="submit"]:hover {
	background-color: var(--b-orange-lt);
	color: var(--b-button-text);
	transform: translateY(-2px);
	box-shadow: var(--b-shadow-md);
}

/* Button active states */
button:active,
input[type="button"]:active,
input[type="reset"]:active,
input[type="submit"]:active {
	transform: translateY(0);
	box-shadow: var(--b-shadow-sm);
	background-color: var(--b-orange);
}

/* Button focus states */
button:focus,
input[type="button"]:focus,
input[type="reset"]:focus,
input[type="submit"]:focus {
	outline: 3px solid var(--b-slate);
	outline-offset: 3px;
}

button:focus:not(:focus-visible),
input[type="button"]:focus:not(:focus-visible),
input[type="reset"]:focus:not(:focus-visible),
input[type="submit"]:focus:not(:focus-visible) {
	outline: none;
}

/* Blob Button Block (ACF) */
.blob-button {
	display: inline-block;
	border: none;
	border-radius: var(--b-radius);
	background-color: var(--b-orange);
	color: var(--b-button-text);
	line-height: var(--b-line-height-normal);
	padding: clamp(0.75rem, 1.5vw, 1.25rem) clamp(1rem, 2vw, 2rem);
	min-width: 200px;
	min-height: 44px;
	cursor: pointer;
	font-weight: bolder;
	font-family: var(--b-copy-font);
	transition: all var(--b-transition);
	position: relative;
	text-align: center;
	text-decoration: none;
	box-sizing: border-box;
	width: auto;
}

/* Stretch buttons to full width when inside button containers */
.archive__button .blob-button,
.columns__button.blob-button,
.cta__button-link.blob-button,
.cta__buttons .blob-button {
	width: 100%;
	min-width: auto;
	display: block;
	box-sizing: border-box;
}

.blob-button:hover {
	background-color: var(--b-orange-lt);
	color: var(--b-button-text);
	transform: translateY(-2px);
	box-shadow: var(--b-shadow-md);
}

.blob-button:active {
	transform: translateY(0);
	box-shadow: var(--b-shadow-sm);
	background-color: var(--b-orange);
}

.blob-button:focus {
	outline: 3px solid var(--b-slate);
	outline-offset: 3px;
}

.blob-button:focus:not(:focus-visible) {
	outline: none;
}

@media (max-width: 48rem) {
	.blob-button {
		min-width: auto;
		width: 100%;
		padding: var(--b-spacing-3) var(--b-spacing-5);
	}
}

/*--------------------------------------------------------------
# Pricing Block
--------------------------------------------------------------*/
.pricing-block {
	margin: var(--b-spacing-6) 0;
}

.pricing-block__container {
	max-width: 100%;
}

.pricing-block__items {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
	gap: var(--b-spacing-6);
	margin-top: var(--b-spacing-5);
}

.pricing-block__item {
	background-color: var(--b-light);
	border: 1px solid var(--b-color-border);
	border-radius: var(--b-radius);
	padding: var(--b-spacing-6);
	display: flex;
	flex-direction: column;
	transition: all var(--b-transition);
	box-shadow: var(--b-shadow-sm);
}

.pricing-block__item:hover {
	box-shadow: var(--b-shadow-md);
	transform: translateY(-2px);
}

.pricing-block__title {
	margin: 0 0 var(--b-spacing-4) 0;
	font-size: var(--b-font-size-xl);
	font-weight: bold;
	color: var(--b-color-text);
}

.pricing-block__amount {
	font-size: var(--b-font-size-2xl);
	font-weight: bold;
	color: var(--b-orange);
	line-height: 1.2;
	display: block;
}

.pricing-block__content {
	flex-grow: 1;
	margin-bottom: var(--b-spacing-5);
	color: var(--b-color-text);
}

.pricing-block__content p {
	margin-top: 0;
	margin-bottom: var(--b-spacing-3);
}

.pricing-block__content p:last-child {
	margin-bottom: 0;
}

.pricing-block__button-wrapper {
	margin-top: auto;
}

.pricing-block__button {
	width: 100%;
}

/* Pricing Modal */
.pricing-modal {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 9999;
	display: flex;
	align-items: center;
	justify-content: center;
	opacity: 0;
	visibility: hidden;
	transition: opacity var(--b-transition), visibility var(--b-transition);
}

.pricing-modal.is-open {
	opacity: 1;
	visibility: visible;
}

.pricing-modal[aria-hidden="true"] {
	opacity: 0;
	visibility: hidden;
}

.pricing-modal[aria-hidden="false"] {
	opacity: 1;
	visibility: visible;
}

.pricing-modal__overlay {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(0, 0, 0, 0.75);
	cursor: pointer;
}

.pricing-modal__container {
	position: relative;
	background-color: var(--b-light);
	border-radius: var(--b-radius);
	max-width: 600px;
	width: 90%;
	max-height: 90vh;
	overflow-y: auto;
	box-shadow: var(--b-shadow-lg);
	z-index: 10000;
	display: flex;
	flex-direction: column;
}

.pricing-modal__header {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: var(--b-spacing-6);
	border-bottom: 1px solid var(--b-color-border);
	position: sticky;
	top: 0;
	background-color: var(--b-light);
	z-index: 1;
}

.pricing-modal__title {
	margin: 0;
	font-size: var(--b-font-size-xl);
	font-weight: bold;
	color: var(--b-color-text);
}

.pricing-modal__close {
	background: none;
	border: none;
	font-size: 2rem;
	line-height: 1;
	color: var(--b-color-text);
	cursor: pointer;
	padding: 0;
	width: 2rem;
	height: 2rem;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: color var(--b-transition);
	border-radius: var(--b-radius);
}

.pricing-modal__close:hover,
.pricing-modal__close:focus {
	color: var(--b-orange);
	background-color: var(--b-slate-10);
	outline: 2px solid var(--b-orange);
	outline-offset: 2px;
}

.pricing-modal__close span {
	display: block;
}

.pricing-modal__content {
	padding: var(--b-spacing-6);
	flex-grow: 1;
}

.pricing-modal__form-wrapper {
	width: 100%;
}

/* Prevent body scroll when modal is open */
body.modal-open {
	overflow: hidden;
}

@media (max-width: 48rem) {
	.pricing-block__items {
		grid-template-columns: 1fr;
		gap: var(--b-spacing-4);
	}

	.pricing-block__item {
		padding: var(--b-spacing-4);
	}

	.pricing-modal__container {
		width: 95%;
		max-height: 95vh;
	}

	.pricing-modal__header {
		padding: var(--b-spacing-4);
	}

	.pricing-modal__content {
		padding: var(--b-spacing-4);
	}
}

input[type="text"],
input[type="email"],
input[type="url"],
input[type="password"],
input[type="search"],
input[type="number"],
input[type="tel"],
input[type="range"],
input[type="date"],
input[type="month"],
input[type="week"],
input[type="time"],
input[type="datetime"],
input[type="datetime-local"],
input[type="color"],
textarea {
	color: var(--b-color-text);
	border: 1px solid var(--b-color-border);
	border-radius: var(--b-radius);
	padding: var(--b-spacing-3) var(--b-spacing-4);
	font-family: var(--b-copy-font);
	font-size: var(--b-font-size-base);
	transition: all var(--b-transition);
	min-height: 44px;
}

input[type="text"]:focus,
input[type="email"]:focus,
input[type="url"]:focus,
input[type="password"]:focus,
input[type="search"]:focus,
input[type="number"]:focus,
input[type="tel"]:focus,
input[type="range"]:focus,
input[type="date"]:focus,
input[type="month"]:focus,
input[type="week"]:focus,
input[type="time"]:focus,
input[type="datetime"]:focus,
input[type="datetime-local"]:focus,
input[type="color"]:focus,
textarea:focus {
	color: var(--b-color-text);
	border-color: var(--b-color-primary);
	outline: 2px solid var(--b-color-primary);
	outline-offset: 2px;
	box-shadow: 0 0 0 3px var(--b-purple-20);
}

input::placeholder,
textarea::placeholder {
	color: var(--b-slate-50);
	opacity: 1;
}

select {
	border: 1px solid #ccc;
}

textarea {
	width: 100%;
}
/* Style Gravity Form Overrides */
.gform_wrapper.gravity-theme .gf_progressbar_percentage.percentbar_blue {
    background-color: var(--b-orange) !important;
}
/*--------------------------------------------------------------
# Animations
--------------------------------------------------------------*/
.fade-in {
    opacity: 0;
    transition: opacity 0.2s ease-in;
  }
  .fade-in.appear {
    opacity: 1;
  }
  .slide-in {
    transform: translateX(-1000px);
    transition: transform 0.2s ease-in-out;
  }
  .slide-in.appear {
    transform: translateX(0);
  }
/*--------------------------------------------------------------
# Layouts
--------------------------------------------------------------*/
/* Header */
.site {
    position: relative;
}
.site-header {
    position: fixed;
    top: 0;
    display: grid;
    width: 100%;
    padding: var(--site-padding);
    transition: all var(--b-transition);
    grid-template-columns: 1fr 3fr;
    background-color: var(--b-light);
    z-index: 999;
    overflow: visible;
    box-shadow: var(--b-shadow-sm);
}

/* Always position header below admin bar when present */
.admin-bar .site-header {
    top: 32px !important;
}

/* Keep the WP admin bar fixed on mobile and offset header/menu correctly */
@media screen and (max-width: 782px) {
    /* Force the admin bar to stick to the viewport */
    #wpadminbar {
        position: fixed;
        top: 0;
    }

    /* Match the taller mobile admin bar (46px) */
    .admin-bar .site-header {
        top: 46px !important;
    }

    .admin-bar .main-navigation.toggled ul {
        top: 138px; /* 92px header + 46px admin bar */
        height: calc(100vh - 138px - 80px);
    }

    .admin-bar .main-navigation.toggled ul::before {
        top: 138px;
    }
}
/* Scroll styling disabled per user request */
/* .scrolled {
    background-color: var(--b-light);
	box-shadow: var(--b-shadow-md);
}

.scrolled::before {
    background-color: transparent;
    box-shadow: none;
}

.site-header.scrolled {
    padding-top: clamp(0.5rem, 1.5vw, 0.75rem);
    padding-bottom: clamp(0.5rem, 1.5vw, 0.75rem);
} */
.site-branding {
    justify-self: start;
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.site-title, .site-description {
    display: none;
}
.custom-logo-link {
    display: block;
    width: clamp(80px, 30vw, 160px);
}
.custom-logo {
    width: 100%;
    height: auto;
}

/*--------------------------------------------------------------
# Components
--------------------------------------------------------------*/

/* Navigation
--------------------------------------------- */


.main-navigation {
    justify-self: end;
    align-self: center;
	display: flex;
    flex-direction: column;
	justify-content: flex-end;
    transition: all var(--b-transition);
    min-height: 50px;
    overflow: visible;
}

@media screen and (min-width: 64rem) {
	.main-navigation {
		overflow: visible;
	}
}

/* Menu Toggle Button - Mobile */
button.menu-toggle {
    border: none;
    background-color: transparent;
    background-image: none;
    background-size: contain;
    min-width: 44px;
    min-height: 44px;
    width: 60px;
    height: 60px;
    padding: 0;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: transform var(--b-transition);
}

button.menu-toggle:hover {
    transform: scale(1.1);
}

button.menu-toggle:focus {
    outline: 2px solid var(--b-color-primary);
    outline-offset: 2px;
    border-radius: var(--b-radius);
}

button.menu-toggle img {
    width: 60px;
    height: 60px;
    display: block;
}

/* Mobile Menu - Closed state */
.main-navigation ul {
	display: none;
	list-style: none;
	margin: 0;
	padding: 0;
	opacity: 0;
	visibility: hidden;
}

/* Mobile Menu - Positioned below header when toggled */
.main-navigation.toggled ul {
	display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: stretch;
    position: fixed;
    top: 92px; /* Below header (approximately 92px header height) */
    left: 0;
    width: 100%;
    height: calc(100vh - 92px - 80px); /* Viewport minus header minus donate button height */
    background-color: var(--b-purple);
    z-index: 9998;
    overflow-y: auto;
    overflow-x: hidden;
    padding: var(--b-spacing-6) var(--b-spacing-8) var(--b-spacing-8) var(--b-spacing-8);
    padding-bottom: var(--b-spacing-8);
    box-sizing: border-box;
    opacity: 1;
    visibility: visible;
    transition: opacity var(--b-transition), visibility var(--b-transition);
}

/* Mobile Menu - Adjust when admin bar is present (header moves down 32px, so menu also moves down 32px) */
.admin-bar .main-navigation.toggled ul {
    top: 124px; /* 92px header + 32px admin bar offset */
    height: calc(100vh - 124px - 80px); /* Viewport minus (header+admin offset) minus donate button */
}

.main-navigation.toggled ul::before {
    content: "";
    position: fixed;
    top: 92px;
    left: 0;
    right: 0;
    height: 1px;
    background: linear-gradient(to right, transparent, var(--b-light-50), transparent);
}

.admin-bar .main-navigation.toggled ul::before {
    top: 124px;
}

/* Mobile Menu Items */
.main-navigation.toggled li {
    padding: 0;
    position: relative;
    width: 100%;
    text-align: left;
    border-bottom: 1px solid var(--b-purple-50);
}

.main-navigation.toggled li:first-child {
    border-top: 1px solid var(--b-purple-50);
}

.main-navigation.toggled li:last-child {
    border-bottom: none;
}

.main-navigation.toggled li a {
    display: block;
    font-size: clamp(1.25rem, 4vw, 1.5rem);
    color: var(--b-light);
    padding: var(--b-spacing-6) var(--b-spacing-8);
    min-height: 56px;
    line-height: var(--b-line-height-relaxed);
    transition: background-color var(--b-transition), color var(--b-transition);
}

.main-navigation.toggled li a:hover,
.main-navigation.toggled li a:focus {
    background-color: var(--b-purple);
    color: var(--b-light);
    outline: none;
}

.main-navigation.toggled li a:focus {
    outline: 2px solid var(--b-light);
    outline-offset: -2px;
}

/* Mobile Sub-menu - Accordion Style */
.main-navigation.toggled ul li ul.sub-menu {
    width: 100%;
    margin: 0;
    padding: 0;
    background-color: var(--b-purple);
    display: none;
    position: static;
    transform: none;
    box-shadow: none;
}

.main-navigation.toggled ul li.menu-item-has-children > a::after {
    content: "Ã¢â€“Â¼";
    float: right;
    font-size: 0.75em;
    transition: transform var(--b-transition);
}

.main-navigation.toggled ul li.menu-item-has-children.expanded > a::after {
    transform: rotate(180deg);
}

.main-navigation.toggled ul li.expanded > ul.sub-menu {
    display: block;
    height: auto;
}

.main-navigation.toggled ul li ul.sub-menu li {
    border-bottom: 1px solid var(--b-purple-50);
}

.main-navigation.toggled ul li ul.sub-menu li a {
    font-size: clamp(1rem, 3vw, 1.125rem);
    color: var(--b-light-80);
    padding: var(--b-spacing-5) var(--b-spacing-8) var(--b-spacing-5) var(--b-spacing-12);
}

.main-navigation.toggled ul li ul.sub-menu li a:hover,
.main-navigation.toggled ul li ul.sub-menu li a:focus {
    background-color: var(--b-purple-75);
    color: var(--b-light);
}

/* Desktop Menu - Sub-menu styles (will be overridden below) */
.main-navigation ul ul {
	box-shadow: var(--b-shadow-lg);
	position: absolute;
	top: 100%;
	left: -999em;
	z-index: 99999;
    transform: scaleY(0);
    transform-origin: top;
    transition: transform var(--b-transition-fast), opacity var(--b-transition-fast), visibility var(--b-transition-fast);
    opacity: 0;
    visibility: hidden;
    background-color: var(--b-purple-75);
    min-width: 240px;
    max-width: 300px;
    border-radius: var(--b-radius);
    overflow: hidden;
    height: auto;
    max-height: none;
    box-sizing: border-box;
}

.main-navigation ul ul ul {
	left: -999em;
	top: 0;
}

.main-navigation ul ul li:hover > ul,
.main-navigation ul ul li.focus > ul {
	display: block;
	left: 100%;
}

.main-navigation ul ul a {
	width: 100%;
}

.main-navigation ul li:hover > ul,
.main-navigation ul li.focus > ul {
	left: auto;
    transform: scaleY(1);
    opacity: 1;
    visibility: visible;
}

.main-navigation li {
	position: relative;
}

.main-navigation a {
	display: block;
	text-decoration: none;
    transition: all var(--b-transition);
    color: var(--b-light);
    line-height: var(--b-line-height-normal);
}


/* Desktop Menu Styles */
@media screen and (min-width: 64rem) {
	button.menu-toggle {
		display: none;
	}
	
	.main-navigation ul {
		display: flex;
		flex-direction: row;
		position: relative;
		width: 100%;
		top: 4px;
		min-height: 40px;
		background-color: transparent;
		padding: var(--b-spacing-2) 0;
		opacity: 1;
		visibility: visible;
		height: auto;
		overflow: visible;
		overflow-x: visible;
		overflow-y: visible;
	}
	
	/* Consistent spacing for menu items using flex gap */
	.menu.nav-menu,
	.main-navigation ul.nav-menu {
		gap: var(--b-spacing-1);
		display: flex;
		align-items: center;
	}
	
	.main-navigation li {
		padding: 0;
		margin: 0;
	}
	
	
	.main-navigation a {
		color: var(--b-purple);
		line-height: 1.2;
		padding: var(--b-spacing-3) var(--b-spacing-3);
		font-size: clamp(0.875rem, 1vw, 1rem);
		white-space: nowrap;
		border-radius: var(--b-radius);
		position: relative;
		display: flex;
		align-items: center;
	}
	
	.main-navigation a:hover,
	.main-navigation a:focus {
		color: var(--b-purple);
		background-color: var(--b-purple-20);
		outline: none;
	}
	
	.main-navigation a:focus {
		outline: 2px solid var(--b-color-primary);
		outline-offset: 2px;
	}
	
	/* Desktop Sub-menus */
	.main-navigation ul li ul {
		min-width: 240px;
		max-width: 300px;
		padding: var(--b-spacing-3) 0;
		background-color: var(--b-purple-75);
		border-radius: var(--b-radius);
		margin-top: var(--b-spacing-3);
		overflow: hidden;
		max-height: none;
		height: auto;
		box-sizing: border-box;
        backdrop-filter: blur(2px);
        box-shadow: 0 3px 20px -5px rgba(0, 0, 0, 0.3);
	}
	
	/* Transparent pseudo-element to bridge gap between menu link and dropdown */
	.main-navigation ul li.menu-item-has-children::after,
	.main-navigation ul li.page_item_has_children::after {
		content: "";
		position: absolute;
		top: 100%;
		left: 0;
		right: 0;
		height: var(--b-spacing-3);
		background-color: transparent;
		pointer-events: none;
		z-index: 99998;
	}
	
	.main-navigation ul li.menu-item-has-children:hover::after,
	.main-navigation ul li.page_item_has_children:hover::after {
		pointer-events: auto;
	}
	
	.main-navigation ul ul li {
		margin: 0;
		padding: 0;
		width: 100%;
		box-sizing: border-box;
	}
	
	.main-navigation ul ul li:first-child {
		margin-top: 0;
	}
	
	.main-navigation ul ul li:last-child {
		margin-bottom: 0;
	}
	
	.main-navigation ul ul li:hover {
		background-color: var(--b-purple-80);
	}
	
	.main-navigation ul ul li a {
		display: block;
		width: 100%;
		color: var(--b-light);
		padding: var(--b-spacing-4) var(--b-spacing-6);
		font-size: var(--b-font-size-sm);
		border-radius: 0;
		line-height: var(--b-line-height-normal);
		white-space: normal;
		word-wrap: break-word;
		overflow-wrap: break-word;
		box-sizing: border-box;
	}
	
	.main-navigation ul ul li a:hover,
	.main-navigation ul ul li a:focus {
		background-color: var(--b-purple-80);
		color: var(--b-light);
	}
	
	.main-navigation ul li:hover > ul,
	.main-navigation ul li.focus > ul {
		display: block;
		left: 0;
		transform: scaleY(1);
		opacity: 1;
		visibility: visible;
	}
}

/* @media screen and (min-width: 95.25rem) {
	.main-navigation ul {
		top: 14px;
	}
} */

/* Cookie Button z-index override - ensure it sits below mobile menu */
.cky-btn-revisit-wrapper {
	z-index: 998 !important;
}

/* Donate Now Special Styles */
.main-navigation ul.nav-menu .highlighted-menu-link a {
	font-weight: 600;
	text-transform: uppercase;
	position: relative;
	padding-inline: var(--b-spacing-5);
	isolation: isolate;
	background: var(--b-orange);
	color: white;
}

/* Mobile: Fix donate button to bottom of viewport */
@media screen and (max-width: 63.9375rem) {
	.main-navigation.toggled ul .highlighted-menu-link {
		position: fixed;
		bottom: 0;
		left: 0;
		width: 100%;
		z-index: 9999; /* Higher than mobile menu */
		border-top: 1px solid rgba(255, 255, 255, 0.2);
		border-bottom: none;
		margin: 0;
		background-color: var(--b-orange);
		box-shadow: 0 -2px 10px rgba(0, 0, 0, 0.1);
	}
	
	.main-navigation.toggled ul .highlighted-menu-link a {
		background-color: var(--b-orange);
		color: var(--b-light);
		padding: var(--b-spacing-6) var(--b-spacing-8);
		text-align: center;
		width: 100%;
		margin: 0;
		border: none;
		font-size: clamp(1.125rem, 3.5vw, 1.375rem);
	}
	
	.main-navigation.toggled ul .highlighted-menu-link a:hover,
	.main-navigation.toggled ul .highlighted-menu-link a:focus {
		background-color: var(--b-orange-lt);
		color: var(--b-light);
		outline: 2px solid var(--b-light);
		outline-offset: -2px;
	}
}

@media screen and (min-width: 64rem) {
	.main-navigation ul.nav-menu .highlighted-menu-link a::before {
		/* content: ""; */
		position: absolute;
		width: 100%;
		height: 7.5vw;
		max-height: 80px;
		top: -1rem;
		left: 0;
		background-image: url('/wp-content/themes/bibic-2026/img/menu-blob.svg');
		background-size: contain;
		background-repeat: no-repeat;
		background-position: center;
		z-index: -1;
		transition: transform var(--b-transition);
	}
	
	.main-navigation ul.nav-menu .highlighted-menu-link a:hover::before,
	.main-navigation ul.nav-menu .highlighted-menu-link a:focus::before {
		transform: scale(1.05);
	}
}

@media screen and (min-width: 94rem) {
	.main-navigation ul.nav-menu .highlighted-menu-link a::before {
		/* content: ""; */
		position: absolute;
		height: 80px;
		left: 15px;
		top: -30px;
		background-image: url('/wp-content/themes/bibic-2026/img/menu-blob.svg');
		background-size: contain;
		background-repeat: no-repeat;
		z-index: -1;
	}
}

.site-main .comment-navigation,
.site-main
.posts-navigation,
.site-main
.post-navigation {
	margin: 0 0 1.5em;
}

.comment-navigation .nav-links,
.posts-navigation .nav-links,
.post-navigation .nav-links {
	display: flex;
}

.comment-navigation .nav-previous,
.posts-navigation .nav-previous,
.post-navigation .nav-previous {
	flex: 1 0 50%;
}

.comment-navigation .nav-next,
.posts-navigation .nav-next,
.post-navigation .nav-next {
	text-align: end;
	flex: 1 0 50%;
}
/* Hero Section
--------------------------------------------- */
.hero__section-wrapper {
    height: 100vh;
    min-height: 500px;
    max-height: 900px;
    position: relative;
    overflow: hidden;
}

@media (max-height: 600px) {
    .hero__section-wrapper {
        min-height: 100vh;
        max-height: 100vh;
    }
}


/* Reduced height for non-homepage hero sections */
.page .hero__section-wrapper,
.single .hero__section-wrapper,
.archive .hero__section-wrapper,
.search .hero__section-wrapper,
.category .hero__section-wrapper,
.tag .hero__section-wrapper {
    height: auto;
    min-height: 300px;
    max-height: 500px;
}

@media screen and (min-width: 48rem) {
    .page .hero__section-wrapper,
    .single .hero__section-wrapper,
    .archive .hero__section-wrapper,
    .search .hero__section-wrapper,
    .category .hero__section-wrapper,
    .tag .hero__section-wrapper {
        min-height: 350px;
        max-height: 550px;
    }
}

/* Ensure homepage keeps original full-height styling */
.home .hero__section-wrapper {
    height: 100vh;
    min-height: 500px;
    max-height: 900px;
}

@media (max-height: 600px) {
    .home .hero__section-wrapper {
        min-height: 100vh;
        max-height: 100vh;
    }
}

@media screen and (min-width: 48rem) {
    .home .hero__section-wrapper {
        max-height: 900px;
    }
}

@media (max-height: 600px) {
    .page .hero__section-wrapper,
    .single .hero__section-wrapper,
    .archive .hero__section-wrapper,
    .search .hero__section-wrapper,
    .category .hero__section-wrapper,
    .tag .hero__section-wrapper {
        min-height: 250px;
        max-height: 400px;
    }
}

.hero__image-mobile {
    height: 100%;  
}

.hero__image {
    display: none;   
}

.hero__image-mobile img,
.hero__image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

.hero__image-mobile img {
    height: 100%;
    object-fit: cover;
}
.hero__entry {
    position: absolute;
    inset: 0;
}
.hero__logo-container {
    position: absolute;
    bottom: clamp(1.5rem, 5vw, 3rem);
    right: clamp(1.5rem, 5vw, 3rem);
    width: clamp(100px, 33vw, 200px);
    z-index: 10;
}
@keyframes reveal {
    0% {opacity: 0}
    100% {opacity:1}
    
}
.hero__subtitle {
    position: absolute;
    bottom: clamp(15vh, 30vh, 40vh);
    left: clamp(1rem, 3vw, 2rem);
    display: table;
    padding: clamp(0.75rem, 2vw, 1rem);
    opacity: 0;
    animation: reveal 1.5s ease-in-out 0.5s forwards;
    max-width: 90%;
    z-index: 10;
}

/* Adjust subtitle positioning for non-homepage heroes on mobile */
.page .hero__subtitle,
.single .hero__subtitle,
.archive .hero__subtitle,
.search .hero__subtitle,
.category .hero__subtitle,
.tag .hero__subtitle {
    bottom: clamp(1rem, 4vw, 2rem);
    left: clamp(1rem, 3vw, 1.5rem);
    padding: clamp(0.5rem, 1.5vw, 0.75rem);
}
.hero__subtitle::after {
    content: "";
    position: absolute;
    top: -20%;
    left: -20%;
    width: 140%;
    height: 140%;
    background-image: url('../img/hero-subtitle-background.svg');
    background-repeat: no-repeat;
    background-position: center left;
    background-size: contain;
    z-index: 9;
    opacity: 1;
    animation: reveal 1s ease-out 1s  forwards;
}
.hero__subtitle h1{
    position: relative;
    font-family: var(--b-heading-font);
    font-size: clamp(1.4rem, 6vw, 5rem);
    font-weight: 400;
    line-height: 120%;
    color: var(--b-light);
    text-shadow: var(--b-shadow);
    z-index: 10;
    margin: 0;
    opacity: 0;
    animation: reveal 1s ease-out 1s  forwards;
}

@media screen and (min-width: 48rem) {
    .hero__section-wrapper {
        max-height: 900px;
    }
    
    .hero__image {
        display: block;
        width: 100%;
        height: 100%;
    }
    
    .hero__image-mobile {
        display: none;
    }
    
    .hero__logo-container {
        position: absolute;
        bottom: clamp(2rem, 4vw, 3rem);
        right: clamp(2rem, 4vw, 3rem);
        width: clamp(150px, 18vw, 250px);
    }
    
    .hero__subtitle {
        max-width: 60vw;
        position: absolute;
        bottom: clamp(3rem, 6vw, 4rem);
        left: clamp(2rem, 4vw, 3rem);
        padding: clamp(2rem, 4vw, 3rem) 0;
    }
    
    .hero__subtitle::after {
        position: absolute;
        top: -5%;
        left: -40%;
        width: 160%;
        height: 120%;
        background-image: url('../img/hero-subtitle-background.svg');
        background-repeat: no-repeat;
        background-position: center center;
    }
    
    /* Adjust subtitle positioning for non-homepage heroes */
    .page .hero__subtitle,
    .single .hero__subtitle,
    .archive .hero__subtitle,
    .search .hero__subtitle,
    .category .hero__subtitle,
    .tag .hero__subtitle {
        bottom: clamp(1.5rem, 3vw, 2.5rem);
        left: clamp(1.5rem, 3vw, 2.5rem);
        padding: clamp(1rem, 2vw, 1.5rem) 0;
    }
}
@media screen and (min-width: 90rem) {
    .hero__subtitle {
        max-width: 60vw;
        position: absolute;
        bottom: 4rem;
        left: 3rem;
        padding: 3rem 0rem 3rem 0;
        
    }
    .hero__subtitle::after {
        top: -5%;
    }
}
/* Posts and pages
--------------------------------------------- */
.sticky {
	display: block;
}

.post,
.page {
	margin: 0;
}

.updated:not(.published) {
	display: none;
}

.page-content,
.entry-content,
.entry-summary {
	margin: 1.5em 0 0;
}

.page-links {
	clear: both;
	margin: 0 0 1.5em;
}
.site-main {
    padding-top: 4rem;
}
.page-wrapper {
	max-width: var(--b-site-width);
	margin: 0 auto;
	padding: var(--site-padding);
}
/* Tiles Section Styling */
.tile-container {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: var(--b-spacing-6);
    padding: var(--b-section-padding-y) 0;
}

.tile {
    display: flex;
    flex-direction: column;
    border-radius: var(--b-radius-lg);
    box-shadow: var(--b-shadow);
    overflow: hidden;
    background-color: var(--b-color-bg);
    transition: all var(--b-transition);
}

.tile:hover {
    transform: translateY(-4px);
    box-shadow: var(--b-shadow-lg);
}

.tile-img {
    width: 100%;
    height: 240px;
    overflow: hidden;
    background-color: var(--b-light-20);
}

.tile-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform var(--b-transition);
}

.tile:hover .tile-img img {
    transform: scale(1.05);
}

.tile-copy {
    padding: var(--b-spacing-5);
    flex: 1;
    display: flex;
    flex-direction: column;
}

.tile-copy h3 {
    margin-bottom: var(--b-spacing-3);
    color: var(--b-color-text);
}

.tile-copy p {
    margin-bottom: var(--b-spacing-4);
    color: var(--b-color-text);
    flex: 1;
}

.tile-copy a {
    display: inline-block;
    margin-top: auto;
}

@media (max-width: 48rem) {
    .tile-container {
        grid-template-columns: 1fr;
        gap: var(--b-spacing-6);
    }
}

.tiles__container {
    padding: var(--b-spacing-6);
    min-width: 0px;
    border-radius: var(--b-radius-lg);
    transition: all var(--b-transition);
}

.tiles__container:hover {
    box-shadow: var(--b-shadow-md);
}
.back-link {
    display: flex;
    justify-content: flex-end;
    padding-bottom: 3rem;
}
.page-template-page-bibic-news .tiles__container:nth-child(1n), .page-template-page-success .tiles__container:nth-child(1n), .page-template-page-events .tiles__container:nth-child(1n) {
    background-color: var(--b-pink-20);
}
.page-template-page-bibic-news .tiles__container:nth-child(2n), .page-template-page-success .tiles__container:nth-child(2n), .page-template-page-events .tiles__container:nth-child(5n+1) {
    background-color: var(--b-blue-20);
}
.page-template-page-bibic-news .tiles__container:nth-child(3n), .page-template-page-success .tiles__container:nth-child(3n), .page-template-page-events .tiles__container:nth-child(5n+2) {
    background-color: var(--b-yellow-20);
}
.page-template-page-bibic-news .tiles__container:nth-child(4n), .page-template-page-success .tiles__container:nth-child(4n), .page-template-page-events .tiles__container:nth-child(5n+3) {
    background-color: var(--b-jade-20);
}
.page-template-page-bibic-news .tiles__container:nth-child(5n), .page-template-page-success .tiles__container:nth-child(5n), .page-template-page-events .tiles__container:nth-child(5n+4) {
    background-color: var(--b-orange-20);
}
.page-template-page-bibic-news .archive__copy img, .page-template-page-success .archive__copy img, .page-template-page-events .archive__copy img {
    clip-path: url(#img-news-clip);
    width: 100%;
    height: 240px;
    object-fit: cover;
}
.page-template-page-bibic-news .archive__title, .page-template-page-success .archive__title {
    padding-top: 1rem;
}
.back-link {
    display: flex;
    justify-content: flex-end;
    padding-bottom: 3rem;
}
.back-button {
    margin-right: 3rem;
    padding-bottom: 3rem;
}
/* Intro Copy & Image Styling
--------------------------------------------- */
.imgcopy__container {
    display: grid;
}
.imgcopy__img-container {
	position: relative;
}

.imgcopy__image-container {
    width: 100%;
}
.imgcopy__image-container img {
    clip-path: url(#imgclip);
    width: 100%;
    height: 100%;
    object-fit: cover;
}
@media (min-width: 48em) {
    .imgcopy__container {
        grid-template-columns: 2fr 3fr;
        gap: var(--b-gap);
    }   
}
/* Archives
--------------------------------------------- */
.archive .page-header {
    padding-top: 6rem;
}
.archive .page-wrapper {
    padding-bottom: 3rem;
}
.archive__wrapper {
    display: grid;
    gap: var(--b-gap);
    padding-top: 3rem;;
}
.archive__title {
    margin: 0;
    padding: 0 0 1rem 0;
    word-break: break-word;
}
.archive__category-list {
    list-style: none;
    margin: 0;
    padding: 0;
}
.archive__category-list a {
    text-decoration: none;
    text-align: center;
    display: block;
    padding: var(--b-spacing-4) var(--b-spacing-6);
    border-radius: var(--b-radius);
    background-color: var(--b-orange);
    color: var(--b-button-text);
    transition: all var(--b-transition);
    margin-bottom: var(--b-spacing-4);
    font-weight: 600;
    letter-spacing: 1px;
    min-height: 44px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.archive__category-list a:hover {
    background-color: var(--b-orange-lt);
    color: var(--b-button-text);
    box-shadow: var(--b-shadow-md);
    transform: translateY(-2px);
}

.archive__category-list a:focus {
    outline: 2px solid var(--b-color-primary);
    outline-offset: 2px;
}
.archive__post-container {
    width: 100%;
    box-shadow: var(--b-shadow);
    border-radius: var(--b-radius-xl);
    background-color: var(--b-orange-20);
    margin-bottom: var(--b-spacing-6);
    transition: all var(--b-transition);
    overflow: hidden;
}

.archive__post-container:hover {
    transform: translateY(-4px);
    box-shadow: var(--b-shadow-lg);
}

.archive__team-portrait {
    width: 100%;
    height: 100%;
    border-radius: var(--b-radius-xl) var(--b-radius-xl) 0 0;
    object-fit: cover;
    transition: transform var(--b-transition);
}

.archive__post-container:hover .archive__team-portrait {
    transform: scale(1.05);
}
.archive__name-details {
    margin: 1rem 0 0 0;
    text-align: center;
}
.archive__copy {
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}
.archive__details h1 {
    font-size: var(--step-2);
    margin: 0;
}
.archive__details h2,.archive__name-details h2 {
    font-size: var(--step-2);
    margin: 0;
    padding: 0 1rem;
}
.archive__dur {
    font-weight: normal;
    font-size: var(--step-1);
    margin-bottom: 0.5rem;
}
.archive__button {
    width: 100%;
    display: flex;
    justify-content: center;
}
.archive__name-details h3 {
    font-family: var(--b-copy-font);
    font-size: var(--step--0);
    font-weight: bold;
    margin: 0;
    padding: 1rem 0;
}
.archive__name-details p {
    font-family: var(--b-copy-font);
    font-size: var(--step-1);
    padding: 0 1rem 0.5rem 1rem;
}
.archive__details h2.archive__fee {
    font-family: var(--b-copy-font);
    font-size: var(--step-1);
    font-weight: normal;
    margin-top: 0.5rem;
    padding:0;
}
@media screen and (min-width: 40rem) {
    .archive__wrapper {
        display: grid;
        gap: var(--b-gap);
        grid-template-columns: repeat(2, 1fr);
    }
    .archive__details h1 {
        font-size: var(--step-3);
    }
}
@media screen and (min-width: 48rem) {
    .archive__category-list {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        gap: 1rem;
    }
    .archive__category-list li {
        flex: 1 0 auto;
    }
    .archive__post-container {
        margin-bottom: 0;
    }
    .archive__service-container {
        /* flex: 1 0 400px; */
        margin-bottom: 0;
    }
    .archive__img-container {
        height: 300px;
    }
    .archive__name-details {
        padding-bottom: 0;
    }
}
@media screen and (min-width: 80rem) {
    .archive__wrapper {
        grid-template-columns: repeat(3, 1fr);
    }
}
/* Challenges Specific Styling
--------------------------------------------- */
.page-template-page-events .archive__dur {
    display: none;
}
/* Columns
--------------------------------------------- */
.columns__container {
	display: grid;
	grid-template-columns: repeat(1,1fr);
	gap: var(--b-gap);
    padding-bottom: var(--b-padding-b);
}
.columns__column {
    position: relative;
    display: flex;
    flex-direction: column;
	border-radius: 20px;
	box-shadow: var(--b-shadow);
	padding: 0 2rem;
	/* background-image: url(../img/bibic-brain-watermark.svg); */
	background-repeat: no-repeat;
	background-size: 40%;
	background-position: center bottom;
}
.columns__link {
    display: flex;
    height: 100%;
    justify-content: center;
    align-items: flex-end;
}
.columns__button {
	margin-bottom: 2rem;
}
.columns__column:nth-child(1n) {
	background-color: var(--b-orange-25);
}
.columns__column:nth-child(2n) {
	background-color: var(--b-yellow-25);
}
.columns__column:nth-child(3n) {
	background-color: var(--b-orange-25);
}
@media screen and (min-width: 769px) {
	.columns__container {
		grid-template-columns: repeat(3,1fr);
	}
}
/* Icon Boxes
--------------------------------------------- */
.icon__box-ribbon {
    padding-top: var(--b-section-padding-y);
    padding-bottom: var(--b-section-padding-y);
}

.icon__box-wrapper {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: var(--b-spacing-8);
}

.icon__box-container {
    display: flex;
    flex-direction: column;
    padding: var(--b-spacing-6);
    border-radius: var(--b-radius-lg);
    box-shadow: var(--b-shadow);
    transition: all var(--b-transition);
    background-color: var(--b-color-bg);
}

.icon__box-container:hover {
    transform: translateY(-4px);
    box-shadow: var(--b-shadow-lg);
}

.icon__box-image {
    margin-bottom: var(--b-spacing-4);
    display: flex;
    align-items: center;
    justify-content: center;
}

.icon__box-image img {
    max-width: 100%;
    height: auto;
}

.icon__box-copy {
    flex: 1;
    display: flex;
    flex-direction: column;
}

.icon__box-headings {
    margin-bottom: var(--b-spacing-3);
    color: var(--b-color-text);
}

.icon__box-description {
    margin-bottom: var(--b-spacing-4);
    color: var(--b-color-text);
}

.icon__box-link a {
    color: var(--b-color-link);
    font-weight: 600;
    text-decoration: underline;
    transition: color var(--b-transition);
}

.icon__box-link a:hover,
.icon__box-link a:focus {
    color: var(--b-color-link-hover);
}

@media (max-width: 48rem) {
    .icon__box-wrapper {
        grid-template-columns: 1fr;
        gap: var(--b-spacing-6);
    }
}
/* Cta Ribbon
--------------------------------------------- */

.background-highlight {
    background-color: var(--b-orange-20);
    background-image: url('../img/bibic-brain-watermark.svg');
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    padding-bottom: 8rem;
    margin-bottom: -5rem;
}
.cta__wrapper {
    margin-top: 3rem;
}
.cta__text-wrapper {
    width: 66%;
    margin: 0 auto;
}
.cta__text {
    font-size: var(--step-5);
    text-align: center;
    margin-bottom: 0rem;
    font-family: var(--b-heading-font);
    letter-spacing: 4px;
}
.cta__sub-text {
    font-size: var(--step-2);
    text-align: center;
    margin-top: 0;
}
.cta__buttons {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: var(--b-spacing-4);
    margin-top: var(--b-spacing-6);
}

.cta__button-link {
    display: block;
    width: 100%;
    transition: transform var(--b-transition);
}

.cta__button-link:hover {
    transform: translateY(-2px);
}

.cta__button-link:focus {
    outline: 2px solid var(--b-color-primary);
    outline-offset: 3px;
    border-radius: var(--b-radius);
}

.cta__button {
    display: block;
    width: 100%;
    text-align: center;
    color: var(--b-button-text);
}

@media screen and (min-width: 48rem) {
    .cta__buttons {
        flex-direction: row;
        gap: var(--b-spacing-6);
    }
    .cta__button-link {
        flex: 1 0 auto;
        min-width: 240px;
        max-width: 300px;
    }
}

/* Team Members Styling
--------------------------------------------- */
.team__member-wrapper {
    padding-top: 5rem;
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--b-gap);
}
/* .team__portrait-container {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
}
.team__portrait-img-container {
	position: relative;
} */

.team__portrait-img-container {
    width: 100%;
    height: 100%;
    
    margin-bottom: 2rem;
}
.team__portrait {
    height: 100%;
    width: 100%;
    object-fit: cover;
    clip-path: url(#clip);
}
.team__name-details h1, .team__name-details h2 {
    margin: 0;
}
@media screen and (min-width: 48rem) { 
    .team__member-wrapper {
        grid-template-columns: 2fr 3fr;
    }
    .team__portrait-img-container {
        max-height: 600px;
    }
}
/* Services Styling
--------------------------------------------- */

/* Tour Page Styling
--------------------------------------------- */
#content {
    position: relative;
    z-index: 998;
}
.page-template-page-tour {
    	background-color: var(--b-orange);
}

.tour-360 {
    display: none;
}
.mobile-360 {
    display:block;
	margin-top: 6rem;
    padding: 4rem 2rem;
	background-color: var(--b-light);
	background-image: url('https://bibic.org.uk/wp-content/uploads/2024/08/Screenshot-2024-08-03-at-11.16.47.jpg');
	background-size: 100% 100%;
	background-repeat: none;
    
	a {
		display: block;
		text-align: center;
		padding-inline: 2rem;
		
	}
}

@media (width > 1023px) {
	.menu-background {
    background-color: var(--b-orange);
    min-height: 118px;
	}
    .tour-360 {
		display: initial;
        position: relative;
        z-index: 998;
        width: 100%;
        aspect-ratio: 21 / 9;
        border: none;
    }
    .mobile-360 {
        display: none;
	}
}


/* FAQ's Styling
--------------------------------------------- */
.question {
    margin-bottom: var(--b-spacing-4);
}

.accordion {
    border-radius: var(--b-radius-xl);
    box-shadow: var(--b-shadow);
    padding: var(--b-spacing-4) var(--b-spacing-5);
    margin-top: var(--b-spacing-6);
    cursor: pointer;
    transition: all var(--b-transition);
    border: 2px solid transparent;
    position: relative;
}

.accordion:hover {
    box-shadow: var(--b-shadow-md);
    transform: translateY(-1px);
}

.accordion:focus {
    outline: 2px solid var(--b-color-primary);
    outline-offset: 2px;
    border-color: var(--b-color-primary);
}

.accordion:active {
    transform: translateY(0);
}

.question:nth-child(5n+1) > .accordion {
    background-color: var(--b-pink-20);
}

.question:nth-child(5n+2) > .accordion {
    background-color: var(--b-blue-20);
}

.question:nth-child(5n+3) > .accordion {
    background-color: var(--b-yellow-20);
}

.question:nth-child(5n+4) > .accordion {
    background-color: var(--b-jade-20);
}

.question:nth-child(5n+5) > .accordion {
    background-color: var(--b-orange-20);
}

.question h4 {
    margin: 0;
    font-family: var(--b-copy-font);
    font-weight: 600;
    color: var(--b-color-text);
    padding-right: var(--b-spacing-8);
    position: relative;
}

.question h4::after {
    content: "Ã¢â€“Â¼";
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%) rotate(0deg);
    transition: transform var(--b-transition);
    font-size: 0.75em;
    color: var(--b-color-text);
}

.question.expanded h4::after {
    transform: translateY(-50%) rotate(180deg);
}

.answer {
    max-height: 0;
    overflow: hidden;
    transition: max-height var(--b-transition-slow), padding var(--b-transition);
    padding: 0 var(--b-spacing-5);
}

.question.expanded .answer {
    max-height: 5000px;
    padding: var(--b-spacing-4) var(--b-spacing-5) var(--b-spacing-5);
}

.answer p {
    margin-top: 0;
    margin-bottom: var(--b-spacing-4);
    color: var(--b-color-text);
}

.answer p:last-child {
    margin-bottom: 0;
}

.link {
    display: flex;
    justify-content: flex-end;
    margin-top: var(--b-spacing-4);
}
/* Comments
--------------------------------------------- */
.comment-content a {
	word-wrap: break-word;
}

.bypostauthor {
	display: block;
}

/* Widgets
--------------------------------------------- */
.widget {
	margin: 0 0 1.5em;
}

.widget select {
	max-width: 100%;
}

/* Media
--------------------------------------------- */
.page-content .wp-smiley,
.entry-content .wp-smiley,
.comment-content .wp-smiley {
	border: none;
	margin-bottom: 0;
	margin-top: 0;
	padding: 0;
}

/* Make sure logo link wraps around logo image. */
.custom-logo-link {
	display: inline-block;
}
/* Custom Gutenberg Media Styling */
.imgblob__portrait-image-container img {
    clip-path: url(#imgportraitclip);
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.imgblob__landscape-image-container img {
    clip-path: url(#imglandscapeclip);
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.color-infill{
    width: 100%;
    box-shadow: var(--b-shadow);
    border-radius: 20px;
    background-color: var(--b-orange-20);
    margin-bottom: 2rem;
    padding: 0 2rem;
}
.wp-block-cover {
    border-radius: 20px;
    overflow: hidden;
}
/* Captions
--------------------------------------------- */
.wp-caption {
	margin-bottom: 1.5em;
	max-width: 100%;
}

.wp-caption img[class*="wp-image-"] {
	display: block;
	margin-left: auto;
	margin-right: auto;
}

.wp-caption .wp-caption-text {
	margin: 0.8075em 0;
}

.wp-caption-text {
	text-align: center;
}

/* Galleries
--------------------------------------------- */
.gallery {
	margin-bottom: 1.5em;
	display: grid;
	grid-gap: 1.5em;
}

.gallery-item {
	display: inline-block;
	text-align: center;
	width: 100%;
}

.gallery-columns-2 {
	grid-template-columns: repeat(2, 1fr);
}

.gallery-columns-3 {
	grid-template-columns: repeat(3, 1fr);
}

.gallery-columns-4 {
	grid-template-columns: repeat(4, 1fr);
}

.gallery-columns-5 {
	grid-template-columns: repeat(5, 1fr);
}

.gallery-columns-6 {
	grid-template-columns: repeat(6, 1fr);
}

.gallery-columns-7 {
	grid-template-columns: repeat(7, 1fr);
}

.gallery-columns-8 {
	grid-template-columns: repeat(8, 1fr);
}

.gallery-columns-9 {
	grid-template-columns: repeat(9, 1fr);
}

.gallery-caption {
	display: block;
}
/*--------------------------------------------------------------
# Plugins
--------------------------------------------------------------*/
/*--------------------------------------------------------------
# Footer
--------------------------------------------------------------*/
.footer-curve {
    display: block;
}
#footer {
    position: relative;
    z-index: 1;
}
#footer li{
    list-style: none;
    background: none;
    padding-left: 0;
}
.footer__content {
	background-color: var(--b-orange);
	padding: 1rem 0;
    position: relative;
    isolation: isolate;
}
/* .footer__content::before {
    content: "";
    position: absolute;
    top: -259px;
    left: 0;
    right: 0;
    width: 100%;
    height: 260px;
    background-image: url('../img/bibic-curved-section-small-top.svg');
    background-size: 100% 100%;
    background-position: center bottom;
    background-repeat: no-repeat;
} */
.footer__content a {
	color: var(--b-light);
}
.footer__top-bar {
	display: grid;
	grid-template-columns: repeat(1, 1fr);
}
@media screen and (min-width: 769px) {
	.footer__top-bar {
		grid-template-columns: repeat(3, 1fr);
		gap: 4vw;
	}
	
}
.footer__socials {
    align-self: end;
}
.footer__social-accounts-list {
	list-style: none;
    width: 100%;
	display: flex;
	justify-content: space-between;
    gap: 1rem;
	margin: 0;
	padding: 2rem 0;

}
@media screen and (min-width: 48rem) {
    .footer__social-accounts-list {
        padding: 0 0;
        justify-content: flex-end;
    }
    
}
li.footer__social-accounts-item {
    align-self: end;
	display: grid;
	place-items: center;
    padding-left: 0;
}
.footer__social-accounts-link {
	display: block;
	max-width: 40px;
}
.footer__social-accounts-img {
	width: 100%;
	height: auto;
	transition: var(--transitions);
	opacity: 0.8;
}
.footer__social-accounts-img:hover {
	opacity: 1;
}
.footer__copyright {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	text-align: center;
}
.footer__logo {
	width: 80px;
	height: auto;
}
.footer__address {
	padding-top: 1rem;
	text-align: center;
    align-self: end;
}
.footer__address p{
	margin: 0;
}
.footer__menu-ul {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
    align-items: center;
	list-style: none;
	text-decoration: none;
	gap: 2rem;
	margin: 0;
	padding: 0;
}
@media screen and (min-width: 769px) {
	.footer__menu-ul {
		flex-direction: row;
	}
	.footer__menu-ul li {
		flex: 1 0;
		list-style: none;
		text-align: center;
        padding: 0;
	}
    .footer__menu-ul li:first-child {
		flex: 1 0;
		list-style: none;
		text-align: left;
	}
    .footer__menu-ul li:last-child {
		flex: 1 0;
		list-style: none;
		text-align: right;
	}
}

.footer__menu-ul li a {
	color: var(--b-light);
	text-decoration: none;
	transition: var(--transitions);
}
.footer__menu-ul li a:hover {
	color: var(--b-slate);
}
.footer__credits {
	text-align: center;
}
/*--------------------------------------------------------------
# Plugins
--------------------------------------------------------------*/

/* Jetpack infinite scroll
--------------------------------------------- */

/* Hide the Posts Navigation and the Footer when Infinite Scroll is in use. */
.infinite-scroll .posts-navigation,
.infinite-scroll.neverending .site-footer {
	display: none;
}

/* Re-display the Theme Footer when Infinite Scroll has reached its end. */
.infinity-end.neverending .site-footer {
	display: block;
}

/*--------------------------------------------------------------
# Utilities
--------------------------------------------------------------*/
.spacer {
    height: 3rem;
}
.fancy {
    width: 100%;
    box-shadow: var(--b-shadow);
    border-radius: 20px;
    background-color: var(--b-orange-20);
    padding: 0 2rem;
    margin-bottom: 2rem;
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
}
.fancy p {
    margin-top: 0;
    
}
.fancy a {
    margin-top: auto;
    align-self: center;
    padding-bottom: 2rem;
}
.fancy a button p {
    margin-bottom: 0;
}.fancy {
    width: 100%;
    box-shadow: var(--b-shadow);
    border-radius: 20px;
    background-color: var(--b-orange-20);
    padding: 0 2rem;
    margin-bottom: 2rem;
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
}
.fancy p {
    margin-top: 0;
    
}
.fancy a {
    margin-top: auto;
    align-self: center;
    padding-bottom: 2rem;
}
.fancy a button p {
    margin-bottom: 0;
}
.no-nav-pointer {
    cursor: default;
}
/* Accessibility
--------------------------------------------- */

/* Text meant only for screen readers. */
.screen-reader-text {
	border: 0;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute !important;
	width: 1px;
	word-wrap: normal !important;
}

.screen-reader-text:focus {
	background-color: #f1f1f1;
	border-radius: 3px;
	box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
	clip: auto !important;
	clip-path: none;
	color: #21759b;
	display: block;
	font-size: 0.875rem;
	font-weight: 700;
	height: auto;
	left: 5px;
	line-height: normal;
	padding: 15px 23px 14px;
	text-decoration: none;
	top: 5px;
	width: auto;
	z-index: 100000;
}

/* Do not show the outline on the skip link target. */
#primary[tabindex="-1"]:focus {
	outline: 0;
}

/* Alignments
--------------------------------------------- */
.alignleft {

	/*rtl:ignore*/
	float: left;

	/*rtl:ignore*/
	margin-right: 1.5em;
	margin-bottom: 1.5em;
}

.alignright {

	/*rtl:ignore*/
	float: right;

	/*rtl:ignore*/
	margin-left: 1.5em;
	margin-bottom: 1.5em;
}

.aligncenter {
	clear: both;
	display: block;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 1.5em;
}
/* Mailchimp Forms */
#mc_embed_signup {
    font-family: var(--b-copy-font) !important;
  }
  .mc-field-group label {
    display: block;
    min-width: 240px !important;
    padding: 0.5rem 0;
  }
  #mc_embed_signup .button {
    background-color: transparent!important;
    font-size: var(--step-1) !important;
    line-height: 100% !important;
    height: inherit !important;
    padding: 1rem !important;
}

/* Contact Form 7 - Contact Section */
.wpcf7 {
	max-width: 600px;
	margin: 0 auto;
}

.wpcf7-form {
	text-align: center;
}

/* Center submit button */
.wpcf7-submit {
	display: block;
	margin: 1.5rem auto 0;
}

/* Keep form fields left-aligned, but center submit button wrapper */
.wpcf7-form p {
	text-align: left;
}

.wpcf7-form p.submit,
.wpcf7-form p:has(.wpcf7-submit) {
	text-align: center;
}

/* Gravity Forms - Contact Section */
.gform_wrapper {
	max-width: 600px;
	margin: 0 auto;
}

.gform_footer {
	text-align: center;
}

.gform_button {
	display: block;
	margin: 1.5rem auto 0;
}

/* Text & Image Block
--------------------------------------------- */
.text-image-block {
	display: flex;
	flex-direction: column;
	gap: var(--b-gap);
	padding: var(--b-padding-b) 0;
	margin-bottom: var(--b-spacing-8);
}

.text-image-block__image {
	width: 100%;
	min-width: 0;
	max-width: 100%;
}

.text-image-block__image img {
	width: 100%;
	height: auto;
	display: block;
	border-radius: var(--b-radius-lg);
}

.text-image-block.image-shape-blob .text-image-block__image img {
	clip-path: url(#imgportraitclip);
}

.text-image-block__content {
	display: flex;
	flex-direction: column;
	gap: var(--b-spacing-4);
	min-width: 0;
	max-width: 100%;
}

.text-image-block__title {
	margin: 0;
}

.text-image-block__text {
	margin: 0;
}

.text-image-block__text p {
	margin: 0;
	margin-bottom: var(--b-spacing-4);
}

.text-image-block__text p:last-child {
	margin-bottom: 0;
}

.text-image-block__buttons {
	display: flex;
	flex-wrap: wrap;
	gap: var(--b-spacing-4);
	margin: 0;
}

.text-image-block__button {
	margin: 0;
}

/* Layout: Image Left/Right */
@media screen and (min-width: 769px) {
	.text-image-block {
		flex-direction: row;
		align-items: center;
		gap: var(--b-gap);
	}

	.text-image-block.image-right {
		flex-direction: row-reverse;
	}

	/* Proportion: 50-50 */
	.text-image-block.proportion-50-50 .text-image-block__image,
	.text-image-block.proportion-50-50 .text-image-block__content {
		flex: 1 1 50%;
		min-width: 0;
		max-width: 50%;
	}

	/* Proportion: 30-70 */
	.text-image-block.proportion-30-70.image-left .text-image-block__image,
	.text-image-block.proportion-70-30.image-right .text-image-block__content {
		flex: 1 1 30%;
		min-width: 0;
		max-width: 30%;
	}
	.text-image-block.proportion-30-70.image-left .text-image-block__content,
	.text-image-block.proportion-70-30.image-right .text-image-block__image {
		flex: 1 1 70%;
		min-width: 0;
		max-width: 70%;
	}

	/* Proportion: 70-30 */
	.text-image-block.proportion-70-30.image-left .text-image-block__image,
	.text-image-block.proportion-70-30.image-right .text-image-block__content {
		flex: 1 1 70%;
		min-width: 0;
		max-width: 70%;
	}
	.text-image-block.proportion-70-30.image-left .text-image-block__content,
	.text-image-block.proportion-70-30.image-right .text-image-block__image {
		flex: 1 1 30%;
		min-width: 0;
		max-width: 30%;
	}

	/* Proportion: 40-60 */
	.text-image-block.proportion-40-60.image-left .text-image-block__image,
	.text-image-block.proportion-60-40.image-right .text-image-block__content {
		flex: 1 1 40%;
		min-width: 0;
		max-width: 40%;
	}
	.text-image-block.proportion-40-60.image-left .text-image-block__content,
	.text-image-block.proportion-60-40.image-right .text-image-block__image {
		flex: 1 1 60%;
		min-width: 0;
		max-width: 60%;
	}

	/* Proportion: 60-40 */
	.text-image-block.proportion-60-40.image-left .text-image-block__image,
	.text-image-block.proportion-60-40.image-right .text-image-block__content {
		flex: 1 1 60%;
		min-width: 0;
		max-width: 60%;
	}
	.text-image-block.proportion-60-40.image-left .text-image-block__content,
	.text-image-block.proportion-60-40.image-right .text-image-block__image {
		flex: 1 1 40%;
		min-width: 0;
		max-width: 40%;
	}
}


/* Text & Video Block */
.text-video-block {
	display: flex;
	flex-direction: column;
	gap: var(--b-gap);
	padding: var(--b-padding-b) 0;
	margin-bottom: var(--b-spacing-8);
}

.text-video-block__video {
	width: 100%;
	min-width: 0;
	max-width: 100%;
}

.text-video-block__video-wrapper {
	position: relative;
	padding-bottom: 56.25%; /* 16:9 aspect ratio */
	height: 0;
	overflow: hidden;
	border-radius: var(--b-radius-lg);
}

.text-video-block__video-wrapper iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	border: 0;
}

.text-video-block__video-description {
	margin-top: var(--b-spacing-3);
	font-size: 0.875rem;
	line-height: 1.5;
	color: var(--b-color-text);
	opacity: 0.85;
}

.text-video-block__video-description p {
	margin-top: 0;
	margin-bottom: var(--b-spacing-2);
}

.text-video-block__video-description p:last-child {
	margin-bottom: 0;
}

.text-video-block__content {
	display: flex;
	flex-direction: column;
	gap: var(--b-spacing-4);
	min-width: 0;
	max-width: 100%;
}

.text-video-block__title {
	margin: 0;
}

.text-video-block__text {
	margin: 0;
}

.text-video-block__text p {
	margin: 0;
	margin-bottom: var(--b-spacing-4);
}

.text-video-block__text p:last-child {
	margin-bottom: 0;
}

.text-video-block__buttons {
	display: flex;
	flex-wrap: wrap;
	gap: var(--b-spacing-4);
	margin: 0;
}

.text-video-block__button {
	margin: 0;
}

/* Layout: Video Left/Right */
@media screen and (min-width: 769px) {
	.text-video-block {
		flex-direction: row;
		align-items: center;
		gap: var(--b-gap);
	}

	.text-video-block.video-right {
		flex-direction: row-reverse;
	}

	/* Proportion: 50-50 */
	.text-video-block.proportion-50-50 .text-video-block__video,
	.text-video-block.proportion-50-50 .text-video-block__content {
		flex: 1 1 50%;
		min-width: 0;
		max-width: 50%;
	}

	/* Proportion: 30-70 */
	.text-video-block.proportion-30-70.video-left .text-video-block__video,
	.text-video-block.proportion-70-30.video-right .text-video-block__content {
		flex: 1 1 30%;
		min-width: 0;
		max-width: 30%;
	}
	.text-video-block.proportion-30-70.video-left .text-video-block__content,
	.text-video-block.proportion-70-30.video-right .text-video-block__video {
		flex: 1 1 70%;
		min-width: 0;
		max-width: 70%;
	}

	/* Proportion: 70-30 */
	.text-video-block.proportion-70-30.video-left .text-video-block__video,
	.text-video-block.proportion-70-30.video-right .text-video-block__content {
		flex: 1 1 70%;
		min-width: 0;
		max-width: 70%;
	}
	.text-video-block.proportion-70-30.video-left .text-video-block__content,
	.text-video-block.proportion-70-30.video-right .text-video-block__video {
		flex: 1 1 30%;
		min-width: 0;
		max-width: 30%;
	}

	/* Proportion: 40-60 */
	.text-video-block.proportion-40-60.video-left .text-video-block__video,
	.text-video-block.proportion-60-40.video-right .text-video-block__content {
		flex: 1 1 40%;
		min-width: 0;
		max-width: 40%;
	}
	.text-video-block.proportion-40-60.video-left .text-video-block__content,
	.text-video-block.proportion-60-40.video-right .text-video-block__video {
		flex: 1 1 60%;
		min-width: 0;
		max-width: 60%;
	}

	/* Proportion: 60-40 */
	.text-video-block.proportion-60-40.video-left .text-video-block__video,
	.text-video-block.proportion-60-40.video-right .text-video-block__content {
		flex: 1 1 60%;
		min-width: 0;
		max-width: 60%;
	}
	.text-video-block.proportion-60-40.video-left .text-video-block__content,
	.text-video-block.proportion-60-40.video-right .text-video-block__video {
		flex: 1 1 40%;
		min-width: 0;
		max-width: 40%;
	}
}


/* Logo Carousel
--------------------------------------------- */
.logo-carousel {
	width: 100%;
}

.logo-carousel__container {
	padding: var(--b-spacing-5) var(--b-spacing-4);
}

.logo-carousel__wrapper {
	width: 100%;
	overflow: hidden;
	position: relative;
}

.logo-carousel__track {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-wrap: wrap;
	gap: var(--b-spacing-6);
	width: 100%;
}

/* Static mode - centered logos */
.logo-carousel__track:not(.is-marquee) {
	justify-content: center;
}

/* Marquee mode - scrolling */
.logo-carousel__wrapper.is-marquee {
	overflow: hidden;
}

.logo-carousel__track.is-marquee {
	justify-content: flex-start;
	flex-wrap: nowrap;
	animation: logo-marquee 30s linear infinite;
	will-change: transform;
}

.logo-carousel__track.is-marquee:hover {
	animation-play-state: paused;
}

.logo-carousel__item {
	flex: 0 0 auto;
	display: flex;
	align-items: center;
	justify-content: center;
	max-width: 200px;
	min-width: 100px;
	height: auto;
}

.logo-carousel__link {
	display: block;
	width: 100%;
	height: 100%;
	text-decoration: none;
	transition: opacity var(--b-transition);
}

.logo-carousel__link:hover {
	opacity: 0.8;
}

.logo-carousel__image-wrapper {
	display: block;
	width: 100%;
	height: 100%;
}

.logo-carousel__image {
	width: 100%;
	height: auto;
	max-width: 200px;
	max-height: 100px;
	object-fit: contain;
	filter: grayscale(100%);
	opacity: 0.7;
	transition: filter var(--b-transition), opacity var(--b-transition);
}

.logo-carousel__link:hover .logo-carousel__image,
.logo-carousel__item:hover .logo-carousel__image {
	filter: grayscale(0%);
	opacity: 1;
}

/* Marquee animation */
@keyframes logo-marquee {
	0% {
		transform: translateX(0);
	}
	100% {
		transform: translateX(-50%);
	}
}

/* Responsive adjustments */
@media screen and (max-width: 768px) {
	.logo-carousel__container {
		padding: var(--b-spacing-4) var(--b-spacing-3);
	}

	.logo-carousel__track {
		gap: var(--b-spacing-4);
	}

	.logo-carousel__item {
		max-width: 150px;
		min-width: 80px;
	}

	.logo-carousel__image {
		max-width: 150px;
		max-height: 80px;
	}

	.logo-carousel__track.is-marquee {
		animation-duration: 25s;
	}
}

@media screen and (max-width: 480px) {
	.logo-carousel__track {
		gap: var(--b-spacing-3);
	}

	.logo-carousel__item {
		max-width: 120px;
		min-width: 60px;
	}

	.logo-carousel__image {
		max-width: 120px;
		max-height: 60px;
	}

	.logo-carousel__track.is-marquee {
		animation-duration: 20s;
	}
}

/* Contact Section / Where to Find Us Block Styling
--------------------------------------------- */
.contact-section {
	padding: var(--b-section-padding-y) 0;
}

.route-container {
	display: flex;
	flex-direction: column;
	gap: var(--b-gap);
}

.route-details {
	width: 100%;
}

.repeater-wrapper {
	width: 100%;
}

.repeater-container {
	display: grid;
	grid-template-columns: 1fr;
	gap: var(--b-gap);
	align-items: start;
}

.repeater-image {
	width: 100%;
}

.repeater-image.contact-map {
	display: flex;
	flex-direction: column;
	gap: var(--b-spacing-4);
}

.repeater-detail {
	margin-bottom: var(--b-spacing-4);
}

.repeater-headings {
	font-family: var(--b-heading-font);
	font-size: var(--b-font-size-xl);
	color: var(--b-color-text);
	margin: 0 0 var(--b-spacing-4) 0;
}

.repeater-description {
	font-family: var(--b-copy-font);
	font-size: var(--b-font-size-base);
	color: var(--b-color-text);
	line-height: var(--b-line-height-relaxed);
}

.repeater-description p {
	margin-bottom: var(--b-spacing-4);
}

.repeater-description p:last-child {
	margin-bottom: 0;
}

.map-wrapper {
	width: 100%;
	position: relative;
	border-radius: var(--b-radius-lg);
	overflow: hidden;
	box-shadow: var(--b-shadow);
}

.map-wrapper iframe {
	width: 100%;
	height: 400px;
	border: 0;
	display: block;
}

.repeater-copy {
	display: flex;
	flex-direction: column;
	gap: var(--b-spacing-6);
}

.repeater-copy-full {
	width: 100%;
	margin-top: var(--b-spacing-8);
}

.padding-t {
	padding-top: var(--b-spacing-6);
}

@media screen and (min-width: 48rem) {
	.repeater-container {
		grid-template-columns: 1fr 1fr;
		gap: var(--b-spacing-8);
	}
	
	.map-wrapper iframe {
		height: 500px;
	}
	
	.repeater-headings {
		font-size: var(--b-font-size-2xl);
	}
}

@media screen and (min-width: 80rem) {
	.repeater-container {
		gap: var(--b-spacing-12);
	}
	
	.map-wrapper iframe {
		height: 600px;
	}
}