/* NickH theme — rebuilt from WordPress style.css with kebab-case translation for Grav.  */
@font-face {
	font-display:swap;
	font-family:"Bricolage Grotesque";
	font-style:normal;
	font-weight:300;
	src:url("../fonts/bricolage-grotesque-v7-latin-300.woff2") format("woff2")
}
@font-face {
	font-display:swap;
	font-family:"Bricolage Grotesque";
	font-style:normal;
	font-weight:400;
	src:url("../fonts/bricolage-grotesque-v7-latin-regular.woff2") format("woff2")
}
@font-face {
	font-display:swap;
	font-family:"Bricolage Grotesque";
	font-style:normal;
	font-weight:600;
	src:url("../fonts/bricolage-grotesque-v7-latin-600.woff2") format("woff2")
}
@font-face {
	font-display:swap;
	font-family:"Bricolage Grotesque";
	font-style:normal;
	font-weight:700;
	src:url("../fonts/bricolage-grotesque-v7-latin-700.woff2") format("woff2")
}
body {
	--background: var(--nord6);
	--colour-text: var(--nord1);
	--colour-link: var(--nord3);
	--colour-link-hover:var(--nord9);
	--colour-button:var(--nord3);
	--colour-button-hover:var(--nord9);
	transition:all 0.2s linear
}
* {
	-moz-box-sizing:border-box;
	-webkit-box-sizing:border-box;
	box-sizing:border-box
}
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {
	margin:0;
	padding:0;
	border:0;
	font-size:100%;
	font:inherit;
	vertical-align:baseline
}
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
	display:block
}
body {
	line-height:1
}
ol, ul {
	list-style:none
}
blockquote, q {
	quotes:none
}
blockquote:before, blockquote:after, q:before, q:after {
	content:"";
	content:none
}
html {
	scroll-behavior:smooth
}
body {
	background: var(--background);
	font-size:14px;
	line-height:1.5;
	font-family:"Bricolage Grotesque", arial, sans-serif;
	font-weight: 300;
	color: var(--colour-text);
	-ms-text-size-adjust:none;
	-webkit-text-size-adjust:none;
	transition:all 0.2s linear
}
body.loaded {
	opacity:1;
	transition:opacity 0.2s linear
}
h1, h2, h3, h4, h5, h6 {
	color: var(--colour-text);
	font-family:"Bricolage Grotesque", arial, sans-serif;
	font-weight:600;
	line-height:1.1;
	margin-bottom:20px;
	text-wrap:balance
}
h3, h4, h5, h6 {
	margin-bottom:15px
}
h1 a, h2 a, h2 a:visited, h3 a, h4 a, h5 a, h6 a {
	color:var(--colour-text);
	font-weight:inherit;
	text-decoration:none
}
h1 {
	font-size:35px
}
h2 {
	font-size:27px
}
h3 {
	font-size:20px
}
h4 {
	font-size:16px
}
h5 {
	font-size:16px
}
h6 {
	font-size:16px
}
p {
	margin:0 0 16px 0
}
p img {
	margin:0
}
address {
	margin:0 0 16px 0
}
em {
	font-style:italic
}
strong {
	font-weight:600
}
.small-text {
	font-size:12px
}
.large-text {
	font-size:17px;
	line-height:1.4
}
.wp-caption {
	background:#eee;
	margin-bottom:20px
}
.wp-caption p {
	padding:5px 10px
}
.wp-caption .wp-caption-text:last-child {
	margin:0
}
@media only screen and (min-width:800px) {
	body {
		font-size:16px
	}
	h1 {
		font-size:45px
	}
	h2 {
		font-size:35px
	}
	h3 {
		font-size:25px
	}
	h4 {
		font-size:22px
	}
	.small-text {
		font-size:14px
	}
	.large-text {
		font-size:19px
	}
}

@media only screen and (min-width:1600px) {
	body {
		font-size:18px
	}
	h1 {
		font-size:48px
	}
	h2 {
		font-size:38px
	}
	h3 {
		font-size:28px
	}
	h4 {
		font-size:24px
	}
	.small-text {
		font-size:16px
	}
	.large-text {
		font-size:21px
	}
}


