@charset "UTF-8";

/*
Theme Name: Serifi
Theme URI: https://roughpixels.ch/themes/serifi/
Author: Rough Pixels
Author URI: https://roughpixels.ch
Description: For everyone that simply wants a theme that focuses on your writing, Serifi is definitely the theme you need! Minimalist design, very easy to use without clutter, Serifi is made for story writers. 
Tags: blog, one-column, two-columns, left-sidebar, right-sidebar, custom-background, custom-colors, custom-menu, custom-logo, editor-style, featured-images, footer-widgets, rtl-language-support, sticky-post, threaded-comments, translation-ready, theme-options,  block-styles, wide-blocks, full-width-template
Requires at least: 5.3
Tested up to: 6.2
Requires PHP: 5.6
Version: 1.0.7
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: serifi

Serifi (C) 2022 RoughPixels.com
Serifi is distributed under the terms of the GNU GPL.
Use it to make something cool, have fun, and share what you've learned with others.


 TABLE OF CONTENTS
  ==================================================== 
	* Variables
	* Reset

/* VARIABLES
==================================================== */
:root {
	/* Font Family */
	--serifi-font-primary: Merriweather, ‘Times New Roman’, serif, system-ui, -apple-system, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
	--serifi-font-secondary: Cinzel, Georgia, serif;
	--serifi-font-sans-serif: -apple-system, BlinkMacSystemFont, "Helvetica Neue", Helvetica, sans-serif;

	/* Base Colours */
	--serifi-colour-body-bg: #dfe1df;
	--serifi-content-bg-colour: #fff;
	--serifi-colour-page-shadow: rgba(0, 0, 0, 0.10);
	--serifi-colour-primary-text: #333;
	--serifi-colour-secondary-text: #7c7c7c;
	--serifi-colour-white: #fff;
	--serifi-colour-black: #000;

	/* Footer */
	--serifi-colour-footer-text: rgba(255, 255, 255, 0.8);

	/* Accent Colours */
	--serifi-colour-primary: #818f9e;
	--serifi-colour-secondary: #a6924a;
	--serifi-colour-tertiary: #2d283f;

	/* Site Header */
	--serifi-colour-sitetitle: #333;
	--serifi-tagline-colour: #7a7a7a;

	/* Elements */
	--serifi-colour-lines: #ededed;
	--serifi-colour-separator: #000;
	--serifi-colour-caption: #888;

	/* Navigation */
	--serifi-primary-nav-link-colour: #6a6a6a;
	--serifi-primary-nav-bg-hover-colour: #818f9e;
	--serifi-primary-nav-link-hover-colour: #fff;
	--serifi-primary-submenu-bg-colour: #f5f5f5;
	--serifi-primary-submenu-link-colour: #6a6a6a;
	--serifi-primary-submenu-link-hover-colour: #fff;
	--serifi-primary-nav-separator-colour: rgba(0, 0, 0, 0.15);
	--serifi-mobile-nav-lines-colour: #f5f5f5;
	--serifi-pagination-bg: #f5f5f5;
	--serifi-pagination-text: #333;

	/* Labels */
	--serifi-category-label-text-colour: #7c7c7c;

	/* Headings & Titles */
	--serifi-heading-colour: #333;
	--serifi-heading-hover-colour: #818f9e;
	--serifi-archive-prefix-colour: #818f9e;

	/* Widgets */
	--serifi-widget-text: #8f8f8f;

	/* Links */
	--serifi-link-colour: #ab8580;
	--serifi-link-hover-colour: #818f9e;
	--serifi-secondary-link-colour: #818f9e;
	--serifi-secondary-link-hover-colour: #ab8580;

	/* Form Elements */
	--serifi-button-bg-colour: #818f9e;
	--serifi-button-text-colour: #fff;
	--serifi-form-input-bg-colour: #fdfdfd;
	--serifi-form-input-text-colour: #333;
	--serifi-form-input-border-colour: #dedede;
	--serifi-form-placeholder-text-colour: #bababa;
	--serifi-image-placeholder-bg-colour: #f1f1f1;
	--serifi-image-placeholder-icon-colour: #bfbfbf;

	/* Sizing */
	--serifi-logo-size: 300px;

	/* Text Select */
	--serifi-select-text-colour: #fff;
	--serifi-select-text-bg-colour: #818f9e;

	/* Transparency - Opacity */
	--serifi-splash-overlay-opacity: 0.2;
}

/* FONTS
==================================================== */
/* cinzel - variable */
@font-face {
	font-family: 'Cinzel';
	font-display: swap;
	font-style: normal;
	font-weight: 400;
	src: url('./assets/fonts/Cinzel-VariableFont_wght.woff2') format('woff2'),
		/* Super Modern Browsers */
		url('./assets/fonts/Cinzel-VariableFont_wght.woff') format('woff');
	/* Modern Browsers */
}



/* merriweather-regular - latin_cyrillic */
@font-face {
	font-family: 'Merriweather';
	font-display: swap;
	font-style: normal;
	font-weight: 400;
	src: url('./assets/fonts/merriweather-v30-latin_cyrillic-regular.woff2') format('woff2'),
		/* Super Modern Browsers */
		url('./assets/fonts/merriweather-v30-latin_cyrillic-regular.woff') format('woff');
	/* Modern Browsers */
}

/* merriweather-italic - latin_cyrillic */
@font-face {
	font-family: 'Merriweather';
	font-display: swap;
	font-style: italic;
	font-weight: 400;
	src: url('./assets/fonts/merriweather-v30-latin_cyrillic-italic.woff2') format('woff2'),
		/* Super Modern Browsers */
		url('./assets/fonts/merriweather-v30-latin_cyrillic-italic.woff') format('woff');
	/* Modern Browsers */
}

/* BASE
==================================================== */
html {
	font-size: 15px;
}

body {
	background: var(--serifi-colour-body-bg);
	color: var(--serifi-colour-primary-text);
	font-family: var(--serifi-font-primary);
	font-size: 1rem;
	font-weight: 400;
	line-height: 1.8;
	-ms-word-wrap: break-word;
	word-wrap: break-word;
	/* WP alignfull bug fix - removes horizontal scrollbar */
	overflow-x: hidden;
}

* {
	box-sizing: border-box;
}

*::before,
*::after {
	box-sizing: border-box;
}

/* .site {
	overflow: hidden;
} */

/* Screen Readers - WP and Bootstrap 5 */
.screen-reader-text {
	border: 0;
	clip: rect(1px, 1px, 1px, 1px);
	-webkit-clip-path: inset(50%);
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute !important;
	width: 1px;
	word-wrap: normal !important;
	word-break: normal;
}

.skip-link:focus {
	background-color: #fff;
	border-radius: 3px;
	box-shadow: 0 0 2px 2px rgba(255, 0, 0, 1);
	clip: auto !important;
	-webkit-clip-path: none;
	clip-path: none;
	color: #21759b;
	display: block;
	font-size: 0.875rem;
	font-weight: 700;
	height: auto;
	left: 5px;
	line-height: normal;
	padding: 15px 23px 14px;
	text-decoration: none;
	top: 5px;
	width: auto;
	z-index: 100000;
}

/* Do not show the outline on the skip link target. */
#content[tabindex="-1"]:focus {
	outline: 0;
}

#site-title {
	margin: 0;
}

.admin-bar.header-style4 #page,
.admin-bar.header-style5 #page {
	padding-top: 0;
}

.admin-bar.header-style4 #header-wrapper {
	top: 46px;
}

.sticky-header {
	position: -webkit-sticky;
	/* Safari */
	position: sticky;
	top: 0;
}

/* WRAPPERS
==================================================== */
#page {
	background: var(--serifi-content-bg-colour);
	box-shadow: 0 0 3.125rem var(--serifi-colour-page-shadow);
	max-width: 1600px;
	margin: calc(2rem + 1.5vw) auto;
	position: relative;
}

#hero {
	min-height: 130px;
	position: relative;
}

.header-header3 #page {
	margin-top: calc(1rem + 1vw);
}

#site-header {
	border-bottom: 1px solid var(--serifi-colour-lines);
	display: block;
	line-height: 1;
	padding-bottom: calc(1rem + 0.5vw);
	padding-top: calc(1rem + 0.5vw);
	position: absolute;
	width: 100%;
	top: 0;
	min-height: 91px;
	z-index: 100;
}

.header-header2 #site-header,
.header-header2 #primary-navigation {
	display: block;
}

#main,
#hero-details-wrapper {
	margin: auto;
	max-width: 1320px;
}

.template-full #main,
.template-showcase-full #main,
.blog-center #main,
.single-center #main,
.single-banner .site-main .container {
	max-width: 860px;
}

