/*!
 * Theme Name: MattPrados.com Theme
 * Description: Website of MattPrados.com.
 * Author: Matt Prados
 * Author URI: https://mattprados.com
 * Version: 1.1.0
 * Text Domain: mattprados.com-theme
 * Tags: one-column, two-columns, left-sidebar, right-sidebar, accessibility-ready, custom-logo, custom-background, custom-colors, custom-header, custom-menu, featured-images, full-width-template, rtl-language-support, sticky-post, theme-options, threaded-comments, translation-ready.
 * Template: genesis
 * Template Version: 2.5.2
 * License: GPL-3.0-or-later
 * License URI: http://www.gnu.org/licenses/gpl-2.0.html
 */
/* # Table of Contents

- Utilities
	- Variables
	- Mixins
	- Functions
- Reset
	- Baseline Normalize
	- Box Sizing
	- Float Clearing
- Defaults
	- Typography
	- Headings
	- Forms
	- Objects
	- Tables
	- Accessibility
- Layout
	- Site Containers
	- Content Width
	- Column Classes
	- Gallery
- Common
	- Avatars
	- Genesis
	- Search Form
	- Titles
	- WordPress
- Header
	- Before Header
	- Site Header
	- Title Area
	- Widget Area
	- Hero Section
- Menus
	- Menus
	- Sub Menus
	- Specific Menus
	- Menu Toggles
- Content
	- Entries
	- Entry Meta
	- Pagination
	- Comments
- Sidebars
	- Widgets
	- Sidebars
- Footer
	- Site Footer
	- Footer Widgets
- Plugins
	- Simple Social Icons
	- Gravity Forms
- Home
	- Front Page
	- Custom Header
- Print
	- Print Styles
*/
/* # Variables
-----------------------------------------------------------------------*/
/**
 * ### Breakpoints
 *
 * Based on the most common 16:9 screen resolutions.
 * @link https://pacoup.com/2011/06/12/list-of-true-169-resolutions/
 */
/* ### Colors */
/* ### Typography */
/* ### Other */
/* ### Column widths */
/* # Mixins
-----------------------------------------------------------------------*/
/* ### Media Queries */
/* ### Clearfix */
/* ### Flexfix */
/* ### Transitions */
/* ### Overlay */
/* ### Overlay */

/* 0. Tokens — global design system -------------------- */
/* 0. Tokens — global design system -------------------- */
:root{
	/* Palette */
	--mp-blue-500:#0D4DFF;
	--mp-blue-600:#003ED1;
	--mp-surface-900:#0B0C10;
	--mp-text-100:#FFFFFF;
	--mp-grey-500:#5F5F5F;       /* neutral body copy */
  
	/* Semantic aliases */
	--colour-primary:var(--mp-blue-500);
	--colour-primary-hover:var(--mp-blue-600);
	--colour-text:var(--mp-text-100);
	--colour-body:var(--mp-grey-500);
  
	/* Primary CTA gradient */
	--cta-start:#009cff;
	--cta-end :#00b6ff;

	/* Typography */
	--font-display: "Plus Jakarta Sans", sans-serif;
	--font-base:    "Plus Jakarta Sans", sans-serif;
	--fs-900:clamp(2.5rem,5vw + 1rem,4rem);
	--fs-500:1rem;
  
	/* Spacing (4-pt scale) */
	--space-1:4px;
	--space-2:8px;
	--space-3:12px;
	--space-4:16px;
	--space-5:20px;
	--space-6:24px;
	--space-7:28px;
	--space-8:32px;
	--space-10:40px;
  
	/* Layout */
	--container-max:80rem; /* ≈1280 px */
  }
  
  


/* normalize.css v7.0.0 | 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
 *    IE on Windows Phone and in iOS.
 */
html {
	line-height: 1.15;
	/* 1 */
	    -ms-text-size-adjust: 100%;
	/* 2 */
	-webkit-text-size-adjust: 100%;
	/* 2 */
}

/* Sections
   ========================================================================== */
/**
 * Remove the margin in all browsers (opinionated).
 */
body {
	margin: 0;
	font-family: var(--font-base);
}

/**
 * Add the correct display in IE 9-.
 */
article,
aside,
footer,
header,
nav,
section {
	display: block;
}

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

/* Grouping content
   ========================================================================== */
/**
 * Add the correct display in IE 9-.
 * 1. Add the correct display in IE.
 */
figcaption,
figure,
main {
	/* 1 */
	display: block;
}

/**
 * Add the correct margin in IE 8.
 */
figure {
	margin: 1em 40px;
	margin: 1em 4rem;
}

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

/**
 * 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;
	/* 1 */
	font-size: 1em;
	/* 2 */
}

/* Text-level semantics
   ========================================================================== */
/**
 * 1. Remove the gray background on active links in IE 10.
 * 2. Remove gaps in links underline in iOS 8+ and Safari 8+.
 */
a {
	background-color: transparent;
	/* 1 */
	-webkit-text-decoration-skip: objects;
	/* 2 */
}

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

/**
 * Prevent the duplicate application of `bolder` by the next rule in Safari 6.
 */
b,
strong {
	font-weight: inherit;
}

/**
 * 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;
	/* 1 */
	font-size: 1em;
	/* 2 */
}

/**
 * Add the correct font style in Android 4.3-.
 */
dfn {
	font-style: italic;
}

/**
 * Add the correct background and color in IE 9-.
 */
mark {
	color: #000000;
	background-color: #ffff00;
}

/**
 * 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 {
	position: relative;
	font-size: 75%;
	line-height: 0;
	vertical-align: baseline;
}

sub {
	bottom: -0.25em;
}

sup {
	top: -0.5em;
}

/* Embedded content
   ========================================================================== */
/**
 * Add the correct display in IE 9-.
 */
audio,
video {
	display: inline-block;
}

/**
 * Add the correct display in iOS 4-7.
 */
audio:not([controls]) {
	display: none;
	height: 0;
}

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

/**
 * Hide the overflow in IE.
 */
svg:not(:root) {
	overflow: hidden;
}

/* Forms
   ========================================================================== */
/**
 * 1. Change the font styles in all browsers (opinionated).
 * 2. Remove the margin in Firefox and Safari.
 */
button,
input,
optgroup,
select,
textarea {
	/* 1 */
	margin: 0;
	font-family: hind, helvetica, arial, sans-serif;
	/* 1 */
	font-size: 100%;
	/* 1 */
	line-height: 1.15;
	/* 2 */
}

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

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

/**
 * 1. Prevent a WebKit bug where (2) destroys native `audio` and `video`
 *    controls in Android 4.
 * 2. Correct the inability to style clickable types in iOS and Safari.
 */
button,
html [type='button'],
[type='reset'],
[type='submit'] {
	-webkit-appearance: button;
	/* 2 */
}

/**
 * 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 {
	padding: 0;
	border-style: none;
}

/**
 * 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;
	outline: 0.1rem 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 {
	/* 2 */
	display: table;
	-moz-box-sizing: border-box;
	     box-sizing: border-box;
	/* 1 */
	max-width: 100%;
	/* 1 */
	padding: 0;
	/* 1 */
	color: inherit;
	/* 3 */
	white-space: normal;
	/* 1 */
}

/**
 * 1. Add the correct display in IE 9-.
 * 2. Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
	display: inline-block;
	/* 1 */
	vertical-align: baseline;
	/* 2 */
}

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

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

/**
 * 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;
	/* 1 */
	outline-offset: -2px;
	outline-offset: -0.2rem;
	/* 2 */
}

/**
 * Remove the inner padding and cancel buttons in Chrome and Safari on macOS.
 */
[type='search']::-webkit-search-cancel-button,
[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;
	/* 1 */
	font: inherit;
	/* 2 */
}

/* Interactive
   ========================================================================== */
/*
 * Add the correct display in IE 9-.
 * 1. Add the correct display in Edge, IE, and Firefox.
 */
details,
menu {
	display: block;
}

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

/* Scripting
   ========================================================================== */
/**
 * Add the correct display in IE 9-.
 */
canvas {
	display: inline-block;
}

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

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

/* ## Box Sizing
--------------------------------------------- */
html,
input[type='search'] {
	-moz-box-sizing: border-box;
	     box-sizing: border-box;
}

*,
*:before,
*:after {
	-moz-box-sizing: inherit;
	     box-sizing: inherit;
}

/* ## Float Clearing
--------------------------------------------- */
.author-box,
.clearfix,
.entry,
.entry-content,
.footer-widgets,
.nav-primary,
.nav-secondary,
.pagination,
.site-container,
.site-footer,
.site-header,
.site-inner,
.sidebar .widget,
.wrap {
	clear: both;
}

.author-box:before,
.author-box:after,
.clearfix:before,
.clearfix:after,
.entry:before,
.entry:after,
.entry-content:before,
.entry-content:after,
.footer-widgets:before,
.footer-widgets:after,
.nav-primary:before,
.nav-primary:after,
.nav-secondary:before,
.nav-secondary:after,
.pagination:before,
.pagination:after,
.site-container:before,
.site-container:after,
.site-footer:before,
.site-footer:after,
.site-header:before,
.site-header:after,
.site-inner:before,
.site-inner:after,
.sidebar .widget:before,
.sidebar .widget:after,
.wrap:before,
.wrap:after {
	display: block;
	clear: both;
	content: '';
}

