﻿/*
Theme Name: TMOSL
Theme URI: https://lighthousemuseum.org.uk/
Description: WordPress theme built by <a href="http://www.hedleyenterprises.co.uk">hedley enterprises</a>. <strong>Web design</strong> starts with a coffee and a chat...
Version: 2 Build-0421
Author: <strong>hedley</strong> enterprises
Author URI: https://hedleyenterprises.co.uk

*/
:root {
	--main-color: #272526;
	--red: #752323;
	--brown: #debe85;
	--grey: #F2F2F2;
  	--lgrey: #fbfbfb;
  	--white: #FFFFFF;
	--black: rgba(0, 0, 0, 0.2);
	--lightshadow: rgba(184, 184, 184, 0.5);
	--shadow: rgba(46, 70, 137, 0.1);
    --smallboxshadow: 0 2px 5px;
    --boxshadow: 0 0.5em 1em;
}
html {
	scroll-behavior: smooth;
}
body {
	font-size:12pt;
    font-family: 'Poppins', sans-serif;
	margin:0;
	padding:0;
  	color: var(--main-color);
	opacity: 0;
	animation: fade-in 0.3s forwards 0.3s linear;
}
p::selection, h1::selection, h2::selection, h3::selection { background-color: #320101; color: #fff;}
p::-moz-selection, h1::-moz-selection, h2::-moz-selection, h3::-moz-selection { background-color: #320101; color: #fff; }

/* -------------------- Animation -------------------- */

section {
	opacity: 0;
}
.inverse, .show-menu {
	animation: fade-in 0.3s forwards 0.3s linear;
}
@keyframes fade-in {
	0% {
		opacity: 0;
	}
	100% {
		opacity: 1;
	}
}

/* -------------------- General Styles -------------------- */

.container {
    width: 95%;
    max-width: 1600px;
    margin-left: auto;
    margin-right: auto;
}
header {
    width: 100%;
    margin-left: auto;
    margin-right: auto;
}
.easy-reading {
	width: 80%;
	max-width: 600px;
	margin-left: auto;
	margin-right: auto;
}
a {
  text-decoration: none;
}
h1 {
	font-size: calc(2.3rem + 0.5vw);
}
h1, h2, h3, .image-link__text p, .image-link__heading {
	font-family: 'Playfair Display', serif;
	font-weight: normal;
}
.image-link__text p, .image-link__heading {
	text-transform: uppercase;
}
p, li {
	line-height: 1.9;
}
img {
	border-style: none;
}
.center {
	text-align:center;
}
.absol {
	position:relative;
}
.opacity {
	opacity: 0.5;
}
hr {
	width: 200px;
	margin-top: 3em;
	margin-bottom: 3em;
	border: solid thin var(--lgrey);
}
/* -------------------- Padding and Margins -------------------- */
.down {
	margin-top:3em;
}
.drop {
	margin-top:6em;
}
.ptb {
	padding-top: 3em;
	padding-bottom: 3em;
}
.alignright {
	float:right;
	padding-left: 20px;
	padding-bottom: 20px;
}
.alignleft {
	float:left;
	padding-right: 20px;
	padding-bottom: 20px;
}
.aligncenter {
	display: block;
	margin-left: auto;
	margin-right: auto;
}
.height {
	height: 100px;
}
/* -------------------- Colours / backgrounds -------------------- */
.red-background {
	background-color: var(--red);
}
.lighthouse-background {
	background-image: url('images/sketch.jpg');
	background-size: contain;
	background-position: center;
	background-repeat: no-repeat;
	background-color: var(--lgrey);
}
.grey-background {
	background-color: var(--lgrey);
}
.location a {
	color: var(--main-color);
}
.location a:hover {
	color: var(--red);
}
.general-information a, .modal-information a {
	color: var(--main-color);
	border-bottom: solid thin var(--red);
	font-weight: bold;
}
.general-information a:hover, .modal-information a:hover {
	color: var(--brown);
	border-bottom: solid thin var(--brown);
}
/* -------------------- Mobile -------------------- */
.top-nav, .top-button, .social-icons {
	display: none;
}
/* -------------------- Header -------------------- */
.inner header {
	border-bottom: solid 1px var(--grey);
}
.top-bar {
    color: var(--white);
    background-color: var(--red);
    padding: 0.5em;
    box-shadow: var(--boxshadow) var(--black);
    
}
.top-bar p {
    margin: 0;
}
.logo-grid {
	display: grid;
	grid-template-columns: 1fr;
	grid-gap: 30px;
	margin-top: 3em;
}
.logo-grid > div,
.nav-grid > div {
    align-self: center;
}
.logo {
    text-align: center;
}
.logo svg, .logo img {
    max-width: 205px;
    width: 100%;
    height: auto;
}
.top-button, .social-icons {
	justify-self: flex-end;
}
.border-line {
    margin-top: 1em;
    margin-bottom: 1em;
    border-top: solid 1px var(--grey);
}
.top-nav ul, .shop-icons ul, .social-icons ul {
    margin: 0;
    padding: 0;
    list-style: none;
}
.top-nav ul {
    display: flex;
    justify-content: space-between;
}
.top-nav li a {
	color: var(--main-color);
}
.top-nav li a:hover, .shop-icons a:hover {
	color: var(--brown);
}
.shop-icons ul, .social-icons ul {
    display: flex;
}
.shop-icons ul {
	justify-content: center;
}
.shop-icons li a {
	padding-right: 10px;
	color: var(--main-color);
}
.shop-icons img {
	width: 15px;
	height: auto;
}
.social-icons li a {
	padding-left: 10px;
}
.shop-icons li:nth-child(2) {
	margin-left: 5px;
}
.feature-banner {
	background-size: cover;
	height: 50vh;
	max-height: 500px;
	background-position: center;
}
/* -------------------- Navigation -------------------- */
.nav-grid {
    display: grid;
    grid-template-columns: 1fr;
	grid-gap: 10px;
}
.navigation {
	overflow: hidden;
	background-color: var(--grey);
	box-shadow: inset -10px 0 15px -10px rgba(0,0,0,.15);
}
nav .current_page_item a {
	color: var(--brown);
}
/* -------------------- Navigation Mobile -------------------- */
.navigation-mobile {
	width: 0;
	height: 100vh;
	position: absolute;
	top: 0;
	left: 0;
}
#navoverlay {
	background-color: var(--red);
	color: var(--white);
}
.mobile {
	display: none;
	opacity: 0;
}
.close-btn {
	display: block;
}
.menu-btn {
	cursor: pointer;
	width: 30px;
	position: absolute;
	top: 0.5em;
	left: 1em;
}
.mobile {
	position: fixed;
	padding: 2em;
	width: calc(100vw - 4em);
	height: calc(100vh - 4em);
	z-index: 200;
	overflow: scroll;
}
.close-btn {
	width: 28px;
	cursor: pointer;
	position: absolute;
	left: 1em;
	top: 0.5em;
}
.show-menu {
	opacity: 0;
	display: block;
}
ul.sub-menu {
	display:none;
}
.nav .sub-menu {
	margin-top: 20px;
	margin-bottom: 20px;
}
.nav .sub-menu li a {
	font-size: 16px;
	margin: 0;
	padding: 0;
	opacity: 0.8;
}
.nav .sub-menu li {
	margin: 0;
}
.slideDown {
  display: block;
}
.menu-contents {
	display: flex;
	flex-wrap: wrap;
	height: 100vh;
}
.nav ul {
	margin: 0;
	padding: 0;
	list-style: none;
}
.nav ul:nth-child(3) {
	margin: 3em 0 0 0;
}
.nav ul, .contact-nav ul, .social-nav ul {
	flex-wrap: wrap;
}
.nav li, .contact-nav li, .social-nav li {
	width: 100%;
	margin-left: 0;
	margin-bottom: 15px;
}
.nav, .contact-nav, .social-nav {
	align-self: center;
	width: 100%;
	text-align: center;
}
.nav, .contact-nav {
	margin-bottom: 20px;
}
.nav li a, .contact-nav li a {
	color: var(--white);
}
.nav li a:hover {
	color: var(--brown);
}
/* -------------------- Hamburger Icon -------------------- */
#Rectangle_27, #Rectangle_28, #Rectangle_29,
#Rectangle_30, #Rectangle_31, #Rectangle_32 {
	transition: all 0.5s ease-in-out;
}
#Rectangle_27 {
	transition: all 0.5s ease-in-out;
	transform: translate(334px, 30px);
}
#open-menu:hover #Rectangle_27 {
	transform: translate(332px, 30px);
}
#Rectangle_28 {
	transition: all 0.5s ease-in-out;
	transform: translate(334px, 36px);
}
#open-menu:hover #Rectangle_28 {
	transform: translate(326px, 36px);
}
#Rectangle_29 {
	transform: translate(334px, 42px);
}
#open-menu:hover #Rectangle_29 {
	transform: translate(316px, 42px);
}
/* -------------------- Drop-Down -------------------- */
nav ul ul {
	display: none;
}
nav ul li:hover > ul {
	display: block;
}
nav ul {
	padding: 0px 5px 0px 5px;
	list-style: none;
	position: relative;
	display: flex;
	flex-wrap: nowrap;
	overflow-x: auto;
	overflow-y: hidden;
	height: auto;
	justify-content: flex-start;
}
nav li {
	flex: 0 0 auto;
	width: max-content;
}
nav ul:after {
	content: ""; clear: both; display: block;
}
nav ul li {
	float: left;
}
nav ul li:hover {
	/* background-color: var(--brown); */
	border-radius: 10px;
}
nav ul li:hover a {
	color: var(--brown);
}
nav ul li a {
	display: block;
	padding: 0 20px;
	color: var(--main-color);
	text-decoration: none;
}
nav ul ul {
	background: var(--red); border-radius: 0px; padding: 0;
	position: absolute; top: 100%;
}
nav ul ul li {
	float: none;
	border-top: 1px solid #6b727c;
	border-bottom: 1px solid #575f6a; position: relative;
}
nav ul ul li a {
	padding: 10px;
	color: #fff;
}
nav ul ul li a:hover {
	background: var(--red);
	color: var(--brown);
}
nav ul ul ul {
	position: absolute; left: 100%; top:0;
}
/* -------------------- Page-title -------------------- */
.page-title h1, .page-title h2, .page-title-sub h1 {
	font-size: calc(2.3rem + 0.5vw);
	text-transform: uppercase;
}
.page-title-sub h1 {
	margin-bottom: 0;
}
.page-title-sub h2 {
	margin-top: 0;
}
/* -------------------- Image link -------------------- */
.image-grid {
	display: grid;
	grid-template-columns: 1fr;
	min-height: 50vh;
	background-color: var(--red);
}
.image-link-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
}
.image-grid .image-link:nth-child(3) {
	display: none;
}
.image-link__image {
	height: 100%;
	overflow: hidden;
}
.image-link__text {
	position: absolute;
	bottom: 1em;
	left: 1em;
	z-index: 1;
}
.image-link__heading {
	position: absolute;
	top: 50%;
	left: 1em;
	z-index: 1;
	width: 90%;
	box-sizing: border-box;
	transform: translateY(-50%);
}
.image-link__heading h1 {
	width: 10ch;
}
.image-link__text p {
	margin: 0;
}
.image-link a {
	color: var(--white);
} 
.image-link__image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.5s ease-in-out;
}
.image-link__image img:hover {
	transform: scale(1.2);
}
.castle-decoration {
	position: absolute;
	top: 70%;
	left: 50%;
	transform: translate(-50%, -70%);
}
.castle-decoration img, .castle-decoration svg {
	width: 100%;
	height: auto;
	max-width: 333px;
}
.circle-decoration {
	position: absolute;
	bottom: 0;
	right: 0;
	z-index: 1;
	opacity: 0.2;
}
.circle-decoration img, .circle-decoration svg {
	width: 100%;
	height: auto;
}
/* -------------------- Offside Image -------------------- */
.offside__image {
	margin-left: auto;
	width: 100%;
	max-width: 98%;
	margin-top: -100px;
	height: 80vh;
	overflow: hidden;
}
.offside__image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	border-radius: 10px 0 0 10px;
}
/* -------------------- Lighthouse Links -------------------- */
.lighthouse-links-grid {
	display: grid;
	grid-gap: 30px;
	grid-template-rows: 1fr;
	grid-auto-flow: column;
	grid-auto-columns: 90%;
	overflow-x: scroll;
	scroll-snap-type: x mandatory;
}