blockquote, blockquote p {
	color:var(--colour-text);
	font-style:normal
}
blockquote:last-child, blockquote p:last-child {
	margin:0
}
blockquote {
	background:#fafafa;
	margin:0 0 16px;
	padding:20px
}
blockquote cite {
	display:block;
	font-size:12px
}
blockquote cite a, blockquote cite a:visited {
	color:#555
}
hr {
	border:solid #ddd;
	border-width:1px 0 0;
	clear:both;
	margin:10px 0 30px;
	height:0
}
a, a:visited {
	color:var(--colour-link);
	font-weight:600;
	text-decoration:underline;
	transition:color 0.2s linear
}
a:hover {
	color:var(--colour-link) -hover;
	transition:color 0.2s linear
}
a:focus-visible {
	outline-color:var(--colour-text)
}
a:active {
	background:inherit
}
a[href]:not(:where([href^="#"], [href^="javascript:" i], [href^="/"]:not([href^="//"]), [href*="//nick-hayward.co.uk"], [href*="//bsky.app"], [href*="//mastodonapp.uk"], [href*="//www.nick-hayward.co.uk"])):after {
	background-image:url(../images/icon-external.svg);
	background-size:100%;
	content:"";
	display:inline-block;
	height:10px;
	margin-left:4px;
	opacity:0.5;
	vertical-align:baseline;
	width:10px
}
p a, p a:visited {
	line-height:inherit
}
ul, ol {
	margin:0 0 16px 32px
}
ul {
	list-style:disc outside
}
ol {
	list-style:decimal outside
}
ul ul, ul ol, ol ol, ol ul {
	margin:0 0 0 30px
}
dl {
	margin:0 0 30px 0
}
dt {
	font-weight:bold
}
dd {
	margin:0 0 0 30px
}
.wpcf7-submit {
	margin-bottom:10px
}
.sent .wpcf7-response-output, .positive, .wpcf7-mail-sent-ok {
	background-color:#006600;
	background-image:url(../images/icon-pos.svg);
	background-position:6px 8px;
	background-repeat:no-repeat;
	background-size:14px 14px;
	color:#fff;
	font-size:14px;
	padding:5px 10px 5px 28px
}
.invalid .wpcf7-response-output, .negative, div.wpcf7-validation-errors, div span.wpcf7-not-valid-tip {
	background-color:#c00;
	background-image:url(../images/icon-neg.svg);
	background-position:6px 8px;
	background-repeat:no-repeat;
	background-size:14px 14px;
	color:#fff;
	font-size:14px;
	padding:5px 10px 5px 28px
}
span.wpcf7-not-valid-tip {
	display:block
}
.wpcf7 br, .screen-reader-response {
	display:none
}
.fa-spin {
	-webkit-animation:fa-spin 2s infinite linear;
	animation:fa-spin 2s infinite linear
}
@-webkit-keyframes fa-spin {
	0% {
		-webkit-transform:rotate(0deg);
		transform:rotate(0deg)
	}
	100% {
		-webkit-transform:rotate(359deg);
		transform:rotate(359deg)
	}
}
@keyframes fa-spin {
	0% {
		-webkit-transform:rotate(0deg);
		transform:rotate(0deg)
	}
	100% {
		-webkit-transform:rotate(359deg);
		transform:rotate(359deg)
	}
}
.wpcf7-spinner {
	display:none
}
.submitting .wpcf7-spinner {
	display:inline-block
}
.wpcf7-spinner {
	background-image:url(../images/icon-refresh4.svg);
	background-position:center center;
	background-size:cover;
	-webkit-animation:fa-spin 1s infinite linear;
	animation:fa-spin 1s infinite linear;
	height:36px;
	margin-left:10px;
	transform-origin:center center;
	vertical-align:middle;
	width:36px
}
.wpcf7-spinner:before {
	display:inline-block;
	height:36px;
	transform-origin:center center;
	width:36px
}
tt, kbd, code, pre {
	font-family:monospace;
	white-space:pre-wrap
}
pre {
	margin-bottom:20px
}
sub, sup {
	font-size:80%;
	height:0;
	line-height:1;
	vertical-align:baseline;
	position:relative
}
sub {
	top:0.5ex
}
sup {
	bottom:1ex
}
var {
	font-style:italic
}
cite {
	font-style:italic
}
q:before {
	content:"“"
}
q:after {
	content:"”"
}
.left {
	float:left
}
.right {
	float:right
}
.imgleft, .alignleft {
	float:left;
	margin:0 20px 20px 0
}
.imgright, .alignright {
	float:right;
	margin:0 0 20px 20px
}
.aligncenter {
	display:block;
	margin:0 auto 20px auto
}
.centre {
	text-align:center
}
abbr, acronym {
	font-style:italic;
	text-decoration:underline
}
.mobile {
	display:none
}
table {
	border-collapse:collapse;
	border-spacing:0;
	margin:0 0 20px 0
}
th {
	background:#eee
}
th, td {
	border:1px solid #666;
	padding:10px
}
img {
	height:auto;
	max-width:100%
}
button {
	background:transparent;
	border:0
}
a::-moz-focus-inner, button::-moz-focus-inner, input::-moz-focus-inner {
	border:0;
	padding:0
}
.button, .button:visited, .btn, .btn:visited, input[type="submit"], input[type="reset"], input[type="button"] {
	background-color:var(--colour-button);
	border:0;
	border-radius:0;
	color:#fff;
	cursor:pointer;
	display:inline-block;
	font-family:"Bricolage Grotesque", arial, sans-serif;
	font-size:12px;
	font-weight:600;
	line-height:1.2;
	overflow:visible;
	padding:9px 15px;
	text-decoration:none;
	transition:background 0.2s linear;
	-webkit-appearance:none
}
.button:hover, .btn:hover, input[type="submit"]:hover, input[type="reset"]:hover, input[type="button"]:hover {
	background-color:var(--colour-button-hover);
	color:#fff;
	transition:background 0.2s linear
}
.button:active, .button:focus, .btn:active, input[type="submit"]:active, input[type="reset"]:active, input[type="button"]:active {
	box-shadow:inset 0 0 2px rgba(0, 0, 0, 0.5);
	color:#fff
}
input[type="submit"]:disabled {
	background:#999;
	cursor:not-allowed
}
@media only screen and (min-width:600px) {
	.button, .button:visited, .btn, .btn:visited, button, input[type="submit"], input[type="reset"], input[type="button"] {
		font-size:16px
	}
}
form {
	margin-bottom:20px
}
form>div, fieldset>div {
	margin-bottom:10px
}
fieldset {
	background:#fafafa;
	border:1px solid #eee;
	margin-bottom:20px;
	padding:30px
}
input[type="text"], input[type="password"], input[type="email"], input[type="tel"], input[type="number"], textarea, select {
	background:#fff;
	border:1px solid #ccc;
	border-radius:2px;
	-moz-border-radius:2px;
	-webkit-border-radius:2px;
	box-sizing:border-box;
	-moz-box-sizing:border-box;
	-webkit-box-sizing:border-box;
	color:#777;
	display:block;
	font-family:"Bricolage Grotesque", arial, sans-serif;
	font-size:12px;
	line-height:1.2;
	margin:0;
	padding:8px 10px;
	max-width:100%;
	width:100%;
	-webkit-appearance:none
}
input[type="text"]:focus, input[type="password"]:focus, input[type="email"]:focus, input[type="tel"]:focus, input[type="number"]:focus, textarea:focus {
	border:1px solid #aaa;
	-moz-box-shadow:0 0 3px rgba(0, 0, 0, 0.2);
	-webkit-box-shadow:0 0 3px rgba(0, 0, 0, 0.2);
	box-shadow:0 0 3px rgba(0, 0, 0, 0.2);
	color:#444
}
textarea {
	min-height:60px
}
.select-input {
	background-color:#fff;
	background-image:url(../images/icon-chev-down-grey.svg);
	background-position:right 12px top 50%;
	background-repeat:no-repeat;
	background-size:14px auto;
	border:1px solid #ccc;
	border-radius:2px;
	height:41px;
	min-width:200px;
	overflow:hidden;
	position:relative
}
.select-input:focus-within {
	outline:#005fcc auto 2px;
	outline-offset:1px
}
select {
	-ms-appearance:none;
	-webkit-appearance:none;
	-moz-appearance:none;
	background:transparent;
	cursor:pointer;
	border:0;
	display:block;
	font-family:"Bricolage Grotesque", arial, sans-serif;
	font-size:12px;
	font-weight:400;
	line-height:1.2;
	outline:0;
	padding:11px 11px 11px 12px;
	position:absolute;
	left:0;
	top:50%;
	text-indent:0.01px;
	text-overflow:"";
	-webkit-transform:translateY(-50%);
	transform:translateY(-50%);
	width:100%;
	z-index:999
}
select::-ms-expand {
	display:none
}
.widget_categories form {
	position:relative
}
.widget_categories form select {
	position:relative;
	top:auto;
	left:auto;
	transform:none
}
.widget_categories form .select-input {
	position:absolute;
	top:0;
	left:0;
	width:100%
}
input[type="checkbox"] {
	display:inline
}
@media only screen and (min-width:600px) {
	input[type="text"], input[type="password"], input[type="email"], input[type="tel"], input[type="number"], textarea, select {
		font-size:16px
	}
}
.container {
	-moz-box-sizing:border-box;
	-webkit-box-sizing:border-box;
	box-sizing:border-box;
	display:flex;
	flex-flow:column;
	margin:0;
	padding:0 20px;
	width:100%
}
.container .container {
	margin:0;
	width:100%
}
.container .one, .container .two, .container .three, .container .four, .container .five, .container .six, .container .seven, .container .eight, .container .nine, .container .ten, .container .eleven, .container .twelve, .container .one-quarter, .container .one-half, .container .three-quarter, .container .one-third, .container .two-thirds {
	hyphens:auto;
	margin:0;
	flex:0 0 100%
}
.row {
	margin:0 0 2% 0
}
@media only screen and (min-width:800px) {
	.container {
		background:transparent;
		display:flex;
			flex-flow:row;
			flex-wrap: wrap;
		position:relative;
		max-width: 1200px;
		margin:0 auto;
		padding:0 1%
	}
	.container .column, .container .columns {
		margin:0 1%
	}
	.container .one.column, .container .one.columns {
		flex:0 0 6.333%
	}
	.container .two.columns {
		flex:0 0 14.666%
	}
	.container .three.columns {
		flex:0 0 23%
	}
	.container .four.columns {
		flex:0 0 31.333%
	}
	.container .five.columns {
		flex:0 0 39.666%
	}
	.container .six.columns {
		flex:0 0 48%
	}
	.container .seven.columns {
		flex:0 0 56.333%
	}
	.container .eight.columns {
		flex:0 0 64.666%
	}
	.container .nine.columns {
		flex:0 0 73%
	}
	.container .ten.columns {
		flex:0 0 81.333%
	}
	.container .eleven.columns {
		flex:0 0 89.666%
	}
	.container .twelve.columns {
		flex:0 0 98%
	}
	.container .one-quarter.column {
		flex:0 0 23%
	}
	.container .one-half.column {
		flex:0 0 48%
	}
	.container .three-quarter.column {
		flex:0 0 73%
	}
	.container .one-third.column {
		flex:0 0 31.333%
	}
	.container .two-thirds.column {
		flex:0 0 64.666%
	}
	.column .container, .columns .container, .row {
		margin:0 -1% 2% -1%
	}
}
@media only screen and (min-width:1200px) {
	.container {
		padding:0
	}
}
.grid-row {
	clear:both;
	margin-bottom:2%;
	width:100%
}
.grid-row .column, .grid-row .columns {
	background:#eee;
	box-sizing:border-box;
	padding:10px
}
.grid-row .column .column, .grid-row .column .columns, .grid-row .columns .column, .grid-row .columns .columns {
	border:1px solid #ddd
}
.container:after {
	content:" ";
	display:block;
	height:0;
	clear:both;
	visibility:hidden
}
.clearfix:before, .clearfix:after, .row:before, .row:after {
	content:" ";
	display:block;
	overflow:hidden;
	visibility:hidden;
	width:0;
	height:0
}
.row:after, .clearfix:after {
	clear:both
}
.row, .clearfix {
	zoom:1
}
.clear {
	clear:both
}
.skip-link {
	position:absolute;
	left:50%;
	transform:translateY(-100%);
	z-index:9999
}
.skip-link:focus {
	transform:translateY(0%)
}
.wrap {
	background:transparent
}
#header {
	background: var(--nord5);
	height:80px;
	position:relative
	transition:opacity 0.2s linear
}
#header .container {
	height:80px;
	position:relative
}
#header a {
	color:var(--colour-text)
}
#header a:hover {
	color:var(--colour-link-hover)
}
#theme-toggle {
	position:absolute;
	top:28px;
	right:150px;
	display:block;
	padding:0;
	background:transparent;
	border:0;
	color:var(--colour-text);
	cursor:pointer;
	line-height:0
}
#theme-toggle:hover {
	opacity:0.75
}
#theme-toggle:focus-visible {
	outline:2px solid var(--colour-text);
	outline-offset:3px
}
#theme-toggle .theme-icon {
	display:none;
	width:24px;
	height:24px;
	pointer-events:none
}
body:not([data-theme-mode]) #theme-toggle .theme-icon-system,
body[data-theme-mode="system"] #theme-toggle .theme-icon-system,
body[data-theme-mode="light"] #theme-toggle .theme-icon-sun,
body[data-theme-mode="dark"] #theme-toggle .theme-icon-moon {
	display:block
}
body[data-theme-resolved="dark"] #theme-toggle {
	color:var(--colour-text)
}
@media only screen and (min-width:600px) {
	#header {
		position:relative
	}
}
@media only screen and (min-width:1200px) {
	#header {
		height:80px
	}
	#header .container {
		height:80px;
		position:relative
	}
}
#header-logo {
	font-size:20px;
	line-height:1.2;
	position:absolute;
	left:20px;
	bottom:28px;
	width:150px
}
#header-logo a {
	text-decoration:none
}
#header-logo svg, #header-logo img {
	display:block;
	height:50px;
	width:100%
}
@media only screen and (min-width:1200px) {
	#header-logo {
		font-size:30px;
		margin:0;
		position:absolute;
		left:1%;
		bottom:23px;
		width:auto
	}
}
#nav2 {
	display:none
}
#header-menu-mobile {
	-moz-box-sizing:border-box;
	-webkit-box-sizing:border-box;
	box-sizing:border-box;
	display:inline-block;
	font-size:0;
	position:absolute;
	top:25px;
	right:20px;
	vertical-align:top;
	z-index:2000
}
#header-menu-mobile .btn {
	background:transparent;
	color:#fff;
	font-size:0;
	padding:0
}
#header-menu-mobile .btn:active {
	box-shadow:none
}
#header-menu-mobile button {
	border-radius:0;
	display:block;
	font-size:0;
	height:29px;
	width:29px
}
#header-menu-mobile button span {
	background:var(--colour-button);
	display:block;
	font-size:0;
	height:5px;
	overflow:hidden;
	position:absolute;
	top:12px;
	left:0;
	transition:all 0.2s ease-in-out;
	width:29px
}
#header-menu-mobile button:before {
	background:var(--colour-button);
	content:"";
	height:5px;
	position:absolute;
	top:0;
	left:0;
	transition:all 0.2s ease-in-out;
	width:29px
}
#header-menu-mobile button:after {
	background:var(--colour-button);
	content:"";
	height:5px;
	position:absolute;
	bottom:0;
	left:0;
	transition:all 0.2s ease-in-out;
	width:29px
}
#header-menu-mobile button.nav-open:before {
	background:#fff;
	transform:rotate(45deg);
	top:12px;
	left:-3px;
	width:38px
}
#header-menu-mobile button.nav-open span {
	opacity:0;
	font-size:0
}
#header-menu-mobile button.nav-open:after {
	background:#fff;
	transform:rotate(-45deg);
	bottom:12px;
	left:-3px;
	width:38px
}
#header-contact-mobile {
	background-image:url(../images/icon-mobile.svg);
	background-position:center center;
	background-repeat:no-repeat;
	background-size:auto 100%;
	-moz-box-sizing:border-box;
	-webkit-box-sizing:border-box;
	box-sizing:border-box;
	display:inline-block;
	font-size:0;
	height:34px;
	position:absolute;
	top:25px;
	right:20px;
	vertical-align:top;
	width:30px
}
#header-contact-mobile a {
	display:block;
	font-size:0;
	height:34px;
	width:30px
}
@media only screen and (min-width:1200px) {
	#header-menu-mobile, #header-contact-mobile {
		display:none
	}
}
.social {
	position:absolute;
	top:28px;
	right:70px
}
@media only screen and (min-width:830px) {
	.social {
		position:absolute;
		top:28px;
		right:1%
	}
	.social a:last-child {
		margin-right:0
	}
}
#content {
	padding-top:50px;
	padding-bottom:50px
}
@media only screen and (min-width:830px) {
	.flex-content {
		overflow:hidden;
		padding-right:80px
	}
}
.transparent {
	background:transparent
}
.white {
	background:#fff
}
.green {
	background:var(--colour-button)
}
	.grey {
		background:#e6eded
	}