/* ## Typography
--------------------------------------------- */
* {
	-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

html {
	overflow-x: hidden;
	max-width: 100vw;
	background-color: #232c39;
	font-size: 62.5%;
}

body {
	overflow-x: hidden;
	max-width: 100vw;
	margin: 0;
	color: #232c39;
	background-color: #ffffff;
	font-family: hind, helvetica, arial, sans-serif;
	font-size: 20px;
	font-size: 2rem;
	font-weight: 400;
	line-height: 1.5;
	text-rendering: optimizeLegibility;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

body > div {
	font-size: 20px;
	font-size: 2rem;
}

p {
	margin: 0 0 1.382em;
	padding: 0;
}

a {
	color: #232c39;
	word-wrap: break-word;
}

a:hover {
	color: #647585;
}

ol,
ul {
	margin: 0;
	padding: 0;
}

li {
	list-style-type: none;
}

hr {
	clear: both;
	margin: 0 0 2em;
	padding: 1em 0 0;
	border: 0;
	border-bottom: 2px solid #f0f1f2;
	border-collapse: collapse;
}

b,
strong {
	font-weight: 500;
}

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

blockquote {
	margin: 1em 0;
	padding: 0 1em;
}

pre {
	overflow-x: scroll;
	padding: 2em;
	background-color: #f6f7f8;
}

/* ## Headings
--------------------------------------------- */
h1,
h2,
h3,
h4,
h5,
h6 {
	margin: 0 0 0.382em;
	font-family: montserrat, helvetica, arial, sans-serif;
	font-weight: 500;
	line-height: 1.2;
}

h1 {
	font-size: 1.8em;
}

h2 {
	font-size: 1.4em;
}

h3 {
	font-size: 1.3em;
}

h4 {
	font-size: 1.2em;
}

h5 {
	font-size: 1.1em;
}

h6 {
	font-size: 1.05em;
}

/* ## Forms
--------------------------------------------- */
input,
select,
textarea {
	width: 100%;
	padding: 0.5em 1em;
	border: 2px solid #f0f1f2;
	border-radius: 4px;
	background-color: #ffffff;
	font-size: 18px;
	font-size: 1.8rem;
	line-height: 2;
}

input:focus,
select:focus,
textarea:focus {
	border-color: #647585;
	outline: none;
}

:focus {
	outline: 2px solid #f0f1f2;
}

input[type='checkbox'],
input[type='image'],
input[type='radio'] {
	width: auto;
}

input[type='search'] {
	-webkit-appearance: none;
}

::-moz-placeholder {
	opacity: 1;
	color: #647585;
}

::-webkit-input-placeholder {
	color: #647585;
}

.button,
button,
input[type='button'],
input[type='reset'],
input[type='submit'] {
	display: inline-block;
	width: auto;
	height: auto;
	padding: 1.2em 2.2em;
	border: 0;
	border-radius: 4px;
	color: #ffffff;
	background-color: #232c39;
	box-shadow: inset 0 0 0 9rem rgba(255, 255, 255, 0), 0 1rem 1rem -1rem rgba(35, 44, 57, 0.1);
	font-family: montserrat, helvetica, arial, sans-serif;
	font-size: 15px;
	font-size: 1.5rem;
	font-weight: 600;
	line-height: 1;
	text-decoration: none;
	cursor: pointer;
	-webkit-transition: all 0.75s cubic-bezier(0, 1, 0.5, 1);
	        transition: all 0.75s cubic-bezier(0, 1, 0.5, 1);
}

.button:hover,
button:hover,
input[type='button']:hover,
input[type='reset']:hover,
input[type='submit']:hover {
	color: #ffffff;
	box-shadow: inset 0 0 0 9rem rgba(255, 255, 255, 0.1), 0 1.25rem 1rem -0.5rem rgba(35, 44, 57, 0.1);
	-webkit-transition: all 0.75s cubic-bezier(0, 1, 0.5, 1);
	        transition: all 0.75s cubic-bezier(0, 1, 0.5, 1);
}

.button.accent,
button.accent,
input[type='button'].accent,
input[type='reset'].accent,
input[type='submit'].accent {
	background-color: #fb2056;
}

.button.small,
button.small,
input[type='button'].small,
input[type='reset'].small,
input[type='submit'].small {
	font-size: 12px;
	font-size: 1.2rem;
}

.button:disabled,
.button:disabled:hover,
button:disabled,
button:disabled:hover,
input[type='button']:disabled,
input[type='button']:disabled:hover,
input[type='reset']:disabled,
input[type='reset']:disabled:hover,
input[type='submit']:disabled,
input[type='submit']:disabled:hover {
	border-width: 0;
	color: #697886;
	background-color: #f6f7f8;
	cursor: not-allowed;
}

.button + button,
.button + .button,
button + button,
button + .button,
input[type='button'] + button,
input[type='button'] + .button,
input[type='reset'] + button,
input[type='reset'] + .button,
input[type='submit'] + button,
input[type='submit'] + .button {
	clear: both;
	margin-top: 1em;
}

input[type='search']::-webkit-search-cancel-button,
input[type='search']::-webkit-search-results-button {
	display: none;
}

fieldset {
	margin-bottom: 1em;
}

/* ## Objects
--------------------------------------------- */
embed,
iframe,
img,
object,
video,
.wp-caption,
.wp-video-shortcode {
	display: block;
	max-width: 100%;
}

img {
	height: auto;
}

figure {
	margin: 0;
}

video {
	-o-object-fit: cover;
	   object-fit: cover;
}

.wp-video-shortcode {
	width: auto !important;
}

/* ## Tables
--------------------------------------------- */
table {
	width: 100%;
	margin-bottom: 40px;
	margin-bottom: 4rem;
	border: 2px solid #f0f1f2;
	border-spacing: 0;
	border-collapse: collapse;
	background-color: #ffffff;
	line-height: 1;
}

tbody {
	border-bottom: 2px solid #f0f1f2;
}

td,
th {
	padding: 0.618em;
	border-top: 2px solid #f0f1f2;
	border-right: 2px solid #f0f1f2;
	text-align: left;
}

/* ## Accessibility
--------------------------------------------- */
.screen-reader-text,
.screen-reader-text span,
.screen-reader-shortcut,
.wp-custom-logo .site-title,
.wp-custom-logo .site-description {
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	position: absolute !important;
	width: 1px;
	width: 0.1rem;
	height: 1px;
	height: 0.1rem;
	border: 0;
}

.screen-reader-text:focus,
.screen-reader-shortcut:focus {
	display: block;
	clip: auto !important;
	z-index: 100000;
	top: 1em;
	left: 1em;
	width: auto;
	height: auto;
	padding: 10px 20px;
	padding: 1rem 2rem;
	color: #ffffff;
	background-color: #232c39;
	box-shadow: 0 0 0.2rem 0.2rem rgba(35, 44, 57, 0.1);
	text-decoration: none;
}

.more-link {
	position: relative;
	font-style: normal;
}

.genesis-skip-link {
	margin: 0;
}

.genesis-skip-link li {
	width: 0;
	height: 0;
	list-style: none;
}

/* ## Site Containers
--------------------------------------------- */
.wrap {
	margin: 0 auto;
	padding-right: 5%;
	padding-left: 5%;
}

.wrap .wrap {
	width: auto;
	max-width: 100%;
	padding: 0;
}

.content-sidebar-wrap {
	clear: both;
	max-width: 1280px;
	margin: 0 auto;
	padding: 10vw 5vw;
	word-wrap: break-word;
}

.page-builder .content-sidebar-wrap {
	padding: 0;
	border-top: 2px solid #f0f1f2;
	border-bottom: 2px solid #f0f1f2;
}

/* ## Content Widths and Positions
--------------------------------------------- */

/* ## Column Classes (including fifths)
--------------------------------------------- */

/* ## Gallery
--------------------------------------------- */
.gallery,
.gallery-row {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display:         flex;
	-webkit-flex-wrap: wrap;
	    -ms-flex-wrap: wrap;
	        flex-wrap: wrap;
	-webkit-box-pack: justify;
	-webkit-justify-content: space-between;
	-ms-flex-pack: justify;
	        justify-content: space-between;
}

.gallery a {
	display: block;
	min-height: 100%;
}

.gallery img {
	display: block;
	width: 100%;
	height: auto;
	border-radius: 4px;
}

.gallery-caption {
	display: block;
}

.gallery-item {
	display: block;
	width: 100%;
	margin: 0 0 5vw;
	text-align: center;
}

/* ## Avatars
--------------------------------------------- */
.avatar {
	float: left;
	margin-right: 20px;
	margin-right: 2rem;
	border-radius: 50%;
}

.alignright .avatar {
	margin-left: 20px;
	margin-left: 2rem;
}

/* ## Genesis
--------------------------------------------- */
.breadcrumb {
	width: 100%;
	margin-bottom: 30px;
	margin-bottom: 3rem;
	padding: 0;
	font-size: 14px;
	font-size: 1.4rem;
}

.breadcrumb a {
	text-decoration: underline;
}

.after-entry,
.author-box {
	margin-bottom: 5%;
}

.author-box {
	margin-top: 5%;
}

.author-box p:last-of-type {
	margin-bottom: 0;
}

/* ## Search Form
--------------------------------------------- */
.search-form {
	display: block;
	position: relative;
	width: 100%;
	clear: both;
}

.search-form:before,
.search-form:after {
	display: block;
	clear: both;
	content: '';
}

.search-form:after {
	display: block;
	position: absolute;
	top: 12px;
	top: 1.2rem;
	right: 12px;
	right: 1.2rem;
	font-family: FontAwesome, sans-serif;
	font-size: 20px;
	font-size: 2rem;
	content: '\f2eb';
	pointer-events: none;
}

.search-form input[type='search'] {
	width: 100%;
}

.search-form input[type='submit'] {
	display: none;
}

.entry-content .search-form {
	margin-bottom: 1em;
}

/* ## WordPress
--------------------------------------------- */
.wp-caption-text {
	margin: 0;
	font-size: 14px;
	font-size: 1.4rem;
	text-align: center;
}

.entry-content p.wp-caption-text {
	margin-bottom: 0;
}

.entry-content .wp-audio-shortcode,
.entry-content .wp-playlist,
.entry-content .wp-video {
	margin: 0 0 1em;
}

.sticky,
.bypostauthor {
	background-color: transparent;
}

.post-edit-link {
	display: block;
	clear: both;
}

.post-edit-link:before,
.post-edit-link:after {
	display: block;
	clear: both;
	content: '';
}

.page-template-page-builder .post-edit-link {
	display: none;
}

/* ## Blocks
--------------------------------------------- */

.wp-block-embed {
	margin: 2em auto;
}

.wp-block-gallery {
	margin: 2em auto;
}

.entry-content .wp-block-gallery {
	margin-left: 0;
	padding-left: 0;
}

.entry-content .wp-block-gallery.alignfull {
	margin-left: -50vw;
}

.wp-block-gallery .blocks-gallery-item img {
	-webkit-align-self: center;
	-ms-flex-item-align: center;
	-ms-grid-row-align: center;
	        align-self: center;
}

.wp-block-image {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display:         flex;
	width: 100%;
	margin: 2em auto;
}

.wp-block-image img {
	width: 100%;
}

.wp-block-image.alignleft {
	margin-right: 1em;
}

.wp-block-image.alignright {
	margin-left: 1em;
}

.wp-block-image.alignwide {
	max-width: 120%;
}

.wp-block-image.alignfull {
	max-width: none;
}

.wp-block-pullquote {
	margin: 2em auto;
	border-left: 0;
}

.wp-block-pullquote.aligncenter {
	margin: 2em auto;
}

.wp-block-quote {
	border-left: 2px solid #f0f1f2;
}

.wp-block-table th,
.wp-block-table td {
	border-color: #f0f1f2;
}

.aligncenter,
.alignleft,
.alignright {
	display: block;
	float: none;
	margin: 0 auto 1em;
}

.aligncenter {
	clear: both;
}

.aligncenter:before,
.aligncenter:after {
	display: block;
	clear: both;
	content: '';
}

.alignwide,
.alignfull {
	position: relative;
	left: 50%;
	width: 100vw;
}

.content-sidebar .alignwide,
.sidebar-content .alignwide,
.content-sidebar .alignfull,
.sidebar-content .alignfull {
	left: auto;
	width: 100%;
	margin-left: 0;
	-webkit-transform: none;
	    -ms-transform: none;
	        transform: none;
}

.alignwide img,
.alignfull img {
	display: inline-block;
	width: 100%;
	margin: 1em auto 1.618em;
}

.alignwide {
	max-width: 120%;
	-webkit-transform: translate(-50%);
	    -ms-transform: translate(-50%);
	        transform: translate(-50%);
}

.alignfull {
	max-width: none;
	margin-left: -50vw;
}

/* ## Site Header
--------------------------------------------- */
.site-header {
    position: fixed;
    z-index: 100;
    width: 100%;
    -webkit-transition: all 0.75s cubic-bezier(0, 1, 0.5, 1);
    transition: all 0.75s cubic-bezier(0, 1, 0.5, 1);
    background-color: #000000b3;
}

.has-fixed-header .site-header {
	position: fixed;
}

.has-fixed-header .site-header.shrink {
	background-color: #232c39;
	box-shadow: 0 0 2rem rgba(35, 44, 57, 0.2);
}

.page-template-page-builder .site-header {
	position: relative;
	background-color: #232c39;
}

.page-template-page-builder .site-header.fixed {
	position: fixed;
}

.site-header > .wrap {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display:         flex;
	-webkit-box-align: center;
	-webkit-align-items: center;
	-ms-flex-align: center;
	        align-items: center;
	-webkit-box-pack: justify;
	-webkit-justify-content: space-between;
	-ms-flex-pack: justify;
	        justify-content: space-between;
	-webkit-flex-wrap: wrap;
	    -ms-flex-wrap: wrap;
	        flex-wrap: wrap;
	-webkit-transition: all 0.75s cubic-bezier(0, 1, 0.5, 1);
	        transition: all 0.75s cubic-bezier(0, 1, 0.5, 1);
}

/* ## Title Area
--------------------------------------------- */
.title-area {
	display: block;
	position: relative;
	max-width: 150px;
	max-width: 15rem;
	height: 100%;
	margin: 0 auto 0 0;
	padding: 20px 0;
	padding: 2rem 0;
	-webkit-box-flex: 1;
	-webkit-flex: 1;
	    -ms-flex: 1;
	        flex: 1;
}

.wp-custom-logo .title-area {
	padding: 10px 0;
	padding: 1rem 0;
}

.site-title {
	margin-bottom: 0;
	font-family: montserrat, helvetica, arial, sans-serif;
	font-size: 17px;
	font-size: 1.7rem;
	font-weight: 600;
	line-height: 1;
	white-space: nowrap;
}

.site-title a {
	color: #ffffff;
	text-decoration: none;
}

.site-description {
	margin-bottom: 0;
	color: #ffffff;
	font-size: 12px;
	font-size: 1.2rem;
	line-height: 1;
}

.custom-logo-link {
	display: block;
}

/* ## Header Right Widget Area
--------------------------------------------- */

.header-widget-area .widget-wrap {
	clear: both;
}

.header-widget-area .widget-wrap:before,
.header-widget-area .widget-wrap:after {
	display: block;
	clear: both;
	content: '';
}

/* ## Custom Header
--------------------------------------------- */
.wp-custom-header {
	overflow: hidden;
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 100%;
	margin: auto;
	pointer-events: none;
	-o-object-fit: cover;
	   object-fit: cover;
	-o-object-position: center;
	   object-position: center;
}

.woocommerce .wp-custom-header img,
.wp-custom-header img,
.wp-custom-header video,
.wp-custom-header iframe {
	width: 100%;
	height: 100%;
}

.wp-custom-header iframe {
	position: absolute;
	top: -30%;
	right: -30%;
	bottom: -30%;
	left: -30%;
	width: 160%;
	min-width: 100%;
	max-width: 160%;
	height: 160%;
	min-height: 56.25vw;
	max-height: none;
	margin: auto;
}

.wp-custom-header-video-button {
	display: none;
}

/* ## Hero Section
--------------------------------------------- */
/* Unified hero section for all pages (homepage + inner pages) */
/* Optimized for wide panoramic hero images */
.hero-section,
.front-page-1 {
	position: relative;
	overflow: hidden;
	isolation: isolate;
	padding: 8rem 0;
	min-height: 400px;
	color: #ffffff;
	background-color: transparent;
	background-position: center;
	background-size: cover;
	background-attachment: scroll;
	background-repeat: no-repeat;
	text-align: center;
}

/* Ken Burns animation background layer */
.hero-section::before,
.front-page-1::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 0;
	/* background-image is set via inline styles from helpers.php */
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
	transform-origin: 50% 50%;
	will-change: transform;
	animation: mpHeroKen 18s ease-in-out infinite alternate;
}

/* Dark overlay for text readability */
.hero-section::after,
.front-page-1::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
	background: linear-gradient(
		180deg,
		rgba(0, 0, 0, 0.4) 0%,
		rgba(0, 0, 0, 0.3) 50%,
		rgba(0, 0, 0, 0.5) 100%
	);
	pointer-events: none;
}

/* Content sits above both layers */
.hero-section .wrap,
.front-page-1 .wrap {
	position: relative;
	z-index: 2;
}

.hero-section > *,
.front-page-1 > * {
	position: relative;
	z-index: 2;
}

.hero-section h1,
.front-page-1 h1 {
	max-width: 768px;
	margin: 0 auto 0.382em;
	text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
}

.hero-section p,
.front-page-1 p {
	max-width: 768px;
	margin: 0 auto;
	text-shadow: 0 1px 3px rgba(0, 0, 0, 0.3);
}

/* CTA strip motion — apply directly to the <img> */
.cta-strip__bg {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transform-origin: 50% 50%;
	will-change: transform;
	animation: mpHeroKen 18s ease-in-out infinite alternate;
}

/* Ken Burns animation - balanced zoom to preserve panoramic images while remaining visible */
@keyframes mpHeroKen {
	0%   { transform: scale(1.05) translate3d(0, 0, 0); }
	100% { transform: scale(1.15) translate3d(-2%, 2%, 0); }
}




/* ## Menus
--------------------------------------------- */
.menu {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display:         flex;
	width: 100%;
	font-family: montserrat, helvetica, arial, sans-serif;
	font-size: 18px;
	font-size: 1.8rem;
	font-weight: 400;
	line-height: 1;
	text-align: center;
	-webkit-flex-wrap: wrap;
	    -ms-flex-wrap: wrap;
	        flex-wrap: wrap;
	clear: both;
}

.menu:before,
.menu:after {
	display: block;
	clear: both;
	content: '';
}

.menu-item {
	display: block;
	position: relative;
	width: 100%;
	padding: 0.5em 0;
}

.menu-item.right {
	margin-left: auto;
}

.menu-item:hover,
.menu-item:focus,
.menu-item.sfHover {
	outline: none;
}

.menu-item.button {
	padding: 0;
	background-color: transparent;
	font-size: 12px;
	font-size: 1.2rem;
}

.menu-item.button:hover {
	box-shadow: none;
}

.menu-item.button > a > span {
	display: block;
	margin-top: 1em;
	padding: 1em 2em;
	border-radius: 4px;
	color: #ffffff;
	background-color: #fb2056;
}

.menu-item.button > a > span:hover {
	color: #ffffff;
	box-shadow: inset 0 0 0 9rem rgba(255, 255, 255, 0.1), 0 1.25rem 1rem -0.5rem rgba(35, 44, 57, 0.25);
	-webkit-transition: all 0.75s cubic-bezier(0, 1, 0.5, 1);
	        transition: all 0.75s cubic-bezier(0, 1, 0.5, 1);
}

.menu-item a {
	display: inline-block;
	width: auto;
	padding: 0.5em 0;
	color: #f0f1f2;
	text-decoration: none;
}

.menu-item a span {
	position: relative;
}

.menu-item a:hover,
.menu-item a:focus,
.menu-item.current-menu-item > a {
	color: #ffffff;
}

.sub-menu .menu-item a:hover,
.sub-menu
.menu-item a:focus,
.sub-menu
.menu-item.current-menu-item > a {
	color: #647585;
}

/* ## Sub Menus
--------------------------------------------- */
.sub-menu {
	display: none;
	padding: 1em 0;
	font-size: 14px;
	font-size: 1.4rem;
	clear: both;
}

.sub-menu:before,
.sub-menu:after {
	display: block;
	clear: both;
	content: '';
}

.sub-menu li {
	width: 100%;
}

.sub-menu li:first-of-type {
	margin-top: 0.5em;
}

.sub-menu li:first-of-type a {
	padding-left: 1em;
}

.sub-menu a {
	padding-left: 1em;
}

.sub-menu .sub-menu {
	padding-left: 1em;
}

/* ## Specific Menus
--------------------------------------------- */
@media (min-width: 1025px) {

	/*
.nav-primary {
	display: none;
	overflow: auto;
	overflow-x: visible;
	position: fixed;
	top: -10px;
	top: -1rem;
	right: -10px;
	right: -1rem;
	bottom: -10px;
	bottom: -1rem;
	left: 5vw;
	left: -10px;
	left: -1rem;
	width: 100vw;
	margin: auto;
	padding: 5vw;
	border-top: 2px solid #f0f1f2;
	border-bottom: 2px solid #f0f1f2;
	background-color: rgba(35, 44, 57, 0.98);
	-webkit-overflow-scrolling: touch;
}

.nav-primary.visible {
	display: block;
}

.no-js .nav-primary {
	display: block;
	position: relative;
	width: 100%;
}

.no-js .nav-primary .wrap {
	padding: 0 5%;
}

.no-js .nav-primary .menu-item {
	display: inline-block;
	width: auto;
	margin: 0 0.5em;
}

.nav-primary .wrap {
	height: 100%;
}

.nav-primary .menu {
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-webkit-flex-direction: column;
	    -ms-flex-direction: column;
	        flex-direction: column;
	min-height: 100%;
	padding: 0 0 1em;
	-webkit-box-pack: center;
	-webkit-justify-content: center;
	-ms-flex-pack: center;
	        justify-content: center;
}
			*/

/* Desktop-only nav styling (wrap existing rules) */

  .nav-primary {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    align-items: center;
    gap: var(--space-3);
    font-size: .875rem; /* 14px */
    font-weight: 500;
    margin-left: 24px;
  }
  .nav-primary .menu-item {
    margin: 0;
  }
  .menu-item-has-children > a::after {
    display: none; /* remove caret arrows on desktop */
  }
}

/* Responsive navigation for mobile (≤1024px) */
@media (max-width: 1024px) {
  /* Show hamburger icon */
  .menu-toggle {
    display: block;
    position: absolute;
    top: 0;
    right: 5vw;
    z-index: 1000;
  }

  /* Hide the navigation until toggled */
  .nav-primary {
    display: none;
  }

  /* Full‑screen overlay when menu is open */
  .nav-primary.visible {
    display: block;
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    padding: 10vh 5vw;
    background: rgba(11,12,16,0.96);
    overflow-y: auto;
    z-index: 999;
  }

  /* Stack menu items vertically and center them */
  .nav-primary .menu {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1.5rem;
    margin: 0;
    padding: 0;
  }

  .nav-primary .menu-item {
    margin: 0;
  }

  /* Hide submenus by default; JS will handle toggling */
  .nav-primary .sub-menu {
    display: none;
    margin: 0;
    padding: 0;
  }

  .nav-primary .menu-item.menu-item-has-children > a::after {
    display: none;
  }
}

@media (max-width: 1024px) {
	/* ## Menu Toggles
	--------------------------------------------- */
	.menu-toggle {
		display: block;
		position: absolute;
		z-index: 999;
		top: 0;
		right: 5vw;
		padding: 27px 0;
		padding: 2.7rem 0;
		color: transparent;
		background-color: transparent;
		line-height: 1;
		letter-spacing: -0.5em;
		cursor: pointer;
	}

	.menu-toggle:hover,
	.menu-toggle:focus {
		outline: none;
		color: transparent;
		background: none;
		box-shadow: none;
	}

	.menu-toggle.activated {
		position: fixed;
	}

	.menu-toggle span {
		display: block;
		float: right;
		position: relative;
		width: 25px;
		width: 2.5rem;
		height: 2px;
		height: 0.2rem;
		margin-top: 7px;
		margin-top: 0.7rem;
		margin-left: 0.236em;
		border-radius: 4px;
		background: #ffffff;
		-webkit-transition: background 0s 0.2s;
				transition: background 0s 0.2s;
	}

	.menu-toggle span:before,
	.menu-toggle span:after {
		display: block;
		position: absolute;
		left: 0;
		width: 100%;
		height: 2px;
		height: 0.2rem;
		border-radius: 4px;
		background-color: #ffffff;
		content: ' ';
	}

	.menu-toggle span:before {
		top: -7px;
		top: -0.7rem;
		-webkit-transition: top 0.2s 0.2s, -webkit-transform 0.2s 0s;
				transition: top 0.2s 0.2s, -webkit-transform 0.2s 0s;
				transition: top 0.2s 0.2s, transform 0.2s 0s;
				transition: top 0.2s 0.2s, transform 0.2s 0s, -webkit-transform 0.2s 0s;
	}

	.menu-toggle span:after {
		bottom: -7px;
		bottom: -0.7rem;
		-webkit-transition: bottom 0.2s 0.2s, -webkit-transform 0.2s 0s;
				transition: bottom 0.2s 0.2s, -webkit-transform 0.2s 0s;
				transition: bottom 0.2s 0.2s, transform 0.2s 0s;
				transition: bottom 0.2s 0.2s, transform 0.2s 0s, -webkit-transform 0.2s 0s;
	}

	.menu-toggle.activated span {
		background: none;
	}

	.menu-toggle.activated span:before {
		top: 0;
		-webkit-transition: top 0.2s 0s, -webkit-transform 0.2s 0.2s;
				transition: top 0.2s 0s, -webkit-transform 0.2s 0.2s;
				transition: top 0.2s 0s, transform 0.2s 0.2s;
				transition: top 0.2s 0s, transform 0.2s 0.2s, -webkit-transform 0.2s 0.2s;
		-webkit-transform: rotate(45deg);
			-ms-transform: rotate(45deg);
				transform: rotate(45deg);
	}

	.menu-toggle.activated span:after {
		bottom: 0;
		-webkit-transition: bottom 0.2s 0s, -webkit-transform 0.2s 0.2s;
				transition: bottom 0.2s 0s, -webkit-transform 0.2s 0.2s;
				transition: bottom 0.2s 0s, transform 0.2s 0.2s;
				transition: bottom 0.2s 0s, transform 0.2s 0.2s, -webkit-transform 0.2s 0.2s;
		-webkit-transform: rotate(-45deg);
			-ms-transform: rotate(-45deg);
				transform: rotate(-45deg);
	}

	.sub-menu-toggle {
		position: absolute;
		margin: 0 -1em 0 1em;
		padding: 0.9em;
		background-color: transparent;
	}

	.sub-menu-toggle:hover,
	.sub-menu-toggle:focus {
		background: none;
	}

	.sub-menu-toggle:before {
		display: block;
		margin: 2px 0 -2px;
		margin: 0.2rem 0 -0.2rem;
		border: 4px solid transparent;
		border: 0.4rem solid transparent;
		border-top-color: #f6f7f8;
		content: '';
	}

	.sub-menu-toggle.activated:before {
		margin: -2px 0 2px;
		margin: -0.2rem 0 0.2rem;
		-webkit-transform: rotate(180deg);
			-ms-transform: rotate(180deg);
				transform: rotate(180deg);
	}

  .menu-item-cta a {
    padding: 12px 28px;
    border-radius: 10px;
    font-size: 1rem;
    font-weight: 600;
    letter-spacing: .03em;
    text-transform: uppercase;
    color: #fff;
    background: linear-gradient(90deg, var(--cta-start), var(--cta-end));
    text-decoration: none;
  }
}

