/**************************

Theme Name: Leonardo
Theme URI: https://www.ilovewp.com/product/leonardo/
Author: ilovewpcom
Author URI: https://www.ilovewp.com/
Version: 1.0.6
Requires PHP: 7.0
Tested up to: 6.3
Private: true
Description: Leonardo is an exclusive WordPress Theme for Hotels, Rental Villas, B&Bs, Inns, etc.
License: GNU General Public License v3 or later
License URI: http://www.gnu.org/licenses/gpl-3.0.html
Text Domain: leonardo
Tags: 

***************************

/* --------------------------- */
/*	0. CSS Variables
/* --------------------------- */

:root {
	/* Misc */
	--leonardo-page-size-desktop: 1200px;
	--leonardo-size-container: 900px;
	--leonardo-size-content: 700px;
	--leonardo-wrapper-padding-large: 5rem;
	--leonardo-wrapper-padding-medium: 3.75rem;
	--leonardo-wrapper-padding-small: 2.5rem;
	--leonardo-flex-gap-large: 3.75rem;
	--leonardo-flex-gap-medium: 2.5rem;
	--leonardo-flex-gap-small: 1.875rem;
	/* Typography */
	--leonardo-ff-primary: 'Libre Franklin', -apple-system, BlinkMacSystemFont, Arial, sans-serif;
	--leonardo-ff-secondary: 'Cormorant', -apple-system, BlinkMacSystemFont, Georgia, serif;
	--leonardo-ff-accent: 'Poiret One', sans-serif;
	--leonardo-headings-weight: 600;
	/* Colors */
	--leonardo-background-color: #f3f3ee;
	--leonardo-primary-text-color: #080808;
	--leonardo-secondary-text-color: #242424;
	--leonardo-link-color: #003366;
	--leonardo-link-color-hover: #9e0000;
	--leonardo-pattern-background-color: #eae4e0;
	--leonardo-mobilemenu-background-color: #eae4e0;
	--leonardo-footer-background-color: #003366;
	--leonardo-footer-text-color: rgba(255,255,255,0.75);
	--leonardo-footer-link-color: #ffffff;
	--leonardo-footer-link-color-hover: #faec90;
	--leonardo-primary-accent-color: #003366;
	--leonardo-primary-accent-complementary-color: #ffffff;
	--leonardo-neutral-color-100: #ffffff;
	--leonardo-neutral-color-900: #080808;
	--leonardo-border-color-white-5: rgba(255,255,255,0.05);
	--leonardo-border-color-white-10: rgba(255,255,255,0.1);
	--leonardo-border-color-white-15: rgba(255,255,255,0.15);
	--leonardo-border-color-white-20: rgba(255,255,255,0.2);
	--leonardo-border-color-black-5: rgba(0,0,0,0.05);
	--leonardo-border-color-black-10: rgba(0,0,0,0.1);
	--leonardo-border-color-black-15: rgba(0,0,0,0.15);
	--leonardo-border-color-black-20: rgba(0,0,0,0.2);
}

/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
html {
	font-size: 16px;
	line-height: 1.1;
	scroll-behavior: smooth;
	-ms-text-size-adjust: 100%;
	-webkit-text-size-adjust: 100%;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}

*, *:before, *:after {
	-webkit-box-sizing: inherit;
	-moz-box-sizing: inherit;
	box-sizing: inherit;
}

body {
	margin: 0;
}

main {
	display: block;
}

h1 {
	font-size: 2em;
	margin: 0.67em 0;
}

hr {
	box-sizing: content-box; /* 1 */
	height: 0; /* 1 */
	overflow: visible; /* 2 */
}

pre {
	font-family: monospace, monospace; /* 1 */
	font-size: 1em; /* 2 */
}

a {
	background-color: transparent;
}

abbr[title] {
	border-bottom: none; /* 1 */
	text-decoration: underline; /* 2 */
	text-decoration: underline dotted; /* 2 */
}

b,
strong {
	font-weight: bolder;
}

code,
kbd,
samp {
	font-family: monospace, monospace; /* 1 */
	font-size: 1em; /* 2 */
}

small {
	font-size: 80%;
}

sub,
sup {
	font-size: 75%;
	line-height: 0;
	position: relative;
	vertical-align: baseline;
}

sub {
	bottom: -0.25em;
}

sup {
	top: -0.5em;
}

img {
	border-style: none;
	vertical-align: bottom;
}

button,
input,
optgroup,
select,
textarea {
	font-family: inherit; /* 1 */
	font-size: 100%; /* 1 */
	line-height: 1.15; /* 1 */
	margin: 0; /* 2 */
}

button,
input { /* 1 */
	overflow: visible;
}

button,
select { /* 1 */
	text-transform: none;
}

button,
[type="button"],
[type="reset"],
[type="submit"] {
	-webkit-appearance: button;
}

button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
	border-style: none;
	padding: 0;
}

button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
	outline: 1px dotted ButtonText;
}

fieldset {
	padding: 0.35em 0.75em 0.625em;
}

legend {
	box-sizing: border-box; /* 1 */
	color: inherit; /* 2 */
	display: table; /* 1 */
	max-width: 100%; /* 1 */
	padding: 0; /* 3 */
	white-space: normal; /* 1 */
}

progress {
	vertical-align: baseline;
}

textarea {
	overflow: auto;
}

[type="checkbox"],
[type="radio"] {
	box-sizing: border-box; /* 1 */
	padding: 0; /* 2 */
}

[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
	height: auto;
}

[type="search"] {
	-webkit-appearance: textfield; /* 1 */
	outline-offset: -2px; /* 2 */
}

[type="search"]::-webkit-search-decoration {
	-webkit-appearance: none;
}

::-webkit-file-upload-button {
	-webkit-appearance: button; /* 1 */
	font: inherit; /* 2 */
}

details {
	display: block;
}

summary {
	display: list-item;
}

template {
	display: none;
}

[hidden] {
	display: none;
}

/* Tables */
table {
  border-top: 0;
  margin-bottom: 2em;
  position: relative;
  table-layout: fixed;
  width: 100%;
  z-index: 1; }

table th {
  text-align: start; }

table tr {
  border-bottom: 1px solid #F0F0F0; }

table th,
table td {
  font-family: inherit;
  font-size: inherit;
  padding: 0.8125rem 1.25rem;
  vertical-align: middle;
}

ul, ol {
	list-style-position: inside;
	margin: 0;
	padding: 0;
}

ul ul, ol ol, ul ol, ol ul {
  margin: 0;
}

/* Inputs ------------------------------------ */

fieldset {
	border: 1px solid var( --leonardo-border-color-black-10 );
	margin: 1.25rem 0;
}

legend {
	font-size: 1rem;
	font-weight: 600;
	padding: 0 1.875rem;
}

label {
	display: block;
	font-size: 1.125rem;
	margin: 0 0 .5rem 0;
}

input,
textarea,
button {
	font-family: inherit;
	line-height: 1;
	-webkit-transition: background-color 0.25s ease, border-color 0.25s ease;
	-moz-transition: background-color 0.25s ease, border-color 0.25s ease;
	-o-transition: background-color 0.25s ease, border-color 0.25s ease;
	transition: background-color 0.25s ease, border-color 0.25s ease;
}

input,
textarea {
	background-color: var( --leonardo-background-color );
	border-color: var( --leonardo-border-color-black-10 );
}

input[type="text"],
input[type="password"],
input[type="email"],
input[type="url"],
input[type="date"],
input[type="month"],
input[type="time"],
input[type="datetime"],
input[type="datetime-local"],
input[type="week"],
input[type="number"],
input[type="search"],
input[type="tel"],
input[type="color"],
textarea {
	-webkit-appearance: none;
	-moz-appearance: none;
	border-radius: 0;
	border-style: solid;
	border-width: 1px;
	box-shadow: none;
	color: inherit;
	display: block;
	font-size: 1rem;
	font-weight: 500;
	line-height: normal;
	margin: 0;
	max-width: 100%;
	padding: 0.875rem 1.125rem;
	width: 100%;
}

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 {
	border-color: var( --leonardo-primary-accent-color );
	box-shadow: inset 0 0 0 1px var( --leonardo-primary-accent-color ); 
}

textarea {
	line-height: 1.5;
	width: 100%;
}

select {
	font-family: inherit;
	font-size: inherit;
}

::-webkit-input-placeholder { color: var( --leonardo-secondary-text-color ); line-height: normal; }
::-moz-placeholder { color: var( --leonardo-secondary-text-color ); line-height: normal; }
:-ms-input-placeholder { color: var( --leonardo-secondary-text-color ); line-height: normal; }
:-moz-placeholder { color: var( --leonardo-secondary-text-color ); opacity: 1; line-height: normal; }
::placeholder { color: var( --leonardo-secondary-text-color ); line-height: normal; opacity: 1; }

input[type="search"]::-webkit-search-decoration,
input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-results-button,
input[type="search"]::-webkit-search-results-decoration {
	display: none;
}

button,
.button,
.faux-button,
.wp-block-button__link,
:root .wp-block-file__button,
input[type="button"],
input[type="reset"],
input[type="submit"],
:root .woocommerce #respond input#submit,
:root .woocommerce a.button,
:root .woocommerce button.button,
:root .woocommerce input.button {
	-webkit-appearance: none;
	-moz-appearance: none;
	background: var( --leonardo-primary-accent-color );
	color: var( --leonardo-primary-accent-complementary-color );
	cursor: pointer;
	display: inline-flex;
	font-size: 0.875rem;
	font-weight: 400;
	justify-content: center;
	letter-spacing: 0;
	line-height: 1.3;
	margin: 0;
	padding: 0.625rem 1.25rem;
	text-align: center;
	text-decoration: none;
	text-underline-offset: 4px;
	text-decoration-thickness: 2px;
}

.wp-block-button:not(.is-style-outline) .wp-block-button__link,
:root .wp-block-button:not(.is-style-outline) .wp-block-file__button {
	border: none;
	border-radius: 0;
}

:root .woocommerce #respond input#submit,
:root .woocommerce a.button,
:root .woocommerce button.button,
:root .woocommerce input.button {
	padding: 0.75rem 1.25rem;
}

button:hover,
.button:hover,
.faux-button:hover,
.wp-block-button__link:hover,
:root .wp-block-file__button:hover,
input[type="button"]:hover,
input[type="reset"]:hover,
input[type="submit"]:hover,
:root .woocommerce #respond input#submit:hover,
:root .woocommerce a.button:hover,
:root .woocommerce button.button:hover,
:root .woocommerce input.button:hover,
button:focus,
.button:focus,
.faux-button:focus,
.wp-block-button__link:focus,
:root .wp-block-file__button:focus,
input[type="button"]:focus,
input[type="reset"]:focus,
input[type="submit"]:focus,
:root .woocommerce #respond input#submit:focus,
:root .woocommerce a.button:focus,
:root .woocommerce button.button:focus,
:root .woocommerce input.button:focus {
	background: var( --leonardo-primary-text-color );
	color: var( --leonardo-neutral-color-100 );
	text-decoration: underline;
}

button:focus-visible,
.button:focus-visible,
.faux-button:focus-visible,
.wp-block-button__link:focus-visible,
:root .wp-block-file__button:focus-visible,
input[type="button"]:focus-visible,
input[type="reset"]:focus-visible,
input[type="submit"]:focus-visible,
:root .woocommerce #respond input#submit:focus-visible,
:root .woocommerce a.button:focus-visible,
:root .woocommerce button.button:focus-visible,
:root .woocommerce input.button:focus-visible,
.entry-thumbnail:focus-visible,
.ilovewp-pattern .wp-block-image:focus-within {
	outline: 2px dashed currentColor;
	outline-offset: 2px;
}

p + input[type="submit"] {
	margin-top: 0.75rem;
}

.wp-block-button__link:active, 
.wp-block-button__link:focus, 
.wp-block-button__link:hover, 
.wp-block-button__link:visited {
	color: var( --leonardo-background-color );
}

/* Input Reset ------------------------------- */

button.reset,
input.reset,
textarea.reset {
	background: none;
	border: none;
	border-radius: 0;
	box-shadow: none;
	color: inherit;
	font-size: inherit;
	font-weight: inherit;
	letter-spacing: inherit;
	line-height: inherit;
	padding: 0;
	text-transform: none;
}

/*--------------------------------------------------------------
2.0 Accessibility
--------------------------------------------------------------*/

.screen-reader-text {
	clip: rect( .1rem, .1rem, .1rem, .1rem );
	height: .1rem;
	overflow: hidden;
	position: absolute !important;
	left: -999999rem;
	width: .1rem;
}

.screen-reader-text:focus {
	background-color: #f1f1f1;
	border-radius: .3rem;
	box-shadow: 0 0 .2rem .2rem rgba( 0, 0, 0, 0.6 );
	clip: auto !important;
	display: block;
	font-size: 1.4rem;
	font-weight: 700;
	height: auto;
	left: .5rem;
	line-height: normal;
	padding: 1.5rem 2.3rem 1.4rem 2.3rem;
	text-decoration: none;
	top: .5rem;
	width: auto;
	z-index: 100000;
}

/* Skip Link --------------------------------- */

.skip-link {
	position: absolute;
		left: -9999rem;
		top: 2.5rem;
	z-index: 999999999;
}

.skip-link:focus {
	left: 2.5rem;
	text-decoration: none;
}

/*--------------------------------------------------------------
3.0 Alignments
--------------------------------------------------------------*/

.entry-content .alignleft {
	display: inline-block;
	float: left;
	margin: 0 2.5rem 1.75rem 0;
}

.entry-content .alignright {
	display: inline-block;
	float: right;
	margin: 0 0 1.75rem 2.5rem;
}

.entry-content .aligncenter {
	clear: both;
	margin: 0 auto 1.75rem;
}

.entry-content .ilovewp-pattern figure.alignleft,
.entry-content .ilovewp-pattern figure.alignright {
	margin-inline: 0;
}

/*--------------------------------------------------------------
4.0 Typography
--------------------------------------------------------------*/

body,
button,
input,
select,
textarea {
	font-size: 0.9375rem;
	font-weight: 400;
	line-height: 1.6;
}

input,
textarea {
	font-family: var( --leonardo-ff-primary );
}

p {
	margin: 0;
	padding: 0;
}

dfn,
cite,
em,
i {
	font-style: italic;
}

blockquote {
	font-size: 1.125rem;
	font-style: italic;
	line-height: 1.7;
	margin: 0;
	overflow: hidden;
	padding: 0;
}

blockquote cite {
	display: block;
	font-style: normal;
	font-weight: 600;
	margin-top: 0.5em;
}

address {
	margin: 0 0 1.5em;
}

pre {
	background: #eee;
	font-family: "Courier 10 Pitch", Courier, monospace;
	font-size: 0.9375rem;
	line-height: 1.6;
	margin-bottom: 1.6em;
	max-width: 100%;
	overflow: auto;
	padding: 1.6em;
}

code,
kbd,
tt,
var {
	font-family: Monaco, Consolas, "Andale Mono", "DejaVu Sans Mono", monospace;
	font-size: 15px;
	font-size: 0.9375rem;
}

abbr,
acronym {
	border-bottom: 1px dotted #666;
	cursor: help;
}

mark,
ins {
	background: #eee;
	text-decoration: none;
}

big {
	font-size: 125%;
}

blockquote {
	quotes: "" "";
}

q {
	quotes: "“" "”" "‘" "’";
}

blockquote:before,
blockquote:after {
	content: "";
}

:focus {
	outline: none;
}

/*--------------------------------------------------------------
5.0 Tables
--------------------------------------------------------------*/

table {
	border-collapse: collapse;
	margin: 0 0 1.5em;
	width: 100%;
}

thead th {
	border-bottom: 0;
}

th {
	padding: 0.5rem;
	text-align: start;
}

tr {
	border-bottom: 1px solid rgba(0, 0, 0, 0.1);
}

td {
	padding: 0.5rem;
}

/************************** 

1. Page Structure: Common layout elements

**************************/

::selection {
	background: var( --leonardo-primary-accent-color );
	color: var( --leonardo-primary-accent-complementary-color );
}

#site-masthead__preheader ::selection,
#site-colophon ::selection {
	background: var( --leonardo-primary-accent-complementary-color );
	color: var( --leonardo-primary-accent-color );
}