.lighthouse-links {
	display: flex;
	background-color: var(--white);
	box-shadow: var(--boxshadow) var(--lightshadow);
	border-radius: 10px;
	overflow: hidden;
	flex-wrap: wrap;
	transition: box-shadow 0.5s ease-in-out;
}
.lighthouse-links:hover {
	box-shadow: var(--boxshadow) var(--black);
}
.lighthouse-image {
	margin-right: 0;
	width: 100%;
	height: 300px;
}
.lighthouse-image img, .banner-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.lighthouse-text {
	padding: 1em;
}
.lighthouse-text a {
	color: var(--main-color);
}

/* -------------------- Split Col -------------------- */
.split-col {
	display: grid;
	grid-template-columns: 1fr;
}
.three-col-grid {
	display: grid;
	grid-template-columns: 1fr;
	grid-gap: 2em;
}
.side-image {
	grid-row: 3;
}
.split-col .leftcol {
	text-align: center;
}
/* -------------------- Download Pack -------------------- */
.download-pack {
	padding: 2em;
	border-radius: 10px;
	transition: box-shadow 0.5s ease-in-out;
	margin-top: 5em;
}
.download-pack:hover {
	box-shadow: var(--boxshadow) var(--lightshadow);
}
.download-pack a {
	color: var(--main-color);
}
.download-pack__image {
	width: 150px;
	height: 150px;
	border-radius: 50%;
	display: flex;
	justify-content: center;
	align-items: center;
	margin: auto;
	border: dashed 2px var(--brown);
	animation: rotate-border 5s ease-in-out alternate infinite;
}
@keyframes rotate-border {
	0% {
		border: dashed 2px var(--brown);
	}
	50% {
		border: dashed 2px var(--grey);
	}
	100% {
		border: dashed 2px var(--red);
	}
}
.download-pack__icon {
	background-color: var(--brown);
	width: 130px;
	height: 130px;
	border-radius: 50%;
	display: flex;
	justify-content: center;
	align-items: center;
}
/* -------------------- Admission -------------------- */
.admission td {
	border: dotted 1px var(--black);
	padding: 10px;
}
.admission td:nth-child(2n) {
	width: 100px;
	text-align: right;
}
.admission tr:hover, .admission li:hover {
	background-color: var(--grey);
}
.admission tr, .admission li {
	transition: background-color 0.2s ease-in-out;
}
.admission ul {
	display: flex;
	margin: 0;
	padding: 0;
	list-style: none;
	flex-wrap: wrap;
}
.admission li {
	flex-grow: 1;
	border: dotted 1px var(--black);
	width: 48%;
	padding: 10px;
	box-sizing: border-box;
	text-align: center;
}
.image-decoration img {
	width: 100%;
	height: auto;
	border-radius: 10px;
	max-width: 300px;
}
.fullimage-decoration img {
	width: 100%;
	height: auto;
	border-radius: 10px;
}
.admission hr {
	margin-top: 2em;
	margin-bottom: 2em;
	border: solid 1px var(--white);
}
.modal-information {
	padding: 1em;
}
/* -------------------- Search Form -------------------- */
.searchform {
	padding: 20px;
}
.searchform input {
	width: 100%;
	padding: 20px;
	box-sizing: border-box;
	border-radius: 50px;
}
.searchform #searchsubmit {
	max-width: 200px;
	margin-top: 10px;
}
.submitbutton {
	border: solid thin var(--white);
	background-color: var(--red);
	color: var(--white);
	font-weight: bold;
	width: 150px;
	cursor: pointer;
	transition: background-color 0.5s ease-in-out;
}
/* -------------------- Internal Search -------------------- */
.internal-search input {
	padding: 10px;
	box-sizing: border-box;
}
.internal-search form label {
	padding: 10px;
	display: none;
}
.internal-search {
	margin-top: 2em;
	margin-bottom: 2em;
}
.beginsearch {
	width: 100%;
	border-radius: 25px;
}
.submit {
	position: absolute;
	right: 0;
	border-radius: 50px;
	border: solid thin var(--white);
	background-color: var(--brown);
	color: var(--white);
	font-weight: bold;
	width: 150px;
	cursor: pointer;
	transition: background-color 0.5s ease-in-out;
}
#searchsubmit {
	cursor: pointer;
}
#searchsubmit:hover {
	background-color: var(--brown);
}
#searchform input:focus {
	color: var(--brown);
	font-weight: bold;
}
/* -------------------- Search -------------------- */
.search-results {
	width: 100%;
	margin-bottom: 60px;
	padding-bottom: 30px;
	border-bottom: solid 1px var(--lgrey);
	display: flex;
	flex-wrap: wrap;
}
#searchform input {
	border: solid thin #e5e5e5;
	outline: none;
	transition: border 0.5s ease-in-out;
}
#searchform input:focus {
	border: solid thin var(--brown);
}
.search-results:hover {
	border-bottom: solid 1px var(--brown);
}
.search-results-text h3, .search-results-text p {
	margin: 0;
	color: var(--main-color);
}
.search-results-image {
	width: 100px;
	height: 100px;
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
	background-image: url('images/discover-cullen-watermark.webp');
	margin-right: 30px;
}
.search-results-image img {
	width: 100%;
	height: 100%;
	border-radius: 50%;
	object-fit: cover;
}
.search-results-text {
	flex-grow: 1;
	width: 60%;
}
.search label {
	display: none;
}
.search-page input:nth-child(2) {
	width: 80%;
	flex-grow: 1;
}
.search-page #searchform {
	display: flex;
}
/* -------------------- Search Not Found -------------------- */
.not-found {
	text-align: center;
	margin-bottom: 5em;
}
.unhappy {
	font-size: 3rem;
	font-weight: bold;
}
#searchcar {
	padding-bottom: 3em;
}
/* -------------------- Location -------------------- */
.location svg {
	width: 40px;
	height: auto;
}
.location svg {
	animation: bounce 2s ease-in-out alternate infinite;
	transform-origin: center bottom;
}
@keyframes bounce {
	from,
	20%,
	53%,
	to {
	  animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
	  transform: translate3d(0, 0, 0);
	}
  
	40%,
	43% {
	  animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
	  transform: translate3d(0, -30px, 0) scaleY(1.1);
	}
  
	70% {
	  animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
	  transform: translate3d(0, -15px, 0) scaleY(1.05);
	}
  
	80% {
	  transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
	  transform: translate3d(0, 0, 0) scaleY(0.95);
	}
  
	90% {
	  transform: translate3d(0, -4px, 0) scaleY(1.02);
	}
}
/* -------------------- Meet the Team -------------------- */
.team-member {
	margin-bottom: 8em;
}
.team-member__image {
	width: 200px;
	height: 200px;
	overflow: hidden;
	border-radius: 50%;
	border: dashed 2px var(--brown);
	padding: 0.5em;
	margin: auto;
	background-image: url('images/team.png');
	background-position: center;
	background-repeat: no-repeat;
}
.team-member__image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	border-radius: 50%;
	animation-play-state: paused;
}
.team-member__title {
	text-align: center;
}
.team-member__title  h3 {
	margin-top: 0;
}
.team-member__title h2 {
	margin-bottom: 0;
}
/* -------------------- Gallery / Banner -------------------- */
.split-banner {
	display: grid;
	grid-template-columns: 1fr 1fr;
}
.gallery, .grid, .links {
	display: flex;
	flex-wrap: wrap;
}
.space {
	justify-content: space-between;
}
.gallery-item {
	float: left;
	width: 20%;
	flex-grow: 1;
	margin: 5px;
}
.gallery-item img {
	width: 100%;
	height: auto;
	border-radius: 10px;
}
.gallery-item img:hover {
	opacity: 0.6;
}
/* -------------------- Writing Posts -------------------- */
.writing-posts-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
	grid-gap: 60px 30px;
}
.writing-image {
	background-position: center;
	background-size: cover;
	height: 200px;
	overflow: hidden;
	border-radius: 0;
	background-color: var(--green);
	border-radius: 10px;
	box-shadow: 0 5px 1em var(--black);
}
.writing-gallery-link {
	display: flex;
	justify-content: center;
	height: 100%;
	opacity: 0;
	color: var(--white);
	transition: opacity 0.5s ease-in-out;
}
.writing-gallery-link:hover {
	  background-color: var(--main-color);
	  opacity: 0.7;
}
.writing-gallery-link h2 {
	margin: 0;
	font-size: 1rem;
	align-self: center;
}
.writing-gallery-link a {
	display: block;
	text-align: center;
}
/* -------------------- Button -------------------- */
.btn a {
	display: inline-block;
	min-width: 150px;
	text-align: center;
	border-radius: 50px;
	padding: 10px 15px;
}
.btn-main a, .btn-outline a:hover {
	color: var(--white);
	border: solid 1px var(--red);
	background-color: var(--red);
	box-shadow: var(--boxshadow) var(--lightshadow);
}
.btn-main a:hover, .btn-outline a {
	background-color: var(--white);
	color: var(--red);
	border: solid 1px var(--red);
}