/* === MP: Mobile menu overlay + header tweaks =================== */

/* Make overlay cover everything and stop page scroll when open */
body.menu-open { overflow: hidden; }
.site-header { z-index: 100; }      /* header below the overlay */
@media (max-width:1024px){
  .nav-primary { display: none; }   /* start hidden on mobile */
  .nav-primary.visible {
    display:block; position:fixed; inset:0; width:100vw; height:100vh;
    padding:10vh 5vw; background:rgba(11,12,16,.96); overflow-y:auto; z-index:1000;
  }
  /* Hide header CTA while menu is open so only menu items are visible */
  body.menu-open .header-cta { display: none !important; }
}

/* Logo sizing so there’s room for the hamburger */
@media (max-width:480px){
  .title-area { max-width: 160px; }     /* shrink logo box */
  .title-area img { height: 40px; width: auto; }
}

/* Ensure the hamburger sits above content */
@media (max-width:1024px){
  .menu-toggle { position:absolute; right:5vw; top:0; z-index:1100; }
}



/* ## Entries
--------------------------------------------- */
.entry {
	background-color: #ffffff;
}

.single .entry {
	background-color: transparent;
}

.entry-title a {
	text-decoration: none;
}

.entry-content {
	clear: both;
}

.entry-content:before,
.entry-content:after {
	display: block;
	clear: both;
	content: '';
}

.entry-content p {
	color: #647585;
}

.blog .entry-content p,
.archive .entry-content p {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display:         flex;
	-webkit-flex-wrap: wrap;
	    -ms-flex-wrap: wrap;
	        flex-wrap: wrap;
}

.entry-content b,
.entry-content strong {
	font-weight: 600;
}

.entry-content li {
	color: #647585;
}

.entry-content ol,
.entry-content ul {
	margin-bottom: 1em;
	margin-left: 40px;
	margin-left: 4rem;
}

.entry-content ol > li {
	list-style-type: decimal;
}

.entry-content ul > li {
	list-style-type: disc;
}

.entry-content ol ol,
.entry-content ul ul {
	margin-bottom: 0;
}

.entry-content li li {
	list-style-type: circle;
}

.entry-content code {
	display: block;
	margin-top: 1em;
	padding: 10px 20px;
	padding: 1rem 2rem;
	border: 2px solid #f0f1f2;
	border-radius: 4px;
	background-color: #f6f7f8;
}

.entry-content pre code {
	margin: 0;
	padding: 0;
	border: 0;
}

.entry-content > *:last-child {
	margin-bottom: 0;
}

.entry-image-link {
	display: block;
	margin-bottom: 1em;
}

.entry-image-link img {
	display: block;
}

.entry-image-link {
	display: block;
	margin: 0 0 30px;
	margin: 0 0 3rem;
}

.single .entry-footer {
	padding: 30px 0 0;
	padding: 3rem 0 0;
}

/* ## Entry Meta
--------------------------------------------- */
p.entry-meta {
	font-family: montserrat, helvetica, arial, sans-serif;
	font-size: 12px;
	font-size: 1.2rem;
	font-weight: 500;
}

.entry-header p.entry-meta {
	margin-bottom: 1em;
}

.entry-categories,
.entry-tags {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display:         flex;
	-webkit-flex-wrap: wrap;
	    -ms-flex-wrap: wrap;
	        flex-wrap: wrap;
	-webkit-box-pack: start;
	-webkit-justify-content: flex-start;
	-ms-flex-pack: start;
	        justify-content: flex-start;
	-webkit-box-align: start;
	-webkit-align-items: flex-start;
	-ms-flex-align: start;
	        align-items: flex-start;
	-webkit-align-content: flex-start;
	-ms-flex-line-pack: start;
	        align-content: flex-start;
}

.entry-categories img,
.entry-tags img {
	margin-right: 0.5em;
}

/* ## Pagination
--------------------------------------------- */
.pagination {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display:         flex;
	width: 100%;
	margin: 5vw 0 10vw;
	-webkit-box-pack: center;
	-webkit-justify-content: center;
	-ms-flex-pack: center;
	        justify-content: center;
	clear: both;
}

.pagination:before,
.pagination:after {
	display: block;
	clear: both;
	content: '';
}

.pagination .wrap {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display:         flex;
	width: 100%;
	-webkit-flex-wrap: wrap;
	    -ms-flex-wrap: wrap;
	        flex-wrap: wrap;
	-webkit-box-pack: justify;
	-webkit-justify-content: space-between;
	-ms-flex-pack: justify;
	        justify-content: space-between;
}

.pagination .alignleft {
	margin-left: 0;
}

.pagination .alignright {
	margin-right: 0;
}

.adjacent-entry-pagination {
	margin: 0;
	padding: 40px 0;
	padding: 4rem 0;
	background-color: #f6f7f8;
	font-family: montserrat, helvetica, arial, sans-serif;
	font-size: 14px;
	font-size: 1.4rem;
	font-weight: 500;
}

.adjacent-entry-pagination a {
	color: #647585;
	text-decoration: none;
}

.archive-pagination ul {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display:         flex;
}

.archive-pagination li {
	margin: 0 0.25em 0 0;
}

.archive-pagination a {
	display: block;
	padding: 7.5px 10px;
	padding: 0.75rem 1rem;
	border-radius: 4px;
	color: #232c39;
	background-color: #ffffff;
	font-size: 16px;
	font-size: 1.6rem;
	text-decoration: none;
	-webkit-transition: all 0.75s cubic-bezier(0, 1, 0.5, 1);
	        transition: all 0.75s cubic-bezier(0, 1, 0.5, 1);
}

.archive-pagination a:hover,
.archive-pagination .active a {
	color: #ffffff;
	background-color: #fb2056;
	box-shadow: 0 1rem 1rem -0.5rem rgba(35, 44, 57, 0.15);
}

/* ## Comments
--------------------------------------------- */
.comment-respond,
.entry-comments,
.entry-pings {
	margin-top: 40px;
	margin-top: 4rem;
	background-color: #ffffff;
	font-size: 16px;
	font-size: 1.6rem;
}

.comment-respond .form-submit {
	margin-bottom: 0;
}

.comment-list li {
	padding: 40px 0 0 5vw;
	padding: 4rem 0 0 5vw;
}

.comment-list .depth-1 {
	padding-left: 0;
}

.comment-list .comment-respond {
	padding: 0 0 0 1em;
}

.comment-list > .comment-respond {
	padding: 0;
}

.comment-header {
	margin-bottom: 5vw;
}

.comment-header p {
	margin-bottom: 0;
}

.comment-edit-link {
	padding-left: -webkit-calc(4.8rem + 1em);
	padding-left:         calc(4.8rem + 1em);
}

.entry-pings .comment-edit-link {
	display: block;
	clear: both;
	padding: 0;
}

.comment-reply-link {
	display: block;
	margin-bottom: 1em;
}

.comment-meta {
	padding-left: -webkit-calc(4.8rem + 1em);
	padding-left:         calc(4.8rem + 1em);
	word-break: break-all;
}

.entry-pings .comment-meta {
	padding: 0 0 1em;
}

.comment-content {
	clear: both;
}

.comment-content ul > li {
	list-style-type: disc;
}

.comment-content p {
	margin-bottom: 0.618em;
}

.comment-respond input[type='email'] label,
.comment-respond input[type='text'] label,
.comment-respond input[type='url'] label {
	display: block;
	margin-right: 10px;
	margin-right: 1rem;
}

.entry-pings .reply {
	display: none;
}

.pingback:last-of-type p {
	margin-bottom: 0;
}

/* ## Widgets
--------------------------------------------- */
.sidebar .entry {
	width: 100%;
	padding: 0;
}

.sidebar .entry a {
	display: block;
}

.sidebar-primary {
	-webkit-box-ordinal-group: 4;
	-webkit-order: 3;
	-ms-flex-order: 3;
	        order: 3;
}

.widget {
	margin-bottom: 10vw;
	word-wrap: break-word;
}

.widget:last-of-type {
	margin-bottom: 0;
}

.sidebar .widget {
	margin-bottom: 5vw;
	font-size: 16px;
	font-size: 1.6rem;
}

.sidebar .widget p:last-of-type {
	margin-bottom: 0;
}

.sidebar .widget .menu-item {
	margin: 0;
	padding: 0;
}

.sidebar .widget .menu-item a {
	padding: 1em 2em 1em 0;
	color: #232c39;
}

.widget ul > li:last-of-type:not(.gfield) {
	margin-bottom: 0;
}

.widget ul > li {
	margin-bottom: 0.5em;
	padding-bottom: 0.5em;
}

.widget ul > li:last-of-type {
	padding-bottom: 0;
}

.widget ol > li {
	padding-left: 1em;
	text-indent: -1em;
	list-style-position: inside;
	list-style-type: decimal;
}

.widget li li {
	margin: 0 0 0 1em;
	padding: 0;
	border: 0;
}

.widgettitle,
.widget-title {
	font-family: montserrat, helvetica, arial, sans-serif;
	font-size: 24px;
	font-size: 2.4rem;
}

.sidebar .widgettitle,
.sidebar
.widget-title {
	margin-bottom: 1em;
	font-size: 16px;
	font-size: 1.6rem;
}

.widget_calendar table {
	width: 100%;
}

.widget_calendar td,
.widget_calendar th {
	text-align: center;
}

/* ## Site Footer
--------------------------------------------- */
.site-footer {
	position: relative;
	color: #a4a8ac;
	background-color: #000000;
}

.site-footer > .wrap {
	position: relative;
	padding: 0 5vw 5vw;
}

.site-footer > .wrap > p {
	max-width: -webkit-calc(100% - 4rem);
	max-width:         calc(100% - 4rem);
	margin-bottom: 0;
	font-size: 16px;
	font-size: 1.6rem;
}

.site-footer a {
	color: #a4a8ac;
	text-decoration: none;
}

.site-footer a:hover {
	color: #f6f7f8;
}

.site-footer .back-to-top {
	position: absolute;
	right: 5vw;
	bottom: 20px;
	bottom: 2rem;
	width: 30px;
	width: 3rem;
	height: 30px;
	height: 3rem;
	border-radius: 4px;
	background-color: rgba(255, 255, 255, 0.1);
	text-align: center;
}

.site-footer .back-to-top:hover {
	background-color: rgba(255, 255, 255, 0.2);
}

.site-footer .back-to-top:before,
.site-footer .back-to-top:after {
	display: block;
	position: absolute;
	top: 13px;
	top: 1.3rem;
	left: 9px;
	left: 0.9rem;
	width: 8px;
	height: 2px;
	background-color: #a4a8ac;
	content: '';
	-webkit-transform: rotate(-45deg);
	    -ms-transform: rotate(-45deg);
	        transform: rotate(-45deg);
}

.site-footer .back-to-top:after {
	left: 13px;
	left: 1.3rem;
	-webkit-transform: rotate(45deg);
	    -ms-transform: rotate(45deg);
	        transform: rotate(45deg);
}

/* ## Footer Widgets
--------------------------------------------- */
.footer-widgets {
	z-index: 0;
	padding: 60px 0;
	padding: 6rem 0;
	font-size: 17px;
	font-size: 1.7rem;
}

.footer-widgets .widget-area {
	margin: 0 auto 40px;
	margin: 0 auto 4rem;
}

.footer-widgets .widget-area:last-of-type {
	margin-bottom: 0;
}

.footer-widgets .widget-area .widget {
	display: block;
	width: 100%;
	margin: 0 auto 2em;
}

.footer-widgets .widget-area .widget:last-of-type {
	margin-bottom: 0;
}

.footer-widgets .widget-title {
	margin-bottom: 1.5em;
	color: #f0f1f2;
	font-size: 16px;
	font-size: 1.6rem;
}

.footer-widgets .menu-item {
	width: 50%;
	margin: 0 0 1em;
	padding: 0;
	font-family: hind, helvetica, arial, sans-serif;
	font-weight: 400;
	line-height: 1.618;
	text-transform: capitalize;
}

.footer-widgets .menu-item a {
	float: left;
	margin: 0;
	padding: 0;
	font-size: 16px;
	font-size: 1.6rem;
	text-align: left;
}

.footer-widgets .menu-item a:hover,
.footer-widgets .menu-item.current-menu-item > a {
	color: #f6f7f8;
}

.footer-widgets .sub-menu {
	display: none !important;
}

.footer-widgets .enews ::-moz-placeholder {
	opacity: 1;
	color: rgba(255, 255, 255, 0.5);
}

.footer-widgets .enews ::-webkit-input-placeholder {
	color: rgba(255, 255, 255, 0.5);
}

.footer-widgets .enews form {
	position: relative;
}

.footer-widgets .enews input {
	padding: 4px 14px;
	padding: 0.4rem 1.4rem;
	border-color: #647585;
	color: #ffffff;
	background: transparent;
	font-size: 16px;
	font-size: 1.6rem;
	-webkit-transition: all 0.75s cubic-bezier(0, 1, 0.5, 1);
	        transition: all 0.75s cubic-bezier(0, 1, 0.5, 1);
}

.footer-widgets .enews input:focus {
	border-color: #a4a8ac;
}

.footer-widgets .enews input[type='submit'] {
	position: absolute;
	z-index: 1;
	right: 0;
	bottom: 0;
	width: 50px;
	width: 5rem;
	padding: 4px 0;
	color: transparent;
	background-color: transparent;
	box-shadow: none;
	font-size: 100%;
	line-height: 2;
}

.footer-widgets .enews input[type='submit']:hover + .fa-send-o {
	color: #ffffff;
}

.footer-widgets .enews input[type='submit']:focus {
	outline: 2px solid #f0f1f2;
}

.footer-widgets .enews .fa-send-o {
	position: absolute;
	z-index: 0;
	right: 0;
	bottom: 0;
	margin-bottom: 0.5em;
	padding: 0.5em 0.75em;
	font-size: 20px;
	font-size: 2rem;
	line-height: 1;
	-webkit-transition: all 0.75s cubic-bezier(0, 1, 0.5, 1);
	        transition: all 0.75s cubic-bezier(0, 1, 0.5, 1);
}

/* ## Before Footer
--------------------------------------------- */
.before-footer {
	padding: 60px 0;
	padding: 6rem 0;
	color: #ffffff;
	background-color: #232c39;
	position: relative;
}

.before-footer:before {
	display: block;
	position: absolute;
	z-index: 1;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	background-color: rgba(35, 44, 57, 0.9);
	content: '';
	pointer-events: none;
}

.before-footer:before {
	top: 1%;
	right: -50%;
	left: -50%;
	width: 100vw;
	height: 101%;
	margin: auto;
}

.before-footer .widget {
	position: relative;
	z-index: 1;
	margin-bottom: 5vw;
}

.before-footer .widget_media_image:first-of-type {
	display: block;
	position: absolute;
	z-index: 0;
	top: 0;
	right: -50%;
	bottom: 0;
	left: -50%;
	width: 100vw;
	height: 100%;
	margin: auto;
}

.before-footer .widget_media_image:first-of-type .widget-wrap {
	position: absolute;
	width: 100%;
	height: 100%;
}

.before-footer .widget_media_image:first-of-type img {
	width: 100% !important;
	height: 100% !important;
	-o-object-fit: cover;
	   object-fit: cover;
	-o-object-position: center;
	   object-position: center;
}

.before-footer .wrap {
	z-index: 1;
}

.before-footer .widget-title {
	font-size: 30px;
	font-size: 3rem;
}

.before-footer p {
	margin-bottom: 0;
	color: #f6f7f8;
}

.before-footer button,
.before-footer .button,
.before-footer input[type='submit'] {
	margin: 0;
	color: #ffffff;
}

.before-footer button:hover,
.before-footer .button:hover,
.before-footer input[type='submit']:hover {
	color: #ffffff;
}

.before-footer button.alignright,
.before-footer .button.alignright,
.before-footer input[type='submit'].alignright {
	float: left;
}

