/*
Theme Name: The Travel Magazine Theme
Theme URI: https://www.techniquewebdesign.co.uk
Author: Technique Web
Author URI: https://www.techniqueweb.co.uk
Description: Custom Gutenberg-ready WordPress theme for The Travel Magazine, built by Technique Web. Designed to meet WCAG 2.1 Level AA.
Version: 1.1
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: technique-theme
Tags: translation-ready, accessibility-ready
*/

.gform_footer button {
    background: #d5b038;
    color: #fff;
    width: 100%;
    max-width: 250px;
    padding: 10px;
    font-size: 1em;
}

.tmlns26 {
    border: 1px solid #eee;
    padding: 20px;
    font-style: italic;
    font-size: 0.9em;
    background: #fcfcfc;
    margin: 20px 0px 20px 0px;
}

:root {
	--tw-dark-blue: #000F43;
	--tw-light-blue: #51AEE5;
	--tw-gold: #D5B038;

	/* Accessible (WCAG 2.1 AA) variants of the brand colours for text and
	   UI on white / light grey backgrounds. The original --tw-gold and
	   --tw-light-blue only reach ~2.1:1 and ~2.5:1 on white, so they are
	   kept for decorative rules, borders and dark backgrounds only. */
	--tw-gold-text: #846B1C;   /* 5.1:1 on white  */
	--tw-blue-text: #1B6FA3;   /* 5.5:1 on white  */

	/* Focus indicator: navy ring with a white halo, visible on any background */
	--tw-focus-ring: #000F43;
	--tw-focus-halo: #fff;

	/* Footer gradient darkened at the light end so white text reaches 4.5:1 */
	--tw-blue-gradient: linear-gradient(
		to right,
		#1B6FA3 0%,
		#2D607F 100%
	);
}

.amandine-font {
    font-family: "amandine", Open Sans, sans-serif!important;
}

div#page {
    float: left;
    width: 100%;
}

.single-post .gallery {
    display: flex;
    gap: 10px;
}

/* When there are exactly 4 direct children, switch to 2 columns */
.single-post .gallery:has(> :nth-child(4):last-child) {
  grid-template-columns: repeat(2, 1fr);
}

.single-post .gallery > * {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.home-top-section {
    padding: 50px 0;
    float: left;
    width: 100%;
}

.home-top-intro {
    margin-bottom: 50px;
    text-align: center;
}

.home-top-intro h2 {
    margin-bottom: 0;
}

.home-top-intro p {
    font-style: italic;
    color: var(--tw-blue-text);
    max-width: 1000px;
    margin: 20px auto 0;
}

.home-top-grid {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    gap: 10px;
}

.home-top-grid-item {
    position: relative;
    display: block;
    overflow: hidden;
    min-height: 400px;
    grid-column: span 2;
    color: #fff;
    text-decoration: none;
}

.home-top-grid-item img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	position: absolute;
	inset: 0;
	transition: transform 0.4s ease;
}

.home-top-grid-overlay {
    position: absolute;
    inset: 0;
    z-index: 2;
    display: flex;
    align-items: center;
    padding: 30px;
    background: rgba(0, 15, 67, 0);
    opacity: 0;
    transition: opacity 0.3s ease, background 0.3s ease;
    flex-direction: column;
    justify-content: center;
}

.home-top-grid-item:hover img {
	transform: scale(1.05);
}

.home-top-grid-item:hover .home-top-grid-overlay {
    opacity: 1;
    background: #000000a8;
}

.home-top-grid-overlay * {
	color: inherit;
}

.home-top-grid-overlay h3 {
    margin: 0;
	text-align: center;
}

.home-top-grid-overlay p {
    margin: 15px 0 0;
    text-align: center;
    display: -webkit-box;
    -webkit-line-clamp: 5;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

@media (max-width: 900px) {
	.home-top-grid {
		grid-template-columns: repeat(2, 1fr);
	}

	.home-top-grid-item,
	.home-top-grid-item-large {
		grid-column: span 1;
	}
}

@media (max-width: 600px) {
	.home-top-grid {
		grid-template-columns: 1fr;
	}

	.home-top-grid-item {
		min-height: 260px;
	}
}

.post-tabs-section {
    padding: 0 0 60px;
    overflow: hidden;
    float: left;
    width: 100%;
}

.post-tabs-intro {
    margin-bottom: 40px;
    text-align: center;
}

.post-tabs-intro h2 {
    margin: 0;
}

.post-tabs-intro p {
    font-style: italic;
    color: var(--tw-blue-text);
    margin: 0;
}

.post-tabs-buttons {
    display: flex;
    flex-wrap: wrap;
    gap: 15px;
    margin-bottom: 50px;
    justify-content: center;
}

.post-tab-button {
	background: transparent;
	border: 1px solid transparent;
	padding: 12px 24px;
	cursor: pointer;
	color: var(--tw-dark-blue);
	font: inherit;
	transition: all 0.3s ease;
}

.post-tab-button.active,
.post-tab-button:hover {
	color: var(--tw-gold-text);
	border-color: var(--tw-gold-text);
}

.post-tab-panel {
	display: none;
	padding-top: 50px;
}

.post-tab-panel.active {
    display: block;
    position: relative;
}

.post-tab-panel.active::before {
    content: "";
    position: absolute;
    top: 0;
    left: -10%;
    width: 60%;
    height: 60%;
    background: rgba(209, 209, 209, 0.1);
    z-index: -1;
}

.post-tab-title {
    position: relative;
    margin-bottom: 50px;
    color: var(--tw-dark-blue);
    text-align: center;
}

.post-tab-title::after {
    content: "";
    position: absolute;
    left: 70%;
    transform: translateX(-100%);
    bottom: -18px;
    width: 70vw;
    height: 2px;
    background: var(--tw-gold);
}

.post-tab-posts {
	display: flex;
	flex-direction: column;
	gap: 50px;
}

.post-tab-item {
    display: flex;
    justify-content: space-between;
    gap: 50px;
    padding: 0;
}

.post-tab-item.mirrored {
	flex-direction: row-reverse;
}

.post-tab-secondary-image {
	width: 60%;
}

.post-tab-secondary-image img {
	width: 100%;
	max-height: 600px;
	object-fit: cover;
	display: block;
}

.post-tab-card {
    width: 40%;
}

.post-tab-featured-image img {
    width: 100%;
    object-fit: cover;
    display: block;
    max-height: 400px;
}

.post-tab-card h3 {
    margin: 10px 20px;
    color: var(--tw-dark-blue);
}

.post-tab-button-link {
    display: inline-block;
    padding: 12px 24px;
    color: var(--tw-gold-text);
    text-decoration: none!important;
    transition: all 0.3s ease;
    border: 1px solid var(--tw-gold-text);
    margin-left: 20px;
    margin-right: 20px;
    margin-top: 20px;
    font-size: 1em;
    background: none;
}

.post-tab-button-link:hover {
	background: var(--tw-dark-blue);
	color: #fff;
}

@media (max-width: 900px) {
	.post-tab-item,
	.post-tab-item.mirrored {
		flex-direction: column;
		align-items: flex-start;
	}

	.post-tab-secondary-image,
	.post-tab-card {
		width: 100%;
	}

	.post-tab-secondary-image img {
		height: 320px;
	}

	.post-tab-title::after {
		left: 0;
		transform: none;
		width: 60%;
	}
}

.featured-destination-section {
    position: relative;
    padding: 50px 0;
    overflow: hidden;
    float: left;
    width: 100%;
}

.featured-destination-section::before {
	content: "";
	position: absolute;
	top: 0;
	right: -10%;
	width: 55%;
	height: 100%;
	background: rgba(209, 209, 209, 0.1);
	z-index: -1;
}

.featured-destination-content {
    width: auto;
    margin: 0 20px;
}

.featured-destination-content h2 {
    margin: 0;
    text-align: center;
}

.featured-destination-content p {
    font-style: italic;
    color: var(--tw-blue-text);
    text-align: center;
    margin: 0;
}

.featured-destination-content h3 {
    margin: 50px 0 20px;
}

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

.featured-destination-link-wrap {
    text-align: center;
}

.travel-adverts-section {
    padding: 50px 0;
    float: left;
    width: 100%;
    display: flex;
    justify-content: center;
}

.travel-adverts-slider {
	width: 100%;
	max-width: 1200px;
	margin: 0 auto;
	overflow: hidden;
}

.travel-advert-slide a {
	display: block;
}

.travel-advert-slide img {
	width: 100%;
	height: 500px;
	display: block;
	object-fit: cover;
}

.insta {
    float: left;
    width: 100%;
    text-align: center;
    padding: 50px 0;
}

.insta h2 {
    margin: 0;
}

.insta p {
    font-style: italic;
    color: var(--tw-blue-text);
    margin: 0;
}

div#signup-popup {
    float: left;
    width: 100%;
}

