/*


	Table of Contents
	-----------------

	- Base
	  -- Flow
	  -- Typography
	  -- Forms
	  -- Layout
	  -- Navigation
	- Classes
	  -- Layout
	  -- Header
	  -- Banner
	  -- Carousel
	- State


	Colours
	-------

	black:          #111111
	black light:    #333333
	white:          #ffffff
	orange:         #f06600
	blue:           #004677
	paper:          #eaeaea


*/



/*===================================================================
	`Base
===================================================================*/

html { background: #eaeaea; color: #111111; font-family: 'IBM Plex Sans', sans-serif; line-height: 1.5; -webkit-text-size-adjust: 100%; }
html, body { overflow-x: hidden; }
*, *::before, *::after { background-repeat: no-repeat; box-sizing: border-box; color: inherit; font-family: inherit; font-size: inherit; margin: 0; padding: 0; }
[hidden] { display: none; }
:focus { outline: none; }
:focus:not([tabindex="-1"]) { outline: 4px solid #80b3ff; outline-offset: 0; }

@media (min-width: 1200px) {
	html {
	  font-size: calc(.625em + .5vw);
	}
}

/* `Flow */

* + * { margin-top: 1.5rem; }
body, body > *, body > * > *, header * + *, footer * + *, figure > *, dd, br, th, td, option, [hidden] + *, :empty:not(img) + * { margin-top: 0; }
* + h2 { margin-top: 3rem; }

/* `Typography */

h1, .h1 { font-size: 2.250rem; /* 36px */ line-height: 1.333; /* 48px */ }
h2, .h2 { font-size: 1.875rem; /* 30px */ line-height: 1.200; /* 36px */ }
h3, .h3 { font-size: 1.500rem; /* 24px */ line-height: 1.250; /* 30px */ }
h4, .h4 { font-size: 1.250rem; /* 20px */ line-height: 1.200; /* 24px */ }
h5, .h5 { font-size: 1.000rem; /* 16px */ line-height: 1.500; /* 24px */ }
small { font-size: 75%; }
sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; }
sub { bottom: -0.25em; }
sup { top: -0.5em; }
nav ul { list-style: none; }
img { border: 0; height: auto; max-width: 100%; width: 100% }
a { color: inherit; cursor: pointer; }
hr { background-color: #111111; background-image: linear-gradient(to right, #ddd, #111111, #ddd); border: 0; height: 1px; }
dt { font-weight: bold; }

/* `Forms */

[type="search"] { -webkit-appearance: textfield; outline-offset: -2px; }
[type="search"]::-webkit-search-decoration {  -webkit-appearance: none; }
::-webkit-file-upload-button { -webkit-appearance: button; font: inherit; }
button, input { overflow: visible; }
textarea { overflow: auto; }
legend { display: table; max-width: 100%; padding: 0; white-space: normal; }
progress { vertical-align: baseline; }
button, [type="submit"] { background: #004677; border: none; color: #ffffff; cursor: pointer; padding: .75em 1em; text-transform: uppercase; }
input[type="search"], input[type="text"], input[type="email"], textarea { border: none; color: #111111; padding: .75em 1em; width: 100%; }
select { color: #111111 !important; }
label { display: block; }
form ol { list-style: none; }
form ol li:not(:first-child) { margin-top: 1.5rem; }

/* `Layout */

body > a { background: #004677; color: #fff; display: block; padding: .5em 1em; position: absolute; left: -100%; z-index: 6; }
body > a:focus { left: auto; }
body > header { box-shadow: 0 0 9px rgba(0,0,0,.5); display: grid; grid-template-columns: 8em auto; align-items: center; background: #ffffff; position: relative; z-index: 5; }
body > header > *:nth-child(1) { grid-column: span 1; padding: 1rem; }
body > header > *:nth-child(2) { grid-column: span 1; align-self: stretch; justify-self: end; }
body > header > *:nth-child(3) { grid-column: span 2; }
body > footer { background: #111111; color: #ffffff; text-align: center; }
body > footer > * { padding: 1.5rem; }
body > footer > a { display: block; max-width: 15em; margin: 0 auto; }
body > footer > a img { display: block; width: 100%; }
body > aside { background: #f06600; color: #ffffff; padding: 6vw; text-align: center; }

@media (min-width: 768px) {
	body > footer { display: grid; grid-template-columns: 1fr 2fr 1fr; align-items: center; padding: 3vw 0; }
	body > footer > *:nth-child(4) { grid-column: span 3; }
}

@media (min-width: 1000px) {
	body > header { grid-template-columns: 6rem 1fr auto; padding: 0 1rem 0 1.5rem; }
	body > header > *:nth-child(1) { grid-area: 1 / 1 / 2 / 2; padding: 1rem 0; }
	body > header > *:nth-child(2) { grid-area: 1 / 3 / 2 / 4; }
	body > header > *:nth-child(3) { grid-area: 1 / 2 / 2 / 3; }
}


[aria-label="site"] { background: #111111; color: #ffffff; }
[aria-label="site"] a { display: block; padding: .75em 1em; text-decoration: none; }
[aria-label="site"] a:hover { text-decoration: underline; }

[aria-label="site"] ul > li:last-child > button { display: none; }
[aria-label="site"] form { display: flex; align-items: center; padding: 1em; max-width: 50ch; }
[aria-label="site"] form input { background: #dddddd; flex-grow: 1; }
[aria-label="site"] form button { flex: 0 1 7.5rem; }

@media (max-width: 999px) {
	[aria-label="site"] ul .current-menu-ancestor > a { background-color: #f06600; color: #111111; }
	[aria-label="site"] ul [aria-current="page"] { background-color: #f06600; color: #111111; }
	[aria-label="site"] ul ul { background-color: rgba(255,255,255,.1); font-style: italic; }
	[aria-label="site"] ul ul [aria-current="page"] { background-color: #444; color: #ffffff; }
	.js [aria-label="site"] button { display: block; width: 100%; }
	.js [aria-label="site"] > ul { height: 0; overflow: hidden; }
	.js [aria-label="site"] > ul.is-active { height: auto; }
	.js [aria-label="site"] > ul > li:last-child { fill: #fff; }
}

@media (min-width: 1000px) {
	[aria-label="site"] { background: none; color: #111; }
	[aria-label="site"] > ul { align-items: center; display: flex; flex-wrap: wrap; justify-content: center; padding: 1em; }
	[aria-label="site"] li { position: relative; }
	[aria-label="site"] > ul > li + li { margin: 0 1vw; }
	[aria-label="site"] a { padding: .5em .75rem; }
	[aria-label="site"] ul ul { background-color: #004677; color: #ffffff; display: block; height: 0; left: .75rem; min-width: 10em; overflow: hidden; position: absolute; text-align: left; top: 2.5rem; }
	[aria-label="site"] ul ul li + li { border-top: 1px solid #003961; }
	[aria-label="site"] ul li:hover ul { height: auto; }

	[aria-label="site"] ul > li:last-child > button { background: transparent; display: block; padding: .5em; }
	[aria-label="site"] form { display: none; padding: 0; position: absolute; top: 3.25rem; right: 0; width: 20rem; }
	[aria-label="site"] form.is-active { display: flex; }
	[aria-label="site"] form input { }
	[aria-label="site"] form button {}

}


/*===================================================================
	`Classes
===================================================================*/


/* `Layout */

.story { padding: 6vw; }
.story--callout { background: #ffffff; padding: 6vw; position: relative; z-index: 1; }
.story--introduction { background: #ffffff; background: linear-gradient(to bottom, #eaeaea 0%, #ffffff 100%); padding: 0 6vw; }
[class^="story__"] { max-width: 30em; margin-left: auto; margin-right: auto; }

@media (min-width: 768px) {
	.story__small  { max-width: 45em; }
	.story__medium { max-width: 60em; }
	.story__wide   { max-width: 70em; }
}

.grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(17em,1fr)); grid-gap: 1.5rem; }
.grid > * { margin-top: 0; list-style: none; }
.grid--small { grid-template-columns: repeat(auto-fit, minmax(10em,1fr)); }



/* `Header */

.site-logo { display: block; height: 0; padding-top: 78.333%; position: relative; width: 100%; }
.site-logo svg { left: 0; position: absolute; top: 0; }
.site-tagline { display: flex; flex-direction: column; justify-content: center; font-size: 0.9375em; padding-right: 1.5rem; }

@media (min-width: 480px) { 
	.site-tagline { background: url("/wp-content/themes/mannwest/img/ron-portrait.png") bottom right no-repeat; background-size: auto calc(100% - .75rem); width: 17em; }
}


/* `Banner */

.banner { background-color: #222222; background-position: center center; background-size: cover; color: #ffffff; min-height: 25vw; display: flex; flex-direction: column; justify-content: center; text-align: center; position: relative; padding: 6vw; overflow: hidden; }
.banner:after { content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: rgba(11,11,11,.2); }
.banner--single { min-height: 40vw; }
.banner--single:after { display: none; }
.banner--contact { background-image: url("/wp-content/themes/mannwest/img/banner-contact.jpg"); }
.banner--articles { background-image: url("/wp-content/themes/mannwest/img/banner.jpg"); }
.banner--search { background-image: url("/wp-content/themes/mannwest/img/banner-search.jpg"); }
.banner--archives { background-image: url("/wp-content/themes/mannwest/img/banner-archives.jpg"); }
.banner--podcasts { background-image: url("/wp-content/themes/mannwest/img/banner-podcasts.jpg"); }
.banner--books { background-image: url("/wp-content/themes/mannwest/img/banner-books.jpg"); }
.banner--videos { background-image: url("/wp-content/themes/mannwest/img/banner-videos.jpg"); }
.banner--404 { background-image: url("/wp-content/themes/mannwest/img/banner-404.jpg"); }
.banner__content { 
	z-index: 1; 
	margin-top: 25vw; /* move the title up a bit so it's not in the middle of the photos with faces */
}
.banner__content__title { color: #ffffff; white-space: pre-wrap; }
.banner__content__title span { background: #111111; box-shadow: -1rem 0 0 #111111, 1rem 0 0 #111111; padding: .25rem 0 .5rem 0; display: inline; box-decoration-break: clone; }
.banner__content__excerpt { max-width: 20em; }
.banner__content__meta { background: #f06600; display: inline-block; padding: .75rem 1rem; margin-top: 0; }
.banner__image { display: block; object-fit: cover; position: absolute; top: 0; left: 0; margin: 0; height: 100%; z-index: -1; opacity: .7; }

@media (min-width: 768px) {
	.banner--biography { background-image: url("/wp-content/themes/mannwest/img/banner-biography.png"); }
}


/* Introduction */

.home-intro > *:nth-child(1) { padding-top: 6vw; padding-bottom: 6vw; }
.home-intro > *:nth-child(2) img { display: block; }

@media (min-width: 768px) {
	.home-intro { display: grid; grid-template-columns: 1fr 1fr; text-align: left; }
	.home-intro > *:nth-child(1) { max-width: 30em; }
	.home-intro > *:nth-child(2) { align-self: flex-end; padding-top: 1vw; }
}


/* Quote */

.home-quote { font-size: 1.25rem; max-width: 35em; margin: 0 auto; font-style: italic; }
.home-quote cite { display: block; position: relative; margin-top: 3rem; font-style: normal; font-weight: bold; }
.home-quote cite:before { background: #f06600; content: ''; position: absolute; top: -1.5rem; left: 50%; margin-left: -1rem; height: .375rem; width: 2rem; }

@media (min-width: 768px) {
	.home-quote { font-size: 1.5rem; }
}


/* Subscribe form */

.subscribe { max-width: 34em; margin-left: auto; margin-right: auto; position: relative; }
.subscribe button { margin-top: 0; }

@media (min-width: 768px) {
	.subscribe input { display: block; width: 100%; padding-right: 10em; }
	.subscribe button { position: absolute; margin: 0; top: 0; right: 0; width: 9em; }
}


/* Cards */

.card { display: flex; flex-direction: column; overflow: hidden; text-align: left; text-decoration: none; transition: all 0.3s cubic-bezier(.25,.8,.25,1); }
.card__caption { flex-grow: 1; order: 2; background: #ffffff; margin-top: 0; padding: 1.5rem; padding-bottom: 6rem; position: relative; }
.card__caption__category { background: #004677; color: #fff; display: block; padding: .375rem 1rem; position: absolute; top: 0; right: 0; margin: 0; }
.card__caption__title { position: relative; margin-bottom: 2.25rem; }
.card__caption__title:after { background: #f06600; content: ''; position: absolute; bottom: -1.25rem; left: 0; height: .375rem; width: 2rem; }
.card__caption__more { position: absolute; bottom: 1.5rem; }
.card__caption__books { display: flex; list-style: none; padding: 0; align-items: center; justify-content: space-between; position: absolute; bottom: 0; left: 0; width: 100%; }
.card__caption__books li { margin: 0; padding: 1.5rem; }
.card__media { display: block; order: 1; margin-top: 0; position: relative; }
.card__media img { display: block; }

@media (min-width: 768px) {
	.card--boxed > .card__media img { object-fit: cover; height: 12em; }
	.card--books > .card__media img { object-fit: cover; height: 30em; }
}

@media (min-width: 768px) {
	.card--single { flex-direction: row; }
	.card--single > .card__caption { order: 1; width: 50%; }
	.card--single > .card__media { order: 2; width: 50%; }
	.card--single > .card__media img { object-fit: cover; height: 100%; min-height: 20em; }
}


/* Components */

.btn, .comment-reply-link { background: #004677; cursor: pointer; border: none; color: #ffffff; display: inline-block; padding: .75rem 1.25rem; text-decoration: none; }
.btn:hover, .comment-reply-link:hover { text-decoration: hover; }
.btn .icon { width: 1em; height: 1em; margin-left: .3em; right: -.3em; top: .1em; position: relative; }
.btn .icon svg { fill: #ffffff; width: inherit; height: inherit; }

.lede { font-size: 1.5rem; font-weight: bold; }

.video { position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden; }
.video + * { margin-top: 2.25rem; }
.video iframe, .video object, .video embed { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }

.social { list-style: none; }
.social ul { margin-top: 0;  }
.social li { margin: 0 .5rem; display: inline-block; }
.social a { display: block; width: 2em; height: 2em; }
.social svg { display: block; width: inherit; height: inherit; }

.story-meta { margin: 3rem 0; padding-bottom: .75rem; text-align: center; }
.story-meta__author { font-size: 1.25rem; font-weight: bold; }
.story-meta__social { list-style: none; }
.story-meta__social p { }
.story-meta__social ul { margin-top: .75rem;  }
.story-meta__social li { margin: 0 .5rem; display: inline-block; }
.story-meta__social a { display: block; width: 3em; height: 3em; }
.story-meta__social svg { display: block; width: inherit; height: inherit; }
.story-meta__social svg .primary { fill: #111111; stroke: #ffffff; }
.story-meta__social svg .secondary { fill: #ffffff; stroke: #ffffff; }

/*===================================================================
	`State
===================================================================*/

.vh { clip: rect(1px, 1px, 1px, 1px); position: absolute !important; }
.display-hidden { clip-path: inset(100%) !important; clip: rect(1px, 1px, 1px, 1px) !important; height: 1px !important; overflow: hidden !important; position: absolute !important; white-space: nowrap !important; width:1px !important }
.text-center { text-align: center; }

/*===================================================================
	`Components
===================================================================*/

input[type="text"],
input[type="email"],
input[type="submit"],
textarea,
.story--callout,
.pagination ul,
.btn,
.card,
.shadow {
	box-shadow: 0 3px 9px rgba(0,0,0,0.16);
	transition: all .3s cubic-bezier(.25,.8,.25,1);
}

input[type="text"]:hover, input[type="text"]:focus,
input[type="submit"]:hover, input[type="submit"]:focus,
textarea:hover, textarea:focus,
.pagination ul:hover, .pagination ul:focus,
.btn:hover, .btn:focus,
.card:hover, .card:focus,
.shadow:hover, .shadow:focus {
	box-shadow: 0 14px 28px rgba(0,0,0,0.25), 0 10px 10px rgba(0,0,0,0.22);
}

/*===================================================================
	`Components
===================================================================*/

.footer-menus { margin-top: 0; }
.footer-menus ul { margin-top: 1.5rem; }
.footer-menus li { display: inline-block; margin: .25em .75rem; }
.footer-menus a { display: block; }
.footer-menus__social { list-style: none; margin-top: .75em; max-width: 40em; margin-left: auto; margin-right: auto; }
.footer-menus__social li { margin: 0 .5rem; }
.footer-menus__social svg { display: block; width: 2.25em; height: 2.25em; }

@media (min-width: 768px) {
	.footer-menus__social svg { width: 3em; height: 3em; }
}

.book__cover { max-width: 16em; margin-left: auto; margin-right: auto; }	
.book__cover img { display: block; }
.book__details__subtitle { font-size: 1.25rem; margin-top: 0; }
.book__details__download { list-style: none; }
.book__details__prices { display: flex; flex-flow: row wrap; }
.book__details__prices > * { flex: 0 1 5em; padding-right: 1.5em; margin-top: 0; }
.book__details__prices dt { font-size: 1.5rem; }
.book__details__meta { }
.book__details__meta div { display: flex; margin-top: 0; }
.book__details__meta div + div { }
.book__details__meta dt { min-width: 7em; }
.book__details__meta dd { flex-grow: 1; }

@media (min-width: 768px) {
	.book { display: flex; }
	.book__cover { max-width: none; flex: 1 1 30%; }
	.book__details { margin-top: 0; flex: 1 1 70%; padding-left: 4vw; }
}

.pagination { margin-top: 3rem; text-align: center; }
.pagination * { margin: 0; }
.pagination ul { display: inline-flex; align-items: center; justify-content: center; flex-flow: row wrap; }
.pagination li > * { display: block; background: #004677; color: #ffffff; text-decoration: none; width: 3em; height: 3em; padding-top: .75em; }
.pagination li [aria-current="page"] { background: #f06600; }
.pagination a:hover { text-decoration: underline; }

.comments > h2 { text-align: center; }
.comments > ul li { list-style: none; }
.comments > ul li.comment .comment-body { background: #ffffff; padding: 1.5rem; }
.comments > ul li.comment .comment-body .comment-author { display: flex; align-items: center; font-size: 1.25rem; }
.comments > ul li.comment .comment-body .comment-author > * { margin: 0; }
.comments > ul li.comment .comment-body .comment-author img { max-width: 42px; margin-right: 1em; display: block; }
.comments > ul li.comment .comment-body .comment-author cite { font-style: normal; font-weight: bold; margin-right: .375em; }
.comments > ul li.comment .comment-body .comment-meta { margin-top: .75rem; }
.comments > ul li.comment .comment-body .reply {}
.comment-reply-title { text-align: center; }
.comment-notes { text-align: center; }

* + .comments .comment-respond { margin-top: 3rem; }
.comments .comment-respond label + * { margin-top: .375rem; }
.comments .comment-respond input[type="submit"] { margin-top: 1.5rem; }

.js-tabby .tabs { margin-bottom: 3rem; }
.js-tabby .tabs ul { display: flex; flex-flow: row wrap; margin-bottom: -.75em; margin-right: -.75em; text-align: center; padding: 0; }
.js-tabby .tabs li { border-bottom: 1px solid #111111; flex: 1 1 8em; margin-top: 0; margin-bottom: .75em; margin-right: .75em; }
.js-tabby .tabs a { background: none; display: block; padding: 0.75rem 1.5rem; text-decoration: none; }
.js-tabby .tabs a.is-active { background: #111111; color: #fff; text-decoration: none; }
.js-tabby .tabs-pane { border: 0; clip: rect(0 0 0 0); height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute; width: 1px; }
.js-tabby .tabs-pane.is-active { clip: auto; height: auto; margin: 0; overflow: visible; position: static; width: auto; }
.js-tabby .tabs-pane:focus { outline: none; }


/* `Featured Page(s)
-------------------------------------------------------------------*/

.featureBanner { background-color: #222222; background-position: center center; background-size: cover; color: #ffffff; display: flex; flex-direction: column; justify-content: center; min-height: 25vw; padding: 6vw; position: relative; }
.featureBanner:after { background: rgba(33,31,36,.9); content: ''; height: 100%; left: 0; position: absolute; top: 0; width: 100%; }
.featureBanner-content { max-width: 70em; margin-left: auto; margin-right: auto; width: 100%; z-index: 1; }
.featureBanner-content-main { }
.featureBanner-content-main-title { color: #ffffff; white-space: pre-wrap; }
.featureBanner-content-main-title span { background: #111111; box-decoration-break: clone; box-shadow: -1rem 0 0 #111111, 1rem 0 0 #111111; display: inline; padding: .25rem 0 .5rem 0; }
.featureBanner-content-main-meta { background: #f06600; display: inline-block; margin-top: 0; padding: .75rem 1rem; }
.featureBanner-content-sidebar { }
.featureBanner-content-sidebar img { box-shadow: 0 2px 10px rgba(0,0,0,.5); display: block; max-width: 20em; }
.featureBanner-content-main blockquote {}
.featureBanner-content-main blockquote cite { color: #f06600; display: block; margin-top: .75rem; }

@media (min-width: 600px) {
	.featureBanner-content { display: flex; align-items: center; }
	.featureBanner-content-main { flex: 1 1 66.666%; padding-right: 6vw; }
	.featureBanner-content-main blockquote { margin-top: 3rem; }
	.featureBanner-content-sidebar { flex: 1 1 33.333%; margin-top: 0; margin-bottom: -12vw; }
	.featureBanner-content-sidebar img { transform: rotate(3deg); max-width: none; }
}

.featureStory { padding: 6vw; }
.featureStory-content { max-width: 30em; margin-left: auto; margin-right: auto; }
.featureStory-content-main { background: #fff; border-bottom: .5rem solid #f06600; padding: 1.5rem; }
.featureStory-content-info { }

@media (min-width: 800px) {
	.featureStory-content { display: flex; max-width: 70em; align-items: flex-start; }
	.featureStory-content-main { flex: 1 1 33.333%; order: 2; margin-top: -6vw; padding-top: calc(6vw + 3rem); }
	.featureStory-content-info { flex: 1 1 66.666%; order: 1; padding-right: 6vw; }
}

.featureMeta { padding: 6vw; padding-top: 0; padding-bottom: 0; }
.featureMeta-content { max-width: 30em; margin-left: auto; margin-right: auto; }
.featureMeta-content .tabs { font-weight: bold; margin-bottom: 0; }
.featureMeta-content .tabs li { border-bottom: 0; }
.featureMeta-content .tabs a { background: none; text-decoration: underline; }
.featureMeta-content .tabs a.is-active { background: #fff; margin-bottom: -1px; box-shadow: 0 -2px 3px rgba(0,0,0,.1); color: #111; text-decoration: none; }
.featureMeta-content-extra ul > li { list-style: none; }
.featureMeta-content-extra ul > li li { margin-top: 0; list-style: disc; margin-left: 1.25em; }

.u-release { background: #fff; box-shadow: 0 -2px 3px rgba(0,0,0,.1); margin-left: calc(-50vw + 50%); margin-right: calc(-50vw + 50%); padding: 6vw; margin-top: 0; }
.u-constrain { max-width: 30em; margin-left: auto; margin-right: auto; }

@media (min-width: 600px) {
	.featureMeta-content { max-width: 70em; }
	.u-constrain { max-width: 50em; }
	.u-constrain > h2 { text-align: center; margin-bottom: 4.5rem; }
}

/*===================================================================
	`Wordpress
===================================================================*/

img.alignright  { display: inline; float: right; margin: 0 0 1.5rem 1.5rem; }
img.alignleft   { display: inline; float: left; margin: 0 1.5rem 1.5rem 0; }
img.aligncenter { display: inline; margin-left: auto; margin-right: auto; }
.alignright     { float: right; }
.alignleft      { float: left; }
.aligncenter    { display: block; margin-left: auto; margin-right: auto; }

@media (min-width: 400px) {
	img.alignright  { width: calc(50% - 1.5rem); }
	img.alignleft   { width: calc(50% - 1.5rem); }
}

h2, h3, h4 { clear: both; }

.wp-helper { font-size: 12px; text-transform: uppercase; position: absolute; top: 0; right: 0; background: rgba(255,0,255,0.2); display: inline-block; padding: 1em; }

.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; }

.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: 50%; }
.gallery-columns-3 .gallery-item { max-width: 33.33333%; }
.gallery-columns-4 .gallery-item { max-width: 25%; }
.gallery-columns-5 .gallery-item { max-width: 20%; }
.gallery-columns-6 .gallery-item { max-width: 16.66667%; }
.gallery-columns-7 .gallery-item { max-width: 14.28571%; }
.gallery-columns-8 .gallery-item { max-width: 12.5%; }
.gallery-columns-9 .gallery-item { max-width: 11.11111%; }
.gallery-caption { display: block; }

/*===================================================================
	`Plugins
===================================================================*/

.wp_cart_clear_float{ clear:both; }

.shopping_cart { font-size: 12px; padding: 5px; }
.shopping_cart h2{ font-size:14px; }
.shopping_cart img { border:none; box-shadow: none; width: 48px; }
.shopping_cart input{ width:auto !important; margin: 0; }
.shopping_cart .wspsc_cart_item_name_th{ text-align: left; }
.shopping_cart .wspsc_cart_qty_th, .shopping_cart .wspsc_cart_price_th{ text-align: center; }
.shopping_cart .wp_cart_item_thumbnail{ margin-right: 10px; }
.shopping_cart .wp_cart_item_thumbnail img{ max-width: 48px; float: left; }
.wp_cart_remove_item_form input[type="image"]{ border: none; }
.wp-cart-button-form input{ width: auto !important; }
.wp_cart_checkout_button:hover{ opacity:0.7; }

.wp_cart_button:hover{ opacity:0.7; }
.wp_cart_button_wrapper input{ margin: 0;	 }

.wpspsc_error_message{ color:red !important; font-weight:bold; }
.wpspsc_success_message{ color:green !important; font-weight:bold; }

/* product box display specific CSS */
.wp_cart_product_display_box{ border: 1px solid #E8E5DC; box-shadow: 0 0 1px 0 rgba(0, 0, 0, 0.2); margin-bottom: 25px; padding-bottom: 5px; width:300px; }
.wp_cart_product_thumbnail img{ max-width:100%; }
.wp_cart_product_display_bottom{ padding:10px 15px;	 }
.wp_cart_product_name{ color: #525351; font-size: 16px; font-weight: bold; line-height: 20px; margin: 0 0 10px 0; text-transform:uppercase; }
.wp_cart_product_description{ font-style:italic; }
.wp_cart_product_price{ color: #525351; display: block; font-size: 22px; font-weight: bold; line-height: 24px; margin: 0; padding: 10px 10px 10px 0; }
/* end of product display specific CSS */

/* Compact cart css */
.wpsps_compact_cart{ font-family:helvetica;	 background-color:#DDDDDD; border:1px solid #CCCCCC; max-width: 240px; min-width: 200px; padding: 10px 7px; margin:5px 0; }
.wpsps_compact_cart_container{ padding-left: 15px; font-size: 14px; }
.wpsps_compact_cart_price{ color: #6A872D; font-weight: bold; }
.wpsps_compact_cart_co_btn{ background-color: #A3A3A3 !important; color: #162636 !important; font-size: 14px !important; font-weight:normal !important; margin-left: 10px !important; padding: 5px 7px !important; text-decoration: none !important; width:auto !important; height:auto !important; }
/* End of compact cart css */

/* Compact cart 2 css */
.wspsc_compact_cart2{ background-color:#b4d613; border:1px solid #92B002; max-width: 140px; min-width: 140px; padding: 2px 2px; margin:10px 0; }
.wspsc_compact_cart2_container{ background: url('images/shopping_cart_icon_2.png') 6px 6px no-repeat; padding-left: 40px; }
.wspsc_compact_cart2_inside{ background: #262626; display: block; color: #FFFFFF; font-size: 14px; text-align: center; cursor: pointer; padding: 3px 0; }
.wspsc_compact_cart2_view_cart_link { color: #FFFFFF !important; text-decoration: none; }
.wspsc_compact_cart2_view_cart_link:hover { color: #FFFFFF !important; text-decoration: none; }
/* End of compact cart 2 css */





/* Slider */
.slick-slider { position: relative; display: block; box-sizing: border-box; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; -webkit-touch-callout: none; -khtml-user-select: none; -ms-touch-action: pan-y; touch-action: pan-y; -webkit-tap-highlight-color: transparent; }
.slick-list { position: relative; display: block; overflow: hidden; margin: 0; padding: 0; }
.slick-list:focus { outline: none; }
.slick-list.dragging { cursor: pointer; cursor: hand; }
.slick-slider .slick-track, .slick-slider .slick-list { -webkit-transform: translate3d(0, 0, 0); -moz-transform: translate3d(0, 0, 0); -ms-transform: translate3d(0, 0, 0); -o-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); }
.slick-track { position: relative; top: 0; left: 0; display: block; margin-left: auto; margin-right: auto; }
.slick-track:before, .slick-track:after { display: table; content: ''; }
.slick-track:after { clear: both; }
.slick-loading .slick-track { visibility: hidden; }
.slick-slide { display: none; float: left; height: 100%; min-height: 1px; } [dir='rtl'] .slick-slide { float: right; }
.slick-slide img { display: block; }
.slick-slide.slick-loading img { display: none; }
.slick-slide.dragging img { pointer-events: none; }
.slick-initialized .slick-slide { display: block; }
.slick-loading .slick-slide { visibility: hidden; }
.slick-vertical .slick-slide { display: block; height: auto; border: 1px solid transparent; }
.slick-arrow.slick-hidden { display: none; }

/* Slide Custom */

.homeCarousel * { margin: 0; }
.homeCarousel-frame { display: block; }
.homeCarousel-frame > img  { height: 60vw; object-fit: cover; min-height: 30em; }
.homeCarousel-frame > div  { position: absolute; margin: 1.5rem; margin-right: 2.5rem; top: 0; left: 0; z-index: 5; text-align: left; }
.homeCarousel-frame > div > h2 { color: #ffffff; font-size: 2.25rem; margin-left: 1rem; white-space: pre-wrap; position: relative; }
.homeCarousel-frame > div > h2 span { background: #111111; box-shadow: -1rem 0 0 #111111, 1rem 0 0 #111111; padding: .2rem 0 .45rem 0; line-height: 1.5; display: inline; box-decoration-break: clone; }
.homeCarousel-frame > div > .btn { background: #004677; margin-top: .2rem; }

.homeCarousel .slick-prev { position: absolute; bottom: 0; left: 0; right: auto; z-index: 1; }
.homeCarousel .slick-next { position: absolute; bottom: 0; left: auto; right: 0; z-index: 1; }

@media (min-width: 800px) {
	.homeCarousel-frame > img { height: 40vw; }
	.homeCarousel-frame > div { margin: 3rem; }
	.homeCarousel-frame > div > h2 { font-size: 2.75rem; max-width: 12em; }
}

/* Matthew Lock 15 April 2025 fix huge paypal image on checkout */
label[for="payment_method_ppcp-gateway"] img {
    width: 50px;
    height: auto;
}