.post-template-default #hero-details-wrapper {
	max-width: 860px;
	margin: auto;
}

#content,
.single.has-post-thumbnail #content {
	padding-bottom: calc(2rem + 2vw);
	padding-top: calc(2rem + 2vw);
}

.single.has-post-thumbnail.single-banner #content,
.has-post-thumbnail #content {
    padding-top: calc(2rem + 1vw);
}
.hero-image.no-post-thumbnail #content,
.archive.hero-image #content {
	padding-top: calc(2rem + 2vw);
}

#site-header,
#wp-header-image,
#banner-sidebar,
#content,
#colophon {
	padding-left: calc(1rem + 2vw);
	padding-right: calc(1rem + 2vw);
}

#colophon {
	background: var(--serifi-colour-tertiary);
	color: var(--serifi-colour-footer-text);
	padding-bottom: calc(1rem + 1vw);
	padding-top: calc(1rem + 1vw);
}

#colophon-inner {
	font-size: 0.75rem;
	text-align: center;
}

#copyright {
	font-family: var(--serifi-font-sans-serif);
	font-size: 0.688rem;
}

/* TYPOGRAPHY & ELEMENTS
   ==================================================== */
p {
	margin: 0 0 1.8rem;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	clear: both;
	font-family: var(--serifi-font-secondary);
	font-weight: 700;
	line-height: 1.4;
	margin: 1.5rem 0 1.375rem;
	text-rendering: optimizeLegibility;
	color: var(--serifi-heading-colour);
}

h3,
h4,
h5 {
	margin: 1.5rem 0 1rem;
}

h6 {
	margin: 1.5rem 0 0.813rem;
}

h1 {
	font-size: 2.375rem;
	line-height: 1.1;
}

h2 {
	font-size: 1.7rem;
	line-height: 1.3;
}

h3 {
	font-size: 1.438rem;
	line-height: 1.5;
}

h4 {
	font-size: 1.25rem;
	line-height: 1.7;
}

h5 {
	font-size: 1.125rem;
	line-height: 1.8;
}

h6 {
	font-size: 1.063rem;
	line-height: 1.8;
}

h1 a,
h2 a,
h3 a,
h4 a,
h5 a,
h6 a {
	color: inherit;
}

.entry-content h1 a,
.entry-content h2 a,
.entry-content h3 a,
.entry-content h4 a,
.entry-content h5 a,
.entry-content h6 a {
    text-decoration: underline;
}

.entry-content .entry-title a {
    text-decoration: none;
}

a,
a:visited {
	color: var(--serifi-colour-secondary);
	text-decoration: none;
}

a:focus,
a:hover {
	color: var(--serifi-link-hover-colour);
}

p a,
p a:visited {
	text-decoration: underline;
}

p a:focus,
p a:hover {
	text-decoration: none;
}

.archive-prefix.colour {
	color: var(--serifi-colour-secondary);
}

/* Edit Links */
.post-edit_post_link .bi {
	margin-right: 0.313rem;
	opacity: 0.6;
}

p .post-edit-link {
	font-size: 0.813rem;
	font-family: var(--serifi-font-sans-serif);
}

p.post-edit_post_link {
	clear: both;
}

/* Widget links */
.widget-area a,
.widget-area a:visited {
	color: inherit;
}

.widget-area a:focus,
.widget-area a:hover {
	color: var(--serifi-link-colour);
}

::selection {
	color: var(--serifi-colour-white);
	background: var(--serifi-colour-secondary);
}

dfn,
cite,
em,
i {
	font-style: italic;
}

code {
	color: #d63384;
	-webkit-box-decoration-break: clone;
	box-decoration-break: clone;
	font-family: consolas, "Liberation Mono", courier, monospace;
	padding: 0 3px;
	white-space: nowrap;
	word-wrap: break-word;
}

code,
pre {
	background-color: #f4f4f4;
}

pre {
	border-left: 6px solid var(--serifi-colour-primary);
	font-size: 1rem;
	line-height: 1.4;
	margin: 0 0 24px;
	max-width: 100%;
	overflow: auto;
	padding: 24px;
	width: 100%;
}

kbd {
	background-color: #212529;
	border-radius: 3px;
	border: 1px solid #b4b4b4;
	/* background-color: #eee; 
   box-shadow: 0 1px 1px rgb(0 0 0 / 20%), 0 2px 0 0 rgb(255 255 255 / 70%) inset; 
   color: #333; */
	color: #fff;
	display: inline-block;
	font-size: 0.85em;
	font-weight: 700;
	line-height: 1;
	padding: 2px 4px;
	white-space: nowrap;
	position: relative;
	bottom: 2px;
}

/* Elements */
hr {
	margin: 2.5rem;
	border: 0;
	border-top: 1px solid var(--serifi-colour-lines);
	opacity: 1;
}

ul,
ol {
	margin: 0 0 1.813rem 1.75rem;
}

ul {
	list-style: disc;
	padding: 0;
}

ol {
	list-style: decimal;
	padding-left: 0;
}

li>ul,
li>ol {
	margin-bottom: 0;
	margin-left: 1.125rem;
}

dl {
	margin: 0 0 1.813rem;
}

dd {
	font-style: italic;
	margin: 0 1rem 1.813rem;
}

/* Blockquotes */
blockquote {
	border: none;
	font-family: var(--serifi-font-sans-serif);
	position: relative;
	margin: 1.8rem auto;
	padding: 1.5rem 0;
	font-size: 1.125rem;
	line-height: 1.4;
	font-style: italic;
	text-align: center;
	max-width: 95%;
}

blockquote p {
	margin: 0;
}

blockquote::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 25%;
	border-top: 1px solid var(--serifi-colour-lines);
}

blockquote::after {
	content: '';
	position: absolute;
	bottom: 0;
	left: 0;
	width: 26%;
	border-bottom: 1px solid var(--serifi-colour-lines);
}

blockquote::before,
blockquote::after {
	left: 0;
	right: 0;
	margin: auto;
}

blockquote cite {
	display: block;
	font-size: 0.688rem;
	opacity: .6;
	padding-right: 1em;
	margin-top: 1.2em;
	font-style: normal;
	font-weight: 400;
	text-transform: uppercase;
	letter-spacing: .04em;
}

/* Tables */

table,
th,
td {
	border: 1px solid rgba(51, 51, 51, 0.15);
}

table {
	border-collapse: separate;
	border-spacing: 0;
	border-width: 1px 0 0 1px;
	margin: 0 0 1.8em;
	table-layout: fixed;
	width: 100%;
}

thead {
	background: var(--serifi-colour-primary);
	color: var(--serifi-colour-white);
	font-family: var(--serifi-font-sans-serif);
	font-size: 1rem;
}

caption,
th,
td {
	font-weight: normal;
}

th {
	border-width: 0 1px 1px 0;
}

td {
	border-width: 0 1px 1px 0;
	font-size: 0.875rem;
}

th,
td {
	padding: 0.313rem 0.5rem;
}

/* Drop cap - borrowed from the block styles */
.has-drop-cap:not(:focus):first-letter,
.has-drop-cap:first-letter {
	color: var(--serifi-colour-secondary);
	float: left;
	font-family: "Times New Roman", serif;
	font-size: 6.5rem;
	line-height: .68;
	font-weight: 700;
	margin: 0.5rem .688rem 0 0;
	text-transform: uppercase;
	font-style: normal;
}

.has-drop-cap::after {
	content: "";
	display: inline-block;
	clear: both;
	padding-top: 14px
}

/* SITE HEADER
   ==================================================== */

.header-header2 #site-branding {
	display: block;
	text-align: center;
}

#site-description {
	color: var(--serifi-tagline-colour);
	font-family: var(--serifi-font-sans-serif);
	font-size: calc(0.75rem + 0.1vw);
	line-height: 1.6;
	letter-spacing: 1px;
	max-width: 600px;
	width: 100%;
	margin: 0.313rem auto 0;
	text-align: center;
	text-transform: capitalize;
}

#site-description,
.header-header2 #site-description {
	text-align: center;
}

.header-header3 #site-description {
	text-align: center;
}

#site-title {
	font-weight: 900;
	font-family: var(--serifi-font-secondary);
	font-size: calc(2rem + 2vw);
	letter-spacing: 1px;
	line-height: 1;
	margin: 0;
	text-align: center;
	text-transform: capitalize;
}

.header-header2 #site-title {
	text-align: center;
}

#site-title a {
	color: var(--serifi-colour-sitetitle);
	text-decoration: none;
}

.header-header3 #site-branding {
	padding: calc(1rem + 1vw) 0 0;
	text-align: center;
}

.header-header3 #site-title {
	text-align: center;
}

.custom-logo-link {
	display: inline-block;
	margin-bottom: 1em;
}