body {
	background-color: var( --leonardo-background-color );
	color: var( --leonardo-primary-text-color );
	font-family: var( --leonardo-ff-primary );
	font-size: 62.5%;
	line-height: 1.5rem;
	margin: 0;
	min-height: 100vh;
	padding: 0;
	text-align: center;
	word-break: break-word;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

a {
	color: var( --leonardo-link-color );
	text-decoration: none;
	transition: all 0.15s;
}

a:hover, a:focus {
	color: var( --leonardo-link-color-hover );
}

a:focus {
	text-decoration: underline;
}

a:focus-visible,
.wp-block-post-featured-image:focus-visible {
	outline: 2px dashed currentColor;
	outline-offset: 3px;
}

/* Headings */
h1, h2, h3, h4, h5, h6 {
	color: var( --leonardo-primary-text-color );
	font-family: var( --leonardo-ff-secondary );
	font-weight: var(--leonardo-headings-weight);
	line-height: 1.3;
	margin: 0;
}

h1 { font-size: 36px; }
h2 { font-size: 30px; }
h3 { font-size: 24px; }
h4 { font-size: 20px; }
h5 { font-size: 18px; }
h6 { font-size: 16px; }

h1 a, h2 a, h3 a, h4 a, h5 a, h6 a {
	color: var( --leonardo-primary-text-color );
}

h1 a:hover, h1 a:focus,
h2 a:hover, h2 a:focus,
h3 a:hover, h3 a:focus,
h4 a:hover, h4 a:focus,
h5 a:hover, h5 a:focus,
h6 a:hover, h6 a:focus {
	color: var( --leonardo-link-color-hover )
}

#page__container {
	font-size: 1rem;
	line-height: 1.6;
	overflow: hidden;
	padding: 0;
	text-align: center;
	width: 100%;
}

.site-wrapper-all {
	margin: 0 auto;
	position: relative;
	min-height: 100vh;
	display: flex;
	flex-direction: column;
	transition: padding 0.25s;
}

.site-section-wrapper,
.site-layout--boxed .site-wrapper-all {
	margin: 0 auto;
	text-align: start;
	width: var(--leonardo-page-size-desktop);
}

.site-header-position--standard .site-section-wrapper--header,
.page-without-hero.site-header-position--overlay .site-section-wrapper--header,
.site-section-wrapper--content {
	background-color: #fff;
}

.site-layout--boxed .site-section-wrapper,
.site-layout--full .site-section-wrapper--preheader,
.site-layout--full .site-section-wrapper--header,
.site-layout--full .site-section-wrapper--content,
.site-layout--full .site-section-wrapper--footer {
	padding-inline: 50px;
}

.site-layout--boxed .site-section-wrapper {
	width: 100%;
}

.centered,
.title-center {
	text-align: center;
}

.text-transform--capitalize {
	text-transform: capitalize;
}

.text-transform--lowercase {
	text-transform: lowercase;
}

.text-transform--uppercase {
	text-transform: uppercase;
}

hr {
	background: none;
	border: 1px solid var( --leonardo-border-color-black-10 );
	border-width: 1px 0 0;
	margin: 1.875rem 0;
}

#site-masthead > .site-section-wrapper {
	padding-block: 1.25rem;
}

/* Common Flexbox declarations */

.ilovewp-flex-container {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-flex-wrap: nowrap;
	-ms-flex-wrap: nowrap;
	flex-wrap: nowrap;
	justify-content: space-between;
	align-items: stretch;
	align-content: stretch;
}

.ilovewp-flex-container > div {
	flex: 1;
}

/************************** 

2. Page Structure: Header

**************************/

#site-masthead {
	border-bottom: 1px solid var(--leonardo-border-color-black-10);
	padding: 0;
	position: relative;
	z-index: 3;
	transition: top 0.25s;
}

.page-with-hero.site-header-position--overlay #site-masthead {
	position: absolute;
	top: 0;
	inset-inline-start: 0;
	z-index: 3;
	width: 100%;
}

.site-header-layout--1 #site-logo-masthead {
	flex: 0 0 25%;
}

.site-header-layout--1 #site-masthead-features {
	align-self: center;
	padding-inline-start: 1.875rem;
}

.page-with-hero.site-masthead--blurred-2 #site-masthead { backdrop-filter: blur(2px); }
.page-with-hero.site-masthead--blurred-3 #site-masthead { backdrop-filter: blur(3px); }
.page-with-hero.site-masthead--blurred-5 #site-masthead { backdrop-filter: blur(5px); }
.page-with-hero.site-masthead--blurred-7 #site-masthead { backdrop-filter: blur(7px); }
.page-with-hero.site-masthead--blurred-10 #site-masthead {	backdrop-filter: blur(10px); }
.page-with-hero.site-masthead--blurred-15 #site-masthead {	backdrop-filter: blur(15px); }
.page-with-hero.site-masthead--blurred-20 #site-masthead {	backdrop-filter: blur(20px); }

.page-with-hero.site-masthead--black-10 #site-masthead { background: rgba(0,0,0,0.2); }
.page-with-hero.site-masthead--black-20 #site-masthead { background: rgba(0,0,0,0.2); }
.page-with-hero.site-masthead--black-30 #site-masthead { background: rgba(0,0,0,0.3); }
.page-with-hero.site-masthead--black-40 #site-masthead { background: rgba(0,0,0,0.4); }
.page-with-hero.site-masthead--black-50 #site-masthead { background: rgba(0,0,0,0.5); }
.page-with-hero.site-masthead--black-60 #site-masthead { background: rgba(0,0,0,0.6); }
.page-with-hero.site-masthead--black-70 #site-masthead { background: rgba(0,0,0,0.7); }
.page-with-hero.site-masthead--black-80 #site-masthead { background: rgba(0,0,0,0.8); }
.page-with-hero.site-masthead--black-90 #site-masthead { background: rgba(0,0,0,0.9); }
.page-with-hero.site-masthead--black-100 #site-masthead { background: rgba(0,0,0,1); }
.page-with-hero.site-masthead--white-10 #site-masthead { background: rgba(255,255,255,0.2); }
.page-with-hero.site-masthead--white-20 #site-masthead { background: rgba(255,255,255,0.2); }
.page-with-hero.site-masthead--white-30 #site-masthead { background: rgba(255,255,255,0.3); }
.page-with-hero.site-masthead--white-40 #site-masthead { background: rgba(255,255,255,0.4); }
.page-with-hero.site-masthead--white-50 #site-masthead { background: rgba(255,255,255,0.5); }
.page-with-hero.site-masthead--white-60 #site-masthead { background: rgba(255,255,255,0.6); }
.page-with-hero.site-masthead--white-70 #site-masthead { background: rgba(255,255,255,0.7); }
.page-with-hero.site-masthead--white-80 #site-masthead { background: rgba(255,255,255,0.8); }
.page-with-hero.site-masthead--white-90 #site-masthead { background: rgba(255,255,255,0.9); }
.page-with-hero.site-masthead--white-100 #site-masthead { background: rgba(255,255,255,1); }

.site-header-layout--2 #site-logo-masthead {
	flex: unset;
	text-align: center;
}

.site-header-layout--2 #site-masthead .ilovewp-flex-container {
	gap: var(--leonardo-flex-gap-small);
}

.site-header-layout--3 #site-header-menu {
	border: 1px solid var( --leonardo-border-color-black-10 );
	border-width: 1px 0 0;
}

.site-header-layout--3.site-header-position--overlay.page-without-hero #site-header-menu,
.site-header-layout--3.site-header-position--standard #site-header-menu {
	background-color: #fff;
}

.site-header-layout--3 #site-logo-masthead,
.site-header-layout--3 #site-header-menu .site-section-wrapper {
	text-align: center;
}

/* Header Logo */

#site-logo-masthead .site-title {
	font-size: 2rem;
	font-weight: var( --leonardo-headings-weight );
	letter-spacing: -0.5px;
	margin: 0;
}

#site-logo-masthead .site-description {
	font-family: var( --leonardo-ff-secondary );
	font-size: 0.875rem;
	font-weight: 400;
	letter-spacing: 0.2px;
	margin: 0.25rem 0 0;
}

#site-logo-masthead .custom-logo {
	height: auto;
	max-width: 100%;
}

#site-logo-masthead a {
	color: currentColor;
}

#site-logo-masthead a:hover,
#site-logo-masthead a:focus {
	color: var( --leonardo-link-color-hover );
}

/* Fixed Header */

.header--is-fixed #site-masthead {
	position: fixed !important;
	top: 0;
	left: 0;
	width: 100%;
	z-index: 2;
}

/* Header Hero */

#site-masthead-hero {
	overflow: hidden;
	position: relative;
	width: 100%;
}

.site-masthead-slideshow__list {
	height: 100%;
	list-style-type: none;
	position: relative;
}

.site-masthead-slideshow__list:before,
.site-masthead-slideshow__list:after {
	background: rgba(0,0,0,0.05);
	content: '';
	height: 1px;
	width: 100%;
	position: absolute;
	left: 0;
	z-index: 2;
}

.site-masthead-slideshow__list:before {
	top: 0;
}

.site-masthead-slideshow__list:after {
	bottom: 0;
}

.site-masthead-slideshow__item {
	position: relative;
	transition: all 0.25s;
}

.site-masthead-slideshow__image {
	display: block;
	height: auto;
	width: 100%;
	object-fit: cover;
}

.site-layout--boxed .site-masthead-slideshow__image {
	max-height: min(80vh, 750px);
}

.site-layout--full .site-masthead-slideshow__image {
	max-height: min(80vh, 1000px);
}

#site-masthead__arrows {
	border: 1px solid var(--leonardo-border-color-white-20);
	padding: 0.5rem;
	position: absolute;
	inset-inline-end: var(--leonardo-flex-gap-medium);
	bottom: var(--leonardo-flex-gap-medium);
	z-index: 2;
}

#site-masthead__arrows a {
	color: var(--leonardo-secondary-text-color);
}

#site-masthead__arrows a:hover,
#site-masthead__arrows a:focus {
	color: var(--leonardo-link-color-hover);
}

.site-masthead__arrows-wrapper {
	background-color: var(--leonardo-neutral-color-100);
	color: var(--leonardo-primary-text-color);
	padding: 1.25rem 1rem;
	text-align: center;
}

#site-masthead-hero .flex-direction-nav {
	line-height: 1;
	list-style-type: none;
	font-size: 1.5rem;
	display: flex;
	flex-direction: row;
	gap: 20px;
	text-align: center;
}

#site-masthead-hero > .flex-direction-nav {
	display: none;
}

#site-masthead-hero .flex-nav-description {
	font-size: 0.875rem;
	font-style: italic;
	font-weight: 600;
	flex-grow: 1;
	align-self: center;
}

#site-masthead-hero .flex-direction-nav > li {
	line-height: 1;
	flex: 0 1 auto;
}

/* Fix flicker of first slide */
#site-masthead-hero.site-flexslider-loading .site-masthead-slideshow__list > li { 
	opacity: 0 !important;
}

#site-masthead-hero.site-flexslider-loading .site-masthead-slideshow__list > li:not(:first-child) img { 
	display: none;
}

/* End Hero Image */

/* Preheader */

#site-masthead__preheader {
	background-color: var(--leonardo-primary-accent-color);
	border-bottom: 1px solid var(--leonardo-border-color-black-5);
	color: var(--leonardo-primary-accent-complementary-color);
	font-size: 0.9375rem;
	padding-block: 0.75rem;
}

#site-masthead__preheader .widget > div {
	margin-block: 0;
}

#site-masthead__preheader a {
	color: inherit;
	text-decoration: underline;
}

#site-masthead__preheader a:hover,
#site-masthead__preheader a:focus {
	color: var(--leonardo-footer-link-color-hover);
}

/************************** 

3. Navigation

**************************/

/* Mobile Menu in the Header */

#site-mobile-menu-toggle,
#site-mobile-menu-toggle .site-toggle-anchor {
	display: inline-block;
	font-size: 1.125rem;
	font-weight: 600;
	line-height: 1;
	text-align: center;
}

#site-mobile-menu-toggle {
	display: none;
}

#site-mobile-menu-toggle .site-toggle-anchor {
	background: none;
	border: 2px solid var( --leonardo-primary-text-color );
	color: var( --leonardo-primary-text-color );
	padding: 0.875rem 1.125rem;
	transition: all 0.5s;
}

#site-mobile-menu-toggle .site-toggle-anchor:hover,
#site-mobile-menu-toggle .site-toggle-anchor:focus {
	background-color: var( --leonardo-primary-accent-color );
	color: var( --leonardo-primary-accent-complementary-color );
	text-decoration: none;
}

#site-mobile-menu-toggle .site-toggle-icon {
	display: none;
	vertical-align: top;
}

#site-mobile-menu-toggle .site-toggle-label {
	display: none;
	line-height: 1em;
	margin-inline-start: 6px;
	vertical-align: top;
}

