/*
Theme Name: Contento
Theme URI: https://ranchoelcontento.com/
Description: Modern successor of the FlexiThemes "iTravel" theme for Rancho el Contento. Same look, rebuilt without the outdated Themater framework: PHP 8.3 ready, current WordPress APIs, Customizer settings, self-hosted fonts, no jQuery, responsive navigation and an accessible slider. Imports the iTravel settings on activation.
Author: Rancho el Contento
Version: 2.0.3
Requires at least: 6.5
Tested up to: 7.1
Requires PHP: 8.1
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: contento
Tags: two-columns, right-sidebar, custom-logo, custom-background, custom-menu, featured-images, threaded-comments, translation-ready, blog
*/

/* INDEX:
	=FONTS
	=RESET & BASE
	=LAYOUT
	=HEADER
	=MENUS
	=POST
	=WOOCOMMERCE
	=SITEMAP
	=CONTACT FORM
	=SLIDER
	=PAGINATION
	=FOOTER
	=WIDGETS
	=COMMENTS
	=ACCESSIBILITY
	=RESPONSIVE
*/

/* =FONTS
-------------------------------------------------------------- */

@font-face {
	font-family: "Oswald";
	font-style: normal;
	font-weight: 200 700;
	font-display: swap;
	src: url(assets/fonts/oswald-latin-ext.woff2) format("woff2");
	unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
	font-family: "Oswald";
	font-style: normal;
	font-weight: 200 700;
	font-display: swap;
	src: url(assets/fonts/oswald-latin.woff2) format("woff2");
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

:root {
	--c-primary: #035068;
	--c-primary-dark: #024f67;
	--c-link: #065168;
	--c-link-hover: #067091;
	--c-accent: #f7af03;
	--c-accent-dark: #e8a504;
	--c-text: #555;
	--c-meta: #064d64;
	--c-border: #b3deeb;
	--c-bg: #fcf9f2;
	--f-heading: "Oswald", "Arial Narrow", sans-serif;
	--f-body: Arial, Helvetica, sans-serif;
}

/* =RESET & BASE
-------------------------------------------------------------- */

*, *::before, *::after {
	box-sizing: border-box;
}

html, body, div, span, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, img, ol, ul, li, dl, dt, dd, form, fieldset, label, legend, table, caption,
tbody, tfoot, thead, tr, th, td, article, aside, figure, figcaption, footer,
header, main, nav, section {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	vertical-align: baseline;
}

article, aside, figcaption, figure, footer, header, main, nav, section {
	display: block;
}

body {
	background-color: var(--c-bg);
	color: var(--c-text);
	font-family: var(--f-body);
	font-size: 13px;
	line-height: 1.5;
	-webkit-text-size-adjust: 100%;
}

a {
	color: var(--c-link);
	text-decoration: underline;
}

a:hover, a:focus {
	color: var(--c-link-hover);
	text-decoration: none;
}

h1, h2, h3, h4, h5, h6 {
	font-weight: normal;
	margin-bottom: 16px;
	line-height: 1.1;
}

h1 { font-size: 40px; }
h2 { font-size: 30px; }
h3 { font-size: 20px; }
h4 { font-size: 16px; }
h5 { font-size: 14px; }
h6 { font-size: 12px; }

p { margin: 0 0 20px 0; }

table {
	border-collapse: collapse;
	border-spacing: 0;
	margin-bottom: 20px;
	width: 100%;
}

th { font-weight: bold; }
th, td, caption { padding: 4px 10px 4px 5px; }

ul, ol {
	margin: 0 20px 20px 0;
	padding-left: 40px;
}

ul { list-style-type: disc; }
ol { list-style-type: decimal; }
li ul, li ol { margin: 0; }

dl { margin: 0 0 20px 0; }
dl dt { font-weight: bold; }
dd { margin-left: 20px; }

blockquote {
	overflow: hidden;
	margin: 20px;
	padding-left: 9px;
	color: #666;
	font-style: italic;
	border-left: 3px solid #cadae7;
}

pre {
	margin: 20px 0;
	overflow: auto;
	white-space: pre;
}

pre, code, kbd, tt {
	font: 13px/18px "Andale Mono", "Lucida Console", monospace;
}

img, embed, object, video, iframe {
	max-width: 100%;
}

img {
	height: auto;
}

input, textarea, select, button {
	font: inherit;
}

.clearfix::after,
#container::after, #header::after, #main::after, #main-fullwidth::after, #footer::after {
	content: "";
	display: table;
	clear: both;
}