/* =========================================
 * 6. Footer
 * ======================================= */

 /*
.mp-footer {
  background: var(--mp-surface-900, #0B0C10);
  color: var(--mp-text-100, #fff);
  padding: clamp(32px, 6vw, 72px) 16px;
}
.mp-footer .wrap { max-width: var(--container-max, 1200px); margin-inline: auto; text-align: center; }

.mp-footer__brand { display: inline-block; margin-bottom: clamp(16px, 3vw, 32px); }
.mp-footer__brand img { height: auto; max-width: 240px; filter: drop-shadow(0 0 0 rgba(0,0,0,0)); }
.mp-footer__brand--text { font: 800 1.25rem/1 var(--font-base, "Inter", Arial, sans-serif); }

.mp-footer__social { margin-bottom: clamp(16px, 3vw, 28px); }
.mp-footer__social-list {
  display: inline-flex; gap: 14px; align-items: center; justify-content: center; padding: 0; margin: 0;
}
.mp-footer__social-list li { list-style: none; }
.mp-footer__social-list a.ico {
  width: 36px; height: 36px; display: inline-block; border-radius: 999px;
  background: rgba(255,255,255,0.1);
  position: relative; overflow: hidden;
}
.mp-footer__social-list a.ico::before {
  content: ""; position: absolute; inset: 0; margin: 8px;
  background: #fff;
  -webkit-mask-size: contain; -webkit-mask-repeat: no-repeat; -webkit-mask-position: center;
  mask-size: contain; mask-repeat: no-repeat; mask-position: center;
}
*/

/* Swap these paths to your SVGs in /assets/icons/ */
.ico--insta::before    { -webkit-mask-image: url("/wp-content/themes/mattprados.com-theme/assets/images/instagram.svg"); mask-image: url("/wp-content/themes/mattprados.com-theme/assets/images/instagram.svg"); }
.ico--facebook::before { -webkit-mask-image: url("/wp-content/themes/mattprados.com-theme/assets/images/facebook.svg");  mask-image: url("/wp-content/themes/mattprados.com-theme/assets/images/facebook.svg"); }
.ico--youtube::before  { -webkit-mask-image: url("/wp-content/themes/mattprados.com-theme/assets/images/youtube.svg");   mask-image: url("/wp-content/themes/mattprados.com-theme/assets/images/youtube.svg"); }
.ico--twitter::before  { -webkit-mask-image: url("/wp-content/themes/mattprados.com-theme/assets/images/twitter.svg");   mask-image: url("/wp-content/themes/mattprados.com-theme/assets/images/twitter.svg"); }
.ico--linkedin::before { -webkit-mask-image: url("/wp-content/themes/mattprados.com-theme/assets/images/linkedin.svg");  mask-image: url("/wp-content/themes/mattprados.com-theme/assets/images/linkedin.svg"); }
.ico--tiktok::before   { -webkit-mask-image: url("/wp-content/themes/mattprados.com-theme/assets/images/tiktok.svg");    mask-image: url("/wp-content/themes/mattprados.com-theme/assets/images/tiktok.svg"); }
.mp-footer__social-list a.ico:hover { background: rgba(255,255,255,0.2); }