#site-mobile-menu-toggle .site-toggle-icon.is-visible,
#site-mobile-menu-toggle .site-toggle-label.is-visible {
	display: inline-block;
}

#site-mobile-menu {
	background-color: var(--leonardo-mobilemenu-background-color);
	display: none;
	margin: var(--leonardo-flex-gap-small) 0;
	padding: var(--leonardo-flex-gap-medium);
	text-align: start;
	flex: 1;
}

#site-mobile-menu.is-visible {
	display: block;
}

#site-mobile-menu a {
	color: var( --leonardo-primary-text-color );
	display: block;
	padding: 0.875rem 0 0.625rem;
	position: relative;
}

#site-mobile-menu a:hover,
#site-mobile-menu a:focus {
	color: var( --leonardo-link-color-hover );
}

#site-mobile-menu .menu,
#site-mobile-menu .sub-menu {
	list-style-type: none;
}

#site-mobile-menu .menu li {
	border-top: 1px solid var( --leonardo-border-color-black-10 );
	font-size: 1.25rem;
	font-weight: 600;
	line-height: 1.5;
	position: relative;
}

#site-mobile-menu .sub-menu {
	display: none;
}

#site-mobile-menu .sub-menu.is-visible {
	display: block;
}

#site-mobile-menu .sub-menu li {
	font-size: 1rem;
	font-weight: 500;
	padding-inline-start: 1.25rem;
	text-transform: none;
}

#site-mobile-menu .menu > li:first-of-type {
	border-top-width: 0;
	padding-top: 0;
}

#site-mobile-menu .sub-menu-toggle {
	background-color: unset;
	border-width: 0;
	color: var( --leonardo-primary-text-color );
	display: inline-block;
	position: absolute;
	right: 0;
	top: 2px;
	padding: 12px;
	vertical-align: middle;
	z-index: 2;
}

#site-mobile-menu .sub-menu .sub-menu-toggle {
	padding: 10px;
	top: 3px;
}

#site-mobile-menu .sub-menu-toggle:hover,
#site-mobile-menu .sub-menu-toggle:focus {
	background-color: var( --leonardo-primary-accent-color );
	color: var( --leonardo-primary-accent-complementary-color );
}

#site-mobile-menu .current-menu-parent > a,
#site-mobile-menu .current-menu-item > a {
	color: var( --leonardo-link-color-hover );
	text-decoration: underline;
}

/* Start Primary Navigation */

.site-primary-nav {
	font-family: var( --leonardo-ff-primary );
	font-size: 0.8125rem;
	font-weight: 500;
}

.site-header-layout--1 #site-primary-menu,
.site-header-layout--2 #site-primary-menu-right {
	text-align: end;
}

.site-header-layout--2 #site-primary-menu-left {
	text-align: start;
}

/* Dropdown Menu */
.sf-menu, .sf-menu * {
	margin: 0;
	padding: 0;
	list-style: none;
}

.sf-menu li {
	position: relative;
}

.sf-menu ul {
	position: absolute;
	display: none;
	top: 100%;
	left: 0;
	z-index: 99;
}

.sf-menu li:hover > ul, .sf-menu li.sfHover > ul {
	display: block;
}

.sf-menu a {
	display: inline-block;
	position: relative;
}

.sf-menu ul ul {
	top: 0;
	left: 100%;
}

.sf-arrows .sf-with-ul:after {
	content: "\f107";
	font: 12px/12px 'icomoon';
	display: inline-block;
	margin: 4px 0 0 6px;
	-webkit-font-smoothing: antialiased;
	vertical-align: top;
}

.sf-arrows ul .sf-with-ul:after {
	content: "\f105";
	float: right;
	margin-top: 6px;
}

.sf-arrows ul li > .sf-with-ul:focus:after, 
.sf-arrows ul li:hover > .sf-with-ul:after, 
.sf-arrows ul .sfHover > .sf-with-ul:after {
	border-inline-start-color: white;
}

.large-nav {
	position: relative;
	z-index: 100;
}

.large-nav .menu-item-has-children > a {
	position: relative;
}

.site-primary-nav > ul > .menu-item {
	display: inline-block;
	text-transform: uppercase;
}

.site-header-layout--1 .site-primary-nav > ul > .menu-item:not(:first-child) {
	margin-inline-start: 1.25rem;
}

.site-header-layout--2 .site-primary-nav > ul > .menu-item,
.site-header-layout--3 .site-primary-nav > ul > .menu-item {
	margin-inline-end: 0.75rem;
	margin-inline-start: 0.75rem;
}

.site-header-layout--3 .site-primary-nav > ul > .menu-item:first-of-type {
	margin-inline-start: 0;
}

.site-header-layout--3 .site-primary-nav > ul > .menu-item:last-of-type {
	margin-inline-end: 0;
}

.site-primary-nav .sub-menu {
	background: var( --leonardo-neutral-color-100 );
	border: 1px solid var( --leonardo-border-color-black-10 );
	-webkit-border-bottom-right-radius: 3px;
	-webkit-border-bottom-left-radius: 3px;
	-moz-border-radius-bottomright: 3px;
	-moz-border-radius-bottomleft: 3px;
	border-bottom-right-radius: 3px;
	border-bottom-left-radius: 3px;
	margin: 0;
	padding: 0;
	left: -50%;
	text-align: start;
	text-transform: none;
	width: 220px;
	box-shadow: 0 2px 15px rgba(0, 0, 0, 0.04);
}

.site-primary-nav .sub-menu .sub-menu {
	left: 100%;
}

.large-nav > li > ul:before {
	content: '';
	display: block;
	width: 0;
	height: 0;
	border-left: 7px solid transparent;
	border-right: 7px solid transparent;
	border-bottom: 7px solid var( --leonardo-neutral-color-100 );
	position: absolute;
	top: -7px;
	left: calc(50% - 7px);
	z-index: 70;
}

.large-nav > li > ul:after {
	content: '';
	display: block;
	width: 0;
	height: 0;
	border-left: 8px solid transparent;
	border-right: 8px solid transparent;
	border-bottom: 8px solid #ddd;
	position: absolute;
	top: -8px;
	left: calc(50% - 8px);
	z-index: 60;
}

.large-nav ul ul {
	right: 100%;
	margin-top: 0px;
}

.site-primary-nav .sub-menu .menu-item {
	border-bottom: 1px solid var( --leonardo-border-color-black-10 );
	display: block;
	font-size: 0.875rem;
	font-weight: 400;
	line-height: 1.4;
	margin: 0;
	text-transform: none;
}

.site-primary-nav .sub-menu .menu-item:hover,
.site-primary-nav .sub-menu .menu-item:focus {
	background-color: #f3f3f3;
}

.site-primary-nav .sub-menu .menu-item:last-child {
	border: none;
}

.site-primary-nav .sub-menu a {
	color: var( --leonardo-primary-text-color );
	display: block;
	padding: 0.625rem 0.75rem;
}

.site-primary-nav > ul > .menu-item > a {
	color: var( --leonardo-primary-text-color );
	display: inline-block;
	padding: 1.5rem 0;
}

.site-primary-nav > ul .current-menu-item > a,
.site-primary-nav > ul .current-menu-ancestor > a,
.site-primary-nav > ul a:hover,
.site-primary-nav > ul a:focus {
	color: var( --leonardo-link-color-hover );
}

.site-primary-nav > ul .current-menu-item > a,
.site-primary-nav > ul .current-menu-ancestor > a {
	text-decoration: underline;
}

.site-primary-nav .sub-menu .current-menu-item > a,
.site-primary-nav .sub-menu a:hover,
.site-primary-nav .sub-menu a:focus {
	color: var( --leonardo-link-color-hover );
	text-decoration: underline;
}

.site-primary-nav > ul .menu-special > a {
	border: 2px solid currentColor;
	display: inline-block;
	padding: 0.375rem 0.75rem;
}

/************************** 

4. Page Structure: Content Layout

**************************/

#site-main {
	flex: 1;
	overflow: hidden;
}

.section-title {
	margin-bottom: 1.25rem;
}

.page-withmargins .site-section-wrapper--content {
	padding-block: var(--leonardo-wrapper-padding-medium) var(--leonardo-wrapper-padding-large);
}

#site-content-columns {
	gap: var(--leonardo-wrapper-padding-large);
}

#site-content-column {
	flex: 1 2 auto;
	width: 100%;
}

.page-withsidebar--left #site-content-column,
.page-withsidebar--right #site-content-column {
	width: var(--leonardo-size-content);
}

#site-sidebar-column {
	flex: 0 1 auto;
	width: 320px;
}

.page-withsidebar--right #site-content-columns {
	flex-direction: row;
}

.page-withsidebar--left #site-content-columns {
	flex-direction: row-reverse;
}

#site-sidebar-column {
	font-size: 0.875rem;
	line-height: 1.6;
}

#site-sidebar-column img {
	height: auto;
	max-width: 100%;
}

#site-sidebar-column .widget:not(:last-of-type) {
	margin-bottom: 1.875rem;
}

#site-colophon .widget:not(:first-of-type) {
	margin-top: 1.875rem;
}

#site-sidebar-column a {
	text-decoration: underline;
}

#site-sidebar-column .current-menu-item > a {
	color: var(--leonardo-link-color-hover);
}

#site-sidebar-column .menu .menu-item:not(:first-of-type),
#site-sidebar-column .menu .sub-menu .menu-item {
	margin-top: 4px;
}

#site-sidebar-column .menu .sub-menu {
	margin-inline-start: 0.75rem;
}

/************************** 

5. Page Structure: Content Sections, Blocks, Elements

**************************/

/* Widget Titles */

.widget-title {
	font-size: 1rem;
	font-weight: 600;
	margin-bottom: 1.25rem;
}

.widget ul {
	list-style-type: none;
}

/* Breadcrumbs */

.site-breadcrumbs {
	color: var( --leonardo-secondary-text-color );
	font-size: 0.875rem;
	font-weight: 400;
	line-height: 1.6;
	margin: 0 0 2.5rem;
}

.site-breadcrumbs a {
	text-decoration: underline;
}

/* Page Intro Wrapper */

.page-intro-wrapper {
	margin-bottom: 2.5rem;
}

.single-post .page-intro-wrapper {
	max-width: var(--leonardo-size-content);
	margin-inline: auto;
}

.page-intro-wrapper > *:not(:first-child) {
	margin-top: 1.875rem;
}

.page-intro-wrapper .page-title {
	font-weight: bold;
	line-height: 1.1;
}

body:not(.single-post) .page-intro-wrapper .page-title {
	max-width: 900px;
}

.archives-title {
	font-size: 2.5rem;
	font-weight: 700;
	line-height: 1.1;
}

.archives-title + div,
.archives-title + p {
	margin-top: 1.875rem;
}

.archive-description {
	font-size: 1.125rem;
	line-height: 1.6;
}

.archive-description p:not(:first-child) {
	margin-top: 1.25rem;
}

.archive-description a {
	text-decoration: underline;
}

/* Posts Archives */

.site-archive-posts {
	list-style-type: none;
}

.site-archive-list--even-columns .site-archive-post {
	display: flex;
	align-items: stretch;
	align-content: stretch;
	justify-content: space-between;
	flex-direction: row;
	gap: var(--leonardo-flex-gap-medium);
}

.site-archive-list--even-columns .site-archive-post > div {
	flex: 1 1 100%;
	align-self: center;
}

.site-archive-list--full .site-archive-post > div {
	align-self: center;
	width: 100%;
}

.site-archive-list--even-columns .site-archive-post .entry-thumbnail {
	align-self: start;
}

.site-archive-columns .site-archive-posts {
	display: grid;
	grid-gap: var(--leonardo-wrapper-padding-small);
	justify-items: stretch;
	align-items: stretch;
}

.site-archive-posts--cards .site-archive-posts {
	grid-row-gap: 1.875rem;
}

.site-archive-columns--2 .site-archive-posts {
	grid-row-gap: 3.125rem;
	grid-template-columns: repeat(2,1fr);
}

.site-archive-columns--3 .site-archive-posts {
	grid-column-gap: 1.875rem;
	grid-row-gap: 3.125rem;
	grid-template-columns: repeat(3,1fr);
}

.site-archive-columns--4 .site-archive-posts {
	grid-template-columns: repeat(4,1fr);
}

.site-archive-list .site-archive-post:not(:last-of-type) {
	margin-bottom: 1.875rem;
}

.site-archive-list:not(.site-archive-posts--cards) .site-archive-post:not(:last-of-type) {
	border-bottom: 1px solid var( --leonardo-border-color-black-10 );
	padding-bottom: 1.875rem;
}

.site-archive-posts--cards .site-archive-post {
	outline: 1px solid var( --leonardo-border-color-black-10 );
	outline-offset: -1px;
}

.site-archive-columns .entry-preview-wrapper {
	height: 100%;
	display: flex;
	flex: 1;
	flex-direction: column;
}

.site-archive-posts--cards:not(.site-archive-list--even-columns) .entry-preview-wrapper {
	padding: 1.875rem;
}

.site-archive-list--even-columns.site-archive-posts--cards .entry-preview-wrapper {
	padding-block: 1.875rem;
	padding-inline-end: 1.875rem;
}

.entry-thumbnail a {
	display: inline-block;
}

.entry-thumbnail-wrapper {
	overflow: hidden;
}

.site-archive-columns.site-archive-posts--standard .entry-thumbnail,
.site-archive-list.site-archive-posts--standard.site-archive-list--full .entry-thumbnail {
	margin-bottom: 1.875rem;
}

.site-archive-posts .entry-excerpt {
	font-size: 0.9375rem;
	font-weight: 400;
	line-height: 1.6;
}

.site-archive-posts .entry-preview-wrapper > *:not(:last-child) {
	margin-bottom: 1.25rem;
}

.site-archive-posts .entry-title {
	font-family: var(--leonardo-ff-primary);
	font-size: 1.25rem;
	font-weight: 700;
	line-height: 1.5;
}

.site-archive-columns--3 .entry-title {
	font-size: 1.125rem;
	line-height: 1.4;
}

.site-archive-columns--4 .entry-excerpt {
	line-height: 1.4;
}

.site-archive-list--full .entry-title {
	font-size: 1.5rem;
	line-height: 1.4;
}

.site-archive-posts .entry-meta {
	color: var( --leonardo-secondary-text-color );
	font-size: 0.75rem;
	font-weight: 400;
	line-height: 1.4;
}

.site-archive-posts .entry-meta a {
	color: var( --leonardo-primary-text-color );
	text-decoration: underline;
}

.site-archive-posts .entry-meta a:hover,
.site-archive-posts .entry-meta a:focus {
	color: var( --leonardo-link-color-hover );
}