.sign-up {
    position: relative;
    padding: 50px 0;
    background-image: url('https://thetravelmagazine.net/wp-content/uploads/signup-banner.png');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    overflow: hidden;
    float: left;
    width: 100%;
}

.sign-up::before {
	content: "";
	position: absolute;
	inset: 0;
	background: rgba(255, 255, 255, 0.7);
	z-index: 1;
}

.sign-up .grid {
    position: relative;
    z-index: 2;
    display: flex;
    flex-direction: column;
}

.sign-up h2,
.sign-up h3 {
    margin: 0;
}

/* "In Your Inbox" is now an h2 (correct heading order); keep the h3 look */
.sign-up h2 {
    font-size: 1.7em;
    text-transform: none;
}

.sign-up p {
    margin-top: 0;
    font-style: italic;
}

.sign-up-button {
    display: flex;
    padding: 12px 74px;
    background: var(--tw-gold);
    text-decoration: none !important;
    transition: all 0.3s ease;
    color: var(--tw-dark-blue);
    font-size: 1em;
    width: fit-content;
    border-radius: 0;
    border: 1px solid var(--tw-gold)!important;
}

.sign-up-button:hover {
	background: var(--tw-dark-blue);
    color: #fff;
}

/* POPUP */

.signup-popup {
	display: none;
	position: fixed;
	inset: 0;
	z-index: 9999;
	background: rgba(0, 15, 67, 0.75);
	padding: 30px;

	align-items: center;
	justify-content: center;
}

.signup-popup.active {
	display: flex;
}

.signup-popup-inner {
	position: relative;
	width: 100%;
	max-width: 650px;
	background: #fff;
	padding: 50px;
}

.signup-popup-close {
	position: absolute;
	top: 10px;
	right: 15px;
	background: none;
	border: 0;
	font-size: 32px;
	line-height: 1;
	cursor: pointer;
	color: var(--dark-blue);
}

.col-1-1.footerlogo {
    text-align: center;
    padding: 0 0 30px;
}

.archive-page {
    overflow: hidden;
    float: left;
    width: 100%;
}

.archive-hero {
    position: relative;
    padding: 50px 0;
    overflow: hidden;
    float: left;
    width: 100%;
    margin-bottom: 20px;
}

.archive-hero::before {
	content: "";
	position: absolute;
	top: 0;
	left: -10%;
	width: 80%;
	height: 100%;
	background: rgba(209, 209, 209, 0.1);
	z-index: -1;
}

.archive-hero-grid {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 6%;
}

.archive-hero-content {
    width: 48%;
    text-align: center;
}

.archive-hero-image {
	width: 46%;
}

.archive-hero-image img {
	width: 100%;
	height: 520px;
	object-fit: cover;
	display: block;
}

.archive-title {
    position: relative;
    margin-bottom: 45px;
    color: var(--dark-blue);
    margin-top: 0;
}

.archive-title::after {
    content: "";
    position: absolute;
    left: 100%;
    transform: translateX(-100%);
    bottom: -18px;
    width: 100vw;
    height: 2px;
    background: var(--tw-gold);
}

.archive-description {
	color: var(--dark-blue);
}

.archive-posts-section {
    padding: 50px 0 0;
}

.archive-posts-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 50px;
    float: left;
    width: 100%;
}

.archive-post-card {
    display: flex;
    flex-direction: column;
    height: 100%;
    padding: 0;
}

.archive-post-card .post-tab-button-link {
	margin-top: auto;
	align-self: flex-start;
}

.archive-post-image {
	display: block;
	margin-bottom: 20px;
	overflow: hidden;
}

.archive-post-image img {
	width: 100%;
	height: 280px;
	object-fit: cover;
	display: block;
	transition: transform 0.4s ease;
}

.archive-post-card:hover .archive-post-image img {
	transform: scale(1.05);
}

.archive-post-date {
	margin-bottom: 10px;
	color: var(--tw-gold-text);
}

.archive-post-card h3 {
    margin: 0 0 20px;
    color: var(--tw-dark-blue)!important;
    font-size: 1em;
    padding: 0 5px;
    font-weight: 500;
    text-align: center;
}

.archive-load-more-wrap {
	text-align: center;
}

#archive-load-more.loading {
	opacity: 0.6;
	pointer-events: none;
}

@media (max-width: 900px) {
	.archive-hero-grid {
		flex-direction: column;
		align-items: flex-start;
	}

	.archive-hero-content,
	.archive-hero-image {
		width: 100%;
	}

	.archive-posts-grid {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (max-width: 600px) {
	.archive-posts-grid {
		grid-template-columns: 1fr;
	}

	.archive-hero-image img {
		height: 320px;
	}

	.archive-title::after {
		left: 0;
		transform: none;
		width: 70%;
	}
}

.grid.grid-pad.archive-hero-grid {
    padding: 0;
    margin: 0;
    max-width: none;
    padding-left: 10%;
    width: auto;
}

span.bsf-rt-reading-time {
    display: inline-block!important;
    color: var(--tw-gold-text)!important;
    font-size: 1em!important;
    background: none!important;
    padding: 0!important;
}

button#archive-load-more {
    margin-top: 50px;
    color: var(--tw-dark-blue);
    background: var(--tw-gold);
    padding: 10px 16px;
    font-size: 0.8em;
}

.advert-banner {
    background: var(--tw-blue-text);
    color: #fff;
    padding: 30px;
    max-width: none!important;
}

.advert-banner > * {
    max-width: 1200px;
    margin-left: auto;
    margin-right: auto;
}

.advert-button {
    display: block;
}

.advert-banner h2,
.advert-banner p,
.advert-banner a {
	color: #fff;
}

p#productTitle {
    margin-top: 0;
}

.post-meta {
    color: var(--tw-gold-text);
    margin-top: 10px;
    font-style: italic;
    font-weight: 400;
}

.you-may-also-like {
    float: left;
    width: 100%;
}

.you-may-also-like p {
    margin: 0;
}

.you-may-also-like .post-tab-button-link {
    margin: 0;
}

.post-meta p {
    margin: 0;
}

.image_row {
    display: flex;
    gap: 5px;
}

.gallery-item {
	margin: 0;
}

.gallery-item img {
	width: 100%;
	height: 260px;
	object-fit: cover;
	display: block;
}

.gallery-item figcaption {
	margin-top: 10px;
	font-size: 14px;
}

.single-post main#primary {
    float: left;
    width: 100%;
}

.original_layout {
    max-width: 1200px;
    margin: auto;
}

.original_layout span.bsf-rt-reading-time {
    display: none!important;
}

.site-main.single_wrapper {
    float: left;
    width: 100%;
}

.site-main.single_wrapper article {
    padding: 0;
}

.archive a.post-tab-button-link {
    width: 100%;
    text-align: center;
    padding: 5px;
    margin-left: 0;
}

.archive-posts-section .grid {
    overflow: visible;
}

.travel-adverts-section--double .grid {
	display: flex;
	gap: 20px;
	align-items: stretch;
}

.travel-adverts-section--double .travel-advert {
	flex: 1;
}

.travel-adverts-section--double img {
	width: 100%;
	height: auto;
	display: block;
}

@media (max-width: 768px) {
	.travel-adverts-section--double {
		flex-direction: column;
	}
}

.travel-advert {
	position: relative;
}

.advert-label {
    position: absolute;
    background: rgb(255 255 255 / 70%);
    color: #896D6A;
    padding: 6px 18px;
    line-height: 1;
    z-index: 10;
    font-style: italic;
    font-weight: 400;
}

.instabanner {
    padding-top: 50px;
    display: grid;
    grid-template-columns: repeat(5,1fr);
    justify-items: center;
}