.icon svg {
	height:20px;
	margin-right:10px;
	vertical-align:middle
}
.icon.mobile svg {
	position:relative;
	top:-2px
}
.rounded {
	border-radius:10px;
	overflow:hidden
}
.shadow {
	box-shadow:0 0 10px rgba(0, 0, 0, 0.1)
}
.padded {
	padding:20px
}
@media only screen and (min-width:600px) {
	.padded {
		padding:30px
	}
}
.hero .container {
	padding:0
}
.hero .banner {
	background:#333;
	display:block;
	position:relative
}
.hero .banner img {
	display:block;
	width:100%
}
.hero .banner .inner {
	color:#fff;
	position:absolute;
	left:0;
	top:50%;
	transform:translateY(-50%);
	width:100%
}
.hero .banner .inner h1, .hero .banner .inner h2 {
	color:#fff;
	font-weight:bold;
	line-height:1.1;
	text-shadow:0 0 2px rgba(0, 0, 0, 0.8)
}
.hero .banner .inner a {
	color:#fff;
	text-decoration:none
}
.hero .banner .inner h1:last-child, .hero .banner .inner p:last-child {
	margin-bottom:0
}
@media only screen and (min-width:800px) {
	.hero .twelve.columns {
		margin:0;
		width:100%
	}
}
@media only screen and (min-width:1200px) {
	.hero .twelve.columns {
		margin:0 1%;
		width:98%
	}
}
.filler {
	padding:40px 0 0 0
}
@media only screen and (min-width:600px) {
	.filler {
		padding:70px 0 0 0
	}
}
.testimonials {
	background:#fff;
	background-position:center center;
	background-size:cover;
	clear:both;
	color:#fff;
	font-size:16px;
	padding:60px 20px 120px 20px;
	position:relative;
	text-align:center
}
.testimonials .container {
	position:inherit
}
.testimonials blockquote {
	padding:0 12%
}
.testimonials h2 {
	color:#fff;
	font-size:26px;
	line-height:1.2
}
.testimonials cite {
	opacity:0.75
}
.testimonials .tns-nav {
	display:none
}
.testimonials .tns-controls {
	position:absolute;
	bottom:-50px;
	left:0;
	text-align:center;
	width:100%;
	z-index:500
}
.tns-controls button {
	background:none;
	background-position:center center;
	background-repeat:no-repeat;
	background-size:100% auto;
	border:none;
	font-size:0;
	height:40px;
	margin:0 5px;
	width:40px
}
.tns-controls button:first-child {
	background-image:url(../images/icon-down-grey.svg);
	transform:rotate(90deg)
}
.tns-controls button:nth-child(2) {
	background-image:url(../images/icon-down-grey.svg);
	transform:rotate(-90deg)
}
.news-cards h2 {
	padding:0 20px;
	text-align:center
}
.news-cards .card {
	background:#fff;
	margin-bottom:40px
}
.news-cards .card .news-thumb img {
	display:block;
	width:100%
}
.news-cards .card .news-excerpt {
	padding:20px
}
@media only screen and (min-width:900px) {
	.news-cards .card {
		flex:0 0 31.333%;
		margin:0 1%
	}
	.news-cards .card .news-excerpt {
		padding:30px
	}
}
.gallery {
	background:transparent;
	clear:both;
	padding:0;
	text-align:center
}
.gallery .mygallery {
	display:flex;
	flex-wrap:wrap
}
.gallery .gallery-image {
	margin:0 1% 2% 1%;
	position:relative;
	flex:0 0 48%
}
.gallery .gallery-image a {
	display:block
}
.gallery .gallery-image img {
	display:block;
	object-fit:cover;
	height:100%;
	width:100%
}
.gallery .overlay {
	opacity:0;
	position:absolute;
	top:0;
	left:0;
	height:100%;
	width:100%;
	z-index:20;
	background:rgba(0, 0, 0, 0.5);
	overflow:hidden;
	transition:opacity 0.5s
}
.gallery .close-overlay {
	display:none
}
.gallery .gallery-image a:focus-visible .overlay, .gallery .gallery-image:hover .overlay {
	opacity:1;
	cursor:pointer;
	transition:opacity 0.5s
}
.gallery svg {
	color:#fff !important;
	opacity:0;
	height:40px;
	position:absolute;
	top:50%;
	left:50%;
	text-decoration:none;
	text-align:center;
	transition:opacity 0.5s;
	transform:translateX(-50%) translateY(-50%);
	width:40px;
	z-index:100
}
.gallery .gallery-image a:focus-visible svg, .gallery .gallery-image:hover svg {
	opacity:1;
	transition:opacity 0.5s
}
@media only screen and (min-width:400px) {
	.gallery .mygallery {
		flex-direction:row;
		flex-wrap:wrap
	}
}
@media only screen and (min-width:900px) {
	.gallery .gallery-image {
		margin:0 1% 2% 1%;
		flex:0 0 23%
	}
}
.two-column {
	clear:both;
	padding:0
}
.two-column .box {
	margin-bottom:20px
}
.two-column.boxed .box {
	padding:20px
}
.two-column p:last-child {
	margin:0
}
@media only screen and (min-width:600px) {
	.two-column {
		padding:0
	}
	.two-column .container {
		display:flex
	}
	.two-column.middle .container {
		align-items:center
	}
	.two-column .box {
		flex:0 0 46%;
		margin:0 2%
	}
	.two-column.boxed .box {
		padding:30px
	}
}
.three-column {
	padding:0
}
.three-column .box {
	margin-bottom:20px
}
.three-column.boxed .box {
	padding:20px
}
.three-column p:last-child {
	margin:0
}
@media only screen and (min-width:800px) {
	.three-column {
		padding:0
	}
	.three-column .container {
		display:flex
	}
	.three-column.middle .container {
		align-items:center
	}
	.three-column .box {
		flex:0 0 29.333%;
		margin:0 2%
	}
	.three-column.boxed .box {
		padding:30px
	}
}
.full {
	clear:both
}
.full p:last-child {
	margin:0
}
@media only screen and (min-width:800px) {
	.full .text {
		padding:0
	}
}
.boxes .box {
	flex-flow:row nowrap;
	flex-basis:33%;
	flex-grow:1;
	flex-shrink:1;
	margin-bottom:30px
}
.boxes .box:last-child {
	margin-bottom:0
}
.boxes .box p:last-child {
	margin:0
}
.boxes .gutters {
	margin:0 1%
}
@media only screen and (min-width:600px) {
	.boxes .normal {
		align-items:normal
	}
	.boxes .top {
		align-items:start
	}
	.boxes .middle {
		align-items:center
	}
	.boxes .box {
		margin-bottom:0
	}
}
.text-image {
	background-size:cover;
	background-position:center top;
	padding:0
}
.text-image .text {
	-moz-box-sizing:border-box;
	-webkit-box-sizing:border-box;
	box-sizing:border-box;
	color:#fff;
	float:none;
	margin:0 auto;
	padding:0;
	text-align:center;
	width:calc(96% - 24px)
}
.text-image .text h2, .text-image .text h3 {
	color:#fff
}
@media only screen and (min-width:600px) {
	.text-image .text.right {
		float:right;
		text-align:right;
		width:50%
	}
	.text-image .text.left {
		float:left;
		text-align:left;
		width:50%
	}
	.text-image .text.centre {
		display:block;
		float:none;
		margin:0 auto;
		width:50%
	}
}
.faqs {
	margin:0 auto;
	padding:0 20px
}
.faqs .faq {
	border-bottom:1px solid #eee;
	padding:12px 12px 12px 40px;
	position:relative
}
.faqs .faq:first-child {
	border-top:1px solid #eee
}
.faqs .faq .faq-question {
	cursor:pointer;
	margin-bottom:0;
	position:relative
}
.faqs .faq .show-faq {
	content:"";
	cursor:pointer;
	display:inline-block;
	font-size:0;
	height:24px;
	-moz-transition:all 0.2s linear;
	-webkit-transition:all 0.2s linear;
	transition:all 0.2s linear;
	position:absolute;
	top:15px;
	left:0;
	width:30px
}
.faqs .faq .show-faq svg {
	width:100%
}
.faqs .faq .faq-answer {
	max-height:0;
	opacity:0;
	overflow:hidden;
	transition:all 0.2s ease
}
.faqs .faq.active .show-faq {
	-ms-transform:rotate(180deg);
	-moz-transform:rotate(180deg);
	-webkit-transform:rotate(180deg);
	transform:rotate(180deg);
	-moz-transition:all 0.2s ease;
	-webkit-transition:all 0.2s ease;
	transition:all 0.2s ease
}
.faqs .faq.active .faq-answer {
	max-height:1000px;
	opacity:1;
	padding-top:20px;
	transition:all 0.2s ease
}
.tabs .container {
	max-width:800px
}
.tabs .tab-list {
	list-style:none;
	margin:0;
	position:relative;
	width:100%;
	z-index:400
}
.tabs .tab-list li {
	display:inline-block;
	margin:0;
	padding:0
}
.tabs .tab-list li button {
	background:#eee;
	border:1px solid #ddd;
	border-bottom:0;
	cursor:pointer;
	display:inline-block;
	margin:0;
	padding:10px 20px;
	text-decoration:none
}
.tabs .tab-list li button:hover {
	text-decoration:none
}
.tabs .tab-list li.active button {
	background:#fff;
	padding-bottom:11px
}
.tabs .tabs-panel {
	border:1px solid #ddd;
	margin-top:-1px;
	position:relative
}
.tabs .tab-content {
	background:#fff;
	box-sizing:border-box;
	display:none;
	opacity:0;
	overflow:hidden;
	padding:20px;
	position:relative;
	transition:all 0.2s linear;
	z-index:300
}
.tabs .tab-content.active {
	display:block;
	opacity:1;
	transition:all 0.2s linear
}
.accordion .container {
	max-width:800px
}
.accordion .accordion-panel h3 {
	background:#fafafa;
	border:1px solid #eee;
	margin:0;
	padding:10px 20px
}
.accordion .accordion-panel h3 a {
	cursor:pointer;
	display:block
}
.accordion .accordion-panel .inner {
	border:1px solid #eee;
	height:0;
	opacity:0;
	padding:0 20px;
	overflow:hidden;
	transition:all 0s linear
}
.accordion .accordion-panel.active .inner {
	height:unset;
	opacity:1;
	padding:20px;
	transition:opacity 0.2s linear, height 0.2s linear, padding 0s linear
}
.blog-listing .news-thumb {
	margin-bottom:20px
}
.blog-listing .news-thumb img {
	display:block;
	height:auto;
	max-width:100%
}
.blog-listing .post {
	margin-bottom:80px;
	max-width:800px
}
.blog-listing .post .news-text {
	padding:0
}
.blog-post .inner {
	padding:0 20px
}
.blog-post #bread {
	padding:0 20px 15px 20px
}
.blog-post .news-thumb {
	margin-bottom:20px
}
.blog-post .news-thumb img {
	display:block;
	height:auto;
	max-width:100%
}
.blog-post .post {
	max-width:800px
}
.blog-post h2, .blog-post h3, .blog-post h4 {
	padding-top:20px
}
@media only screen and (min-width:830px) {
	.blog-listing .post .news-text {
		padding:0
	}
	.blog-post .inner {
		padding:0
	}
	.blog-post #bread {
		padding:15px 0
	}
	.blog-post .entry {
		padding-bottom:50px
	}
}
.post-metadata span {
	display:inline-block
}
.blog-cat {
	padding:0 16px 0 0
}
.blog-date {
	padding:0 16px 0 0
}
.blog-comments {
	color:#999;
	padding:0 16px 0 0
}
.entry img {
	height:auto;
	max-width:100%;
	width:100%
}
.wp-caption {
	max-width:100%
}
.wp-caption-text {
	opacity:0.7
}
.navigation {
	clear:both;
	padding:40px 0;
	text-align:center
}
.navigation .navlink {
	display:inline-block
}
.navigation .alignleft, .navigation .alignright {
	float:none;
	margin:0 10px
}
.sidebar {
	list-style:none;
	margin:0;
	padding:0
	
}
.sidebar .panel {
	background: var(--nord5);
	margin-bottom: 1.5rem;
	padding: 1.5rem;
}
.sidebar #submit {
	float:left;
	margin-left:5px
}
.sidebar h2 {
	border-bottom:2px solid #111;
	padding-bottom:5px
}
.sidebar h3 {
}
.sidebar h3 a {
	color:var(--colour-text)
}
.sidebar>li {
	margin:0 0 60px 0
}
.sidebar li li {
	margin:0
}
.sidebar ul {
	list-style:none;
	margin:0
}
.sidebar form>div {
	margin:0
}
.sidebar label {
	display:none
}
@media only screen and (min-width:830px) {
	.sidebar {
		padding:0
	}
}
#s {
	float:left;
	margin-right:5px;
	width:50%
}
#searchform {
	display:block;
	margin:0;
	max-width:100%;
	position:relative;
	text-align:right;
	width:100%
}
#searchform input {
	height:46px;
	padding:0 12px
}
#search {
	position:absolute;
	left:0;
	right:75px
}
#s {
	border:none;
	border-radius:0
}
#search input[type="text"] {
	width:100%
}
#searchsubmit {
	width:60px
}
#searchwrapper {
	background:#eee;
	padding:10px
}
#searchwrapper label {
	display:none
}
#searchwrapper div {
	margin:0
}
.search-page {
	margin:0 auto;
	max-width:800px;
	padding:40px 20px
}
	#footer {
		background:var(--nord4);
		padding: 3rem 0;
		text-align:center
	}
	#footer a {
		
	}