.site-archive-posts .post-meta-item:not(:first-of-type):before {
	
	content: '/';
	display: inline-block;
	margin: 0 0.5rem;
}

.site-archive-posts .entry-meta-author {
	line-height: 1.7;
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	align-items: center;
	align-content: stretch;
}

.site-archive-posts .avatar {
	border-radius: 50%;
	margin-inline-end: 0.75rem;
}

.site-archive-list .entry-excerpt {
	font-size: 1rem;
	line-height: 1.5;
}

#site-main .site-cta-span {
	display: flex;
	width: 100%;
	align-self: flex-end;
}

#site-main .site-archive-columns .site-cta-span {
	margin-top: auto;
}

#site-main .site-cta-span > a {
	background-color: var( --leonardo-primary-accent-color );
	color: var( --leonardo-primary-accent-complementary-color );
	display: block;
	font-family: var( --leonardo-ff-primary );
	font-size: 0.9375rem;
	font-weight: 600;
	line-height: 1.3;
	padding: 1.125rem 1.25rem;
	text-align: center;
	text-decoration: none;
	width: 100%;
}

#site-main .site-cta-span > a:hover,
#site-main .site-cta-span > a:focus {
	background-color: var( --leonardo-primary-text-color );
	color: var( --leonardo-neutral-color-100 );
	text-decoration: underline;
}

/************************** 

6. Single: Post/Page Styling

**************************/

.entry-meta {
	font-size: 0.875rem;
	font-weight: 400;
}

.entry-meta span:not(:first-of-type):before {
	color: rgba(0,0,0,0.25);
	content: '/';
	display: inline-block;
	margin: 0 0.5rem;
}

.entry-meta a {
	color: inherit;
	text-decoration: underline;
}

.entry-meta a:hover,
.entry-meta a:focus {
	color: var( --leonardo-link-color-hover );
}

.page-title,
.archives-title, 
.entry-content h1 {
	color: var(--leonardo-primary-accent-color);
	font-size: 4.25rem;
	font-weight: 300;
	letter-spacing: -0.03em;
	line-height: 1.2;
	padding: 0;
	position: relative;
}

.entry-content {
	font-size: 1.125rem;
	font-weight: 400;
	line-height: 1.8;
	text-align: start;
	word-break: break-word;
}

.single-post .entry-content {
	margin-inline: auto;
	max-width: var(--leonardo-size-content);
}

.entry-content:not(:last-child) {
	margin-bottom: 2.5rem;
}

.page-template-pagebuilder .entry-content {
	margin-bottom: 0;
}

.entry-content::after {
	content: "";
	display: block;
	clear: both;
}

.entry-content b,
.entry-content strong {
	font-weight: 600;
}

.entry-content h2 {
	font-size: 2.25rem;
	line-height: 1.3;
}

.entry-content h3 {
	font-size: 1.875rem;
	line-height: 1.4;
}

.entry-content h4 {
	font-size: 1.75rem;
	line-height: 1.4;
}

.entry-content h5 {
	font-size: 1.5rem;
	line-height: 1.4;
}

.entry-content h6 {
	font-size: 1.375rem;
	line-height: 1.4;
}

.entry-content h1,
.entry-content h2,
.entry-content h3,
.entry-content h4,
.entry-content h5,
.entry-content h6 {
	color: var(--leonardo-primary-accent-color);
	font-weight: 400;
	letter-spacing: -0.02em;
	margin-block: 1.875rem 1.5rem;
}

.entry-content h1:first-child,
.entry-content h2:first-child,
.entry-content h3:first-child,
.entry-content h4:first-child,
.entry-content h5:first-child,
.entry-content h6:first-child {
	margin-block-start: 0;
}

.entry-content h1:last-child,
.entry-content h2:last-child,
.entry-content h3:last-child,
.entry-content h4:last-child,
.entry-content h5:last-child,
.entry-content h6:last-child {
	margin-block-end: 0;
}

.entry-content h1:only-child,
.entry-content h2:only-child,
.entry-content h3:only-child,
.entry-content h4:only-child,
.entry-content h5:only-child,
.entry-content h6:only-child {
	margin-block: 0;
}

.entry-content p,
.entry-content > *,
.entry-content > .wp-block-group,
.textwidget > * {
	margin-top: 0;
	margin-bottom: 1.5rem;
}

.entry-content img {
	height: auto;
	max-width: 100%;
}

.entry-content iframe {
	max-width: 100%;
}

.entry-content img.alignnone,
.entry-content img.aligncenter,
.entry-content img.alignleft,
.entry-content img.alignright {
	max-width: 100%;
	width: auto;
	height: auto;
}

.entry-content figure {
	margin: 0 0 1.875rem;
}

.entry-content .wp-block-column figure {
	margin-bottom: 0;
}

.entry-content .wp-block-image img,
.entry-content .wp-block-media-text__media img, 
.entry-content .wp-block-media-text__media video {
	height: auto;
}

.entry-content .wp-block-image img {
	margin-bottom: 0;
}

.entry-content p + .site-archive-posts,
.entry-content .site-archive-posts + .site-archive-posts {
	margin: var(--leonardo-wrapper-padding-medium) 0 0;
}

.archive-description + .site-section-archives-posts {
	margin-top: 1.875rem;
}

.entry-content .entry-thumbnail figure {
	margin-bottom: 0;
}

.entry-content .entry-title {
	margin-top: 0;
}

.entry-content > :last-child,
.entry-content p:last-child,
.textwidget p:last-child {
	margin-bottom: 0;
}

.entry-content blockquote {
	display: block;
	font-size: 1.25rem;
	font-style: normal;
	line-height: 1.6;
	margin: 1.875rem 0;
	padding: 0;
}

.entry-content .wp-block-pullquote {
	padding-top: 0;
	padding-bottom: 0;
}

.entry-content .wp-block-pullquote blockquote {
	margin-bottom: 0;
}

.entry-content .wp-block-pullquote p {
	font-size: 1.25em;
}

.entry-content a {
	text-decoration: underline;
}

.entry-content a:hover,
.entry-content a:focus {
	cursor: pointer;
}

.entry-content .table-wrapper {
	margin: 2rem 0;
	overflow-x: auto;
	padding: 0 5px 5px 0;
}

.entry-content .table-wrapper table:first-of-type {
	margin-top: 0;
}

.entry-content .table-wrapper table:last-of-type {
	margin-bottom: 0;
}

.entry-content table,
.widget table {
	border: 1px solid var(--leonardo-border-color-black-10);
	margin: 2rem 0;
	table-layout: auto;
	width: 100%;
}

.widget table:first-child {
	margin-top: 0;
}

.entry-content table caption,
.widget table caption {
	font-weight: bold;
	margin: 0 0 1rem;
	padding: 0.5rem 20px;
	text-align: center;
}

.entry-content table:last-child,
.widget table:last-child {
	margin-bottom: 0;
}

.entry-content table th,
.entry-content table td,
.widget table th,
.widget table td {
	font-size: 0.9375rem;
	line-height: 1.5em;
	padding: 0.75rem 1rem;
}

.entry-content table th,
.widget table th {
	background-color: var( --leonardo-footer-background-color );
	color: var(--leonardo-footer-text-color);
	font-size: 1rem;
	font-weight: 700;
}

.entry-content table thead tr,
.widget table thead tr {
	border-bottom-width: 0;
}

.entry-content table tr,
.widget table tr {
	border-bottom: 1px solid #e5e5e5;
	transition: all 0.2s ease-in-out;
}

.entry-content table tr:first-of-type,
.widget table tr:first-of-type {
	border-top-width: 0;
}

.entry-content table tr:last-of-type,
.widget table tr:last-of-type {
	border-bottom-width: 0;
}

.entry-content .is-style-stripes tr:nth-child(even),
.widget .is-style-stripes tr:nth-child(even) {
	background-color: white;
}

.entry-content .wp-block-table.is-style-stripes tbody tr:nth-child(odd),
.widget .wp-block-table.is-style-stripes tbody tr:nth-child(odd) {
	background-color: #f3f8f8;
}

.wp-block-image .aligncenter > figcaption, 
.wp-block-image .alignleft > figcaption, 
.wp-block-image .alignright > figcaption {
	color: var( --leonardo-secondary-text-color );
	display: block;
	font-size: 1rem;
	line-height: 1.6;
}

@media screen and (min-width: 1340px) {
	.entry-content .alignwide {
		margin-inline-start  : -100px;
		margin-inline-end : -100px;
		max-width: calc(100% + 200px);
	}
}

.entry-content .alignfull {
	margin-inline-start  : calc( -100vw / 2 + 100% / 2 );
	margin-inline-end : calc( -100vw / 2 + 100% / 2 );
	max-width    : 100vw;
	width: 100vw;
}

.entry-content .wp-block-gallery {
	justify-content: center;
}

.entry-content > .wp-block-gallery.alignfull > ul {
	padding-inline: 1.5em;
}

@media screen and (min-width: 1241px) {

	.entry-content div.has-background {
		padding: var(--leonardo-wrapper-padding-medium);
	}

}

@media screen and (max-width: 1240px) {

	.entry-content div.has-background {
		padding-block: var(--leonardo-wrapper-padding-medium);
		padding-inline: var(--leonardo-wrapper-padding-small);
	}

}

.entry-content .wp-block-separator {
	border-width: 1px 0 0;
}

.entry-content .wp-block-query .wp-block-post-featured-image {
	font-size: 1px;
	overflow: hidden;
}

.entry-content .wp-block-image,
.entry-content .wp-block-image figure {
	font-size: 1px;
	overflow: hidden;
	text-align: center;
}

.entry-content > .wp-block-image,
.entry-content > .wp-block-image figure {
	overflow: unset;
}

.entry-content figure figcaption {
	margin-top: 1rem;
}

.entry-content .wp-block-quote.is-style-large cite {
	text-align: center;
}

/************************** 

7. Page Structure: Footer

**************************/

#site-prefooter {
	background-color: var( --leonardo-footer-background-color );
	border-top: 1px solid transparent;
	padding: var(--leonardo-wrapper-padding-large) 0;
}

#site-prefooter .widget:not(:first-of-type) {
	margin-top: 2.5rem;
}

#site-prefooter .widget-title {
	margin-bottom: 1.875rem;
	text-align: center;
}

#site-colophon {
	background-color: var( --leonardo-footer-background-color );
	border-top: 1px solid transparent;
	color: var(--leonardo-footer-text-color);
	font-size: 0.9375rem;
	line-height: 1.6;
	padding: var(--leonardo-wrapper-padding-medium) 0;
}

#site-colophon a {
	text-decoration: underline;
}

#site-colophon .widget-title,
#site-colophon a,
#site-footer-credits a {
	color: var(--leonardo-footer-link-color);
}

#site-colophon a:hover,
#site-colophon a:focus,
#site-footer-credits a:hover,
#site-footer-credits a:focus,
#site-footer-credits .current-menu-item a {
	color: var( --leonardo-footer-link-color-hover );
	text-decoration: underline;
}

#site-colophon .ilovewp-flex-container {
	gap: var(--leonardo-flex-gap-medium);
}

#site-colophon .widget_nav_menu .menu-item {
	line-height: 1.5;
}

#site-colophon .widget_nav_menu .menu-item:not(:first-of-type) {
	margin-top: 0.375rem;
}

#site-colophon .widget_nav_menu a:before {
	content: '\f105';
	display: inline-block;
	-webkit-font-smoothing: antialiased;
	font: 10px/10px 'icomoon';
	margin: 0 6px 2px 0;
	vertical-align: middle;
}

#site-footer-credits {
	background-color: var( --leonardo-footer-background-color );
	border-top: 1px solid transparent;
	color: var(--leonardo-footer-text-color);
	font-size: 1rem;
	line-height: 1.6;
	padding: var(--leonardo-wrapper-padding-medium) 0;
}

#site-prefooter,
#site-colophon,
#site-footer-credits {
	border-color: var( --leonardo-border-color-white-10 );
}

#site-footer-credits .ilovewp-flex-container {
	gap: var(--leonardo-flex-gap-small);
	flex-direction: column;
}

#site-footer-credits .ilovewp-flex-container > * {
	flex: 1;
	text-align: center;
}

#site-footer-menu .site-section-wrapper {
	text-align: center;
}

#site-footer-nav {
	text-align: end;
}

.site-footer-menu .menu-item {
	display: inline-block;
	font-size: 1rem;
}

#site-footer-menu .menu-item {
	font-weight: 500;
	text-transform: uppercase;
}

.site-footer-menu .menu-item:not(:first-of-type) {
	margin-inline-start: 1rem;
}

/************************** 

8. Comments Styling

**************************/

.logged-in-as {
	margin-bottom: 1.25rem;
}

.logged-in-as a {
  text-decoration: underline;
}

.comment #respond {
  margin-top: 1.25rem;
}

#respond .form-submit {
  margin-top: 1.25rem;
}

#respond .comment-notes {
  font-size: 1rem;
  margin-bottom: 1.25rem;
}

.comments-area {
  margin: 1.875rem 0 0;
  text-align: start; }

.comments-area .comments-title,
#reply-title {
  font-size: 1.5rem;
  margin: 0 0 1.875rem;
}

.page .comments-area {
  margin-inline-start: 0; }

.comment-list {
  margin: 1.75em 0; }

.comment-list,
.comment-list .children {
  list-style-type: none;
  padding: 0; }

.comment,
.pingback,
.trackback {
  padding: 1.75em 0; }

.depth-1 {
  border-bottom: 1px solid rgba(0,0,0,0.1);
}

.depth-1:first-child {
  margin-top: 0;
  padding-top: 0; }

.children {
  margin-top: 24px; }

.children .comment {
  border-inline-start: 5px solid rgba(0,0,0,0.1);
  padding-inline-start: 1.5rem;
}

.comment-author {
  float: left;
  margin: 0 1.875rem 1.25rem 0;
}

.comment-author .avatar {
  box-shadow: 2px 2px 3px rgb(0 0 0 / 6%);
  border: 3px solid #fff;
  border-radius: 50%;
  -moz-border-radius: 50%;
  -webkit-border-radius: 50%;
}

.comment-meta {
  margin-bottom: 0; }

.comment-meta .fn {
  display: inline-block;
  font-size: 1em;
  font-style: normal;
  font-weight: 600;
  margin-inline-end: 1rem; }

.says {
  display: none; }

.comment-metadata {
  display: inline-block;
  font-size: 0.875em; }

.comment-tools {
  display: inline-block;
  float: right; }

.comment-tools a {
  font-size: 0.8125em;
  font-weight: normal; }