.clear { clear: both; }

/* WordPress core classes */

.alignleft { float: left; }
.alignright { float: right; }

.aligncenter, div.aligncenter {
	display: block;
	margin-left: auto;
	margin-right: auto;
}

.entry img.alignleft, .entry figure.alignleft { margin: 0 10px 10px 0; }
.entry img.alignright, .entry figure.alignright { margin: 0 0 10px 10px; }
.entry img.aligncenter { margin-bottom: 10px; }

.wp-caption {
	max-width: 100%;
	margin: 10px;
	padding-top: 4px;
	text-align: center;
	background: #eee;
	border: 1px solid #ddd;
	border-radius: 3px;
}

.wp-caption img { margin: 0; padding: 0; border: 0; }

.wp-caption p.wp-caption-text,
.wp-element-caption {
	margin: 0;
	padding: 0 4px 5px;
	font-size: 11px;
	line-height: 17px;
}

.entry .wp-block-image,
.entry .wp-block-gallery,
.entry .wp-block-embed {
	margin-bottom: 20px;
}

.entry .alignwide,
.entry .alignfull {
	clear: both;
}

.sticky {}
.gallery-caption {}
.bypostauthor {}

.error,
.message {
	margin: 0 0 10px 0;
	padding: 8px;
	color: #fff;
	font-size: 12px;
	font-weight: bold;
	text-align: center;
}

.error { background: #c00; }
.message { background: #2e7d32; }

/* =LAYOUT
-------------------------------------------------------------- */

#container {
	width: 100%;
	max-width: 960px;
	margin: 0 auto;
}

#main,
#main-fullwidth {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	gap: 0 15px;
	padding: 15px;
	background: #fff;
}

#main-fullwidth #content,
#main > .fp-slider {
	flex: 1 1 100%;
	width: 100%;
}

#content {
	flex: 1 1 615px;
	min-width: 0;
	overflow: hidden;
}

#sidebar-primary {
	flex: 0 0 300px;
	overflow: hidden;
	border-left: 1px solid var(--c-border);
}

/* =HEADER
-------------------------------------------------------------- */

.top-bar {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 10px;
}

#header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 15px;
	min-height: 113px;
	padding: 27px 0 26px 0;
}

.logo {
	margin: 2px 0;
}

.logo img {
	display: block;
	max-width: 100%;
	height: auto;
}

.logo .site_title {
	margin: 0;
	padding: 0;
	font-family: var(--f-body);
	font-size: 48px;
	font-weight: bold;
	line-height: 40px;
}

.logo .site_title a,
.logo .site_title a:hover {
	color: #085c76;
	text-decoration: none;
}

.logo .site_description {
	margin: 4px 0 0;
	padding: 0;
	color: var(--c-accent);
	font-family: var(--f-body);
	font-size: 14px;
	line-height: 14px;
}

#top-social-profiles {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-end;
	gap: 6px;
	padding-top: 10px;
	text-align: right;
}

#top-social-profiles img {
	display: block;
	width: 32px;
	height: 32px;
	transition: opacity .2s;
}

#top-social-profiles a:hover img,
#top-social-profiles a:focus img {
	opacity: .8;
}

/* =MENUS
-------------------------------------------------------------- */

.menus,
.menus ul {
	margin: 0;
	padding: 0;
	list-style: none;
	line-height: 1;
}

.menus li {
	position: relative;
	float: left;
	list-style: none;
}

.menus a {
	display: block;
	position: relative;
}

.menus ul {
	position: absolute;
	top: 100%;
	left: -999em;
	z-index: 99;
	min-width: 180px;
}

.menus ul li {
	float: none;
	width: 100%;
}

.menus ul ul {
	top: 0;
}

.menus li:hover > ul,
.menus li:focus-within > ul,
.menus li.is-open > ul {
	left: 0;
}

.menus ul li:hover > ul,
.menus ul li:focus-within > ul,
.menus ul li.is-open > ul {
	left: 100%;
}

.menu-toggle,
.submenu-toggle {
	display: none;
}

/* Drop-down indicator */
.menus .menu-item-has-children > a::after,
.menus .page_item_has_children > a::after {
	content: "";
	display: inline-block;
	margin-left: 6px;
	border: 4px solid transparent;
	border-top-color: currentColor;
	border-bottom: 0;
	vertical-align: middle;
}