/* -------------------- Footer -------------------- */
.footer-banner {
	background-size: cover;
	height: 400px;
	background-position: center;
}
footer {
	color: var(--white);
	background-color: var(--main-color);
	text-align: center;
}
footer a {
	color: var(--white);
}
footer a:hover {
	color: var(--brown);
}
.footer-grid {
	display: grid;
	grid-template-columns: 1fr;
	grid-gap: 2em;
	padding-top: 2em;
	padding-bottom: 2em;
}
.footer-details ul, .modal-information ul {
	margin: 0;
	padding: 0;
	list-style: none;
}
.footer-details ul:nth-child(3) {
	margin-top: 2em;
}
.footer-logo {
	align-self: center;
}
.copyright {
	font-size: 12px;
	padding: 5px 0;
	background-color: var(--black);
}
.copyright p {
	margin: 0;
}


/* ------------------------ Status Button ------------------------ */

.status, .status-notice {
	display: none;
}
.Show-Button .status {
	display: flex;
}
.Show-Button .status-notice {
	display: block;
}
.status {
    background-color: var(--brown);
    color: var(--white);
    width: 70px;
    height: 70px;
    position: absolute;
    border-radius: 50% 10px 50% 50%;
    text-align: center;
    font-size: 10pt;
    right: 0;
    top: 0;
    z-index: 1;
    justify-content: center;
    align-content: center;
}
.status p {
	align-self: center;
	line-height: 1;
	font-weight: bold;
}
.status-notice p {
    margin-top: 0;
	margin-bottom: -20px;
    line-height: 1;
    color: var(--brown);
}