.comment-reply-link {
  margin-inline-start: 10px; }

.comment-respond {
  padding: 0; }

.comment-list .comment-respond {
  padding-top: 1.875rem; }

.comment-content {
  font-size: 1rem;
  line-height: 1.6;
}

.comment-content p {
  margin: 1em 0 0;
}

.comment-content a {
  word-wrap: break-word;
}

.comment-form label {
  display: inline-block;
  font-size: 1.125rem;
  font-weight: 500;
  margin: 0 0 0.5rem;
}

.comment-form [type="checkbox"]:focus {
	outline: 2px solid var( --leonardo-primary-text-color );
	outline-offset: 2px;
}

.comment-form [type="checkbox"] + label {
	margin-inline-start: 0.25rem;
}

.comment-form label .required {
  color: var( --leonardo-link-color-hover );
  font-weight: 700; }

.form-allowed-tags {
  font-size: 0.8125em; }

.no-comments {
  text-align: center; }

.bypostauthor {
  display: block; }

#respond form > p:not(:first-child) {
	margin-top: 1.25rem;
}

#respond textarea,
#respond input[type="text"],
#respond input[type="url"],
#respond input[type="email"] {
	width: 100%;
}

#respond input[type="submit"] {
  font-size: 1rem;
  font-weight: 600;
  padding: 1.125rem 2rem;
}

#respond .site-commentform-inputs > p:not(:first-of-type) {
	margin-top: 1.25rem;
}

/************************** 

9. Misc

**************************/

#wpstats {
	display: none;
}

.entry-thumbnail {
	position: relative;
}
.entry-thumbnail .thumbnail,
.entry-thumbnail .wp-post-image,
.ilovewp-pattern figure img,
.wp-caption img {
	height: auto;
	max-width: 100%;
}

.entry-thumbnail .thumbnail,
.entry-thumbnail .wp-post-image,
.ilovewp-pattern figure img,
.ilovewp-pattern .wp-block-cover img,
.wp-caption img {
	-webkit-transition: all 0.3s ease-in-out;
	-moz-transition: all 0.3s ease-in-out;
	-ms-transition: all 0.3s ease-in-out;
	-o-transition: all 0.3s ease-in-out;
	transition: all 0.3s ease-in-out;
}

/* Search Widget */

#searchform  input[type="submit"],
.widget_search input[type="submit"] {
	margin-top: 0.5rem;
}

/* Gallery Widget */

.widget_media_gallery .gallery {
	display: flex;
	align-items: stretch;
	flex-wrap: nowrap;
	justify-content: space-between;
}

.widget_media_gallery .gallery-item {
	font-size: 0;
	margin: 0;
}

.widget_media_gallery .gallery-item .thumbnail {
	display: block;
}

/*--------------------------------------------------------------
7.0 Formatting
--------------------------------------------------------------*/

.entry-extra-box {
	border: 1px solid var( --leonardo-border-color-black-10 );
	padding: calc(var(--leonardo-flex-gap-medium) - 1px);
}

.entry-extra-box + .entry-content {
	margin-top: 1.875rem;
}

.entry-extra-box + .entry-extra-box {
	margin-top: 2.5rem;
}

.entry-extra-content a {
	color: currentColor;
	text-decoration: underline;
}

.entry-content hr {
	border-color: var(--leonardo-border-color-black-15);
	clear: both;
	height: 1px;
	margin: var(--leonardo-wrapper-padding-small) 0;
}

.entry-content .wp-block-separator.is-style-default {
	border-color: var(--leonardo-border-color-black-15);
	margin-inline: auto;
	max-width: 200px;
}

.entry-content .wp-block-separator.is-style-dots:before {
	padding-inline-start: 0;
}

/* Gallery Template */
.entry-content .gallery,
.entry-content .wp-block-gallery {
	margin: 2.5rem 0;
	display: grid;
	align-items: start;
	grid-gap: 1.25rem;
}

.entry-content .gallery-columns-2,
.entry-content .wp-block-gallery.columns-2 {
	grid-template-columns: repeat(2, 1fr);
}

.entry-content .gallery-columns-3,
.entry-content .wp-block-gallery.columns-3 {
	grid-template-columns: repeat(3, 1fr);
}

.entry-content .gallery-columns-4,
.entry-content .wp-block-gallery.columns-4 {
	grid-template-columns: repeat(4, 1fr);
}

.entry-content .gallery-columns-5,
.entry-content .wp-block-gallery.columns-5 {
	grid-template-columns: repeat(5, 1fr);
}

.entry-content .gallery-columns-6,
.entry-content .wp-block-gallery.columns-6 {
	grid-template-columns: repeat(6, 1fr);
}

.entry-content .gallery-columns-7,
.entry-content .wp-block-gallery.columns-7 {
	grid-template-columns: repeat(7, 1fr);
}

.entry-content .gallery-columns-8,
.entry-content .wp-block-gallery.columns-8 {
	grid-template-columns: repeat(8, 1fr);
}

.entry-content .gallery-columns-9,
.entry-content .wp-block-gallery.columns-9 {
	grid-template-columns: repeat(9, 1fr);
}

.entry-content .gallery-columns-10,
.entry-content .wp-block-gallery.columns-10 {
	grid-template-columns: repeat(10, 1fr);
}

.entry-content .wp-block-gallery.has-nested-images figure.wp-block-image:not(#individual-image) {
	width: unset;
}

.entry-content .gallery-item {
	display: block;
	margin: 0;
	vertical-align: top;
}

.gallery-item .gallery-caption {
	margin-inline-start: 0;
}

.gallery-item img {
	height: auto;
	margin-bottom: 0;
	max-width: 100%;
	width: 100%;
}

.gallery-item .gallery-caption {
	font-size: 0.8125rem;
	padding: 6px 10px;
	text-align: center;
}

.gallery-item .post-content {
	text-align: center;
}

/*--------------------------------------------------------------
9.0 Post Navigation
--------------------------------------------------------------*/

.site-post-navigation {
	font-size: 1rem;
	line-height: 1.6;
	margin: 0;
	position: relative;
	text-align: center;
}

.site-post-navigation > .site-post-nav-item {
	flex: 1;
}

.site-post-navigation:after {
	position: absolute;
	content: '';
	top: 10%;
	inset-inline-start: 50%;
	width: 1px;
	height: 90%;
	background: var( --leonardo-border-color-black-10 );
}

.post-meta-tags + .site-post-navigation {
	border-top: 1px solid var( --leonardo-border-color-black-10 );
	margin-top: 2.4375rem;
	padding: 2.4375rem 0 0;
}

.site-post-navigation .site-post-nav-item:not(:first-child) {
	margin-inline-start: 3.75rem;
}

.post-meta-tags .post-navigation-label {
	display: inline-block;
	font-size: 1rem;
	font-weight: 500;
	margin: 0;
}

.site-post-navigation .widget-title {
	text-align: center;
}

.site-post-navigation .entry-thumbnail {
	margin-bottom: 1.875rem;
}

.site-post-navigation .entry-title {
	font-size: 1.5rem;
	font-weight: 600;
	line-height: 1.4;
}

/* Tags List */

.post-meta-tags {
	text-align: center;
}

.post-meta-tags a {
	border: 1px solid var( --leonardo-border-color-black-10 );
	display: inline-block;
	line-height: 1.4;
	margin: 4px;
	padding: 6px 6px 4px;
	text-decoration: none;
	text-transform: capitalize;
	-webkit-border-radius: 2px;
	-moz-border-radius: 2px;
	-ms-border-radius: 2px;
	border-radius: 2px;
	-webkit-transition: all .2s ease-in-out;
	-moz-transition: all .2s ease-in-out;
	-o-transition: all .2s ease-in-out;
	transition: all .2s ease-in-out;
}

.post-meta-tags a:hover,
.post-meta-tags a:focus {
	background-color: var( --leonardo-primary-accent-color );
	border-color: var( --leonardo-primary-accent-color );
	color: var( --leonardo-neutral-color-100 );
	outline-color: var(--leonardo-link-color-hover);
}

/*--------------------------------------------------------------
10.0 Author Bio
--------------------------------------------------------------*/

.entry-authorbio-wrapper {
	display: flex;
	align-items: flex-start;
}

.entry-authorbio-wrapper > .avatar {
	margin-inline-end: 2.5rem;
	flex: 1 0 10%;
	border-radius: 50%;
}

.entry-authorbio-wrapper .author-description {
	font-size: 1.125rem;
	line-height: 1.6;
	flex: 1 1 100%;
}

.author-description > *:not(:first-child) {
	margin-top: 1.25rem;
}

.entry-authorbio-wrapper .author-name {
	font-size: 1.375rem;
	font-weight: 600;
}

.entry-authorbio-wrapper .author-bio a,
.entry-authorbio-wrapper .author-links a {
	color: inherit;
	text-decoration: underline;
}

.entry-authorbio-wrapper .author-bio a:hover,
.entry-authorbio-wrapper .author-bio a:focus,
.entry-authorbio-wrapper .author-links a:hover,
.entry-authorbio-wrapper .author-links a:focus {
	color: var( --leonardo-link-color-hover );
}

.entry-authorbio-wrapper .author-links .icon-icomoon,
.entry-authorbio-wrapper .author-links .svg-inline--fa {
	color: var( --leonardo-secondary-text-color );
	margin-inline-end: 0.25rem;
}

.entry-authorbio-wrapper .author-links span:not(:first-of-type) {
	display: inline-block;
	margin-inline-start: 1.25rem;
}

/*--------------------------------------------------------------
11.0 Lists
--------------------------------------------------------------*/
.entry-content ul,
.entry-content ol {
	list-style-position: inside;
	margin: 1.25rem 0 1.25rem;
}

.entry-content ul:last-child,
.entry-content ol:last-child {
	margin-bottom: 0;
}

.entry-content li > ul,
.entry-content li > ol {
  margin: 1.5rem 0 1.5rem 2rem; }

.entry-content dt {
  font-weight: 700; }

.entry-content dd {
  margin: 0 1.5em 1.5em; }

.entry-content ul:last-child {
  margin-bottom: 0; }

/* Block Editor Styles */

.entry-content .wp-block-columns img {
  margin-bottom: 0;
}

/*--------------------------------------------------------------
Plugin Compatibility
--------------------------------------------------------------*/

/* Contact Form 7 */

.entry-content .wpcf7-form label {
	font-size: 0.875rem;
	font-weight: bold;
}

.entry-content .wpcf7-form .wpcf7-form-control {
	margin-top: 0.5rem;
}

/* WP Forms Lite */

.wpforms-container:last-child {
	margin-bottom: 0;
}

.entry-content div.wpforms-container-full .wpforms-form .wpforms-field {
	padding-block: 1rem;
}

.entry-content div.wpforms-container-full .wpforms-form .wpforms-field-label {
	font-size: 0.875rem;
	font-weight: bold;
	margin-bottom: 0.75rem;
}

/* WooCommerce */

.woocommerce-info,
.woocommerce-message {
	border-top-color: var(--leonardo-link-color);
}

.woocommerce-info::before,
.woocommerce-message::before {
	color: var(--leonardo-link-color);
}

.woocommerce-ordering select {
	padding: 0.5rem;
}

.woocommerce-product-details__short-description {
	margin-bottom: 1.25rem;
}

.woocommerce table.shop_attributes {
	border: 1px solid var(--leonardo-border-color-black-10);
}

.woocommerce table.shop_attributes th {
	border-inline-end: 1px solid var(--leonardo-border-color-black-10);;
}

.woocommerce table.shop_attributes th,
.woocommerce table.shop_attributes td {
	padding: 0.5rem 1rem;
}

.woocommerce .woocommerce-MyAccount-navigation > ul {
	margin-block: 0;
}

.woocommerce ul.products li.product .woocommerce-loop-category__title, 
.woocommerce ul.products li.product .woocommerce-loop-product__title, 
.woocommerce ul.products li.product h3 {
	font-size: 1.25rem;
	font-weight: 700;
	line-height: 1.5;
}

.woocommerce form .form-row label {
	font-size: 1rem;
	font-weight: bold;
	line-height: 1.6;
}

.woocommerce form .form-row input.input-text, 
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.woocommerce form .form-row .select2-container {
	margin-bottom: 0.75rem;
}

.woocommerce ul.products li.product .button + .added_to_cart {
	margin-inline-start: 1rem;
}

.woocommerce table.shop_table {
	border-radius: 0;
}

.woocommerce .woocommerce-cart-form + .cart-collaterals {
	margin-top: 1.875rem;
}

.woocommerce #respond input#submit.disabled, 
.woocommerce #respond input#submit:disabled, 
.woocommerce #respond input#submit:disabled[disabled], 
.woocommerce a.button.disabled, 
.woocommerce a.button:disabled, 
.woocommerce a.button:disabled[disabled], 
.woocommerce button.button.disabled, 
.woocommerce button.button:disabled, 
.woocommerce button.button:disabled[disabled], 
.woocommerce input.button.disabled, 
.woocommerce input.button:disabled, 
.woocommerce input.button:disabled[disabled] {
	color: var(--leonardo-neutral-color-100);
	opacity: 0.7;
}

#add_payment_method table.cart td.actions .coupon .input-text, 
.woocommerce-cart table.cart td.actions .coupon .input-text, 
.woocommerce-checkout table.cart td.actions .coupon .input-text {
	padding: 0.75rem 1.25rem;
}

.woocommerce #content table.cart td.actions .input-text, 
.woocommerce table.cart td.actions .input-text, 
.woocommerce-page #content table.cart td.actions .input-text, 
.woocommerce-page table.cart td.actions .input-text {
	width: 150px;
}

.woocommerce .quantity .qty {
	padding: 0.75rem 0.5rem;
	width: 5em;
}

.entry-content .woocommerce a.remove {
	text-decoration: none;
}

.entry-content .attachment-woocommerce_thumbnail {
	margin-bottom: 0;
}

.woocommerce .product_meta {
	font-size: 0.875rem;
}

.woocommerce .product_meta > span {
	display: block;
}

/*--------------------------------------------------------------
9.0 Archive Pagination/Navigation
--------------------------------------------------------------*/

.pagination {
	font-size: 0.875rem;
	font-weight: 400;
	margin: 3.75rem 0 0;
	text-align: center;
}

.pagination .page-numbers {
	border: 1px solid var( --leonardo-border-color-black-10 );
	-webkit-border-radius: 1px;
	-moz-border-radius: 1px;
	-ms-border-radius: 1px;
	border-radius: 1px;
	display: inline-block;
	line-height: 1;
	margin: 6px 4px;
	padding: 0.75rem;
}