.menus ul .menu-item-has-children > a::after,
.menus ul .page_item_has_children > a::after {
	border: 4px solid transparent;
	border-left-color: currentColor;
	border-right: 0;
}

/* Menu Primary
----------------------------*/

.menu-primary-container {
	position: relative;
	z-index: 400;
	margin-top: 10px;
	min-height: 34px;
}

.menu-primary li a {
	padding: 11px 15px;
	color: #03526a;
	font-family: var(--f-heading);
	font-size: 12px;
	font-weight: normal;
	text-decoration: none;
	text-transform: uppercase;
	text-shadow: 0 1px 0 #fff;
}

.menu-primary li a:hover, .menu-primary li a:focus,
.menu-primary li:hover > a, .menu-primary li.current-cat > a,
.menu-primary li.current_page_item > a, .menu-primary li.current-menu-item > a {
	color: var(--c-accent);
}

.menu-primary li li a {
	margin: 0;
	padding: 10px 15px;
	color: #fff;
	text-transform: none;
	text-shadow: 0 1px 0 #000;
	background: #04536b;
}

.menu-primary li li a:hover, .menu-primary li li a:focus,
.menu-primary li li:hover > a, .menu-primary li li.current-cat > a,
.menu-primary li li.current_page_item > a, .menu-primary li li.current-menu-item > a {
	color: #fff;
	background: var(--c-link-hover);
}

/* Menu Secondary
----------------------------*/

.menu-secondary-container {
	position: relative;
	z-index: 300;
	min-height: 42px;
	padding: 0 5px;
	background: #04536b url(images/menu-secondary-bg.png) left top repeat-x;
}

.menu-secondary li a {
	padding: 15px 15px 14px 15px;
	color: #fff;
	font-family: var(--f-heading);
	font-size: 13px;
	font-weight: normal;
	text-decoration: none;
	text-transform: uppercase;
	text-shadow: 0 1px 0 #151414;
}

.menu-secondary li a:hover, .menu-secondary li a:focus,
.menu-secondary li:hover > a, .menu-secondary li.current-cat > a,
.menu-secondary li.current_page_item > a, .menu-secondary li.current-menu-item > a {
	color: #fff;
	text-shadow: none;
	background: url(images/menu-secondary-bg.png) left -142px repeat-x;
}

.menu-secondary li li a {
	margin: 0;
	padding: 10px 15px;
	color: #fff;
	text-transform: none;
	text-shadow: 0 1px 0 #000;
	background: #04536b;
}

.menu-secondary li li a:hover, .menu-secondary li li a:focus,
.menu-secondary li li:hover > a, .menu-secondary li li.current-cat > a,
.menu-secondary li li.current_page_item > a, .menu-secondary li li.current-menu-item > a {
	color: #fff;
	background: var(--c-link-hover);
}

/* =POST
-------------------------------------------------------------- */

.post {
	margin-bottom: 15px;
}

.page, .post-single {
	margin-bottom: 0;
}

.title {
	margin: 0 0 10px 0;
	padding: 0;
	color: var(--c-primary);
	font-family: var(--f-heading);
	font-size: 20px;
	font-weight: normal;
	line-height: 1.2;
}

.title a {
	color: var(--c-primary);
	text-decoration: none;
}

.title a:hover,
.title a:focus {
	color: var(--c-accent-dark);
}

.entry {
	line-height: 20px;
}

.entry::after {
	content: "";
	display: table;
	clear: both;
}

.entry ul, .entry ol {
	margin-bottom: 20px;
}

.featured-image-container {
	overflow: hidden;
	max-height: 200px;
	margin-bottom: 15px;
}

.featured-image-container img {
	display: block;
	width: 100%;
	height: 200px;
	object-fit: cover;
}

.page-title {
	margin: 0 0 10px 0;
	padding: 0 0 10px 0;
	color: var(--c-primary);
	font-family: var(--f-heading);
	font-size: 20px;
	font-weight: normal;
	text-transform: uppercase;
	border-bottom: 2px solid var(--c-primary);
}

.archive-description {
	margin-bottom: 15px;
}

/* Post Metas
----------------------------*/

.postmeta-primary,
.postmeta-secondary {
	padding: 0 0 10px 0;
	color: var(--c-meta);
	font-size: 12px;
	line-height: 18px;
}

.postmeta-primary span,
.postmeta-secondary span {
	padding: 3px 0 3px 20px;
	background-position: left center;
	background-repeat: no-repeat;
}