.mp-footer__credits {
  display: grid; gap: 10px; justify-items: center;
}
.mp-footer__copy { margin: 0; opacity: .85; font-size: clamp(0.9rem, 0.3vw + 0.85rem, 1rem); }
.mp-footer__links { display: inline-flex; gap: 18px; margin: 0; padding: 0; }
.mp-footer__links li { list-style: none; }
.mp-footer__links a { color: #fff; text-decoration: none; opacity: .9; }
.mp-footer__links a:hover, .mp-footer__links a:focus-visible { text-decoration: underline; }

/* Optional "Back to top" if you use the inline anchor above */
.mp-backtotop {
  position: fixed; right: 16px; bottom: 16px; width: 40px; height: 40px;
  display: grid; place-items: center; border-radius: 999px; text-decoration: none;
  background: linear-gradient(135deg, var(--mp-blue-500,#0D4DFF), var(--mp-blue-600,#003ED1));
  color: #fff; box-shadow: 0 10px 28px rgba(0,0,0,.35);
}

/* =========================================
 * 6. Footer (editable via menus + site logo)
 * ======================================= */
/* 6. Footer — icons via background-image (no masks) + logo sizing */
.mp-footer { background:#000000; color:#fff; padding: clamp(32px,6vw,72px) 16px; }
.mp-footer .wrap { max-width: var(--container-max,1200px); margin-inline:auto; text-align:center; }

/* Brand logo — keep it modest */
.mp-footer__brand { display:inline-block; margin-bottom: clamp(16px,3vw,32px); }
.mp-footer__brand .custom-logo { max-width: 220px; height: auto; } /* <= key line */
.mp-footer__brand--text { font: 800 1.25rem/1 var(--font-base,"Inter",Arial,sans-serif); }

/* Social menu base */
.mp-footer__social { margin-bottom: clamp(16px,3vw,28px); }
/* Footer social — icon-only, no pill background */
.mp-footer__social-list{display:inline-flex;gap:18px;padding:0;margin:0;list-style:none;}
.mp-footer__social-list li{list-style:none;}
.mp-footer__social-list a{
  position:relative;display:inline-block;width:28px;height:28px;
  background:transparent;border-radius:0;
}

/*
.mp-footer__social-list{ display:inline-flex; gap:14px; padding:0; margin:0; list-style:none; }
.mp-footer__social-list li{ list-style:none; }
.mp-footer__social-list a{
  width:36px; height:36px; display:inline-block;
  position:relative; overflow:hidden;
}
  */
.mp-footer__social-list a:hover{ background: rgba(255,255,255,.22); }
.mp-footer__social-list a .sr-only{
  position:absolute; clip:rect(0 0 0 0); clip-path: inset(50%);
  width:1px; height:1px; overflow:hidden;
}

/* If you switched to background-image icons (recommended) make sure these exist */
.mp-footer__social-list a::before{
  content:""; position:absolute; inset:0; margin:8px;
  background-repeat:no-repeat; background-position:center; background-size:contain;
}
.mp-footer__social-list a.social-facebook::before  { background-image: var(--mp-icon-facebook); }
.mp-footer__social-list a.social-instagram::before { background-image: var(--mp-icon-instagram); }
.mp-footer__social-list a.social-linkedin::before  { background-image: var(--mp-icon-linkedin); }
.mp-footer__social-list a.social-twitter::before   { background-image: var(--mp-icon-twitter); }
.mp-footer__social-list a.social-youtube::before   { background-image: var(--mp-icon-youtube); }
.mp-footer__social-list a.social-tiktok::before    { background-image: var(--mp-icon-tiktok); }


/* Credits + links */
.mp-footer__credits{ display:grid; gap:10px; justify-items:center; }
.mp-footer__copy{ margin:0; opacity:.85; font-size: clamp(.9rem,.3vw + .85rem,1rem); }
.mp-footer__links{ display:inline-flex; gap:18px; padding:0; margin:0; list-style:none; }
.mp-footer__links a{ color:#fff; text-decoration:none; opacity:.9; }
.mp-footer__links a:hover,.mp-footer__links a:focus-visible{ text-decoration:underline; }


/* =========================================
 * 6. Footer — consolidated (spacing + one-line credits)
 * ======================================= */
.mp-footer{
  color: var(--mp-text-100, #fff);
  padding-block: clamp(2rem, 3vw, 4rem); /* 20px–40px */
  padding-inline: 16px;
}
.mp-footer .wrap{ max-width: var(--container-max, 1200px); margin: 0 auto; text-align: center; }

/* center stack with predictable gaps */
.mp-footer__inner{
  display: grid;
  justify-items: center;
  row-gap: clamp(12px, 2.2vw, 22px);
}

/* brand/logo */
.mp-footer__brand{ margin: 0; }
.mp-footer__brand .custom-logo{ max-width: 220px; height: auto; }

/* socials: icon-only (no pills) */
.mp-footer__social{ margin: 0; }
.mp-footer__social-list{
  display: inline-flex;
  gap: clamp(12px, 1.8vw, 18px);
  padding: 0;
  margin: 0;
  list-style: none;
}
.mp-footer__social-list li{ list-style: none; }
.mp-footer__social-list a{
  position: relative;
  display: inline-block;
  width: clamp(22px, 1.8vw + 12px, 28px);
  height: clamp(22px, 1.8vw + 12px, 28px);
  background: transparent;
  border-radius: 0;
}
.mp-footer__social-list a::before{
  content:"";
  position:absolute; inset:0; margin:0;
  background-repeat:no-repeat; background-position:center; background-size:contain;
}
/* these use the vars you inject in functions.php */
.mp-footer__social-list a.social-facebook::before  { background-image: var(--mp-icon-facebook); }
.mp-footer__social-list a.social-instagram::before { background-image: var(--mp-icon-instagram); }
.mp-footer__social-list a.social-linkedin::before  { background-image: var(--mp-icon-linkedin); }
.mp-footer__social-list a.social-twitter::before   { background-image: var(--mp-icon-twitter); }
.mp-footer__social-list a.social-youtube::before   { background-image: var(--mp-icon-youtube); }
.mp-footer__social-list a.social-tiktok::before    { background-image: var(--mp-icon-tiktok); }

/* credits + legal: ONE LINE, styled the same */
.mp-footer__credits{
  display: flex;
  align-items: center;
  justify-content: center;
  gap: clamp(16px, 2vw, 24px);
  margin: 0;
  flex-wrap: wrap; /* prevents overflow on very small screens */
}

.mp-footer__copy,
.mp-footer__links a {
  font-size: clamp(1.4rem, 0.5vw + 1.2rem, 1.8rem);
  line-height: 1.6;
}

@media (min-width: 1152px) {
    .mp-footer .menu-item a {
        padding: 0.5em;
    }
	.mp-footer .mp-footer__social-list .menu-item a {
        padding: 1em;
    }
}

.mp-footer__copy{
  margin: 0;
  opacity: .9;
}
.mp-footer__links-nav{ margin: 0; }
.mp-footer__links{
  display: inline-flex;
  gap: clamp(16px, 2vw, 24px);
  padding: 0;
  margin: 0;
  list-style: none;
}
.mp-footer__links li{ list-style: none; }
.mp-footer__links a{
  color: inherit;
  text-decoration: none;
  opacity: .9;
  font-size: clamp(1.4rem, 0.5vw + 1.2rem, 1.8rem);
  line-height: 1.6;
}
.mp-footer__links a:hover,
.mp-footer__links a:focus-visible{ opacity: 1; text-decoration: underline; }

/* single separator between © and legal links */
.mp-footer__credits nav.mp-footer__links-nav::before{
  content:"";
  display:inline-block;
  width:1px; height:1.1em;
  background: rgba(255,255,255,.25);
  margin-right: clamp(12px, 1.2vw, 16px);
  transform: translateY(.15em);
}

/* small screens: a touch more breathing room between stacked items */
@media (max-width: 480px){
  .mp-footer__inner{ row-gap: 18px; }
}



/* ## Simple Social Icons
--------------------------------------------- */
/*
.simple-social-icons {
	overflow: hidden;
}

.simple-social-icons svg[class^='social-'],
.simple-social-icons svg[class*=' social-'] {
	display: inline-block;
	width: 1em;
	height: 1em;
	stroke-width: 0;
	stroke: currentColor;
	fill: currentColor;
}

.simple-social-icons ul {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display:         flex;
	margin: -0.2em -0.2em 0 0;
	padding: 0;
	-webkit-flex-wrap: wrap;
	    -ms-flex-wrap: wrap;
	        flex-wrap: wrap;
	-webkit-box-pack: start;
	-webkit-justify-content: flex-start;
	-ms-flex-pack: start;
	        justify-content: flex-start;
}

.simple-social-icons ul li {
	margin: 0.2em 0.2em 0 0;
	padding: 0;
	border: none;
	background: none;
	list-style-type: none;
}

.simple-social-icons ul li a {
	display: inline-block;
	-moz-box-sizing: content-box;
	     box-sizing: content-box;
	width: 1em;
	height: 1em;
	margin: 2px;
	border: none;
	font-weight: 400;
	font-style: normal;
	font-variant: normal;
	line-height: 1;
	text-align: center;
	text-decoration: none;
	text-transform: none;
}

.simple-social-icons ul.aligncenter {
	-webkit-box-pack: center;
	-webkit-justify-content: center;
	-ms-flex-pack: center;
	        justify-content: center;
}

.simple-social-icons ul.alignleft {
	-webkit-box-pack: start;
	-webkit-justify-content: flex-start;
	-ms-flex-pack: start;
	        justify-content: flex-start;
}

.simple-social-icons ul.alignright {
	-webkit-box-pack: end;
	-webkit-justify-content: flex-end;
	-ms-flex-pack: end;
	        justify-content: flex-end;
}
			*/

/* ## Genesis Testimonial Slider
--------------------------------------------- */
div.lSSlideOuter .lSPager.lSpg > li {
	display: -webkit-inline-box;
	display: -webkit-inline-flex;
	display: -ms-inline-flexbox;
	display:         inline-flex;
	line-height: 0.16;
}

div.lSSlideOuter .lSPager.lSpg > li a {
	display: block;
	opacity: 0.382;
	background-color: #232c39;
}

div.lSSlideOuter .lSPager.lSpg > li.active a,
div.lSSlideOuter .lSPager.lSpg > li:hover a {
	opacity: 0.618;
	background-color: #232c39;
	-webkit-transform: scale(1.2);
	    -ms-transform: scale(1.2);
	        transform: scale(1.2);
}

div.lSSlideOuter ul.testimonials-list {
	color: #647585;
	font-size: 18px;
	font-size: 1.8rem;
}

div.lSSlideOuter ul.testimonials-list li {
	text-align: left;
}

/* ## Genesis eNews Extended
--------------------------------------------- */
.enews input {
	margin-bottom: 0.5em;
}

/* ## Business Profile
--------------------------------------------- */
.hero-section .bp-contact-card {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display:         flex;
	text-align: center;
	-webkit-flex-wrap: wrap;
	    -ms-flex-wrap: wrap;
	        flex-wrap: wrap;
	-webkit-box-pack: center;
	-webkit-justify-content: center;
	-ms-flex-pack: center;
	        justify-content: center;
}

.hero-section .bp-contact-card > div {
	width: 100%;
	margin: 2em 1em 0;
	text-align: center;
}

.hero-section .bp-contact-card a {
	color: #f0f1f2;
	text-decoration: none;
}

.bp-contact-card .bp-directions,
.bp-contact-card .bp-phone,
.bp-contact-card .bp-contact,
.bp-contact-card .bp-booking,
.bp-contact-card .bp-opening-hours-brief,
.bp-contact-card .bp-opening-hours .bp-title {
	text-align: left;
}

.bp-contact-card .bp-directions:before,
.bp-contact-card .bp-phone:before,
.bp-contact-card .bp-contact:before,
.bp-contact-card .bp-booking:before,
.bp-contact-card .bp-opening-hours-brief:before,
.bp-contact-card .bp-opening-hours .bp-title:before {
	width: 1em;
	font-family: FontAwesome, sans-serif;
	line-height: 0.9;
}

.bp-contact-card .bp-opening-hours .bp-title {
	margin-bottom: 10px;
	margin-bottom: 1rem;
}

.bp-contact-card .bp-directions:before {
	content: '\f27d';
}

.bp-contact-card .bp-phone:before {
	content: '\f2b3';
}

.bp-contact-card .bp-contact:before {
	content: '\f1c6';
}

.bp-contact-card .bp-opening-hours-brief:before,
.bp-contact-card .bp-opening-hours .bp-title:before {
	content: '\f18f';
}

/* ## Ninja Forms
--------------------------------------------- */
.nf-error.field-wrap .ninja-forms-field {
	border: 2px solid #fb2056;
}

.nf-error-msg {
	color: #fb2056;
	font-size: 15px;
	font-size: 1.5rem;
}

/* ## Genesis Simple FAQs
--------------------------------------------- */
.gs-faq__question {
	margin-bottom: 10px;
	margin-bottom: 1rem;
	color: #647585;
	background-color: #f6f7f8;
}

.gs-faq__question:hover {
	color: #647585;
}

/* ## WooCommerce (site-wide)
--------------------------------------------- */
.woocommerce-store-notice,
p.demo_store {
	position: relative;
	padding: 10px 0;
	padding: 1rem 0;
	font-size: 15px;
	font-size: 1.5rem;
}

.woocommerce-demo-store .hero-section {
	padding-top: 180px;
	padding-top: 18rem;
}

.woocommerce-demo-store .menu-toggle {
	top: 64px;
}

/* ## SEO Slider
--------------------------------------------- */
.slick-initialized .slick-slide {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display:         flex;
}

.no-js .slick-slide:first-of-type {
	display: block;
	width: 100%;
}

.slick-arrow {
	box-shadow: none;
}

/* ## Front Page
--------------------------------------------- */
.home .site-inner {
	padding: 0;
}

.front-page-1,
.front-page-2,
.front-page-3,
.front-page-4,
.front-page-5,
.front-page-6 {
	padding: 80px 0;
	padding: 8rem 0;
	background-color: #ffffff;
}

/* ### Front Page 1 */
.front-page-1 {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display:         flex;
	/* Padding, overflow, position, colors, and background handled in unified hero section above */
	text-align: center;
	-webkit-flex-wrap: wrap;
	    -ms-flex-wrap: wrap;
	        flex-wrap: wrap;
	-webkit-box-align: center;
	-webkit-align-items: center;
	-ms-flex-align: center;
	        align-items: center;
	-webkit-align-content: center;
	-ms-flex-line-pack: center;
	        align-content: center;
	clear: both;
}

.front-page-1:before,
.front-page-1:after {
	display: block;
	clear: both;
	content: '';
}

.has-hero-slider .front-page-1 {
	padding: 0;
}

.has-hero-slider .front-page-1 .wrap {
	width: 100%;
	max-width: 100%;
	padding: 0;
}

.has-hero-slider .front-page-1 .widget {
	max-width: 100%;
	margin: 0;
}

.has-hero-slider .front-page-1 .widget:first-of-type {
	padding-top: 0;
}

.front-page-1 .slick-arrow {
	visibility: hidden;
	overflow: hidden;
}

.front-page-1 .wrap {
	position: relative;
	z-index: 2;
}

.front-page-1 .widget:first-of-type {
/*	padding-top: 5vh; */
	padding-top: 19vh;
}

.front-page-1 .widget .widget-wrap p {
	margin-bottom: 1.618em;
	color: #f0f1f2;
}

/* ### Front Page 2 */
.front-page-2 {
	text-align: center;
}

.front-page-2 .fa-coffee {
	margin-left: -15px;
	margin-left: -1.5rem;
}

.front-page-2 .widget-title {
	margin: 10px auto;
	margin: 1rem auto;
	font-size: 20px;
	font-size: 2rem;
}

.front-page-2 p {
	display: block;
	color: #647585;
}

/* ### Front Page 3 */
.front-page-3 {
	background-color: #f6f7f8;
}

.front-page-3 .wrap {
	-webkit-flex-wrap: wrap;
	    -ms-flex-wrap: wrap;
	        flex-wrap: wrap;
}

.front-page-3 .widget {
	margin-bottom: 5vw;
}

.front-page-3 .widget:first-of-type {
	margin-bottom: 10px;
	margin-bottom: 1rem;
}

.front-page-3 .widget_custom_html:first-of-type {
	margin-right: auto;
	margin-left: auto;
	text-align: center;
}

.front-page-3 .widget_custom_html:first-of-type hr {
	display: block;
	width: 100px;
	width: 10rem;
	height: 3px;
	height: 0.3rem;
	margin: 0 auto 40px;
	margin: 0 auto 4rem;
	padding: 0;
	border: 0;
	background-color: #fb2056;
}

.front-page-3 .widget_custom_html:first-of-type p {
	color: #647585;
}

.front-page-3 p {
	color: #647585;
}

.front-page-3 .entry {
	max-width: 400px;
	max-width: 40rem;
	margin-right: auto;
	margin-left: auto;
	padding: 0;
	border-radius: 4px;
	box-shadow: 0 27px 40px -20px rgba(35, 44, 57, 0.11);
	-webkit-transition: all 0.75s cubic-bezier(0, 1, 0.5, 1);
	        transition: all 0.75s cubic-bezier(0, 1, 0.5, 1);
}

.front-page-3 .entry:hover {
	box-shadow: 0 27px 40px -20px rgba(35, 44, 57, 0.22);
}

.front-page-3 .entry > a {
	display: block;
	margin: 0;
	position: relative;
}

.front-page-3 .entry > a:before {
	display: block;
	position: absolute;
	z-index: 1;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	background-color: rgba(35, 44, 57, 0.9);
	content: '';
	pointer-events: none;
}

.front-page-3 .entry > a:before {
	opacity: 0.1;
}

.front-page-3 .entry > a:focus ~ .entry-header a {
	color: #647585;
}

.front-page-3 .entry p {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display:         flex;
	-webkit-flex-wrap: wrap;
	    -ms-flex-wrap: wrap;
	        flex-wrap: wrap;
}

.front-page-3 .entry-title {
	padding: 30px 30px 0;
	padding: 3rem 3rem 0;
	font-size: 18px;
	font-size: 1.8rem;
}

.front-page-3 .entry-content {
	padding: 0 30px 30px;
	padding: 0 3rem 3rem;
	color: #647585;
	font-size: 18px;
	font-size: 1.8rem;
}

.front-page-3 img {
	min-width: 100%;
	border-radius: 4px 4px 0 0;
}

.front-page-3 .more-link {
	display: block;
	width: auto;
	margin-top: 1em;
	padding: 0.618em 1.618em;
	border-radius: 4px;
	color: #ffffff;
	background-color: #232c39;
	box-shadow: 0 27px 40px -20px rgba(35, 44, 57, 0.22);
	font-family: montserrat, helvetica, arial, sans-serif;
	font-size: 14px;
	font-size: 1.4rem;
	font-weight: 500;
	text-decoration: none;
	-webkit-transition: all 0.75s cubic-bezier(0, 1, 0.5, 1);
	        transition: all 0.75s cubic-bezier(0, 1, 0.5, 1);
}

.front-page-3 .more-link:hover {
	box-shadow: 0 27px 40px -20px rgba(35, 44, 57, 0.22);
}

/* ### Front Page 4 */
.front-page-4 {
	overflow: hidden;
	position: relative;
	padding: 100px 0;
	padding: 10rem 0;
	color: #ffffff;
	background-color: #232c39;
	text-align: center;
	position: relative;
}

.front-page-4:before {
	display: block;
	position: absolute;
	z-index: 1;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	background-color: rgba(35, 44, 57, 0.9);
	content: '';
	pointer-events: none;
}

.front-page-4 .widget {
	max-width: 640px;
	max-width: 64rem;
	margin: 0 auto;
}

.front-page-4 .widget-wrap {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display:         flex;
	position: relative;
	z-index: 1;
	width: 100%;
	height: 100%;
	-webkit-box-align: center;
	-webkit-align-items: center;
	-ms-flex-align: center;
	        align-items: center;
}

.front-page-4 .widget_media_image:first-of-type {
	position: absolute;
	z-index: 0;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	margin: 0;
}

.front-page-4 .widget_media_image:first-of-type img {
	width: 100% !important;
	height: 100% !important;
	-o-object-fit: cover;
	   object-fit: cover;
	-o-object-position: center;
	   object-position: center;
}

.front-page-4 .widget.widget_media_video {
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	margin: auto;
	visibility: hidden;
	position: fixed;
	z-index: 998;
	max-width: 100%;
	height: 100%;
	margin: auto;
	opacity: 0;
	pointer-events: none;
	-webkit-transition: all 0.75s cubic-bezier(0, 1, 0.5, 1);
	        transition: all 0.75s cubic-bezier(0, 1, 0.5, 1);
}

.front-page-4 .widget.widget_media_video.visible {
	visibility: visible;
	opacity: 1;
	pointer-events: all;
}

.front-page-4 .textwidget {
	width: 100%;
}

.front-page-4 .wp-video {
	position: relative;
	padding: 5%;
}

.front-page-4 iframe {
	display: block;
	width: 100% !important;
	height: 100% !important;
	box-shadow: 0 3rem 3rem -2rem rgba(35, 44, 57, 0.5);
}

.front-page-4 .show-video {
	width: 3em;
	height: 3em;
	margin: 0 auto 1em;
	padding: 0;
	border: 3px solid #ffffff;
	border-radius: 3em;
	color: #ffffff;
	background-color: transparent;
	font-size: 24px;
	font-size: 2.4rem;
	-webkit-transition: all 0.75s cubic-bezier(0, 1, 0.5, 1);
	        transition: all 0.75s cubic-bezier(0, 1, 0.5, 1);
}

.front-page-4 .show-video:hover {
	-webkit-transform: scale(1.1);
	    -ms-transform: scale(1.1);
	        transform: scale(1.1);
}

.front-page-4 .hide-video {
	position: absolute;
	z-index: 999;
	top: -5%;
	right: 0;
	width: 1em;
	height: 1em;
	padding: 10px;
	padding: 1rem;
	border-radius: 9rem;
	background: transparent;
	box-shadow: none;
	font-size: 2em;
	line-height: 0;
	text-align: center;
}

.front-page-4 .before {
	position: fixed;
	background-color: rgba(35, 44, 57, 0.9);
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	margin: auto;
}

/* ### Front Page 5 */
.front-page-5 .featured-portfolio .widget-wrap {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display:         flex;
	-webkit-flex-wrap: wrap;
	    -ms-flex-wrap: wrap;
	        flex-wrap: wrap;
}

.front-page-5 .widget-title {
	width: 100%;
	margin-bottom: 2em;
	text-align: center;
}

.front-page-5 .entry {
	position: relative;
	margin-bottom: 30px;
	margin-bottom: 3rem;
	padding: 0;
	border-radius: 4px;
	box-shadow: 0 27px 40px -20px rgba(35, 44, 57, 0.22);
	-webkit-transition: all 0.75s cubic-bezier(0, 1, 0.5, 1);
	        transition: all 0.75s cubic-bezier(0, 1, 0.5, 1);
	position: relative;
}

.front-page-5 .entry:before {
	display: block;
	position: absolute;
	z-index: 1;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	background-color: rgba(35, 44, 57, 0.9);
	content: '';
	pointer-events: none;
}

.front-page-5 .entry:before {
	border-radius: 4px;
	opacity: 0.1;
	-webkit-transition: all 0.75s cubic-bezier(0, 1, 0.5, 1);
	        transition: all 0.75s cubic-bezier(0, 1, 0.5, 1);
}

.front-page-5 .entry:hover {
	box-shadow: 0 27px 40px -20px rgba(35, 44, 57, 0.33);
}

.front-page-5 .entry:hover:before,
.front-page-5 .entry:hover .entry-header {
	opacity: 1;
}

.front-page-5 .entry:hover .entry-header {
	-webkit-transform: scale(1);
	    -ms-transform: scale(1);
	        transform: scale(1);
}

.front-page-5 .entry:last-of-type {
	margin-bottom: 30px;
	margin-bottom: 3rem;
}

.front-page-5 .entry > a {
	display: block;
	height: 100%;
	margin: 0;
}

.front-page-5 .entry > a img {
	border-radius: 4px;
}

.front-page-5 .entry-header {
	display: block;
	position: absolute;
	z-index: 1;
	height: 1em;
	opacity: 0;
	color: #ffffff;
	font-family: montserrat, helvetica, arial, sans-serif;
	font-size: smaller;
	font-weight: 500;
	line-height: 1;
	text-align: center;
	text-decoration: none;
	-webkit-transform: scale(0);
	    -ms-transform: scale(0);
	        transform: scale(0);
	-webkit-transition: all 0.75s cubic-bezier(0, 1, 0.5, 1);
	        transition: all 0.75s cubic-bezier(0, 1, 0.5, 1);
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	margin: auto;
}

.front-page-5 a {
	color: #ffffff;
}

/* ### Front Page 6 */
.front-page-6 {
	background-color: #f6f7f8;
}

.front-page-6 img {
	width: 50px;
	width: 5rem;
	margin-bottom: 10px;
	margin-bottom: 1rem;
}

.front-page-6 .lslide,
.front-page-6 .clone {
	padding: 15px;
	padding: 1.5rem;
}

.front-page-6 .lslide .wrap,
.front-page-6 .clone .wrap {
	padding: 2em 2em 2.4em;
	border-radius: 4px;
	background-color: #ffffff;
	box-shadow: 0 2rem 2rem -1rem rgba(35, 44, 57, 0.05);
	clear: both;
	-webkit-transition: all 0.75s cubic-bezier(0, 1, 0.5, 1);
	        transition: all 0.75s cubic-bezier(0, 1, 0.5, 1);
}

.front-page-6 .lslide .wrap:before,
.front-page-6 .lslide .wrap:after,
.front-page-6 .clone .wrap:before,
.front-page-6 .clone .wrap:after {
	display: block;
	clear: both;
	content: '';
}

.front-page-6 .lslide .wrap:hover,
.front-page-6 .clone .wrap:hover {
	box-shadow: 0 2rem 2rem -1rem rgba(35, 44, 57, 0.1);
}

.front-page-6 blockquote {
	margin: 0 0 15px;
	margin: 0 0 1.5rem;
	padding: 0;
	border: 0;
}

.front-page-6 .gts-rating + blockquote {
	margin-top: 5px;
	margin-top: 0.5rem;
}

.front-page-6 blockquote + img {
	float: left;
	margin-bottom: 0;
}

.front-page-6 h5 {
	margin: 0 10px 10px 0;
	margin: 0 1rem 1rem 0;
	color: #647585;
	font-size: 15px;
	font-size: 1.5rem;
	line-height: 1;
}

.front-page-6 img + h5 {
	margin: 14px 5px 0 10px;
	margin: 1.4rem 0.5rem 0 1rem;
}

.front-page-6 img + h5 + .gts-company {
	margin-top: 14px;
	margin-top: 1.4rem;
}

.front-page-6 .gts-company {
	display: block;
	font-size: 15px;
	font-size: 1.5rem;
	line-height: 1;
}

.front-page-6 .lSSlideOuter {
	margin: 0 -15px;
	margin: 0 -1.5rem;
}

/* ## Inner Pages
--------------------------------------------- */
/* ### Portfolio */
.portfolio {
	width: 100%;
}

.portfolio .filter {
	display: block;
	margin-bottom: 40px;
	margin-bottom: 4rem;
	font-family: montserrat, helvetica, arial, sans-serif;
	font-size: small;
	font-weight: 500;
	text-align: center;
}

.portfolio .filter .wrap {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display:         flex;
	-webkit-flex-wrap: wrap;
	    -ms-flex-wrap: wrap;
	        flex-wrap: wrap;
	-webkit-box-pack: center;
	-webkit-justify-content: center;
	-ms-flex-pack: center;
	        justify-content: center;
}

.portfolio .filter a {
	display: block;
	margin: 0.5em;
	padding: 0.5em;
	text-decoration: none;
}

.portfolio .filter a.active {
	color: #fb2056;
}

.portfolio-sizer {
	width: 2.5641%;
}

.portfolio-item {
	width: 100%;
	margin-bottom: 20px;
	margin-bottom: 2rem;
	border-radius: 4px;
	box-shadow: 0 2rem 2rem -1rem rgba(35, 44, 57, 0.1);
	position: relative;
}

.portfolio-item:before {
	display: block;
	position: absolute;
	z-index: 1;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	background-color: rgba(35, 44, 57, 0.9);
	content: '';
	pointer-events: none;
}

.portfolio-item:before {
	border-radius: 4px;
	opacity: 0.1;
	-webkit-transition: all 0.75s cubic-bezier(0, 1, 0.5, 1);
	        transition: all 0.75s cubic-bezier(0, 1, 0.5, 1);
}

.portfolio-item:hover {
	box-shadow: 0 2rem 2rem -1rem rgba(35, 44, 57, 0.3);
	-webkit-transition: box-shadow 0.75s cubic-bezier(0, 1, 0.5, 1), -webkit-transform 0.75s cubic-bezier(0, 1, 0.5, 1);
	        transition: box-shadow 0.75s cubic-bezier(0, 1, 0.5, 1), -webkit-transform 0.75s cubic-bezier(0, 1, 0.5, 1);
	        transition: box-shadow 0.75s cubic-bezier(0, 1, 0.5, 1), transform 0.75s cubic-bezier(0, 1, 0.5, 1);
	        transition: box-shadow 0.75s cubic-bezier(0, 1, 0.5, 1), transform 0.75s cubic-bezier(0, 1, 0.5, 1), -webkit-transform 0.75s cubic-bezier(0, 1, 0.5, 1);
}

.portfolio-item:hover:before,
.portfolio-item:hover .entry-title {
	opacity: 1;
}

.portfolio-item a {
	display: block;
	position: relative;
}

.portfolio-item img {
	border-radius: 4px;
}

.portfolio-item .entry-title {
	position: absolute;
	z-index: 2;
	height: 1em;
	opacity: 0;
	color: #ffffff;
	font-family: montserrat, helvetica, arial, sans-serif;
	font-size: 16px;
	font-size: 1.6rem;
	font-weight: 500;
	line-height: 1;
	text-align: center;
	-webkit-transition: all 0.75s cubic-bezier(0, 1, 0.5, 1);
	        transition: all 0.75s cubic-bezier(0, 1, 0.5, 1);
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	margin: auto;
}

.archive.genesis-pro-portfolio .entry {
	padding: 0;
	position: relative;
}

.archive.genesis-pro-portfolio .entry:before {
	display: block;
	position: absolute;
	z-index: 1;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	background-color: rgba(35, 44, 57, 0.9);
	content: '';
	pointer-events: none;
}

.archive.genesis-pro-portfolio .entry:before {
	border-radius: 4px;
	opacity: 0.1;
	-webkit-transition: all 0.75s cubic-bezier(0, 1, 0.5, 1);
	        transition: all 0.75s cubic-bezier(0, 1, 0.5, 1);
}

.archive.genesis-pro-portfolio .entry:hover {
	box-shadow: 0 2rem 2rem -1rem rgba(35, 44, 57, 0.3);
	-webkit-transition: box-shadow 0.75s cubic-bezier(0, 1, 0.5, 1), -webkit-transform 0.75s cubic-bezier(0, 1, 0.5, 1);
	        transition: box-shadow 0.75s cubic-bezier(0, 1, 0.5, 1), -webkit-transform 0.75s cubic-bezier(0, 1, 0.5, 1);
	        transition: box-shadow 0.75s cubic-bezier(0, 1, 0.5, 1), transform 0.75s cubic-bezier(0, 1, 0.5, 1);
	        transition: box-shadow 0.75s cubic-bezier(0, 1, 0.5, 1), transform 0.75s cubic-bezier(0, 1, 0.5, 1), -webkit-transform 0.75s cubic-bezier(0, 1, 0.5, 1);
}

.archive.genesis-pro-portfolio .entry:hover:before,
.archive.genesis-pro-portfolio .entry:hover .entry-title {
	opacity: 1;
}

.archive.genesis-pro-portfolio .entry:hover a {
	color: #ffffff;
}

.archive.genesis-pro-portfolio .entry a {
	display: block;
	position: relative;
}

.archive.genesis-pro-portfolio .entry img {
	border-radius: 4px;
}

.archive.genesis-pro-portfolio .entry .entry-title {
	position: absolute;
	z-index: 2;
	height: 1em;
	opacity: 0;
	color: #ffffff;
	font-family: montserrat, helvetica, arial, sans-serif;
	font-size: 16px;
	font-size: 1.6rem;
	font-weight: 500;
	line-height: 1;
	text-align: center;
	-webkit-transition: all 0.75s cubic-bezier(0, 1, 0.5, 1);
	        transition: all 0.75s cubic-bezier(0, 1, 0.5, 1);
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	margin: auto;
}

/* ### Masonry */
.blog .site-inner,
.archive .site-inner,
.search-results .site-inner,
.page-template-page_blog .site-inner {
	background-color: rgba(35, 44, 57, 0.05);
}

.blog .content,
.archive .content,
.search-results .content,
.page-template-page_blog .content {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display:         flex;
	-webkit-flex-wrap: wrap;
	    -ms-flex-wrap: wrap;
	        flex-wrap: wrap;
}

.blog .content .entry-title,
.archive .content .entry-title,
.search-results .content .entry-title,
.page-template-page_blog .content .entry-title {
	font-size: 16px;
	font-size: 1.6rem;
}

.blog .entry,
.archive .entry,
.search-results .entry,
.page-template-page_blog .entry {
	width: 100%;
	margin-bottom: 30px;
	margin-bottom: 3rem;
	padding: 30px;
	padding: 3rem;
	border-radius: 4px;
	background-color: #ffffff;
	box-shadow: 0 1rem 2rem -1rem rgba(35, 44, 57, 0.1);
	-webkit-transition: all 0.75s cubic-bezier(0, 1, 0.5, 1);
	        transition: all 0.75s cubic-bezier(0, 1, 0.5, 1);
}

.blog .entry:hover,
.archive .entry:hover,
.search-results .entry:hover,
.page-template-page_blog .entry:hover {
	box-shadow: 0 2rem 1rem -1rem rgba(35, 44, 57, 0.1);
}

.blog .entry-content,
.archive .entry-content,
.search-results .entry-content,
.page-template-page_blog .entry-content {
	color: #647585;
	font-size: 18px;
	font-size: 1.8rem;
}

.blog .entry-footer,
.archive .entry-footer,
.search-results .entry-footer,
.page-template-page_blog .entry-footer {
	margin-top: 10px;
	margin-top: 1rem;
}

.blog .entry-footer p,
.archive .entry-footer p,
.search-results .entry-footer p,
.page-template-page_blog .entry-footer p {
	margin: 0;
}

.blog .entry-image-link,
.archive .entry-image-link,
.search-results .entry-image-link,
.page-template-page_blog .entry-image-link {
	display: block;
	margin: -30px -30px 30px;
	margin: -3rem -3rem 3rem;
}

.blog .entry-image-link img,
.archive .entry-image-link img,
.search-results .entry-image-link img,
.page-template-page_blog .entry-image-link img {
	border-radius: 4px 4px 0 0;
}

/* ### Column Examples */
.columns div {
	margin-bottom: 2.5641%;
	padding: 2em 0;
	border-radius: 4px;
	color: #647585;
	background-color: #f6f7f8;
	box-shadow: 0 0 1rem -1rem rgba(35, 44, 57, 0);
	font-family: montserrat, helvetica, arial, sans-serif;
	font-size: 14px;
	font-size: 1.4rem;
	font-weight: 500;
	text-align: center;
	text-transform: capitalize;
	-webkit-transform: translateY(0);
	    -ms-transform: translateY(0);
	        transform: translateY(0);
	-webkit-transition: all 0.75s cubic-bezier(0, 1, 0.5, 1);
	        transition: all 0.75s cubic-bezier(0, 1, 0.5, 1);
}

.columns div:hover {
	box-shadow: 0 2rem 1rem -1rem rgba(35, 44, 57, 0.1);
	-webkit-transform: translateY(-0.5rem);
	    -ms-transform: translateY(-0.5rem);
	        transform: translateY(-0.5rem);
}

/* ### Icon Examples */
.fa {
	text-shadow: 0.1em 0.1em 0 rgba(100, 117, 133, 0.1);
}

.icons {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display:         flex;
	-webkit-flex-wrap: wrap;
	    -ms-flex-wrap: wrap;
	        flex-wrap: wrap;
	-webkit-box-pack: justify;
	-webkit-justify-content: space-between;
	-ms-flex-pack: justify;
	        justify-content: space-between;
}

.icons span {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display:         flex;
	width: 100%;
	margin-bottom: 20px;
	margin-bottom: 2rem;
	color: #647585;
	font-size: 16px;
	font-size: 1.6rem;
	-webkit-box-align: center;
	-webkit-align-items: center;
	-ms-flex-align: center;
	        align-items: center;
}

.icons i {
	margin-right: 0.3em;
	color: #232c39;
	font-size: 30px;
	font-size: 3rem;
}

.icons br {
	display: none;
}

/* ### Pricing Table */
.pricing .site-inner {
	background-color: #f6f7f8;
}

.pricing .entry {
	background-color: transparent;
}

.pricing-table {
	padding-bottom: 100px;
	text-align: center;
	-webkit-box-pack: justify;
	-webkit-justify-content: space-between;
	-ms-flex-pack: justify;
	        justify-content: space-between;
	-webkit-box-align: center;
	-webkit-align-items: center;
	-ms-flex-align: center;
	        align-items: center;
}

.pricing-table > div {
	margin-bottom: 25px;
	padding: 40px 20px 50px;
	background-color: #ffffff;
	box-shadow: 0 0 0 rgba(35, 44, 57, 0);
	-webkit-transition: all 0.3s ease;
	        transition: all 0.3s ease;
}

.pricing-table > div:hover {
	z-index: 2;
	box-shadow: 0 2rem 2rem -0.5rem rgba(35, 44, 57, 0.1);
	-webkit-transform: translateY(-1rem);
	    -ms-transform: translateY(-1rem);
	        transform: translateY(-1rem);
}

.pricing-table .featured {
	position: relative;
	z-index: 1;
	-webkit-transform: scale(1.05);
	    -ms-transform: scale(1.05);
	        transform: scale(1.05);
}

.pricing-table .featured:hover {
	-webkit-transform: translateY(-1rem) scale(1.05);
	    -ms-transform: translateY(-1rem) scale(1.05);
	        transform: translateY(-1rem) scale(1.05);
}

.pricing-table .featured button,
.pricing-table .featured .button {
	background-color: #fb2056;
}

.pricing-table strong {
	color: #647585;
	font-size: 20px;
	font-size: 2rem;
	font-weight: 500;
}

.pricing-table span {
	font-size: 13px;
	font-size: 1.3rem;
	font-style: italic;
}

.pricing-table small {
	position: absolute;
	margin-top: 10px;
	margin-left: -10px;
}

.pricing-table big {
	color: #232c39;
	font-family: montserrat, helvetica, arial, sans-serif;
	font-size: 1.618em;
	font-weight: 500;
}

.pricing-table p {
	margin: 0;
}

.pricing-table ul {
	margin: 10px 0 20px;
}

.pricing-table ul li {
	margin: 0;
	list-style-position: inside;
	list-style-type: none;
}

/*
 * IE specific styles.
 *
 * @link http://keithclark.co.uk/articles/moving-ie-specific-css-into-media-blocks/
 */

/* # Print Styles
--------------------------------------------- */

@media (min-width: 512px) {
	.button + button,
	.button + .button,
	button + button,
	button + .button,
	input[type='button'] + button,
	input[type='button'] + .button,
	input[type='reset'] + button,
	input[type='reset'] + .button,
	input[type='submit'] + button,
	input[type='submit'] + .button {
		clear: none;
		margin-top: 0;
	}
	.gallery-item {
		width: 48.71795%;
		margin-bottom: 2.5641%;
	}
	.woocommerce-demo-store .menu-toggle {
		top: 42px;
	}
	.front-page-1 .slick-arrow {
		visibility: visible;
	}
	.front-page-1 h1 {
		font-size: 2.2em;
	}
	.portfolio-item {
		width: -webkit-calc(50% - 1rem);
		width:         calc(50% - 1rem);
	}
	.blog .entry,
	.archive .entry,
	.search-results .entry,
	.page-template-page_blog .entry {
		width: 48.71795%;
	}
	.blog .entry:nth-of-type(even),
	.archive .entry:nth-of-type(even),
	.search-results .entry:nth-of-type(even),
	.page-template-page_blog .entry:nth-of-type(even) {
		margin-left: 2.5641%;
	}
	.icons span {
		width: 50%;
	}
}

@media (min-width: 768px) {
	body {
		font-size: 2rem;
	}
	body > div {
		font-size: 2rem;
	}
	h1 {
		font-size: 2.6em;
	}
	h2 {
		font-size: 1.5em;
	}
	h3 {
		font-size: 1.4em;
	}
	h4 {
		font-size: 1.3em;
	}
	h5 {
		font-size: 1.2em;
	}
	h6 {
		font-size: 1.1em;
	}
	.wrap {
		width: 90%;
		max-width: 1280px;
		padding: 0;
	}
	.content-sidebar-wrap {
		display: -webkit-box;
		display: -webkit-flex;
		display: -ms-flexbox;
		display:         flex;
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		-webkit-flex-direction: column;
		    -ms-flex-direction: column;
		        flex-direction: column;
		-webkit-flex-wrap: wrap;
		    -ms-flex-wrap: wrap;
		        flex-wrap: wrap;
		width: 90%;
		max-width: 1280px;
		padding: 6rem 0;
	}
	.one-half,
	.one-third,
	.one-fourth,
	.one-fifth,
	.one-sixth,
	.two-thirds,
	.two-fourths,
	.two-fifths,
	.two-sixths,
	.three-fourths,
	.three-fifths,
	.three-sixths,
	.four-fifths,
	.four-sixths,
	.five-sixths {
		float: left;
		margin-left: 2.5641%;
	}
	.one-half,
	.three-sixths,
	.two-fourths {
		width: 48.71795%;
	}
	.one-third,
	.two-sixths,
	.gallery-columns-3 .gallery-item {
		width: 31.62393%;
	}
	.four-sixths,
	.two-thirds {
		width: 65.81197%;
	}
	.one-fourth,
	.gallery-columns-4 .gallery-item {
		width: 23.07692%;
	}
	.three-fourths {
		width: 74.35897%;
	}
	.one-fifth,
	.gallery-columns-5 .gallery-item {
		width: 17.94872%;
	}
	.two-fifths {
		width: 38.46154%;
	}
	.three-fifths {
		width: 58.97436%;
	}
	.four-fifths {
		width: 79.48718%;
	}
	.one-sixth,
	.gallery-columns-6 .gallery-item {
		width: 14.52991%;
	}
	.five-sixths {
		width: 82.90598%;
	}
	.first {
		clear: both;
		margin-left: 0;
	}
	.after-entry,
	.author-box {
		margin-bottom: 4rem;
	}
	.author-box {
		margin-top: 4rem;
	}
	.hero-section,
	.front-page-1 {
		padding: 10rem 0;
		min-height: 450px;
	}
	.single .entry-image-link {
		margin: 0 0 4rem;
	}
	.pagination .wrap {
		width: 90%;
	}
	.comment-header {
		margin-bottom: 2em;
	}
	.sidebar .widget {
		margin-bottom: 4rem;
	}
	.site-footer > .wrap {
		padding: 0 0 1rem;
	}
	.site-footer .back-to-top {
		right: 0;
		bottom: 5.8rem;
	}
	.footer-widgets .wrap {
		display: -webkit-box;
		display: -webkit-flex;
		display: -ms-flexbox;
		display:         flex;
		-webkit-flex-wrap: wrap;
		    -ms-flex-wrap: wrap;
		        flex-wrap: wrap;
	}
	.footer-widgets .widget-area {
		margin-left: 2.564102564102564%;
		-webkit-box-flex: 1;
		-webkit-flex: 1;
		    -ms-flex: 1;
		        flex: 1;
	}
	.footer-widgets .widget-area:first-of-type {
		margin-left: 0;
	}
	.footer-widgets p {
		max-width: 90%;
	}
	.before-footer {
		padding: 10rem 0;
	}
	.before-footer .widget {
		margin-bottom: 0;
	}
	.before-footer .wrap {
		display: -webkit-box;
		display: -webkit-flex;
		display: -ms-flexbox;
		display:         flex;
		-webkit-flex-wrap: wrap;
		    -ms-flex-wrap: wrap;
		        flex-wrap: wrap;
		-webkit-box-pack: justify;
		-webkit-justify-content: space-between;
		-ms-flex-pack: justify;
		        justify-content: space-between;
		-webkit-box-align: center;
		-webkit-align-items: center;
		-ms-flex-align: center;
		        align-items: center;
	}
	.before-footer .wrap:before,
	.before-footer .wrap:after {
		position: absolute;
	}
	.before-footer button.alignright,
	.before-footer .button.alignright,
	.before-footer input[type='submit'].alignright {
		float: right;
	}
	.hero-section .bp-contact-card > div {
		width: auto;
	}
	.woocommerce-demo-store .hero-section {
		padding-top: 24rem;
	}
	.front-page-1 .widget {
		max-width: 768px;
		margin-right: auto;
		margin-left: auto;
	}
	.front-page-1 h1 {
		font-size: 2.7em;
	}
	.front-page-2 p {
		padding: 0 1em;
		font-size: 1.8rem;
	}
	.front-page-2 p:last-of-type {
		margin-bottom: 0;
	}
	.front-page-3 .widget {
		margin-bottom: 2.5641%;
	}
	.front-page-4 .wrap {
		display: block;
	}
	.front-page-4 .widget_media_image:first-of-type {
		max-width: 100%;
	}
	.front-page-4 .wp-video {
		padding: 10%;
	}
	.front-page-4 .hide-video {
		top: 5%;
		right: 5%;
	}
	.front-page-5 .entry {
		width: 31.62393%;
		margin-left: 2.5641%;
	}
	.front-page-5 .entry:nth-of-type(3n + 1) {
		margin-left: 0;
	}
	.single .blog .entry-image-link,
	.single
	.archive .entry-image-link,
	.single
	.search-results .entry-image-link,
	.single
	.page-template-page_blog .entry-image-link {
		margin: -6rem -6rem 6rem;
	}
	.pricing-table {
		display: -webkit-box;
		display: -webkit-flex;
		display: -ms-flexbox;
		display:         flex;
		padding-bottom: 60px;
		-webkit-flex-wrap: wrap;
		    -ms-flex-wrap: wrap;
		        flex-wrap: wrap;
	}
	.pricing-table > div {
		margin: 0;
	}
}

@media (min-width: 896px) {
	.content-sidebar-wrap {
		-webkit-box-orient: horizontal;
		-webkit-box-direction: normal;
		-webkit-flex-direction: row;
		    -ms-flex-direction: row;
		        flex-direction: row;
		padding: 8rem 0;
		-webkit-box-pack: justify;
		-webkit-justify-content: space-between;
		-ms-flex-pack: justify;
		        justify-content: space-between;
	}
	.content-sidebar-wrap:before,
	.content-sidebar-wrap:after {
		position: absolute;
	}
	.sidebar-content .content-sidebar-wrap {
		-webkit-box-orient: horizontal;
		-webkit-box-direction: reverse;
		-webkit-flex-direction: row-reverse;
		    -ms-flex-direction: row-reverse;
		        flex-direction: row-reverse;
	}
	.content {
		width: 768px;
		margin-right: auto;
		margin-left: auto;
	}
	.portfolio .content {
    	width: 1180px;
    	max-width: 100%;
    	margin-right: auto;
    	margin-left: auto;
	}
	.search-results .content {
    	width: 1100px;
		max-width: 100%;
	}
	.sidebar-primary {
		width: 25%;
	}
	.sidebar-content .content,
	.content-sidebar .content {
		width: -webkit-calc(75% - 4rem);
		width:         calc(75% - 4rem);
		margin-right: 0;
		margin-left: 0;
	}
	.full-width-content .content {
		width: 100%;
	}
	.wp-block-column {
		margin-left: 2.5641%;
	}
	.wp-block-column:first-of-type {
		margin-left: 0;
	}
	.alignleft {
		float: left;
		margin: 0 1em 1em 0;
	}
	.alignright {
		float: right;
		margin: 0 0 1em 1em;
	}
	.alignwide img,
	.alignfull img {
		margin: 0.6em auto 2.4em;
	}
	.site-header.shrink > .wrap {
		padding: 0;
	}
	.site-header > .wrap {
		position: relative;
		padding: 1rem 0;
		-webkit-flex-wrap: nowrap;
		    -ms-flex-wrap: nowrap;
		        flex-wrap: nowrap;
	}
	.site-description {
		line-height: 1.382;
		text-align: left;
	}
	.header-widget-area {
		margin-right: 0;
		margin-left: 1em;
		-webkit-box-ordinal-group: 4;
		-webkit-order: 3;
		-ms-flex-order: 3;
		        order: 3;
	}
	.menu {
		font-size: 1.6rem;
		text-align: left;
	}
	.menu-item {
		display: inline-block;
		width: auto;
		padding: 0;
	}
	.menu-item:hover > .sub-menu,
	.menu-item:focus > .sub-menu,
	.menu-item.sfHover > .sub-menu {
		opacity: 1 !important;
		pointer-events: all;
	}
	.menu-item.menu-item-has-children > a > span:after {
		display: inline-block;
		width: auto;
		margin-left: 0.5em;
		border: 3px solid transparent;
		border-top-color: #f6f7f8;
		content: '';
	}
	.menu-item.button > a > span {
		display: inline;
		margin-top: 0;
	}
	.menu-item a {
		width: 100%;
		padding: 1.5em 1em;
	}
	.sub-menu {
		position: absolute;
		z-index: 99;
		width: 18rem;
		margin: 0;
		padding: 0.618em 0.5em;
		border-radius: 4px;
		opacity: 0 !important;
		background-color: #ffffff;
		box-shadow: 0 0.5rem 1.5rem rgba(35, 44, 57, 0.05);
		font-size: 1.2rem;
		pointer-events: none;
	}
	.sub-menu:before {
		display: block;
		position: absolute;
		top: -1rem;
		left: 3rem;
		border: 0.5rem solid transparent;
		border-bottom-color: #ffffff;
		content: '';
	}
	.sub-menu li:first-of-type {
		margin-top: 0;
	}
	.sub-menu a {
		position: relative;
		padding: 1em;
		color: #232c39;
		word-wrap: break-word;
	}
	.sub-menu .sub-menu {
		top: 0;
		left: 0;
		margin: -0.6em 0 0 17.4rem;
		padding-left: 0.5em;
	}
	.sub-menu .sub-menu:before {
		position: absolute;
		top: 2em;
		left: -1rem;
		border: 0.5rem solid transparent;
		border-right-color: #ffffff;
	}
	.nav-primary {
		display: block;
		overflow: visible;
		position: relative;
		top: auto;
		right: auto;
		bottom: auto;
		left: auto;
		width: auto;
		margin: 0;
		padding: 0;
		border: none;
		background-color: transparent;
		-webkit-overflow-scrolling: initial;
	}
	.no-js .nav-primary {
		display: block;
		width: auto;
	}
	.nav-primary .menu {
		-webkit-box-orient: horizontal;
		-webkit-box-direction: normal;
		-webkit-flex-direction: row;
		    -ms-flex-direction: row;
		        flex-direction: row;
		padding: 0;
		-webkit-box-pack: end;
		-webkit-justify-content: flex-end;
		-ms-flex-pack: end;
		        justify-content: flex-end;
	}
	.menu-toggle {
		display: none;
	}
	.sub-menu-toggle {
		display: none;
	}
	.pagination {
		margin: 4rem 0 0;
		-webkit-box-ordinal-group: 4;
		-webkit-order: 3;
		-ms-flex-order: 3;
		        order: 3;
	}
	.content-sidebar .pagination,
	.sidebar-content .pagination {
		width: -webkit-calc(75% - 4rem);
		width:         calc(75% - 4rem);
	}
	.pagination .alignleft {
		margin-right: auto;
		margin-left: 0;
	}
	.pagination .alignright {
		margin-right: 0;
		margin-left: auto;
	}
	.adjacent-entry-pagination {
		margin: 0;
	}
	.sidebar-primary {
		-webkit-box-ordinal-group: 3;
		-webkit-order: 2;
		-ms-flex-order: 2;
		        order: 2;
	}
	.widget {
		margin-bottom: 0;
	}
	.footer-widgets {
		padding: 10rem 0;
	}
	.front-page-1,
	.front-page-2,
	.front-page-4,
	.front-page-5,
	.front-page-6 {
		padding: 12rem 0;
	}
	.front-page-3 {
		padding: 4rem 0;
	}
	.hero-section,
	.front-page-1 {
		padding: 12rem 0;
		min-height: 500px;
	}
	.front-page-4 {
		padding: 20rem 0;
	}
	.front-page-4 .widget {
		margin: 0 auto;
	}
	.front-page-6 .wrap {
		display: block;
	}
	.portfolio-item {
		width: -webkit-calc(33.333333333% - 1.333333333rem);
		width:         calc(33.333333333% - 1.333333333rem);
	}
	.blog.content-sidebar .entry,
	.blog.sidebar-content .entry,
	.archive.content-sidebar .entry,
	.archive.sidebar-content .entry,
	.search-results.content-sidebar .entry,
	.search-results.sidebar-content .entry,
	.page-template-page_blog.content-sidebar .entry,
	.page-template-page_blog.sidebar-content .entry {
		width: -webkit-calc(50% - 1.5rem);
		width:         calc(50% - 1.5rem);
	}
	.blog .entry,
	.archive .entry,
	.search-results .entry,
	.page-template-page_blog .entry {
		width: 31.62393%;
		margin-left: 2.5641%;
	}
	.blog .entry:nth-of-type(2n + 1),
	.archive .entry:nth-of-type(3n + 1),
	.search-results .entry:nth-of-type(3n + 1),
	.page-template-page_blog .entry:nth-of-type(3n + 1) {
		margin-left: 0;
	}
	.icons span {
		width: 33.33333333333%;
	}
}

@media (min-width: 1152px) {
	.wp-custom-logo .title-area {
		padding: 0;
	}
	.menu-item a {
		padding: 2em 1.25em;
	}
	.sub-menu a {
		padding: 1em;
	}
}

@media (min-width: 1280px) {
	.comment-respond input[type='email'],
	.comment-respond input[type='text'],
	.comment-respond input[type='url'] {
		width: 50%;
	}
	.hero-section,
	.front-page-1 {
		padding: 14rem 0;
		min-height: 550px;
	}
	.front-page-1 h1 {
		font-size: 2.5em;
	}
	.icons span {
		width: 25%;
	}
}

@media (max-width: 896px) {
	.wp-block-columns {
		-webkit-flex-wrap: wrap;
		    -ms-flex-wrap: wrap;
		        flex-wrap: wrap;
	}
	.wp-block-column {
		-webkit-box-flex: 0;
		-webkit-flex: none;
		    -ms-flex: none;
		        flex: none;
		width: 100%;
	}
	.header-widget-area ul,
	.header-widget-area ul.alignleft,
	.header-widget-area ul.alignright {
		display: -webkit-box;
		display: -webkit-flex;
		display: -ms-flexbox;
		display:         flex;
		float: none;
		margin: 2em auto;
		-webkit-box-pack: center;
		-webkit-justify-content: center;
		-ms-flex-pack: center;
		        justify-content: center;
	}
	.header-widget-area ul li,
	.header-widget-area ul.alignleft li,
	.header-widget-area ul.alignright li {
		margin: 0 0.5em;
	}
}

@media (max-width: 768px) {
	.front-page-5 .entry {
		width: 48.71795%;
		margin: 0 0 3rem 2.5641%;
	}
	.front-page-5 .entry:nth-of-type(2n + 1) {
		margin-left: 0;
	}
}

@media (max-width: 512px) {
	.front-page-5 .entry {
		width: 100%;
		margin: 0 0 5%;
	}
}

@media screen\0 {
	.nav-primary {
		margin: 0 0 0 auto;
	}
	.header-widget-area {
		margin-right: auto;
	}
}

@media print {
	*,
	*:before,
	*:after {
		color: #232c39 !important;
		background: transparent !important;
		box-shadow: none !important;
		text-shadow: none !important;
	}
	a,
	a:visited {
		text-decoration: underline;
	}
	a[href]:after {
		content: ' (' attr(href) ')';
	}
	abbr[title]:after {
		content: ' (' attr(title) ')';
	}
	a[href^='javascript:']:after,
	a[href^='#']:after,
	.site-title > a:after {
		content: '';
	}
	thead {
		display: table-header-group;
	}
	img,
	tr {
		page-break-inside: avoid;
	}
	img {
		max-width: 100% !important;
	}
	@page {
		margin: 2cm 0.5cm;
	}
	p,
	h2,
	h3 {
		orphans: 3;
		widows: 3;
	}
	blockquote,
	pre {
		border: 2px solid #f0f1f2;
		page-break-inside: avoid;
	}
	.content,
	.content-sidebar {
		width: 100%;
	}
	button,
	input,
	select,
	textarea,
	.breadcrumb,
	.comment-edit-link,
	.comment-form,
	.comment-list .reply a,
	.comment-reply-title,
	.edit-link,
	.entry-comments-link,
	.entry-footer,
	.genesis-box,
	.header-widget-area,
	.hidden-print,
	.home-top,
	.nav-primary,
	.nav-secondary,
	.post-edit-link,
	.sidebar {
		display: none !important;
	}
	.title-area {
		width: 100%;
		text-align: center;
	}
	.site-title > a {
		margin: 0;
		text-decoration: none;
		text-indent: 0;
	}
	.site-inner {
		position: relative;
		top: -10rem;
		padding-top: 0;
	}
	.author-box {
		margin-bottom: 0;
	}
	h1,
	h2,
	h3,
	h4,
	h5,
	h6 {
		orphans: 3;
		page-break-after: avoid;
		page-break-inside: avoid;
		widows: 3;
	}
	img {
		page-break-after: avoid;
		page-break-inside: avoid;
	}
	blockquote,
	pre,
	table {
		page-break-inside: avoid;
	}
	dl,
	ol,
	ul {
		page-break-before: avoid;
	}
}

@media (min-width: 768px)
.hero-section {
    padding: 20% 0px 9%;
}

/* -----------------------------------------------------------------------
 * Custom Home Page Styles
 *
 * These styles support the bespoke home page template. They provide
 * responsive layouts for the hero, features, about, call‑to‑action and
 * contact sections. Media queries ensure the design adapts gracefully on
 * smaller screens.
 */

.home-hero {
    position: relative;
    color: #fff;
    text-align: center;
    padding: 140px 0;
    background-size: cover;
    background-position: center;
}

.home-hero .wrap {
    max-width: 1140px;
    margin: 0 auto;
    padding: 0 15px;
}

.home-hero-title {
    font-size: 3rem;
    margin-bottom: 1rem;
    line-height: 1.2;
}

.home-hero-tagline {
    font-size: 1.25rem;
    max-width: 680px;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 2rem;
    line-height: 1.5;
}

.home-hero .button {
    padding: 0.75rem 2rem;
    font-size: 1rem;
}

.home-features {
    background: #f9f9f9;
    padding: 5rem 0;
}

.home-features .wrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    gap: 2rem;
}

.home-features .feature {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 calc(33.333% - 2rem);
            flex: 1 1 calc(33.333% - 2rem);
    text-align: center;
    padding: 1.5rem;
    background: #ffffff;
    border-radius: 0.25rem;
    box-shadow: 0 2px 4px rgba(0,0,0,0.05);
}

.home-features .feature i {
    font-size: 2.5rem;
    margin-bottom: 1rem;
    /* Use the theme accent colour for icons. The PHP template supplies an inline
     * accent colour for call‑to‑action sections. For icons we fall back to
     * the default theme accent (#fb2056). If you wish to change this colour
     * globally you can override it using the custom CSS option or edit
     * business_accent_color via the customiser and adjust the template. */
    color: #fb2056;
}

.home-features .feature h3 {
    font-size: 1.5rem;
    margin-bottom: 0.5rem;
}

.home-features .feature p {
    font-size: 1rem;
    color: #666;
    line-height: 1.5;
}

@media (max-width: 768px) {
    .home-features .feature {
        -webkit-box-flex: 1;
            -ms-flex: 1 1 100%;
                flex: 1 1 100%;
    }
}

.home-about {
    padding: 5rem 0;
}

.home-about .wrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    align-items: center;
    gap: 3rem;
}

.home-about .about-text {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 50%;
            flex: 1 1 50%;
}

.home-about .about-image {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 50%;
            flex: 1 1 50%;
}

.home-about .about-image img {
    width: 100%;
    height: auto;
    border-radius: 0.25rem;
}

.home-about h2 {
    font-size: 2rem;
    margin-bottom: 1rem;
}

.home-about .about-content {
    font-size: 1rem;
    color: #555;
    line-height: 1.6;
}

@media (max-width: 768px) {
    .home-about .about-text,
    .home-about .about-image {
        -webkit-box-flex: 1;
            -ms-flex: 1 1 100%;
                flex: 1 1 100%;
    }
}

.home-cta {
    color: #fff;
    text-align: center;
    padding: 4rem 1rem;
}

.home-cta h2 {
    font-size: 2rem;
    margin-bottom: 1rem;
}

.home-cta p {
    font-size: 1.125rem;
    margin-bottom: 2rem;
    max-width: 700px;
    margin-left: auto;
    margin-right: auto;
    line-height: 1.5;
}

.home-cta .button {
    padding: 0.75rem 2rem;
    font-size: 1rem;
    border-radius: 0.25rem;
    text-decoration: none;
    display: inline-block;
}

.home-contact {
    padding: 5rem 0;
    background: #f0f0f0;
}

.home-contact h2 {
    text-align: center;
    font-size: 2rem;
    margin-bottom: 2rem;
}

.home-contact .contact-form {
    max-width: 600px;
    margin: 0 auto;
}

.home-contact .contact-form * {
    width: 100%;
}

/* ------------------------------------------------------------------
 *  Home‑page Additions – MattPrados child‑theme
 *
 *  Paste or import this block at the **very end** of your existing
 *  style.css (or compile it via SCSS). These rules are purely additive
 *  and won’t disturb the core Business Pro styling.
 * ------------------------------------------------------------------ */

/* === 1. SERVICES (“How I Can Help…”) ================================ */
/* 2. Service Overview
   ================================================================== */
   #services {
	padding-block: var(--space-10);
	text-align: center;
  }
  
  /* Section intro ---------------------------------------------------- */
  #services .section-heading {
	font-family: var(--font-display);
	font-weight: 700;
	font-size: clamp(2.25rem, 3vw + 1rem, 3rem);
	line-height: 1.15;
	margin-block-end: var(--space-3);
  }
  
  #services .section-subtitle {
	max-width: 65ch;
	margin-inline: auto;
	margin-block-end: var(--space-6);
	opacity: .8;
	font-size: 1.125rem;
  }
  
  /* Grid ------------------------------------------------------------- */
 .services-grid {
	--gap: var(--space-6);
	display: grid;
	gap: var(--gap);
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 22rem), 1fr));
  }

  /* Card ------------------------------------------------------------- */
  .service-card {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
  }
  
  .service-card > img {
	width: 100%;
	aspect-ratio: 16 / 10;
	object-fit: cover;
	border-radius: 1.5rem;
	margin-block-end: var(--space-4);
  }
  
  /* Typography inside card */
  .service-card > h3 {
	font-family: var(--font-display);
	font-weight: 600;
	font-size: clamp(1.5rem, 1vw + 1.125rem, 1.75rem);
	line-height: 1.25;
	margin-block-end: var(--space-3);
	max-width: 22ch;
  }
  
  .service-card > p {
	font-size: 1rem;
	max-width: 42ch;
	margin-inline: auto;
	margin-block-end: var(--space-4);
	opacity: .9;
  }
  
  /* Button */
  .service-card > .button{
	padding:.65em 2.1em;               /* same optical size as header */
	border-radius:10px;
	background:linear-gradient(90deg,var(--cta-start) 0%,var(--cta-end) 100%);
	color:#fff;
	font-family:var(--font-display);
	font-size:1.6rem;                  /* matches header pill (16 px baseline) */
	font-weight:600;
	text-transform:uppercase;
	letter-spacing:.035em;
	text-decoration:none;
	transition:transform .2s ease,box-shadow .2s ease,opacity .15s;
  }
  
  .service-card > .button:hover,
  .service-card > .button:focus-visible {
	opacity: .9;
  }
	
  /* 2.1  Service tweaks ------------------------------------------------- */