.pagination a {
	color: var( --leonardo-primary-text-color );
}

.pagination .current,
.pagination a:hover,
.pagination a:focus {
	background-color: var( --leonardo-link-color );
	border-color: var( --leonardo-link-color );
	color: var( --leonardo-neutral-color-100 );
	outline-color: var(--leonardo-link-color-hover);
}

/* WordPress Core Widget: Recent Posts */
.widget_recent_entries li {
	border-bottom: 1px solid var( --leonardo-border-color-black-10 );
	line-height: 1.6;
	margin: 0 0 0.75rem;
	padding-bottom: 0.75rem;
}

.widget_recent_entries li:last-of-type {
	border-bottom-width: 0;
	margin-bottom: 0;
	padding-bottom: 0;
}

.widget_recent_entries a {
	line-height: 1.6;
}

.widget_recent_entries .post-date {
	display: block;
	font-size: 0.875rem;
	margin: 0.5rem 0 0;
}

/**************************

11. Blocks

**************************/

/* Font Sizes -------------------------------- */

:root .has-small-font-size { font-size: 0.875rem; }
:root .has-regular-font-size, :root .has-normal-font-size { font-size: 1rem; }
:root .has-large-font-size { font-size: 1.25rem !important; line-height: 1.8; }
:root .has-larger-font-size { font-size: 1.5rem; line-height: 1.6; }
:root .has-largest-font-size { font-size: 2rem; line-height: 1.4; }
:root .has-oversized-font-size { font-size: 3rem; line-height: 1.2; }

/* Editor Color Palette -------------------------------- */

:root .has-primary-text-color { color: var( --leonardo-primary-text-color ); }
:root .has-secondary-text-color { color: var( --leonardo-secondary-text-color ); }
:root .has-link-color { color: var( --leonardo-link-color ); }
:root .has-link-hover-color { color: var( --leonardo-link-color-hover ); }
:root .has-primary-accent-color { color: var( --leonardo-primary-accent-color ); }
:root .has-primary-accent-complementary-color { color: var( --leonardo-primary-accent-complementary-color ); }
:root .has-pattern-background-color { color: var( --leonardo-pattern-background-color ); }
:root .has-footer-background-color { color: var( --leonardo-footer-background-color ); }
:root .has-neutral-100-color { color: var( --leonardo-neutral-color-100 ); }
:root .has-neutral-900-color { color: var( --leonardo-neutral-color-900 ); }

:root .has-primary-text-background-color { background-color: var( --leonardo-primary-text-color ); }
:root .has-secondary-text-background-color { background-color: var( --leonardo-secondary-text-color ); }
:root .has-link-background-color { background-color: var( --leonardo-link-color ); }
:root .has-link-hover-background-color { background-color: var( --leonardo-link-color-hover ); }
:root .has-primary-accent-background-color { background-color: var( --leonardo-primary-accent-color ); }
:root .has-primary-accent-complementary-background-color { background-color: var( --leonardo-primary-accent-complementary-color ); }
:root .has-pattern-background-background-color { background-color: var( --leonardo-pattern-background-color ); }
:root .has-footer-background-background-color { background-color: var( --leonardo-footer-background-color ); }
:root .has-neutral-100-background-color { background-color: var( --leonardo-neutral-color-100 ); }
:root .has-neutral-900-background-color { background-color: var( --leonardo-neutral-color-900 ); }

/* Block Typography Classes ------------------ */

:root .is-style-typeface-primary { font-family: var(--leonardo-ff-primary); }
:root .is-style-typeface-secondary { font-family: var(--leonardo-ff-secondary); }
:root .is-style-typeface-accent { font-family: var(--leonardo-ff-accent); line-height: 1.3; }

/* Separator ------------------ */

:root .wp-block-separator.is-style-vertical-line {
	background-color: var(--leonardo-border-color-black-10);
	border-width: 0;
	height: 50px;
	width: 2px !important;
	margin-inline: auto;
}

#site-main .wp-block-separator:first-child { margin-top: 0; }

.ilovewp-pattern .wp-block-button__link {
	padding: 0.5rem 1rem;
}

/******************************************
FlexSlider
******************************************/

.is-style-ilovewp-flexslider .blocks-gallery-item,
.is-style-ilovewp-flexslider .ilovewp-flexslider-control-nav,
.is-style-ilovewp-flexslider .ilovewp-flexslider-direction-nav {
	margin: 0;
	padding: 0;
	list-style-type: none;
}

/* FlexSlider Necessary Styles
*********************************/
:root .is-style-ilovewp-flexslider {
	display: flex;
	margin-block: 0;
	overflow: hidden;
	padding: 0;
	position: relative;
}

:root .is-style-ilovewp-flexslider:not(.alignfull,.alignwide) {
	margin-inline: auto;
	width: 100%;
}

:root .is-style-ilovewp-flexslider:not(:last-child) {
	margin-bottom: 1.875em;
}

html[xmlns] .is-style-ilovewp-flexslider {
	display: block;
}

/* Clearfix for the .slides element */
:root .is-style-ilovewp-flexslider:after {
	content: ".";
	display: block;
	clear: both;
	visibility: hidden;
	line-height: 0;
	height: 0;
}

:root .is-style-ilovewp-flexslider.wp-block-gallery,
:root .is-style-ilovewp-flexslider .wp-block-image,
:root .is-style-ilovewp-flexslider img {
	display: block;
	height: 100%;
	margin: 0;
}

:root .is-style-ilovewp-flexslider .wp-block-image {
	flex-grow: 1;
	-webkit-backface-visibility: hidden;
}

:root .is-style-ilovewp-flexslider img {
	height: auto;
	margin: 0 !important;
	width: 100%;
}

/* No JavaScript Fallback */
/* If you are not using another script, such as Modernizr, make sure you
* include js that eliminates this class on page load */
.no-js .is-style-ilovewp-flexslider .wp-block-image:first-child {
	display: block;
}

/* FlexSlider Default Theme
*********************************/
.is-style-ilovewp-flexslider {
	position: relative;
	zoom: 1;
}

/* Direction Nav */
.is-style-ilovewp-flexslider .ilovewp-flexslider-direction-nav {
	display: flex;
	justify-content: space-between;
	align-items: center;
	position: absolute;
	height: 100%;
	width: 100%;
	z-index: 3;
	pointer-events: none;
}

.is-style-ilovewp-flexslider .ilovewp-flexslider-direction-nav > li {
	display: flex !important;
	list-style-type: none !important;
	margin: 0;
	pointer-events: all;
}

.is-style-ilovewp-flexslider .ilovewp-flexslider-direction-nav .ilovewp-flexslider-prev,
.is-style-ilovewp-flexslider .ilovewp-flexslider-direction-nav .ilovewp-flexslider-next {
	display: block;
	font-size: 1rem;
	margin: 0;
	padding: 0.5rem 0.75rem;
	z-index: 3;
}

.is-style-ilovewp-flexslider .ilovewp-flexslider-direction-nav a {
	color: #fff !important;
	display: inline-block;
	margin: 0;
	text-decoration: none !important;
	zoom: 1;
	filter: alpha(opacity=40);
	opacity: 0.4;
	-webkit-transition-duration: 0.2s;
	-moz-transition-duration: 0.2s;
	transition-duration: 0.2s;
	-webkit-font-smoothing: antialiased;
}

.is-style-ilovewp-flexslider:hover .ilovewp-flexslider-direction-nav a,
.is-style-ilovewp-flexslider:focus-within .ilovewp-flexslider-direction-nav a {
	filter: alpha(opacity=100);
	opacity: 1;
	text-decoration: none;
}

/* Control Nav (Bullets) */
.is-style-ilovewp-flexslider .ilovewp-flexslider-control-nav {
	line-height: 1em;
	filter: alpha(opacity=40);
	opacity: 0.4;
	text-align: center;
	z-index: 2;
	width: 100%;
	position: absolute;
	bottom: 10px;
	left: 0;
	-webkit-transition-duration: 0.2s;
	-moz-transition-duration: 0.2s;
	transition-duration: 0.2s;
}

.is-style-ilovewp-flexslider .ilovewp-flexslider-control-nav li {
	display: inline-block !important;
	margin: 6px;
	text-align: center;
	zoom: 1;
}

.is-style-ilovewp-flexslider:hover .ilovewp-flexslider-control-nav,
.is-style-ilovewp-flexslider:focus-within .ilovewp-flexslider-control-nav {
	filter: alpha(opacity=100);
	opacity: 1;
}

.is-style-ilovewp-flexslider .ilovewp-flexslider-control-paging li a {
	border: 7px solid rgba(255,255,255,0.6);
	display: block;
	width: 1px;
	height: 1px;
	text-indent: -9999px;
	cursor: pointer;
	-webkit-transition-duration: 0;
	-moz-transition-duration: 0;
	transition-duration: 0;
	-webkit-border-radius: 50%;
	-moz-border-radius: 50%;
	border-radius: 50%;
	-webkit-box-shadow: 0px 0px 5px 0 rgba(0, 0, 0, 0.1);
	-moz-box-shadow: 0px 0px 5px 0 rgba(0, 0, 0, 0.1);
	box-shadow: 0px 0px 5px 0 rgba(0, 0, 0, 0.1);
}

.is-style-ilovewp-flexslider .ilovewp-flexslider-control-paging li a:hover,
.is-style-ilovewp-flexslider .ilovewp-flexslider-control-paging li a:focus,
.is-style-ilovewp-flexslider .ilovewp-flexslider-control-paging li a.ilovewp-flexslider-active {
	border-color: rgba(255,255,255,1);
}

/* Fix flicker of first slide */
.wp-block-gallery.is-style-ilovewp-flexslider .wp-block-image { 
	opacity: 0;
}

.is-style-ilovewp-flexslider .wp-block-image:not(:first-child) img { 
	display: none;
}

.is-style-ilovewp-flexslider.ilovewp-flexslider-loaded .wp-block-image,
.no-js .is-style-ilovewp-flexslider .wp-block-image { 
	opacity: 1;
}

.is-style-ilovewp-flexslider.ilovewp-flexslider-loaded .wp-block-image:not(:first-child) img,
.no-js .is-style-ilovewp-flexslider .wp-block-image:not(:first-child) img { 
	display: block;
}

/**************************

12. Block Patterns

**************************/

.entry-content .ilovewp-pattern .wp-block-gallery.has-nested-images[class*="columns-"] figure.wp-block-image:not(#individual-image) {
	width: unset;
}

.ilovewp-pattern .wp-block-columns {
	flex-wrap: nowrap;
	font-size: 1rem;
	gap: unset;
}

.entry-content .ilovewp-pattern .wp-block-columns:only-child {
	margin-block: 0;
}

.ilovewp-pattern .wp-block-columns:not(.is-not-stacked-on-mobile) > .wp-block-column {
	flex: 1;
}

.ilovewp-pattern .wp-block-columns > .wp-block-column:not(:first-child) {
	margin-inline: 0;
}

.page-withoutmargins .entry-content .ilovewp-pattern {
	margin-block: 0;
}

.page-withmargins .entry-content .ilovewp-pattern:not(:last-child) {
	margin-bottom: var(--leonardo-flex-gap-medium);
}

@media screen and (min-width: 1241px) {

	.ilovewp-pattern.has-background.alignfull > div,
	.entry-content > .wp-block-group.alignfull > div {
		margin-inline: auto;
		padding-inline: 50px;
		width: var(--leonardo-page-size-desktop);
	}

}

@media screen and (max-width: 1240px) {
	
	.ilovewp-pattern.has-background.alignfull > div,
	.entry-content > .wp-block-group.alignfull > div {
		margin-inline: auto;
		width: 100%;
	}

	.ilovewp-pattern.has-background.alignfull > div {
		padding-inline: 0;
	}

	.entry-content > .wp-block-group.alignfull:not(.has-background) > div {
		padding-inline: var(--leonardo-wrapper-padding-small);
	}

}

.ilovewp-pattern h1,
.ilovewp-pattern h2,
.ilovewp-pattern h3,
.ilovewp-pattern h4,
.ilovewp-pattern h5,
.ilovewp-pattern h6 {
	font-weight: normal;
}

.ilovewp-pattern h1 a,
.ilovewp-pattern h2 a,
.ilovewp-pattern h3 a,
.ilovewp-pattern h4 a,
.ilovewp-pattern h5 a,
.ilovewp-pattern h6 a {
	text-decoration: none;
}

.ilovewp-pattern h1:not(:first-child), 
.ilovewp-pattern h2:not(:first-child), 
.ilovewp-pattern h3:not(:first-child), 
.ilovewp-pattern h4:not(:first-child), 
.ilovewp-pattern h5:not(:first-child), 
.ilovewp-pattern h6:not(:first-child) {
	margin-top: 1.875rem;
}

.ilovewp-pattern h1:not(:last-child), 
.ilovewp-pattern h2:not(:last-child), 
.ilovewp-pattern h3:not(:last-child), 
.ilovewp-pattern h4:not(:last-child), 
.ilovewp-pattern h5:not(:last-child), 
.ilovewp-pattern h6:not(:last-child) {
	margin-bottom: 1.25rem;
}

.entry-content .ilovewp-pattern .wp-block-gallery {
	margin-block: 0;
}

.entry-content .ilovewp-pattern .wp-block-gallery:not(.is-style-ilovewp-flexslider) {
	gap: 1rem;
}

.entry-content .ilovewp-pattern .wp-block-gallery .wp-block-image,
.entry-content .ilovewp-pattern .wp-block-gallery.has-nested-images figure.wp-block-image:not(#individual-image) {
	margin: 0;
}

.wp-block-gallery.has-nested-images figure.wp-block-image:not(#individual-image) {
	width: unset;
}

.entry-content .ilovewp-pattern p {
	max-width: 65ch;
}

.ilovewp-pattern .wp-block-buttons > .wp-block-button {
	margin-bottom: 0;
}

.ilovewp-pattern .wp-block-button > a {
	text-decoration: none;
}

.ilovewp-pattern .wp-block-button > a:hover,
.ilovewp-pattern .wp-block-button > a:focus {
	background-color: var(--leonardo-neutral-color-900);
	border-color: var(--leonardo-neutral-color-900);
	color: var(--leonardo-neutral-color-100);
}

/* Attractions 1 */

.ilovewp-pattern__attractions--1 .wp-block-columns > .wp-block-column:not(:first-child) {
	margin-inline-start: 0;
}

.entry-content .ilovewp-pattern__attractions--1 div.has-background {
	padding: var(--leonardo-wrapper-padding-small);
}

.ilovewp-pattern__attractions--1 .wp-block-columns iframe {
	width: 100%;
}