.meta_date { background-image: url(images/date.png); }
.meta_author { background-image: url(images/author.png); }
.meta_comments { background-image: url(images/comments.png); }
.meta_edit { background-image: url(images/edit.png); }
.meta_categories { background-image: url(images/category.png); }
.meta_tags { background-image: url(images/tags.png); }

/* Read More
----------------------------*/

.readmore {
	float: right;
	margin-bottom: 15px;
}

.readmore a {
	display: inline-block;
	padding: 8px 14px;
	color: #fff;
	font-size: 12px;
	line-height: 12px;
	text-decoration: none;
	text-transform: uppercase;
	background: var(--c-link-hover) url(images/readmore-bg.png) left top repeat-x;
	border-top: 2px solid #085c76;
}

.readmore a:hover,
.readmore a:focus {
	color: #fff;
	background: #064d63 url(images/readmore-bg.png) left -124px repeat-x;
}

.page-links {
	clear: both;
}

/* =WOOCOMMERCE
-------------------------------------------------------------- */

.woocommerce input[type="text"],
.woocommerce input[type="email"],
.woocommerce input[type="password"],
.woocommerce textarea,
.woocommerce select {
	margin: 0;
	padding: 4px;
}

/* =SITEMAP
-------------------------------------------------------------- */

.sitemap-cols {
	display: flex;
	flex-wrap: wrap;
	gap: 0 20px;
}

.sitemap-col {
	flex: 1 1 180px;
}

.sitemap-col-archives {
	flex: 1 1 250px;
}

.sitemap h2 {
	margin: 0 0 10px 0;
	padding: 0 0 10px 0;
	font-size: 18px;
	font-weight: bold;
	border-bottom: 2px solid #ddd;
}

.sitemap h3 {
	margin: 0 0 10px 0;
	padding: 0;
	font-size: 14px;
	font-weight: bold;
}

.sitemap-list {
	font-size: 13px;
	line-height: 22px;
}

.sitemap-list,
.sitemap-list ul {
	padding: 0 0 0 20px;
}

/* =CONTACT FORM
-------------------------------------------------------------- */

.contact-form-row {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
}

.contact-form-label {
	flex: 0 0 90px;
	padding: 7px 0;
	font-size: 14px;
	font-weight: bold;
}

.contact-form-input {
	flex: 1 1 260px;
}

.contact-form input[type="text"],
.contact-form input[type="email"] {
	width: 60%;
	min-width: 220px;
	max-width: 100%;
	margin-bottom: 20px;
	padding: 6px;
	background: #fff;
	border: 1px solid #ccc;
}

.contact-form textarea {
	width: 96%;
	height: 160px;
	margin-bottom: 20px;
	padding: 6px;
	background: #fff;
	border: 1px solid #ccc;
}

.contact-form input[type="submit"] {
	padding: 5px 50px;
	cursor: pointer;
	background: #eee;
	border: 1px solid #ccc;
}

.contact-form-submit {
	text-align: center;
}

.contact-form-required {
	color: #c00;
}

.contact-form-hp {
	position: absolute !important;
	left: -9999px !important;
	width: 1px;
	height: 1px;
	overflow: hidden;
}

/* =SLIDER
-------------------------------------------------------------- */

.fp-slider {
	position: relative;
	margin: 0 0 15px 0;
}

.fp-slides {
	position: relative;
	width: 100%;
	aspect-ratio: 930 / 300;
	overflow: hidden;
	background: #03394a;
}

.fp-slides-items {
	position: absolute;
	inset: 0;
	visibility: hidden;
	opacity: 0;
	transition: opacity var(--fp-speed, 1000ms) ease, visibility 0s linear var(--fp-speed, 1000ms), transform var(--fp-speed, 1000ms) ease;
}

.fp-slides-items.is-active {
	visibility: visible;
	opacity: 1;
	transition-delay: 0s;
}

.fp-effect-slide .fp-slides-items {
	opacity: 1;
	transform: translateX(100%);
}

.fp-effect-slide .fp-slides-items.is-active {
	transform: translateX(0);
}

.fp-effect-none .fp-slides-items {
	transition: none;
}

.fp-thumbnail,
.fp-thumbnail a {
	display: block;
	width: 100%;
	height: 100%;
}

.fp-thumbnail img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.fp-content {
	position: absolute;
	right: 0;
	bottom: 0;
	left: 0;
	padding: 10px 15px;
	overflow: hidden;
	background: rgba(1, 37, 48, .7);
}