/* ------------------------ Woocommerce Cart ------------------------ */
.in-stock {
	display: none;
}
.cart-contents:hover {
    text-decoration: none;
}
.cart-contents-count {
	color: var(--white);
	position: absolute;
	top: -10px;
	right: 0;
	background-color: var(--red);
	padding: 5px;
	border-radius: 50%;
	display: flex;
	justify-content: center;
	align-content: center;
	height: 7px;
	width: 7px;
	border: solid 1px var(--lgrey);
}
.cart-contents-count p {
	align-self: center;
	font-size: 8pt;
}

/* ------------------------ Woocommerce Override ------------------------ */
.paypal-button {
	display: none;
}
.check .paypal-button {
	display: block;
}
.check input {
	border: solid 1px var(--lgrey);
}
.check input:focus {
	border: solid 1px var(--lightbrown);
}
.shop-container {
	width: 90%;
	margin-left: auto;
	margin-right: auto;
	max-width: 800px;
}
.shop-container h1 {
	color: var(--lightbrown);
	font-size: 1.5em;
}
.shop-grid {
	display: grid;
	grid-template-columns: 1fr;
}
.shopping-grid {
	border-bottom: solid thin #e5e5e5;
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(200px,1fr));
	grid-gap: 30px;
	padding-bottom: 10px;
}
.shopping-links a {
    color: var(--main-color);
}
.term-description {
	border-bottom: solid thin #e5e5e5;
	margin-bottom: 30px;
	text-align: center;
}
.term-description p {
	max-width: 60ch;
	margin: 3em auto 3em auto;
}
.breadcrumb nav {
	justify-content: flex-start;
	display: flex;
}
.woocommerce-variation-add-to-cart {
	display: grid;
	grid-template-columns: 1fr;
}
.sku_wrapper,
.gift-bag .woocommerce-Price-amount {
	display: none;
}
.gift-bag {
	max-width: 290px;
	margin: auto;
	text-align: center;
	justify-content: center;
	margin-bottom: 3em;
}
.gift-bag p {
	margin: 0;
}
.gift-bag a {
	color: var(--lightbrown);
}
.gift-bag a:hover {
	color: var(--main-color);
}
.gift-bag .woocommerce .add_to_cart_inline {
	border: none!important;
}
div.quantity {
	padding-bottom: 2em;
}
/* Products */
.home .products-col-layout ul.painting-shop {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(300px,1fr));
}
.painting-shop .button {
	display: none !important;
}
.woocommerce-pagination {
	margin-top: 5em;
}
ul.painting-shop button {
	display: none;
}
ul.painting-shop {
	margin: 0;
	list-style: none;
	padding: 0;
	text-align: center;
	width: 100%;
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(250px,1fr));
	grid-gap: 30px;
}
.painting-shop li {
	transition: all 0.5s ease-in-out;
	position: relative;
	margin: 20px 10px 20px 0;
	border-radius: 10px;
	overflow: hidden;
	page-break-inside: avoid;
    will-change: transform;
}
.painting-shop li:hover {
	filter: grayscale(1);
	opacity: 0.8;
}
.painting-shop h2 {
	font-size: 1.1rem;
	margin: 0;
}
.painting-shop-pic {
	width: 100%;
	height: 200px;
	background-size: cover;
	background-repeat: no-repeat;
	background-position: center;
	margin-bottom: 1em;
}
.painting-shop a {
	display: block;
	width: 100%;
	color: var(--main-color);
}
.painting-shop .button {
	opacity: 0;
}
.painting-shop ins {
	content: "Sale";
	background-color: var(--lightbrown);
	padding: 1em;
	border-radius: 100%;
	height: 50px;
	width: 50px;
	position: absolute;
	justify-content: center;
	bottom: 5vh;
	right: 0;
	display: flex;
	color: var(--white);
	text-decoration: none;
}
.painting-shop img {
	height: 100%!important;
	width: 100%;
	object-fit: cover;
	border-radius: 10px;
}
.shop-other .painting-shop-pic img {
	height: 200px;
}
.shop-other .painting-shop-pic {
	height: 200px;
}
ins .woocommerce-Price-amount {
	align-self: center;
}
li.amount:nth-child(2) {
	color: red;
}
.product_meta {
	font-size: 10pt;
}
.woocommerce-ordering select {
	padding: 10px;
}
/* Product Titles */
.woocommerce-loop-category__title .count {
	display: none;
}
.woocommerce-loop-product__title {
	font-size: 14pt;
	text-decoration: none;
}
.woocommerce-LoopProduct-link.woocommerce-loop-product__link {
	text-decoration: none;
}
.price {
	display: block;
	margin: 10px auto;
	font-weight: bold;
}
.your-price {
	padding-right: 10px;
}
.card-products h2 {
	width: 100%;
	display: block;
}
.card-products img {
	opacity: 0;
}
.woocommerce div.product form.cart .button {
	display: block;
	width: 200px;
	margin-top: 0;
}
.woocommerce div.product form.cart {
	display: inline-grid;
	width: 100%;
}
.woocommerce div.product p.price, .woocommerce div.product span.price {
	color: #C21E29!important;
}
.woocommerce-variation-pricing .price {
	align-self: center;
}
.woocommerce #respond input#submit.alt, .woocommerce a.button.alt, .woocommerce button.button.alt, .woocommerce input.button.alt {
	background-color: var(--brown)!important;
}
.up-sells {
	width: 100%;
}
.woocommerce #respond input#submit, .woocommerce a.button, .woocommerce input.button {
	width: 100%;
	text-align: center;
	align-self: end;
}
.related .painting-shop li {
	background-color: #fff;
}
.related {
	padding: 60px 0;
}
.related h3 {
	text-align: center;
	width: 100%;
}
.coupon {
	display: flex;
}
.coupon .input-text {
	width: 100% !important;
}
.woocommerce #respond input#submit, .woocommerce a.button, .woocommerce button.button, .woocommerce input.button {
	box-sizing: border-box;
}