.travel-adverts-section {
	width: 100%;
	padding: 30px 0;
}

.travel-adverts-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 20px;
	width: 100%;
}

.travel-adverts-section--2 .travel-adverts-grid {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.travel-adverts-section--3 .travel-adverts-grid {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

/* 4 adverts: 2 x 2. 5 or more: rows of 3. */
.travel-adverts-section--many .travel-adverts-grid {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.travel-adverts-section--4 .travel-adverts-grid {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.travel-advert {
	position: relative;
	width: 100%;
	min-width: 0;
}

.advert-label {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 10;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 30px;
	padding: 4px 8px;
	background: rgba(0, 0, 0, 0.75);
	color: #fff;
	font-size: 11px;
	font-weight: 600;
	line-height: 1;
	text-transform: uppercase;
	pointer-events: none;
}

.travel-advert-content {
	width: 100%;
	height: 100%;
}

.travel-advert-content > * {
	max-width: 100%;
}

.travel-advert-content img {
	display: block;
	width: 100%;
	max-width: 100%;
	height: auto;
}

/* Remove spacing sometimes added by AdRotate. */
.travel-advert-content p {
	margin: 0;
}

/* Tablet */
@media only screen and (max-width: 900px) {

	.travel-adverts-section--3 .travel-adverts-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.travel-adverts-section--3 .travel-advert:last-child {
		grid-column: 1 / -1;
	}

	.travel-adverts-section--many .travel-adverts-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

/* Mobile */
@media only screen and (max-width: 767px) {

	.travel-adverts-section--2 .travel-adverts-grid,
	.travel-adverts-section--3 .travel-adverts-grid,
	.travel-adverts-section--many .travel-adverts-grid {
		grid-template-columns: 1fr;
	}

	.travel-adverts-section--3 .travel-advert:last-child {
		grid-column: auto;
	}
}

.single-comments-wrap {
    margin: 50px auto;
    float: left;
    width: 100%;
}

div#comments {
    max-width: 1200px;
}

p.archive-subheader {
    margin-top: 0;
    font-style: italic;
}

h3 img {
    display: block;
    margin-bottom: 1em;
}

p img {
    margin-bottom: 1em;
}

.author .archive-hero-content {
    width: 100%;
}

.author .grid.grid-pad.archive-hero-grid {
    padding: 0 5%;
}

.post-meta a {
    color: var(--tw-gold-text);
}

input#gform_submit_button_1 {
    display: flex;
    padding: 12px 74px;
    background: var(--tw-gold);
    text-decoration: none !important;
    transition: all 0.3s ease;
    color: var(--tw-dark-blue);
    font-size: 1em;
    width: fit-content;
    border-radius: 0;
    border: 1px solid var(--tw-gold) !important;
}

p.form-submit input#submit {
    background: var(--tw-blue-gradient);
    color: #fff;
    border: #fff;
    font-size: 1em;
}

input#gform_submit_button_4 {
    display: flex;
    padding: 12px 74px;
    background: var(--tw-gold);
    text-decoration: none !important;
    transition: all 0.3s ease;
    color: var(--tw-dark-blue);
    font-size: 1em;
    width: fit-content;
    border-radius: 0;
    border: 1px solid var(--tw-gold) !important;
}

input#gform_submit_button_4:hover {
    background: var(--tw-dark-blue);
    color: #fff;
}








/**************************************************/
/* FULL WIDTH */
/**************************************************/

.page-template-full-width .wp-block-stackable-columns {
  max-width: 100%;
}

.page-template-full-width .stk-row.stk-inner-blocks {
  max-width: 1200px;
}

.page-template-full-width .col-1-1 {
  padding: 0;
}

/**************************************************/
/**************************************************/

pre {
  background: #eee;
  font-family: "Outfit", Open Sans, sans-serif;
  font-size: 15px;
  font-size: 0.9375rem;
  line-height: 1.6;
  margin-bottom: 1.6em;
  max-width: 100%;
  overflow: auto;
  padding: 1.6em;
}

/*--------------------------------------------------------------
# TW New Styles
--------------------------------------------------------------*/

.theme-technique-theme,
.theme-technique-theme a,
.button-top a,
.button-top button {
  cursor: url(https://technique-theme.flywheelsites.com/wp-content/uploads/cursor2.svg),
    auto !important;
}

.blockpadz {
  padding: 20px 20px !important;
}

.footer-widgets-area h2 {
  color: rgba(255, 255, 255, 0.7);
  font-size: 1.6em;
}

.entry-content .wp-block-column {
  padding: 20px;
  /*     box-shadow: 6px 6px 12px rgb(0 0 0 / 10%); */
  -webkit-border-radius: 20px;
  -moz-border-radius: 20px;
  border-radius: 10px;
  margin: 20px;
}

header#masthead h3 a {
  color: #fff;
  text-decoration: none;
}

.footer-widgets-area {
  width: 100%;
  display: block;
  float: left;
  margin-bottom: 20px;
}

.footer-logo img {
  width: 100%;
  max-width: 220px;
  margin: 0px;
}

.col-1-3.logo {
    text-align: left;
    width: auto;
}

.footer-boxup {
  background: white;
  padding: 20px;
  transform: translateY(-75%);
  box-shadow: 6px 6px 12px rgba(0, 0, 0, 0.4);
  -webkit-border-radius: 20px;
  -moz-border-radius: 20px;
  border-radius: 20px;
  color: #222;
  margin-bottom: 0px;
  text-align: center;
  max-height: 200px;
}

article {
  padding: 0px 0px 40px 0px;
}

.footer-logo {
  text-align: left;
}

.archive .grid-pad {
  padding-bottom: 40px;
}

.footer-copyright {
    text-align: center;
    float: left;
    width: 100%;
}

.footerlinks p {
    margin: 0;
    color: #fff;
}

.col-1-3.logo img,
.col-1-1.footerlogo img {
  width: 100%;
  max-width: 300px;
  margin: 0;
}

header#masthead {
    background: transparent;
    float: left;
    width: 100% !important;
    height: 100px;
    z-index: 9;
    position: relative;
}

header#masthead h3 {
  color: #fff;
  font-size: 1.4em;
}

.sliderhome {
  width: 100%;
  float: left;
  display: block;
  margin: 0px;
}

.button-top {
  position: fixed;
  bottom: 30px;
  right: 30px;
  z-index: 100;
  width: 60px;
  height: 60px;
  border: 0;
  border-radius: 100px;
  box-shadow: none;
  background: #f4f4f4;
  color: var(--tw-dark-blue);
  font-size: 2.4em;
  text-align: center;
  padding: 10px;
}

.innerbanz {
  padding: 20px !important;
  box-shadow: inset 0px 0px 0 2000px rgb(0 0 0 / 50%);
  height: 300px;
  display: flex;
  align-items: center;
}

.innertitle {
  position: relative;
  overflow: auto;
  max-width: 1140px;
  width: 100%;
  margin: 0 auto;
  padding-top: 30px;
  padding-bottom: 30px;
}

.innertitle h1 {
  text-align: center;
  color: #fff;
  font-weight: 500;
}

/*--------------------------------------------------------------
## Woo Structure
--------------------------------------------------------------*/

main#main > * {
  margin: 36px auto;
  max-width: 1200px;
  padding-left: 14px;
  padding-right: 14px;
}

main#main > .alignwide {
  max-width: 1070px;
}

main#main > .alignfull {
  margin: 1.5em 0;
  max-width: 100%;
}

@media screen and (min-width: 608px) {
  main#main > * {
    padding-left: 0px;
    padding-right: 0px;
  }
}

/*--------------------------------------------------------------
# Simple Grid - http://thisisdallas.github.com/Simple-Grid/
--------------------------------------------------------------*/

[class*="grid"],
[class*="col-"],
[class*="mobile-"],
.grid:after {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}

[class*="col-"] {
  float: left;
  min-height: 1px;
  padding-right: 20px; /* column-space */
}

.grid {
    width: 90%;
    margin: 0 auto;
    overflow: hidden;
    max-width: 1200px;
}

.pagecontent.grid {
    display: flex;
    margin-bottom: 50px;
    padding-bottom: 20px;
    float: none;
}