.fp-title {
	margin: 0;
	padding: 0 0 2px 0;
	color: #fff;
	font-family: var(--f-heading);
	font-size: 18px;
	font-weight: normal;
}

.fp-title a,
.fp-title a:hover {
	color: #fff;
	text-decoration: none;
}

.fp-content p {
	margin: 0;
	padding: 0;
	color: #fff;
	line-height: 18px;
}

.fp-more,
.fp-more:hover {
	color: #fff;
	font-weight: bold;
}

.fp-prev-next {
	position: absolute;
	top: 0;
	right: 0;
	left: 0;
	aspect-ratio: 930 / 300;
	pointer-events: none;
}

.fp-prev,
.fp-next {
	position: absolute;
	top: 50%;
	width: 37px;
	height: 37px;
	margin-top: -18px;
	padding: 0;
	cursor: pointer;
	pointer-events: auto;
	opacity: .6;
	border: 0;
	background: transparent no-repeat;
	transition: opacity .2s;
}

.fp-prev {
	left: 14px;
	background-image: url(images/featured-prev.png);
	background-position: left top;
}

.fp-next {
	right: 14px;
	background-image: url(images/featured-next.png);
	background-position: right top;
}

.fp-prev:hover, .fp-prev:focus,
.fp-next:hover, .fp-next:focus {
	opacity: .9;
}

.fp-nav {
	padding: 10px 0;
	line-height: 12px;
	text-align: center;
	background: #03394a;
}

.fp-pager button {
	display: inline-block;
	width: 12px;
	height: 12px;
	margin: 0 4px;
	padding: 0;
	overflow: hidden;
	cursor: pointer;
	vertical-align: top;
	opacity: .7;
	border: 0;
	background: url(images/featured-pager.png) 0 0 no-repeat;
}

.fp-pager button:hover,
.fp-pager button:focus,
.fp-pager button.activeSlide {
	opacity: 1;
	background-position: 0 -112px;
}

/* =GALLERY
   Classic [gallery] shortcode as masonry (CSS columns).
-------------------------------------------------------------- */

.gallery {
	column-count: 3;
	column-gap: 8px;
	margin: 0 0 20px 0;
}

.gallery-columns-1 { column-count: 1; }
.gallery-columns-2 { column-count: 2; }
.gallery-columns-3 { column-count: 3; }
.gallery-columns-4 { column-count: 4; }
.gallery-columns-5,
.gallery-columns-6,
.gallery-columns-7,
.gallery-columns-8,
.gallery-columns-9 { column-count: 5; }

.gallery-item {
	display: block;
	margin: 0 0 8px 0;
	break-inside: avoid;
	page-break-inside: avoid;
}

.gallery-icon a {
	display: block;
	overflow: hidden;
}

.gallery-item img {
	display: block;
	width: 100%;
	height: auto;
	transition: transform .3s ease, opacity .3s ease;
}

.gallery-icon a:hover img,
.gallery-icon a:focus img {
	opacity: .9;
	transform: scale(1.03);
}

.gallery-caption {
	padding: 4px 2px 0;
	font-size: 11px;
	line-height: 1.4;
	color: #777;
}

/* Gallery overview page (cards linking to the single galleries) */

.gallery-overview {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
	gap: 15px;
	margin: 0 0 20px 0;
}

.gallery-overview p {
	display: contents;
	margin: 0;
}

.gallery-overview br {
	display: none;
}

.gallery-overview-item {
	position: relative;
	display: block;
	overflow: hidden;
	aspect-ratio: 4 / 3;
	color: #fff;
	text-decoration: none;
	background: var(--c-primary);
}

.gallery-overview-item img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform .4s ease;
}

.gallery-overview-item:hover img,
.gallery-overview-item:focus img {
	transform: scale(1.05);
}

.gallery-overview-title,
.gallery-overview-count {
	position: absolute;
	right: 0;
	left: 0;
	padding: 0 12px;
}

.gallery-overview-title {
	bottom: 26px;
	font-family: var(--f-heading);
	font-size: 18px;
	line-height: 1.2;
	text-transform: uppercase;
	text-shadow: 0 1px 3px rgba(0, 0, 0, .6);
}

.gallery-overview-count {
	bottom: 0;
	padding-top: 40px;
	padding-bottom: 8px;
	font-size: 12px;
	background: linear-gradient(transparent, rgba(1, 37, 48, .85));
}