/* Single Product Styling */
.product {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.product-name a {
	color: #C21E29;
}
.posted_in {
	display: none;
}
.woocommerce-product-gallery {
	width: 46%;
}
.summary {
	width: 100% !important;
	align-self: center;
	display: grid;
	grid-template-columns: 1fr;
}
.summary b {
	grid-row: 2;
}
.entry-summary {
	order: 2;
}
.woocommerce-product-gallery {
	text-align: center;
	display: flex;
	flex-direction: column;
	justify-content: center;
	width: 100% !important;
	margin-left: auto;
	align-self: flex-start;
}
.variations select, #giftoption, #nameforgift {
	padding: 10px;
}
.white .quantity {
	float: none !important;
	margin: 0 4px 20px 0;
	height: 50px;
}
.input-text {
	padding: 10px;
}
.strat-options ul {
	margin: 0;
	list-style: none;
	padding: 0;
}
.wide {
	width: 100%;
}
.woocommerce-variation.single_variation {
	margin-bottom: 30px;
	font-weight: bold;
	border-bottom: solid 1px #e5e5e5;
}
.start-options {
	color: #001f5b
}
.reset_variations {
	color: var(--brown);
	text-decoration: none;
}
.woocommerce-tabs {
    width: 100%;
}
.summary b {
	font-size: 20pt;
}
.woocommerce-product-gallery__image {
	border-radius: 10px;
}
.wc-tabs-wrapper {
	width: 95%;
	margin: auto;
	display: none;
}