@media screen and (min-width: 769px) {
	.ilovewp-pattern__attractions--1 .wp-block-columns iframe {
		height: 100%;
	}
}

/* Contact */

.ilovewp-pattern__contact--1 .wp-block-columns  {
	gap: var(--leonardo-flex-gap-large);
}

/* Intro */

.ilovewp-pattern__intro h1,
.ilovewp-pattern__intro h2,
.ilovewp-pattern__intro h3 {
	font-weight: normal;
}

/* Posts */

.ilovewp-pattern__posts .wp-block-query img {
	margin-bottom: 0;
}

.ilovewp-pattern__posts .wp-block-post-template {
	margin-block: 0;
}

.ilovewp-pattern__posts .wp-block-post-template > li > * {
	margin-block: 0;
}

.ilovewp-pattern__posts .wp-block-post-template > li > *:not(:first-child) {
	margin-top: 1.5rem;
}

.ilovewp-pattern__posts .wp-block-post-title {
	font-family: var(--leonardo-ff-primary);
	font-size: 1.25rem;
	font-weight: 700;
	line-height: 1.5;
}

.ilovewp-pattern__posts .wp-block-post-title > a {
	text-decoration: none;
}

.ilovewp-pattern__posts .wp-block-post-excerpt {
	font-size: 0.9375rem;
	font-weight: 400;
	line-height: 1.5;
}

.ilovewp-pattern__posts .wp-block-post-date {
	color: var(--leonardo-secondary-text-color);
	font-size: 0.75rem;
}

.ilovewp-pattern__posts .wp-block-query:not(:last-child) {
	margin-bottom: 2.5rem;
}

.ilovewp-pattern__posts .wp-block-buttons > .wp-block-button {
	margin-bottom: 0;
}

@media screen and (min-width: 600px) {

	.ilovewp-pattern__posts .wp-block-post-template.is-flex-container, 
	.ilovewp-pattern__posts .wp-block-query-loop.is-flex-container {
		gap: var(--leonardo-flex-gap-medium);
		flex-wrap: nowrap;
	}

	.entry-content .ilovewp-pattern__posts .wp-block-post-template.is-flex-container li, 
	.entry-content .ilovewp-pattern__posts .wp-block-query-loop.is-flex-container li {
		margin-block: 0;
		width: 100%;
	}

}

/* Section 1 */

.ilovewp-pattern__section--1 .wp-block-columns > .wp-block-column {
	display: flex;
	align-self: stretch;
}

.ilovewp-pattern__section--1 .wp-block-columns > .wp-block-column:not(:first-child) {
	margin-inline-start: 0;
}

.ilovewp-pattern__section--1 .wp-block-column.is-vertically-aligned-center {
	align-self: unset;
}

.ilovewp-pattern__section--1 .is-vertically-aligned-center > .wp-block-group {
	display: flex;
	flex: 1 1 100%;
}

.ilovewp-pattern__section--1 .is-vertically-aligned-center > .wp-block-group > div {
	align-self: center;
}

/* Section 2 */

.ilovewp-pattern__section--2 .wp-block-columns {
	gap: var(--leonardo-flex-gap-large);
}

.ilovewp-pattern__section--2 .wp-block-separator {
	margin-block: var(--leonardo-flex-gap-small);
}

/* Section 3 */

.ilovewp-pattern__section--3 .wp-block-columns {
	gap: var(--leonardo-flex-gap-medium);
}

/* Section 4 */

.ilovewp-pattern__section--4 .wp-block-columns {
	gap: var(--leonardo-flex-gap-large);
}

/* Section 5 */

.ilovewp-pattern__section--5 .ilovewp-pattern-column__content:first-child .ilovewp-pattern__content {
	margin-inline-end: calc((var(--leonardo-wrapper-padding-medium) * 1.5) * -1);
	position: relative;
	z-index: 3;
}

/* Section 6 */

.ilovewp-pattern__section--6 .wp-block-columns {
	gap: var(--leonardo-flex-gap-medium);
}

.ilovewp-pattern__section--6 .wp-block-columns > .wp-block-column {
	margin-inline: 0;
}

/* Section 7 */

.ilovewp-pattern__section--7 p.has-text-align-center {
	margin-inline: auto;
}

.ilovewp-pattern__section--7 .wp-block-columns {
	gap: calc(var(--leonardo-flex-gap-small) * 2);
}

.ilovewp-pattern__section--7 .wp-block-columns > .wp-block-column:not(:first-child) {
	position: relative;
}

.ilovewp-pattern__section--7 .wp-block-columns > .wp-block-column:not(:first-child):before {
	background-color: var(--leonardo-border-color-black-10);
	content: "";
	display: block;
	position: absolute;
	top: 0;
	left: calc(var(--leonardo-flex-gap-small) * -1);
	width: 1px;
	height: 100%;
}

/* Section 8 */

.ilovewp-pattern__section--8 .wp-block-columns {
	gap: calc(var(--leonardo-flex-gap-small) * 2);
	margin-bottom: 0;
}

.ilovewp-pattern__section--8 .wp-block-columns > .wp-block-column:not(:first-child) {
	position: relative;
}

.ilovewp-pattern__section--8 .wp-block-columns > .wp-block-column:not(:first-child):before {
	background-color: var(--leonardo-border-color-black-10);
	content: "";
	display: block;
	position: absolute;
	top: 0;
	left: calc(var(--leonardo-flex-gap-small) * -1);
	width: 1px;
	height: 100%;
}

/* Section 9 */

:root .ilovewp-pattern__section--9 .is-style-ilovewp-flexslider,
:root .ilovewp-pattern__section--9 .wp-block-image {
	overflow: unset;
}

.ilovewp-pattern__section--9 .wp-block-columns {
	gap: var(--leonardo-flex-gap-large);
}

.ilovewp-pattern__section--9 .ilovewp-pattern-column__image > figure {
	position: relative;
}

.ilovewp-pattern__section--9 .ilovewp-pattern-column__image > figure:before {
	background-color: var(--leonardo-pattern-background-color);
	content: "";
	display: block;
	position: absolute;
	top: calc(var(--leonardo-flex-gap-medium) * -1);
	left: calc(var(--leonardo-flex-gap-medium) * -1);
	width: calc(100% - var(--leonardo-flex-gap-medium));
	height: calc(100% + (var(--leonardo-flex-gap-medium) * 2 ));
	z-index: 0;
}

.ilovewp-pattern__section--9 .ilovewp-pattern-column__image img {
	position: relative;
	z-index: 2;
}

/* Section 10 */

.ilovewp-pattern__section--10 > .wp-block-columns,
.ilovewp-pattern__section--10 > div > .wp-block-columns {
	gap: var(--leonardo-flex-gap-large);
}

.ilovewp-pattern__section--10 .wp-block-columns .wp-block-columns {
	gap: var(--leonardo-flex-gap-small);
}

.ilovewp-pattern__section--10 .ilovewp-pattern__content .wp-block-group__inner-container > * {
	margin-block: 0;
}

.ilovewp-pattern__section--10 .ilovewp-pattern__content .wp-block-group__inner-container > *:not(:first-child) {
	margin-top: 1.875rem;
}

/* Pages 1 */

.ilovewp-pattern__pages .wp-block-column {
	position: relative;
}

.ilovewp-pattern__pages--1 .wp-block-columns {
	gap: var(--leonardo-flex-gap-small);
}

.ilovewp-pattern__pages--1 .wp-block-column::before {
	background-color: rgba(255,255,255,0);
	border: 1px solid rgba(255,255,255,0.3);
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	right: 0;
	margin: var(--leonardo-flex-gap-small);
	width: calc(100% - (var(--leonardo-flex-gap-small) * 2));
	-webkit-transition: background-color 0.25s ease, border-color 0.25s ease;
	-moz-transition: background-color 0.25s ease, border-color 0.25s ease;
	-o-transition: background-color 0.25s ease, border-color 0.25s ease;
	transition: background-color 0.25s ease, border-color 0.25s ease;
	opacity: 1;
	z-index: 2;
	pointer-events: none;
}

.ilovewp-pattern__pages--1 .wp-block-column:hover::before,
.ilovewp-pattern__pages--1 .wp-block-column:focus-within::before {
	background-color: rgba(255,255,255,0.9);
}

.ilovewp-pattern__pages--1 .wp-block-cover {
	padding: var(--leonardo-flex-gap-small);
	text-shadow: 2px 2px 2px rgba(0, 0, 0, 0.15);
}

.ilovewp-pattern__pages--1 .wp-block-cover:hover,
.ilovewp-pattern__pages--1 .wp-block-cover:focus-within {
	text-shadow: unset;
}

.ilovewp-pattern__pages--1 .wp-block-cover a {
	color: currentColor;
	text-decoration: none;
}

.ilovewp-pattern__pages--1 .wp-block-cover:hover .wp-block-cover__inner-container > *,
.ilovewp-pattern__pages--1 .wp-block-cover:focus-within .wp-block-cover__inner-container > *,
.ilovewp-pattern__pages--1 .wp-block-cover:hover a,
.ilovewp-pattern__pages--1 .wp-block-cover:focus-within a {
	color: var(--leonardo-neutral-color-900);
}

.ilovewp-pattern__pages--1 .wp-block-cover a:hover,
.ilovewp-pattern__pages--1 .wp-block-cover a:focus {
	color: var(--leonardo-link-color-hover);
	text-decoration: none;
}

.ilovewp-pattern__pages--1 .wp-block-cover__inner-container {
	padding: var(--leonardo-flex-gap-small);
	z-index: 3;
}

.ilovewp-pattern__pages--1 .wp-block-cover__inner-container > * {
	margin-block: 0;
}

.ilovewp-pattern__pages--1 .wp-block-cover__inner-container > *:not(:first-child) {
	margin-top: 1.875rem;
}

/* Pages 3 */

.ilovewp-pattern__pages--3 .wp-block-columns {
	gap: var(--leonardo-flex-gap-medium);
}

.ilovewp-pattern__pages--3 .wp-block-column .wp-block-image + .ilovewp-pattern__content {
	padding-top: 1.875rem;
}

.entry-content .ilovewp-pattern__pages--3 .ilovewp-pattern__content .wp-block-group__inner-container > * {
	margin-block: 0;
}

.entry-content .ilovewp-pattern__pages--3 .ilovewp-pattern__content .wp-block-group__inner-container > *:not(:first-child) {
	margin-top: 1.25rem;
}

/*********************************

13. Animations

*********************************/

.page-with-animations .entry-thumbnail img:hover,
.page-with-animations .entry-thumbnail:focus-within img,
.page-with-animations .ilovewp-pattern .wp-block-image:hover img,
.page-with-animations .ilovewp-pattern .wp-block-image:focus-within img,
.page-with-animations .ilovewp-pattern .wp-block-cover:hover img,
.page-with-animations .ilovewp-pattern .wp-block-cover:focus-within img,
.page-with-animations .ilovewp-pattern figure:not(.is-style-ilovewp-flexslider) > .wp-block-gallery > li:hover img,
.page-with-animations .ilovewp-pattern figure:not(.is-style-ilovewp-flexslider) > .wp-block-gallery > li:focus-within img {
	-webkit-transform: scale(1.06);
	transform: scale(1.06);
}

:root .page-with-animations .ilovewp-pattern .wp-block-cover {
	overflow: hidden;
}

:root .page-with-animations .js-scroll {
	opacity: 0;
	transition: opacity 500ms;
}

:root .page-with-animations .js-scroll.scrolled {
	opacity: 1;
}

:root .page-with-animations .scrolled.fade-in {
	animation: fade-in 0.5s ease-in-out both;
}

:root .page-with-animations .scrolled.fade-in-bottom {
	animation: fade-in-bottom 0.5s ease-in-out both;
}

:root .page-with-animations .scrolled.slide-left {
	animation: slide-in-left 0.5s ease-in-out both;
}

:root .page-with-animations .scrolled.slide-right {
	animation: slide-in-right 0.5s ease-in-out both;
}

@keyframes slide-in-left {
	0% {
		transform: translateX(-100px);
		opacity: 0;
	}
	100% {
		transform: translateX(0);
		opacity: 1;
	}
}

@keyframes slide-in-right {
	0% {
		transform: translateX(100px);
		opacity: 0;
	}
	100% {
		transform: translateX(0);
		opacity: 1;
	}
}

@keyframes fade-in-bottom {
	0% {
		transform: translateY(30px);
		opacity: 0;
	}
	100% {
		transform: translateY(0);
		opacity: 1;
	}
}

@keyframes fade-in {
	0% {
		opacity: 0;
	}
	100% {
		opacity: 1;
	}
}

/**************************

14. Media Queries 

**************************/

@media screen and (max-width: 1240px) {

	:root {
		--leonardo-wrapper-padding-large: 5rem;
		--leonardo-wrapper-padding-medium: 3.125rem;
		--leonardo-wrapper-padding-small: 1.875rem;
		--leonardo-flex-gap-large: 3.125rem;
		--leonardo-flex-gap-medium: 2.5rem;
	}

	.site-section-wrapper,
	.site-layout--boxed .site-wrapper-all {
		width: 100%;
	}

	.site-section-wrapper {
		padding-inline: var(--leonardo-wrapper-padding-small);
	}

}

@media screen and (max-width: 960px) {

	:root {
		--leonardo-wrapper-padding-large: 3.75rem;
		--leonardo-wrapper-padding-medium: 2.5rem;
		--leonardo-flex-gap-large: 2.5rem;
		--leonardo-flex-gap-medium: 1.875rem;
		--leonardo-flex-gap-small: 1.25rem;
	}

	/* Font Sizes -------------------------------- */

	:root .has-large-font-size { font-size: 1.1875rem !important; line-height: 1.7; }
	:root .has-larger-font-size { font-size: 1.375rem; line-height: 1.6; }
	:root .has-largest-font-size { font-size: 1.75rem; line-height: 1.4; }
	:root .has-oversized-font-size { font-size: 2.5rem; line-height: 1.2; }

	.site-layout--boxed .site-section-wrapper, 
	.site-layout--full .site-section-wrapper--preheader, 
	.site-layout--full .site-section-wrapper--header, 
	.site-layout--full .site-section-wrapper--content, 
	.site-layout--full .site-section-wrapper--footer {
		padding-inline: 1.875rem;
	}

	.page-with-hero.site-header-position--overlay #site-masthead {
		position: unset;
	}

	.site-columns-footer--4 .ilovewp-flex-container,
	.site-columns-footer--5 .ilovewp-flex-container {
		display: grid;
		grid-template-columns: repeat(2, 1fr);
	}

	.site-columns-footer--5 .ilovewp-flex-container .site-footer-column-1 {
		grid-column-start: 1;
		grid-column-end: 3;
	}

	.page-title, 
	.archives-title, 
	.entry-content h1 {
		font-size: 2rem;
		line-height: 1.5;
	}

}