.custom-logo-link:only-child {
	margin: 0;
}

.custom-logo-link img {
	max-width: var(--serifi-logo-size);
	width: 100%;
}

/* Page headers */
.page-header {
	text-align: center;
	max-width: 920px;
	margin: 0 auto 3rem;
}

h1.page-title {
	margin: 0 0 1.25rem;
}

.has-excerpt .page-header {
	margin: 0 auto 1.125rem;
}

.taxonomy-description,
#page-excerpt {
	color: var(--serifi-archive-prefix-colour);
	font-size: 1.063rem;
	line-height: 1.4;
	margin: 0 auto 3.5rem;
	max-width: 95%;
	text-align: center;
}

.taxonomy-description,
#page-excerpt {
	color: var(--serifi-colour-secondary-text);
	opacity: 0.8;
}


/* CONTENT
   ==================================================== */

.hentry {
	margin-bottom: calc(2rem + 2.5vw);
}

.hentry:last-child,
.single .hentry {
	margin-bottom: 0;
}


/* Entry titles */
.page .entry-title,
.entry-title {
	line-height: 1.1;
	margin: 0 0 0.875rem;
}

.page .entry-title {
	font-size: 2.313rem;
}

.entry-title {
	font-size: 2rem;
}

.entry-title a,
.entry-title a:visited {
	color: var(--serifi-heading-colour);
}

.entry-title a:focus,
.entry-title a:hover {
	color: var(--serifi-colour-secondary);
}

/* Post Details */

.post-details {
	list-style: none;
	margin: 0 0 2rem;
	padding: 0;
	font-family: var(--serifi-font-sans-serif);
	text-transform: uppercase;
	font-size: 0.625rem;
	letter-spacing: 2px;
}

.post-details li {
	display: inline-block;
	margin: 0 0.75rem 0 0;
}

.post-details i {
	margin-right: 0.4385rem;
}

.post-details .post-format {
	text-transform: uppercase;
}

.post-details .post-format a,
.post-details .post-format a:visited {
	color: var(--serifi-link-colour);
}

.post-details,
.post-details a,
.post-details a:visited {
	color: var(--serifi-colour-secondary-text);
	opacity: 0.9;
}

.post-details a:focus,
.post-details a:hover {
	color: var(--serifi-secondary-hover-colour);
}

.post-details .post-edit-link,
.post-details .post-edit-link:visited {
	font-weight: 700;
	color: var(--serifi-colour-secondary);
}

.post-details .post-edit-link:focus,
.post-details .post-edit-link:hover,
.post-details .post-format a:focus,
.post-details .post-format a:hover {
	color: var(--serifi-link-hover-colour);
}

.updated:not(.published) {
	display: none;
}

.comments-link {
	font-style: italic;
}

.featured-label {
	background: var(--serifi-colour-secondary);
	border: 1px solid transparent;
	color: var(--serifi-colour-white);
	letter-spacing: 1px;
	text-transform: uppercase;
}

/* Category label */
.featured-label,
.cat-links a {
	border-radius: 0.5rem;
	display: inline-block;
	font-family: var(--serifi-font-sans-serif);
	font-size: 0.688rem;
	font-weight: 400;
	letter-spacing: 0.125rem;
	line-height: 1;
	margin-bottom: 1.25rem;
	padding: 0.5rem 1rem 0.375rem;
}

.cat-links {
	position: relative;
}

.cat-links a,
.cat-links a:visited {
	background: #f3f3f3;
	color: var(--serifi-category-label-text-colour);
	position: relative;
	letter-spacing: 1px;
	text-transform: uppercase;
}

.cat-links a:focus,
.cat-links a:hover {
	opacity: 0.5;
}

/* Post thumbnails */
figure.post-thumbnail {
	margin: 0 0 2.5rem;
	display: inline-block;
	overflow: hidden;
	position: relative;
}

.page .post-thumbnail,
.single .post-thumbnail {
    display: block;
    margin: 0 auto 2.5rem;
    width: 100%;
    text-align: center;
}

figure.post-thumbnail img {
	transition: all 0.3s;
	transform: scale(1);
}

figure.post-thumbnail:hover img {
	transform: scale(1.1);
}

.page figure.post-thumbnail img,
.single figure.post-thumbnail img {
	transform: none;
	width: 100%;
}

.single.single-center figure.post-thumbnail {
    margin-left: -170px;
    margin-right: -170px;
    width: 100vw;
    max-width: 1200px;
}

/* More Link */
p.more-link-wrapper {
	margin-top: -0.5rem;
}

a.more-link {
	display: inline-block;
	font-family: var(--serifi-font-sans-serif);
	font-size: 0.813rem;
	text-decoration: none;
	text-transform: capitalize;
	font-style: italic;
}

a.more-link,
a.more-link:visited {
	color: inherit;
}

a.more-link:focus,
a.more-link:hover {
	color: var(--serifi-colour-primary);
}


.more-link i {
	font-size: 0.875rem;
	position: relative;
	left: 0.25rem;
	top: 1px;
	-webkit-transition: left .1s linear;
	-o-transition: left .1s linear;
	transition: left .1s linear;
}

.more-link:hover i {
	left: 0.375rem;
}

/* Author Bio */
.author-heading {
	font-size: 1rem;
	margin: 0 0 0.5rem;
}

.author-info {
	margin: 100px auto;
}

.author-info {
	clear: both;
	display: flex;
	align-items: start;
	margin: 2.5rem auto;
	padding: 2.5rem 0 0;
}

.author-avatar {
	position: relative;
}

.author-avatar img {
	max-width: 4rem;
	height: auto;
	border-radius: 50%;
}

.author-description {
	margin-left: 2rem;
	margin-top: 0;
	font-size: 0.938rem;
	line-height: 1.65;
}

.author-bio {
	font-size: 0.875rem;
	font-style: italic;
	margin-bottom: 0;
}

.author-link {
	display: block;
	font-size: 0.875rem;
	font-style: italic;
	margin: 0.75rem 0 1rem;
}

.page-header .author-avatar {
	float: none;
	text-align: center;
	width: 100%;
	margin-bottom: 1rem;
}

/* Post Footer */
.single .entry-footer {
	clear: both;
	font-size: 0.875rem;
	margin: 2.5rem auto;
	padding: 2.5rem 0 0;
}

.single .entry-footer .bi {
	margin-right: 0.5rem;
}

.single .entry-footer a {
	color: inherit;
	font-style: italic;
}

.post-cat-links a,
.post-tag-links a {
	opacity: 0.7;
}

/* Comments */
h3.comments-title {
	font-size: 1.25rem;
	margin: 0 0 2.5rem;
}

.comments-area {
	margin: 2.5rem 0 0;
	padding: 2.5rem 0 0;
	clear: both;
}

.comments-inner {
	margin: 0 auto;
}

.comment-list,
.comment-list .children {
	list-style: none;
	margin: 0;
	padding: 0;
}

.comment-list li {
	margin-bottom: 2em;
}

.comment-list .children {
	margin-left: 3em;
	margin-top: 2em;
}

.comment-meta {
	font-size: 1rem;
	line-height: 1.3;
}

.comment-meta a,
.comment-meta a:visited {
	color: initial;
}

.comment-meta a:focus,
.comment-meta a:hover {
	color: var(--serifi-link-hover-colour);
}

span.says {
	display: none;
}

.comment-author {
	margin-bottom: 0.063rem;
	position: relative;
	z-index: 2;
}

.comment-author .avatar {
	height: 2.5rem;
	width: 2.5rem;
	border-radius: 50%;
	float: left;
	margin-right: 1rem;
}

.comment-author .fn {
	font-family: var(--serifi-font-sans-serif);
	font-weight: 500;
}

.bypostauthor .fn::after {
	margin-left: 0.25rem;
	font-size: 0.875rem;
	font-style: italic;
	color: var(--serifi-link-hover-colour);
}

.comment-metadata {
	font-size: 0.813rem;
	font-style: italic;
	opacity: 0.6;
}

.comment-metadata>a:hover {
	color: #414141;
}

.comment-awaiting-moderation {
	margin: 0;
	color: #fb6c31;
}

.comment-awaiting-moderation::before {
	content: "\f06a";
	margin-right: 5px;
}

.comment-content {
	font-size: 0.875rem;
	line-height: 1.8;
	margin: 1rem 0;
}

.comment-content> :last-child {
	margin: 0;
}

.comment-content a,
.comment-edit-link {
	color: var(--serifi-colour-secondary-text);
}

.comment-edit-link::before {
	color: var(--serifi-colour-secondary-text);
	content: "\2013";
	margin-right: 2px;
}

.comment-content a:hover,
.comment-edit-link:hover,
.comment-edit-link::before {
	color: var(--serifi-link-hover-color);
}