/* My Account */
.acc .content {
	margin: auto auto 60px auto;
	border-radius: 10px;
}
.content {
	margin: auto;
}
.tab-nav {
	width: 100%;
	margin-bottom: 60px;
}
.woocommerce-Addresses {
	display: flex;
	flex-grow: 1;
}
.woocommerce-Address {
	width: 48%;
	border-radius: 10px;
	height: 300px;
	margin: 10px;
	box-sizing: border-box;
	padding: 20px;
	display: grid;
	transition: all 0.5s ease-in-out;
}
.woocommerce-Address header {
	height: auto;
	margin:0;
}
.woocommerce-MyAccount-content form {
	width: 100%;
	display: flex;
	flex-wrap: wrap;
}
.address-fields p {
	width: 48%;
}
.card-type {
	width: 60%;
	margin: auto;
	text-align: center;
}
.address-fields p:nth-child(1n+3) {
	width: 100%;
}
.myaccount input, .myaccount textarea {
	border: solid thin #e5e5e5;
}
.myaccount .woocommerce form.login {
	border: none;
	padding: 0;
	margin: 0;
	text-align: left;
	border-radius: 0;
}
dl.variation p {
	display: initial;
	font-weight: bold;
	font-size: 12pt;
	line-height: 1.5em;
}
/*.woocommerce-error, .woocommerce-info, .woocommerce-message {
    width: 100%!important;
}*/
fieldset {
	width: 100%;
	margin-top: 40px;
	border: solid thin #e5e5e5;
}
.checkout.woocommerce-checkout {
	display: grid;
	flex-wrap: wrap;
	grid-template-columns: repeat(auto-fit, minmax(300px,1fr));
	grid-gap: 60px;
}
.col-1, .col-2 {
	width: 100%!important;
}
.woocommerce .col2-set .col-2, .woocommerce-page .col2-set .col-2 {
	float: left!important;
	width: 90%!important;
}
#order_review_heading {
	/* width: 100%; */
	display: none;
}
.woocommerce-notice.woocommerce-notice--success.woocommerce-thankyou-order-received {
	margin-bottom: 60px;
	font-weight: bold;
}
.woocommerce .woocommerce-customer-details, .woocommerce .woocommerce-order-details, .woocommerce .woocommerce-order-downloads {
	margin-bottom: 2em;
	margin-top: 60px;
}
#order_review {
	margin-top: 3em;
}
.variations .bold {
	font-size: 10pt;
	margin-bottom: -10px;
	font-weight: bold;
}
.woocommerce-cart-form__cart-item img {
	height: 150px;
	width: 100px;
}
.strat-options {
	width: 100%;
}
.woocommerce-remove-coupon {
	color: var(--brown);
}