.gallery-overview-item:hover,
.gallery-overview-item:focus {
	color: #fff;
}

/* =PAGINATION
-------------------------------------------------------------- */

.navigation {
	margin-bottom: 15px;
}

.wp-pagenavi {
	float: left;
}

.wp-pagenavi a, .wp-pagenavi span {
	float: left;
	margin: 2px;
	padding: 5px 8px;
	font-size: 15px;
	line-height: 15px;
	text-decoration: none;
}

.wp-pagenavi a, .wp-pagenavi a:link, .wp-pagenavi a:active {
	color: var(--c-meta);
	background: none;
}

.wp-pagenavi span.current {
	color: #fff;
	font-weight: bold;
	background: #054b61 url(images/wp-pagenavi-bg.png) left top repeat-x;
	border-top: 2px solid #085c76;
}

.wp-pagenavi a:hover {
	color: #fff;
	background: var(--c-link-hover) url(images/wp-pagenavi-bg.png) left -122px repeat-x;
	border-top: 2px solid var(--c-link-hover);
}

.wp-pagenavi span.pages,
.wp-pagenavi span.extend {
	color: var(--c-meta);
	background: none;
}

/* =FOOTER
-------------------------------------------------------------- */

#footer {
	margin-bottom: 15px;
}

#copyrights {
	padding: 20px 10px;
	color: #fefefe;
	text-align: center;
	background: var(--c-primary-dark) url(images/copyrights-bg.png) left top repeat-x;
}

#copyrights a,
#copyrights a:hover {
	color: #fefefe;
}

#copyrights a:hover {
	text-decoration: none;
}

/* =WIDGETS
-------------------------------------------------------------- */

.widget-container {
	margin: 0 0 15px 0;
	padding: 0 0 0 10px;
	color: var(--c-meta);
	font-size: 13px;
	list-style: none;
}

.widget-container a {
	color: var(--c-meta);
	text-decoration: none;
}

.widget-container a:hover,
.widget-container a:focus {
	color: var(--c-accent);
}

.widgettitle,
.widget .wp-block-heading {
	margin: 0 0 10px 0;
	padding: 10px 10px 9px 10px;
	background: var(--c-primary-dark) url(images/widgettitle-bg.png) left top repeat-x;
}

.widgettitle, .widgettitle a, .widgettitle a:hover,
.widget .wp-block-heading {
	color: #fff;
	font-family: var(--f-heading);
	font-size: 16px;
	font-weight: normal;
	line-height: 16px;
	text-decoration: none;
	text-transform: uppercase;
}

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

.widget ul li {
	margin: 0 0 8px 0;
	padding: 0 0 9px 0;
}

.widget ul li .children,
.widget ul li .sub-menu {
	padding-top: 17px;
}

/* Search */

.search {
	position: relative;
	border: 1px solid #085b74;
	background: #fff;
}

.search .s {
	width: 100%;
	margin: 0;
	padding: 6px 30px 6px 6px;
	color: #085b75;
	border: 0;
	background: none;
	outline: none;
	-webkit-appearance: none;
	appearance: none;
}

.search:focus-within {
	outline: 2px solid var(--c-link-hover);
	outline-offset: 1px;
}

.search .search-submit {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	width: 28px;
	padding: 0;
	cursor: pointer;
	border: 0;
	background: url(images/search.png) center no-repeat;
}

#content-search {
	max-width: 300px;
	padding: 15px 0;
}

#topsearch {
	margin-top: 10px;
}

#topsearch .search {
	width: 250px;
}

/* Calendar */

.wp-calendar-table td:hover,
.wp-calendar-table #today {
	color: #fff;
	background: var(--c-meta);
}

.wp-calendar-table td:hover a,
.wp-calendar-table #today a {
	color: #fff;
}

.wp-calendar-table th,
.wp-calendar-table td {
	text-align: center;
}

/* Text widget */

.textwidget {
	line-height: 18px;
}

/* 125x125 Banners widget */

.banners-125 {
	margin-bottom: -10px;
	text-align: center;
}

.banners-125 img {
	margin: 0 5px 5px 5px;
}

/* Posts widget */

.posts-widget ul {
	margin: 10px 0 0 0;
}

.posts-widget ul li {
	margin: 0 0 15px 0;
	padding: 0 0 15px 0;
}

.posts-widgettitle {
	margin: 0;
	padding: 0 0 5px 0;
	font-family: var(--f-body);
	font-size: 14px;
	font-weight: bold;
}