.comment-reply-link {
	background: transparent;
	display: inline-block;
	padding: 0.5rem 0.875rem 0.438rem;
	border: 1px solid #dedede;
	color: #777;
	border-radius: 2px;
	font-size: 0.625rem;
	line-height: 1;
	letter-spacing: 1px;
	font-family: var(--serifi-font-sans-serif);
	text-transform: uppercase;
}


.comment-reply-link:focus,
.comment-reply-link:hover {
	background-color: var(--serifi-colour-primary);
	color: var(--serifi-colour-white);
}

.comment-respond {
	margin-top: 3.125rem;
}

.comment-respond:only-child {
	margin-top: 0;
}

.comment-notes .required {
	color: #ff5a3a;
}

.comment-list+.comment-respond,
.comment-navigation+.comment-respond {
	margin-top: 3rem;
}

#cancel-comment-reply-link {
display: inline-block;
    letter-spacing: 0.5px;
    margin: 0 0 0 0.5rem;
    font-style: italic;
    text-transform: capitalize;
    background: #fff;
    border: 1px solid red;
    color: red;
    border-radius: 2px;
    position: relative;
    width: 2rem;
    border-radius: 3px;
    text-align: center;
}


#cancel-comment-reply-link:focus,
#cancel-comment-reply-link:hover {
	background: red;
	color: #fff;
}

.required-field-message {
	margin-left: 0.875rem;
	opacity: 0.6;
}

.comment-notes .required {
	color: #ff5a3a;
}

.comment-notes,
.logged-in-as {
	font-style: italic;
}

.comment-reply-title {
	margin: 0 0 0.5rem;
}

.comment-form p {
	margin-bottom: 20px;
	font-size: 0.813rem;
	display: flex;
	align-items: center;
}

.comment-form p.form-submit {
    margin-bottom: 0;
}

.comment-form> :last-child {
	margin-bottom: 0;
}

li form#commentform {
	margin-bottom: 3rem;
}

.comment-form textarea,
.comment-form input[type="text"],
.comment-form input[type="email"],
.comment-form input[type="url"] {
	width: 100%;
}

.comment-form-cookies-consent,
.akismet_comment_form_privacy_notice {
    margin: 1rem 0;
    font-size: 0.875rem;
    font-style: italic;
}

/* Lines and Borders */
.single .entry-footer, 
.search article:not(:nth-of-type(1)), 
.author-info, 
.comments-area, 
#post-navigation-wrapper, 
#bottom-sidebar {
	border-top: 1px solid var(--serifi-colour-lines);
}

/* FOOTER
   ==================================================== */
#menu-social-menu {
	list-style: none;
	display: flex;
	justify-content: center;
	margin: 0 0 0.5rem;
	padding: 0;
}

#menu-social-menu li {
	margin: 0 0.375rem;
}

#menu-social-menu a {
	background: transparent;
	border: 1px solid var(--serifi-colour-footer-text);
	color: var(--serifi-colour-footer-text);
	font-family: sans-serif;
	font-style: normal;
	letter-spacing: 1px;
	padding: 0.25rem 1.25rem;
	border-radius: 0.5rem;
	text-transform: capitalize;
}

#menu-social-menu a:focus,
#menu-social-menu a:hover {
	background: var(--serifi-colour-secondary);
	border-color: var(--serifi-colour-secondary);
	color: var(--serifi-colour-footer-text);
}

#footer-navigation-wrapper {
	display: flex;
	justify-content: center;
	list-style: none;
	margin: 0;
	padding: 0;
}

#footer-navigation-wrapper>li+li {
	margin-left: 0.5rem;
}

#footer-navigation-wrapper>li+li::before {
	border-radius: 50%;
	content: "";
	display: inline-block;
	vertical-align: middle;
	width: 0.313rem;
	height: 0.313rem;
	background: rgba(250, 250, 250, 0.5);
	margin-right: 0.5rem;
}

#footer-navigation-wrapper a,
#footer-navigation-wrapper a:visited {
	color: var(--serifi-colour-footer-text);
}

/* TRANSITIONS
==================================================== */
a {
	-webkit-transition: height, background, color, border, line-height, opacity;
	-moz-transition: height, background, color, border, line-height, opacity;
	-ms-transition: height, background, color, border, line-height, opacity;
	-o-transition: height, background, color, border, line-height, opacity;
	transition: height, background, color, border, line-height, opacity;
	-webkit-transition-duration: 0.5s;
	-moz-transition-duration: 0.5s;
	-ms-transition-duration: 0.5s;
	-o-transition-duration: 0.5s;
	transition-duration: 0.5s;
}

.main-navigation ul ul {
	-webkit-transition: visibility 0.3s, opacity 0.3s linear;
	transition: visibility 0.3s, opacity 0.3s linear;
}

.primary-navigation .nav-menu .sub-menu,
.primary-navigation .nav-menu .children {
	transition: all 0.2s ease-out;
}

.post-navigation .nav-meta,
.post-navigation .post-title {
	transition: all 0.3s ease-out;
}

a,
input,
select,
textarea,
button {
	transition: all 0.2s ease-out;
}

/* PRIMARY NAVIGATION
   ==================================================== */

.primary-navigation {
	font-family: var(--serifi-font-primary);
	position: relative;
	z-index: 1000;
	text-align: center;
	font-size: 0.875rem;
	text-transform: capitalize;
	letter-spacing: 1px;
	line-height: 1.2;
	background-color: transparent;
}

.primary-navigation a {
	font-style: normal;
}

.primary-navigation ul {
	list-style: none;
	line-height: 1.8;
	margin: 0;
	padding: 0;
}

.primary-navigation ul li {
	position: relative;
}

@media (max-width: 991px) {
	.primary-navigation {
		position: relative;
		text-align: center;
		z-index: 1000;
	}

	.primary-navigation .nav-toggle {
		color: #222;
		display: inline-flex;
		font-weight: 700;
		text-align: center;
		padding: 1rem 1.875rem 0;
		justify-content: center;
		align-items: center;
		background: #fff;
		border-radius: 4px;
		padding: 0.25rem 0.75rem;
		margin: 1rem 0 0;
	}

	#nav-toggle i {
		font-size: 2rem;
		margin: 0 0.25rem 0 0;
	}

	.primary-navigation .menu-container,
	.primary-navigation>.nav-menu {
		display: none;
	}

	.primary-navigation .nav-toggle .svg-icon {
		margin-right: 0.25rem;
	}

	/* Show mobile menu with tab key + enter key to close */
	.primary-navigation:focus-within .menu-container {
		visibility: visible;
		opacity: 1;
		display: block;
	}

	.primary-navigation ul {
		background: var(--serifi-primary-submenu-bg-colour);
		margin: 2rem 0 0;
		padding: 1rem 0;
		text-align: left;
	}

	.primary-navigation ul ul {
		margin: 0;
		padding: 0;
	}

	.primary-navigation .nav-menu li {
		border-top: 1px solid var(--serifi-mobile-nav-lines-colour);
		padding-left: 1rem;
		padding-right: 1rem;
	}

	.primary-navigation .nav-menu li a {
		color: #333;
		display: block;
		padding: 0.5rem 1rem;
	}

	.primary-navigation .nav-menu .sub-menu li a,
	.primary-navigation .nav-menu .children li a {
		padding-left: 2rem;
	}

	.primary-navigation .nav-menu .sub-menu .sub-menu li a,
	.primary-navigation .nav-menu .children .children li a {
		padding-left: 3rem;
	}

	.primary-navigation .nav-menu .sub-menu .sub-menu .sub-menu li a,
	.primary-navigation .nav-menu .children .children .children li a {
		padding-left: 4rem;
	}

	.primary-navigation .nav-menu li a:focus,
	.primary-navigation .nav-menu li a:hover {
		background: var(--serifi-colour-primary);
		color: var(--serifi-colour-white);
		border-radius: 0.5rem;
	}

}

/* NAVIGATION
   ==================================================== */


/* Multi-Page */
.multi-page-links {
	background: #f8f8f8;
	clear: both;
	padding: 0.5rem 0.5rem 0.438rem;
	font-size: 0.75rem;
	font-weight: 700;
	line-height: 1;
}

/* Back to top */
#back-to-top-wrapper {
	margin: 1rem 0;
	text-align: center;
}

#back-to-top {
	color: var(--serifi-link-colour);
	cursor: pointer;
	font-family: var(--serifi-font-sans-serif);
	text-transform: capitalize;
}

#back-to-top:focus,
#back-to-top:hover {
	color: var(--serifi-link-hover-colour);
}


/* Posts & Comments Navigation */
.pagination .nav-links {
	display: flex;
	justify-content: center;
}

