/*!
Theme Name: Magnolias
Theme URI: https://www.panobar.ca/
Author: Magnolias Consulting : Danielle Bindon
Author URI: https://magnoliasconsulting.com
Description: Theme used for website development at Magnolias Consulting. **Requires Advanced Custom Fields Pro plugin to be activated first.
Version: 1.0.7
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: magnolias-starter
Tags: custom-background, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready

Normalizing styles have been helped along thanks to the fine work of
Nicolas Gallagher and Jonathan Neal https://necolas.github.io/normalize.css/
*/
/*--------------------------------------------------------------
>>> TABLE OF CONTENTS:
----------------------------------------------------------------
# Normalize
# Typography
# Elements
# Forms
# Navigation
	## Links
	## Menus
# Accessibility
# Alignments
# Clearings
# Widgets
# Content
	## Posts and pages
	## Comments
# Infinite scroll
# Media
	## Captions
	## Galleries
--------------------------------------------------------------*/
/*--------------------------------------------------------------
# Normalize
--------------------------------------------------------------*/
/*! normalize.css v8.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 iOS. */
html { line-height: 1.15; /* 1 */ -webkit-text-size-adjust: 100%; /* 2 */ }

/* Sections
	 ========================================================================== */
/** Remove the margin in all browsers. */
body { margin: 0; }

/** Correct the font size and margin on `h1` elements within `section` and `article` contexts in Chrome, Firefox, and Safari. */
h1 { font-size: 2em; margin: 0.67em 0; }

/* Grouping content
	 ========================================================================== */
/** 1. Add the correct box sizing in Firefox. 2. Show the overflow in Edge and IE. */
hr { -webkit-box-sizing: content-box; box-sizing: content-box; /* 1 */ height: 0; /* 1 */ overflow: visible; /* 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, monospace; /* 1 */ font-size: 1em; /* 2 */ }

/* Text-level semantics
	 ========================================================================== */
/** Remove the gray background on active links in IE 10. */
a { background-color: transparent; }

/** 1. Remove the bottom border in Chrome 57- 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari. */
abbr[title] { border-bottom: none; /* 1 */ text-decoration: underline; /* 2 */ -webkit-text-decoration: underline dotted; text-decoration: underline dotted; /* 2 */ }

/** Add the correct font weight in Chrome, Edge, and Safari. */
b, strong { font-weight: bolder; }

/** 1. Correct the inheritance and scaling of font size in all browsers. 2. Correct the odd `em` font sizing in all browsers. */
code, kbd, samp { font-family: monospace, monospace; /* 1 */ font-size: 1em; /* 2 */ }

/** Add the correct font size in all browsers. */
small { font-size: 80%; }

/** Prevent `sub` and `sup` elements from affecting the line height in all browsers. */
sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; }

sub { bottom: -0.25em; }

sup { top: -0.5em; }

/* Embedded content
	 ========================================================================== */
/** Remove the border on images inside links in IE 10. */
img { border-style: none; }

/* Forms
	 ========================================================================== */