.posts-widget-meta {
	padding: 0 0 5px 0;
	font-style: italic;
}

.posts-widget-entry {
	font-family: var(--f-body);
	line-height: 20px;
}

.posts-widget-more {
	font-weight: bold;
}

.posts-widget-featured-image {
	padding: 4px;
	background-color: #fff;
	border: 1px solid var(--c-border);
}

.posts-widget .alignleft { margin: 0 8px 8px 0; }
.posts-widget .alignright { margin: 0 0 8px 8px; }
.posts-widget .aligncenter { margin-bottom: 8px; }

/* Info box widget */

.infobox-widget ul li {
	margin: 5px 0 0 0;
	padding: 0;
}

.infobox-widget-description {
	line-height: 20px;
}

.infobox-widget-more {
	font-weight: bold;
}

.infobox-widget .alignleft { margin: 0 10px 10px 0; }
.infobox-widget .alignright { margin: 0 0 10px 10px; }
.infobox-widget .aligncenter { margin-bottom: 10px; }
.infobox-widget .inbottom { margin-top: 10px; }

/* Social profiles widget */

.social-profiles-widget a {
	display: inline-block;
	margin: 0 4px 0 0;
}

.social-profiles-widget img:hover {
	opacity: .8;
}

/* =COMMENTS
-------------------------------------------------------------- */

#comments {
	margin-bottom: 15px;
}

#comments p {
	margin: 5px 0 10px 0;
}

#comments-title,
#reply-title {
	margin: 0 0 15px 0;
	padding: 0;
	font-size: 20px;
	font-weight: bold;
}

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

.commentlist li.comment {
	position: relative;
	margin: 0 0 15px 0;
	line-height: 24px;
}

.commentlist .children {
	margin: 0 0 0 30px;
	padding: 0;
	list-style: none;
}

.commentlist .avatar {
	width: 40px;
	height: 40px;
	margin: 0 10px 2px 0;
	vertical-align: middle;
	border: 3px solid #fff;
}

.comment-author {
	display: block;
	padding: 5px;
	background: #f2f2f2;
	border: 1px solid #dfdfdf;
	border-radius: 4px;
}

.comment-author .fn {
	font-size: 16px;
	font-style: normal;
	font-weight: bold;
}

.comment-author .fn a {
	text-decoration: none;
}

.comment-meta {
	display: block;
	padding: 0;
	font-size: 11px;
}

.comment-meta a {
	text-decoration: none;
}

.reply {
	margin-bottom: 10px;
	text-align: right;
}

.comment-reply-link {
	padding: 2px 8px;
	color: #333;
	font-size: 11px;
	text-decoration: none;
	background: #ededed;
	border: 1px solid #999;
	border-radius: 3px;
}

.comment-reply-link:hover {
	color: #333;
	background: #f5f5f5;
}

#respond {
	position: relative;
	margin-bottom: 15px;
	overflow: hidden;
}

#respond .required {
	color: #ff4b33;
	font-weight: bold;
}

#respond label {
	display: block;
	font-size: 12px;
	font-weight: bold;
}

#respond input[type="text"],
#respond input[type="email"],
#respond input[type="url"],
#respond textarea {
	width: 98%;
	margin: 4px 0 10px 0;
	padding: 5px;
	border: 1px solid #ccc;
}

#respond .comment-form-cookies-consent label {
	display: inline;
	font-weight: normal;
}

#respond .form-submit input {
	width: auto;
	padding: 5px 20px;
	font-size: 14px;
	cursor: pointer;
}

/* =ACCESSIBILITY
-------------------------------------------------------------- */

.screen-reader-text {
	position: absolute !important;
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	overflow: hidden;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	border: 0;
	word-wrap: normal !important;
}

.skip-link:focus {
	position: fixed !important;
	top: 5px;
	left: 5px;
	z-index: 100000;
	width: auto;
	height: auto;
	padding: 10px 15px;
	clip: auto;
	clip-path: none;
	color: var(--c-primary);
	font-weight: bold;
	background: #fff;
	box-shadow: 0 0 2px 2px rgba(0, 0, 0, .3);
}

a:focus-visible,
button:focus-visible,
input:focus-visible,
textarea:focus-visible,
select:focus-visible {
	outline: 2px solid var(--c-link-hover);
	outline-offset: 2px;
}

@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after {
		transition-duration: 0s !important;
		animation-duration: 0s !important;
	}
}

/* =RESPONSIVE
-------------------------------------------------------------- */