.pagecontent.grid .col-2-3 {
  margin-right: 100px;
}

.grid:after {
  content: "";
  display: none;
  clear: both;
}

.grid-pad {
  padding-top: 20px;
  padding-left: 20px; /* grid-space to left */
  padding-right: 0; /* grid-space to right: (grid-space-left - column-space) e.g. 20px-20px=0 */
}

.push-right {
  float: right;
}

/* Content Columns */

.col-1-1 {
  width: 100%;
}
.col-2-3,
.col-8-12 {
  width: 66.66%;
}

.col-1-2,
.col-6-12 {
  width: 50%;
}

.col-1-3,
.col-4-12 {
  width: 33.33%;
}

.col-1-4,
.col-3-12 {
  width: 25%;
}

.col-1-5 {
  width: 20%;
}

.col-1-6,
.col-2-12 {
  width: 16.667%;
}

.col-1-7 {
  width: 14.28%;
}

.col-1-8 {
  width: 12.5%;
}

.col-1-9 {
  width: 11.1%;
}

.col-1-10 {
  width: 10%;
}

.col-1-11 {
  width: 9.09%;
}

.col-1-12 {
  width: 8.33%;
}

/* Layout Columns */

.col-11-12 {
  width: 91.66%;
}

.col-10-12 {
  width: 83.333%;
}

.col-9-12 {
  width: 75%;
}

.col-5-12 {
  width: 41.66%;
}

.col-7-12 {
  width: 58.33%;
}

/* Pushing blocks */

.push-2-3,
.push-8-12 {
  margin-left: 66.66%;
}

.push-1-2,
.push-6-12 {
  margin-left: 50%;
}

.push-1-3,
.push-4-12 {
  margin-left: 33.33%;
}

.push-1-4,
.push-3-12 {
  margin-left: 25%;
}

.push-1-5 {
  margin-left: 20%;
}

.push-1-6,
.push-2-12 {
  margin-left: 16.667%;
}

.push-1-7 {
  margin-left: 14.28%;
}

.push-1-8 {
  margin-left: 12.5%;
}

.push-1-9 {
  margin-left: 11.1%;
}

.push-1-10 {
  margin-left: 10%;
}

.push-1-11 {
  margin-left: 9.09%;
}

.push-1-12 {
  margin-left: 8.33%;
}

@media handheld, only screen and (max-width: 767px) {
	
	img.footertoplogo {
    width: 100%;
    max-width: 60px!important;
    margin: 0;
}
	
img.footerbotlogo {
    width: 100%;
    max-width: 240px!important;
    margin: 0;
}
	
  .grid {
    width: 100%;
    min-width: 0;
    margin-left: 0;
    margin-right: 0;
    padding-left: 20px; /* grid-space to left */
    padding-right: 10px; /* grid-space to right: (grid-space-left - column-space) e.g. 20px-10px=10px */
    max-width: 100%;
  }

  blockquote {
    width: 100% !important;
  }

  [class*="col-"] {
    width: auto;
    float: none;
    margin: 10px 0;
    padding-left: 0;
    padding-right: 10px; /* column-space */
  }

  [class*="col-"] [class*="col-"] {
    padding-right: 0;
  }

  /* Mobile Layout */

  [class*="mobile-col-"] {
    float: left;
    margin: 0 0 10px;
    padding-left: 0;
    padding-right: 10px; /* column-space */
    padding-bottom: 0;
  }

  .mobile-col-1-1 {
    width: 100%;
  }
  .mobile-col-2-3,
  .mobile-col-8-12 {
    width: 66.66%;
  }

  .mobile-col-1-2,
  .mobile-col-6-12 {
    width: 50%;
  }

  .mobile-col-1-3,
  .mobile-col-4-12 {
    width: 33.33%;
  }

  .mobile-col-1-4,
  .mobile-col-3-12 {
    width: 25%;
  }

  .mobile-col-1-5 {
    width: 20%;
  }

  .mobile-col-1-6,
  .mobile-col-2-12 {
    width: 16.667%;
  }

  .mobile-col-1-7 {
    width: 14.28%;
  }

  .mobile-col-1-8 {
    width: 12.5%;
  }

  .mobile-col-1-9 {
    width: 11.1%;
  }

  .mobile-col-1-10 {
    width: 10%;
  }

  .mobile-col-1-11 {
    width: 9.09%;
  }

  .mobile-col-1-12 {
    width: 8.33%;
  }

  /* Layout Columns */

  .mobile-col-11-12 {
    width: 91.66%;
  }

  .mobile-col-10-12 {
    width: 83.333%;
  }

  .mobile-col-9-12 {
    width: 75%;
  }

  .mobile-col-5-12 {
    width: 41.66%;
  }

  .mobile-col-7-12 {
    width: 58.33%;
  }

  .hide-on-mobile {
    display: none !important;
    width: 0;
    height: 0;
  }
}

/*--------------------------------------------------------------
# Normalize
--------------------------------------------------------------*/

html,
body {
  max-width: 100%;
  overflow-x: hidden;
}

html {
  font-family: sans-serif;
  -webkit-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
}

body {
  margin: 0;
  overflow-x: hidden;
}

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

audio,
canvas,
progress,
video {
  display: inline-block;
  vertical-align: baseline;
}

audio:not([controls]) {
  display: none;
  height: 0;
}

[hidden],
template {
  display: none;
}

a {
  background-color: transparent;
}

a:active,
a:hover {
  outline: 0;
}

abbr[title] {
  border-bottom: 1px dotted;
}

b,
strong {
  font-weight: bold;
}

dfn {
  font-style: italic;
}

h1 {
    font-size: 2.5em;
    margin: 0.67em 0;
    line-height: 1.4;
    text-transform: uppercase;
}

h2 {
    font-size: 2em;
    margin-top: 0;
    text-transform: uppercase;
}

h3 {
  font-size: 1.7em;
}

h4 {
  font-size: 1.4em;
}

h5 {
  font-size: 1em;
}

h6 {
  font-size: 0.8em;
}

mark {
  background: #ff0;
  color: #000;
}

small {
  font-size: 80%;
}

sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sup {
  top: -0.5em;
}

sub {
  bottom: -0.25em;
}

img {
  border: 0;
}

svg:not(:root) {
  overflow: hidden;
}

figure {
  margin: 1em 40px;
}

hr {
  box-sizing: content-box;
  height: 0;
}

pre {
  overflow: auto;
}

code,
kbd,
pre,
samp {
  font-family: Monaco, Consolas, "Andale Mono", "DejaVu Sans Mono", monospace;
  font-size: 0.875rem;
}

button,
input,
optgroup,
select,
textarea {
  color: inherit;
  font: inherit;
  margin: 0;
}

button {
  overflow: visible;
}

button,
select {
  text-transform: none;
}

button,
html input[type="button"],
input[type="reset"],
input[type="submit"] {
  -webkit-appearance: button;
  cursor: pointer;
}

button[disabled],
html input[disabled] {
  cursor: default;
}

button::-moz-focus-inner,
input::-moz-focus-inner {
  border: 0;
  padding: 0;
}

input {
  line-height: normal;
}

input[type="checkbox"],
input[type="radio"] {
  box-sizing: border-box;
  padding: 0;
}

input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
  height: auto;
}

input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}

fieldset {
  border: 1px solid #c0c0c0;
  margin: 0 2px;
  padding: 0.35em 0.625em 0.75em;
}

legend {
  border: 0;
  padding: 0;
}

textarea {
  overflow: auto;
}