/* (A) Let the grid breathe: centre it inside the wrap + wider cards */
.wrap {
	max-width: 1400px;               /* grows from default 1140 → 1400 */
  }
  
  .services-grid {
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 26rem), 1fr));
	justify-content: center;         /* keeps even gutters on XL screens */
  }
  
  /* (B) Bigger intro copy */
  #services .section-heading {
	font-size: clamp(2.5rem, 4vw + 1rem, 3.25rem);
  }
  
  #services .section-subtitle {
	font-size: 1.25rem;
  }
  
  /* (C) Beef-up buttons */
  .service-card > .button {
	font-size: 1rem;
	padding: 0.9rem 2rem;
  }
  
  /* 2.2  Service typography fix – absolute rem values
   ----------------------------------------------- */
#services .section-heading   { font-size: 3rem; }      /* 30 px */
#services .section-subtitle  { font-size: 1.6rem; }    /* 16 px */

.service-card > h3           { font-size: 2rem; }      /* 20 px */
.service-card > p            { font-size: 1.6rem; }    /* 16 px */

.service-card > .button      { font-size: 1.2rem; }    /* 12 px */

/* =========================================================
 * 3. Services – How I Can Help (grid + cards) – FIXED
 * ========================================================= */

/* Card excerpt – fixed closing brace so rest of CSS works */
.service-card .card-excerpt,
.mp-card .card-excerpt,
.how-i-can-help .cards > * .card-excerpt {
  color: #566;
  font-size: clamp(14px, 1.4vw, 15px);
  line-height: 1.6;
  margin: 0 0 8px 0;
  flex: 1 1 auto; /* pushes button to the bottom */
}