.page-numbers,
.page-numbers:visited {
	display: flex;
	align-items: center;
	font-size: 0.75rem;
	justify-content: center;
	width: 3.142857em;
	height: 3.142857em;
	background: var(--serifi-pagination-bg);
	color: var(--serifi-pagination-text);
	border-radius: 10%;
	margin: 0 2px;
}

.page-numbers:focus,
.page-numbers:hover,
.page-numbers.current {
	color: var(--serifi-colour-white);
	background: var(--serifi-colour-secondary);
}

.page-numbers.dots {
	background: none;
}

.page-numbers.dots:focus,
.page-numbers.dots:hover {
	color: inherit;
}

.page-numbers.current {
	font-weight: bold;
}

.post-navigation {
	margin: 0;
	padding: 2.5rem 0;
}

#post-navigation-inner {
    max-width: 1320px;
    margin: auto;
	padding-right: var(--bs-gutter-x, 0.75rem);
    padding-left: var(--bs-gutter-x, 0.75rem);
}

.nav-links .post-title {
    color: var(--serifi-colour-secondary);
}

.post-navigation .nav-links,
.comment-navigation .nav-links,
.image-navigation .nav-links {
	display: flex;
	line-height: 1.4;
}

.post-navigation .nav-previous,
.post-navigation .nav-next,
.comment-navigation .nav-previous,
.comment-navigation .nav-next,
.image-navigation .nav-previous,
.image-navigation .nav-next {
	flex-basis: 50%;
}

.post-navigation .nav-next,
.comment-navigation .nav-next,
.image-navigation .nav-next {
	text-align: right;
}

.post-navigation .nav-links> :only-child,
.comment-navigation .nav-links> :only-child,
.image-navigation .nav-links> :only-child {
	flex-basis: 100%;
}

.post-navigation .nav-meta {
	display: block;
	font-family: var(--serifi-font-sans-serif);
	text-transform: uppercase;
	letter-spacing: 0.063rem;
	font-size: 0.75rem;
	margin-bottom: 0.25rem;
	color: var(--serifi-colour-secondary-text);
	opacity: 0.7;
}

.post-navigation .post-title {
	font-size: 0.938rem;
	opacity: 0.8;
}

.comment-navigation {
	margin-bottom: 1.428571rem;
}

.comment-navigation,
.image-navigation,
.nav-link {
	font-style: italic;
}

.entry-footer+.image-navigation {
	margin-top: 1.8em;
}

/* PAGE - SEARCH
   ==================================================== */
.search .entry-header {
	text-align: left;
}

.search .hentry {
	margin-bottom: 2.5rem;
	padding: 2.5rem 0 0;
}

.search .hentry:nth-of-type(1) {
	padding: 0;
}

.search .entry-content p:last-child {
	margin-bottom: 0;
}

.search .cat-links {
	margin: 0 0 1rem;
}

.search .cat-links a {
	margin: 0 10px 0 0;
}

.search .entry-header {
	margin-bottom: 1.125rem;
}

.search .entry-title {
	font-size: 1.688rem;
	margin: 0 0 0.75rem;
}


/* PAGE - 404
   ==================================================== */
.error-404 {
    text-align: center;
}

#error-type {
    font-size: 4rem;
    font-weight: 700;
}

.error-404 h1::first-letter {
	font-size: 8rem;
	color: var(--serifi-colour-secondary);
}

.error-404 .search-wrap {
    display: inline-block;
}

.error-404 .search-wrap {
    width: 30%;
}

.error-404 .search-wrap label {
    width: 100%;
}


/* PAGE - SHOWCASE FULL TEMPLATE
   ==================================================== */
   #showcase-image {
	   background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
	   position: relative;
	   min-height: 570px;
   }
.template-showcase-full #showcase-image::before {
    content: "";
    background: linear-gradient(180deg, rgba(0,0,0,0.35), transparent);
    background: -moz-linear-gradient(top, rgba(0,0,0,0.65) 0%, rgba(0,0,0,0.63) 1%, rgba(0,0,0,0) 90%, rgba(0,0,0,0) 100%);
    background: -webkit-linear-gradient(top, rgba(0,0,0,0.65) 0%,rgba(0,0,0,0.63) 1%,rgba(0,0,0,0) 90%,rgba(0,0,0,0) 100%);
    background: linear-gradient(to bottom, rgba(0,0,0,0.65) 0%,rgba(0,0,0,0.63) 1%,rgba(0,0,0,0) 90%,rgba(0,0,0,0) 100%);
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#a6000000', endColorstr='#00000000',GradientType=0 );
    top: 0;
    bottom: 0;
    display: block;
    bottom: 0;
    position: absolute;
    left: 0;
    right: 0;
    z-index: 10;
}

/* SIDEBARS and WIDGETS
   ==================================================== */
#announcement-sidebar {
	background: #f8f8f8;
	color: #6b6b26;
	padding: 0.5rem;
	text-align: center;
	font-style: italic;

}

#wp-header-image,
#banner-sidebar {
	margin: 0 auto;
	position: relative;
}

#wp-header-image,
#banner-sidebar,
#banner-sidebar img {
	position: relative;
	top: -2px;
}

#banner-sidebar figure {
	margin: 0;
}

#banner-sidebar figcaption {
	color: #fff;
	background: rgba(0, 0, 0, 0.35);
	border-radius: 1rem;
	bottom: 0;
	display: none;
	font-family: var(--serifi-font-sans-serif);
	font-size: 0.875rem;
	font-style: italic;
	line-height: 1.4;
	padding: 1rem 1.5rem;
	position: absolute;
	right: calc(1rem + 4.5vw);
	margin-bottom: calc(1rem + 1.5vw);
	max-width: 480px;
	text-align: right;
	z-index: 20;
}

#bottom-sidebar {
	margin-top: 0;
	padding-top: calc(2rem + 2vw);
	padding-bottom: calc(2rem + 2vw);
}

/* Widgets */
.widget {
	font-size: 0.875rem;
	line-height: 1.7;
	margin: 0 0 2.5rem;
}

#bottom-sidebar .widget {
    margin-bottom: 2.5rem;
}

.widget,
.widget li a,
.widget li a:visited {
	color: currentColor;
}

.widget li a:focus,
.widget li a:hover {
	color: var(--serifi-colour-secondary);
}

#announcement-sidebar .widget {
	font-size: 0.75rem;
	line-height: 1;
}


.widget-area h2,
.widget-area h3,
.widget-title,
.widget_block h2 {
	font-size: 1.25rem;
	margin-top: 0;
}

.widget-area h2::after,
.widget-area h3::after,
.widget-title::after,
.widget_block h2::after {
	content: "";
	display: block;
	width: 30%;
	margin-top: 20px;
	border-bottom: 1px solid;
	border-color: var(--serifi-colour-lines);
}



.widget-area> :last-child {
	margin: 0;
}

.widget-title {
	margin-bottom: 1em;
}

#bottom-sidebar .widget-title {
	margin-top: 0;
}

.widget_archive ul,
.widget_categories ul,
.widget_links ul,
.widget_meta ul,
.widget_nav_menu ul,
.widget_pages ul,
.widget_recent_comments ul,
.widget_recent_entries ul,
.widget_about_me ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

.widget_archive li,
.widget_categories li,
.widget_links li,
.widget_meta li,
.widget_nav_menu li,
.widget_pages li,
.widget_recent_comments li,
.widget_recent_entries li {
	margin-bottom: 0.688rem;
}

.widget_archive ul li:last-child,
.widget_categories ul li:last-child,
.widget_links ul li:last-child,
.widget_meta ul li:last-child,
.widget_nav_menu ul li:last-child,
.widget_pages ul li:last-child,
.widget_recent_comments ul li:last-child,
.widget_recent_entries ul li:last-child,
.serifi-widget-recent-posts ul li:last-child {
	margin-bottom: 0;
}

.widget .post-date,
.serifi-widget-recent-posts .post-date {
	display: block;
	font-size: 0.857142em;
}

.widget_calendar .calendar_wrap {
	max-width: 450px;
}

.widget_calendar table {
	margin-bottom: 0;
}

.widget_calendar caption {
	font-style: italic;
}

.widget_calendar table th,
.widget_calendar table td {
	text-align: center;
}


.widget_archive a,
.widget_categories a,
.widget_recent_comments a,
.widget_recent_comments .comment-author-link {
	font-style: normal;
}

.widget_categories .children,
.widget_nav_menu .sub-menu {
	margin: 0.714285rem 0 0 1.071428rem;
}

.widget_categories .children a::before,
.widget_nav_menu .sub-menu a::before {
	content: '';
	display: inline-block;
	vertical-align: middle;
	width: 4px;
	height: 4px;
	background: #ccc;
	border-radius: 100%;
	margin-right: 10px;
	margin-top: -2px;
}