optgroup {
  font-weight: bold;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

td,
th {
  padding: 0;
}

.wp-block-table table {
  border: 1px solid #eaeaea;
  width: 100%;
  border-collapse: initial !important;
  padding: 10px;
}

table {
  border-spacing: 1;
  border-collapse: collapse;
  background: #fff;
  border-radius: 10px;
  overflow: hidden;
  width: 100%;
  margin: 0 auto;
  position: relative;
}

table * {
  position: relative;
}

table td,
table th {
  padding-left: 8px;
}

table thead tr {
    height: 60px;
    background: var(--tw-dark-blue);
    color: #fff;
}

table tbody tr {
  height: 50px;
}
table tbody tr:last-child {
  border: 0;
}

table td,
table th {
  text-align: left;
}

table td.l,
table th.l {
  text-align: right;
}

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

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

tbody tr:nth-child(even) {
  background-color: #f5f5f5;
}

tbody tr {
  font-family: "Outfit", Open Sans, sans-serif;
  font-size: 15px;
  color: #595959;
  line-height: 1.2;
  font-weight: unset;
}

/*--------------------------------------------------------------
# Typography
--------------------------------------------------------------*/
body,
button,
input,
select,
optgroup,
textarea {
  color: #000;
  font-family: Open Sans, sans-serif;
  font-size: 18px;
  /* font-size: 1.1rem; */
  line-height: 1.8;
  font-weight: 300;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  color: #000;
  clear: both;
  font-family: "amandine", Open Sans, sans-serif;
  font-weight: 300;
  line-height: 1.4;
}

.menu_title a {
  text-decoration: none !important;
}

.entry-header .entry-title {
  font-size: 2.44em;
  line-height: 1.4;
  margin: 1em 0 1rem;
}

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

address {
  margin: 0 0 1.5em;
}

pre {
  font-family: Monaco, Consolas, "Andale Mono", "DejaVu Sans Mono", monospace;
  line-height: 1.6;
  margin-bottom: 1.6em;
  max-width: 100%;
  overflow: auto;
  padding: 0.8em 1em;
}

code,
kbd,
tt,
var {
  font-family: Monaco, Consolas, "Andale Mono", "DejaVu Sans Mono", monospace;
  font-size: 0.875rem;
}

@media screen and (min-width: 600px) {
  code,
  kbd,
  tt,
  var {
    font-size: 0.8125rem;
  }
}

p > code {
  padding: 2px;
  border-radius: 2px;
  background: #f3f4f5;
  font-size: inherit;
}

abbr,
acronym {
  border-bottom: 1px dotted #666;
  cursor: help;
}

mark,
ins {
  background: #fff9c0;
  text-decoration: none;
}

big {
  font-size: 125%;
}

.site-title {
  margin: 0.4375em 0 0;
  font-size: 38px;
  font-weight: bold;
  line-height: 1.2;
  color: #333332;
}

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

.site-branding {
  margin-bottom: 1.75em;
}

.site-description {
  margin: 0.4375em 0 0;
  font-size: 17px;
  font-weight: inherit;
  line-height: 1.4;
  word-wrap: break-word;
  color: #6c7781;
}
/*--------------------------------------------------------------
# Elements
--------------------------------------------------------------*/
html {
  box-sizing: border-box;
}

*,
*:before,
*:after {
  /* Inherit box-sizing to make it easier to change the property for components that leverage other behavior; see http://css-tricks.com/inheriting-box-sizing-probably-slightly-better-best-practice/ */
  box-sizing: inherit;
}

body {
  background: #fff;
  /* Fallback for when there is no custom background color defined. */
}

blockquote,
q {
  quotes: "" "";
}
blockquote:before,
blockquote:after,
q:before,
q:after {
  content: "";
}

hr {
  border: 0;
  height: 1px;
  margin-bottom: 1.5em;
}

ul,
ol {
  margin: 0 0 1.5em 3em;
}

ul {
  list-style: disc;
}

ol {
  list-style: decimal;
}

li > ul,
li > ol {
  margin-bottom: 0;
  margin-left: 1.5em;
}

dt {
  font-weight: bold;
}

dd {
  margin: 0 1.5em 1.5em;
}

img {
  height: auto;
  /* Make sure images are scaled correctly. */
  max-width: 100%;
  /* Adhere to container width. */
}

figure {
  margin: 1em 0;
  /* Extra wide images within figure tags don't overflow the content area. */
}

table {
  margin: 0 0 1.5em;
  width: 100%;
}

/*--------------------------------------------------------------
# Forms
--------------------------------------------------------------*/
button,
input[type="button"],
input[type="reset"],
input[type="submit"] {
  border: 1px solid;
  border-color: #ccc #ccc #bbb;
  border-radius: 3px;
  background: #e6e6e6;
  color: rgba(0, 0, 0, 0.8);
  font-size: 12px;
  font-size: 0.75rem;
  line-height: 1;
  padding: 0.6em 1em 0.4em;
}

button:hover,
input[type="button"]:hover,
input[type="reset"]:hover,
input[type="submit"]:hover {
  border-color: #ccc #bbb #aaa;
}

button:active,
button:focus,
input[type="button"]:active,
input[type="button"]:focus,
input[type="reset"]:active,
input[type="reset"]:focus,
input[type="submit"]:active,
input[type="submit"]:focus {
  border-color: #aaa #bbb #bbb;
}

input[type="text"],
input[type="email"],
input[type="url"],
input[type="password"],
input[type="search"],
input[type="number"],
input[type="tel"],
input[type="range"],
input[type="date"],
input[type="month"],
input[type="week"],
input[type="time"],
input[type="datetime"],
input[type="datetime-local"],
input[type="color"],
textarea {
  border: 1px solid #dedede !important;
  padding: 3px;
  box-shadow: 0px 5px 5px #00000040 !important;
}

input[type="text"]:focus,
input[type="email"]:focus,
input[type="url"]:focus,
input[type="password"]:focus,
input[type="search"]:focus,
input[type="number"]:focus,
input[type="tel"]:focus,
input[type="range"]:focus,
input[type="date"]:focus,
input[type="month"]:focus,
input[type="week"]:focus,
input[type="time"]:focus,
input[type="datetime"]:focus,
input[type="datetime-local"]:focus,
input[type="color"]:focus,
textarea:focus {
  color: #111;
}

select {
  border: 1px solid #ccc;
}

textarea {
  width: 100%;
}

/*--------------------------------------------------------------
# Navigation
--------------------------------------------------------------*/
/*--------------------------------------------------------------
## Links
--------------------------------------------------------------*/
a {
  text-decoration: none;
}

a:hover,
a:focus,
a:active {
	/* 	color: #69beeb; */
	text-decoration: underline;
	text-decoration-color: var(--tw-gold);
}

a:hover,
a:active {
  outline: 0;
}

/*--------------------------------------------------------------
## Menus
--------------------------------------------------------------*/
.main-navigation {
  clear: both;
  display: block;
  margin: 0 auto;
  text-align: center;
  padding: 0px;
}

.main-navigation ul {
  list-style: none;
  margin: 0;
  padding-left: 0;
  display: flex;
  background: transparent;
  place-content: space-around;
}

.main-navigation ul ul {
    box-shadow: 0 3px 3px rgba(0, 0, 0, 0.2);
    float: left;
    position: absolute;
    top: 100%;
    left: -999em;
    z-index: 99999;
    text-align: left;
    background: #fff;
}

.main-navigation ul ul ul {
  left: -999em;
  top: 0;
}

.main-navigation ul ul li:hover > ul,
.main-navigation ul ul li.focus > ul {
  left: 100%;
}

.main-navigation ul ul a {
  width: 200px;
}

.main-navigation ul li:hover > ul,
.main-navigation ul li.focus > ul {
  display: block;
  left: auto;
}

.main-navigation li {
  position: relative;
}

.main-navigation a {
    display: block;
    text-decoration: none;
    color: #fff;
    padding: 5px 0;
}

.site-main .comment-navigation,
.site-main .posts-navigation,
.site-main .post-navigation {
  border-bottom: 1px solid #e2e4e7;
  margin: 0 auto 60px;
  max-width: 1200px;
  overflow: hidden;
  padding-bottom: 60px;
}

.nav-links {
  display: flex;
}

.comment-navigation .nav-previous,
.posts-navigation .nav-previous,
.post-navigation .nav-previous {
  width: 50%;
  flex: 1 0 50%;
}

.comment-navigation .nav-next,
.posts-navigation .nav-next,
.post-navigation .nav-next {
  text-align: end;
  flex: 1 0 50%;
}

/*--------------------------------------------------------------
# Accessibility
--------------------------------------------------------------*/
/* Text meant only for screen readers. */
.screen-reader-text {
  clip: rect(1px, 1px, 1px, 1px);
  clip-path: inset(50%);
  position: absolute !important;
  height: 1px;
  width: 1px;
  overflow: hidden;
  word-wrap: normal !important;
  /* Many screen reader and browser combinations announce broken words as they would appear visually. */
}

.screen-reader-text:focus {
  background-color: #f1f1f1;
  border-radius: 3px;
  box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
  clip: auto !important;
  clip-path: none;
  color: var(--tw-dark-blue);
  display: block;
  font-size: 14px;
  font-size: 0.875rem;
  font-weight: bold;
  height: auto;
  left: 5px;
  line-height: normal;
  padding: 15px 23px 14px;
  text-decoration: none;
  top: 5px;
  width: auto;
  z-index: 100000;
  /* Above WP toolbar. */
}

/* Do not show the outline on the skip link target. */
#primary[tabindex="-1"]:focus {
  outline: 0;
}