/* === Services (“How I Can Help…”) — force max 3‑up ================== */
#services .services-grid {
  display: grid !important;
  gap: clamp(16px, 2vw, 28px) !important;
  grid-template-columns: 1fr !important;               /* mobile */
  align-items: stretch;
}

/* kill Genesis column widths/floats inside the grid */
#services .services-grid > *,
#services .services-grid > *[class*="one-"],
#services .services-grid .entry,
#services .services-grid .widget,
#services .services-grid article {
  float: none !important;
  width: auto !important;
  max-width: none !important;
  margin: 0 !important;
}

/* Tablet: 2‑up */
@media (min-width: 768px) {
  #services .services-grid { grid-template-columns: repeat(2, 1fr) !important; }
}

/* Desktop: cap at 3‑up (extra cards wrap to next row) */
@media (min-width: 1024px) {
  #services .services-grid { grid-template-columns: repeat(3, 1fr) !important; }
}

/* make each card fill its cell */
#services .services-grid > * { display: flex; flex-direction: column; }
#services .services-grid > * .entry-content { flex: 1 1 auto; }

/* 3. Services – How I Can Help adjustments
   -------------------------------------------------------------------
   Refine the grid spacing and card dimensions, and ensure images
   aren’t upscaled beyond their native width. */
#services .services-grid {
  /* Limit card width to 26rem (~260px) so 300px images are never upscaled */
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 26rem), 1fr)) !important;
  /* Give the grid more breathing room */
  gap: clamp(32px, 5vw, 64px) !important;
  justify-content: center;
}