.textwidget> :last-child {
	margin-bottom: 0;
}


.tagcloud {
	display: flex;
	align-items: center;
	flex-flow: wrap;
	gap: 0.375rem;
	line-height: 1;
}

.tagcloud a,
.tagcloud a:visited {
	display: inline-block;
	padding: 0.5rem;
	border: 1px solid #e7e7e7;
	color: #b1b1b1;
	margin-right: 0.375rem;
	border-radius: 3px;
}

.tagcloud a {
	font-size: 0.75rem !important;
	margin-right: 0;
	font-family: var(--serifi-font-sans-serif);
}

.tagcloud a:focus,
.tagcloud a:hover {
	border-color: #ccc;
	color: #414141;
}


/* Serifi Recent Posts */
.serifi-post {
	display: flex;
	margin: 0 0 1.5rem;
}

.serifi-recent-posts ul {
    margin: 0;
	padding: 0.5rem 0;
}

.serifi-thumbnail,
.serifi-image-placeholder {
	display: flex;
	flex: 0 0 4.375rem;
	max-width: 4.375rem;
	margin-right: 1.5rem;
}

.serifi-post-image {
	border-radius: 50%;
}

.serifi-image-placeholder {
	border-radius: 50%;
	height: 4.375rem;
	text-align: center;
	background: var(--serifi-image-placeholder-bg-colour);
}

.serifi-recent-posts i {
    display: flex;
    width: 70px;
    align-items: center;
    justify-content: center;
    font-size: 2rem;
    opacity: 0.1;
}

.serifi-title {
	font-family: var(--serifi-colour-primary);
	font-size: 0.875rem;
	line-height: 1.4;
	letter-spacing: normal;
	margin: 0;
}

#bottom-sidebar .serifi-title {
	font-size: 0.875rem;
}

.serifi-content {
	flex: 1;
	font-size: 0.938rem;
}

.serifi-date {
	color: var(--serifi-colour-secondary-text);
	display: block;
	font-size: 0.813rem;
	margin: 0;
	line-height: 1.8;
}

/* MEDIA and IMAGES
   ==================================================== */
img {
	height: auto;
	max-width: 100%;
	vertical-align: middle;
}

/* Classic editor images */
.entry-content img {
	max-width: 100%;
}

/* Make sure embeds and iframes fit their containers. */
embed,
iframe,
object,
video {
	max-width: 100%;
}

/* Image borders */
.author-avatar img,
.comment-author.vcard img {
	outline: 1px solid #d3d3d3;
    padding: 3px;
}

/* Captions */
.entry-content figcaption {
	color: var(--serifi-colour-caption);
	font-family: var(--serifi-font-sans-serif);
	font-size: 0.75rem;
	line-height: 1.6;
	text-align: center;
	margin-top: 1rem;
	margin-bottom: 0;
}

/* ALIGNMENTS
   ==================================================== */
.alignleft,
.alignright,
.aligncenter {
	display: block;
	margin: 1rem auto;
}

.aligncenter.wp-caption img {
	margin: auto;
}

/* GALLERY - Legacy
   ==================================================== */
.gallery {
	display: flex;
	flex-wrap: wrap;
	margin-left: -5px;
	margin-right: -5px;
	margin-bottom: 1.8em;
	text-align: center;
}

.gallery .gallery-item {
	flex-basis: 100%;
	max-width: 100%;
	padding-left: 5px;
	padding-right: 5px;
	margin-bottom: 10px;
}

.gallery-columns-2,
.gallery-columns-3,
.gallery-columns-4 {
	margin-left: -15px;
	margin-right: -15px;
}

.gallery-columns-2 .gallery-item,
.gallery-columns-3 .gallery-item,
.gallery-columns-4 .gallery-item {
	padding-left: 15px;
	padding-right: 15px;
	margin-bottom: 30px;
}

.gallery-columns-2 .gallery-item,
.gallery-columns-3 .gallery-item,
.gallery-columns-4 .gallery-item,
.gallery-columns-5 .gallery-item,
.gallery-columns-6 .gallery-item,
.gallery-columns-7 .gallery-item,
.gallery-columns-8 .gallery-item,
.gallery-columns-9 .gallery-item {
	flex-basis: 100%;
	max-width: 100%;
}

.gallery-icon img {
	margin: 0 auto;
}

.gallery-columns-5>.gallery-item,
.gallery-columns-6>.gallery-item,
.gallery-columns-7>.gallery-item,
.gallery-columns-8>.gallery-item,
.gallery-columns-9>.gallery-item {
	padding-left: 6px;
	padding-right: 6px;
	margin-bottom: 15px;
}

.gallery-columns-5 .gallery-caption,
.gallery-columns-6 .gallery-caption,
.gallery-columns-7 .gallery-caption,
.gallery-columns-8 .gallery-caption,
.gallery-columns-9 .gallery-caption {
	display: none;
}

.gallery-caption {
	font-size: 0.857142rem;
	line-height: 1.5;
	padding: 0.833333em 0 0;
}

/* PLUGINS
   ==================================================== */
.featherlight .featherlight-content .caption {
	margin: 0.625rem;
}

/* Contact form 7 */
#contact-form>div {
    margin-bottom: 2rem;
	position: relative;
}

#contact-form .contact-spacer {
    margin-bottom: 0;
}

#contact-form input[type=text],
#contact-form input[type=email],
#contact-form textarea {
	background: transparent;
    border: none;
	padding: 16px 12px 16px 46px;
	letter-spacing: 0.75px;
    line-height: 1.5;
	position: relative;
}
#contact-form textarea {
    line-height: 1.8;
}
#contact-form .contact-name-field .wpcf7-form-control-wrap::before,
#contact-form .contact-email-field .wpcf7-form-control-wrap::before,
#contact-form .contact-subject-field .wpcf7-form-control-wrap::before,
#contact-form .contact-message-field .wpcf7-form-control-wrap::before {
	content: '\F4E1';
    font-family: Bootstrap-icons;
    display: block;
    font-size: 1.375rem;
	opacity: 0.8;
    position: absolute;
    top: -9px;
    left: 10px;
    z-index: 2;
}

#contact-form .contact-name-field .wpcf7-form-control-wrap::before {
	content: '\F4E1';
}

#contact-form .contact-email-field .wpcf7-form-control-wrap::before {
	content: '\F32F';
}

#contact-form .contact-subject-field .wpcf7-form-control-wrap::before {
	content: '\F431';
}

#contact-form .contact-message-field .wpcf7-form-control-wrap::before {
	content: '\F4CB';
	top: -1px;
}



.input-line {
    display: block;
    height: 1px;
    width: 100%;
    position: relative;
    background-color: rgba(0,0,0,0.1);
    -webkit-transition: all .4s ease;
    -ms-transition: all .4s ease;
    transition: all .4s ease;
    z-index: 1;
    margin-top: -1px;
}

.input-line:before {
    content: "";
    display: block;
    width: 0;
    height: 1px;
    position: absolute;
    left: 0;
    top: 0;
    z-index: 1;
    background-color: rgba(0,0,0,0.1);
    -webkit-transition: all .4s ease;
    -ms-transition: all .4s ease;
    transition: all .4s ease;
}

.contact-name-field:hover .input-line::before,
.contact-email-field:hover .input-line::before,
.contact-subject-field:hover .input-line::before,
.contact-message-field:hover .input-line::before {
    background-color: rgba(0,0,0,1);
    width: 100%;
}

.wpcf7 .wpcf7-spinner, 
div.wpcf7 .ajax-loader {
	background-color: var(--serifi-button-bg-colour);
    display: inline-block;
	opacity: 1;
    padding: 0;
    margin: 0 0 0 10px;
    vertical-align: middle;
    line-height: 0!important;
}

div.wpcf7  .wpcf7-spinner, 
div.wpcf7  .ajax-loader {
    display: inline-block;
    padding: 0;
    margin: 0 0 0 15px;
    vertical-align: middle;
    line-height: 1;
}

.wpcf7-spinner::before {
    content: '';
    position: absolute;
    background-color: #ffffff;
    top: 4px;
    left: 4px;
    width: 6px;
    height: 6px;
    border: none;
    border-radius: 100%;
    transform-origin: 8px 8px;
    animation-name: spin;
    animation-duration: 1000ms;
    animation-timing-function: linear;
    animation-iteration-count: infinite;
}

.wpcf7 .wpcf7-spinner:before, 
.wpcf7 .ajax-loader:before {
    font-size: 14px;
    text-align: center;
    vertical-align: middle;
    display: inline-block;
    -webkit-animation: spin 2s infinite linear;
    -ms-animation: spin 2s infinite linear;
    animation: spin 2s infinite linear;
}