.breadcrumb a {
	color: var(--main-color);
}
.breadcrumb-seperate {
	color: var(--brown);
}
.thwepo-extra-options input {
	padding: 10px;
	margin-bottom: 30px;
	border-radius: 10px;
	border: solid thin var(--brown);
	margin-top: 10px;
}
/* -------------------- Stripe -------------------- */
.form-row-wide {
	width: 100%;
}
.wc-credit-card-form {
	display: flex;
	flex-wrap: wrap;
}
.woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea {
	border-radius: 10px;
	border: solid thin var(--black);
}
.woocommerce-shipping-destination {
	display: none;
}
/* -------------------- WooCommerce Checkout -------------------- */
#billing_country_field {
	margin-top: 3em;
	margin-bottom: 3em;
}
#billing_phone_field {
	margin-top: 3em;
}
#billing_email_field {
	margin-bottom: 3em;
}
.woocommerce-info a, .woocommerce-privacy-policy-link, .woocommerce-terms-and-conditions-link {
	color: var(--main-color);
}
/* -------------------- Thank you -------------------- */
.woocommerce-thankyou-order-received {
	text-align: center;
}
ul.woocommerce-thankyou-order-details {
	display: grid!important;
	grid-template-columns: repeat(auto-fit, minmax(200px,1fr));
	grid-gap: 30px;
}
.woocommerce ul.order_details::before {
	display: none!important;
}
.woocommerce-order p {
	text-align: center;
}
.woocommerce-bacs-bank-details {
	margin-top: 5em;
	padding: 20px;
	background-color: var(--lightshadow);
	border-radius: 10px;
	margin-bottom: 5em;
}
.woocommerce-order-overview__email {
	word-wrap: break-word;
}
ul.wc-bacs-bank-details {
	margin: 0;
	padding: 0;
}
.bank_name {
	width: 100%;
	padding-bottom: 2em;
}
/* -------------------- WooCommerce Image Override -------------------- */