/*--------------------------------------------------------------
# Alignments
--------------------------------------------------------------*/

.alignleft,
.alignright {
  max-width: 1200px !important; /* Let's work to make this !important unnecessary */
}

.alignleft img,
.alignright img,
.alignleft figcaption,
.alignright figcaption {
  max-width: 50%;
  width: 50%;
}

.alignleft figcaption {
  clear: left;
}

.alignright figcaption {
  clear: right;
}

.alignleft img,
.alignleft figcaption {
  float: left;
  margin-right: 1.5em;
}

.alignright img,
.alignright figcaption {
  float: right;
  margin-left: 1.5em;
}

.aligncenter {
  clear: both;
  display: block;
  margin-left: auto;
  margin-right: auto;
}

/*--------------------------------------------------------------
# Widgets
--------------------------------------------------------------*/
.widget-area {
  width: 25%;
}

.widget {
  margin: 1.5em 0;
}

.widget select {
  max-width: 100%;
}

/*--------------------------------------------------------------
# Content
--------------------------------------------------------------*/
#page {
  margin: 0 auto;
  max-width: 100%;
}

.site-branding {
  text-align: center;
  margin: 0;
  display: flex;
  align-items: center;
  height: 100%;
}

.site-footer {
    margin: 0px;
    clear: both;
    float: left;
    width: 100%;
    background: var(--tw-blue-gradient);
    padding: 50px 0;
}

.site-info {
    float: left;
    width: 100%;
    max-width: 100%!important;
    margin: 0!important;
}

/*--------------------------------------------------------------
## Posts and pages
--------------------------------------------------------------*/
.sticky {
  display: block;
}

/* .hentry {
  margin: 60px 0;
} */

.updated:not(.published) {
  display: none;
}

/* .page-content,
.entry-content,
.entry-summary {
  margin: 1.5em 0 0;
} */

.entry-meta {
  color: #6c7781;
  font-size: 90%;
}

.page-links {
  clear: both;
  margin: 0 0 1.5em;
}

.entry-header,
.page-header,
.entry-footer,
.site-info,
.posts-navigation,
.post-navigation,
.page-navigation,
.comments-area,
.not-found .page-content,
.search .entry-summary {
  margin: 1.5em auto;
  padding-left: 14px;
  padding-right: 14px;
  max-width: 1600px;
}

.site-footer a {
    color: #fff;
    text-decoration: underline;
    display: inline-block;
}

.entry-header .wp-post-image {
  margin-bottom: 1.5em;
}

.entry-footer span {
  margin-right: 1em;
}

.entry-footer {
  color: #6c7781;
  font-size: 90%;
  padding-bottom: 40px;
  border-bottom: 1px solid #e2e4e7;
}

@media screen and (min-width: 608px) {
  .entry-header,
  .page-header,
  .entry-footer,
  .site-info,
  .posts-navigation,
  .post-navigation,
  .page-navigation,
  .comments-area,
  .not-found .page-content,
  .search .entry-summary {
    padding-left: 0;
    padding-right: 0;
  }
}

/*--------------------------------------------------------------
## Comments
--------------------------------------------------------------*/
.comment-content a {
  word-wrap: break-word;
}

.bypostauthor {
  display: block;
}

/*--------------------------------------------------------------
# Infinite scroll
--------------------------------------------------------------*/
/* Globally hidden elements when Infinite Scroll is supported and in use. */
.infinite-scroll .posts-navigation,
.infinite-scroll.neverending .site-footer {
  /* Theme Footer (when set to scrolling) */
  display: none;
}

/* When Infinite Scroll has reached its end we need to re-display elements that were hidden (via .neverending) before. */
.infinity-end.neverending .site-footer {
  display: block;
}

/*--------------------------------------------------------------
# Media
--------------------------------------------------------------*/
.page-content .wp-smiley,
.entry-content .wp-smiley,
.comment-content .wp-smiley {
  border: none;
  margin-bottom: 0;
  margin-top: 0;
  padding: 0;
}

/* Make sure embeds and iframes fit their containers. */
embed,
iframe,
object {
  max-width: 100%;
}

/* Make sure logo link wraps around logo image. */
.custom-logo-link {
  display: inline-block;
}

/*--------------------------------------------------------------
## Captions
--------------------------------------------------------------*/
.wp-caption {
  margin-bottom: 1.5em;
  max-width: 100%;
}

.wp-caption img[class*="wp-image-"] {
  display: block;
  margin-left: auto;
  margin-right: auto;
}

.wp-caption .wp-caption-text {
  margin: 0.8075em 0;
}

.wp-caption-text {
  text-align: center;
}

/*--------------------------------------------------------------
## Galleries
--------------------------------------------------------------*/
.gallery {
  margin-bottom: 1.5em;
}

.gallery-item {
  display: inline-block;
  text-align: center;
  vertical-align: top;
  width: 100%;
}

.gallery-columns-2 .gallery-item {
  max-width: 100%;
}

.gallery-columns-3 .gallery-item {
  max-width: 100%;
}

.gallery-columns-4 .gallery-item {
  max-width: 100%;
}

.gallery-columns-5 .gallery-item {
  max-width: 100%;
}

.gallery-columns-6 .gallery-item {
  max-width: 100%;
}

.gallery-columns-7 .gallery-item {
  max-width: 100%;
}

.gallery-columns-8 .gallery-item {
  max-width: 100%;
}

.gallery-columns-9 .gallery-item {
  max-width: 100%;
}

.gallery-caption {
  display: block;
}

.wp-caption {
    display: flex;
    flex-direction: column;
    width: auto!important;
    align-items: center;
}

/* Numbered H3s on single posts. The count runs on through the whole post. */
.single-post .original_layout {
	counter-reset: post-h3;
}

.single-post .original_layout h3 {
	counter-increment: post-h3;
}

/* The number box */
.single-post .original_layout h3::before {
	content: counter(post-h3);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 2em;
	height: 2em;
	padding: 0 0.4em;
	margin-right: 0.6em;
	vertical-align: middle;
	background: var(--tw-gold);
	color: var(--tw-dark-blue);
	font-family: Open Sans, sans-serif;
	font-size: 0.6em;
	font-weight: 600;
	line-height: 1;
	box-sizing: border-box;
	position: relative;
	top: -0.1em;
}

/* Headings that contain an image: image first, then the box and text. */
.single-post .original_layout h3:has(img) {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
}

.single-post .original_layout h3:has(img) img {
	order: -1;
	flex-basis: 100%;
}

.single-post .original_layout h3:has(img)::before {
	top: 0;
}

/* Never number headings inside adverts. */
.single-post .travel-adverts-section h3::before {
	content: none;
}

.single-post .travel-adverts-section h3 {
	counter-increment: none;
}

/*--------------------------------------------------------------
# Blockquotes
--------------------------------------------------------------*/

/* Standard quote: gold side rule (option A) */
blockquote,
blockquote.wp-block-quote {
	position: relative;
	margin: 50px 0;
	padding: 40px 30px 25px 40px;
	background: rgba(209, 209, 209, 0.15);
	border-left: 4px solid var(--tw-gold);
	color: var(--tw-dark-blue);
	font-style: italic;
	font-size: 1.1em;
	line-height: 1.7;
}

/* Big decorative quote mark */
blockquote::before,
blockquote.wp-block-quote::before {
	content: "\201C";
	position: absolute;
	top: -15px;
	left: 25px;
	font-family: Georgia, "Times New Roman", serif;
	font-size: 100px;
	font-style: normal;
	line-height: 1;
	color: var(--tw-gold);
	pointer-events: none;
}