#footer a:hover {
	
}
.btt {
	display:block;
	font-size:0;
	margin:0 auto;
	padding-top:30px;
	text-align:center;
	flex:0 0 100%;
}
.btt a {
	display:inline-block
}
.btt svg {
	height:auto;
	width:30px
}
.btt path {
	fill:var(--nord10);
	transition:color 0.2s linear
}
.btt a:hover path {
	fill:var(--nord9);
	transition:color 0.2s linear
}
@media only screen and (min-width:600px) {
	.mobile {
		display:block
	}
}
#wpadminbar {
	display:none
}
@media only screen and (min-width:960px) {
	#wpadminbar {
		display:block
	}
}
.wpcf7-form {
}
.wpcf7-form input[type="checkbox"] {
	appearance:none;
	background-color:#fff;
	background-position:50%;
	background-size:contain;
	background-repeat:no-repeat;
	border:1px solid #666;
	border-radius:5px;
	display:inline-block;
	height:24px;
	margin-right:10px;
	position:relative;
	top:0;
	vertical-align:top;
	width:24px
}
.wpcf7-form input[type="checkbox"]:focus {
	border-color:#918cad;
	border-radius:5px;
	box-shadow:0 0 0 0.25rem rgba(35, 24, 91, 0.25)
}
.wpcf7-form input:checked[type=checkbox] {
	background-color:#666;
	background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='m6 10 3 3 6-6'/%3E%3C/svg%3E")
}
.wpcf7-form .checkmark {
	background-color:#fafafa;
	border:1px solid #666;
	border-radius:5px;
	display:inline-block;
	height:25px;
	position:absolute;
	top:7px;
	left:0;
	width:25px
}
.wpcf7-form .checkmark:focus {
	border-color:#918cad;
	box-shadow:0 0 0 0.25rem rgba(35, 24, 91, 0.25)
}
.wpcf7-form .wpcf7:hover input[type="checkbox"]~.checkmarkx {
	background-color:#ccc
}
.wpcf7-form input[type="checkbox"]:checked~.checkmark {
	background-color:#666
}
.wpcf7-form .checkmark:after {
	content:"";
	position:absolute;
	display:none
}
.wpcf7-form input[type="checkbox"]:checked~.checkmark:after {
	display:block
}
.wpcf7-form .checkmark:after {
	border:solid white;
	border-width:0 3px 3px 0;
	display:inline-block;
	height:10px;
	position:absolute;
	left:8px;
	top:3px;
	width:5px;
	-webkit-transform:rotate(45deg);
	-ms-transform:rotate(45deg);
	transform:rotate(45deg)
}
.wpcf7-acceptance {
	display:inline-block;
	line-height:24px;
	margin:10px 0;
	position:relative
}
.wpcf7-acceptance .wpcf7-list-item {
	margin:0
}
.wpcf7-acceptance input {
	margin:0 10px 0 0;
	vertical-align:top
}
.wpcf7-acceptance label {
	display:block
}
.wpcf7-acceptance span {
	vertical-align:top
}
html .wcpt-product-form select {
	height:40px;
	width:100%
}
.social {
	font-size:0;
	margin-bottom:40px
}
.social a {
	display:inline-block;
	height:25px;
	margin:0 10px;
	vertical-align:middle
}
.social svg {
	height:100%;
	width:auto
}
.social a path {
	transition:all 0.2s linear
}
.social a:hover path {
	fill:var(--colour-link);
	transition:all 0.2s linear;
	&.mastodon-mid {
		fill: #fff;
	}
}