/* Tablets */

@media only screen and (max-width: 768px) {

	#main,
	#main-fullwidth,
	#header {
		padding-left: 10px;
		padding-right: 10px;
	}

	#header {
		flex-direction: column;
		min-height: 0;
		padding-top: 10px;
		padding-bottom: 10px;
		text-align: center;
	}

	.logo img {
		margin: 0 auto;
	}

	.header-right,
	#topsearch,
	#topsearch .search {
		width: 100%;
	}

	#content,
	#sidebar-primary {
		flex: 1 1 100%;
		width: 100%;
	}

	#sidebar-primary {
		margin-top: 15px;
		border-left: 0;
	}

	.widget-container {
		padding-left: 0;
	}

	.fp-content p {
		display: none;
	}

	.gallery[class*="gallery-columns-"]:not(.gallery-columns-1):not(.gallery-columns-2):not(.gallery-columns-3) {
		column-count: 3;
	}
}

@media only screen and (max-width: 480px) {
	.gallery[class*="gallery-columns-"]:not(.gallery-columns-1) {
		column-count: 2;
	}
}

/* Mobile navigation */

@media only screen and (max-width: 600px) {

	.top-bar {
		flex-direction: column-reverse;
		align-items: stretch;
	}

	#top-social-profiles {
		justify-content: center;
	}

	.site-navigation {
		float: none;
		margin: 10px 0 0;
	}

	.menu-toggle {
		display: flex;
		align-items: center;
		gap: 8px;
		width: 100%;
		padding: 10px 15px;
		color: #fff;
		font-family: var(--f-heading);
		font-size: 14px;
		text-transform: uppercase;
		cursor: pointer;
		border: 0;
		background: #04536b;
	}

	.menu-toggle-icon,
	.menu-toggle-icon::before,
	.menu-toggle-icon::after {
		display: block;
		width: 18px;
		height: 2px;
		background: currentColor;
		transition: transform .2s;
	}

	.menu-toggle-icon {
		position: relative;
	}

	.menu-toggle-icon::before,
	.menu-toggle-icon::after {
		content: "";
		position: absolute;
		left: 0;
	}

	.menu-toggle-icon::before { top: -6px; }
	.menu-toggle-icon::after { top: 6px; }

	.is-open .menu-toggle-icon { background: transparent; }
	.is-open .menu-toggle-icon::before { transform: translateY(6px) rotate(45deg); }
	.is-open .menu-toggle-icon::after { transform: translateY(-6px) rotate(-45deg); }

	.site-navigation .menus {
		display: none;
	}

	.site-navigation.is-open .menus {
		display: block;
	}

	.site-navigation .menus,
	.menu-secondary-container {
		background: #04536b;
	}

	.menu-secondary-container {
		padding: 0;
	}

	.site-navigation .menus li {
		float: none;
		width: 100%;
		border-top: 1px solid rgba(255, 255, 255, .15);
	}

	.site-navigation .menus a,
	.site-navigation .menus li li a {
		padding: 12px 50px 12px 15px;
		color: #fff;
		text-shadow: none;
		background: none;
	}

	.site-navigation .menus li li a {
		padding-left: 30px;
	}

	.site-navigation .menus li li li a {
		padding-left: 45px;
	}

	.site-navigation .menus ul {
		position: static;
		display: none;
		min-width: 0;
	}

	.site-navigation .menus li:hover > ul,
	.site-navigation .menus li:focus-within > ul {
		left: auto;
	}

	.site-navigation .menus li.is-open > ul {
		display: block;
	}

	.site-navigation .menus a::after {
		display: none !important;
	}

	.submenu-toggle {
		display: block;
		position: absolute;
		top: 0;
		right: 0;
		width: 44px;
		height: 39px;
		cursor: pointer;
		border: 0;
		border-left: 1px solid rgba(255, 255, 255, .15);
		background: transparent;
	}

	.submenu-toggle::before {
		content: "";
		display: block;
		margin: 0 auto;
		border: 5px solid transparent;
		border-top-color: #fff;
		border-bottom: 0;
	}

	.is-open > .submenu-toggle::before {
		transform: rotate(180deg);
	}

	.contact-form-label {
		flex-basis: 100%;
	}

	.contact-form input[type="text"],
	.contact-form input[type="email"],
	.contact-form textarea {
		width: 100%;
		min-width: 0;
	}

	.fp-prev-next,
	.fp-content {
		display: none;
	}
}