blockquote::after {
	content: none;
}

blockquote p,
blockquote.wp-block-quote > * {
	margin: 0 0 1em;
	margin-left: 0;
}

blockquote > :last-child {
	margin-bottom: 0;
}

/* Who said it */
blockquote cite,
blockquote footer {
	display: block;
	margin-top: 15px;
	font-size: 0.7em;
	font-style: normal;
	font-weight: 400;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--tw-gold-text);
}

/* Pullquote block: centred with gold rules (option B) */
.wp-block-pullquote {
	margin: 60px auto;
	padding: 30px 20px;
	max-width: 800px;
	border-top: 2px solid var(--tw-gold);
	border-bottom: 2px solid var(--tw-gold);
	text-align: center;
}

.wp-block-pullquote blockquote {
	margin: 0;
	padding: 0;
	background: none;
	border: 0;
	font-style: normal;
}

.wp-block-pullquote blockquote::before {
	content: none;
}

.wp-block-pullquote p {
	font-family: "amandine", Open Sans, sans-serif;
	font-size: 1.6em;
	line-height: 1.5;
	color: var(--tw-dark-blue);
}

.wp-block-pullquote cite {
	font-size: 0.85em;
	font-style: italic;
	letter-spacing: 0;
	text-transform: none;
	color: var(--tw-blue-text);
}

@media (max-width: 600px) {
	blockquote,
	blockquote.wp-block-quote {
		margin: 40px 0;
		padding: 35px 20px 20px 25px;
		font-size: 1em;
	}

	blockquote::before,
	blockquote.wp-block-quote::before {
		left: 15px;
		font-size: 80px;
	}

	.wp-block-pullquote p {
		font-size: 1.3em;
	}
}

/* Post tabs: text card centred beside the featured image */
.post-tab-item {
	align-items: center;
}

.post-tab-secondary-image {
	display: block;
	overflow: hidden;
}

.post-tab-secondary-image img {
	transition: transform 0.4s ease;
}

.post-tab-secondary-image:hover img {
	transform: scale(1.05);
}

.post-tab-excerpt {
	margin: 0 20px;
	color: var(--tw-dark-blue);
}



/*--------------------------------------------------------------
# Mobile & tablet refinements
--------------------------------------------------------------*/

/* Post content: breathing room either side once the screen is narrower than the 1200px column */
@media (max-width: 1240px) {
	.original_layout {
		padding-left: 20px;
		padding-right: 20px;
	}
}

/* ---------- Tablet and below (900px) ---------- */
@media (max-width: 900px) {

	/* Headings: never push past the screen edge */
	h1, h2, h3 {
		overflow-wrap: break-word;
	}

	/* Archive + post hero: centred, even side padding */
	.grid.grid-pad.archive-hero-grid,
	.author .grid.grid-pad.archive-hero-grid {
		padding: 0 20px;
		gap: 30px;
	}

	.archive-hero {
		padding: 40px 0;
		margin-bottom: 0;
	}

	.archive-hero::before {
		left: 0;
		width: 100%;
		height: 70%;
	}

	.archive-hero-content {
		text-align: center;
	}

	.archive-title::after {
		left: 50%;
		transform: translateX(-50%);
		width: 60%;
	}

	/* Homepage top grid: no hover on touch, so show titles over the photos */
	.home-top-grid-overlay {
		opacity: 1;
		align-items: flex-start;
		justify-content: flex-end;
		padding: 20px;
		background: linear-gradient(to top, rgba(0, 15, 67, 0.85) 0%, rgba(0, 15, 67, 0.7) 50%, rgba(0, 15, 67, 0) 90%);
	}

	.home-top-grid-item:hover .home-top-grid-overlay {
		background: linear-gradient(to top, rgba(0, 15, 67, 0.85) 0%, rgba(0, 15, 67, 0.7) 50%, rgba(0, 15, 67, 0) 90%);
	}

	.home-top-grid-overlay h3 {
		font-size: 1.3em;
		line-height: 1.25;
		text-align: left;
	}

	.home-top-grid-overlay p {
		display: none;
	}

	/* Decorative grey panels look like misaligned blocks once stacked */
	.post-tab-panel.active::before,
	.featured-destination-section::before {
		display: none;
	}

	.post-tab-secondary-image img {
		height: auto;
		aspect-ratio: 4 / 3;
	}

	.featured-destination-image img {
		height: auto;
		aspect-ratio: 4 / 5;
		max-height: 75vh;
	}

	/* Video embeds scale with the screen */
	.original_layout iframe[src*="youtube"],
	.original_layout iframe[src*="vimeo"] {
		width: 100%;
		height: auto;
		aspect-ratio: 16 / 9;
	}

	/* Wide tables scroll sideways instead of breaking the page */
	.wp-block-table {
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
	}
}

/* ---------- Phones (767px) ---------- */
@media (max-width: 767px) {

	/* Type scale */
	h1 {
		font-size: 1.75em;
		line-height: 1.25;
	}

	h2 {
		font-size: 1.6em;
		line-height: 1.25;
	}

	h3 {
		font-size: 1.35em;
	}

	/* Homepage */
	.home-top-section {
		padding: 40px 0;
	}

	.home-top-intro {
		margin-bottom: 30px;
		padding: 0 20px;
	}

	.home-top-intro p {
		font-size: 0.95em;
		line-height: 1.7;
	}

	.home-top-grid-item {
		min-height: 240px;
	}

	.post-tabs-intro {
		margin-bottom: 25px;
		padding: 0 20px;
	}

	.post-tabs-buttons {
		gap: 8px;
		margin-bottom: 30px;
		padding: 0 20px;
	}

	.post-tab-button {
		padding: 8px 16px;
		font-size: 0.9em;
	}

	.post-tab-panel {
		padding-top: 30px;
	}

	.post-tab-title {
		margin-bottom: 40px;
	}

	.post-tab-item,
	.post-tab-item.mirrored {
		gap: 20px;
	}

	.post-tab-card h3 {
		margin: 0 20px 10px;
		font-size: 1.5em;
		line-height: 1.25;
	}

	.post-tab-excerpt {
		font-size: 0.95em;
		line-height: 1.7;
	}

	.featured-destination-section {
		padding: 40px 0;
	}

	.featured-destination-content h3 {
		margin: 30px 0 20px;
		font-size: 1.5em;
		line-height: 1.25;
	}

	.travel-advert-slide img {
		height: 300px;
	}

	/* "Step into our world": swipeable row instead of five tiny thumbnails */
	.insta {
		padding: 40px 0;
	}

	.insta h2,
	.insta p {
		padding: 0 20px;
	}

	.instabanner {
		display: grid;
		grid-auto-flow: column;
		grid-auto-columns: 42%;
		grid-template-columns: none;
		gap: 8px;
		padding: 30px 20px 0;
		overflow-x: auto;
		scroll-snap-type: x mandatory;
		scroll-padding: 0 20px;
		-webkit-overflow-scrolling: touch;
		scrollbar-width: none;
	}

	.instabanner::-webkit-scrollbar {
		display: none;
	}

	.instabanner img {
		width: 100%;
		aspect-ratio: 1 / 1;
		object-fit: cover;
		scroll-snap-align: start;
	}

	/* Newsletter */
	.sign-up {
		padding: 40px 0;
	}

	.sign-up-button {
		width: 100%;
		justify-content: center;
		padding: 12px 20px;
	}

	/* Archives */
	.archive-posts-section .grid,
	.sign-up .grid {
		padding-right: 20px;
	}

	.archive-hero-image img {
		height: auto;
		aspect-ratio: 4 / 3;
	}

	.archive-posts-section {
		padding-top: 30px;
	}

	.archive-posts-grid {
		gap: 40px;
	}

	.archive-post-image img {
		height: auto;
		aspect-ratio: 4 / 3;
	}

	.archive-post-card h3 {
		font-size: 1.2em;
		line-height: 1.35;
	}

	button#archive-load-more {
		margin-top: 40px;
		padding: 12px 40px;
		font-size: 0.9em;
	}

	/* Single posts */
	.post-meta {
		font-size: 0.9em;
	}

	.original_layout {
		font-size: 0.95em;
	}

	/* Numbered headings: wrapped lines line up with the text, not under the box */
	.single-post .original_layout h3:not(:has(img)) {
		display: flex;
		align-items: flex-start;
		line-height: 1.3;
	}

	.single-post .original_layout h3:not(:has(img))::before {
		flex-shrink: 0;
		top: 0;
		margin-top: 0.15em;
	}

	.wp-caption-text,
	.gallery-item figcaption {
		font-size: 0.85em;
		line-height: 1.5;
	}

	.you-may-also-like .post-tab-button-link {
		display: block;
		text-align: center;
	}

	blockquote,
	blockquote.wp-block-quote {
		margin-left: 0;
		margin-right: 0;
	}
}