.social .youtube svg {
	height:25px;
	padding-top:5px
}
.social .bluesky {
	padding:2px
}
.social .linkedin {
	padding-top:2px
}
.fade-test {
	background:white;
	background:linear-gradient(180deg, white 0%, #eee 100%)
}
.fade-in {
	opacity:0;
	transition:opacity 0.5s ease-in-out
}
.in-view {
	opacity:1
}
.back-to-top {
	position:fixed;
	bottom:20px;
	right:20px;
	opacity:0;
	visibility:hidden;
	transition:opacity 0.2s ease-in-out, visibility 0.2s ease-in-out
}
.back-to-top.show {
	opacity:1;
	visibility:visible
}
@media (prefers-color-scheme:dark) {
	body:not([data-theme-mode]) {
		transition:all 0.2s linear;
		--background: var(--nord1);
		--colour-text:var(--nord4);
		--colour-button:var(--nord10);
		--colour-link:var(--nord4);
		--colour-button-hover:var(--nord9);
		--colour-link-hover:var(--nord6);
		color-scheme:dark;
		a:hover {
			color: var(--nord6);
		}
		a[href]:not(:where([href^="#"], [href^="javascript:" i], [href^="/"]:not([href^="//"]), [href*="//nick-hayward.co.uk"], [href*="//bsky.app"], [href*="//mastodonapp.uk"], [href*="//www.nick-hayward.co.uk"])):after {
			background-image:url(../images/icon-external-w.svg);
			background-size:100%;
			content:"";
			display:inline-block;
			height:12px;
			margin-left:4px;
			opacity:0.5;
			vertical-align:baseline;
			width:12px
		}
	}
	body:not([data-theme-mode]) #header {
		background:var(--nord2);
		transition:opacity 0.2s linear;
	}
	body:not([data-theme-mode]) #footer {
		background:var(--nord0);
	}
	body:not([data-theme-mode]) .btn,
	body:not([data-theme-mode]) button,
	body:not([data-theme-mode]) input[type="submit"] {
		color: #fff
	}
	body:not([data-theme-mode]) .btn:hover,
	body:not([data-theme-mode]) button:hover,
	body:not([data-theme-mode]) input[type="submit"]:hover {
		color: #fff
	}
	body:not([data-theme-mode]) .social svg path {
		fill:var(--colour-text)
	}
	body:not([data-theme-mode]) .social svg .mastodon-mid,
	body:not([data-theme-mode]) .social svg .mastom {
		fill:var(--background)
	}
	body:not([data-theme-mode]) .sidebar .panel {
		background :var(--nord2)
	}
}
body[data-theme-resolved="light"] {
	color-scheme:light
}
body[data-theme-resolved="dark"] {
	transition:all 0.2s linear;
	--background: var(--nord1);
		--colour-text:var(--nord4);
		--colour-button:var(--nord10);
		--colour-link:var(--nord4);
		--colour-button-hover:var(--nord9);
		--colour-link-hover:var(--nord6);
	color-scheme:dark;
	a:hover {
		color: var(--nord6);
	}
	a[href]:not(:where([href^="#"], [href^="javascript:" i], [href^="/"]:not([href^="//"]), [href*="//nick-hayward.co.uk"], [href*="//bsky.app"], [href*="//mastodonapp.uk"], [href*="//www.nick-hayward.co.uk"])):after {
		background-image:url(../images/icon-external-w.svg);
		background-size:100%;
		content:"";
		display:inline-block;
		height:12px;
		margin-left:4px;
		opacity:0.5;
		vertical-align:baseline;
		width:12px
	}
}
body[data-theme-resolved="dark"] #header {
	background:var(--nord2);
	transition:opacity 0.2s linear
}
body[data-theme-resolved="dark"] #footer {
	background:var(--nord0)
}
body[data-theme-resolved="dark"] .btn,
body[data-theme-resolved="dark"] button,
body[data-theme-resolved="dark"] input[type="submit"] {
	color: #fff
}
body[data-theme-resolved="dark"] .btn:hover,
body[data-theme-resolved="dark"] button:hover,
body[data-theme-resolved="dark"] input[type="submit"]:hover {
	color: #fff
}
body[data-theme-resolved="dark"] .social svg path {
	fill:var(--colour-text)
}
body[data-theme-resolved="dark"] .social svg .mastodon-mid,
body[data-theme-resolved="dark"] .social svg .mastom {
	fill:var(--background)
}
body[data-theme-resolved="dark"] .sidebar .panel {
	background :var(--nord2)
}
@media only screen and (min-width:1200px) {
	#nav2 {
		display:block;
		margin:0 0 20px 0;
		position:absolute;
		top:20px;
		left:350px
	}
	#nav2 ul {
		display:flex;
		justify-content:center;
		flex-wrap:wrap;
		margin:0;
		padding:0;
		list-style:none
	}
	#nav2 ul li {
		flex:0 0 auto;
		margin:0;
		padding:0;
		list-style:none;
		position:relative
	}
	#nav2 ul li a {
		display:block;
		height:40px;
		line-height:40px;
		margin-right:2px;
		padding:0 30px;
		text-decoration:none
	}
	#nav2 ul li button.sub-nav {
		display:none
	}
	#nav2 ul li .sub-menu {
		background:#fff;
		box-shadow:0px 2px 2px rgba(0, 0, 0, 0.3);
		display:none;
		padding:5px 0;
		position:absolute;
		top:40px;
		left:0;
		z-index:200
	}
	#nav2 ul li .sub-menu li {
		float:none
	}
	#nav2 ul li .sub-menu li a {
		border:none;
		height:auto;
		line-height:1.4;
		overflow:hidden;
		padding:10px 30px;
		width:180px
	}
	#nav2 ul li.open-subnav .sub-menu {
		display:block
	}
	.navclose {
		display:none
	}
	#nav2 a.mobile_handle {
		display:none
	}
	#nav2 .menu-item-has-children {
		position:relative;
		z-index:400
	}
	#nav2 .menu-item-has-children a {
		padding-right:30px
	}
	#nav2 .menu-item-has-children>a:after {
		background-image:url(../images/icon-chev-down-grey.svg);
		background-position:center center;
		background-repeat:no-repeat;
		background-size:auto 8px;
		content:"";
		display:inline-block;
		height:15px;
		opacity:1;
		position:absolute;
		right:12px;
		top:11px;
		transition:all 0.1s linear;
		vertical-align:middle;
		width:15px
	}
	#nav2 .open-subnav>a:after {
		opacity:0;
		transition:all 0.1s linear
	}
}
@media (prefers-color-scheme:dark) {
	body:not([data-theme-mode]) #nav2 ul li .sub-menu {
		background:var(--background)
	}
}
body[data-theme-resolved="dark"] #nav2 ul li .sub-menu {
	background:var(--background)
}
@media only screen and (max-width:1199px) {
	#nav2 {
		display:none;
		background:rgba(20, 20, 20, 0.95);
		-moz-box-sizing:border-box;
		-webkit-box-sizing:border-box;
		box-sizing:border-box;
		min-height:100vh;
		padding:20px 20px 100px 20px;
		position:absolute;
		top:0;
		left:0;
		right:0;
		text-align:left;
		width:100%;
		z-index:1500
	}
	#nav2.is-open,
	body.mobilenavopen #nav2 {
		display:block
	}
	#nav2 ul {
		border-top:1px solid rgba(255, 255, 255, 0.2);
		margin:80px auto 0 auto;
		max-width:300px
	}
	#nav2 ul li {
		border-bottom:1px solid rgba(255, 255, 255, 0.2);
		display:block;
		position:relative;
		float:none;
		margin:0;
		padding:0
	}
	#nav2 ul li a, #nav2 ul li a:link, #nav2 ul li a:visited {
		color:#fff;
		display:block;
		font-size:20px;
		font-weight:500;
		position:relative;
		float:none;
		padding:10px 0;
		clear:both;
		text-decoration:none;
		-moz-osx-font-smoothing:grayscale
	}
	#nav2 ul li a span, #nav2 ul li a:link span, #nav2 ul li a:visited span {
		display:block;
		font-size:15px;
		opacity:0.5
	}
	#nav2 ul li button.sub-nav {
		background:none;
		border:0;
		cursor:pointer;
		display:inline-block;
		font-size:0;
		position:absolute;
		right:0;
		top:6px;
		margin:0;
		padding:0;
		transform:rotate(0deg);
		-moz-transition:all 0.1s linear;
		-webkit-transition:all 0.1s linear;
		transition:all 0.2s linear;
		z-index:500
	}
	#nav2 ul li button.sub-nav.open {
		-ms-transform:rotate(180deg);
		-moz-transform:rotate(180deg);
		-webkit-transform:rotate(180deg);
		transform:rotate(180deg);
		-moz-transition:all 0.1s linear;
		-webkit-transition:all 0.1s linear;
		transition:all 0.2s linear
	}
	#nav2 ul li button.sub-nav .arrow-down {
		background-image:url(../images/icon-chev-down-white.svg);
		background-position:center center;
		background-repeat:no-repeat;
		background-size:100% auto;
		height:35px;
		-moz-transition:all 0.2s linear;
		-webkit-transition:all 0.2s linear;
		transition:all 0.2s linear;
		width:35px
	}
	#nav2 ul li.menu-item-has-children a:nth-child(2) {
		margin-right:40px
	}
	#nav2 ul ul {
		background:none;
		border:0;
		display:block;
		margin:0;
		max-height:0;
		overflow:hidden;
		padding:0;
		position:relative;
		-webkit-transition:max-height 0.2s;
		-moz-transition:max-height 0.2s;
		transition:max-height 0.2s;
		width:100%;
		z-index:999999
	}
	#nav2 ul ul.show {
		max-height:500px;
		-webkit-transition:max-height 0.8s;
		-moz-transition:max-height 0.8s;
		transition:max-height 0.8s
	}
	#nav2 ul ul li:first-child {
		border-top:1px solid rgba(255, 255, 255, 0.2)
	}
	#nav2 ul ul li:last-child {
		border-bottom:0
	}
	#nav2 ul ul a, #nav2 ul ul a:link, #nav2 ul ul a:visited {
		color:#aaa;
		padding:10px 0 10px 20px
	}
	#nav2 ul ul a:hover {
		color:#fff
	}
	#nav2 ul.sub-menu ul.sub-menu {
		display:none
	}
}
/*! PhotoSwipe main CSS by Dmytro Semenov | photoswipe.com */.pswp {
	--pswp-bg:#000;
	--pswp-placeholder-bg:#222;
	--pswp-root-z-index:100000;
	--pswp-preloader-color:rgba(79, 79, 79, 0.4);
	--pswp-preloader-color-secondary:rgba(255, 255, 255, 0.9);
	--pswp-icon-color:#fff;
	--pswp-icon-color-secondary:#4f4f4f;
	--pswp-icon-stroke-color:#4f4f4f;
	--pswp-icon-stroke-width:2px;
	--pswp-error-text-color:var(--pswp-icon-color)
}
.pswp {
	position:fixed;
	top:0;
	left:0;
	width:100%;
	height:100%;
	z-index:var(--pswp-root-z-index);
	display:none;
	touch-action:none;
	outline:0;
	opacity:0.003;
	contain:layout style size;
	-webkit-tap-highlight-color:rgba(0, 0, 0, 0)
}
.pswp:focus {
	outline:0
}
.pswp * {
	box-sizing:border-box
}
.pswp img {
	max-width:none
}
.pswp--open {
	display:block
}
.pswp, .pswp__bg {
	transform:translateZ(0);
	will-change:opacity
}
.pswp__bg {
	opacity:0.005;
	background:var(--pswp-bg)
}
.pswp, .pswp__scroll-wrap {
	overflow:hidden
}
.pswp__scroll-wrap, .pswp__bg, .pswp__container, .pswp__item, .pswp__content, .pswp__img, .pswp__zoom-wrap {
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%
}
.pswp__img, .pswp__zoom-wrap {
	width:auto;
	height:auto
}
.pswp--click-to-zoom.pswp--zoom-allowed .pswp__img {
	cursor:-webkit-zoom-in;
	cursor:-moz-zoom-in;
	cursor:zoom-in
}
.pswp--click-to-zoom.pswp--zoomed-in .pswp__img {
	cursor:move;
	cursor:-webkit-grab;
	cursor:-moz-grab;
	cursor:grab
}
.pswp--click-to-zoom.pswp--zoomed-in .pswp__img:active {
	cursor:-webkit-grabbing;
	cursor:-moz-grabbing;
	cursor:grabbing
}
.pswp--no-mouse-drag.pswp--zoomed-in .pswp__img, .pswp--no-mouse-drag.pswp--zoomed-in .pswp__img:active, .pswp__img {
	cursor:-webkit-zoom-out;
	cursor:-moz-zoom-out;
	cursor:zoom-out
}
.pswp__container, .pswp__img, .pswp__button, .pswp__counter {
	-webkit-user-select:none;
	-moz-user-select:none;
	-ms-user-select:none;
	user-select:none
}
.pswp__item {
	z-index:1;
	overflow:hidden
}
.pswp__hidden {
	display:none !important
}
.pswp__content {
	pointer-events:none
}
.pswp__content>* {
	pointer-events:auto
}
.pswp__error-msg-container {
	display:grid
}
.pswp__error-msg {
	margin:auto;
	font-size:1em;
	line-height:1;
	color:var(--pswp-error-text-color)
}
.pswp .pswp__hide-on-close {
	opacity:0.005;
	will-change:opacity;
	transition:opacity var(--pswp-transition-duration) cubic-bezier(0.4, 0, 0.22, 1);
	z-index:10;
	pointer-events:none
}
.pswp--ui-visible .pswp__hide-on-close {
	opacity:1;
	pointer-events:auto
}
.pswp__button {
	position:relative;
	display:block;
	width:50px;
	height:60px;
	padding:0;
	margin:0;
	overflow:hidden;
	cursor:pointer;
	background:none;
	border:0;
	box-shadow:none;
	opacity:0.85;
	-webkit-appearance:none;
	-webkit-touch-callout:none
}
.pswp__button:hover, .pswp__button:active, .pswp__button:focus {
	transition:none;
	padding:0;
	background:none;
	border:0;
	box-shadow:none;
	opacity:1
}
.pswp__button:disabled {
	opacity:0.3;
	cursor:auto
}
.pswp__icn {
	fill:var(--pswp-icon-color);
	color:var(--pswp-icon-color-secondary)
}
.pswp__icn {
	position:absolute;
	top:14px;
	left:9px;
	width:32px;
	height:32px;
	overflow:hidden;
	pointer-events:none
}
.pswp__icn-shadow {
	stroke:var(--pswp-icon-stroke-color);
	stroke-width:var(--pswp-icon-stroke-width);
	fill:none
}
.pswp__icn:focus {
	outline:0
}
div.pswp__img--placeholder, .pswp__img--with-bg {
	background:var(--pswp-placeholder-bg)
}
.pswp__top-bar {
	position:absolute;
	left:0;
	top:0;
	width:100%;
	height:60px;
	display:flex;
	flex-direction:row;
	justify-content:flex-end;
	z-index:10;
	pointer-events:none !important
}
.pswp__top-bar>* {
	pointer-events:auto;
	will-change:opacity
}
.pswp__button--close {
	margin-right:6px
}
.pswp__button--arrow {
	position:absolute;
	top:0;
	width:75px;
	height:100px;
	top:50%;
	margin-top:-50px
}
.pswp__button--arrow:disabled {
	display:none;
	cursor:default
}
.pswp__button--arrow .pswp__icn {
	top:50%;
	margin-top:-30px;
	width:60px;
	height:60px;
	background:none;
	border-radius:0
}
.pswp--one-slide .pswp__button--arrow {
	display:none
}
.pswp--touch .pswp__button--arrow {
	visibility:hidden
}
.pswp--has_mouse .pswp__button--arrow {
	visibility:visible
}
.pswp__button--arrow--prev {
	right:auto;
	left:0px
}
.pswp__button--arrow--next {
	right:0px
}
.pswp__button--arrow--next .pswp__icn {
	left:auto;
	right:14px;
	transform:scale(-1, 1)
}
.pswp__button--zoom {
	display:none
}
.pswp--zoom-allowed .pswp__button--zoom {
	display:block
}
.pswp--zoomed-in .pswp__zoom-icn-bar-v {
	display:none
}
.pswp__preloader {
	position:relative;
	overflow:hidden;
	width:50px;
	height:60px;
	margin-right:auto
}
.pswp__preloader .pswp__icn {
	opacity:0;
	transition:opacity 0.2s linear;
	animation:pswp-clockwise 600ms linear infinite
}
.pswp__preloader--active .pswp__icn {
	opacity:0.85
}
@keyframes pswp-clockwise {
	0% {
		transform:rotate(0deg)
	}
	100% {
		transform:rotate(360deg)
	}
}
.pswp__counter {
	height:30px;
	margin-top:15px;
	margin-inline-start:20px;
	font-size:14px;
	line-height:30px;
	color:var(--pswp-icon-color);
	text-shadow:1px 1px 3px var(--pswp-icon-color-secondary);
	opacity:0.85
}
.pswp--one-slide .pswp__counter {
	display:none
}
/* Grav-specific aliases and pagination fixes */
.gallery-grid {
	display:flex;
	flex-flow:row wrap;
	margin:20px -5px 0;
}
.gallery-item {
	box-sizing:border-box;
	flex:0 0 100%;
	padding:5px;
}
@media only screen and (min-width:600px) {
	.gallery-item {
		flex:0 0 50%;
	}
}
@media only screen and (min-width:900px) {
	.gallery-item {
		flex:0 0 33.333%;
	}
}
.pagination {
	clear:both;
	display:flex;
	justify-content:space-between;
	align-items:center;
	padding:40px 0;
}
.pagination .page-count {
	font-size:13px;
}
.screen-reader-text {
	border:0;
	clip:rect(1px, 1px, 1px, 1px);
	clip-path:inset(50%);
	height:1px;
	margin:-1px;
	overflow:hidden;
	padding:0;
	position:absolute;
	width:1px;
	word-wrap:normal;
}
.sidebar #searchform {
	margin-bottom:0;
}
.sidebar .select-input {
	display:block;
	min-width:0;
	width:100%;
}
.sidebar-feed {
	font-size:13px;
	margin-top:12px;
}
.sidebar-feed a {
	text-decoration:none;
}
#sidebar, .sidebar {
	list-style:none;
	margin:0;
	padding:0;
}
.btt {
	opacity: 0;
}
.btt.show {
	opacity: 1;
}