.woocommerce div.product .woocommerce-product-gallery--columns-4 .flex-control-thumbs li:nth-child(4n+1) {
	clear: none!important
}
.flex-control-thumbs li {
	width: auto!important;
}
.flex-control-thumbs img {
	max-width: 80px !important;
	width: 100%;
	height: auto;
	border-radius: 10px;
	border: solid 3px var(--white);
}
.product-thumbnail img {
    border-radius: 10px;
}


/*

	Author:				hedleyenterprises.co.uk - web design starts with a coffee and a chat...
	Description:	    CSS Stylesheet for Desktop Devices


*/

/* -------------------- 800 -------------------- */

@media all and (min-width: 50em) {
.logo svg, .logo img {
	max-width: 305px;
}
.logo-grid {
	margin-top: 2em;
}
}


/* -------------------- 1200 -------------------- */

@media all and (min-width: 75em) {
header {
	width: 95%;
	max-width: 1600px;
}
.border-line {
	margin-top: 2em;
	margin-bottom: 2em;
}
.lighthouse-links-grid {
	grid-template-columns: 1fr 1fr;
	overflow-x: visible;
}
.lighthouse-image {
	width: 40%;
}
.lighthouse-text {
	width: 60%;
}
.lighthouse-links {
	flex-wrap: nowrap;
}
.lighthouse-links-grid .lighthouse-links:nth-child(3) {
	display: none;
}
.shop-icons ul {
	justify-content: flex-start;
}
.navigation {
	display: flex;
	justify-content: center;
	background-color: var(--white);
	box-shadow: none;
}
.menu-btn {
	display: none;
}
.navigation-mobile, .desktop {
	display: none;
}
.logo-grid {
	grid-template-columns: 300px 2fr 300px;
}
.nav-grid {
	grid-template-columns: 250px 2fr 200px;
	justify-items: unset;
	margin-bottom: 0;
	grid-gap: 30px;
}
.top-nav, .top-button, .social-icons {
	display: block;
}
.border-line {
	margin-bottom: 0;
}
.three-col-grid {
	grid-template-columns: 1fr 2fr 1fr;
}
.side-image {
	grid-row: 1;
}
.split-col {
	grid-template-columns: 1fr 2fr;
}
.split-col .leftcol {
	text-align: left;
}
.image-grid {
	grid-template-columns: 2fr 1fr 1fr;
}
.image-link-grid {
	grid-template-columns: 1fr;
}
.image-grid .image-link:nth-child(3) {
	display: block;
}
.image-link__text {
	font-size: 2rem;
}

footer {
	text-align: left;
}
.footer-grid {
	grid-template-columns: repeat(auto-fit,minmax(200px,1fr));
}
.download-pack-options {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	grid-gap: 30px;
}
}

/*

	Author:				hedleyenterprises.co.uk - web design starts with a coffee and a chat...
	Description:	    CSS Stylesheet for Desktop Devices with bigger screens


*/


@media all and (min-width: 1400px) {
.nav-grid {
	grid-template-columns: 300px 2fr 300px;
}
}