/*--------------------------------------------------------------
# Post gallery slider (all screen sizes) — js/tw-gallery-slider.js
# One image at a time; swipe, trackpad or the arrows to move.
# Covers [gallery] shortcode galleries and block editor galleries.
# (!important is needed to beat WordPress core's gallery column widths.)
--------------------------------------------------------------*/
.single-post .gallery:not(.gallery-columns-1),
.single-post .wp-block-gallery.has-nested-images:not(.columns-1) {
	display: flex !important;
	flex-wrap: nowrap !important;
	align-items: flex-start !important;
	gap: 0 !important;
	margin-bottom: 0;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	scroll-behavior: smooth;
	overscroll-behavior-x: contain;
	-webkit-overflow-scrolling: touch;
	scrollbar-width: none;
}

.single-post .gallery:not(.gallery-columns-1)::-webkit-scrollbar,
.single-post .wp-block-gallery.has-nested-images:not(.columns-1)::-webkit-scrollbar {
	display: none;
}

.single-post .gallery br {
	display: none;
}

/* One slide = full width */
.single-post .gallery:not(.gallery-columns-1) .gallery-item,
.single-post .wp-block-gallery.has-nested-images:not(.columns-1) > figure.wp-block-image {
	flex: 0 0 100% !important;
	width: 100% !important;
	max-width: 100% !important;
	margin: 0 !important;
	scroll-snap-align: start;
	scroll-snap-stop: always;
}

.single-post .gallery:not(.gallery-columns-1) .gallery-item img,
.single-post .wp-block-gallery.has-nested-images:not(.columns-1) > figure.wp-block-image img {
	width: 100% !important;
	height: auto !important;
	aspect-ratio: 4 / 3;
	object-fit: cover;
}

.single-post .gallery-caption {
	padding: 0 10px;
}

/* Block gallery's overall caption sits under the arrows (moved there by the script) */
.tw-gallery-slider__caption {
	margin: 10px 0 0;
	font-size: 0.85em;
	font-style: italic;
	text-align: center;
}

/* Controls added by the script */
.tw-gallery-slider {
	margin-bottom: 1.5em;
}

.tw-gallery-slider__controls {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 20px;
	margin-top: 12px;
}

.tw-gallery-slider .tw-gallery-slider__btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	margin: 0;
	padding: 0;
	background: transparent;
	border: 1px solid var(--tw-gold-text);
	border-radius: 0;
	color: var(--tw-gold-text);
	cursor: pointer;
	transition: background-color 0.2s ease, color 0.2s ease, opacity 0.2s ease;
}

.tw-gallery-slider .tw-gallery-slider__btn:hover,
.tw-gallery-slider .tw-gallery-slider__btn:focus {
	border-color: var(--tw-gold-text);
}

.tw-gallery-slider .tw-gallery-slider__btn:active,
.tw-gallery-slider .tw-gallery-slider__btn:not([disabled]):hover {
	background: var(--tw-gold);
	color: var(--tw-dark-blue);
}

.tw-gallery-slider .tw-gallery-slider__btn[disabled] {
	opacity: 0.35;
	cursor: default;
}

.tw-gallery-slider .tw-gallery-slider__btn:focus-visible {
	outline: 3px solid var(--tw-focus-ring);
	outline-offset: 2px;
}

.tw-gallery-slider__btn svg {
	display: block;
	pointer-events: none;
}

.tw-gallery-slider__counter {
	min-width: 60px;
	color: var(--tw-dark-blue);
	font-size: 0.85em;
	letter-spacing: 0.1em;
	text-align: center;
}

/* Larger screens: wider frame, never taller than most of the window */
@media (min-width: 768px) {
	.single-post .gallery:not(.gallery-columns-1) .gallery-item img,
	.single-post .wp-block-gallery.has-nested-images:not(.columns-1) > figure.wp-block-image img {
		aspect-ratio: 3 / 2;
		max-height: 75vh;
	}

	.tw-gallery-slider__controls {
		margin-top: 16px;
	}
}


/*--------------------------------------------------------------
# Accessibility (WCAG 2.1 AA)
--------------------------------------------------------------*/

/* 2.4.7 Focus Visible / 1.4.11 Non-text Contrast
   One consistent, high-contrast focus indicator for every interactive element.
   The navy ring + white halo stays visible on white, navy and photo backgrounds. */
:focus-visible {
	outline: 3px solid var(--tw-focus-ring);
	outline-offset: 2px;
	box-shadow: 0 0 0 2px var(--tw-focus-halo);
}

/* Elements focused programmatically (skip-link target, dialog containers)
   don't need a ring of their own. */
[tabindex="-1"]:focus:not(:focus-visible),
#primary:focus {
	outline: 0;
	box-shadow: none;
}

/* Skip link sits above the fixed header */
.skip-link:focus {
	z-index: 100001;
}

/* 1.4.1 Use of Color
   Links inside running text are underlined so they don't rely on colour alone.
   Button-style links and image links are left as they are. */
.original_layout a:not(.post-tab-button-link):not(.wp-block-button__link):not(:has(img)),
.entry-content a:not(.post-tab-button-link):not(.wp-block-button__link):not(:has(img)),
.archive-description a,
.archive-subheader a,
.comment-content a,
.tmlns26 a,
.post-meta a {
	text-decoration: underline;
	text-underline-offset: 0.15em;
}

/* Home top grid: the title overlay was hover-only, so keyboard users
   could focus a card without seeing what it was. */
.home-top-grid-item:focus-visible .home-top-grid-overlay,
.home-top-grid-item:focus-within .home-top-grid-overlay {
	opacity: 1;
	background: #000000a8;
}

.home-top-grid-item:focus-visible img {
	transform: scale(1.05);
}

/* Extra legibility for white text sitting on photographs */
.home-top-grid-overlay {
	text-shadow: 0 1px 3px rgba(0, 0, 0, 0.6);
}

/* Post tabs: the selected tab is marked by its border (not colour alone) */
.post-tab-button[aria-selected="true"] {
	color: var(--tw-gold-text);
	border-color: var(--tw-gold-text);
}

/* Sign-up dialog */
.signup-popup-close {
	color: var(--tw-dark-blue);
	min-width: 44px;
	min-height: 44px;
}

.signup-popup-inner:focus {
	outline: 0;
}

.signup-popup-title {
	margin-top: 0;
}

/* Visually hidden live region used for status messages (e.g. Load More) */
.tw-sr-status {
	position: absolute !important;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	white-space: nowrap;
}

/* Contact page banner text (was an h2 placed before the page's h1) */
.pagebanner-title {
	margin: 0;
	font-family: "amandine", Open Sans, sans-serif;
	font-size: 2em;
	font-weight: 300;
	line-height: 1.4;
	text-transform: uppercase;
}

/* 2.3.3 / 2.2.2 Respect the "reduce motion" system setting */
@media (prefers-reduced-motion: reduce) {
	html {
		scroll-behavior: auto !important;
	}

	*,
	*::before,
	*::after {
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: 0.01ms !important;
		transition-delay: 0s !important;
		scroll-behavior: auto !important;
	}

	.home-top-grid-item:hover img,
	.home-top-grid-item:focus-visible img,
	.archive-post-card:hover .archive-post-image img,
	.post-tab-secondary-image:hover img {
		transform: none;
	}
}

/* Windows High Contrast / forced colours: keep focus and buttons visible */
@media (forced-colors: active) {
	:focus-visible {
		outline: 3px solid CanvasText;
	}

	.post-tab-button-link,
	.sign-up-button,
	.tw-nav__signup,
	.post-tab-button[aria-selected="true"] {
		border: 1px solid ButtonText;
	}
}