/** 1. Change the font styles in all browsers. 2. Remove the margin in Firefox and Safari. */
button, input, optgroup, select, textarea { font-family: inherit; /* 1 */ font-size: 100%; /* 1 */ line-height: 1.15; /* 1 */ margin: 0; /* 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; }

/** Correct the inability to style clickable types in iOS and Safari. */
button, [type="button"], [type="reset"], [type="submit"] { -webkit-appearance: button; }

/** Remove the inner border and padding in Firefox. */
button::-moz-focus-inner, [type="button"]::-moz-focus-inner, [type="reset"]::-moz-focus-inner, [type="submit"]::-moz-focus-inner { border-style: none; padding: 0; }

/** Restore the focus styles unset by the previous rule. */
button:-moz-focusring, [type="button"]:-moz-focusring, [type="reset"]:-moz-focusring, [type="submit"]:-moz-focusring { outline: 1px dotted ButtonText; }

/** Correct the padding in Firefox. */
fieldset { padding: 0.35em 0.75em 0.625em; }

/** 1. Correct the text wrapping in Edge and IE. 2. Correct the color inheritance from `fieldset` elements in IE. 3. Remove the padding so developers are not caught out when they zero out 		`fieldset` elements in all browsers. */
legend { -webkit-box-sizing: border-box; box-sizing: border-box; /* 1 */ color: inherit; /* 2 */ display: table; /* 1 */ max-width: 100%; /* 1 */ padding: 0; /* 3 */ white-space: normal; /* 1 */ }

/** Add the correct vertical alignment in Chrome, Firefox, and Opera. */
progress { vertical-align: baseline; }

/** Remove the default vertical scrollbar in IE 10+. */
textarea { overflow: auto; }

/** 1. Add the correct box sizing in IE 10. 2. Remove the padding in IE 10. */
[type="checkbox"], [type="radio"] { -webkit-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; /* 2 */ }

/** Remove the inner padding in Chrome and Safari on macOS. */
[type="search"]::-webkit-search-decoration { -webkit-appearance: none; }

/** 1. Correct the inability to style clickable types in iOS and Safari. 2. Change font properties to `inherit` in Safari. */
::-webkit-file-upload-button { -webkit-appearance: button; /* 1 */ font: inherit; /* 2 */ }

/* Interactive
	 ========================================================================== */
/* Add the correct display in Edge, IE 10+, and Firefox. */
details { display: block; }

/* Add the correct display in all browsers. */
summary { display: list-item; }

/* Misc
	 ========================================================================== */
/** Add the correct display in IE 10+. */
template { display: none; }

/** Add the correct display in IE 10. */
[hidden] { display: none; }

/*--------------------------------------------------------------
# Typography
--------------------------------------------------------------*/
body, button, input, select, optgroup, textarea { color: var(--color_text-main); font-display: swap; font-size: 10px; font-size: 1rem; line-height: 1.5; }

h1, h2, h3, h4, h5, h6 { font-display: swap; clear: both; margin: 0 0 0.75rem; font-style: normal; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }

.h-xl { font-size: 25px; font-size: 2.5rem; }
@media (min-width: 768px) { .h-xl { font-size: 35px; font-size: 3.5rem; } }

.heading-line { position: relative; padding-bottom: 1.4rem; margin-bottom: 1.4rem !important; }
.heading-line:after { content: ""; position: absolute; top: 100%; left: 0; height: 5px; margin-top: -5px; background-color: currentColor; width: 90px; }

.heading-line-center { position: relative; padding-bottom: 1.4rem; margin-bottom: 1.4rem !important; }
.heading-line-center:after { content: ""; position: absolute; top: 100%; left: 0; right: 0; height: 5px; margin: -5px auto 0; background-color: currentColor; width: 90px; }

p + h3 { margin-top: 1.4rem; }

dfn, cite, em, i { font-style: italic; }

blockquote { margin: 0 1.5em; }

address { margin: 0 0 1.5em; }

pre { background: #eee; font-family: "Courier 10 Pitch", Courier, monospace; font-size: 9.375px; font-size: 0.9375rem; line-height: 1.6; margin-bottom: 1.6em; max-width: 100%; overflow: auto; padding: 1.6em; }

code, kbd, tt, var { font-family: Monaco, Consolas, "Andale Mono", "DejaVu Sans Mono", monospace; font-size: 9.375px; font-size: 0.9375rem; }

abbr, acronym { border-bottom: 1px dotted #666; cursor: help; }

mark, ins { background: #fff9c0; text-decoration: none; }

big { font-size: 125%; }

.wysiwyg-editor-custom-width h1, .wysiwyg-editor-custom-width h2, .wysiwyg-editor-custom-width h3, .wysiwyg-editor-custom-width h4, .wysiwyg-editor-custom-width h5, .wysiwyg-editor-custom-width h6, .wysiwyg-editor-block h1, .wysiwyg-editor-block h2, .wysiwyg-editor-block h3, .wysiwyg-editor-block h4, .wysiwyg-editor-block h5, .wysiwyg-editor-block h6, .text-feature-sidebar h1, .text-feature-sidebar h2, .text-feature-sidebar h3, .text-feature-sidebar h4, .text-feature-sidebar h5, .text-feature-sidebar h6 { margin: 0 0 1rem; }

/*--------------------------------------------------------------
# Elements
--------------------------------------------------------------*/
html { -webkit-box-sizing: border-box; box-sizing: border-box; }

*, *:before, *:after { /* Inherit box-sizing to make it easier to change the property for components that leverage other behavior; see https://css-tricks.com/inheriting-box-sizing-probably-slightly-better-best-practice/ */ -webkit-box-sizing: inherit; box-sizing: inherit; }

hr { border: 0; height: 1px; margin-bottom: 1.5em; }

.wsp-container li { padding-bottom: 0.5rem; }

ul, ol { margin: 0 0 1.5em 0em; padding: 0 1.3rem; }

ul { list-style: disc; }

ol { list-style: decimal; }

li > ul, li > ol { margin-bottom: 0; margin-left: 1.5em; }

dt { font-weight: bold; }

dd { margin: 0 1.5em 1.5em; }

img { height: auto; /* Make sure images are scaled correctly. */ max-width: 100%; /* Adhere to container width. */ }

figure { margin: 1em 0; /* Extra wide images within figure tags don't overflow the content area. */ }

table { width: 100%; }

/*--------------------------------------------------------------
# Forms
--------------------------------------------------------------*/
button, input[type="button"], input[type="reset"], input[type="submit"] { border: 1px solid; border-color: #ccc #ccc #bbb; border-radius: 3px; background: #e6e6e6; color: rgba(0, 0, 0, 0.8); font-size: 7.5px; font-size: 0.75rem; line-height: 1; padding: .6em 1em .4em; }
button:hover, input[type="button"]:hover, input[type="reset"]:hover, input[type="submit"]:hover { border-color: #ccc #bbb #aaa; }
button:active, button:focus, input[type="button"]:active, input[type="button"]:focus, input[type="reset"]:active, input[type="reset"]:focus, input[type="submit"]:active, input[type="submit"]:focus { border-color: #aaa #bbb #bbb; }

input[type="text"], input[type="email"], input[type="url"], input[type="password"], input[type="search"], input[type="number"], input[type="tel"], input[type="range"], input[type="date"], input[type="month"], input[type="week"], input[type="time"], input[type="datetime"], input[type="datetime-local"], input[type="color"], textarea { color: #666; border: 1px solid #ccc; border-radius: 3px; padding: 3px; }
input[type="text"]:focus, input[type="email"]:focus, input[type="url"]:focus, input[type="password"]:focus, input[type="search"]:focus, input[type="number"]:focus, input[type="tel"]:focus, input[type="range"]:focus, input[type="date"]:focus, input[type="month"]:focus, input[type="week"]:focus, input[type="time"]:focus, input[type="datetime"]:focus, input[type="datetime-local"]:focus, input[type="color"]:focus, textarea:focus { color: #111; }

select { border: 1px solid #ccc; }

textarea { width: 100%; }

/*--------------------------------------------------------------
# GRAVITY FORMS STYLES
--------------------------------------------------------------*/
.gform_wrapper form { font-family: var(--font_main); font-size: 13px; font-size: 1.3rem; }
.gform_wrapper form .gform_body ul.gform_fields li.gfield { padding-right: 0; }
@media (min-width: 641px) { .gform_wrapper form .gform_body ul.gform_fields li.gfield.gf_left_half { padding-right: 10px; }
  .gform_wrapper form .gform_body ul.gform_fields li.gfield.gf_right_half { padding-left: 10px; } }
.gform_wrapper form .gform_body ul.gform_fields li.gfield input, .gform_wrapper form .gform_body ul.gform_fields li.gfield select, .gform_wrapper form .gform_body ul.gform_fields li.gfield textarea { color: rgba(0, 0, 0, 0.9); background-color: #fff; border: 2px solid #f0f0f0; border-radius: 0 !important; padding: 8px !important; }
.gform_wrapper form .gform_body ul.gform_fields li.gfield textarea:focus, .gform_wrapper form .gform_body ul.gform_fields li.gfield input:focus { color: var(--color_primary); outline: none; }
.gform_wrapper form .gform_body ul.gform_fields li.gfield select { position: relative; appearance: none; -moz-appearance: none; -webkit-appearance: none; background-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='utf-8'%3F%3E%3C!-- Generator: Adobe Illustrator 20.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --%3E%3Csvg version='1.1' id='Layer_1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 292.4 292.4' style='enable-background:new 0 0 292.4 292.4;opacity:0.6' xml:space='preserve'%3E%3Cpath d='M287,69.4c-3.4-3.5-8.1-5.5-13-5.4H18.4c-5,0-9.3,1.8-12.9,5.4C2,72.7,0,77.4,0,82.2c0,5,1.8,9.3,5.4,12.9l128,127.9 c3.6,3.6,7.8,5.4,12.8,5.4s9.2-1.8,12.8-5.4L287,95c3.5-3.5,5.4-7.8,5.4-12.8s-1.9-9.2-5.5-12.8L287,69.4z'/%3E%3C/svg%3E%0A"); background-repeat: no-repeat, repeat; background-position: right .5em top 50%, 0 0; background-size: .65em auto, 100%; margin-top: 8px; }
.gform_wrapper form .gform_body ul.gform_fields li.gfield select option { color: rgba(0, 0, 0, 0.9) !important; }
.gform_wrapper form .gform_body ul.gform_fields li.gfield select:focus { outline: none; }
.gform_wrapper form .gform_body .no_prefix.has_first_name.no_middle_name.no_last_name.no_suffix input { margin: 0; margin-top: 10px; }
.gform_wrapper .ginput_container_name input { margin-bottom: 0 !important; }
.gform_wrapper input[type="submit"] { border-radius: 0; border: transparent; background-color: var(--color_primary); color: #fff; font-size: 1rem !important; text-transform: uppercase; font-family: var(--font_main); padding: 15px 20px; -webkit-transition: all 0.3s ease; transition: all 0.3s ease; }
.gform_wrapper input[type="submit"]:hover { opacity: 0.9; }

.gform_wrapper form .gform_body ul.gform_fields li.gfield input, .gform_wrapper form .gform_body ul.gform_fields li.gfield select, .gform_wrapper form .gform_body ul.gform_fields li.gfield textarea { color: inherit !important; }

@media (max-width: 575.98px) { .ginput_recaptcha { -webkit-transform: scale(0.7); transform: scale(0.7); margin-left: -17%; } }
.gf_simple_horizontal_wrapper.gform_wrapper li.hidden_label input { margin-top: 0; }

@media only screen and (min-width: 641px) { .gform_wrapper form.gf_simple_horizontal div.gform_body { width: 100% !important; max-width: 75%; } }
/*--------------------------------------------------------------
# Navigation
--------------------------------------------------------------*/
/*--------------------------------------------------------------
## Links
--------------------------------------------------------------*/
a:hover, a:active { outline: 0; }
a:hover { cursor: pointer; }

button:focus { outline: none; }

/*--------------------------------------------------------------
## Header and Footer Menus
--------------------------------------------------------------*/
/*--------------------------------------------------------------
## Header Menus
--------------------------------------------------------------*/
/**====================
* Menu Layout 1
*======================*/
#header_layout-1 { text-transform: uppercase; }
#header_layout-1 .site-branding { text-align: center; }
#header_layout-1 .site-branding img { max-height: 55px; width: auto; }
#header_layout-1 li { text-align: left; padding: 0; margin-left: 2rem; }
#header_layout-1 li > a { padding: 2.5rem 0; }
#header_layout-1 li > ul.dropdown-menu { margin-top: 0; padding: 0; border-radius: 0; border-top: 3px solid var(--color_primary); width: 300px; left: calc((50% - (300px/2))); }
#header_layout-1 li > ul.dropdown-menu > li { text-align: center; margin: 0; padding: 0; }
#header_layout-1 li > ul.dropdown-menu > li > a { width: 100%; padding: 1.3rem 0.5rem; }
#header_layout-1 li > ul.dropdown-menu > li:not(:last-child) { border-bottom: 2px solid var(--color_light); }
#header_layout-1 li > ul.dropdown-menu > li:hover { background-color: var(--color_light); }
#header_layout-1 li a { text-decoration: none; display: inline-block; }
@media (min-width: 992px) { #header_layout-1 li.menu-item-has-children:hover > ul.dropdown-menu { display: block; } }
#header_layout-1 .caret { padding-left: 3px; position: relative; top: -2px; }
#header_layout-1 .caret svg { width: 10px; height: auto; }
#header_layout-1 .navbar-nav > li.current-menu-item > a > span, #header_layout-1 .navbar-nav > li.current_page_parent > a > span { position: relative; }
#header_layout-1 .navbar-nav > li.current-menu-item > a > span::after, #header_layout-1 .navbar-nav > li.current_page_parent > a > span::after { content: ""; position: absolute; top: 100%; left: 5%; height: 2px; margin-top: 8px; width: 90%; }
#header_layout-1 .navbar-nav > li.current-menu-item.menu-item-has-children > a > span, #header_layout-1 .navbar-nav > li.current_page_parent.menu-item-has-children > a > span { position: relative; }
#header_layout-1 .navbar-nav > li.current-menu-item.menu-item-has-children > a > span::after, #header_layout-1 .navbar-nav > li.current_page_parent.menu-item-has-children > a > span::after { content: ""; position: absolute; top: 100%; left: 5%; height: 2px; margin-top: 8px; width: 105%; }
#header_layout-1 button { padding-top: 8px; padding-bottom: 8px; border: none; }
#header_layout-1 button:focus { outline: none; }
@media (max-width: 991.98px) { #header_layout-1 .site-branding { max-width: 200px; padding-right: 20px; margin: 15px 0; -webkit-box-flex: 1; -ms-flex-positive: 1; flex-grow: 1; -ms-flex-preferred-size: 0; flex-basis: 0; }
  #header_layout-1 .navbar { padding: 1.5rem 0; }
  #header_layout-1 .navbar #navbarNav > ul.navbar-nav { margin-bottom: 20px; }
  #header_layout-1 .navbar #navbarNav > ul.navbar-nav > li { position: relative; text-align: center; }
  #header_layout-1 .navbar #navbarNav > ul.navbar-nav > li:not(:first-child) { border-top: 2px solid #fff; }
  #header_layout-1 .navbar #navbarNav > ul.navbar-nav > li a { display: inline-block; padding: 1rem; width: 100%; text-transform: uppercase; font-weight: 700; }
  #header_layout-1 .navbar #navbarNav > ul.navbar-nav > li span.caret { border-left: 2px solid white; padding: 1rem; position: absolute; right: 0; height: inherit; }
  #header_layout-1 .navbar #navbarNav > ul.navbar-nav > li span.caret svg { width: 15px; height: auto; }
  #header_layout-1 .navbar #navbarNav > ul.navbar-nav > li > ul.dropdown-menu { width: 100%; border-radius: 0; border: none; padding: 0; }
  #header_layout-1 .navbar #navbarNav > ul.navbar-nav > li > ul.dropdown-menu > li { border-top: 2px solid #fff; text-align: center; }
  #header_layout-1 .navbar #navbarNav > ul.navbar-nav > li > ul.dropdown-menu > li > a { width: 100%; }
  #header_layout-1 .navbar #navbarNav > ul.navbar-nav > li > ul.dropdown-menu > li > a:hover { color: unset; }
  #header_layout-1 .navbar #navbarNav > ul.navbar-nav > li * { margin-top: 0; } }

/**====================
* Menu Layout 2
*======================*/
#header_sticky, #header_layout-2 { /* Logo */ /* Menu Items */ }
#header_sticky .site-branding, #header_layout-2 .site-branding { text-align: center; }
#header_sticky .site-branding img, #header_layout-2 .site-branding img { height: 70px; width: auto; }
@media (min-width: 1200px) { #header_sticky .site-branding, #header_layout-2 .site-branding { margin-right: 60px; }
  #header_sticky .site-branding img, #header_layout-2 .site-branding img { height: 80px; width: auto; } }
#header_sticky ul li, #header_layout-2 ul li { padding: 30px 1rem; }
#header_sticky ul li a, #header_layout-2 ul li a { font-family: var(--font_main); font-weight: 700; text-transform: uppercase; }
#header_sticky ul li a:hover, #header_layout-2 ul li a:hover { text-decoration: none; }
#header_sticky ul li > ul.dropdown-menu, #header_layout-2 ul li > ul.dropdown-menu { margin-top: 0; padding: 0; border-radius: 0; border-top: 3px solid var(--color_primary); width: 300px; left: calc((50% - (300px/2))); }
#header_sticky ul li > ul.dropdown-menu > li, #header_layout-2 ul li > ul.dropdown-menu > li { text-align: center; margin: 0; padding: 0; }
#header_sticky ul li > ul.dropdown-menu > li > a, #header_layout-2 ul li > ul.dropdown-menu > li > a { display: inline-block; width: 100%; padding: 1.3rem 0.5rem; }
#header_sticky ul li > ul.dropdown-menu > li:not(:last-child), #header_layout-2 ul li > ul.dropdown-menu > li:not(:last-child) { border-bottom: 2px solid var(--color_light); }
#header_sticky ul li > ul.dropdown-menu > li:hover, #header_layout-2 ul li > ul.dropdown-menu > li:hover { background-color: var(--color_light); }
@media (min-width: 1200px) { #header_sticky ul li.menu-item-has-children:hover > ul.dropdown-menu, #header_layout-2 ul li.menu-item-has-children:hover > ul.dropdown-menu { display: block; } }
#header_sticky button, #header_layout-2 button { position: absolute; top: 17px; left: 0; padding-top: 8px; padding-bottom: 8px; border: none; }
#header_sticky button:focus, #header_layout-2 button:focus { outline: none; }
@media (max-width: 1199.98px) { #header_sticky .navbar #navbarNav > ul.navbar-nav, #header_layout-2 .navbar #navbarNav > ul.navbar-nav { margin-bottom: 20px; }
  #header_sticky .navbar #navbarNav > ul.navbar-nav > li, #header_layout-2 .navbar #navbarNav > ul.navbar-nav > li { position: relative; text-align: center; padding: 0; }
  #header_sticky .navbar #navbarNav > ul.navbar-nav > li:not(:first-child), #header_layout-2 .navbar #navbarNav > ul.navbar-nav > li:not(:first-child) { border-top: 2px solid #fff; }
  #header_sticky .navbar #navbarNav > ul.navbar-nav > li a, #header_layout-2 .navbar #navbarNav > ul.navbar-nav > li a { display: inline-block; padding: 1rem; width: 100%; color: #fff; text-transform: uppercase; font-weight: 700; }
  #header_sticky .navbar #navbarNav > ul.navbar-nav > li span.caret, #header_layout-2 .navbar #navbarNav > ul.navbar-nav > li span.caret { border-left: 2px solid white; padding: 1rem; position: absolute; right: 0; height: inherit; color: white; }
  #header_sticky .navbar #navbarNav > ul.navbar-nav > li span.caret svg, #header_layout-2 .navbar #navbarNav > ul.navbar-nav > li span.caret svg { fill: #fff; width: 15px; height: auto; }
  #header_sticky .navbar #navbarNav > ul.navbar-nav > li > ul.dropdown-menu, #header_layout-2 .navbar #navbarNav > ul.navbar-nav > li > ul.dropdown-menu { width: 100%; border-radius: 0; border: none; padding: 0; }
  #header_sticky .navbar #navbarNav > ul.navbar-nav > li > ul.dropdown-menu > li, #header_layout-2 .navbar #navbarNav > ul.navbar-nav > li > ul.dropdown-menu > li { border-top: 2px solid #fff; text-align: center; }
  #header_sticky .navbar #navbarNav > ul.navbar-nav > li > ul.dropdown-menu > li > a, #header_layout-2 .navbar #navbarNav > ul.navbar-nav > li > ul.dropdown-menu > li > a { width: 100%; }
  #header_sticky .navbar #navbarNav > ul.navbar-nav > li *, #header_layout-2 .navbar #navbarNav > ul.navbar-nav > li * { margin-top: 0; } }

#header_sticky { top: 0; left: 0; z-index: 4; position: fixed; -webkit-transition: 0.3s all; transition: 0.3s all; -webkit-transform: translateY(-100%); transform: translateY(-100%); }
#header_sticky.sticky-header { -webkit-box-shadow: 0 0px 10px rgba(0, 0, 0, 0.3); box-shadow: 0 0px 10px rgba(0, 0, 0, 0.3); -webkit-transform: translateY(0); transform: translateY(0); }

@media (min-width: 1200px) { li.highlight-1 { margin-left: auto; }
  li.highlight-1 > a { padding: 0.5rem 1rem !important; border-radius: 8px; -webkit-transition: all 0.3s ease; transition: all 0.3s ease; }
  li.highlight-1 > a:hover { opacity: 1 !important; }
  li.highlight-2 > a { padding: 0.5rem 1rem !important; border-radius: 8px; -webkit-transition: all 0.3s ease; transition: all 0.3s ease; }
  li.highlight-2 > a:hover { opacity: 1 !important; } }
.darkOverlay { position: fixed; top: 0; bottom: 0; left: 0; right: 0; height: 100%; width: 100%; z-index: 110; pointer-events: none; opacity: 0; background: #000; -webkit-transition: all .25s ease-in-out; transition: all .25s ease-in-out; display: none; }
.darkOverlay.active { opacity: .4; pointer-events: unset; display: block; }

#header_layout-3 { border-bottom: 1px solid rgba(0, 0, 0, 0.2); }
#header_layout-3 nav.navbar { height: 100%; padding: 0; }
#header_layout-3 nav.navbar button.navbar-toggler { height: 100%; border: none; border-right: 1px solid rgba(0, 0, 0, 0.2); border-radius: 0; width: 75px; }
@media (min-width: 576px) { #header_layout-3 nav.navbar button.navbar-toggler { width: 100px; } }
#header_layout-3 .header-left .sidebar-collapse { z-index: 9999; position: fixed; top: 0; left: 0; max-width: 400px; width: 100%; height: 100%; }
#header_layout-3 .header-left .sidebar-collapse ul { text-align: center; padding: 0; }
#header_layout-3 .header-left .sidebar-collapse ul li a { display: inline-block; border-bottom: 1px solid gray; }
#header_layout-3 .header-left .sidebar-collapse ul.dropdown-menu { margin-top: 0; border-radius: 0; }
#header_layout-3 .header-left .sidebar-collapse a.nav-link { padding-top: 1rem; padding-bottom: 1rem; width: 100%; }
#header_layout-3 .header-left .sidebar__close-button { width: 100%; min-height: 55px; border: none; border-radius: 0; text-transform: uppercase; border-bottom: 1px solid gray; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; -webkit-box-align: center; -ms-flex-align: center; align-items: center; }
#header_layout-3 .header-left .sidebar__close-button .close-icon { font-size: 25px; padding-right: 5px; position: relative; top: -2px; }
#header_layout-3 .header-left .navbar-collapse.collapsing { left: -75%; -webkit-transition: height 0s ease; transition: height 0s ease; }
#header_layout-3 .header-left .navbar-collapse.show { left: 0; -webkit-transition: left 300ms ease-in-out; transition: left 300ms ease-in-out; }
#header_layout-3 .header-left .navbar-toggler.collapsed ~ .navbar-collapse { -webkit-transition: left 500ms ease-in-out; transition: left 500ms ease-in-out; }
#header_layout-3 .header-left span.caret { border-left: 1px solid gray; padding: 1rem; position: absolute; right: 0; top: 0; height: inherit; color: #121212; }
#header_layout-3 .header-centre a.custom-logo-link img { height: 70px; width: auto; padding: 10px; }
#header_layout-3 .header-right__menu { height: 100%; list-style: none; margin: 0; margin-left: auto; padding: 0; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-orient: horizontal; -webkit-box-direction: normal; -ms-flex-direction: row; flex-direction: row; -webkit-box-pack: end; -ms-flex-pack: end; justify-content: flex-end; }
#header_layout-3 .header-right__menu > li { position: relative; height: 100%; border-left: 1px solid rgba(0, 0, 0, 0.2); }
#header_layout-3 .header-right__menu a { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; padding: 15px; height: 100%; min-width: 100px; text-align: center; }
#header_layout-3 .header-right__menu a:hover, #header_layout-3 .header-right__menu a:focus, #header_layout-3 .header-right__menu a:active { text-decoration: none; color: currentColor; }
@media (max-width: 575.98px) { #header_layout-3 .header-right__menu a { min-width: 75px; } }
#header_layout-3 .header-right__menu .icon { padding-bottom: 5px; }
#header_layout-3 .header-right__menu .icon svg { max-height: 20px; width: auto; }
#header_layout-3 .header-right__reservations { font-size: 0.8rem; }

.notification-bar { background-color: #1a8b48; color: #fff !important; padding-top: 0.85rem; padding-bottom: 0.75rem; }
@media (min-width: 1200px) { .notification-bar { background-color: #1a8b48; height: 60px; } }
.notification-bar__title { font-weight: 700; font-size: .9rem; text-transform: uppercase; }
.notification-bar__title a.link { text-decoration: underline; color: #fff; }
.notification-bar__title a.link:hover { color: #1a8b48; }
.notification-bar__title a.link:visited, .notification-bar__title a.link:active, .notification-bar__title a.link a:focus { color: #fff !important; }
.notification-bar__close { font-size: 1.75rem; line-height: 0; color: #fff; font-weight: 700; background-color: transparent; border: none; padding: 1rem .5rem; display: block; }
.notification-bar__button { text-transform: uppercase; font-weight: 700; min-width: 150px; font-size: 0.9rem; color: #fcf6b9 !important; background-color: #323232; padding: 5px 25px; border-radius: 15px; text-align: center; -webkit-transition: all 0.3s ease; transition: all 0.3s ease; }
.notification-bar__button:hover { background-color: #fff; color: #000; text-decoration: none; }
.notification-bar__close { position: absolute; right: 0; top: -6px; bottom: 0; }

/**====================
* Menu Layout 4
*======================*/
@media (max-width: 991.98px) { #header_layout-4 .menu-item { width: 100%; display: inline-block; padding: 10px; width: 100%; } }
#header_layout-4 .animated-icon span { background: var(--color_primary); }

/**====================
* Menu Layout 5
*======================*/
#header_layout-5 { text-transform: uppercase; }
#header_layout-5 .site-branding { text-align: center; }
#header_layout-5 .site-branding img { max-height: 55px; width: auto; }
#header_layout-5 .layout-5__highlight-1 span { color: #fff; background-color: var(--color_primary); text-decoration: none; padding: 10px 15px; border-radius: 10px; }
#header_layout-5 .layout-5__highlight-1 span:hover { color: #fff; background-color: var(--color_accent); text-decoration: none; }
#header_layout-5 .layout-5__highlight-2 span { color: #fff; background-color: var(--color_accent); text-decoration: none; padding: 10px 15px; border-radius: 10px; }
#header_layout-5 .layout-5__highlight-2 span:hover { color: #fff; background-color: var(--color_secondary); text-decoration: none; }
#header_layout-5 span.menu-icon { max-width: 40px; height: auto; display: block; }
#header_layout-5 span.menu-icon svg, #header_layout-5 span.menu-icon img { width: 100%; height: auto; }
#header_layout-5 span.menu-icon svg { fill: currentColor; }
#header_layout-5 ul#menu-primary-menu-mobile li:not(:last-child) { border-bottom: 1px solid #b3b3b3; }
@media (min-width: 1200px) { #header_layout-5 ul.nav > li.menu-item { -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; display: -webkit-box; display: -ms-flexbox; display: flex; }
  #header_layout-5 ul.nav > li.highlight > a span { background-color: pink; padding: 15px 20px; border-radius: 10px; color: #fff; } }
#header_layout-5 li { text-align: center; padding: 0; }
#header_layout-5 li > a { font-size: 9.5px; font-size: 0.95rem; padding: 2.5rem 0; }
#header_layout-5 li > ul.dropdown-menu { margin-top: 0; padding: 0; border-radius: 0; border-top: 3px solid var(--color_primary); width: 300px; left: calc((50% - (300px/2))); }
#header_layout-5 li > ul.dropdown-menu > li { text-align: center; margin: 0; padding: 0; }
#header_layout-5 li > ul.dropdown-menu > li > a { width: 100%; padding: 1.3rem 0.5rem; }
#header_layout-5 li > ul.dropdown-menu > li:not(:last-child) { border-bottom: 2px solid var(--color_light); }
#header_layout-5 li > ul.dropdown-menu > li:hover { background-color: var(--color_light); }
#header_layout-5 li a { text-decoration: none; display: inline-block; }
@media (min-width: 1200px) { #header_layout-5 li.menu-item-has-children:hover > ul.dropdown-menu { display: block; } }
#header_layout-5 .caret { padding-left: 3px; position: relative; top: -2px; }
#header_layout-5 .caret svg { width: 10px; height: auto; }
#header_layout-5 .navbar-nav > li.current-menu-item > a > span, #header_layout-5 .navbar-nav > li.current_page_parent > a > span { position: relative; }
#header_layout-5 .navbar-nav > li.current-menu-item > a > span::after, #header_layout-5 .navbar-nav > li.current_page_parent > a > span::after { content: ""; position: absolute; top: 100%; left: 5%; height: 2px; margin-top: 8px; width: 90%; }
#header_layout-5 .navbar-nav > li.current-menu-item.menu-item-has-children > a > span, #header_layout-5 .navbar-nav > li.current_page_parent.menu-item-has-children > a > span { position: relative; }
#header_layout-5 .navbar-nav > li.current-menu-item.menu-item-has-children > a > span::after, #header_layout-5 .navbar-nav > li.current_page_parent.menu-item-has-children > a > span::after { content: ""; position: absolute; top: 100%; left: 5%; height: 2px; margin-top: 8px; width: 105%; }
#header_layout-5 button { padding-top: 8px; padding-bottom: 8px; border: none; }
#header_layout-5 button:focus { outline: none; }
@media (max-width: 1199.98px) { #header_layout-5 .site-branding { max-width: 200px; padding-right: 20px; margin: 15px 0; -webkit-box-flex: 1; -ms-flex-positive: 1; flex-grow: 1; -ms-flex-preferred-size: 0; flex-basis: 0; }
  #header_layout-5 .navbar { padding: 1.5rem 0; }
  #header_layout-5 .navbar #navbarNav > ul.navbar-nav { margin-bottom: 20px; }
  #header_layout-5 .navbar #navbarNav > ul.navbar-nav > li { position: relative; text-align: center; }
  #header_layout-5 .navbar #navbarNav > ul.navbar-nav > li a { display: inline-block; padding: 1rem; width: 100%; text-transform: uppercase; font-weight: 700; }
  #header_layout-5 .navbar #navbarNav > ul.navbar-nav > li span.caret { border-left: 2px solid white; padding: 1rem; position: absolute; right: 0; height: inherit; }
  #header_layout-5 .navbar #navbarNav > ul.navbar-nav > li span.caret svg { width: 15px; height: auto; }
  #header_layout-5 .navbar #navbarNav > ul.navbar-nav > li > ul.dropdown-menu { width: 100%; border-radius: 0; border: none; padding: 0; }
  #header_layout-5 .navbar #navbarNav > ul.navbar-nav > li > ul.dropdown-menu > li { border-top: 2px solid #fff; text-align: center; }
  #header_layout-5 .navbar #navbarNav > ul.navbar-nav > li > ul.dropdown-menu > li > a { width: 100%; }
  #header_layout-5 .navbar #navbarNav > ul.navbar-nav > li > ul.dropdown-menu > li > a:hover { color: unset; }
  #header_layout-5 .navbar #navbarNav > ul.navbar-nav > li * { margin-top: 0; } }

/*--------------------------------------------------------------
## Footer Menus
--------------------------------------------------------------*/
#site-footer__default .site-footer__menu ul { list-style: none; }
#site-footer__default .site-footer__menu ul li { display: inline-block; padding: 10px; }
#site-footer__default .social-icons a:not(:last-child) { padding-right: 0.5rem; }
@media (min-width: 992px) { #site-footer__default .site-footer__menu ul li:not(:last-child):after { content: "|"; padding-left: 15px; } }

#site-footer__layout-1 { padding: 4rem 0 2rem; }
#site-footer__layout-1 .site-footer__menu ul { list-style: none; margin-left: 0; padding-left: 0; margin-bottom: 0; }
#site-footer__layout-1 .site-footer__contact > p { font-size: 10px; font-size: 1rem; }
#site-footer__layout-1 .site-footer__heading { font-size: 13px; font-size: 1.3rem; color: inherit; }
@media (max-width: 767.98px) { #site-footer__layout-1 .site-footer__logo { width: 100%; max-width: 200px; } }

#site-footer__layout-2 { padding: 4rem 0 3rem; border-top: 1px solid rgba(0, 0, 0, 0.5); }
#site-footer__layout-2 .site-footer__menu ul { list-style: none; padding-left: 0; }
#site-footer__layout-2 .site-footer__menu ul li { display: inline-block; }
#site-footer__layout-2 .site-footer__menu ul li:not(:last-child)::after { content: "|"; padding: 0 .5rem; }
#site-footer__layout-2 .site-footer--copyright p, #site-footer__layout-2 .site-footer--copyright li, #site-footer__layout-2 .site-footer--copyright a { font-size: 9px; font-size: 0.9rem; font-family: var(--font_main); list-style: none; color: #636363; }
#site-footer__layout-2 .footer-menu-privacy ul { list-style: none; margin: 0; padding-left: 0; }
#site-footer__layout-2 .footer-menu-privacy ul li { display: inline-block; }
#site-footer__layout-2 .footer-menu-privacy ul li:not(:last-child):after { content: "|"; padding-left: 0.7rem; padding-right: 0.5rem; }

/*--------------------------------------------------------------
## Footer Layout #3
--------------------------------------------------------------*/
#site-footer__layout-3 #footer-navigation h3 { margin: 0; display: block; border-bottom: 2px solid currentColor; margin-bottom: 15px; color: inherit; }
#site-footer__layout-3 #footer-navigation ul { display: none; list-style: none; margin: 0; padding-left: 0; display: inline-block; }
#site-footer__layout-3 #footer-navigation li { position: relative; }
#site-footer__layout-3 #footer-navigation li a { margin-bottom: 0.5rem; }
#site-footer__layout-3 #footer-navigation li a.visited { color: inherit; }
#site-footer__layout-3 #footer-navigation a { display: block; text-decoration: none; }
@media (max-width: 991.98px) { #site-footer__layout-3 #footer-navigation .wrap { margin-bottom: 20px; } }
#site-footer__layout-3 .footer-description p { font-size: 1rem; }

/*--------------------------------------------------------------
## Footer Layout #3
--------------------------------------------------------------*/
#site-footer__layout-4 #footer-navigation h3 { margin: 0; display: block; border-bottom: 2px solid currentColor; margin-bottom: 15px; color: inherit; }
#site-footer__layout-4 #footer-navigation ul { display: none; list-style: none; margin: 0; padding-left: 0; display: inline-block; }
#site-footer__layout-4 #footer-navigation li { position: relative; }
#site-footer__layout-4 #footer-navigation li a { margin-bottom: 0.5rem; }
#site-footer__layout-4 #footer-navigation li a.visited { color: inherit; }
#site-footer__layout-4 #footer-navigation a { display: block; text-decoration: none; }
@media (max-width: 991.98px) { #site-footer__layout-4 #footer-navigation .wrap { margin-bottom: 20px; } }
#site-footer__layout-4 .footer-description p { font-size: 1rem; }

.site-footer { padding-bottom: 30px; }
.site-footer__copyright p, .site-footer__copyright li, .site-footer__copyright a { font-size: 9px; font-size: 0.9rem; font-family: var(--font_main); list-style: none; color: inherit; }
.site-footer__copyright .footer-menu-privacy ul { list-style: none; margin: 0; padding-left: 0; }
.site-footer__copyright .footer-menu-privacy ul li { display: inline-block; }
.site-footer__copyright .footer-menu-privacy ul li:not(:last-child):after { content: "|"; padding-left: 0.7rem; padding-right: 0.5rem; }

.footer-menu-locations ul { list-style: none; margin: 0; padding-left: 0; }
.footer-menu-locations ul li { display: inline-block; }
.footer-menu-locations ul li:not(:last-child) { margin-right: .5rem; }
.footer-menu-locations button.footer-collapse-link { border: none; background: transparent; font-family: var(--font_heading); font-size: 1rem; padding: 0; }
.footer-menu-locations button.footer-collapse-link.collapsed:after { -webkit-transform: rotate(0deg); transform: rotate(0deg); top: 1px; }
.footer-menu-locations button.footer-collapse-link:after { content: "+"; -webkit-transform: rotate(45deg); transform: rotate(45deg); display: inline-block; padding-left: 5px; position: relative; top: 0; -webkit-transition: all 0.3s ease; transition: all 0.3s ease; }

nav.regional_menu { border-top: 2px solid white; }
nav.regional_menu ul { margin: 0; padding: 0; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-orient: horizontal; -webkit-box-direction: normal; -ms-flex-direction: row; flex-direction: row; }
nav.regional_menu li { list-style: none; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-flex: 1; -ms-flex: 1 1 auto; flex: 1 1 auto; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; -webkit-box-align: center; -ms-flex-align: center; align-items: center; text-align: center; border-bottom: 2px solid white; }
nav.regional_menu li a { display: block; padding: 20px 10px; color: inherit; font-family: var(--font_heading); }
nav.regional_menu li a:hover, nav.regional_menu li a:visited, nav.regional_menu li a:focus, nav.regional_menu li a:active { text-decoration: none; }
nav.regional_menu li:not(:first-child) { border-left: 1px solid white; }
nav.regional_menu li:not(:last-child) { border-right: 1px solid white; }
@media (max-width: 767.98px) { nav.regional_menu li { -webkit-box-flex: 0; -ms-flex: 0 0 50%; flex: 0 0 50%; max-width: 50%; } }
@media (max-width: 767.98px) { nav.regional_menu ul { -webkit-box-orient: horizontal; -webkit-box-direction: normal; -ms-flex-direction: row; flex-direction: row; -ms-flex-wrap: wrap; flex-wrap: wrap; }
  nav.regional_menu li { -webkit-box-flex: 0; -ms-flex: 0 0 50%; flex: 0 0 50%; max-width: 50%; border: none; border-bottom: 2px solid #fff; }
  nav.regional_menu li:nth-of-type(even) { border-left: 1px solid #fff; }
  nav.regional_menu li:nth-of-type(odd) { border-right: 1px solid #fff; } }

.animated-icon { width: 30px; height: 20px; position: relative; margin: 0px; display: inline-block; -webkit-transform: rotate(0deg); transform: rotate(0deg); -webkit-transition: .5s ease-in-out; transition: .5s ease-in-out; cursor: pointer; }
.animated-icon span { display: block; position: absolute; height: 2px; width: 100%; border-radius: 9px; opacity: 1; left: 0; -webkit-transform: rotate(0deg); transform: rotate(0deg); -webkit-transition: .25s ease-in-out; transition: .25s ease-in-out; background: var(--color_dark); }
.animated-icon span:nth-child(1) { top: 0px; }
.animated-icon span:nth-child(2) { top: 10px; }
.animated-icon span:nth-child(3) { top: 10px; }
.animated-icon span:nth-child(4) { top: 20px; }

.animated-icon.open span:nth-child(1) { top: 11px; width: 0%; left: 50%; }
.animated-icon.open span:nth-child(2) { -webkit-transform: rotate(45deg); transform: rotate(45deg); }
.animated-icon.open span:nth-child(3) { -webkit-transform: rotate(-45deg); transform: rotate(-45deg); }
.animated-icon.open span:nth-child(4) { top: 11px; width: 0%; left: 50%; }

.caret { padding-left: 3px; position: relative; top: -2px; }
.caret svg { width: 10px; height: auto; }

.header__above-header-bar { padding-top: 0.75rem; padding-bottom: 0.75rem; }
@media (min-width: 1200px) { .header__above-header-bar { height: 50px; } }
@media (max-width: 1199.98px) { .header__above-header-bar { border-bottom: 2px solid #fff; } }
.header__above-header-title { font-weight: 700; font-size: .9rem; text-transform: uppercase; }
.header__above-header-title a.link { text-decoration: underline; }
.header__above-header-close { font-size: 1.75rem; line-height: 0; font-weight: 700; background-color: transparent; border: none; padding: 1rem .5rem; display: block; }
.header__above-header-button { text-transform: uppercase; font-weight: 700; min-width: 150px; font-size: 0.9rem; padding: 5px 25px; border-radius: 15px; text-align: center; -webkit-transition: all 0.3s ease; transition: all 0.3s ease; }
.header__above-header-button:hover { text-decoration: none; }
.header__above-header-close { position: absolute; right: 0; top: -4px; bottom: 0; }

.header-bar__layout-2 { font-size: 9px; font-size: 0.9rem; }
.header-bar__layout-2--inline-wrapper { display: inline-block; padding: 0.5rem 0; }
@media (min-width: 768px) { .header-bar__layout-2--inline-wrapper { padding: 0.6rem 0 0.6rem; } }
.header-bar__layout-2--inline-wrapper svg { width: 13px; height: auto; margin-right: 6px; position: relative; top: -1px; }
.header-bar__layout-2 span a { text-transform: none; }
.header-bar__layout-2 span:hover a { text-decoration: none; }
.header-bar__layout-2__close { font-size: 1.75rem; line-height: 0; font-weight: 700; background-color: transparent; border: none; padding: 1rem .5rem; display: inline-block; position: absolute; top: 4px; right: 0; }
.header-bar__layout-2__close:focus, .header-bar__layout-2__close:active { border: none; outline: none; }

/*--------------------------------------------------------------
# Accessibility
--------------------------------------------------------------*/
/* Text meant only for screen readers. */
.screen-reader-text { border: 0; clip: rect(1px, 1px, 1px, 1px); -webkit-clip-path: inset(50%); clip-path: inset(50%); height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute !important; width: 1px; word-wrap: normal !important; /* Many screen reader and browser combinations announce broken words as they would appear visually. */ }
.screen-reader-text:focus { background-color: #f1f1f1; border-radius: 3px; -webkit-box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6); box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6); clip: auto !important; -webkit-clip-path: none; clip-path: none; color: #21759b; display: block; font-size: 8.75px; font-size: 0.875rem; font-weight: bold; height: auto; left: 5px; line-height: normal; padding: 15px 23px 14px; text-decoration: none; top: 5px; width: auto; z-index: 100000; /* Above WP toolbar. */ }

/* Do not show the outline on the skip link target. */
#content[tabindex="-1"]:focus { outline: 0; }

/*--------------------------------------------------------------
# Alignments
--------------------------------------------------------------*/
.alignleft { display: inline; float: left; margin-right: 1.5em; }

.alignright { display: inline; float: right; margin-left: 1.5em; }

.aligncenter { clear: both; display: block; margin-left: auto; margin-right: auto; }

/*--------------------------------------------------------------
# Clearings
--------------------------------------------------------------*/
.clear:before, .clear:after, .entry-content:before, .entry-content:after, .comment-content:before, .comment-content:after, .site-header:before, .site-header:after, .site-content:before, .site-content:after, .site-footer:before, .site-footer:after { content: ""; display: table; table-layout: fixed; }

.clear:after, .entry-content:after, .comment-content:after, .site-header:after, .site-content:after, .site-footer:after { clear: both; }

/*--------------------------------------------------------------
# Widgets
--------------------------------------------------------------*/
.widget { margin: 0 0 1.5em; /* Make sure select elements fit in widgets. */ }
.widget select { max-width: 100%; }

@media (min-width: 1200px) { .blog-widget-area { margin-left: 2.4rem; } }

.acf-widget__profile__content { padding: 0 2rem 1rem; }
.acf-widget__profile__name { font-size: 1.3rem; font-weight: 700; }
.acf-widget__profile__description p { font-size: 0.9rem; }
.acf-widget__subscribe__title { font-size: 1.3rem; font-weight: 700; }
.acf-widget__subscribe__content { padding: 1.75rem 2rem; }
.acf-widget__subscribe__content ul { list-style: none; margin: 0; padding: 0; }
.acf-widget__subscribe__content ul li { margin-bottom: 1.3em !important; }

.widget:not(.acf-widget) { padding: 1.75rem 2rem 0.75rem; margin-bottom: 1.5rem; margin-top: 1.5rem; }
.widget:not(.acf-widget) .widget-title { font-size: 1.3rem; font-weight: 700; }
.widget:not(.acf-widget) ul { list-style: none; margin: 0; padding: 0; }
.widget:not(.acf-widget) ul li { margin-bottom: 1.3em !important; }

/*--------------------------------------------------------------
# Content
--------------------------------------------------------------*/
/*--------------------------------------------------------------
## Posts and pages
--------------------------------------------------------------*/
.sticky { display: block; }

.updated:not(.published) { display: none; }

.page-content, .entry-content, .entry-summary { margin: 1.5em 0 0; }

.page-links { clear: both; margin: 0 0 1.5em; }

.page-title__layout-1 h1 { color: inherit; }
.page-title__layout-2 { height: 400px; width: 100%; background-size: cover; background-position: center; background-repeat: no-repeat; position: relative; }
.page-title__layout-2::before { content: ""; background: rgba(0, 0, 0, 0.6); position: absolute; bottom: 0; top: 0; left: 0; right: 0; }
.page-title__layout-2 h1 { z-index: 1; color: inherit; }
.page-title__layout-3 .page-title__background { height: 360px; background-size: cover; background-position: center; }
.page-title__layout-3 h1 { color: inherit; }

/*--------------------------------------------------------------
# Blog Header
--------------------------------------------------------------*/
.blog-header { background-color: var(--color_light); }
.blog-header--wrapper { padding: 2.5rem 0 3rem; }
.blog-header--logo { padding-right: 10px; }
.blog-header--logo svg { height: 47px; width: auto; }
.blog-header--logo svg polygon, .blog-header--logo svg path, .blog-header--logo svg rect { fill: #121212; }
.blog-header--text { margin: 0 0 -9px; }

/*--------------------------------------------------------------
# CPT Shop Archive
--------------------------------------------------------------*/
.shop-archive.card-columns { -webkit-column-count: 1; column-count: 1; }
@media (min-width: 768px) { .shop-archive.card-columns { -webkit-column-count: 2; column-count: 2; } }
.shop-archive.card-columns .bkg-img:hover { -webkit-filter: grayscale(100%); filter: grayscale(100%); }
.shop-archive.card-columns a:hover { text-decoration: none; }
.shop-archive.card-columns .card { background-size: cover; background-position: center; background-repeat: no-repeat; text-align: center; border-radius: 5px; margin-bottom: 20px; color: #fff; text-shadow: 0 0 5px #000; border: none; -webkit-transition: all 0.3s ease; transition: all 0.3s ease; overflow: hidden; }
.shop-archive.card-columns .card.card-lg { height: 300px; }
@media (min-width: 768px) { .shop-archive.card-columns .card.card-lg { height: 550px; } }
.shop-archive.card-columns .card.card-sm { height: 300px; }
@media (min-width: 768px) { .shop-archive.card-columns .card.card-sm { height: 200px; } }
@media (prefers-reduced-motion: reduce) { .shop-archive.card-columns .card:hover { /* Fallback for prefers-reduced-motion enabled */ } }
.shop-archive.card-columns a { cursor: pointer; display: block; }

nav.navigation.pagination { margin-top: 3rem; margin-bottom: 3rem; }
nav.navigation.pagination .nav-links { margin: 0 auto; }
nav.navigation.pagination .page-numbers { background-color: var(--color_primary); padding: 10px 15px; color: #fff; -webkit-transition: all 0.2s ease; transition: all 0.2s ease; }
nav.navigation.pagination .page-numbers:hover { background-color: var(--color_secondary); text-decoration: none; }
nav.navigation.pagination .page-numbers.current { background-color: var(--color_secondary); }
nav.navigation.pagination a.prev:before { content: "\2190"; position: relative; top: -1px; padding-right: 5px; }
nav.navigation.pagination a.next:after { content: "\2192"; position: relative; top: -1px; padding-left: 5px; }

/*--------------------------------------------------------------
# CPT Media Archive
--------------------------------------------------------------*/
.media-archive a:hover { text-decoration: none !important; }
.media-archive__col { padding-top: 5px; padding-bottom: 5px; }
.media-archive__wrapper { min-height: 300px; background-size: cover; background-position: center; -webkit-filter: none; filter: none; -webkit-transition: all 0.2s ease; transition: all 0.2s ease; }
.media-archive__wrapper:hover { -webkit-filter: grayscale(100%); filter: grayscale(100%); }
@media (min-width: 768px) { .media-archive__wrapper { min-height: 400px; } }
@media (min-width: 992px) { .media-archive__wrapper { min-height: 500px; } }
@media (min-width: 1200px) { .media-archive__wrapper { min-height: 500px; } }
.media-archive__wrapper span { font-size: 13px; font-size: 1.3rem; padding: 2rem 0; text-decoration: none; color: #fff; text-shadow: 0 0 5px #000; }
@media (min-width: 768px) { .media-archive__wrapper span { font-size: 18px; font-size: 1.8rem; } }

.blog-archive--featured-image { height: 60vw; width: 100%; -o-object-fit: cover; object-fit: cover; }
@media (min-width: 768px) { .blog-archive--featured-image { height: inherit; min-height: 30vw; } }
.blog-archive--featured-content { min-height: 400px; background-size: cover; background-position: center; background-repeat: no-repeat; }
.blog-archive--url:not(.btn-feature) span { text-decoration: underline; }
.blog-archive--url.btn-feature span { background-color: var(--color_accent); color: #fff; display: inline-block; padding: 10px 15px; border-radius: 10px; }
.blog-archive--post-img { width: 100%; height: 65vw; -o-object-fit: cover; object-fit: cover; }
@media (min-width: 768px) { .blog-archive--post-img { height: 25vw; } }
.blog-archive__category-button { text-transform: uppercase; height: 100%; background-color: var(--color_primary); color: #fff; padding: 10px 15px; -webkit-transition: all 0.2s ease; transition: all 0.2s ease; }
.blog-archive__category-button:visited { color: #fff; }
.blog-archive__category-button:hover, .blog-archive__category-button:focus { background-color: var(--color_dark); color: #fff; text-decoration: none; }
.blog-archive__category-button-wrapper { padding-bottom: 0.5rem; }
@media (max-width: 767.98px) { .blog-archive__category-button-wrapper:last-child { padding-bottom: 0; } }

/*--------------------------------------------------------------
## Comments
--------------------------------------------------------------*/
.comment-content a { word-wrap: break-word; }

.bypostauthor { display: block; }

/*--------------------------------------------------------------
## Fixes for Wordpress admin menu conflicts
--------------------------------------------------------------*/
.components-panel__header.edit-post-sidebar-header ul, .components-panel__header.edit-post-sidebar__panel-tabs ul { margin: 0; }
.components-panel__header.edit-post-sidebar-header ul li, .components-panel__header.edit-post-sidebar__panel-tabs ul li { list-style: none; }

#adminmenu ul { margin-left: 0; }

.edit-post-sidebar .acf-block-fields.acf-fields { overflow-x: scroll; }

.is-admin h2 { margin: 0 0 0.5rem !important; }

.h-100px textarea { height: 100px !important; }

.interface-complementary-area .components-panel__header { z-index: 9999; }

/*--------------------------------------------------------------
## Site-wide Container styles
--------------------------------------------------------------*/
.site-main > *:not(.alignfull):not(.alignwide):not(.container):not(.container-lg) { width: 100%; padding-right: 15px; padding-left: 15px; margin-right: auto; margin-left: auto; }
@media (min-width: 576px) { .site-main > *:not(.alignfull):not(.alignwide):not(.container):not(.container-lg) { max-width: 540px; } }
@media (min-width: 768px) { .site-main > *:not(.alignfull):not(.alignwide):not(.container):not(.container-lg) { max-width: 720px; } }
@media (min-width: 992px) { .site-main > *:not(.alignfull):not(.alignwide):not(.container):not(.container-lg) { max-width: 960px; } }
@media (min-width: 1200px) { .site-main > *:not(.alignfull):not(.alignwide):not(.container):not(.container-lg) { max-width: 1140px; } }
@media (min-width: 1600px) { .site-main > *:not(.alignfull):not(.alignwide):not(.container):not(.container-lg) { max-width: 1400px; } }

.container-wide { width: 100%; padding-right: 15px; padding-left: 15px; margin-right: auto; margin-left: auto; max-width: 1800px; }

@media (max-width: 991.98px) { .container-mobile-spacing { padding-left: 30px; padding-right: 30px; } }

.site-main > .alignfull { max-width: 100%; }

.site-main > .container.alignfull { margin-left: auto; margin-right: auto; }

.row.sm-gutters > .col, .row.sm-gutters > [class*=col-] { padding-left: 5px; padding-right: 5px; }

.container-wrap { width: 100%; }

@media (min-width: 1600px) { .container { max-width: 1400px; } }
figure { margin: 0; }

.debug, .debug * { border: 0.25px solid; }

@media (max-width: 991.98px) { .padding-lg { padding-left: 30px; padding-right: 30px; } }
@media (max-width: 767.98px) { .padding-md { padding-left: 30px; padding-right: 30px; } }
/*--------------------------------------------------------------
# Infinite scroll
--------------------------------------------------------------*/
/* Globally hidden elements when Infinite Scroll is supported and in use. */
.infinite-scroll .posts-navigation, .infinite-scroll.neverending .site-footer { /* Theme Footer (when set to scrolling) */ display: none; }

/* When Infinite Scroll has reached its end we need to re-display elements that were hidden (via .neverending) before. */
.infinity-end.neverending .site-footer { display: block; }

/*--------------------------------------------------------------
# Media
--------------------------------------------------------------*/
.page-content .wp-smiley, .entry-content .wp-smiley, .comment-content .wp-smiley { border: none; margin-bottom: 0; margin-top: 0; padding: 0; }

/* Make sure embeds and iframes fit their containers. */
embed, iframe, object { max-width: 100%; }

/* Make sure logo link wraps around logo image. */
.custom-logo-link { display: inline-block; }

/*--------------------------------------------------------------
## Captions
--------------------------------------------------------------*/
.wp-caption { margin-bottom: 1.5em; max-width: 100%; }
.wp-caption img[class*="wp-image-"] { display: block; margin-left: auto; margin-right: auto; }
.wp-caption .wp-caption-text { margin: 0.8075em 0; }

.wp-caption-text { text-align: center; }

/*--------------------------------------------------------------
## Galleries
--------------------------------------------------------------*/
.gallery { margin-bottom: 1.5em; }

.gallery-item { display: inline-block; text-align: center; vertical-align: top; width: 100%; }
.gallery-columns-2 .gallery-item { max-width: 50%; }
.gallery-columns-3 .gallery-item { max-width: 33.33%; }
.gallery-columns-4 .gallery-item { max-width: 25%; }
.gallery-columns-5 .gallery-item { max-width: 20%; }
.gallery-columns-6 .gallery-item { max-width: 16.66%; }
.gallery-columns-7 .gallery-item { max-width: 14.28%; }
.gallery-columns-8 .gallery-item { max-width: 12.5%; }
.gallery-columns-9 .gallery-item { max-width: 11.11%; }

.gallery-caption { display: block; }

/*--------------------------------------------------------------
# Blocks
--------------------------------------------------------------*/
/*--------------------------------------------------------------
# BANNERS
--------------------------------------------------------------*/
/*--------------------------------------------------------------
## Hero Image Banner Block
--------------------------------------------------------------*/
.banner-hero { background-repeat: no-repeat; }
.banner-hero__heading { color: currentColor; }
.banner-hero.overlay { position: relative; }
.banner-hero.overlay::before { content: ""; background: rgba(0, 0, 0, 0.4); position: absolute; bottom: 0; top: 0; left: 0; right: 0; }
.banner-hero.full-centered { background-size: cover; background-position: center; background-repeat: no-repeat; }
.banner-hero.full-top { background-size: cover; background-position: top; background-repeat: no-repeat; }
.banner-hero.full-bottom { background-size: cover; background-position: bottom; background-repeat: no-repeat; }
.banner-hero.contain-center { background-size: contain; background-position: center; background-repeat: no-repeat; }
.banner-hero.contain-top { background-size: contain; background-position: top; background-repeat: no-repeat; }
.banner-hero.contain-bottom { background-size: contain; background-position: bottom; background-repeat: no-repeat; }
@media (max-width: 991.98px) { .banner-hero.mobile-full-centered { background-size: cover; background-position: center; background-repeat: no-repeat; }
  .banner-hero.mobile-full-top { background-size: cover; background-position: top; background-repeat: no-repeat; }
  .banner-hero.mobile-full-bottom { background-size: cover; background-position: bottom; background-repeat: no-repeat; }
  .banner-hero.mobile-contain-center { background-size: contain; background-position: center; background-repeat: no-repeat; }
  .banner-hero.mobile-contain-top { background-size: contain; background-position: top; background-repeat: no-repeat; }
  .banner-hero.mobile-contain-bottom { background-size: contain; background-position: bottom; background-repeat: no-repeat; } }
.banner-hero.bkg-custom { background-repeat: no-repeat; }
.banner-hero.bkg-custom.bkg-top { background-position: top; }
.banner-hero.bkg-custom.bkg-bottom { background-position: bottom; }
.banner-hero.bkg-custom.bkg-left { background-position: left; }
.banner-hero.bkg-custom.bkg-right { background-position: right; }
.banner-hero.bkg-custom.bkg-center { background-position: center; }
.banner-hero .f-colour-1 { color: var(--color_dark); }
.banner-hero .f-colour-2 { color: var(--color_light); text-shadow: 1px 2px 8px #000; }
.banner-hero .f-colour-2 .btn-main { color: var(--color_light); }
.banner-hero .f-colour-2 .btn-main.style-2:after { color: var(--color_dark); background-color: var(--color_light); }

/*--------------------------------------------------------------
## Home Feature Banner
--------------------------------------------------------------*/
.banner-video { position: relative; overflow: hidden; height: calc(100vh - 112px); }
.banner-video--heading { color: inherit; }
.banner-video--background { background-size: cover; background-position: center; background-repeat: no-repeat; position: absolute; width: 100%; height: 140%; top: -40%; left: 0; right: 0; }
.banner-video--background :before { position: fixed; content: ''; }
.banner-video--content p, .banner-video--content h1, .banner-video--content h2, .banner-video--content h3, .banner-video--content h4, .banner-video--content h5, .banner-video--content h6 { color: inherit; }
.banner-video.color__white { text-shadow: 0 0 8px #000; }
.banner-video .header-margin { margin-top: 10%; }
.banner-video video { left: 50%; min-height: 100%; min-width: 100%; position: absolute; top: 50%; -webkit-transform: translate(-50%, -50%); transform: translate(-50%, -50%); }

/*--------------------------------------------------------------
## Slider Banner
--------------------------------------------------------------*/
.banner-carousel { /* Prevent slides from showing stacked before slider initilizes */ }
.banner-carousel__slide-content { background-size: cover; background-position: center; background-repeat: no-repeat; height: calc(100vh - 112px); }
@media (max-width: 575.98px) { .banner-carousel__column { padding-left: 30px; padding-right: 30px; } }
.banner-carousel__heading { color: inherit; }
.banner-carousel .slick-dots { bottom: 20px; }
.banner-carousel .slick-dots li button:before { font-size: 15px; }
.banner-carousel .slides { display: none; }
.banner-carousel .slides.slick-initialized { display: block; }
.banner-carousel .slick-slide { -webkit-transform: translate3d(0, 0, 0); }
.banner-carousel .slick-dotted.slick-slider { margin-bottom: 0; }
.banner-carousel.is-admin:before { display: block; content: ""; top: 0; left: 0; right: 0; bottom: 80px; position: absolute; z-index: 1; }

.loading-screen { background-color: #fff; position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: #fff; z-index: 1001; }
.loading-screen__logo { max-width: 35vw; height: auto; -webkit-animation: pulse 1s infinite; animation: pulse 1s infinite; }
@media (max-width: 767.98px) { .loading-screen__logo { max-width: 60vw; } }
@-webkit-keyframes pulse { 0% { opacity: 0.7; }
  50% { opacity: 1; }
  100% { opacity: 0.7; } }
@keyframes pulse { 0% { opacity: 0.7; }
  50% { opacity: 1; }
  100% { opacity: 0.7; } }
/*--------------------------------------------------------------
## Image Scroll Animation
--------------------------------------------------------------*/
.banner-footer { height: 60vh; background-size: cover; background-position: top; background-repeat: no-repeat; -webkit-filter: grayscale(100%); filter: grayscale(100%); }

/*--------------------------------------------------------------
## Horizontal Banner
--------------------------------------------------------------*/
.horizontal-banner { height: 400px; background-size: cover; background-position: center; background-repeat: no-repeat; }
.horizontal-banner.overlay-dark { position: relative; }
.horizontal-banner.overlay-dark::before { content: ""; background: rgba(0, 0, 0, 0.6); position: absolute; bottom: 0; top: 0; left: 0; right: 0; }
.horizontal-banner.overlay-light { position: relative; }
.horizontal-banner.overlay-light::before { content: ""; background: rgba(255, 255, 255, 0.5); position: absolute; bottom: 0; top: 0; left: 0; right: 0; }
.horizontal-banner__heading { font-size: 2rem; font-weight: 700; color: currentColor; }
@media (min-width: 992px) { .horizontal-banner__heading { font-size: 2.5rem; } }
.horizontal-banner__button { color: #fff; display: block; font-family: var(--font_heading); font-size: 19px; font-weight: 700; text-transform: uppercase; letter-spacing: .5px; line-height: 1; padding: 20px 40px; -webkit-transition: all 0.2s ease; transition: all 0.2s ease; }
.horizontal-banner__button:hover, .horizontal-banner__button:focus, .horizontal-banner__button:active { text-decoration: none; }

/*--------------------------------------------------------------
## Hero Banner Block
--------------------------------------------------------------*/
.banner-parallax { position: relative; overflow: hidden; padding: 120px 0; }
@media (min-width: 768px) { .banner-parallax { height: 600px; padding: 0; } }
.banner-parallax:not(.color__default) .banner-parallax--heading { color: inherit; }
.banner-parallax--background.parallax { background-size: cover; background-position: center; background-repeat: no-repeat; position: absolute; width: 100%; height: 135%; top: -35%; left: 0; right: 0; }
.banner-parallax--background.parallax :before { position: fixed; content: ''; }
.banner-parallax--background { background-size: cover; background-position: center; background-repeat: no-repeat; position: absolute; top: 0; bottom: 0; left: 0; right: 0; }
.banner-parallax.color__white { text-shadow: 0 0 10px rgba(100, 100, 100, 0.8); }

/*--------------------------------------------------------------
# PRIMARY BLOCKS
--------------------------------------------------------------*/
/*--------------------------------------------------------------
## Map Tooltip
--------------------------------------------------------------*/
.flexible-columns { margin-top: 1.5rem; }
.flexible-columns__column { margin-bottom: 1.5rem; min-height: 300px; }
.flexible-columns__content-wrap { background-color: #f6f6f6; }
.flexible-columns .image-column img { height: 100%; width: 100%; -o-object-fit: cover; object-fit: cover; }

/*--------------------------------------------------------------
## Slider Gallery Block
--------------------------------------------------------------*/
.gallery-slider { padding: 0 0 5px; }
.gallery-slider .slides { display: -webkit-box; display: -ms-flexbox; display: flex; }
.gallery-slider .slides img { height: 50vh; width: auto; padding: 0 1px; }
.gallery-slider .slides img:focus { outline: none; }
.gallery-slider .slick-prev { left: 0; }
.gallery-slider .slick-prev:before { content: "\2039"; font-size: 5rem; font-family: sans-serif; }
.gallery-slider .slick-next { right: 0; }
.gallery-slider .slick-next:before { content: "\203A"; font-size: 5rem; font-family: sans-serif; }
.gallery-slider .slick-prev, .gallery-slider .slick-prev:focus, .gallery-slider .slick-next, .gallery-slider .slick-next:focus { height: 100%; background-color: rgba(0, 0, 0, 0.5); width: 40px; z-index: 1; border-radius: 0; -webkit-transition: all 0.3s ease; transition: all 0.3s ease; }
@media (min-width: 576px) { .gallery-slider .slick-prev, .gallery-slider .slick-prev:focus, .gallery-slider .slick-next, .gallery-slider .slick-next:focus { width: 50px; } }
@media (min-width: 992px) { .gallery-slider .slick-prev, .gallery-slider .slick-prev:focus, .gallery-slider .slick-next, .gallery-slider .slick-next:focus { width: 90px; } }
.gallery-slider .slick-prev:hover, .gallery-slider .slick-next:hover { background-color: rgba(0, 0, 0, 0.6); }
.gallery-slider .slick-slide:focus { outline: none; }
.gallery-slider.is-admin:before { display: block; content: ""; top: 0; left: 0; right: 0; bottom: 40px; position: absolute; z-index: 1; }
.gallery-slider__modal img { width: 100%; height: auto; }
.gallery-slider__modal .modal-dialog { background-color: #fff; max-width: 1000px; margin-top: 5%; }
.gallery-slider__modal .modal--close { position: absolute; top: 10px; right: 60px; font-size: 1.5rem; color: #000; padding: 10px 15px; background-color: #f6f6f6; border: none; z-index: 2; -webkit-transition: all 0.3s ease; transition: all 0.3s ease; }
@media (min-width: 768px) { .gallery-slider__modal__box { margin-top: 5vh; height: 90vh; } }
.gallery-slider__modal .slick-prev { width: 50px; left: 0; }
.gallery-slider__modal .slick-prev:before { content: "\2039"; font-size: 5rem; font-family: sans-serif; }
.gallery-slider__modal .slick-next { width: 50px; right: 0; }
.gallery-slider__modal .slick-next:before { content: "\203A"; font-size: 5rem; font-family: sans-serif; }
.gallery-slider__modal .slick-prev, .gallery-slider__modal .slick-prev:focus, .gallery-slider__modal .slick-next, .gallery-slider__modal .slick-next:focus { height: 100%; background-color: #d1d1d1; z-index: 1; border-radius: 0; -webkit-transition: all 0.3s ease; transition: all 0.3s ease; }
.gallery-slider__modal .slick-prev:hover, .gallery-slider__modal .slick-next:hover { background-color: #e8e8e8; }
.gallery-slider__modal .slick-slide:focus { outline: none; }

/*--------------------------------------------------------------
## Image - Text Repeater
--------------------------------------------------------------*/
.img-text-repeater { overflow: hidden; }
.img-text-repeater .wrapper { min-height: 400px; }
.img-text-repeater .wrapper:first-child { padding-top: 2rem; }
.img-text-repeater .wrapper:last-child { padding-bottom: 2rem; }
.img-text-repeater .wrapper:not(:first-child) { margin-top: 1rem; }
.img-text-repeater .img-small { max-width: 90%; }
@media (min-width: 992px) { .img-text-repeater .img-small { max-width: 70%; }
  .img-text-repeater .img-large { width: 100%; min-height: 400px; -o-object-fit: cover; object-fit: cover; } }
@media (min-width: 768px) { .img-text-repeater .animate-left { opacity: 0; -webkit-transform: translateX(-30px); transform: translateX(-30px); -webkit-transition: all 1s ease; transition: all 1s ease; }
  .img-text-repeater .animate-right { opacity: 0; -webkit-transform: translateX(30px); transform: translateX(30px); -webkit-transition: all 1s ease; transition: all 1s ease; }
  .img-text-repeater .fade-in .animate-left, .img-text-repeater .fade-in .animate-right { opacity: 1; -webkit-transform: translateY(0); transform: translateY(0); } }
@media (prefers-reduced-motion: reduce) { .img-text-repeater .animate-left, .img-text-repeater .animate-right { opacity: 1; -webkit-transform: translateY(0); transform: translateY(0); } }
.img-text-repeater .content { padding-top: 30px; padding-bottom: 30px; }
@media (max-width: 991.98px) { .img-text-repeater .content { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; } }
.img-text-repeater .order-lg-first .margin-calc { margin: 0 25px; }
@media (min-width: 1200px) { .img-text-repeater .order-lg-first .margin-calc { margin-left: 50px; } }
@media (min-width: 992px) { .img-text-repeater .order-lg-first .margin-calc { margin-left: 50px; } }
.img-text-repeater .order-lg-last .margin-calc { margin: 0 25px; }
@media (min-width: 1200px) { .img-text-repeater .order-lg-last .margin-calc { margin-right: 50px; } }
@media (min-width: 992px) { .img-text-repeater .order-lg-last .margin-calc { margin-right: 50px; } }
.img-text-repeater:not(.color__default) h1, .img-text-repeater:not(.color__default) h2, .img-text-repeater:not(.color__default) h3 { color: currentColor; }
.img-text-repeater.is-admin .animate { opacity: 1; -webkit-transform: translateY(0); transform: translateY(0); }

/*--------------------------------------------------------------
## Logo Carousel Block
--------------------------------------------------------------*/
.logo-carousel { padding: 0 0 5px; }
.logo-carousel .slides img, .logo-carousel .slides svg { max-height: 90px; margin: 20px auto; padding: 0 20px; }
.logo-carousel .slick-track { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; min-height: 150px; }
.logo-carousel.is-admin:before { display: block; content: ""; top: 0; left: 0; right: 0; bottom: 40px; position: absolute; z-index: 1; }

/*--------------------------------------------------------------
## Home: Interior Navigation
--------------------------------------------------------------*/
.home-interior-navigation { background-size: cover; background-position: center; background-repeat: no-repeat; position: relative; background-color: var(--color_light); }
.home-interior-navigation__column { min-height: 230px; }
.home-interior-navigation__button-content { z-index: 1; }
.home-interior-navigation__button { background-size: cover; background-position: center; background-repeat: no-repeat; text-align: center; min-height: 100%; width: 100%; padding: 1rem; text-decoration: none; text-transform: uppercase; font-weight: bold; font-size: 1.2rem; color: #fff; position: relative; -webkit-transition: all 0.3s ease; transition: all 0.3s ease; }
.home-interior-navigation__button::before { content: ""; background: rgba(0, 0, 0, 0.8); position: absolute; bottom: 0; top: 0; left: 0; right: 0; }
.home-interior-navigation__button span.title-highlight { display: block; color: var(--color_accent); }
.home-interior-navigation__button span.title { position: relative; padding-bottom: 1.4rem; margin-bottom: 1.4rem; }
.home-interior-navigation__button span.title:after { content: ""; position: absolute; top: 100%; left: 0; right: 0; height: 4px; margin: -5px auto 0; background-color: #fff; width: 50px; }
.home-interior-navigation__button:hover, .home-interior-navigation__button:visited { color: #fff; text-decoration: none; -webkit-transform: scale(1.03); transform: scale(1.03); }

/*--------------------------------------------------------------
## Scroll Text Bar
--------------------------------------------------------------*/
.scroll-text-bar { background-size: cover; background-repeat: no-repeat; background-position: center; }
.scroll-text-bar__column { padding-top: 3rem; padding-bottom: 3rem; }
.scroll-text-bar__heading, .scroll-text-bar__subtitle { font-family: var(--font_heading); font-weight: 700; font-display: swap; font-style: normal; color: currentColor; clear: both; margin: 0 0 0.5rem; text-transform: uppercase; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }
.scroll-text-bar__heading { margin-bottom: 0; }
.scroll-text-bar__list { position: relative !important; }
.scroll-text-bar ul { list-style: none; }
.scroll-text-bar li { opacity: 0; min-width: 100px; }
.scroll-text-bar li.et-item-visible { opacity: 1; }

/*--------------------------------------------------------------
## Services - Info and Form URL Block
--------------------------------------------------------------*/
.services-info .image-btn { min-height: 300px; }
.services-info .image-btn a { position: relative; overflow: hidden; display: block; color: inherit; -webkit-transition: all 0.3s ease; transition: all 0.3s ease; }
.services-info .image-btn a:hover { text-decoration: none; -webkit-transition: all 0.3s ease; transition: all 0.3s ease; }
@media (min-width: 992px) { .services-info .image-btn a:hover .image-btn--wrapper { background-size: 120% auto; } }
.services-info .image-btn a:hover .image-btn--overlay { border-top: 0.5rem solid var(--color_primary); }
.services-info .image-btn--wrapper { background-size: cover; background-position: center; background-repeat: no-repeat; -webkit-transition: all 0.3s ease; transition: all 0.3s ease; position: relative; }
.services-info .image-btn--wrapper::before { content: ""; background: rgba(0, 0, 0, 0.6); position: absolute; bottom: 0; top: 0; left: 0; right: 0; }
@media (min-width: 992px) { .services-info .image-btn--wrapper { background-size: 110% auto; } }
.services-info .image-btn--overlay { position: absolute; top: 0; bottom: 0; left: 0; right: 0; height: 100%; width: 100%; border-top: 0px solid transparent; -webkit-transition: all 0.3s ease; transition: all 0.3s ease; }
.services-info .image-btn--content { z-index: 2; color: #fff; text-shadow: 0 0 10px rgba(100, 100, 100, 0.8); position: relative; width: 100%; }
.services-info .image-btn--heading { color: inherit; font-size: 2.3rem; opacity: 1; -webkit-transition: all 0.3s ease; transition: all 0.3s ease; position: absolute; top: 50%; -webkit-transform: translateY(-50%); transform: translateY(-50%); }

/*--------------------------------------------------------------
## WYSIWYG Editor with Custom Width
--------------------------------------------------------------*/
.text-block__wrap { padding-top: 2.3rem; padding-bottom: 2rem; }
.text-block.color__white .text-block__heading, .text-block.color__white .text-block__subheading, .text-block.color__black .text-block__heading, .text-block.color__black .text-block__subheading { color: inherit; }

/*--------------------------------------------------------------
## Youtube Embed Section
--------------------------------------------------------------*/
/* Video Banner */
.video-embed__wrapper { position: relative; width: 100%; height: 0; padding-bottom: 56%; }
.video-embed__wrapper iframe { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }
.video-embed.is-admin:before { display: block; content: ""; top: 60px; left: 0; right: 0; bottom: 50px; position: absolute; z-index: 1; }

/*--------------------------------------------------------------
## Block Partials
--------------------------------------------------------------*/
.partial__cards { margin-bottom: -1.5rem; }
.partial__cards__wrapper { height: 100%; padding: 20px; border: 1px solid #ddd; border-top: 5px solid #000; }
.partial__faq { margin-bottom: -1rem; }
.partial__faq .icon-plus { color: var(--color_primary); font-size: 35px; display: inline-block; margin-right: 5px; position: relative; top: -15px; }
.partial__faq .icon-plus::before { content: '\002B'; font-style: normal; font-weight: 400; speak: none; display: inline-block; text-decoration: none !important; width: 1em; text-align: center; font-variant: normal; text-transform: none; line-height: 1em; }
.partial__faq__heading { font-weight: 700; font-size: 1.4rem; }

/*--------------------------------------------------------------
## CTA Bar Block
--------------------------------------------------------------*/
.cta-bar { background-size: cover; background-position: center; }
.cta-bar .row { min-height: 150px; }
.cta-bar a { font-family: var(--font_heading); font-size: 22px; font-size: 2.2rem; text-transform: uppercase; }
.cta-bar a.style-1 { background-color: transparent; }
.cta-bar a.style-1:after { content: "\203A"; padding-left: 10px; display: inline-block; -webkit-transform: scale(1.75) translateX(0); transform: scale(1.75) translateX(0); font-weight: 100; line-height: 0; position: relative; top: -6px; -webkit-transition: all 0.3s ease; transition: all 0.3s ease; }
.cta-bar a.style-1:hover { text-decoration: none; background-color: transparent; }
.cta-bar a.style-1:hover:after { -webkit-transform: scale(1.75) translateX(3px); transform: scale(1.75) translateX(3px); }
.cta-bar a.style-2 svg { width: 30px; height: auto; position: relative; top: -5px; margin-left: 15px; -webkit-transform: translatex(0px); transform: translatex(0px); -webkit-transition: all 0.3s ease; transition: all 0.3s ease; }
.cta-bar a.style-2:hover { text-decoration: none; background-color: transparent; }
.cta-bar a.style-2:hover svg { -webkit-transform: translateX(5px); transform: translateX(5px); }
.cta-bar a.style-3 { font-size: 1.2rem; font-weight: bold; }
.cta-bar a.style-3:after { content: "\203A"; padding-left: 10px; display: inline-block; -webkit-transform: scale(1.75) translateX(0); transform: scale(1.75) translateX(0); font-weight: 100; line-height: 0; position: relative; top: -3px; -webkit-transition: 0.3s all; transition: 0.3s all; }
.cta-bar a.style-3:hover { text-decoration: none; }
.cta-bar a.style-3:hover:after { -webkit-transform: scale(1.75) translateX(3px); transform: scale(1.75) translateX(3px); }
.cta-bar.bkg-primary { background-color: #1a8b48; }
.cta-bar.bkg-secondary { background-color: #fcf6b9; }
.cta-bar.bkg-dark { background-color: #000; }
.cta-bar.bkg-light { background-color: #f6f6f6; }
.cta-bar.text-light a { color: #fff; }
.cta-bar.text-light svg { fill: #fff; }
.cta-bar.text-dark a { color: #000; }
.cta-bar.text-dark svg { fill: #000; }

/*--------------------------------------------------------------
## Image Buttons
--------------------------------------------------------------*/
.image-buttons { color: #fff; }
.image-buttons__url { position: relative; display: block; background-size: cover; background-position: center; }
.image-buttons__url:focus, .image-buttons__url:active, .image-buttons__url:visited { color: #fff; }
.image-buttons__url:hover { text-decoration: none; color: currentColor; }
.image-buttons__url:before { content: ""; background: rgba(0, 0, 0, 0.4); position: absolute; bottom: 0; top: 0; left: 0; right: 0; -webkit-transition: 0.3s all; transition: 0.3s all; }
.image-buttons__url:focus, .image-buttons__url:active { text-decoration: none; }
.no-gutters .image-buttons__url { margin: 3px; }
.image-buttons__wrapper { position: relative; z-index: 1; min-height: 400px; padding: 2rem; }
.image-buttons .no-gutters .image-buttons__wrapper { min-height: 500px; }
.image-buttons__title { font-size: 2.2rem; }
.image-buttons__subtitle { font-size: 1.7rem; }
@media (min-width: 992px) { .image-buttons__title { font-size: 1.9rem; }
  .image-buttons__subtitle { font-size: 1.4rem; }
  .image-buttons__url { background-size: cover; background-position: center; background-repeat: no-repeat; -webkit-transition: .3s all; transition: .3s all; overflow: hidden; }
  .image-buttons__url:before { content: ""; position: absolute; bottom: 0; top: 0; left: 0; right: 0; background: inherit; -webkit-transition: inherit; transition: inherit; }
  .image-buttons__url:hover:before { -webkit-transform: scale(1.1); transform: scale(1.1); } }
.image-buttons div:not(.no-gutters) .column-4, .image-buttons div:not(.no-gutters) .column-3, .image-buttons div:not(.no-gutters) .column-2, .image-buttons div:not(.no-gutters) .column-1 { margin-top: 15px; margin-bottom: 15px; }
@media (max-width: 991.98px) { .image-buttons .column-3 .image-buttons__wrapper { min-height: 70vw; }
  .image-buttons .column-4 .image-buttons__wrapper { min-height: 50vw; } }
@media (max-width: 767.98px) { .image-buttons .column-4 .image-buttons__wrapper { min-height: 70vw; } }
@media (max-width: 575.98px) { .image-buttons .column-4 .image-buttons__wrapper, .image-buttons .column-3 .image-buttons__wrapper { min-height: 100vw; } }
.image-buttons.is-admin { /* Prevents links from accidently being clicked while editing on the admin screen. */ position: relative; /* Fix block editor style conflicts */ }
.image-buttons.is-admin:after { z-index: 2; content: ""; position: absolute; bottom: 0; top: 0; left: 0; right: 0; }
.image-buttons.is-admin a { color: inherit; }
.image-buttons.is-admin .text-dark a { color: var(--color_dark); }

.gallery-filter { overflow: hidden; /* Fix admin selectable bug */ }
.gallery-filter.is-admin { position: relative; }
.gallery-filter.is-admin:after { content: ""; position: absolute; top: 0; right: 0; bottom: 0; left: 0; }
.gallery-filter .filter-button { font-size: 16px; text-transform: uppercase; border-radius: 0; background-color: #000; text-align: center; color: #fff; padding: 10px 15px; }
.gallery-filter .filter-button:hover { background-color: var(--color_primary); }
@media (max-width: 991.98px) { .gallery-filter .filter-button { width: 100%; padding: 14px 15px; } }
.gallery-filter .gallery-load-more { background: var(--color_primary); color: #fff; padding: 10px 15px; border-radius: 5px; font-size: 16px; display: inline-block; }
.gallery-filter .gallery-load-more:hover { text-decoration: none; background-color: var(--color_dark); }
.gallery-filter .btn-default:active .filter-button:active { background-color: #42B32F; color: white; }
.gallery-filter .gallery_product { margin-bottom: 30px; }
.gallery-filter .card-columns { -webkit-column-count: 1; column-count: 1; }
@media (min-width: 768px) { .gallery-filter .card-columns { -webkit-column-count: 2; column-count: 2; } }
@media (min-width: 992px) { .gallery-filter .card-columns { -webkit-column-count: 3; column-count: 3; } }
.gallery-filter .card { display: inline-block; width: 100%; }
.gallery-filter__modal .modal-dialog { /* Width */ }
.gallery-filter__modal .modal-image { display: block; max-height: 70vh; width: auto; margin: 0 auto; }
.gallery-filter .card-columns { -webkit-column-count: 2; column-count: 2; }
@media (min-width: 992px) { .gallery-filter .card-columns { -webkit-column-count: 4; column-count: 4; } }

/*--------------------------------------------------------------
## Features List
--------------------------------------------------------------*/
.features-list { overflow: hidden; }
.features-list__image { height: 100vw; width: 100%; -o-object-fit: cover; object-fit: cover; }
@media (min-width: 576px) { .features-list__image { height: 500px; } }
.features-list .column-4 img { height: 80vw; }
@media (min-width: 768px) { .features-list .column-4 img { height: 50vw; } }
@media (min-width: 992px) { .features-list .column-4 img { height: 20vw; } }
.features-list .column-2 .content { padding-left: 1.5rem; padding-right: 1.5rem; }
@media (min-width: 768px) { .features-list .column-2 .content { padding-left: 4rem; padding-right: 4rem; } }
.features-list:not(.color__default) .features-list__heading { color: currentColor; }

/*--------------------------------------------------------------
## Accordion
--------------------------------------------------------------*/
.accordion .card-header { padding: 0; }
.accordion .card-header h3 { color: currentColor; }
.accordion h3 button { font-size: inherit; font-family: inherit; color: inherit; width: 100%; text-align: left; display: block; padding: .75rem 1.25rem; border: none; background: none; }
.accordion h3 button:hover, .accordion h3 button:focus, .accordion h3 button:active { border-color: transparent; outline: none; color: inherit; text-decoration: none; }
.accordion h3 button.collapsed span.chevron svg { width: 25px; height: auto; -webkit-transform: rotate(0deg); transform: rotate(0deg); }
.accordion h3 button.collapsed .a-chevron:after { content: "\2303"; font-size: 1.7rem; font-family: sans-serif; font-weight: 700; position: relative; bottom: -5px; display: inline-block; -webkit-transform: rotate(0deg); transform: rotate(0deg); }
.accordion h3 button span.chevron svg { width: 25px; height: auto; -webkit-transform: rotate(180deg); transform: rotate(180deg); }
.accordion h3 button .a-chevron:after { content: "\2303"; font-size: 1.7rem; font-family: sans-serif; font-weight: 700; position: relative; bottom: 0; display: inline-block; -webkit-transform: rotate(180deg); transform: rotate(180deg); }
.accordion h3 button span.chevron svg { fill: currentColor; width: 30px; height: auto; }
.accordion .card { border: none; margin-bottom: 2px; max-width: 100%; }
.accordion .card-body { padding-top: 35px; padding-bottom: 20px; }
.accordion.is-admin .card { margin-top: 0; padding: 0; -webkit-box-shadow: unset; box-shadow: unset; background: #fff; }

/*--------------------------------------------------------------
## Accordion
--------------------------------------------------------------*/
.faq-accordion-column .card { background: transparent; border: 2px solid; margin-bottom: 5px; }
.faq-accordion-column .accordion-image { height: 200px; width: 100%; -o-object-fit: cover; object-fit: cover; }
.faq-accordion-column h3 { color: inherit; }
.faq-accordion-column h3 button { font-size: 1.2rem; font-family: inherit; color: currentColor; width: 100%; text-align: left; background-color: none; position: relative; padding: 0; padding-right: 20px; background: transparent; border: none; }
.faq-accordion-column h3 button.collapsed:after { content: "+"; }
.faq-accordion-column h3 button:after { content: "-"; font-size: 1.3rem !important; position: absolute; right: 0; left: auto; font-size: 16px; color: currentColor; top: 50%; margin-top: -.5em; }
.faq-accordion-column h3 button:hover, .faq-accordion-column h3 button:focus, .faq-accordion-column h3 button:active { background: transparent; border: none; }
.faq-accordion-column.is-admin .card { margin-top: 0; padding: 0; -webkit-box-shadow: unset; box-shadow: unset; background: #fff; }

/*--------------------------------------------------------------
## Page Feature Navigation
--------------------------------------------------------------*/
.page-feature-navigation .image { width: 100%; height: 50vw; background-size: cover; background-position: center; background-repeat: no-repeat; -webkit-transition: all 0.3s ease; transition: all 0.3s ease; }
@media (min-width: 992px) { .page-feature-navigation .image { height: 20vw; } }

/*--------------------------------------------------------------
## Two Column Service Image
--------------------------------------------------------------*/
.service-image--col { padding-left: 12px; padding-right: 12px; }
.service-image--col.h-square { min-height: 100vw; }
@media (min-width: 992px) { .service-image--col.h-square { min-height: 40vw; } }
.service-image--col.h-tall { min-height: 140vw; }
@media (min-width: 576px) { .service-image--col.h-tall { min-height: 100vw; } }
@media (min-width: 992px) { .service-image--col.h-tall { min-height: 40vw; } }
@media (max-width: 991.98px) { .service-image--col { padding-left: 0; padding-right: 0; } }
.service-image--three-col { padding-left: 12px; padding-right: 12px; }
.service-image--three-col.h-square { min-height: 100vw; }
@media (min-width: 992px) { .service-image--three-col.h-square { min-height: 38vw; } }
.service-image--three-col.h-tall { min-height: 140vw; }
@media (min-width: 576px) { .service-image--three-col.h-tall { min-height: 100vw; } }
@media (min-width: 992px) { .service-image--three-col.h-tall { min-height: 38vw; } }
@media (max-width: 991.98px) { .service-image--three-col { padding-left: 0; padding-right: 0; } }
.service-image--inner-wrap { height: 100%; width: 100%; }
.service-image--img { background-size: contain; background-position: center; background-repeat: no-repeat; }
@media (min-width: 768px) { .service-image { /* md */ } }
@media (min-width: 992px) { .service-image { /* lg */ } }
@media (min-width: 1200px) { .service-image { /* xl */ } }
@media (min-width: 1600px) { .service-image { /* xxl */ } }
.service-image .btn-wrap.btn-top { width: 100%; text-align: center; }
.service-image .btn-wrap.btn-bottom { position: absolute; bottom: 10%; width: 100%; text-align: center; }
.service-image .btn-main + .btn-main { margin-left: 0.8rem; }
.service-image .full-center { background-size: cover; background-position: center; background-repeat: no-repeat; }
.service-image .full-top { background-size: cover; background-position: top; background-repeat: no-repeat; }
.service-image .full-bottom { background-size: cover; background-position: bottom; background-repeat: no-repeat; }
.service-image .contain-center { background-size: contain; background-position: center; background-repeat: no-repeat; }
.service-image .contain-top { background-size: contain; background-position: top; background-repeat: no-repeat; }
.service-image .contain-bottom { background-size: contain; background-position: bottom; background-repeat: no-repeat; }
@media (max-width: 991.98px) { .service-image .mobile-full-center { background-size: cover; background-position: center; background-repeat: no-repeat; }
  .service-image .mobile-full-top { background-size: cover; background-position: top; background-repeat: no-repeat; }
  .service-image .mobile-full-bottom { background-size: cover; background-position: bottom; background-repeat: no-repeat; }
  .service-image .mobile-contain-center { background-size: contain; background-position: center; background-repeat: no-repeat; }
  .service-image .mobile-contain-top { background-size: contain; background-position: top; background-repeat: no-repeat; }
  .service-image .mobile-contain-bottom { background-size: contain; background-position: bottom; background-repeat: no-repeat; } }
.service-image .text-light { text-shadow: 1px 2px 8px #000; }
.service-image .text-light .btn-main { color: var(--color_light); }
.service-image .text-light .btn-main.style-2:after { color: var(--color_dark); background-color: var(--color_light); }
.service-image .text-dark .btn-main { color: #000; }
.service-image .text-dark .btn-main.style-2:after { color: #000; background-color: #000; }
.service-image .cta-img-text-col .wrapper { padding-bottom: 3rem; }
.service-image .cta-img-text-col .img-wrap { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-flex: 1; -ms-flex-positive: 1; flex-grow: 1; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; }
.service-image .cta-img-text-col .img-wrap img { width: auto; max-height: 100%; }
@media (min-width: 992px) { .service-image .col-desktop-space:nth-of-type(-n + 2) { margin-bottom: 1.5rem; } }
@media (max-width: 991.98px) { .service-image [class^="col-lg"]:not(:last-child) { margin-bottom: 1.5rem; } }
@media (max-width: 767.98px) { .service-image [class^="col-md"]:not(:last-child) { margin-bottom: 1.5rem; } }

/*--------------------------------------------------------------
## Links and Bio Block
--------------------------------------------------------------*/
.links-bio:not(.color__default) .links-bio__heading { color: currentColor; }
.links-bio__image { position: relative; height: 300px; width: 100%; -o-object-fit: cover; object-fit: cover; }
@media (min-width: 768px) { .links-bio__image { height: 400px; } }
.links-bio__button { padding: 10px 20px; display: inline-block; border-radius: 8px; -webkit-transition: 0.3s all; transition: 0.3s all; }
.links-bio__button svg { fill: #fff; }
.links-bio__button:hover { text-decoration: none; }

/*--------------------------------------------------------------
## Home - Text feature with image buttons
--------------------------------------------------------------*/
.image-sliding-description .image-btn a { position: relative; overflow: hidden; display: block; }
.image-sliding-description .image-btn a:hover { text-decoration: none; }
.image-sliding-description .image-btn__wrapper { background-size: cover; background-position: center; background-repeat: no-repeat; -webkit-transition: all 0.3s ease; transition: all 0.3s ease; }
.image-sliding-description .image-btn__wrapper:before { content: ""; position: absolute; top: 0; right: 0; bottom: 0; left: 0; background: inherit; -webkit-transition: inherit; transition: inherit; }
.image-sliding-description .image-btn__wrapper:hover:before { -webkit-transform: scale(1.05); transform: scale(1.05); }
.image-sliding-description .image-btn__content { z-index: 2; color: #fff; text-shadow: 0 0 10px rgba(100, 100, 100, 0.8); position: relative; width: 100%; }
.image-sliding-description .image-btn__heading-wrapper { opacity: 1; -webkit-transition: all 0.3s ease; transition: all 0.3s ease; position: absolute; top: 50%; -webkit-transform: translateY(-50%); transform: translateY(-50%); }
.image-sliding-description .image-btn__heading { color: inherit; font-weight: 400; font-size: 17.5px; font-size: 1.75rem; }
.image-sliding-description .image-btn__heading b { font-weight: 700; }
@media (min-width: 768px) { .image-sliding-description .image-btn__heading { font-size: 23px; font-size: 2.3rem; } }
.image-sliding-description .image-btn__description { opacity: 0; -webkit-transition: all 0.3s ease; transition: all 0.3s ease; position: absolute; width: 100%; -webkit-transform: translateY(10px); transform: translateY(10px); top: 100%; }
@media (min-width: 992px) { .image-sliding-description .image-btn.slide-animation:hover .image-btn__heading-wrapper { top: 35%; opacity: 0; }
  .image-sliding-description .image-btn.slide-animation:hover .image-btn__description { opacity: 1; top: 50%; -webkit-transform: translateY(-50%); transform: translateY(-50%); }
  .image-sliding-description .image-btn.slide-animation:hover .image-btn__description-heading { font-weight: var(--font_heading); } }

.image-btn__description-heading { font-size: 12px; font-size: 1.2rem; }

/*--------------------------------------------------------------
## Home - Text feature with image buttons
--------------------------------------------------------------*/
.two-button-text-feature .image-btn { min-height: 300px; }
.two-button-text-feature .image-btn a { position: relative; background: rgba(39, 62, 84, 0.82); overflow: hidden; display: block; }
.two-button-text-feature .image-btn a:hover { text-decoration: none; }
.two-button-text-feature .image-btn--wrapper { background-size: cover; background-position: center; background-repeat: no-repeat; }
.two-button-text-feature .image-btn--content { z-index: 2; color: #fff; text-shadow: 0 0 10px rgba(100, 100, 100, 0.8); position: relative; width: 100%; }
.two-button-text-feature .image-btn--heading-wrapper { opacity: 1; -webkit-transition: all 0.3s ease; transition: all 0.3s ease; position: absolute; top: 50%; -webkit-transform: translateY(-50%); transform: translateY(-50%); }
.two-button-text-feature .image-btn--heading { color: inherit; font-weight: 400; font-size: 17.5px; font-size: 1.75rem; }
.two-button-text-feature .image-btn--heading b { font-weight: 700; }
@media (min-width: 768px) { .two-button-text-feature .image-btn--heading { font-size: 23px; font-size: 2.3rem; } }
.two-button-text-feature .image-btn--description { opacity: 0; -webkit-transition: all 0.3s ease; transition: all 0.3s ease; position: absolute; width: 100%; -webkit-transform: translateY(10px); transform: translateY(10px); top: 100%; }
@media (min-width: 992px) { .two-button-text-feature .image-btn:hover .image-btn--heading-wrapper { top: 35%; opacity: 0; }
  .two-button-text-feature .image-btn:hover .image-btn--description { opacity: 1; top: 50%; -webkit-transform: translateY(-50%); transform: translateY(-50%); }
  .two-button-text-feature .image-btn:hover .image-btn--description-heading { font-size: 12px; font-size: 1.2rem; font-weight: var(----font_heading); text-transform: uppercase; } }

/*--------------------------------------------------------------
## Image - Text Column
--------------------------------------------------------------*/
.img-text-column__image { height: 150px; width: auto; }
.img-text-column:not(.color__default) .img-text-column__heading, .img-text-column:not(.color__default) .img-text-column__subheading { color: inherit; }
.img-text-column.is-admin .img-text-column__image { height: 150px; width: auto; }

/*--------------------------------------------------------------
## Pricing Grid
--------------------------------------------------------------*/
.pricing-grid__column .wrapper { border: 1px solid #ddd; border-top: 5px solid #000; height: 100%; }
@media (max-width: 991.98px) { .pricing-grid__column:not(:last-child) { margin-bottom: 20px; } }
.pricing-grid__price { display: block; font-size: 40px; font-weight: bold; }
.pricing-grid__price-subtitle { display: block; font-size: 20px; font-weight: bold; }
.pricing-grid__list { list-style: none; }
.pricing-grid__list li { padding: 10px 0; font-size: 1.1rem; }
.pricing-grid__list li:not(:last-child) { border-bottom: 1px solid #ddd; }
.pricing-grid.is-admin ul { list-style: none !important; margin: 0 0 1.5em 0em !important; padding: 0 1.3rem !important; }
.pricing-grid.is-admin ul li { padding: 10px 0 !important; }

/*--------------------------------------------------------------
# CUSTOM / SINGLE USE BLOCKS
--------------------------------------------------------------*/
/*--------------------------------------------------------------
## Timeline Slider Block
--------------------------------------------------------------*/
.timeline-slider__image img { height: 300px; width: 100%; -o-object-fit: cover; object-fit: cover; }
.timeline-slider:not(.color__default) .timeline-slider__heading { color: currentColor; }
.timeline-slider .row { overflow: hidden; }
.timeline-slider .animate-left { opacity: 0; -webkit-transform: translateX(-30px); transform: translateX(-30px); -webkit-transition: 0.75s; transition: 0.75s; }
@media (max-width: 991.98px) { .timeline-slider .animate-left { opacity: 0; -webkit-transform: translateX(30px); transform: translateX(30px); -webkit-transition: 0.75s; transition: 0.75s; } }
.timeline-slider .animate-right { opacity: 0; -webkit-transform: translateX(30px); transform: translateX(30px); -webkit-transition: 0.75s; transition: 0.75s; }
.timeline-slider .animate { opacity: 1; -webkit-transform: translate(0); transform: translate(0); }
.timeline-slider .animate .animate-left { opacity: 1; -webkit-transform: translate(0); transform: translate(0); }
.timeline-slider .animate .animate-right { opacity: 1; -webkit-transform: translate(0); transform: translate(0); }
.timeline-slider .rounded-circle { position: absolute; top: 0; right: 50%; background: #fff; -webkit-transform: translateX(50%); transform: translateX(50%); width: 30px; height: 30px; }

/* Vertical Line */
.vl { left: 50%; margin-left: -2px; top: 0; }

@media (max-width: 991.98px) { .vl { margin-left: 0; } }
/*--------------------------------------------------------------
## Certificate Information
--------------------------------------------------------------*/
.certificate-info__wrapper { border: 1px solid #d1d1d1; min-height: 200px; }
.certificate-info__wrapper:not(:last-child) { margin-bottom: 2rem; }
.certificate-info__logo { min-height: 200px; }
@media (min-width: 768px) { .certificate-info__logo { border-right: 1px solid #d1d1d1; } }
.certificate-info__logo img { -o-object-fit: contain; object-fit: contain; max-height: 200px; }

/*--------------------------------------------------------------
## Map Tooltip
--------------------------------------------------------------*/
.map-tooltip img { max-height: 350px; width: 100%; -o-object-fit: cover; object-fit: cover; }
.map-tooltip .mag-tooltip { width: 16px; height: 16px; border-radius: 10px; border: 2px solid #000; position: absolute; }
.map-tooltip .mag-tooltip:hover { -webkit-animation-play-state: paused; }
.map-tooltip .mag-tooltip:hover .info { visibility: visible; }
.map-tooltip .gmap-direct-btn { color: var(--color__primary); }
.map-tooltip .gmap-direct-btn:hover { color: var(--color__accent); }
.map-tooltip .info { width: 250px; padding: 10px; background: white; border-radius: 3px; position: absolute; visibility: hidden; bottom: 20px; right: -119px; -webkit-box-shadow: 0 0 50px 0 rgba(0, 0, 0, 0.5); box-shadow: 0 0 50px 0 rgba(0, 0, 0, 0.5); z-index: 9999; }
.map-tooltip .info .wrapper { padding: 15px; }
.map-tooltip .arrow { position: absolute; margin: 10px 0 0 105px; width: 0; height: 0; border-left: 10px solid transparent; border-right: 10px solid transparent; border-top: 10px solid #fff; }

/*--------------------------------------------------------------
## Pricing Table Block
--------------------------------------------------------------*/
.pricing-table--table { margin-left: 0; margin-right: 0; }
.pricing-table--title { font-size: 15px; font-size: 1.5rem; }
.pricing-table--header { border-top: 1px solid #d0d0d0; border-right: 1px solid #d0d0d0; border-left: 1px solid #d0d0d0; }
.pricing-table--header-row:not(:first-child) { margin-top: 1.75rem; }
.pricing-table--row { border-top: 1px solid #d0d0d0; border-right: 1px solid #d0d0d0; border-left: 1px solid #d0d0d0; }
.pricing-table--row:last-of-type { border-bottom: 1px solid #d0d0d0; }
.pricing-table p { margin: 0.5rem 0; }

/*--------------------------------------------------------------
## Service Navigation
--------------------------------------------------------------*/
.service-navigation__button { text-decoration: none; text-transform: uppercase; font-size: 1.2rem; display: block; padding: 1rem 2rem; margin-bottom: 1rem; -webkit-transition: all 0.2s ease; transition: all 0.2s ease; }
.service-navigation__button:hover { text-decoration: none; }

/*--------------------------------------------------------------
## Contact Form 1/2
--------------------------------------------------------------*/
.contact-form-half { padding-left: 30px; padding-right: 30px; }
.contact-form-half .gform_wrapper form .gform_body ul.gform_fields li.gfield input { border-radius: 5px !important; }
.contact-form-half__form-wrap { padding: 1rem 2rem 1.5rem; }
.contact-form-half .gform_wrapper input[type=submit].gform_button.button, .contact-form-half button.gform_submit_button { width: 100%; font-weight: 700; padding-top: 20px; padding-bottom: 20px; font-size: 1.4rem !important; color: #fff; border: none; -webkit-transition: all 0.3s ease; transition: all 0.3s ease; }
.contact-form-half .gform_wrapper input[type=submit].gform_button.button:hover, .contact-form-half button.gform_submit_button:hover { opacity: 0.9; }
.contact-form-half .gform_confirmation_wrapper { color: #fff; padding: 15px 0; }
.contact-form-half button.gform_submit_button { margin-top: 11px; }

.custom-bullets ul:not(.gform_fields) { list-style: none; padding-left: .5rem; }
.custom-bullets ul:not(.gform_fields) li { font-size: 1.3rem; padding-top: 1rem; }
.custom-bullets ul:not(.gform_fields) li:before { content: ''; background-color: currentColor; display: inline-block; height: 10px; width: 10px; margin-right: 0.5em; position: relative; top: -2px; }
.custom-bullets ul:not(.gform_fields) li:not(:last-child) { border-bottom: 1px solid rgba(0, 0, 0, 0.3); padding-bottom: 1rem; }

/*--------------------------------------------------------------
# CPT BLOCKS
--------------------------------------------------------------*/
/*--------------------------------------------------------------
## CPT: Careers Accordion
--------------------------------------------------------------*/
.cpt-careers-accordion__header { font-size: 12px; font-size: 1.2rem; }
.cpt-careers-accordion__post-wrapper { border: 1px solid var(--color_dark); padding-left: 30px; padding-right: 30px; }
.cpt-careers-accordion__collapse-button { font-weight: bold; }
.cpt-careers-accordion__collapse-button:hover { cursor: pointer !important; }
.cpt-careers-accordion__open-icon svg { width: 15px; height: auto; -webkit-transition: all 0.3s ease; transition: all 0.3s ease; }
.cpt-careers-accordion__collapse-button:not(.collapsed) .cpt-careers-accordion--open-icon svg { -webkit-transform: rotate(180deg); transform: rotate(180deg); }
@media (max-width: 991.98px) { .cpt-careers-accordion .postings { padding: 15px 15px 0; } }
.cpt-careers-accordion .btn-careers { font-family: var(--font_main); font-size: 9px; font-size: 0.9rem; font-weight: bold; text-transform: uppercase; border: none; padding: 10px 50px; display: inline-block; cursor: pointer; min-width: 180px; width: auto; outline: none; text-align: center; position: relative; overflow: hidden; -webkit-transition: color 0.1s cubic-bezier(0.16, 0.08, 0.355, 1), background 0.1s cubic-bezier(0.16, 0.08, 0.355, 1); transition: color 0.1s cubic-bezier(0.16, 0.08, 0.355, 1), background 0.1s cubic-bezier(0.16, 0.08, 0.355, 1); }
.cpt-careers-accordion .btn-careers.btn-arrow { position: relative; -webkit-transition: background-color 0 ease-out; transition: background-color 0 ease-out; }
.cpt-careers-accordion .btn-careers.btn-arrow span { display: inline-block; position: relative; -webkit-transition: all 300ms ease-out; transition: all 300ms ease-out; will-change: transform; }
.cpt-careers-accordion .btn-careers.btn-arrow:hover span { -webkit-transform: translate3d(-1rem, 0, 0); transform: translate3d(-1rem, 0, 0); }
.cpt-careers-accordion .btn-careers.btn-arrow svg { position: absolute; width: 1.1em; right: 0px; right: 0rem; opacity: 0; top: 50%; -webkit-transform: translateY(-50%); transform: translateY(-50%); will-change: right, opacity; }
.cpt-careers-accordion .btn-careers.btn-arrow svg * { stroke-width: 5; stroke-color: transparent; }
.cpt-careers-accordion .btn-careers.btn-arrow:hover svg { opacity: 1; right: -2rem; }

/*--------------------------------------------------------------
# FOOD MENU
--------------------------------------------------------------*/
/*--------------------------------------------------------------
## Menu Banner Block
--------------------------------------------------------------*/
.menu-banner__content-wrapper { border-radius: 10px; -webkit-box-shadow: 0px 0px 20px 0px rgba(0, 0, 0, 0.3); box-shadow: 0px 0px 20px 0px rgba(0, 0, 0, 0.3); }
.menu-banner__image { height: 400px; width: 100%; -o-object-fit: cover; object-fit: cover; border-radius: 10px 10px 0px 0px; }
.menu-banner .block-editor__container img { height: 400px; }

/*--------------------------------------------------------------
## Menu Columns
--------------------------------------------------------------*/
.menu-columns__content-wrapper { border-radius: 10px; -webkit-box-shadow: rgba(0, 0, 0, 0.2) 0px 4px 15px; box-shadow: rgba(0, 0, 0, 0.2) 0px 4px 15px; }
.menu-columns__image { height: 200px; width: 100%; -o-object-fit: cover; object-fit: cover; border-radius: 10px 10px 0px 0px; }

/*--------------------------------------------------------------
## Menu Dropdown
--------------------------------------------------------------*/
.menu-dropdown select { /* styling */ width: 100%; background-color: white; border: thin solid #ddd; border-radius: 4px; display: inline-block; font: inherit; line-height: 1.5em; padding: 0.5em 3.5em 0.5em 1em; /* reset */ margin: 0; -webkit-box-sizing: border-box; box-sizing: border-box; -webkit-appearance: none; -moz-appearance: none; }
.menu-dropdown select.minimal { background-image: linear-gradient(45deg, transparent 50%, gray 50%), linear-gradient(135deg, gray 50%, transparent 50%), linear-gradient(to right, #ccc, #ccc); background-position: calc(100% - 20px) calc(1em + 2px), calc(100% - 15px) calc(1em + 2px), calc(100% - 2.5em) 0.5em; background-size: 5px 5px, 5px 5px, 1px 1.5em; background-repeat: no-repeat; }
.menu-dropdown select.minimal:focus { background-image: linear-gradient(45deg, gray 50%, transparent 50%), linear-gradient(135deg, transparent 50%, gray 50%), linear-gradient(to right, #ccc, #ccc); background-position: calc(100% - 15px) 1em, calc(100% - 20px) 1em, calc(100% - 2.5em) 0.5em; background-size: 5px 5px, 5px 5px, 1px 1.5em; background-repeat: no-repeat; outline: 0; }

/*--------------------------------------------------------------
## Menu Banner Block
--------------------------------------------------------------*/
.menu-page-navigation a:hover { text-decoration: none; }
.menu-page-navigation__content-wrapper { position: relative; height: 300px; background-size: cover; background-position: center; background-repeat: no-repeat; z-index: 1; }
.menu-page-navigation__content-wrapper:hover .overlay { background-color: rgba(0, 0, 0, 0.3); border-top: 10px solid var(--color_primary); }
.menu-page-navigation__content-wrapper .overlay { position: absolute; top: 0; bottom: 0; left: 0; right: 0; background-color: rgba(0, 0, 0, 0.5); z-index: -1; border-top: 0px solid var(--color_primary); -webkit-transition: all 0.3s ease; transition: all 0.3s ease; }
.menu-page-navigation__title { color: #fff; }
.menu-page-navigation__image { height: 300px; width: 100%; -o-object-fit: cover; object-fit: cover; }
.menu-page-navigation__button { font-size: 10px; font-size: 1rem; border: none; border-radius: 5px; padding: 10px 50px; display: inline-block; cursor: pointer; min-width: 180px; width: auto; text-align: center; -webkit-transition: 0.3s; transition: 0.3s; }

/*--------------------------------------------------------------
## Menu PDF CTA
--------------------------------------------------------------*/
.menu-pdf-cta { background-color: var(--color_light); }
.menu-pdf-cta__button { color: #fff; background-color: var(--color_primary); font-size: 1.3rem; padding: 10px 25px; border-radius: 10px; display: inline-block; text-decoration: none; cursor: pointer; text-align: center; }
.menu-pdf-cta__button:hover { color: #fff; background-color: var(--color_dark); text-decoration: none; }

/*--------------------------------------------------------------
## Menu Tabs
--------------------------------------------------------------*/
.menu-tabs__custom-list .list-column { border: 2px solid black; height: 100%; }
.menu-tabs__custom-list ul { list-style: none; padding-left: 0; margin: 0; }
.menu-tabs__drink-menu .alcohol-info ul { list-style: none; margin: 0; padding: 0; }
.menu-tabs__drink-menu .alcohol-info ul li { display: inline-block; font-weight: 700; }
.menu-tabs__drink-menu .alcohol-info ul li:not(:last-child) { margin-right: 10px; }
.menu-tabs__drink-menu .alcohol-description p:last-child, .menu-tabs__drink-menu .description p:last-child { margin-bottom: 0; }
.menu-tabs nav.menu-navigation .nav { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column; }
.menu-tabs nav.menu-navigation a.nav-item { border-color: transparent; border-radius: 8px; }
@media (max-width: 991.98px) { .menu-tabs nav.menu-navigation { width: 100%; margin-bottom: 5px; } }
@media (min-width: 992px) { .menu-tabs nav.menu-navigation .nav { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-orient: horizontal; -webkit-box-direction: normal; -ms-flex-direction: row; flex-direction: row; }
  .menu-tabs nav.menu-navigation a.nav-item:not(:first-child) { margin-left: 10px; } }
.menu-tabs__tab-content .food-menu-item h3 { font-size: 1.4rem; font-weight: 700; }
.menu-tabs__tab-content .food-menu-item .list-item { font-weight: 400; }
.menu-tabs__tab-content .featured-item .image img { min-height: 400px; width: 100%; -o-object-fit: cover; object-fit: cover; border-radius: 10px 0px 0px 10px; }
.menu-tabs__tab-content .featured-item .content { border-radius: 0px 10px 10px 0px; }
.menu-tabs__tab-content select { /* styling */ width: 100%; background-color: white; border: thin solid #ddd; border-radius: 4px; display: inline-block; font: inherit; line-height: 1.5em; padding: 0.5em 3.5em 0.5em 1em; /* reset */ margin: 0; -webkit-box-sizing: border-box; box-sizing: border-box; -webkit-appearance: none; -moz-appearance: none; }
.menu-tabs__tab-content select.minimal { background-image: linear-gradient(45deg, transparent 50%, gray 50%), linear-gradient(135deg, gray 50%, transparent 50%), linear-gradient(to right, #ccc, #ccc); background-position: calc(100% - 20px) calc(1em + 2px), calc(100% - 15px) calc(1em + 2px), calc(100% - 2.5em) 0.5em; background-size: 5px 5px, 5px 5px, 1px 1.5em; background-repeat: no-repeat; }
.menu-tabs__tab-content select.minimal:focus { background-image: linear-gradient(45deg, gray 50%, transparent 50%), linear-gradient(135deg, transparent 50%, gray 50%), linear-gradient(to right, #ccc, #ccc); background-position: calc(100% - 15px) 1em, calc(100% - 20px) 1em, calc(100% - 2.5em) 0.5em; background-size: 5px 5px, 5px 5px, 1px 1.5em; background-repeat: no-repeat; outline: 0; }
.menu-tabs__pdf-download { background-size: cover; background-position: center; background-repeat: no-repeat; }
.menu-tabs__pdf-download:not(.color__default) .menu-tabs__pdf-download_heading { color: currentColor; }
@media (max-width: 991.98px) { .menu-tabs nav.menu-navigation a.nav-item { text-align: center; }
  .menu-tabs nav.menu-navigation a.nav-item:not(:last-child) { margin-bottom: 10px; } }
@media (max-width: 767.98px) { .menu-tabs__tab-content .featured-item .image img { border-radius: 10px 10px 0px 0px; }
  .menu-tabs__tab-content .featured-item .content { border-radius: 0px 0px 10px 10px; } }
@media (max-width: 767.98px) and (max-width: 991.98px) { .menu-tabs__tab-content .mobile-padding { padding: 0 30px; } }

/*--------------------------------------------------------------
## Block Partials
--------------------------------------------------------------*/
.partial__cards { margin-bottom: -1.5rem; }
.partial__cards__wrapper { height: 100%; padding: 20px; border: 1px solid #ddd; border-top: 5px solid #000; }
.partial__faq { margin-bottom: -1rem; }
.partial__faq__heading { font-weight: 700; font-size: 1.4rem; }

/*--------------------------------------------------------------
## Slide-in Banner
--------------------------------------------------------------*/
.slide-banner { min-height: 500px; overflow: hidden; }
@media (min-width: 1200px) { .slide-banner { min-height: 600px; } }
.slide-banner--background, .slide-banner--content { -webkit-transition: all 1s ease; transition: all 1s ease; }
.slide-banner--background { background-size: contain; background-position: center; background-repeat: no-repeat; -webkit-transform: translateX(-40px); transform: translateX(-40px); opacity: 0; height: 500px; }
.slide-banner:not(.color__default) .slide-banner--content h1, .slide-banner:not(.color__default) .slide-banner--content h2, .slide-banner:not(.color__default) .slide-banner--content h3, .slide-banner:not(.color__default) .slide-banner--content h4, .slide-banner:not(.color__default) .slide-banner--content p, .slide-banner:not(.color__default) .slide-banner--content span { color: currentColor; }
.slide-banner--content { max-width: calc(1200px/2); -webkit-transform: translateX(40px); transform: translateX(40px); opacity: 0; padding: 3.75rem 3.5rem; }
.slide-banner--content:before { content: "\201C"; font-family: Georgia, serif; color: #c4c4c4; position: absolute; font-size: 8em; line-height: 1; top: 0; left: 0; }
.slide-banner--content:after { content: "\201D"; font-family: Georgia, serif; color: #c4c4c4; position: absolute; float: right; font-size: 8em; line-height: 1; right: 0; bottom: -0.5em; }
.slide-banner h1, .slide-banner h2, .slide-banner h3, .slide-banner h4, .slide-banner p { text-transform: inherit; }
.slide-banner h1:last-child, .slide-banner h2:last-child, .slide-banner h3:last-child, .slide-banner h4:last-child, .slide-banner p:last-child { margin-bottom: 0; padding-bottom: 0; }
.slide-banner .animate .slide-banner--background, .slide-banner .animate .slide-banner--content { -webkit-transform: translateX(0); transform: translateX(0); opacity: 1; }

/*--------------------------------------------------------------
# GLOBAL BLOCK STYLES
--------------------------------------------------------------*/
/*--------------------------------------------------------------
# Colour Picker Button Group styles
--------------------------------------------------------------*/
.background__primary { background-color: var(--color_primary); }

.background__secondary { background-color: var(--color_secondary); }

.background__dark { background-color: var(--color_dark); }

.background__light { background-color: var(--color_light); }

.background__accent { background-color: var(--color_accent); }

.background__black { background-color: #000; }

.background__white { background-color: #fff; }

.text-light h1, .text-light h2, .text-light h3, .text-light h4, .text-light h5, .text-light h6, .text-light p, .text-light span, .text-light ul, .text-light li { color: #fff; }
.text-light svg { fill: #fff; }

.text-dark h1, .text-dark h2, .text-dark h3, .text-dark h4, .text-dark h5, .text-dark h6, .text-dark p, .text-dark span, .text-dark ul, .text-dark li { color: #000; }
.text-dark svg { fill: #000; }

/*--------------------------------------------------------------
# CPT
--------------------------------------------------------------*/
/*--------------------------------------------------------------
# Custom Post Types
--------------------------------------------------------------*/
/*--------------------------------------------------------------
## Media Centre Archive
--------------------------------------------------------------*/
.media-archive__category-link-wrapper { padding-left: 10px !important; padding-right: 10px !important; }
.media-archive__category-link { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; width: 100%; padding: 10px 20px; margin: 5px 0; font-weight: 700; font-size: 0.9rem; position: relative; text-transform: uppercase; -webkit-transition: all 0.2s ease; transition: all 0.2s ease; }
.media-archive__category-link:visited, .media-archive__category-link:hover, .media-archive__category-link:focus { text-decoration: none; }
@media (min-width: 992px) { .media-archive__category-link { margin: 0; } }
@media (min-width: 768px) { .media-archive__category-link { white-space: nowrap; } }
.media-archive__posts-heading { display: -webkit-box; display: -ms-flexbox; display: flex; width: 100%; margin-bottom: 0; line-height: 1; position: relative; }
.media-archive__posts-button { white-space: nowrap; display: block; }
.media-archive__posts-button a { color: #fff; padding: 3px 20px; display: block; margin-bottom: 5px; text-transform: uppercase; -webkit-transition: all 0.2s ease; transition: all 0.2s ease; }
.media-archive__posts-button a:hover { text-decoration: none; }
@media (min-width: 576px) { .media-archive__posts-button a { max-width: 200px; } }
@media (max-width: 767.98px) { .media-archive__posts-button { margin-top: 1rem; text-align: center; } }
@media (min-width: 768px) { .media-archive__posts-heading { white-space: nowrap; }
  .media-archive__posts-heading:after { content: ""; position: relative; top: 28px; height: 3px; width: 100%; margin: 0 20px; background-color: currentColor; z-index: 1; } }

.media-post__wrapper { border: 1px solid #e4e4e4; position: relative; height: auto; overflow: hidden; }
.media-post__image { height: 250px; background: #fcf6b9; background-size: cover; background-position: center; overflow: hidden; }
.media-post__content { padding: 45px 30px; background-color: #fff; -webkit-transition: all 0.3s ease; transition: all 0.3s ease; }
.media-post__description { opacity: 1; }
.media-post__title { margin: 0; padding: 0; overflow: hidden; text-overflow: ellipsis; }
.media-post__title a { white-space: nowrap; }
.media-post__date { color: var(--color_text-main); text-transform: uppercase; font-size: 0.8rem; }
.media-post__button { font-size: 1rem; display: inline-block; width: 100%; max-width: 180px; text-align: center; padding: 8px 20px; line-height: 1; display: block; margin-top: 1rem; text-transform: uppercase; -webkit-transition: all 0.2s ease; transition: all 0.2s ease; border: none; border-radius: 0; }
.media-post__button:hover { text-decoration: none; background-color: #fcf6b9; }
@media (min-width: 992px) { .media-post__wrapper { height: 400px; }
  .media-post__image { height: 290px; }
  .media-post__content { position: absolute; top: 260px; right: 0; bottom: 0; left: 0; }
  .media-post__description { -webkit-transition: all 0.2s ease; transition: all 0.2s ease; opacity: 0; }
  .media-post:hover .media-post__content { top: 80px; } }
@media (min-width: 1200px) { .media-post__wrapper { height: 480px; }
  .media-post__image { height: 350px; }
  .media-post__content { top: 350px; }
  .media-post:hover .media-post__content { top: 180px; } }
@media (max-width: 991.98px) { .media-post:nth-child(4) { display: none; /* Do not display 3rd post below large breakpoint */ } }
.media-post:hover .media-post__description { opacity: 1; }
.media-post__video-modal .modal-dialog { max-width: 1000px; }

nav.navigation.pagination { margin-top: 3rem; margin-bottom: 3rem; width: 100%; }
nav.navigation.pagination .nav-links { margin: 0 auto; }
nav.navigation.pagination .page-numbers { background-color: #1a8b48; padding: 10px 15px; color: #fff; -webkit-transition: all 0.2s ease; transition: all 0.2s ease; }
nav.navigation.pagination .page-numbers:hover { background-color: #fcf6b9; text-decoration: none; }
nav.navigation.pagination .page-numbers.current { background-color: #fcf6b9; }
nav.navigation.pagination a.prev:before { content: "\2190"; position: relative; top: -1px; padding-right: 5px; }
nav.navigation.pagination a.next:after { content: "\2192"; position: relative; top: -1px; padding-left: 5px; }

.single-media-header { background-color: #f6f6f6; }
.single-media-header__background { height: 300px; width: 100%; background-size: cover; background-position: center; background-repeat: no-repeat; position: relative; }
.single-media-header__background::before { content: ""; background: rgba(0, 0, 0, 0.6); position: absolute; bottom: 0; top: 0; left: 0; right: 0; }
.single-media-header__background__content { z-index: 1; position: absolute; bottom: 5%; text-align: center; }
.single-media-header__banner { padding-top: 2rem; padding-bottom: 2rem; }
.single-media-header__heading { display: inline-block; margin: 0; }
.single-media-header__url { font-weight: 700; color: #fff; white-space: nowrap; display: inline-block; padding: 10px 20px; background-color: var(--color_dark); -webkit-transition: all 0.2s ease; transition: all 0.2s ease; }
.single-media-header__url:focus, .single-media-header__url:visited, .single-media-header__url:active { color: #fff; }
.single-media-header__url:hover { text-decoration: none; color: #fff; background-color: var(--color_primary); }
@media (min-width: 992px) { .single-media-header__content { z-index: 1; margin-top: 60px; text-align: center; position: relative; } }

.page-title__layout-2 .media-centre-return { margin-top: -40px; }

.media-centre-return { font-weight: 700; color: currentColor; z-index: 1; }
.media-centre-return:after { color: currentColor; content: "\003E"; padding-left: 5px; position: relative; top: 1px; }
.media-centre-return:hover { color: currentColor; text-decoration: none; opacity: 0.8; }

.video-embed--video-wrap { position: relative; width: 100%; height: 0; padding-bottom: 56%; }

.video-embed--video-wrap iframe { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }

/*--------------------------------------------------------------
# Projects Archive
--------------------------------------------------------------*/
.title-img-banner--title { min-height: 120px; background-size: cover; background-position: center; background-repeat: no-repeat; }
.title-img-banner--heading { color: inherit; }
.title-img-banner--image { min-height: 250px; background-size: cover; background-position: center; background-repeat: no-repeat; }
.title-img-banner .bkg-primary { background: var(--color_primary); }
.title-img-banner .bkg-secondary { background-color: var(--color_secondary); }
.title-img-banner .bkg-dark { background-color: var(--color_dark); }
.title-img-banner .bkg-light-accent { background-color: var(--color_light); }

.projects-archive--banner-bkg { min-height: 120px; background-size: cover; background-position: center; background-repeat: no-repeat; }
.projects-archive--banner .bkg-primary { background: var(--color_primary); }
.projects-archive--banner .bkg-secondary { background-color: var(--color_secondary); }
.projects-archive--banner .bkg-dark { background-color: var(--color_dark); }
.projects-archive--banner .bkg-light-accent { background-color: var(--color_light); }
.projects-archive--banner .page-title { color: #fff; }
.projects-archive--heading { font-size: 13px; font-size: 1.3rem; }
.projects-archive--card .wrapper { border: 2px solid var(--color_light); background-color: #fff; }
.projects-archive--card .post-image { background-size: cover; background-repeat: no-repeat; background-position: center; height: 260px; }
.projects-archive--modal-box { background-color: #fff; max-width: 90vw; margin-top: 0vh; height: 100vh; overflow: hidden; }
@media (min-width: 576px) { .projects-archive--modal-box { max-width: 85vw; } }
.projects-archive--modal-content { height: 100vh !important; overflow: auto; }
.projects-archive--modal-content .content-image { height: 100%; width: 100%; -o-object-fit: cover; object-fit: cover; }
.projects-archive--modal-image { height: 50vh; }
.projects-archive--modal-text .content-wrapper { padding: 1.5rem 2rem; }
@media (min-width: 768px) { .projects-archive--modal-box { margin-top: 5vh; height: 90vh; }
  .projects-archive--modal-content { height: 90vh !important; padding: 0 50px !important; }
  .projects-archive--modal-text .content-wrapper { padding: 1.5rem 1.75rem; } }
@media (min-width: 992px) { .projects-archive--modal-image { height: 90vh; } }
.projects-archive--modal .slick-prev { width: 50px; left: 0; }
.projects-archive--modal .slick-prev:before { content: "\2039"; font-size: 5rem; font-family: sans-serif; }
.projects-archive--modal .slick-next { width: 50px; right: 0; }
.projects-archive--modal .slick-next:before { content: "\203A"; font-size: 5rem; font-family: sans-serif; }
.projects-archive--modal .slick-prev, .projects-archive--modal .slick-prev:focus, .projects-archive--modal .slick-next, .projects-archive--modal .slick-next:focus { height: 100%; background-color: #d1d1d1; z-index: 1; border-radius: 0; -webkit-transition: all 0.3s ease; transition: all 0.3s ease; }
.projects-archive--modal .slick-prev:hover, .projects-archive--modal .slick-next:hover { background-color: #e8e8e8; }
.projects-archive--modal .slick-slide:focus { outline: none; }

.btn-projects { display: inline-block; padding: 5px 10px; -webkit-transition: .3s all; transition: .3s all; }
.btn-projects:hover { text-decoration: none; }

.modal { opacity: 0; -webkit-transition: all 1s ease; transition: all 1s ease; }
.modal--close { position: absolute; fill: var(--color_dark); top: 10px; right: 10px; padding: 15px; background-color: var(--color_light); border: none; z-index: 1; -webkit-transition: all 0.3s ease; transition: all 0.3s ease; }
@media (min-width: 992px) { .modal--close:hover { background-color: var(--color_dark); fill: var(--color_light); } }
.modal--close:focus { outline: none; }
.modal--close svg { width: 20px; height: auto; }

.modal.show { opacity: 1; height: auto; }

img:not([alt]) { border: 4px solid red; }