#services .services-grid > article {
  max-width: 26rem; /* matches the template columns above */
}

/* Allow images to retain their natural ratio and fill their cards without stretching */
.service-card > img {
  width: 100%;
  height: auto;
  object-fit: cover;
}



  
  
  /* === 2. ABOUT MATT ================================================== */
 /* 
  #about {
	background: #f7f8fa;
	padding: var(--space-12) 0;
  }
  #about .wrap {
	display: grid;
	grid-template-columns: 1fr 1fr;
	align-items: center;
	gap: var(--space-8);
  }
  #about img               { border-radius: 2rem; }
  #about .about-copy h2    { font: 700 clamp(1.75rem,3vw,2.25rem) var(--font-display); margin-bottom: var(--space-4); }
  #about .about-copy p     { margin-bottom: var(--space-4); line-height: 1.6; }
  @media (max-width: 768px) {
	#about .wrap { grid-template-columns: 1fr; }
	#about img   { order: 2; margin-top: var(--space-8); }
  }
  */

  /* 3. About Section
   ================================================================== */

   /*
.about{
	display:flex;
	gap:clamp(3rem,6vw,6rem);
	align-items:center;
	flex-wrap:wrap;                 
  }
  
  .about__media{
	flex:0 0 46%;
	max-width:46%;
  }
  .about__media img{
	width:100%; height:auto; object-fit:cover; display:block;
  }
  
  .about__content{
	flex:1 1 0;
	max-width:54%;
	background:#fff;
	padding:clamp(3rem,6vw,6rem) clamp(2rem,5vw,4rem);
	display:flex; flex-direction:column; justify-content:center;
  }
  
  .about__heading{
	font-family:var(--font-display);
	font-size:3rem; font-weight:700;
	margin:0 0 var(--space-4) 0;
  }
  
  .about__text p{
	font-size:1.6rem;
	margin:0 0 var(--space-4) 0;
  }
  
  .about__btn{
	align-self:flex-start;
	padding:.8rem 2.4rem;
	border-radius:10px;
	font-size:1.6rem;
	font-weight:600;
	letter-spacing:.03em;
	text-transform:uppercase;
	color:#fff;
	text-decoration:none;
	background:linear-gradient(90deg,var(--cta-start) 0%,var(--cta-end) 100%);
	transition:opacity .15s,transform .2s,box-shadow .2s;
  }
  .about__btn:hover,
  .about__btn:focus-visible{
	opacity:.9;
	transform:translateY(-2px);
	box-shadow:0 4px 8px rgba(0,0,0,.28);
  }
  
  /* Stack on ≤1024 px */
  /*
  @media(max-width:1024px){
	.about__media{flex:0 0 100%; max-width:100%; height:60vh;}
	.about__content{max-width:100%;}
  }
	*/

/* 3. About Section
   ================================================================== */
/* 3. About Section
   ================================================================== */

/* Desktop and mobile layout */
.about {
  background: var(--colour-surface-alt, #F7F8FA);
  padding: clamp(48px, 8vw, 96px) clamp(16px, 5vw, 40px);
  display: grid;
  grid-template-columns: 1fr; /* stacked by default */
  gap: clamp(32px, 6vw, 64px);
  align-items: stretch;
}

/* Image container */
.about__media {
  overflow: hidden;
  border-radius: 16px;
}
.about__media img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  object-position: center;
}

/* Content card */
.about__content {
  background: #fff;
  border-radius: 16px;
  padding: clamp(32px, 6vw, 64px) clamp(24px, 5vw, 48px);
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: clamp(12px, 2vw, 24px);
  width: 100%;
  max-width: none;
}

/* Typography */
.about__heading {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: clamp(28px, 2.2vw + 12px, 40px);
  line-height: 1.15;
  margin: 0;
}
.about__text p {
  font-size: clamp(15px, 0.8vw + 14px, 18px);
  line-height: 1.6;
  margin: 0;
}

/* CTA button */
.about__btn {
  align-self: flex-start;
  padding: 12px 28px;
  border-radius: 10px;
  font-size: clamp(14px, 0.6vw + 12px, 16px);
  font-weight: 600;
  letter-spacing: .03em;
  text-transform: uppercase;
  color: #fff;
  text-decoration: none;
  background: linear-gradient(90deg, var(--cta-start), var(--cta-end));
  transition: transform .2s ease, box-shadow .2s ease, opacity .15s;
}
.about__btn:hover,
.about__btn:focus-visible {
  transform: translateY(-2px);
  opacity: .9;
  box-shadow: 0 4px 8px rgba(0,0,0,.28);
}

/* Desktop: two equal columns with matching heights */
@media (min-width: 1024px) {
  .about {
    grid-template-columns: repeat(2, 1fr);
    padding-inline: clamp(32px, 6vw, 80px);
  }
  .about__media img {
    height: 100%; /* fill the grid row height */
  }
}


  
  

  
  /* 3.7  About Matt – final flex layout
   =============================================================== */

/* 1. Turn the existing .wrap into a flex container */
#learn-more .wrap{
	max-width:none;               /* allow edge-to-edge width            */
	padding:0;
	display:flex;
	gap:clamp(3rem,6vw,6rem);     /* space between image + copy          */
	align-items:center;           /* vertical centre the copy column     */
	flex-wrap:wrap;               /* stacks on tablet/mobile             */
  }
  
  /* 2. Image column ------------------------------------------------- */
  #learn-more .featuredpage .alignleft{
	float:none !important;        /* neutralise WP float                 */
	flex:0 0 46%;                 /* 46 % width – no grow, no shrink     */
	max-width:46%;
  }
  #learn-more .featuredpage .alignleft img{
	width:100% !important;        /* fill its flex item                  */
	height:auto;                  /* keep aspect ratio                   */
	display:block; object-fit:cover;
  }
  
  /* 3. Copy column -------------------------------------------------- */
  #learn-more .featuredpage .entry,
  #learn-more .featuredpage .page{
	flex:1 1 0;                   /* take the remaining 54 %             */
	max-width:54%;
	background:#fff;
	padding:clamp(3rem,6vw,6rem) clamp(2rem,5vw,4rem);
	display:flex; flex-direction:column; justify-content:center;
  }
  
  /* Typography */
  #learn-more .featuredpage .entry-title{
	font-family:var(--font-display);
	font-size:3rem; font-weight:700;
	margin:0 0 var(--space-4) 0;
  }
  #learn-more .featuredpage .entry-content p{
	font-size:1.6rem;
	margin:0 0 var(--space-4) 0;
  }
  
  /* CTA button = global gradient */
  #learn-more .featuredpage .more-link{
	align-self:flex-start;
	padding:.8rem 2.4rem;
	border-radius:10px;
	font-size:1.6rem; font-weight:600; letter-spacing:.03em;
	text-transform:uppercase; color:#fff; text-decoration:none;
	background:linear-gradient(90deg,var(--cta-start) 0%,var(--cta-end) 100%);
	transition:opacity .15s,transform .2s,box-shadow .2s;
  }
  #learn-more .featuredpage .more-link:hover,
  #learn-more .featuredpage .more-link:focus-visible{
	opacity:.9; transform:translateY(-2px);
	box-shadow:0 4px 8px rgba(0,0,0,.28);
  }
  
  /* 4. Clean up: hide widget & entry headers */
  #learn-more .widgettitle,
  #learn-more .entry-header{display:none;}
  
  /* 5. Responsive stack (tablet & down) ----------------------------- */
  @media(max-width:1024px){
	#learn-more .wrap{
	  flex-direction:column;
	}
	#learn-more .featuredpage .alignleft{
	  flex:0 0 auto;              /* release fixed 46 % width            */
	  width:100%; height:60vh;    /* hero-like image                     */
	}
	#learn-more .featuredpage .entry,
	#learn-more .featuredpage .page{
	  max-width:100%;
	}
  }
  
  /* Typography and CTA keep previous rules ------------------------- */
  


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


  /* --- Theme Extennsions ---*/

/* 2. Header …  */
.site-header{
	position:fixed;
	top:0;
	left:0;
	width:100%;
	display:flex;
	align-items:center;
	min-height:56px;          /* was 64px */
	padding:0 var(--space-3); /* narrower side-gutters */
	background:transparent;
	transition:background .3s ease, backdrop-filter .3s ease;
	z-index:999;
  }
  .site-header.is-scrolled{
	background:rgba(0,0,0,.85);
	backdrop-filter:saturate(180%) blur(12px);
  }
  
  /* Logo */
  .site-title img{max-height:56px;width:auto;} /* keep logo proportional */
  
/* --- Centre the primary nav --- */
/* ----- tighten nav typography & gap ----- */
.nav-primary{
	position:absolute;
	left:50%;
	transform:translateX(-50%);
	display:flex;
	align-items:center;
	gap:var(--space-3);            /* narrower than space-4 */
	font-size:.875rem;             /* 14 px ≈ ref design */
	font-weight:500;
	margin-left:24px;              /* gutter from logo */
  }
  .nav-primary .menu-item{margin:0;}          /* reset legacy spacing */
  .menu-item-has-children>a::after{display:none;} /* remove carets */
  
/* Header CTA — blue gradient pill */
/* Header CTA — balanced size */
.header-cta{
	margin-left:auto;
	display:inline-block;
	/* ↑ keep right-edge alignment */
  
	padding:.65em 2.1em;          /* ≈40 px tall, ~165 px wide with default label */
	border-radius:10px;           /* medium rounding */
	background:linear-gradient(90deg,var(--cta-start) 0%,var(--cta-end) 100%);
	color:#fff;
	font-family:var(--font-display);
	font-size:1.6rem;
	font-weight:600;
	text-transform:uppercase;
	letter-spacing:.035em;
  
	text-decoration:none;
	box-shadow:0 2px 4px rgba(0,0,0,.18);
	transition:transform .2s ease, box-shadow .2s ease;
  }
  .header-cta:hover,
  .header-cta:focus-visible,
  .service-card > .button:hover,
  .service-card > .button:focus-visible{
	opacity:.9;
	transform:translateY(-2px);
	box-shadow:0 4px 8px rgba(0,0,0,.28);
  }
  
  
  
  
  
  
  /* 3. Hero … (refinements) */
  .hero::before{
	/* stronger top gradient for logo/nav contrast */
	background:linear-gradient(180deg,
				rgba(0,0,0,.70) 0 160px,
				rgba(0,0,0,.40) 50%,
				rgba(0,0,0,.10) 100%);
  }
  .hero__title{
	max-width:20ch;
	font-size:clamp(2.5rem,6vw + 1rem,4rem); /* lower max to stop wrapping */
  }
  .hero__subtitle{letter-spacing:-0.015em;}
  /* === End additions === */
  
  /* ========== Hero vertical rhythm ========== */
/* HOTFIX: remove artificial top offset above hero */
.hero {
  padding-top: var(--space-8) !important; /* or 0 if you want it absolutely flush */
}
  @media(min-width:768px){
	.hero{
	  padding:calc(56px + var(--space-8)) var(--space-8);
	}
  }
  
  /* Headline & subtitle size tweaks */
  .hero__title{
	font-size:clamp(2.25rem,5.5vw + 1rem,3.5rem); /* slightly smaller max */
	margin-bottom:var(--space-3);
  }
  .hero__subtitle{
	font-size:clamp(1rem,2.25vw,1.25rem);
	letter-spacing:-0.015em;
  }

/* =========================================
 * 5. Call to Action Strip (genesis_before_footer)
 * — harden specificity so global h2/p rules can't override
 * ======================================= */
section.cta-strip { /* keep selector tight */
  position: relative;
  isolation: isolate;
  overflow: hidden;
  color: var(--colour-text, #fff);
  background: var(--colour-surface, #111);
  padding: clamp(72px, 12vw, 168px) 16px; /* taller like reference */
  /* Lock a local base so em-based sizes = real pixels here */
  font-size: 16px; /* 1em = 16px inside this component */
  --fs-title-min: 32px;   /* mobile */
  --fs-title-max: 64px;   /* desktop */
  --fs-body-min: 16px;
  --fs-body-max: 18px;
  --fs-btn: 16px;
}

section.cta-strip .wrap { 
  max-width: var(--container-max, 1200px);
  margin-inline: auto;
}

section.cta-strip .cta-strip__bg {
  position: absolute; inset: 0;
  width: 100%; height: 100%;
  object-fit: cover; object-position: center;
  z-index: -2;
  /*filter: brightness(0.6) contrast(1.05) saturate(0.9);*/
}

/* darker overlay for legibility */
section.cta-strip::after {
  content: "";
  position: absolute; inset: 0; z-index: -1;
  background: linear-gradient(180deg, rgba(0,0,0,.3), rgba(0,0,0,.9));
}

section.cta-strip .cta-strip__inner { 
  text-align: center; 
  max-width: 980px; 
}

/* BIG title — clamp to match the mock */
/* Title (use px-based clamp so it’s independent of global rems) */
section.cta-strip .cta-strip__title {
  font-weight: 800;
  line-height: 1.08;
  font-size: clamp(var(--fs-title-min), 3.5vw, var(--fs-title-max));
  font-family:var(--font-display);
  color: #fff;
  margin: 0 0 0.9em;
}

/* Body copy below the title */
section.cta-strip .cta-strip__text {
  opacity: .95;
}
/* Paragraph (em relative to our 16px base => 16–18px) */
section.cta-strip .cta-strip__text {
  font-size: clamp(calc(var(--fs-body-min) / 16 * 1em),
                   0.6vw + 0.8em,
                   calc(var(--fs-body-max) / 16 * 1em));
  line-height: 1.6;
  max-width: 70ch;
  margin: 0 auto 1.2em;
}

section.cta-strip .cta-strip__btn {
	align-self:flex-start;
	padding:.8rem 2.4rem;
	border-radius:10px;
	font-size:1.6rem;
	font-weight:600;
	font-family:var(--font-display);
	letter-spacing:.03em;
	text-transform:uppercase;
	color:#fff;
	text-decoration:none;
	background:linear-gradient(90deg,var(--cta-start) 0%,var(--cta-end) 100%);
	transition:opacity .15s,transform .2s,box-shadow .2s;
  }
section.cta-strip .cta-strip__btn:hover,
section.cta-strip .cta-strip__btn:focus-visible {
	opacity:.9;
	transform:translateY(-2px);
	box-shadow:0 4px 8px rgba(0,0,0,.28);
  }

/* Button — switch to blue gradient, remove purple */
/*
section.cta-strip .cta-strip__btn {
  display: inline-flex; align-items: center; justify-content: center;
  padding: 14px 22px; border-radius: 999px;
  line-height: 1;
  text-decoration: none;
  box-shadow: 0 10px 28px rgba(0,0,0,.35);
  transition: transform .15s ease, filter .15s ease;
  border: 0;
font-size: calc(var(--fs-btn) / 16 * 1em);
  font-weight: 700;
  color: #fff;
  background: linear-gradient(135deg, var(--mp-blue-500,#0D4DFF), var(--mp-blue-600,#003ED1));
}


section.cta-strip .cta-strip__btn:hover,
section.cta-strip .cta-strip__btn:focus-visible {
  transform: translateY(-1px);
  filter: brightness(1.1);
  outline: 2px solid rgba(255,255,255,.55);
  outline-offset: 2px;
}
  */

/* Guard against theme-wide h2 resets */
section.cta-strip h2 { all: unset; display: block; }

/* === 2. Header … Mobile nav overlay (slide-in) ====================== */
@media (max-width:1024px){

  /* Keep nav always present; hide via transform/opacity */
  #genesis-nav-primary{
    display: block !important;
    position: fixed; inset: 0;
    width: 100vw; height: 100vh;
    background: rgba(11,12,16,.96);
    padding: 12vh 7vw 6vh;
    overflow-y: auto;
    z-index: 9999;

    transform: translateX(100%); /* off-screen by default */
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition:
      transform 0.35s ease,
      opacity   0.35s ease,
      visibility 0s linear 0.35s; /* hide after fade */
  }

  /* Open when Genesis toggle is expanded or body.menu-open is set */
  .menu-toggle[aria-expanded="true"] + #genesis-nav-primary,
  #genesis-mobile-nav-primary[aria-expanded="true"] + #genesis-nav-primary,
  body.menu-open #genesis-nav-primary{
    transform: translateX(0);      /* slide in */
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transition-delay: 0s;
  }

  /* Lay out the menu vertically */
  #genesis-nav-primary .wrap{ max-width:none !important; padding:0 !important; }
  #genesis-nav-primary .menu{
    display:flex; flex-direction:column;
    align-items:center; gap:24px;
  }

  /* Hide the desktop CTA on mobile; hide header bits when menu open */
  .header-cta{ display:none !important; }
  body.menu-open .title-area,
  body.menu-open .header-cta{ visibility:hidden !important; }

  /* Keep the hamburger/X on top */
  .menu-toggle{ position:absolute; right:5vw; top:0; z-index:10000; }

  /* Lock body scroll while menu is open */
  body.menu-open { overflow:hidden; }
}

/* Respect reduced motion */
@media (prefers-reduced-motion: reduce){
  #genesis-nav-primary{ transition: none !important; }
}

@media (max-width:480px){
	.site-header > .wrap {
	padding:0;
	margin:0;
	}
}