.contact-notice-field {
	color: var(--serifi-colour-secondary-text);
    font-size: 0.875rem;
    font-style: italic;
    padding: 0;
}

.contact-notice-field .wpcf7-form-control-wrap {    
margin-top: 2px;
    display: block;
	line-height: 1;
}

input[type="submit"].contact-send {
    background-color: var(--serifi-colour-secondary);
}

.wpcf7-not-valid-tip {
    color: #dc3232;
    font-size: 0.875rem;
    font-style: italic;
    padding-left: 12px;
}

.wpcf7 form.invalid .wpcf7-response-output, 
.wpcf7 form.unaccepted .wpcf7-response-output, 
.wpcf7 form.payment-required .wpcf7-response-output {
    border-color: #ffb900;
    border-color: #dc3232;
    border-radius: 0.5rem;
    color: #dc3232;
    font-size: 0.875rem;
    line-height: 1;
    padding: 0.5rem;
    font-style: italic;
}

/* FORMS
   ==================================================== */
button,
input,
textarea,
select {
	border-radius: 0.5rem;
	margin: 0;
	max-width: 100%;
	vertical-align: baseline;
	font-size: 0.8rem;
	font-weight: 400;
}

button,
input {
	line-height: normal;
}

input,
textarea,
select {
	background: var(--serifi-form-input-bg-colour);
	border: 1px solid var(--serifi-form-input-border-colour);
	color: var(--serifi-form-input-text-colour);
}

input:focus,
textarea:focus,
select:focus {
	background: var(--serifi-colour-white);
	border: 1px solid rgba(30, 30, 30, 0.23);
}

input:focus {
	outline: 2px solid rgba(30, 30, 30, 0.5);
}

button[disabled],
input[disabled],
select[disabled],
textarea[disabled] {
	cursor: default;
	opacity: 0.5;
}

button,
a.button,
a.button:visited,
.button a,
.button a:visited,
input[type="button"],
input[type="reset"],
input[type="submit"] {
	background-color: var(--serifi-colour-primary);
	border-radius: 0.5rem;
	color: var(--serifi-colour-white);
	border: none;
	cursor: pointer;
	display: inline-block;
	padding: 0.813rem 2rem 0.75rem;
	font-family: var(--serifi-font-sans-serif);
	font-size: 0.75rem;
	font-weight: 500;
	line-height: 1.2;
	text-transform: uppercase;
	text-decoration: none;
	letter-spacing: 0.125rem;
}
button:focus,
a.button:focus,
.button a:focus,
input[type="button"]:focus,
input[type="reset"]:focus,
input[type="submit"]:focus,
button:hover,
.button a:hover,
a.button:hover,
input[type="button"]:hover,
input[type="reset"]:hover,
input[type="submit"]:hover {
	outline: 0;
	opacity: 0.7;
}

input[type="search"] {
	-webkit-appearance: textfield;
}

input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration {
	-webkit-appearance: none;
}

button::-moz-focus-inner,
input::-moz-focus-inner {
	border: 0;
	padding: 0;
}

input[type="text"],
input[type="email"],
input[type="url"],
input[type="password"],
input[type="search"],
textarea {
	padding: 0.75rem;
}

textarea {
	overflow: auto;
	vertical-align: top;
}

input[type="text"]:focus,
input[type="email"]:focus,
input[type="url"]:focus,
input[type="password"]:focus,
input[type="search"]:focus,
textarea:focus,
select:focus {
	outline: 0;
}

label {
	cursor: pointer;
	display: flex;
}

.post-password-form {
	font-size: 1rem;
}

.post-password-form> :last-child {
	margin-bottom: 0;
}

.post-password-form label {
	color: var(--secondary-text-color);
	font-size: 0.813rem;
}

.post-password-form input[type="password"] {
	width: 11.875rem;
	margin-left: 0.625rem;
}

input[type="checkbox"],
input[type="radio"] {
	padding: 0;
	margin-right: 0.5rem;
}

::placeholder {
	color: var(--serifi-form-placeholder-text-colour);
	font-style: italic;
	opacity: 1;
}



/* SEARCH OVERLAY
   ==================================================== */
.search-toggle {
	position: absolute;
	top: calc(1rem + 1.125vw);
	right: 2.5rem;
	z-index: 1000;
}

.search-toggle {
	color: var(--serifi-colour-white);
	position: absolute;
	top: 0;
	right: 0;
	z-index: 1000;
	background: var(--serifi-colour-secondary);
	padding: 1rem 0.25rem 0.5rem 1.25rem;
	border-radius: 0 0 0 100%;
}

.search-toggle,
.search-toggle:visited {
	color: var(--serifi-search-icon-colour);
}

.search-toggle:focus,
.search-toggle:hover {
	opacity: 0.7;
}

#search-toggle .bi-search {
	color: #fff;
	right: 0.125rem;
	top: -0.375rem;
	position: relative;
}

.search-modal {
	align-items: center;
	background: rgba(0, 0, 0, 0.87);
	bottom: 0;
	display: flex;
	justify-content: center;
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	opacity: 0;
	transition: all 0.3s ease-out;
	visibility: hidden;
	z-index: 1100;
}

.admin-bar .search-modal {
	top: 32px;
}

.search-open .search-modal {
	visibility: visible;
	opacity: 1;
}



.close-search-modal {
	position: absolute;
	top: 85px;
	right: auto;
	left: auto;
	display: flex;
	justify-content: center;
	align-items: center;
	z-index: 1200;
}

.close-search-modal .bi {
	color: #fff;
	font-size: 2.5rem;
}

.close-search-modal .bi:hover {
	color: var(--serifi-colour-primary);
}

.search-modal .search-form {
	width: 900px;
	max-width: 80%;
}

.search-modal .search-field {
	background: #eaeaea;
	border: none;
	border: 1px solid #3e3e3e;
	font-size: 1.25rem;
	color: #333;
	padding: 0.75rem;
}

.search-modal .search-field:focus {
	background: #fff;
	border: 1px solid #999;
}

.search-modal .search-form .search-submit {
	margin-top: -0.625rem;
	color: #bbb;
	font-size: 1.25rem;
}

.search-modal .search-form .search-submit:hover {
	color: #fff;
}

.search-form .search-wrap {
	position: relative;
}

.search-form .search-field {
	display: block;
	width: 100%;
	-webkit-appearance: none;
}

.search-form .search-submit {
	position: absolute;
    top: 50%;
    right: 0;
    margin-top: -1.313rem;
    padding: 0;
    color: #fff;
    font-size: 1rem;
    line-height: 1;
    height: 43px;
    width: 43px;
    border-radius: 0 0.5rem 0.5rem 0;
}

.search-form .search-submit:hover {
	color: #111;
}

.search-submit .svg-icon {
	color: #333;
	margin: 3px 0 0;
}

.search-open .search-wrap label {
    display: flex;
}


/* SEARCH MODAL W3
   ==================================================== */
.hidden {
  display: none;
}

[role="alertdialog"],
[role="dialog"] {
  box-sizing: border-box;
  padding: 15px;
  border: 1px solid #000;
  background-color: #fff;
  min-height: 100vh;
}

@media screen and (min-width: 640px) {
  [role="alertdialog"],
  [role="dialog"] {
	background: rgb(0 0 0 / 30%);
    position: absolute;
    min-width: calc(640px - (15px * 2));
    box-shadow: 0 19px 38px rgb(0 0 0 / 12%), 0 15px 12px rgb(0 0 0 / 22%);
    display: flex;
    align-items: center;
    left: 0;
    right: 0;
    top: 0;
    margin: auto;
    bottom: 0;
}

.dialog_label {
  text-align: center;
}

.dialog_form {
	display: block;
	padding: 2rem;
    background: #fff;
    width: 30%;
    margin: auto;
}

.dialog_form_item {
  margin: 10px 0;
  font-size: 0;
}

.dialog_form_actions {
  text-align: right;
  padding: 0 20px 20px;
}

.dialog_close_button {
  float: right;
  position: absolute;
  top: 10px;
  left: 92%;
  height: 25px;
}

.dialog_close_button img {
  border: 0;
}


/* native <dialog> element uses the ::backdrop pseudo-element */

/* dialog::backdrop, */
.dialog-backdrop {
	display: none;
    background: transparent;
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 999;
}

@media screen and (min-width: 640px) {
  .dialog-backdrop {
    background: rgb(0 0 0 / 80%);
  }
}

.dialog-backdrop.active {
    display: flex;
display: grid;	
    justify-content: center;
}

.no-scroll {
  overflow-y: auto !important;
}

/* this is added to the body when a dialog is open */
.has-dialog {
  overflow: hidden;
}

/* BREAK POINTS
   ==================================================== */
/* Small devices (landscape phones, 576px and up) */
@media (min-width: 576px) {

	.gallery-columns-2 .gallery-item,
	.gallery-columns-3 .gallery-item,
	.gallery-columns-4 .gallery-item,
	.gallery-columns-5 .gallery-item,
	.gallery-columns-6 .gallery-item,
	.gallery-columns-7 .gallery-item,
	.gallery-columns-8 .gallery-item,
	.gallery-columns-9 .gallery-item {
		flex-basis: 50%;
		max-width: 50%;
	}
}

/* Medium devices (tablets, 768px and up) */
@media (min-width: 768px) {
	html {
		font-size: 16px;
	}

	blockquote {
		line-height: 1.3;
	}

	.gallery-columns-3 .gallery-item,
	.gallery-columns-4 .gallery-item,
	.gallery-columns-5 .gallery-item,
	.gallery-columns-6 .gallery-item,
	.gallery-columns-7 .gallery-item,
	.gallery-columns-8 .gallery-item,
	.gallery-columns-9 .gallery-item {
		flex-basis: 33.3333333333%;
		max-width: 33.3333333333%;
	}

	.gallery-item figcaption,
	#banner-sidebar figcaption {
		display: inline-block;
	}

}

