/*!
Theme Name: Dr. Shannon Barnsley
Theme URI: https://ayrform.com/
Author: AYR Form
Author URI: https://ayrform.com/
Description: Description
Version: 1.6.0
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: ayr

Normalizing styles have been helped along thanks to the fine work of
Nicolas Gallagher and Jonathan Neal https://necolas.github.io/normalize.css/
*/

/*--------------------------------------------------------------
>>> TABLE OF CONTENTS:
----------------------------------------------------------------
# Normalize
# Typography
# Elements
# Forms
# Navigation
	## Links
	## Menus
# Accessibility
# Alignments
# Content
	## Posts and pages
# Media
	## Captions
# Bootstrap
# Reusable Styles
# Plugins
# Overrides
--------------------------------------------------------------*/

/* expose horizontal scroll and stray objects
* {
  border: 1px solid #f00 !important;
}
*/

*:focus { box-shadow: none !important; }

/* sans-serif */

/* latin-ext */
@font-face {
  font-family: 'Merriweather Sans';
  font-style: italic;
  font-weight: 300 800;
  src: url(assets/fonts/merriweathersans28/2-c79IRs1JiJN1FRAMjTN5zd9vgsFHXwcjnj9zlcxZKhaw.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Merriweather Sans';
  font-style: italic;
  font-weight: 300 800;
  src: url(assets/fonts/merriweathersans28/2-c79IRs1JiJN1FRAMjTN5zd9vgsFHXwcjfj9zlcxZI.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'Merriweather Sans';
  font-style: normal;
  font-weight: 300 800;
  src: url(assets/fonts/merriweathersans28/2-c99IRs1JiJN1FRAMjTN5zd9vgsFHX7QjXp8Bte9ZM.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Merriweather Sans';
  font-style: normal;
  font-weight: 300 800;
  src: url(assets/fonts/merriweathersans28/2-c99IRs1JiJN1FRAMjTN5zd9vgsFHX1QjXp8Bte.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* serif */

/* latin-ext */
@font-face {
  font-family: 'Merriweather';
  font-style: italic;
  font-weight: 300 900;
  font-stretch: 100%;
  src: url(assets/fonts/merriweather33/u-4r0qyriQwlOrhSvowK_l5-eTxCVw8XP0LuKH2Gy9thmLXCJbONwl7r.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Merriweather';
  font-style: italic;
  font-weight: 300 900;
  font-stretch: 100%;
  src: url(assets/fonts/merriweather33/u-4r0qyriQwlOrhSvowK_l5-eTxCVw8XP0LuKH2Gy9thlrXCJbONwg.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'Merriweather';
  font-style: normal;
  font-weight: 300 900;
  font-stretch: 100%;
  src: url(assets/fonts/merriweather33/u-4t0qyriQwlOrhSvowK_l5UcA6ht3ZEqezpPbXEE5BRlL_FB7G9ww.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Merriweather';
  font-style: normal;
  font-weight: 300 900;
  font-stretch: 100%;
  src: url(assets/fonts/merriweather33/u-4t0qyriQwlOrhSvowK_l5UcA6ht3ZEqezpPbXEE55RlL_FB7E.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* cursive */

/* latin-ext */
@font-face {
  font-family: 'Dancing Script';
  font-style: normal;
  font-weight: 400 700;
  src: url(assets/fonts/dancingscript29/If2RXTr6YS-zF4S-kcSWSVi_szLuiuEHiC4Wl-8.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Dancing Script';
  font-style: normal;
  font-weight: 400 700;
  src: url(assets/fonts/dancingscript29/If2RXTr6YS-zF4S-kcSWSVi_szLgiuEHiC4W.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* mono */

/* latin-ext */
@font-face {
  font-family: 'Cascadia Mono';
  font-style: normal;
  font-weight: 200 700;
  font-display: swap;
  src: url(assets/fonts/cascadiamono5/TUZ2zw5pquJF3iuizJDZYqr1aZwn0E_o8WFBSA.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Cascadia Mono';
  font-style: normal;
  font-weight: 200 700;
  font-display: swap;
  src: url(assets/fonts/cascadiamono5/TUZ2zw5pquJF3iuizJDZYqr1aZIn0E_o8WE.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* latin-ext */
@font-face {
  font-family: 'Cascadia Mono';
  font-style: italic;
  font-weight: 200 700;
  font-display: swap;
  src: url(assets/fonts/cascadiamono5/TUZozw5pquJF3iuizJDZYqr1aZcX3EXv02NxSQ7U.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Cascadia Mono';
  font-style: italic;
  font-weight: 200 700;
  font-display: swap;
  src: url(assets/fonts/cascadiamono5/TUZozw5pquJF3iuizJDZYqr1aZcX0kXv02NxSQ.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

:root,
[data-bs-theme="light"] {
	
	/* SB overrides */
	
	--bs-body-font-weight: 300;
	
	--bs-font-sans-serif: "Merriweather Sans", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
	--sb-font-serif: "Merriweather", Georgia, serif;
  
	/* Brand */
	--bs-primary: #3d5c99;
	--bs-primary-rgb: 61, 92, 153;

	--bs-secondary: #295fcc;
	--bs-secondary-rgb: 41, 95, 204;

	--bs-light: #e9edf5;
	--bs-light-rgb: 233, 237, 245;
	
	--bs-border-color: #F0F2F5;

	/* Typography */
	--bs-font-sans-serif: "Merriweather Sans", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", "Liberation Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
	--bs-body-font-family: var(--bs-font-sans-serif);
	--bs-body-font-size: 1rem;
	--bs-body-line-height: 1.5;
	--bs-body-color: #455473;
	--bs-body-color-rgb: 69, 84, 115;
	

	/* Links */
	--bs-link-color: #295fcc;
	--bs-link-color-rgb: 41, 95, 204;
	--bs-link-hover-color: #214fae;
	--bs-link-hover-color-rgb: 33, 79, 174;

	/* Focus */
	--bs-focus-ring-color: rgba(41, 95, 204, 0.25);

	/* Site-specific */
	--sb-button-dark: #3d6b99;
	--sb-button-dark-rgb: 61, 107, 153;
	--sb-button-dark-hover: #335980;
	--sb-button-dark-hover-rgb: 51, 89, 128;

	--sb-button-light: #e9edf5;
	--sb-button-light-rgb: 233, 237, 245;
	--sb-button-light-hover: #e5eeff;
	--sb-button-light-hover-rgb: 229, 238, 255;
	
	--sb-lightblue: #e9edf5;
	--sb-lightblue-rgb: 233, 237, 245;
	
	--sb-gray: #f0f2f5;
	--sb-gray-rgb: 240, 242, 245;
}

@media (max-width: 991.98px) {
	body {
		--bs-body-font-size: 0.9375rem;
	}
}

@media (min-width: 1200px) {
	#masthead.container {
		max-width: 1200px;
	}
}

@media (min-width: 1400px) {
	#masthead.container {
		max-width: 1380px;
	}
}

/*--------------------------------------------------------------
# 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 {
	box-sizing: border-box;
	font-family: 'Merriweather Sans', sans-serif;
	line-height: 1.15;
	-webkit-text-size-adjust: 100%;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	text-rendering: optimizeLegibility;
	font-feature-settings: "kern", "liga", "calt";
	scroll-behavior: smooth;
}

html,
body {
	min-height: 100%;
	height: auto;
	margin: 0;
}

/* make sure footer is at bottom on short pages */

.site-footer {
	margin-top: auto;
}

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

/**
 * Remove the margin in all browsers.
 
body {
	margin: 0;
}

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

/* 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,
.small {
	font-size: 85%;
}
/**
 * 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;
}

::selection {
  background: #cc4400; /* WebKit/Blink Browsers */
  color: #fff;
}
::-moz-selection {
  background: #cc4400; /* Gecko Browsers */
  color: #fff;
}

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

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

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

/**
 * 1. Change the font styles in all browsers.
 * 2. Remove the margin in Firefox and Safari.
 */
button,
input,
optgroup,
select,
textarea {
	border-radius: 0;
	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;
}
button:hover,
[type="button"]:hover,
[type="reset"]:hover,
[type="submit"]:hover {
	cursor: pointer;
}

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

/* Clearing */
.clear:before,
.clear:after,
.entry-content:before,
.entry-content:after,
.page-header:before,
.page-header:after,
.site-content:before,
.site-content:after,
.site-footer:before,
.site-footer:after {
	content: '';
	display: table;
}

.clear:after,
.entry-content:after,
.page-header:after,
.site-content:after,
.site-footer:after {
	clear: both;
}


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

/* Misc
	 ========================================================================== */

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

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

/*--------------------------------------------------------------
# Typography
--------------------------------------------------------------*/
body,
button,
input,
select,
optgroup,
textarea {
	letter-spacing: 0.025em;
	-webkit-text-stroke: 0.2px currentColor;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	clear: both;
	color: var(--bs-body-color);
	font-family: var(--sb-font-serif);
	font-weight: 600;
	line-height: 1.25;
	margin-top: 0;
	white-space: normal;
	
	max-width: 100%;
	overflow-wrap: break-word;
	word-break: normal;
	
	letter-spacing: -0.017em;
}

h1,
.h1 {
	font-size: 3rem;
	line-height: 1.1;
}
.home h1 {
	font-size: 4rem;
	font-weight: 450;
}
h2,
.h2 {
	font-size: 2.5rem;
	line-height: 1.2;
}

h3,
.h3 {
	font-size: 2rem;
	line-height: 1.25;
}

h4,
.h4 {
	font-size: 1.5rem;
	line-height: 1.5;
}

h5,
.h5 {
	font-size: 1.25rem;
	line-height: 1.5;
}

h6,
.h6 {
	font-size: 1rem;
	line-height: 1.5;
}

@media (max-width: 1199.98px) {
	h1,
	.h1,
	.home h1 {
		font-size: 2.25rem;
	}

	h2,
	.h2 {
		font-size: 1.875rem;
	}

	h3,
	.h3 {
		font-size: 1.5rem;
	}

	h4,
	.h4 {
		font-size: 1.25rem;
	}
	h5,
	.h5 {
		font-size: 1.125rem;
	}
	h6,
	.h6 {
		font-size: 1rem;
	}
}

h1 span,
h2 span,
h3 span {
	display: block;
}

p {
	margin-bottom: 1.125em;
}
p + h3,
ul + h3 {
	margin: 1.5em 0 0.5em 0;
}
dfn,
cite,
em,
i {
	font-style: italic;
}

blockquote {
	border-left: 2px solid #7FCAFF;
	color: #000000;
	font-family: 'Merriweather', 'Georgia', serif;
	font-size: 1.125rem;
	font-style: italic;
	margin: 2em 0;
    padding: 0 1em 0 2em;
    position: relative;
}

address {
	margin: 0 0 1.5em;
}

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

code,
kbd,
tt,
var {
	background: #e9ebec;
	font-family: monaco, consolas, "Andale Mono", "DejaVu Sans Mono", monospace;
	font-size: 0.9375rem;
}

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

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

big {
	font-size: 125%;
}

/*--------------------------------------------------------------
# Elements
--------------------------------------------------------------*/

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

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

ul {
    margin: 0;
    list-style: disc;
}

ol {
	counter-reset: section;
	list-style: none;
	margin-bottom: 2em;
	padding: 0 0 0 1.5em;
}
ol li {
	margin: 0 0 0.5em 0;
	padding:  0 0 0 1em;
}
ol > li {
	position: relative;
}
ol li:before {
	content: counter(section);
	counter-increment: section;
	display: inline-block;
	font-size: 0.6em;
	width: 24px;
	height: 24px;
	margin: 0 20px 0 0;
	border: 1px solid #585858;
	border-radius: 100%;
	text-align: center;
	position: absolute;
	left: -1.5em;
	line-height: 1.8;
}
li > ul {
	margin-bottom: 0;
	margin-left: 1.5em;
}

dt {
	font-weight: 700;
}

dd {
	margin: 0 1.5em 1.5em;
}

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

figure {
	margin: 0;
}

/*--------------------------------------------------------------
# Gravity Forms
--------------------------------------------------------------*/

.consultation-form .gform_fields {
	row-gap: 1.5rem;
}

.consultation-form .gform-theme--framework .gfield_label,
.consultation-form .gform-theme--framework .gform-field-label {
	color: var(--bs-body-color) !important;
	font-size: 1rem !important;
	font-weight: 400 !important;
}

.consultation-form .gfield_required {
	color: var(--bs-secondary);
}

/* Descriptions */
.consultation-form .gfield_description {
	color: var(--bs-secondary-color);
	font-size: 0.875rem;
	line-height: 1.4;
	margin-bottom: 0.5rem;
}

/* Fields */
.consultation-form .gform_wrapper input[type="text"],
.consultation-form .gform_wrapper input[type="email"],
.consultation-form .gform_wrapper input[type="tel"],
.consultation-form .gform_wrapper input[type="url"],
.consultation-form .gform_wrapper input[type="number"],
.consultation-form .gform_wrapper select {
	background-color: #E9EDF5;
	border: 0 !important;
	border-radius: 0.75rem;
	box-shadow: none !important;
	color: var(--bs-body-color);
	font-family: var(--bs-body-font-family);
	font-size: var(--bs-body-font-size);
	line-height: var(--bs-body-line-height);
	padding: 1.5rem 1rem !important;
	width: 100%;
}

.consultation-form .gform_wrapper textarea {
	background-color: #E9EDF5;
	border: 0 !important;
	border-radius: 1rem;
	box-shadow: none !important;
	color: var(--bs-body-color);
	font-family: var(--bs-body-font-family);
	font-size: var(--bs-body-font-size);
	line-height: var(--bs-body-line-height);
	padding: 1.5rem 1rem !important;
	width: 100%;
}

/* Hover */
.consultation-form .gform_wrapper input[type="text"]:hover,
.consultation-form .gform_wrapper input[type="email"]:hover,
.consultation-form .gform_wrapper input[type="tel"]:hover,
.consultation-form .gform_wrapper input[type="url"]:hover,
.consultation-form .gform_wrapper input[type="number"]:hover,
.consultation-form .gform_wrapper textarea:hover,
.consultation-form .gform_wrapper select:hover {
	background-color: #E5EEFF;
}

/* Focus */
.consultation-form .gform_wrapper input[type="text"]:focus,
.consultation-form .gform_wrapper input[type="email"]:focus,
.consultation-form .gform_wrapper input[type="tel"]:focus,
.consultation-form .gform_wrapper input[type="url"]:focus,
.consultation-form .gform_wrapper input[type="number"]:focus,
.consultation-form .gform_wrapper textarea:focus,
.consultation-form .gform_wrapper select:focus {
	background-color: #E5EEFF;
	border: 0 !important;
	box-shadow: 0 0 0 2px rgba(var(--bs-primary-rgb), 0.15) !important;
	outline: 0;
}

.consultation-form .gform_wrapper textarea {
	min-height: 180px;
	resize: vertical;
}

/* Description */
.gform-theme--framework .gfield_description:where(:not(.gform-theme__disable):not(.gform-theme__disable *):not(.gform-theme__disable-framework):not(.gform-theme__disable-framework *)) {
	font-weight: 300 !important;
}

/* Submit */

.gform-theme--foundation .gform_footer {
	margin-top: 2rem !important;
}

.consultation-form .gform_footer {
	padding: 0;
	justify-content: center;
}

.consultation-form .gform_footer .gform_button {
	background: var(--bs-primary) !important;
	border: 0 !important;
	border-radius: 2rem !important;
	color: #fff !important;
	font-family: var(--bs-body-font-family) !important;
	font-size: var(--bs-body-font-size) !important;
	font-weight: 600 !important;
	line-height: 1.2 !important;
	margin-top: 1.5rem;
	padding: 1rem 2.5rem !important;
}

.consultation-form .gform_footer .gform_button:hover,
.consultation-form .gform_footer .gform_button:focus {
	background: var(--sb-button-dark-hover) !important;
	color: #fff !important;
}

.consultation-form .gform_footer .gform_button::before,
.consultation-form .gform_footer .gform_button::after {
	content: none !important;
	display: none !important;
}

/* Gravity Forms radio buttons */

.consultation-form .gfield_radio .gchoice {
	margin-bottom: 0.75rem;
	position: relative;
}

.consultation-form .gfield_radio .gchoice:first-child {
	margin-top: 0.5rem;
}

.consultation-form .gfield_radio .gchoice:last-child {
	margin-bottom: 0;
}

.consultation-form .gfield_radio .gchoice label {
	cursor: pointer;
	display: inline-block;
	padding-left: 2.5rem;
	position: relative;
}

/* Outer circle */
.consultation-form .gfield_radio .gchoice label::after {
	background: #f2f6fa;
	border: 1px solid var(--bs-primary);
	border-radius: 50%;
	content: "";
	height: 1.5rem;
	left: 0;
	position: absolute;
	top: 0.1rem;
	width: 1.5rem;
}

/* Selected dot */
.consultation-form .gfield_radio .gchoice label::before {
	background: var(--bs-primary);
	border-radius: 50%;
	content: "";
	height: 0.75rem;
	left: 0.375rem;
	opacity: 0;
	position: absolute;
	top: 0.475rem;
	transform: scale(0);
	transition:
		opacity 0.2s ease,
		transform 0.2s ease;
	width: 0.75rem;
	z-index: 1;
}

.consultation-form .gfield_radio input[type="radio"]:checked + label::before {
	opacity: 1;
	transform: scale(1);
}

/* Hide native radio but keep it clickable/accessibly associated */
.consultation-form .gfield_radio input[type="radio"] {
	appearance: none;
	cursor: pointer;
	height: 1.5rem;
	left: 0;
	opacity: 0;
	position: absolute;
	top: 0.1rem;
	width: 1.5rem;
	z-index: 2;
}

/* Choice label typography */
.consultation-form .gfield_radio .gform-field-label--type-inline {
	color: var(--bs-body-color);
	font-size: 1rem;
	font-weight: 400;
}

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

/*--------------------------------------------------------------
## Links
--------------------------------------------------------------*/
a,
a:visited {
	color: var(--bs-secondary);
	text-decoration: none;
	
	/* transition */
	-webkit-transition: color 0.4s linear;
    -moz-transition: color 0.4s linear;
    -o-transition: color 0.4s linear;
    -ms-transition: color 0.4s linear;
    transition: color 0.4s linear;
}

a:hover,
a:focus,
a:active {
	color: #216EA6;
}

a:focus {
	outline: 0;
}

a:hover,
a:active {
	outline: 0;
}

footer a:hover,
.page-id-19 a:hover,
.location-contact-intro a:hover {
	text-decoration: underline;
}

/*--------------------------------------------------------------
## Menus
--------------------------------------------------------------*/

.menu {
	list-style: none;
	margin: 0;
	padding: 0;
}

/*--------------------------------------------------------------
# Layout
--------------------------------------------------------------*/


/*--------------------------------------------------------------
# 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 {
	float: left;
	margin-right: 1.5em;
	margin-bottom: 1.5em;
}

.alignright {
	float: right;
	margin-left: 1.5em;
	margin-bottom: 1.5em;
}

.aligncenter {
	clear: both;
	display: block;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 1.5em;
}

/* ------------------------------------------------------------
SB Specific
------------------------------------------------------------ */

.btn,
.btn:visited {
  --bs-btn-padding-x: 2.5rem;
  --bs-btn-padding-y: 0.85rem;
  --bs-btn-focus-box-shadow: none;
}

.btn-sm, .btn-group-sm > .btn {
  --bs-btn-padding-y: 0.65rem;
  --bs-btn-padding-x: 1.75rem;
  --bs-btn-font-size: 1rem;
  --bs-btn-border-radius: var(--bs-border-radius);
  --bs-btn-font-weight: 350;
}

.btn-sb-light {
	background-color: var(--sb-button-light);
	color: var(--bs-body-color);
}

.btn-sb-light:hover,
.btn-sb-light:focus {
	background-color: var(--sb-button-light-hover);
	color: var(--bs-secondary);
}

.btn-white,
.btn-white:visited {
  --bs-btn-color: var(--bs-secondary);
  --bs-btn-bg: #fff;
  --bs-btn-border-color: #fff;
  --bs-btn-hover-color: var(--bs-secondary);
  --bs-btn-hover-bg: #fff;
  --bs-btn-active-color: var(--bs-secondary);
  --bs-btn-active-bg: #fff;
}

.btn-sb-dark,
.btn-sb-dark:visited {
  --bs-btn-color: #fff;
  --bs-btn-bg: var(--sb-button-dark);
  --bs-btn-border-color: var(--sb-button-dark);
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: var(--sb-button-dark-hover);
  --bs-btn-hover-border-color: var(--sb-button-dark-hover);
  --bs-btn-focus-shadow-rgb: 49, 132, 253;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: var(--sb-button-dark-hover);
  --bs-btn-active-border-color: var(--sb-button-dark-hover);
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #fff;
  --bs-btn-disabled-bg: #0d6efd;
  --bs-btn-disabled-border-color: #0d6efd;
}

.btn-sb-support,
.btn-sb-support:visited {
  --bs-btn-color: #fff;
  --bs-btn-bg: #3d7a99;
  --bs-btn-border-color: #3d7a99;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #336680;
  --bs-btn-hover-border-color: #336680;
  --bs-btn-focus-shadow-rgb: 49, 132, 253;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #336680;
  --bs-btn-active-border-color: #336680;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #fff;
  --bs-btn-disabled-bg: #0d6efd;
  --bs-btn-disabled-border-color: #0d6efd;
}

a.btn.btn-primary:visited,
a.btn.btn-sb-dark:visited,
a.btn.btn-sb-support:visited {
	color: #ffffff;
}

.bg-sb-lightblue {
	background-color: var(--sb-lightblue);
}

.bg-sb-gray {
	background-color: var(--sb-gray);
}

.bg-sb-assessments {
	background-color: #d7e1f5;
}

.text-sb-assessments,
.bg-sb-assessments h3 {
	color: #405580;
}

.home-service-card {
	border-radius: 2.25rem;
	padding: 0.75rem;
}

.home-gutter {
	--bs-gutter-y: 2rem;
	--bs-gutter-x: 2rem;
}

.home-service-card__inner {
	border-radius: 1.55rem;
}

.bg-sb-mental-health {
	background-color: #d7e6f5;
}

.text-sb-mental-health,
.bg-sb-mental-health h3 {
	color: #406080;
}

.bg-sb-ongoing-support {
	background-color: #d7ebf5;
}

.text-sb-ongoing-support,
.bg-sb-ongoing-support h3 {
	color: #406a80;
}

.home-icon {
	display: block;
	height: 4rem;
	width: auto;
	margin-inline: auto;
	fill: var(--bs-light);
	flex: 0 0 auto;
	overflow: visible;
}

.footer-icon {
	width: 1.5em;
	height: 1.5em;
	fill: currentColor;
	flex: 0 0 auto;
}

.assessment-process-card {
	padding-bottom: 2rem;
	padding-top: 2rem;
}

.assessment-step-number {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 3.125rem;
	height: 3.125rem;
	border-radius: 50%;
	background: var(--bs-light);
	font-weight: 700;
	font-size: 1.25rem;
}

.text-trim {
	text-box-trim: trim-both;
	text-box-edge: cap alphabetic;
}

/* ------------------------------------------------------------
AYR Misc
------------------------------------------------------------ */

/* Borders */
.ayr-border-thick {
	border: 8px solid var(--bs-light);
}

/* Backgrounds */
.bg-feature {
	background-color: #216EA6;
}

/* Page header */

@media (min-width: 992px) {
	.ayr-split-intro > .container > .row {
		min-height: 550px;
	}
}

@media (min-width: 992px) { 
	.ayr-page-header-image {
		display: block;
		width: 100%;
		height: 550px;
		object-fit: cover;
	}
}

.ayr-page-header-overlay {
	position: absolute;
	inset: 0;
	background: rgba(0, 0, 0, var(--overlay-opacity, 0.25));
	pointer-events: none;
}

.ayr-page-header-title,
.home-header h1 {
	position: relative;
	z-index: 1;
}

/* Buttons */
.btn-ayr {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 140px;
	overflow: hidden;
	white-space: nowrap;
}

.btn-ayr > span {
	position: relative;
	display: inline-block;
	transition: transform 0.25s ease;
}

.btn-ayr > span::after {
	content: "";
	position: absolute;
	left: calc(100% + 0.65em);
	top: 50%;

	width: 0.85em;
	height: 0.85em;
	background-color: currentColor;

	-webkit-mask: url("assets/img/icon-arrow-right.svg") center / contain no-repeat;
	mask: url("assets/img/icon-arrow-right.svg") center / contain no-repeat;

	opacity: 0;
	transform: translate(-0.35em, -50%);
	transition: opacity 0.25s ease, transform 0.25s ease;
	pointer-events: none;
}

.btn-ayr:hover > span,
.btn-ayr:focus > span {
	transform: translateX(-0.45em);
}

.btn-ayr:hover > span::after,
.btn-ayr:focus > span::after {
	opacity: 1;
	transform: translate(0, -50%);
}

/* ------------------------------------------------------------
AYR Layout & Spacing
------------------------------------------------------------ */

/* Universal flexible row wrapper */
.ayr-flex-row {
	position: relative;
	width: 100%;
}

/* Keep inner containers predictable */
.ayr-flex-row > .container,
.ayr-flex-row > .container-fluid {
	position: relative;
}

/* Universal inner content wrapper */
.ayr-row__content {
	position: relative;
}

/* Universal intro row normalization */
.ayr-row__intro {
	margin-top: 0;
	margin-bottom: 0;
}

.ayr-row__intro > [class*="col-"] {
	padding-top: 0;
	padding-bottom: 0;
}

.ayr-row__intro .ayr-section-intro {
	margin-top: 0;
}

/* Normalize first/last child margins so section padding reads consistently */
.ayr-row__content > :first-child {
	margin-top: 0;
}

.ayr-row__content > :last-child {
	margin-bottom: 0;
}

/* Headings at the top should not create fake extra top padding */
.ayr-row__content h1:first-child,
.ayr-row__content h2:first-child,
.ayr-row__content h3:first-child,
.ayr-row__content h4:first-child,
.ayr-row__content h5:first-child,
.ayr-row__content h6:first-child {
	margin-top: -0.125em;
}

/* Common last elements should not create fake extra bottom padding */
.ayr-row__content p:last-child,
.ayr-row__content ul:last-child,
.ayr-row__content ol:last-child {
	margin-bottom: 0;
}

/* Shared section intro spacing */
.ayr-section-intro {
	margin-bottom: 0;
}

/* Shared intro-to-content spacing */
.ayr-row__intro + .ayr-card-grid {
	margin-top: 2.5rem;
}

@media (min-width: 992px) {
	.ayr-row__intro + .ayr-card-grid {
		margin-top: 3rem;
	}
}

/* Fat bullets */
.ayr-bullet {
	position: relative;
	padding-left: 1.75rem;
}

.ayr-bullet::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.85rem;
	width: 0.5rem;
	height: 0.5rem;
	background: var(--bs-body-color);
	border-radius: 50%;
	transform: translateY(-50%);
}

/* Shared section title spacing */
.ayr-section-title {
	margin-top: -0.25em;
	margin-bottom: 1rem;
}

/* Horizontal spacing utilities */
.ayr-px-xs {
	padding-left: 0.75rem !important;
	padding-right: 0.75rem !important;
}

.ayr-px-sm {
	padding-left: 1rem !important;
	padding-right: 1rem !important;
}

.ayr-px-md {
	padding-left: 1.5rem !important;
	padding-right: 1.5rem !important;
}

.ayr-px-lg {
	padding-left: 2.5rem !important;
	padding-right: 2.5rem !important;
}

.ayr-px-xl {
	padding-left: 4rem !important;
	padding-right: 4rem !important;
}

.ayr-px-xxl {
	padding-left: 5.5rem !important;
	padding-right: 5.5rem !important;
}

.ayr-px-xxxl {
	padding-left: 7rem !important;
	padding-right: 7rem !important;
}

@media (max-width: 991.98px) {
	.ayr-px-xs,
	.ayr-px-sm,
	.ayr-px-md,
	.ayr-px-lg,
	.ayr-px-xl,
	.ayr-px-xxl,
	.ayr-px-xxxl {
		padding-left: 1.25rem !important;
		padding-right: 1.25rem !important;
	}
}

/* Top/bottom spacing utilities */
.ayr-pt-lg {
	padding-top: 3.5rem !important;
}

.ayr-pb-lg {
	padding-bottom: 3.5rem !important;
}

.ayr-pt-xl {
	padding-top: 5rem !important;
}

.ayr-pb-xl {
	padding-bottom: 5rem !important;
}

.ayr-pt-xxl {
	padding-top: 7rem !important;
}

.ayr-pb-xxl {
	padding-bottom: 7rem !important;
}

.ayr-pt-xxxl {
	padding-top: 9rem !important;
}

.ayr-pb-xxxl {
	padding-bottom: 9rem !important;
}

.ayr-py-lg {
	padding-top: 3.5rem !important;
	padding-bottom: 3.5rem !important;
}

.ayr-py-xl {
	padding-top: 5rem !important;
	padding-bottom: 5rem !important;
}

.ayr-py-xxl {
	padding-top: 7rem !important;
	padding-bottom: 7rem !important;
}

.ayr-py-xxxl {
	padding-top: 9rem !important;
	padding-bottom: 9rem !important;
}

@media (max-width: 991.98px) {
	.ayr-pt-lg {
		padding-top: 2rem !important;
	}
	
	.ayr-pb-lg {
		padding-bottom: 2rem !important;
	}
	.ayr-pt-xl {
		padding-top: 3rem !important;
	}

	.ayr-pb-xl {
		padding-bottom: 3rem !important;
	}

	.ayr-pt-xxl {
		padding-top: 4rem !important;
	}

	.ayr-pb-xxl {
		padding-bottom:4rem !important;
	}

	.ayr-pt-xxxl {
		padding-top: 5rem !important;
	}

	.ayr-pb-xxxl {
		padding-bottom: 5rem !important;
	}

	.ayr-py-lg {
		padding-top: 2rem !important;
		padding-bottom: 2rem !important;
	}
	
	.ayr-py-xl {
		padding-top: 3rem !important;
		padding-bottom: 3rem !important;
	}

	.ayr-py-xxl {
		padding-top: 4rem !important;
		padding-bottom: 4rem !important;
	}

	.ayr-py-xxxl {
		padding-top: 5rem !important;
		padding-bottom: 5rem !important;
	}
}

/* Top/bottom margin utilities */
.ayr-mt-xl {
	margin-top: 5rem !important;
}

.ayr-mb-xl {
	margin-bottom: 5rem !important;
}

.ayr-mt-xxl {
	margin-top: 7rem !important;
}

.ayr-mb-xxl {
	margin-bottom: 7rem !important;
}

.ayr-mt-xxxl {
	margin-top: 9rem !important;
}

.ayr-mb-xxxl {
	margin-bottom: 9rem !important;
}

.ayr-my-xl {
	margin-top: 5rem !important;
	margin-bottom: 5rem !important;
}

.ayr-my-xxl {
	margin-top: 7rem !important;
	margin-bottom: 7rem !important;
}

.ayr-my-xxxl {
	margin-top: 9rem !important;
	margin-bottom: 9rem !important;
}

@media (max-width: 991.98px) {
	.ayr-mt-xl {
		margin-top: 3rem !important;
	}

	.ayr-mb-xl {
		margin-bottom: 3rem !important;
	}

	.ayr-mt-xxl {
		margin-top: 4rem !important;
	}

	.ayr-mb-xxl {
		margin-bottom: 4rem !important;
	}

	.ayr-mt-xxxl {
		margin-top: 5rem !important;
	}

	.ayr-mb-xxxl {
		margin-bottom: 5rem !important;
	}

	.ayr-my-xl {
		margin-top: 3rem !important;
		margin-bottom: 3rem !important;
	}

	.ayr-my-xxl {
		margin-top: 4rem !important;
		margin-bottom: 4rem !important;
	}

	.ayr-my-xxxl {
		margin-top: 5rem !important;
		margin-bottom: 5rem !important;
	}
}

/* ------------------------------------------------------------
AYR Text Utilities
------------------------------------------------------------ */

.text-script {
	font-family: 'Dancing Script', cursive;
}
.text-mono {
	font-family: 'Cascadia Mono', cursive;
}
.text-serif {
	font-family: var(--sb-font-serif) !important;
}
.text-sans-serif {
	font-family: var(--bs-font-sans-serif) !important;
}

/*--------------------------------------------------------------
## Posts and pages
--------------------------------------------------------------*/

.logo {
	max-height: 100px;
}

footer .logo {
	height: auto;
	max-width: 214px;
	width: 100%;
}

@media (min-width: 1200px) and (max-width: 1399.98px) {
	.logo {
		max-height: 80px;
	}
}

.post,
.page {
	margin: 0;
}

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

.page-links {
	clear: both;
	margin: 0 0 1.5em;
}

/* Full width feature image */
.fullwidth {
	width: 100%;
	height: 100%;
	overflow: hidden;
}

/* Fullscreen section */
.fullscreen {
	width: 100%;
	min-height: 100vh;
	overflow: hidden;
}

/* Background utility */
.background {
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
}

/* Half-width fullscreen image/content block */
.fullscreen-halfwidth {
	display: block;
	width: 100%;
	height: 100%;
	min-height: 520px;
	overflow: hidden;
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
}

/* Force fullscreen rows to stretch, even if Bootstrap align-items-center is present */
.row.fullscreen {
	align-items: stretch !important;
}

/* Stretch Bootstrap columns */
.row.fullscreen > [class*="col-"],
.row.align-items-stretch > [class*="col-"] {
	display: flex;
	align-self: stretch;
}

/* Make the image/content block fill the stretched column */
.row.fullscreen .fullscreen-halfwidth,
.row.align-items-stretch .fullscreen-halfwidth {
	flex: 1 1 auto;
	width: 100%;
	height: auto;
}

/* Tablet/laptop and up */
@media (min-width: 768px) {
	.fullscreen,
	.row.fullscreen {
		min-height: calc(100vh - 120px);
	}

	.row.fullscreen > [class*="col-"] {
		min-height: calc(100vh - 120px);
	}

	.row.fullscreen .fullscreen-halfwidth,
	.fullscreen-halfwidth {
		min-height: calc(100vh - 120px);
	}
}

/* Larger desktop */
@media (min-width: 1200px) {
	.fullscreen,
	.row.fullscreen {
		min-height: calc(100vh - 160px);
	}

	.row.fullscreen > [class*="col-"] {
		min-height: calc(100vh - 160px);
	}

	.row.fullscreen .fullscreen-halfwidth,
	.fullscreen-halfwidth {
		min-height: calc(100vh - 160px);
	}
}

/* Very large desktop */
@media (min-width: 1600px) {
	.fullscreen,
	.row.fullscreen {
		min-height: calc(100vh - 180px);
	}

	.row.fullscreen > [class*="col-"] {
		min-height: calc(100vh - 180px);
	}

	.row.fullscreen .fullscreen-halfwidth,
	.fullscreen-halfwidth {
		min-height: calc(100vh - 180px);
	}
}
@media (min-width: 1681px) {
	.fullwidth {
		height: 900px;
	}
}
@media (min-width: 1201px) and (max-width: 1680px) {
	.fullwidth {
		height: 750px;
	}
}
@media (min-width: 0) and (max-width: 1200px) {
	.fullwidth {
		height: 650px;
	}
}
.image-wrap {
    display: block;
    position: relative;
}
.image-wrap img {
	width: 100%;
	height: auto;
}
.image-wrap img + .content.middle {
    position: absolute;
	top: 50%;
	-ms-transform: translateY(-50%);
	transform: translateY(-50%);
}
.image-wrap img + .content.top {
    position: absolute;
	top: 10%;
}

.ayr-basic-page-title {
	margin: 0;
}

.ayr-basic-page-content > *:first-child {
	margin-top: 0;
}

.ayr-basic-page-content > *:last-child {
	margin-bottom: 0;
}

@media (min-width: 992px) {
	.ayr-basic-page-header {
		position: sticky;
		top: 9rem;
	}
}
/*--------------------------------------------------------------
## Footer
--------------------------------------------------------------*/

#footer-menu {
	display: inline-flex;
	gap: 0.5rem;
	padding-left: 0;
}

#footer-menu li {
	list-style: none;
}

#footer-menu li::before {
	content: "|";
	margin: 0 0.5rem;
	color: #fff;
}

#footer-menu a {
	color: #fff;
	text-decoration: none;
}

#footer-menu a:hover {
	text-decoration: underline;
}

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

/* Make sure embeds and iframes fit their containers. */
embed,
iframe,
object {
	max-width: 100%;
}
.video-container {
	position: relative;
	padding-bottom: 56.25%;
	padding-top: 25px;
	height: 0;
	min-height: 500px;
	overflow: hidden;
}
.video-container iframe,
.video-container object,
.video-container embed,
.video-container video {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

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

/*--------------------------------------------------------------
# Plugins
--------------------------------------------------------------*/

/*** fixed header ***/

/* Make sure wrappers don't break sticky */
#page, .site { overflow: visible; transform: none; filter: none; contain: none; }

/* Optional modern viewport height for short pages */
@supports (height: 100svh) {
  #page { min-height: 100svh; }
}

/* Admin bar + notch aware */

:root { --wp-admin-bar-h: 0px; }
body.admin-bar { --wp-admin-bar-h: 32px; }
@media (max-width: 782px){ body.admin-bar { --wp-admin-bar-h: 46px; } }
:root { --safe-or-admin: max(env(safe-area-inset-top,0px), var(--wp-admin-bar-h)); }

/* Sticky header */
#site-header.sticky-top{
  position: -webkit-sticky;
  position: sticky;
  top: var(--safe-or-admin) !important;
  z-index: 5000;         /* above content */
  background: #fff;      /* shadow needs a solid bg */
  width: 100%;
  max-width: 100%;
  overflow: visible;     /* allow decorations to extend */
  position: sticky;      /* keeps z-index effective */
  isolation: isolate;    /* new stacking context (prevents being blended under siblings) */
}

/* Shadow on scroll */
#site-header { transition: box-shadow .16s ease; }
#site-header.scrolled { box-shadow: 0 3px 8px rgba(0,0,0,0.15); }
@media (prefers-reduced-motion: reduce){ #site-header{ transition:none; } }

/* If any menu wrapper clips effects, unclip it */
#site-header .mega-menu-wrap,
#site-header .mega-menu > li { overflow: visible; }

/* reduce sticky header on scroll */

#site-header .site-top-bar > div {
	transition: padding 0.25s ease;
}

#site-header #masthead > .row {
	transition: padding 0.25s ease;
}

#site-header .logo {
	transition: max-width 0.25s ease;
}

/* Scrolled header */
#site-header.is-scrolled .site-top-bar > div {
	padding-top: 0.2rem !important;
	padding-bottom: 0.2rem !important;
}

#site-header.is-scrolled #masthead > .row {
	padding-top: 0.5rem !important;
	padding-bottom: 0.5rem !important;
}

#site-header.is-scrolled .logo {
	max-width: 70%;
}

@media (min-width: 1200px) {
	#site-header.is-scrolled #mega-menu-top-nav > li.mega-menu-item > a.mega-menu-link {
		padding-top: 0.4rem;
		padding-bottom: 0.4rem;
	}
}

/* Scrolled Mega Menu */

@media (min-width: 1200px) {

	#site-header.is-scrolled
	#mega-menu-wrap-top-nav
	#mega-menu-top-nav
	> li.mega-menu-item
	> a.mega-menu-link {
		font-size: 0.875rem;
		line-height: 1.2;
		padding-top: 0.35rem;
		padding-bottom: 0.35rem;
	}
	
	#site-header.is-scrolled #mega-menu-wrap-top-nav {
		height: 32px;
	}

	#site-header.is-scrolled
	#mega-menu-wrap-top-nav
	#mega-menu-top-nav
	a.btn-ayr {
		min-width: 115px;
	}

}

#mega-menu-wrap-top-nav
#mega-menu-top-nav
> li.mega-menu-item
> a.mega-menu-link {
	transition:
		font-size 0.25s ease,
		padding 0.25s ease,
		min-width 0.25s ease;
}

@media (min-width: 1200px) {

	/* All desktop menu items */
	#site-header.is-scrolled
	#mega-menu-wrap-top-nav
	#mega-menu-top-nav
	> li.mega-menu-item {
		vertical-align: middle;
	}

	/* Normal links */
	#site-header.is-scrolled
	#mega-menu-wrap-top-nav
	#mega-menu-top-nav
	> li.mega-menu-item
	> a.mega-menu-link {
		height: auto !important;
		line-height: 1.2 !important;
		font-size: 0.875rem;
		padding-top: 0.5rem !important;
		padding-bottom: 0.5rem !important;
		background-position: left 4px bottom 0;
	}

	/* Book Now needs its own compact geometry */
	#site-header.is-scrolled
	#mega-menu-wrap-top-nav
	#mega-menu-top-nav
	> li.menu-book-now
	> a.mega-menu-link {
		height: auto !important;
		line-height: 1.2 !important;
		padding: 0.6rem 1.5rem !important;
		vertical-align: middle;
	}

}