@media screen and (max-width: 768px) {

	:root {
		--leonardo-wrapper-padding-large: 3.125rem;
		--leonardo-wrapper-padding-medium: 1.875rem;
		--leonardo-wrapper-padding-small: 1.25rem;
	}

	.site-layout--boxed .site-section-wrapper,
	.site-layout--full .site-section-wrapper--preheader,
	.site-layout--full .site-section-wrapper--header,
	.site-layout--full .site-section-wrapper--content,
	.site-layout--full .site-section-wrapper--footer {
		padding-inline: 1.25rem;
	}

	.page-withmargins #site-main {
		margin-block: var(--leonardo-wrapper-padding-large);
	}

	.site-header-layout--1 #site-logo-masthead,
	.site-header-layout--1 #site-masthead-features,
	.site-header-layout--3 #site-logo-masthead,
	.site-header-layout--3 #site-masthead-features {
		flex: 1;
	}

	.site-header-layout--1 #site-logo-masthead,
	.site-header-layout--2 #site-logo-masthead,
	.site-header-layout--3 #site-logo-masthead {
		text-align: start;
	}

	.site-header-layout--1 #site-masthead-features,
	.site-header-layout--3 #site-masthead-features {
		flex-grow: 0;
		margin-inline-start: 1.875rem;
		text-align: end;
	}

	.site-header-layout--3 #site-masthead {
		display: flex;
		flex-wrap: nowrap;
	}

	.site-header-layout--3 #site-header-menu {
		border-width: 0;
		margin: 0 auto;
		padding-top: 0;
		text-align: center;
	}

	#site-masthead__preheader .has-text-align-right {
		text-align: center;
	}

	#site-masthead__preheader .wp-block-wpzoom-blocks-social-icons {
		justify-content: center;
	}

	.site-header-layout--3 #site-header-menu,
	#site-mobile-menu-toggle {
		align-self: center;
	}

	#site-header-menu,
	.site-header-layout--3 #site-header-menu .site-section-wrapper {
		width: max-content;
	}

	#site-mobile-menu-toggle {
		display: inline-block;
	}

	.site-primary-nav,
	#site-header-menu--left,
	#site-header-menu--right {
		display: none;
	}

	.page-withsidebar--right #site-content-columns {
		flex-direction: column;
	}

	.page-withsidebar--left #site-sidebar-column,
	.page-withsidebar--right #site-sidebar-column,
	.page-withoutsidebar #site-content-column,
	.page-withsidebar--left #site-content-column, 
	.page-withsidebar--right #site-content-column {
		flex: 1;
		width: 100%;
	}

	#site-sidebar-column .sidebar-widgets {
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		gap: var(--leonardo-flex-gap-medium);
	}

	.site-columns-footer--3 .ilovewp-flex-container,
	.site-columns-footer--5 .ilovewp-flex-container {
		display: grid;
		grid-template-columns: repeat(2, 1fr);
	}

	.site-columns-footer--3 .ilovewp-flex-container .site-footer-column-1,
	.site-columns-footer--5 .ilovewp-flex-container .site-footer-column-1 {
		grid-column-start: 1;
		grid-column-end: 3;
	}

	.page-title, 
	.archives-title, 
	.entry-content h1 {
		line-height: 1.4;
	}
	
	.entry-content {
		line-height: 1.6;
	}

	.entry-content > h2 {
		font-size: 2rem;
	}

	.entry-content .gallery-columns-8,
	.entry-content .gallery-columns-7,
	.entry-content .gallery-columns-6,
	.entry-content .gallery-columns-5 {
		grid-template-columns: repeat(4, 1fr);
	}

	#site-footer-credits .ilovewp-flex-container,
	#site-footer-nav {
		text-align: center;
	}

	/* Patterns */

	.entry-content div.has-background {
		padding-block: var(--leonardo-wrapper-padding-medium);
	}

	.ilovewp-pattern h2:not(.wp-block-post-title) {
		font-size: 2rem;
	}

	.entry-content .ilovewp-pattern__attractions--1 .wp-block-columns {
		flex-direction: column;
	}

	.ilovewp-pattern__pages--2 .wp-block-columns>.wp-block-column:not(:first-child) {
		margin-inline: 0;
	}

	.ilovewp-pattern__posts .wp-block-query .columns-4 {
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		gap: var(--leonardo-flex-gap-medium);
	}

	.ilovewp-pattern__section--5 .wp-block-columns {
		gap: var(--leonardo-flex-gap-medium);
	}

	.ilovewp-pattern__section--5 .ilovewp-pattern-column__content {
		order: 1;
	}

	.ilovewp-pattern__section--5 .ilovewp-pattern-column__image {
		order: 2;
	}

	.ilovewp-pattern__section--5 .ilovewp-pattern-column__content:first-child .ilovewp-pattern__content {
		margin-inline: 0;
		padding: 0;
	}

	.entry-content .ilovewp-pattern__section--6 .wp-block-columns {
		display: grid;
		grid-template-columns: repeat(2, 1fr);
	}

	.entry-content .ilovewp-pattern__section--6 .ilovewp-pattern-column__content {
		grid-column-start: 1;
		grid-column-end: 3;
	}

	.entry-content .ilovewp-pattern__section--7 .wp-block-columns {
		flex-direction: column;
		gap: var(--leonardo-flex-gap-medium);
	}

	.ilovewp-pattern__section--7 .wp-block-columns > .wp-block-column:not(:first-child):before {
		content: unset;
	}

	.entry-content .ilovewp-pattern__section--8 .wp-block-columns {
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		gap: var(--leonardo-flex-gap-medium);
	}

	.ilovewp-pattern__section--9 .ilovewp-pattern-column__image > figure:before {
		content: unset;
	}

	.entry-content .ilovewp-pattern__pages--1 .wp-block-columns,
	.entry-content .ilovewp-pattern__pages--3 .wp-block-columns {
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		gap: var(--leonardo-flex-gap-large) var(--leonardo-flex-gap-small);
	}

}

@media screen and (max-width: 640px) {

	:root {
		--leonardo-flex-gap-small: 1.25rem;
	}

	/* Font Sizes -------------------------------- */

	:root .has-large-font-size { font-size: 1.125rem !important; line-height: 1.6; }
	:root .has-larger-font-size { font-size: 1.25rem; line-height: 1.6; }
	:root .has-largest-font-size,
	.entry-content h2 { font-size: 1.5rem; line-height: 1.4; }
	:root .has-oversized-font-size { font-size: 2.25rem; line-height: 1.2; }

	.site-section-wrapper {
		padding-inline: var(--leonardo-wrapper-padding-small);
	}

	#site-masthead__arrows {
		border-width: 0;
		padding: 0;
		top: 50%;
		bottom: unset;
		transform: translateY(-50%);
		inset-inline: unset;
		width: 100%;
	}

	.site-masthead__arrows-wrapper {
		background: unset;
	}

	#site-masthead__arrows a {
		color: var(--leonardo-neutral-color-100);
		text-shadow: 0 0 3px var(--leonardo-border-color-black-20);
	}

	#site-masthead-hero .flex-direction-nav {
		justify-content: space-between;
	}
	
	#site-masthead-hero .flex-nav-description {
		display: none;
	}

	#site-mobile-menu .menu li {
		font-size: 1.125rem;
	}

	.entry-content {
		font-size: 1rem;
		line-height: 1.5;
	}

	.entry-content > h2 {
		font-size: 1.75rem;
	}

	.entry-content .gallery-columns-8,
	.entry-content .gallery-columns-7,
	.entry-content .gallery-columns-6,
	.entry-content .gallery-columns-5,
	.entry-content .gallery-columns-4 {
		grid-template-columns: repeat(3, 1fr);
	}

	#respond input[type="submit"] {
		padding: 1rem 1.25rem;
	}

	#site-footer-credits {
		padding-block: var(--leonardo-wrapper-padding-large);
	}

	#site-colophon .site-columns-footer .ilovewp-flex-container {
		display: grid;
		grid-template-columns: repeat(1, 1fr);
		grid-template-rows: repeat(1, 1fr);
		gap: var(--leonardo-flex-gap-large);
	}

	.site-columns-footer--3 .ilovewp-flex-container .site-footer-column-1, 
	.site-columns-footer--5 .ilovewp-flex-container .site-footer-column-1 {
		grid-column-end: 2;
	}

	/* Patterns */

	.entry-content .ilovewp-pattern__contact .wp-block-columns,
	.entry-content .ilovewp-pattern__pages .wp-block-columns {
		flex-direction: column;
		gap: var(--leonardo-flex-gap-medium);
	}

	.ilovewp-pattern__contact--1 .wp-block-columns > .wp-block-column:not(:first-child),
	.ilovewp-pattern__pages--1 .wp-block-columns > .wp-block-column:not(:first-child) {
		margin-inline: 0;
	}

	.ilovewp-pattern__posts .wp-block-query .columns-3,
	.ilovewp-pattern__posts .wp-block-query .columns-4,
	.ilovewp-pattern__posts .wp-block-query .columns-5 {
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		gap: var(--leonardo-flex-gap-medium);
	}

	.entry-content .ilovewp-pattern__section--1 .wp-block-columns,
	.entry-content .ilovewp-pattern__section--2 .wp-block-columns,
	.entry-content .ilovewp-pattern__section--3 .wp-block-columns,
	.entry-content .ilovewp-pattern__section--4 .wp-block-columns,
	.entry-content .ilovewp-pattern__section--5 .wp-block-columns,
	.entry-content .ilovewp-pattern__section--9 .wp-block-columns,
	.entry-content .ilovewp-pattern__section--10 .wp-block-columns {
		flex-direction: column;
	}

	.entry-content .ilovewp-pattern__section--1 .ilovewp-pattern-column__image {
		order: 1;
	}

	.entry-content .ilovewp-pattern__section--1 .ilovewp-pattern-column__content {
		order: 2;
	}

}


@media screen and (max-width: 480px) {
  
	:root {
		--leonardo-flex-gap-large: 1.875rem;
		--leonardo-flex-gap-medium: 1.25rem;
		--leonardo-flex-gap-small: 0.9375rem;
	}

	.ilovewp-flex-container,
	.site-header-layout--1 .ilovewp-flex-container,
	.site-header-layout--2 .ilovewp-flex-container,
	.site-header-layout--3 #site-masthead {
		gap: var(--leonardo-wrapper-padding-small);
	}

	.site-header-layout--1 #site-masthead .ilovewp-flex-container > *,
	.site-header-layout--2 #site-logo-masthead,
	.site-header-layout--3 #site-logo-masthead {
		margin-inline: 0;
		text-align: start;
	}

	.site-header-layout--1 #site-masthead-features {
		padding-inline-start: 0;
	}

	#site-sidebar-column .sidebar-widgets,
	.site-archive-columns--2 .site-archive-posts,
	.site-archive-columns--3 .site-archive-posts,
	.site-archive-columns--4 .site-archive-posts {
		grid-template-columns: repeat(1, 1fr);
	}

	.site-columns-footer--2 .ilovewp-flex-container,
	.site-columns-footer--3 .ilovewp-flex-container,
	.site-columns-footer--4 .ilovewp-flex-container,
	.site-columns-footer--5 .ilovewp-flex-container {
		display: grid;
		grid-template-columns: repeat(1, 1fr);
	}

	.site-columns-footer--3 .ilovewp-flex-container .site-footer-column-1,
	.site-columns-footer--5 .ilovewp-flex-container .site-footer-column-1 {
		grid-column-start: 1;
		grid-column-end: 2;
	}

	.site-post-navigation .site-post-nav-item:not(:first-child) {
		border-top: 1px solid var( --leonardo-border-color-black-10 );;
		margin-inline: 0;
		padding-top: var(--leonardo-wrapper-padding-small);
	}

	.site-post-navigation:after {
		display: none;
	}

	.entry-content .gallery-columns-8,
	.entry-content .gallery-columns-7,
	.entry-content .gallery-columns-6,
	.entry-content .gallery-columns-5,
	.entry-content .gallery-columns-4,
	.entry-content .gallery-columns-3 {
		grid-template-columns: repeat(2, 1fr);
	}

	.ilovewp-pattern__posts .wp-block-query .columns-2,
	.ilovewp-pattern__posts .wp-block-query .columns-3,
	.ilovewp-pattern__posts .wp-block-query .columns-4,
	.ilovewp-pattern__posts .wp-block-query .columns-5 {
		display: grid;
		grid-template-columns: repeat(1, 1fr);
		gap: var(--leonardo-flex-gap-medium);
	}

	.entry-content .ilovewp-pattern .wp-block-gallery:not(.is-style-ilovewp-flexslider) {
		display: grid;
		grid-template-columns: repeat(2, 1fr);
	}

	.entry-content .ilovewp-pattern .wp-block-gallery:not(.is-style-ilovewp-flexslider) figure.wp-block-image:not(#individual-image) {
		width: unset;
	}

	.entry-content .ilovewp-pattern__section--8 .wp-block-columns,
	.entry-content .ilovewp-pattern__pages--1 .wp-block-columns, 
	.entry-content .ilovewp-pattern__pages--3 .wp-block-columns {
		grid-template-columns: repeat(1, 1fr);
	}

	.ilovewp-pattern__section--8 .wp-block-columns > .wp-block-column:not(:first-child):before {
		content: unset;
	}

	.entry-content .ilovewp-pattern__section--6 .wp-block-columns {
		display: grid;
		grid-template-columns: repeat(1, 1fr);
	}

	.entry-content .ilovewp-pattern__section--6 .ilovewp-pattern-column__content {
		grid-column-start: 1;
		grid-column-end: 2;
	}

}

@media screen and (max-width: 380px) {
  
	.site-section-wrapper {
		padding-inline: 1rem;
	}

	.site-header-layout--1 .ilovewp-flex-container, 
	.site-header-layout--2 .ilovewp-flex-container {
		flex-direction: column;
	}

	.site-header-layout--1 #site-masthead .ilovewp-flex-container > *, 
	.site-header-layout--2 #site-logo-masthead {
		text-align: center;
	}

}

@media (prefers-reduced-motion) {
	.js-scroll {
		opacity: 1;
	}
	.scrolled {
		animation: none !important;
	}
	:root .page-with-animations .entry-thumbnail img:hover {
		-webkit-transform: unset !important;
		transform: unset !important;
	}
}