/* Large devices (desktops, 992px and up) */
@media (min-width: 992px) {

	#hero {
		min-height: 95px;
	}

	#site-header {
		display: flex;
	}

	#site-branding {
		left: 0;
		order: 1;
	}

	#site-title,
	#site-description {
		text-align: left;
	}

	.taxonomy-description,
	#page-excerpt {
		max-width: 90%;
	}

	.primary-navigation .menu-container,
	.primary-navigation>.nav-menu {
		display: block !important;
	}

	.primary-navigation .nav-menu>li,
	.primary-navigation>.nav-menu>ul>li {
		display: inline-block;
	}

	.primary-navigation {
		background: transparent;
		align-items: center;
		display: flex;
		order: 2;
		flex: 1;
		flex-grow: 1;
		justify-content: right;
		padding: 0 0 0 2rem;
		/* padding: 0 2rem; */
	}

	.header-header2 #primary-navigation {
		margin: 1rem 2rem 0;
	}

	.header-header3 #primary-navigation {
		justify-content: center;
	}

	.template-showcase-full.page.header-image .primary-navigation .nav-menu > li > a,
	.primary-navigation .nav-menu>li>a,
	.primary-navigation>.nav-menu>ul>li>a {
		padding: 0.125rem 0.75rem;
		vertical-align: middle;
		color: var(--serifi-primary-nav-link-colour);
	}

	.template-showcase-full.page.header-image .primary-navigation .nav-menu li  a:focus,
	.template-showcase-full.page.header-image .primary-navigation .nav-menu li  a:hover,
	.primary-navigation .nav-menu li a:focus,
	.primary-navigation .nav-menu li a:hover {
		background: var(--serifi-primary-nav-bg-hover-colour);
		border-radius: 0.25rem;
		color: var(--serifi-primary-nav-link-hover-colour);
	}

	.primary-navigation .nav-menu .sub-menu,
	.primary-navigation .nav-menu .children {
		background: #fff;
		border-bottom: 4px solid var(--serifi-primary-nav-bg-hover-colour);
		border-radius: 0 0 0.5rem 0.5rem;
		box-shadow: 8px 10px 12px 0px rgba(0, 0, 0, 0.1);
		position: absolute;
		top: 100%;
		left: 0;
		padding: 1.25rem 0.5rem;
		margin-top: 40px;
		text-align: left;
		visibility: hidden;
		width: 15.25rem;
		text-transform: capitalize;
		opacity: 0;
		line-height: 1.2;
		letter-spacing: normal;
		z-index: 1000;
	}

	.primary-navigation .nav-menu .sub-menu::before,
	.primary-navigation .nav-menu .children::before {
		content: "";
		position: absolute;
		top: -10px;
		left: 0;
		height: 10px;
		width: 100%;
	}

	.primary-navigation .nav-menu .sub-menu li,
	.primary-navigation .nav-menu .children li {
		margin: 0;
	}

	.primary-navigation .nav-menu li:focus>.sub-menu,
	.primary-navigation .nav-menu li:focus>.children,
	.primary-navigation .nav-menu li:hover>.sub-menu,
	.primary-navigation .nav-menu li:hover>.children {
		visibility: visible;
		opacity: 1;
		margin-top: 10px;
		z-index: 1000;
	}

	.primary-navigation .nav-menu .sub-menu a,
	.primary-navigation .nav-menu .children a {
		display: block;
		padding: 0.5rem 1.25rem;
		color: var(--serifi-primary-submenu-link-colour);
	}

	.primary-navigation .nav-menu .sub-menu a:hover,
	.primary-navigation .nav-menu .children a:hover {
		color: var(--serifi-primary-submenu-link-hover-colour);
	}

	/* Floats the second level to the right */
	.primary-navigation .nav-menu .sub-menu li>.sub-menu,
	.primary-navigation .nav-menu .children li>.children {
		top: -1.25em;
		left: 100%;
		margin-left: 1.063rem;
	}

	/* Floats the second levels to the left */
	.primary-navigation .nav-menu .sub-menu li>.sub-menu,
	.primary-navigation .nav-menu .children li>.children {
		top: -1.25em;
		right: 100%;
		left: auto;
		margin-left: auto;
		margin-right: 1.063rem;
		margin-right: -0.25rem;
	}



	.primary-navigation .nav-menu .sub-menu li:hover>.sub-menu,
	.primary-navigation .nav-menu .children li:hover>.children {
		margin-top: 0;
	}

	.primary-navigation .nav-menu .sub-menu li>.sub-menu::before,
	.primary-navigation .nav-menu .children li>.children::before {
		content: "";
		position: absolute;
		top: 0;
		height: 100%;
		width: 1px;
	}

	.primary-navigation .nav-menu .sub-menu li>.sub-menu::before,
	.primary-navigation .nav-menu .children li>.children::before {
		left: -1px;
	}

	/* Show submenu with tab key */
	.primary-navigation .nav-menu li:focus-within>.sub-menu,
	.primary-navigation .nav-menu li:focus-within>.children {
		visibility: visible;
		opacity: 1;
		margin-top: 10px;
	}

	.nav-toggle {
		display: none;
	}

	#bottom-sidebar .widget-area > :last-child {
		margin-bottom: 0;
	}

	.sidebar-left {
		padding-right: 3rem;
	}

	.sidebar-right {
		padding-left: 3rem;
	}
	
	blockquote {
		text-align: left;
		max-width: 85%;
	}

	.gallery-columns-4 .gallery-item {
		flex-basis: 25%;
		max-width: 25%;
	}
}

/* X-Large devices (large desktops, 1200px and up) */
@media (min-width: 1200px) {
	html {
		font-size: 17px;
	}

	.taxonomy-description,
	#page-excerpt {
		max-width: 80%;
	}

	.alignleft,
	.alignright {
		display: inline;
		max-width: 320px;
	}

	.alignleft {
		float: left;
		margin: 0.688rem 3rem 3rem 0;
	}

	.alignright {
		float: right;
		margin: 0.688rem 0 3rem 3rem;
	}

	.template-full .alignleft {
		float: left;
		margin: 0.688rem 3rem 3rem -3rem;
	}

	.template-full .alignright {
		float: right;
		margin: 0.688rem -3rem 3rem 3rem;
	}

	blockquote.alignleft {
		text-align: right;
	}

	blockquote.alignleft::before,
	blockquote.alignleft::after {
		left: auto;
		right: 0;
	}

	blockquote::before,
	blockquote::after {
		left: 0;
		right: auto;
		margin: auto;
	}

	.gallery-columns-5 .gallery-item {
		flex-basis: 20%;
		max-width: 20%;
	}

	.gallery-columns-6 .gallery-item {
		flex-basis: 16.66666666%;
		max-width: 16.6666666%;
	}

	.gallery-columns-7 .gallery-item {
		flex-basis: 14.2857142%;
		max-width: 14.2857142%;
	}

	.gallery-columns-8 .gallery-item {
		flex-basis: 12.5%;
		max-width: 12.5%;
	}

	.gallery-columns-9 .gallery-item {
		flex-basis: 11.111111%;
		max-width: 11.111111%;
	}

}

/* XX-Large devices (larger desktops, 1400px and up) */
@media (min-width: 1400px) {
	html {
		font-size: 18px;
	}
}

/* XX-Large devices (larger desktops, 1920px and up) */
@media (min-width: 1920px) {}

/* XX-Large devices (larger desktops, 2500px and up) */
@media (min-width: 2500px) {
	html {
		font-size: 19px;
	}
}