@charset "UTF-8";
@font-face {
  font-family: "HK Grotesk";
  src: url("../fonts/HKGrotesk-Regular.woff2") format("woff2");
  font-display: swap;
}
@font-face {
  font-family: "HK Grotesk Bold";
  src: url("../fonts/HKGrotesk-Bold.woff2") format("woff2");
  font-display: swap;
}
@font-face {
  font-family: "Batangas Bold";
  src: url("../fonts/Batangas-Bold.woff2") format("woff2");
  font-display: swap;
}
/*

Base Styles
===========

HTML, BODY, #wrapper styles

*/
:root {
  /* @link https://utopia.fyi/type/calculator?c=320,14,1.2,1150,16,1.2,8,1,&s=0.75|0.5|0.25,1.5|2|3|4|6,s-l */
  /*
  100 - 11.67 / 13.33
  200 - 14.00 / 16.00
  300 - 16.80 / 19.20
  400 - 20.16 / 23.04
  500 - 24.19 / 27.65
  600 - 29.03 / 33.18
  700 - 34.84 / 39.81
  800 - 41.80 / 47.78
  900 - 50.16 / 57.33
  1000 - 60.20 / 68.80
  */
  --size-100: clamp(0.73rem, calc(0.69rem + 0.20vw), 0.83rem);
  --size-200: clamp(0.88rem, calc(0.83rem + 0.24vw), 1.00rem);
  --size-300: clamp(1.05rem, calc(0.99rem + 0.29vw), 1.20rem);
  --size-400: clamp(1.26rem, calc(1.19rem + 0.35vw), 1.44rem);
  --size-500: clamp(1.51rem, calc(1.43rem + 0.42vw), 1.73rem);
  --size-600: clamp(1.81rem, calc(1.71rem + 0.50vw), 2.07rem);
  --size-700: clamp(2.18rem, calc(2.06rem + 0.60vw), 2.49rem);
  --size-800: clamp(2.61rem, calc(2.47rem + 0.72vw), 2.99rem);
  --size-900: clamp(3.14rem, calc(2.96rem + 0.86vw), 3.58rem);
  --size-1000: clamp(3.76rem, calc(3.56rem + 1.04vw), 4.30rem);
  /* @link https://utopia.fyi/space/calculator?c=320,16.4,1.2,1150,20,1.25,5,2,&s=0.75|0.5|0.25,1.5|2.1|3|4.5|6.2,s-l */
  /* 
  --space-3xs: 4px  / 5px
  --space-2xs: 8px  / 10px
  --space-xs:  12px / 15px
  --space-s:   16px / 20px
  --space-m:   25px / 30px
  --space-l:   34px / 42px
  --space-xl:  49px / 60px
  --space-2xl: 74px / 90px
  --space-3xl: 102px / 124px
  */
  --space-3xs: clamp(0.25rem, calc(0.23rem + 0.12vw), 0.31rem);
  --space-2xs: clamp(0.50rem, calc(0.45rem + 0.24vw), 0.63rem);
  --space-xs: clamp(0.75rem, calc(0.68rem + 0.36vw), 0.94rem);
  --space-s: clamp(1.00rem, calc(0.90rem + 0.48vw), 1.25rem);
  --space-m: clamp(1.56rem, calc(1.44rem + 0.60vw), 1.88rem);
  --space-l: clamp(2.13rem, calc(1.93rem + 0.96vw), 2.63rem);
  --space-xl: clamp(3.06rem, calc(2.80rem + 1.33vw), 3.75rem);
  --space-2xl: clamp(4.63rem, calc(4.24rem + 1.93vw), 5.63rem);
  --space-3xl: clamp(6.38rem, calc(5.84rem + 2.65vw), 7.75rem);
  --grid-gap: var(--space-l);
  --border-offset: var(--space-m);
  --size__site-tablet-content: calc(8 * (100vw / 12) - 28px);
  --size__site-desktop-content: calc(6 * (100vw / 12) - 28px);
  --ratio: 1.2;
  line-height: var(--ratio);
  --page-width: 94%;
}

html {
  font-family: "HK Grotesk", sans-serif;
}

@media (prefers-reduced-motion: no-preference) {
  html {
    scroll-behavior: smooth;
  }
}
*, *:before, *:after {
  box-sizing: border-box;
}

body {
  color: hsl(0deg, 0%, 13%);
  /* The background-color below used the footer background color to make it seem like 
  the footer is endless in the rare case where the page content makes the page length shorter than the browser window */
  background-color: hsl(0deg, 0%, 13%);
  background-image: url("../img/noise.png");
  min-width: 320px;
  overflow-x: hidden;
  width: 100%;
  margin: 0;
  font-size: var(--size-300);
}

audio, canvas, video {
  display: inline-block;
  *display: inline;
  *zoom: 1;
}

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

ul, ol, dd, menu, dl, figure, pre, table, fieldset, legend, hr,
h1, h2, h3, h4, h5, h6, p, a {
  margin: 0;
}

[id] {
  scroll-margin-top: 2ex;
}

.wrapper {
  max-width: 1100px;
  margin: 0 auto;
  width: var(--page-width);
}

/*

Icons
======

https://css-tricks.com/creating-a-maintainable-icon-system-with-sass/

*/
/* This triggers a redraw in IE to Fix IE8's :before content rendering. */
.icon,
[class^=icon--right-]:after,
[class*=" icon--right-"]:after,
[class^=icon--left-]:before,
[class*=" icon--left-"]:before {
  display: inline-block;
  vertical-align: middle;
  background-repeat: no-repeat;
  background-position: 0 0;
  width: 2em;
  height: 2em;
  fill: currentColor;
  background-size: 2em;
}

[class*=icon--left-],
[class*=icon--right-] {
  position: relative;
}

[class*=icon--left-] {
  padding-left: 52px !important;
}

[class*=icon--right-] {
  padding-right: 52px !important;
}

[class*=icon--left-]:before,
[class*=icon--right-]:after {
  content: "";
  position: absolute;
  top: 50%;
  transform: translate(0, -50%);
}

[class*=icon--left-]:before {
  left: 10px;
}

[class*=icon--right-]:after {
  right: 10px;
}

.icon.icon--xsmall,
.icon--xsmall:before,
.icon--xsmall:after {
  width: 0.625em;
  height: 0.625em;
  background-size: 0.625em;
}

.icon.icon--small,
.icon--small:before,
.icon--small:after {
  width: 1em;
  height: 1em;
  background-size: 1em;
}

.icon--small[class*=icon--left-] {
  padding-left: 27px !important;
}

.icon--small[class*=icon--left-]:before {
  left: 5px;
}

.icon--small[class*=icon--right-] {
  padding-right: 27px !important;
}

.icon--small[class*=icon--right-]:after {
  right: 5px;
}

.icon--large,
.icon--large:before,
.icon--large:after {
  width: 4em;
  height: 4em;
  background-size: 4em;
}

.icon--large[class*=icon--left-] {
  padding-left: 94px !important;
}

.icon--large[class*=icon--left-]:before {
  left: 15px;
}

.icon--large[class*=icon--right-] {
  padding-right: 94px !important;
}

.icon--large[class*=icon--right-]:after {
  right: 15px;
}

/* =======================================================================================
Example showing how to change the color/size of the icons:
.icon--name {
	font-size: 32px; // works because "width" & "height" were set using em units
	color: red; // works for single-colored icons, because "fill" was set to "currentColor"
}

.icon-tomato,
.icon--left-tomato:before,
.icon--right-tomato:after {
	background-image: url(https://s3-us-west-2.amazonaws.com/s.cdpn.io/131442/tomato.svg);
}

Inline:
<span class="icon icon-{icon-name}"></span>

Prepend:
<div class="icon--left-{icon-name}"></div>

Append:
<div class="icon--right-{icon-name}"></div>

Size modifiers:
<span class="icon icon-{icon-name} icon--small"></span>
<div class="icon--right-{icon-name} icon--large"></div>
<span class="icon icon-{icon-name} icon--responsive"></span>


======================================================================================== */
/* External Links */
.icon-external,
.icon--left-external:before,
.icon--right-external:after {
  background-image: url('data:image/svg+xml;utf-8,<svg viewBox="0 0 12 12" xmlns="http://www.w3.org/2000/svg"><path id="icon_external" d="M5.58862 1.21395L7.37407 2.90693L4.6959 5.44643L6.48135 7.1394L9.15952 4.5999L10.945 6.29288V1.2135H5.58832L5.58862 1.21395ZM2.01772 2.0604C1.52314 2.0604 1.125 2.43795 1.125 2.90685V9.6786C1.125 10.1476 1.52314 10.5251 2.01772 10.5251H9.15922C9.65377 10.5251 10.0519 10.1475 10.0519 9.6786V7.1391L9.15945 6.29258V9.67853H2.01817V2.90678H5.58892L4.69605 2.06025H2.01802L2.01772 2.0604Z" fill="%23d6d6d6"/></svg>');
}

/* User Icon */
.icon-user {
  background-image: url('data:image/svg+xml;utf-8,<svg xmlns="http://www.w3.org/2000/svg" width="28.5" height="28.5" viewBox="0 0 28.5 28.5"><path d="M14.25,0A14.25,14.25,0,1,0,28.5,14.25,14.251,14.251,0,0,0,14.25,0Zm0,5.938a5.344,5.344,0,1,1-5.344,5.344A5.35,5.35,0,0,1,14.25,5.938Zm0,20.188a11.81,11.81,0,0,1-7.96-3.089c1-2.325,4.179-4.036,7.96-4.036s6.955,1.711,7.96,4.036a11.81,11.81,0,0,1-7.96,3.089Z" fill="%23ffffff"/></svg>');
}

a.icon-user:hover, a.icon-user:focus, a.icon-user:active {
  background-image: url('data:image/svg+xml;utf-8,<svg xmlns="http://www.w3.org/2000/svg" width="28.5" height="28.5" viewBox="0 0 28.5 28.5"><path d="M14.25,0A14.25,14.25,0,1,0,28.5,14.25,14.251,14.251,0,0,0,14.25,0Zm0,5.938a5.344,5.344,0,1,1-5.344,5.344A5.35,5.35,0,0,1,14.25,5.938Zm0,20.188a11.81,11.81,0,0,1-7.96-3.089c1-2.325,4.179-4.036,7.96-4.036s6.955,1.711,7.96,4.036a11.81,11.81,0,0,1-7.96,3.089Z" fill="hsl(340deg, 100%, 63%)"/></svg>');
}

/* Arrow Icons */
.icon-down-arrow,
.icon--left-down-arrow:before,
.icon--right-down-arrow:after {
  background-image: url('data:image/svg+xml;utf-8,<svg viewBox="0 0 10 8" xmlns="http://www.w3.org/2000/svg"><path id="icon_down_arrow" d="M5 8L0.669873 0.499999L9.33013 0.5L5 8Z" fill="%23ffffff"/></svg>');
  transform: translate(0, 0);
  transition: all 0.25s ease;
}
.rotated .icon-down-arrow,
.rotated .icon--left-down-arrow:before,
.rotated .icon--right-down-arrow:after {
  transform: rotate(180deg);
}

/* Search Icon */
/* Contact/Location Icons */
/* Social Icons */
/*

Images
======

    <img alt="" class="img-rounded" src="http://fillmurray.com/300/300" />
    <img alt="" class="img-circle" src="http://fillmurray.com/300/300" />
    <img alt="" class="img-polaroid" src="http://fillmurray.com/300/300" />

*/
img {
  max-width: 100%;
  height: auto !important;
  border-width: 0;
  vertical-align: middle;
  -ms-interpolation-mode: bicubic;
}

.img-rounded {
  border-radius: 4px;
}

.img-rounded--med {
  border-radius: 10px;
}

.img-circle {
  border-radius: 50%;
}

.img-bordered {
  border: 1px solid hsl(0deg, 0%, 74%);
}

.img-polaroid {
  background-color: #FFFFFF;
  border: 1px solid #e6e6e6;
  box-shadow: 0 1px 3px rgba(0, 0, 3, 0.2);
  padding: 12px;
}

img.fullwidth,
.post-thumbnail--fullwidth img {
  width: 100%;
  max-width: auto;
}

/*

Base64 Images
==============

This file is to include placeholder selectors just for Base64 images

*/
/*

Figure & Figcaption
===================

    <figure>
        <img alt="" src="img/tmp/rock-hammer-1.jpg">
        <figcaption>Figure caption</figcaption>
    </figure>

*/
/*

Headings
========

    <h1>This is the primary headline</h1>
    <h2>This is the secondary headline</h2>
    <h3>This is the tertiary headline</h3>
    <h4>This is the average headline</h4>
    <h5>This is the small headline</h5>
    <h6>This is the micro headline</h6>

*/
h1, .h1, h2, .h2, h3, .h3, h4, .h4, h5, .h5, h6, .h6 {
  font-family: "Batangas Bold", sans-serif;
}

h1, .h1 {
  font-size: var(--size-1000);
}
@media all and (max-width: 29.9375em) {
  h1, .h1 {
    font-size: var(--size-900);
  }
}

h2, .h2 {
  font-size: var(--size-900);
}
@media all and (max-width: 29.9375em) {
  h2, .h2 {
    font-size: var(--size-800);
  }
}

h3, .h3 {
  font-size: var(--size-800);
}
@media all and (max-width: 29.9375em) {
  h3, .h3 {
    font-size: var(--size-700);
  }
}

h4, .h4 {
  font-size: var(--size-700);
}

h5, .h5 {
  font-size: var(--size-600);
}

h6, .h6 {
  font-size: var(--size-500);
}

/*

Body Copy
========

    <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nullam ac ligula non felis fermentum tincidunt. Suspendisse sapien odio, vestibulum euismod metus at, aliquet dapibus purus. Suspendisse lacinia sit amet ante eget gravida.</p>

    <p class="lead">Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nullam ac ligula non felis fermentum tincidunt. Suspendisse sapien odio, vestibulum euismod metus at, aliquet dapibus purus. Suspendisse lacinia sit amet ante eget gravida.</p>

*/
/* --- used if wanting to style the first paragraph slightly differently --- */
.entry-content p,
.entry-content li {
  max-width: 75ch;
}

::-moz-selection {
  background: hsla(319deg, 100%, 50%, 0.41);
}

::selection {
  background: hsla(319deg, 100%, 50%, 0.41);
}

/*

Body Copy Classes
=================

    <p class="text-muted">faded out a little</p>
    <p class="text-primary">this really is something to look at</p>
    <p class="text-success">winner, winner. chicken dinner!</p>
    <p class="text-info">just a bit of info</p>
    <p class="text-warning">be careful now, take heed</p>
    <p class="text-danger">ooh, high voltage</p>

*/
.text-muted {
  color: hsl(0deg, 0%, 74%);
}

.text-subtle {
  color: hsl(0deg, 0%, 74%);
}

.text-primary {
  color: hsl(340deg, 100%, 63%);
}

.text-success {
  color: #5CB85C;
}

.text-info {
  color: #5BC0DE;
}

.text-warning {
  color: #F0AD4E;
}

.text-danger {
  color: #D9534F;
}

/*

Links
=====

	<a href="">this is a link</a>
	<a class="is-selected" href="">this link is selected</a>

*/
a {
  color: currentColor;
  -webkit-text-decoration-color: hsl(340deg, 100%, 63%);
          text-decoration-color: hsl(340deg, 100%, 63%);
  text-underline-offset: 1px;
  transition: all 0.25s ease-in-out;
}
a:hover, a:focus, a:active {
  -webkit-text-decoration-color: hsl(0deg, 0%, 13%);
          text-decoration-color: hsl(0deg, 0%, 13%);
  color: hsl(340deg, 100%, 63%);
}

.g-footer-nav__list a,
.unstyled-link {
  color: inherit;
  text-decoration: none;
}
.g-footer-nav__list a:hover, .g-footer-nav__list a:focus, .g-footer-nav__list a:active,
.unstyled-link:hover,
.unstyled-link:focus,
.unstyled-link:active {
  color: hsl(340deg, 100%, 63%);
}

.hover--underline {
  text-decoration: none;
  text-underline-offset: 1px;
}
.hover--underline:hover, .hover--underline:focus {
  text-decoration: underline;
  -webkit-text-decoration-color: hsl(0deg, 0%, 13%);
          text-decoration-color: hsl(0deg, 0%, 13%);
}

:focus {
  outline: 1px dashed hsl(340deg, 100%, 63%);
  outline-offset: 0.25rem;
}

/*

Quotes
===========
	The HTML <q> element indicates that the enclosed text is a short inline quotation. 
	This element is intended for short quotations that don't require paragraph breaks; 
	for long quotations use the <blockquote> element.

    <p>
    	When Dave asks HAL to open the pod bay door, HAL answers: 
    	<q cite="https://www.imdb.com/title/tt0062622/quotes/qt0396921">I'm sorry, Dave. I'm afraid I can't do that.</q>
    </p>

*/
q {
  quotes: "“" "”";
}

/*
Blockquotes
===========

    <blockquote>
        <p>You can put a cat in an oven, but that don't make it a biscuit.</p>
    </blockquote>

*/
blockquote:not(.testimonial__content),
.testimonial {
  border-left: 4px solid;
  border-color: hsl(199deg, 98%, 48%);
  color: inherit;
  margin-left: 0;
  margin-right: 0;
  padding: var(--space-m);
}
blockquote:not(.testimonial__content) > * + *,
.testimonial > * + * {
  margin-top: rem(verticalSpacing(mobile));
}
@media all and (min-width: 64em) {
  blockquote:not(.testimonial__content) > * + *,
.testimonial > * + * {
    margin-top: rem(verticalSpacing(desktop));
  }
}
.testimonial__content {
  font-style: italic;
  margin-bottom: 0;
  position: relative;
}
.testimonial__content > p:first-child {
  text-indent: 25px;
}
.testimonial__content:before {
  position: absolute;
  top: 2.5rem;
  left: -2.5rem;
  content: "“";
  font-size: 8rem;
  line-height: 0.1rem;
}

.testimonial__caption > .testimonial__item + .testimonial__item:before {
  content: " - ";
  display: inline-block;
  padding-left: var(--space-xs);
  padding-right: var(--space-xs);
}

/*

Miscellaneous Typography
=======================

	<p><strong>rendered as bold text</strong></p>

	<p><em>rendered as italic text</em></p>

	<p><del>rendered as deleted text</del></p>

	<p><dfn>defines a definition term</dfn></p>

	<p><abbr title="extended abbr text should show when mouse over">&lt;abbr&gt; abbr - extended text when mouseover.</abbr></p>
	<p><acronym title="extended acronym text should show when mouse over">&lt;acronym&gt; acronym - extended text when mouseover.</acronym></p>

	<address>This would be rendered the address</address>

	<small>Lorem ipsum dolor sit amet, consectetur adipiscing elit.</small>


*/
strong {
  font-family: "HK Grotesk Bold", sans-serif;
  font-weight: 700;
}

abbr[title],
dfn[title] {
  border-bottom: 1px dotted rgba(0, 0, 0, 0.3);
  cursor: help;
}

.site-footer-nav__list a,
.small {
  font-size: var(--size-200);
}

.xsmall,
small {
  font-size: var(--size-100);
}

kbd {
  color: rgb(102, 102, 102);
  font-family: inherit;
  font-size: 87.5%;
  line-height: 90%;
  background-color: rgb(249, 249, 249);
  margin: 0 var(--space-xs);
  border: 1px solid rgb(233, 233, 233);
  border-radius: 5px;
  padding: 0.3334em 0.5em;
  box-shadow: inset 0 1px 0 rgb(255, 255, 255);
}

mark {
  background-color: rgb(240, 222, 188);
  line-height: 90%;
  padding: 0 0.125em;
}

/*

Unordered Lists
===============

	<ul>
		<li>An unordered list item</li>
		<li>An unordered list item</li>
		<li>An unordered list item</li>
		<li>An unordered list item</li>
		<ul>
			<li>An unordered list item</li>
			<li>An unordered list item</li>
			<li>An unordered list item</li>
			<li>An unordered list item</li>
		</ul>
	</ul>

*/
ul {
  list-style-position: inside;
  padding-left: 0;
}

.content ul:not(.h-plain-list) {
  text-indent: -1.4em;
  padding-left: 1.4em;
}

/* Helpers
   ========================================================================== */
.h-ir {
  color: transparent;
  font: 0/0 a;
  text-shadow: none;
}

.g-logo,
.h-hide-text {
  text-indent: 300%;
  white-space: nowrap;
  overflow: hidden;
}

.h-hidden {
  display: none !important;
  visibility: hidden;
}

.screen-reader-response:not(:focus):not(:active),
.h-screen-reader-text:not(:focus):not(:active),
.h-visually-hidden:not(:focus):not(:active) {
  clip: rect(0 0 0 0);
  -webkit-clip-path: inset(50%);
          clip-path: inset(50%);
  height: 1px;
  overflow: hidden;
  position: absolute !important;
  width: 1px;
  white-space: nowrap;
  word-wrap: normal !important;
}
.screen-reader-response:focus,
.h-screen-reader-text:focus,
.h-visually-hidden:focus {
  background-color: #f1f1f1;
  border-radius: 3px;
  box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
  clip: auto !important;
  -webkit-clip-path: none;
          clip-path: none;
  color: #21759b;
  display: block;
  font-size: 14px;
  font-size: 0.875rem;
  font-weight: bold;
  height: auto;
  left: 5px;
  line-height: normal;
  padding: 15px 23px 14px;
  text-decoration: none;
  top: 5px;
  width: auto;
  z-index: 100000;
  /* Above WP toolbar. */
}

.h-invisible {
  visibility: hidden;
}

.cf:before,
.cf:after {
  content: "";
  display: table;
}
.cf:after {
  clear: both;
}

.h-plain-list {
  list-style: none;
  list-style-image: none;
}

.woocommerce .summary.entry-summary .cart, .input-group,
.h-inline-flex {
  display: flex;
  gap: var(--grid-gap);
  flex-wrap: wrap;
}

.content-with-image--centered > *, .wsp-container, .wsp-pages-list, .woocommerce .woocommerce-MyAccount-content,
.woocommerce .summary.entry-summary,
.woocommerce .woocommerce-tabs .woocommerce-Tabs-panel, .field, .wpcf7-form, .entry-content ol, .content ol.ordered-list-with-icons > li,
.content ol.ordered-list-with-icons > li:before,
.h-column-flex {
  display: flex;
  gap: var(--grid-gap);
  flex-direction: column;
}

.h-center-text {
  text-align: center;
}

.h-left-text {
  text-align: left;
}

.h-right-text {
  text-align: right;
}

.h-centered {
  margin-right: auto;
  margin-left: auto;
}

.h-float-left {
  float: left;
}

.h-float-right {
  float: right;
}

.h-skipnav {
  background: transparent;
  color: #000000;
  left: 0;
  padding: 1rem 1.5rem;
  position: absolute;
  top: -4.2rem;
  transition: all 0.2s ease-in-out;
  z-index: 100;
}

.h-skipnav:focus {
  background: #FFFFFF;
  left: 0;
  outline: 0;
  position: absolute;
  top: 0;
  transition: all 0.2s ease-in-out;
}

/*

## Ordered Lists
```
<ol>
	<li>An unordered list item</li>
	<li>An unordered list item</li>
	<li>An unordered list item</li>
	<li>An unordered list item</li>
	<ol>
		<li>An unordered list item</li>
		<li>An unordered list item</li>
		<li>An unordered list item</li>
		<li>An unordered list item</li>
	</ol>
</ol>
```
*/
ol {
  list-style-position: inside;
  padding-left: 0;
}

.content ol:not(.stack) {
  counter-reset: foo;
  display: table;
}

.content ol > li {
  list-style: none;
  counter-increment: foo;
  display: table-row;
}

.content ol > li:before {
  content: counter(foo) ".";
  display: table-cell;
  text-align: left;
  padding-right: 0.5em;
}

.entry-content ol {
  --grid-gap: 0;
}
.entry-content ol > * + * {
  margin-top: calc(var(--size-300) * 0.5);
}

.entry-content ol > li {
  display: flex;
}

/* Odered list with icons */
.content ol.ordered-list-with-icons > li,
.content ol.ordered-list-with-icons > li:before {
  --grid-gap: var(--space-m);
  align-items: center;
  text-align: center;
}

.content ol.ordered-list-with-icons > li:before {
  --icon-width: 165px;
  --icon-height: 177px;
  justify-content: center;
  content: counter(foo);
  width: var(--icon-width);
  height: var(--icon-height);
  font-size: var(--size-1000);
  font-family: "Batangas Bold", sans-serif;
  padding: 0;
  background-image: url("../img/circled-balloon.svg");
  background-size: var(--icon-width) var(--icon-height);
  background-repeat: no-repeat;
}

/*

## Description Lists

```
<dl>
    <dt>Term</dt>
    <dd>Description</dd>
    <dt>Term</dt>
    <dd>Description</dd>
</dl>
...

*/
dl {
  list-style-position: inside;
  padding-left: 0;
}

dt {
  font-weight: bold;
}

dd {
  margin-left: 0;
}

/*
  Special Lists 
*/ /*

Main Navigation
===============

	<nav class="main-nav" role="navigation">
		<ul class="main-nav-list">
			<li class="main-nav-item"><a class="main-nav-link" href="">A main link</a></li>
			<li class="main-nav-item"><a class="main-nav-link" href="">A main link</a></li>
			<li class="main-nav-item"><a class="main-nav-link" href="">A main link</a></li>
			<li class="main-nav-item"><a class="main-nav-link" href="">A main link</a></li>
		</ul>
	</nav>

*/
.main-nav__list,
.member-nav__list {
  list-style: none;
  margin: 0;
}

.js .main-nav__list {
  max-height: 0;
  overflow: hidden;
  transition: all 0.3s ease-in-out;
}
.main-nav__list.open {
  max-height: 50em;
  box-shadow: 0 5px 3px 0px rgba(0, 0, 0, 0.35);
}
@media all and (max-width: 47.9375em) {
  .main-nav__list {
    background-color: #FFFFFF;
    position: absolute;
    left: calc((100.4% - var(--page-width)) / -2);
    right: calc((100.4% - var(--page-width)) / -2);
    top: 100%;
  }
}
@media all and (min-width: 48em) {
  .main-nav__list {
    display: flex;
    justify-content: flex-end;
    gap: var(--space-2xs);
  }
  .js .main-nav__list {
    max-height: none;
    overflow: visible;
  }
}

.main-nav__list .menu-item,
.member-nav__list > .menu-item {
  position: relative;
  vertical-align: top;
  align-items: center;
  display: flex;
}
@media all and (min-width: 48em) {
  .main-nav__list .menu-item,
.member-nav__list > .menu-item {
    margin-left: 0;
    text-align: center;
  }
}

.main-nav__list .menu-item a,
.member-nav__list .menu-item a {
  display: flex;
  align-items: center;
  padding-top: var(--space-2xs);
  padding-bottom: var(--space-2xs);
  padding-left: var(--space-xs);
  padding-right: var(--space-xs);
  text-decoration: none;
  transition: all 0.25s ease;
  position: relative;
}
@media all and (min-width: 48em) and (max-width: 63.9375em) {
  .main-nav__list .menu-item a,
.member-nav__list .menu-item a {
    padding: var(--space-2xs);
  }
}

@media all and (max-width: 47.9375em) {
  .main-nav__list .menu-item a {
    border-top: 1px solid hsl(0deg, 0%, 64%);
    width: 100%;
  }
}
@media all and (min-width: 48em) {
  .main-nav__list .menu-item a {
    border-radius: 5px;
  }
}
.main-nav__list .menu-item a:hover, .main-nav__list .menu-item a:focus, .main-nav__list .menu-item a:active {
  color: #FFFFFF;
  background-color: hsl(201deg, 98%, 41%);
  box-shadow: none;
}

.main-nav__list .menu-item.current-menu-item a {
  color: #FFFFFF;
  background-color: hsl(201deg, 98%, 41%);
  box-shadow: none;
}

/* Sub Menus ---------------- */
.sub-menu {
  display: none;
  background-color: hsl(0deg, 0%, 13%);
  list-style: none;
  list-style-image: none;
  min-width: 200px;
  z-index: 300;
}
@media all and (min-width: 48em) {
  .sub-menu {
    position: absolute;
    left: 0;
    top: 100%;
    padding-left: 0;
    padding-right: 0;
  }
}
.sub-menu .menu-item {
  float: none;
  margin: 0;
  padding: 0;
  display: block;
  white-space: pre-wrap;
  width: 100%;
}

@media all and (min-width: 48em) {
  .main-nav__list .menu-item.menu-item-has-children > a {
    display: flex;
    flex-direction: row;
    wrap: nowrap;
  }
}

.main-nav__list .menu-item > .sub-menu a {
  background-color: hsl(201deg, 98%, 41%);
  padding-left: var(--space-s);
}
@media all and (min-width: 48em) {
  .main-nav__list .menu-item > .sub-menu a {
    border-top: 1px solid;
  }
}

.accordion-toggle {
  padding: 0 0.75em;
}
@media all and (max-width: 47.9375em) {
  .accordion-toggle {
    position: absolute;
    top: 0;
    z-index: 100;
    right: 0;
    border-left: 1px solid #E7E7E7;
    transition: all 0.25s ease;
    display: flex;
    justify-content: center;
    flex-direction: column;
    height: 100%;
  }
}
@media all and (min-width: 48em) {
  .accordion-toggle {
    padding-right: 0;
  }
}

.site-footer-nav__list {
  display: flex;
  gap: var(--space-2xs) var(--space-m);
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
}

.site-footer-nav__list a {
  color: inherit;
  text-decoration: none;
}
.site-footer-nav__list a:hover, .site-footer-nav__list a:focus, .site-footer-nav__list a:active {
  color: hsl(340deg, 100%, 63%);
}

/* Main nav mobile button ---------------- */
.main-nav__menu-toggle {
  display: flex;
  background-color: transparent;
  cursor: pointer;
  padding: 5px;
  border: none;
  margin-left: auto;
}
@media all and (min-width: 48em) {
  .main-nav__menu-toggle {
    display: none;
    visibility: hidden;
  }
}

.main-nav__menu-toggle .con {
  display: inline-block;
  width: auto;
  margin: 0 0 0 auto;
  transition: all 400ms ease;
}

.main-nav__menu-toggle .bar {
  transition: all 400ms ease;
  display: block;
  height: 3px;
  width: 30px;
  background: #000;
  margin: 6px auto;
}

.main-nav__menu-toggle.active .con .bar {
  background-color: #000;
}

.main-nav__menu-toggle.active .con .top {
  transform: translateY(9px) rotateZ(45deg);
}

.main-nav__menu-toggle .middle {
  margin: 0 auto;
}

.main-nav__menu-toggle.active .con .middle {
  width: 0;
}

.main-nav__menu-toggle.active .con .bottom {
  transform: translateY(-9px) rotateZ(-45deg);
}

/* Member nav ---------------- */
@media all and (max-width: 47.9375em) {
  #menu-member-nav {
    display: none;
    visibility: hidden;
  }
}

@media all and (min-width: 48em) {
  #menu-member-nav-mobile {
    display: none;
    visibility: hidden;
  }
}

.member-nav {
  padding-left: var(--space-xs);
}
@media all and (max-width: 47.9375em) {
  .member-nav {
    background-image: linear-gradient(to right, #313131, #212121), linear-gradient(to right, #212121, #494949), linear-gradient(to right, rgba(0, 0, 20, 0.5019607843), rgba(255, 255, 255, 0.168627451)), linear-gradient(to left, rgba(0, 0, 20, 0.5019607843), rgba(255, 255, 255, 0));
    /* Shadows */
    /* Shadow covers */
    background-position: left center, right center, left center, right center;
    background-repeat: no-repeat;
    background-color: #212121;
    background-size: 20px 100%, 20px 100%, 10px 100%, 10px 100%;
    background-attachment: local, local, scroll, scroll;
  }
}
@media all and (min-width: 48em) {
  .member-nav {
    padding-right: var(--space-xs);
  }
}

.member-nav__list {
  display: flex;
  flex-wrap: nowrap;
}
@media all and (max-width: 47.9375em) {
  .member-nav__list {
    overflow-x: scroll;
  }
}
@media all and (min-width: 48em) {
  .member-nav__list {
    justify-content: flex-start;
  }
}

@media all and (max-width: 47.9375em) {
  .member-nav__list .menu-item a {
    white-space: nowrap;
    padding-left: var(--space-s);
    padding-right: var(--space-s);
  }
}

.member-nav__list .menu-item a:not(.icon) {
  color: #FFFFFF;
  padding-top: var(--space-s);
  padding-bottom: var(--space-s);
  height: 100%;
}
@media all and (min-width: 48em) {
  .member-nav__list .menu-item a:not(.icon) {
    padding-top: var(--space-xs);
    padding-bottom: var(--space-xs);
  }
}
.member-nav__list .menu-item a:not(.icon):hover, .member-nav__list .menu-item a:not(.icon):focus, .member-nav__list .menu-item a:not(.icon):active {
  color: #FFFFFF;
  background-color: #000000;
  box-shadow: none;
  text-decoration: underline;
}

.member-nav__list .menu-item.current-menu-item a {
  color: #FFFFFF;
  background-color: #000000;
  box-shadow: none;
  text-decoration: underline;
}

/* Align the user page link to the right of the menu (on desktop) */
.member-nav__list .menu-item.menu-item-95,
.member-nav__list .menu-item.menu-item-96 {
  margin-left: auto;
}

.member-nav__list .menu-item.menu-item-96 {
  margin-right: var(--space-2xs);
}

/*

Breadcrumb Navigation
=====================

<ol class="breadcrumb">
	<li><a href="#">Home</a></li>
	<li><a href="#">Categories</a></li>
	<li class="active">Animals</li>
</ol>

*/
/*

Pagination Navigation
=====================

<nav class="pagination">
	<ul class="page-numbers">
		<li><a class="prev page-numbers" href="#0">←</a></li>
		<li><a class="page-numbers" href="#0">1</a></li>
		<li><span class="page-numbers current">2</span></li>
		<li><a class="page-numbers" href="#0">3</a></li>
		<li><a class="next page-numbers" href="#0">→</a></li>
	</ul>
</nav>

*/
.pagination > ul {
  clear: both;
  overflow: hidden;
  width: 100%;
}
.pagination li {
  display: block;
  float: left;
  margin-bottom: var(--space-s);
  margin-left: 0;
  margin-right: var(--space-xs);
  margin-top: var(--space-s);
}
.pagination li:hover a, .pagination li:focus a, .pagination li:active a {
  background-color: black;
  color: #FFFFFF;
}
.pagination a {
  text-decoration: none;
}
.pagination a, .pagination span {
  border: 1px solid hsl(0deg, 0%, 74%);
  display: block;
  font-weight: 700;
  line-height: 2;
  min-width: 2.25rem;
  padding: 0 var(--space-s);
  text-align: center;
}
.pagination .page-numbers.current {
  background-color: currentcolor;
  border: 1px solid black;
  color: #FFFFFF;
}

/*

Tables
======

Styles for the tables

	<table>
		<thead>
			<tr>
				<th></th>
			</tr>
			<tr>
				<th></th>
			</tr>
		</thead>
		<tbody>
			<tr>
				<th></th>
			</tr>
			<tr>
				<td></td>
			</tr>
		</tbody>
	</table>

*/
table {
  caption-side: bottom;
  border-spacing: 0;
}

td,
th {
  border-top: 1px solid;
  overflow-wrap: break-word;
  padding-right: var(--space-m);
  text-align: left;
  vertical-align: top;
  white-space: nowrap;
}

th {
  border-top: 0.0625rem solid;
  font-weight: bold;
  padding-bottom: var(--space-m);
}

td {
  border-color: rgba(102, 96, 102, 0.5);
  padding-bottom: var(--space-s);
}

caption {
  caption-side: bottom;
  color: hsl(0deg, 0%, 47%);
  font-size: 0.75em;
  line-height: 1.3334;
  text-align: left;
  margin: var(--space-m) 0;
}

.rwd-table {
  min-width: 300px;
}
.rwd-table tr {
  border-top: 1px solid #ddd;
  border-bottom: 1px solid #ddd;
}
@media all and (max-width: 47.9375em) {
  .rwd-table th {
    border: 0;
    clip: rect(0 0 0 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
  }
  .rwd-table th.focusable:active, .rwd-table th.focusable:focus {
    clip: auto;
    height: auto;
    margin: 0;
    overflow: visible;
    position: static;
    width: auto;
  }
}
.rwd-table td {
  display: block;
}
.rwd-table td:first-child {
  padding-top: var(--space-s);
}
.rwd-table td:last-child {
  padding-bottom: var(--space-s);
}
.rwd-table td:before {
  content: attr(data-th) ": ";
  font-weight: bold;
  width: 8rem;
  display: inline-block;
}
@media all and (min-width: 48em) {
  .rwd-table td:before {
    display: none;
  }
}
.rwd-table th,
.rwd-table td {
  text-align: left;
}
@media all and (min-width: 48em) {
  .rwd-table th,
.rwd-table td {
    display: table-cell;
    padding: var(--space-s) var(--space-m);
  }
  .rwd-table th:first-child,
.rwd-table td:first-child {
    padding-left: 0;
  }
  .rwd-table th:last-child,
.rwd-table td:last-child {
    padding-right: 0;
  }
}

/**
* Lobotomized Owl Spacing - https://alistapart.com/article/axiomatic-css-and-lobotomized-owls/
* ------------------
*
* Adds spacing to the top of an element if it's not the first in the block.
*
*     <div class="owl-spacing">
*     	<p> ... </p>
*     	<p> ... </p>
*     	<p> ... </p>
* 	  </div>
*/
.owl-spacing > * + * {
  margin-top: var(--size-300);
}

@media all and (max-width: 29.9375em) {
  .owl-spacing--until-xsmall > * + * {
    margin-top: var(--size-300);
  }
}

@media all and (max-width: 35.4375em) {
  .owl-spacing--until-small > * + * {
    margin-top: var(--size-300);
  }
}

@media all and (max-width: 47.9375em) {
  .owl-spacing--until-medium > * + * {
    margin-top: var(--size-300);
  }
}

@media all and (max-width: 63.9375em) {
  .owl-spacing--until-large > * + * {
    margin-top: var(--size-300);
  }
}

.owl-spacing--zero > * + * {
  margin-top: 0;
}

.owl-spacing--quarter > * + * {
  margin-top: calc(var(--size-300) * 0.25);
}

.owl-spacing--half > * + * {
  margin-top: calc(var(--size-300) * 0.5);
}

@media all and (max-width: 29.9375em) {
  .owl-spacing--half--until-xsmall > * + * {
    margin-top: calc(var(--size-300) * 0.5);
  }
}

@media all and (max-width: 35.4375em) {
  .owl-spacing--half--until-small > * + * {
    margin-top: calc(var(--size-300) * 0.5);
  }
}

.owl-spacing--double > * + * {
  margin-top: calc(var(--size-300) * 2);
}

@media all and (max-width: 35.4375em) {
  .owl-spacing--double--until-small > * + * {
    margin-top: calc(var(--size-300) * 2);
  }
}

@media all and (max-width: 47.9375em) {
  .owl-spacing--double--until-medium > * + * {
    margin-top: calc(var(--size-300) * 2);
  }
}

.owl-spacing--triple > * + * {
  margin-top: calc(var(--size-300) * 3);
}

@media all and (min-width: 35.5em) {
  .owl-spacing--triple--from-small > * + * {
    margin-top: calc(var(--size-300) * 3);
  }
}

@media all and (max-width: 35.4375em) {
  .owl-spacing--triple--until-small > * + * {
    margin-top: calc(var(--size-300) * 3);
  }
}

@media all and (max-width: 47.9375em) {
  .owl-spacing--triple--until-medium > * + * {
    margin-top: calc(var(--size-300) * 3);
  }
}

.owl-spacing--quad > * + * {
  margin-top: calc(var(--size-300) * 4);
}

/**
 * Padding Above object
 * ------------------
 *
 * Adds padding to the top of an element.
 *
 *     <p class="space-above"> ... </p>
 *     <p> ... </p>
 */
.owl-padding > * + * {
  padding-top: var(--size-300);
}

.owl-padding--double > * + * {
  padding-top: calc(var(--size-300) * 2);
}

.owl-padding--triple > * + * {
  padding-top: calc(var(--size-300) * 3);
}

/**
 * Space Above object
 * ------------------
 *
 * Adds typographic spacing to the top of an element.
 *
 *     <p class="space-above"> ... </p>
 *     <p> ... </p>
 */
.space-above {
  margin-top: var(--size-300);
}

@media all and (max-width: 63.9375em) {
  .space-above--until-large {
    margin-top: var(--size-300);
  }
}

.space-above--half {
  margin-top: calc(var(--size-300) * 0.5);
}

.space-above--none {
  margin-top: 0;
}

.space-above--double {
  margin-top: calc(var(--size-300) * 2);
}

.space-above--triple {
  margin-top: calc(var(--size-300) * 3);
}

@media all and (max-width: 47.9375em) {
  .space-above--triple--until-medium {
    margin-top: calc(var(--size-300) * 3);
  }
}

/**
 * Space Below object
 * ------------------
 *
 * Adds typographic spacing to the bottom of an element.
 *
 *     <p class="space-below"> ... </p>
 *     <p> ... </p>
 */
.space-below {
  margin-bottom: var(--size-300);
}

.space-below--double {
  margin-bottom: calc(var(--size-300) * 2);
}

.space-below--triple {
  margin-bottom: calc(var(--size-300) * 3);
}

/*
 * Cramp object
 * ------------
 *
 * Remove typographic spacing from an element.
 *
 *     <p class="cramp"> ... </p>
 */
.cramp {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

.cramp-upper {
  margin-top: 0 !important;
}

.cramp-lower {
  margin-bottom: 0 !important;
}

@media all and (min-width: 35.5em) and (max-width: 47.9375em) {
  .cramp--small-medium {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }
}
@media all and (min-width: 48em) and (max-width: 63.9375em) {
  .cramp--medium-large {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }
}
@media all and (min-width: 64em) {
  .cramp--large-up {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }
}
/*

Blocks
======

<div class="block">
	<div class="wrapper">
		<p>This is a block</p>
	</div>
</div>

*/
.block {
  background-color: hsl(34deg, 42%, 93%);
  background-image: url("../img/noise.png");
  padding-bottom: var(--space-l);
  padding-top: var(--space-l);
}
@media all and (min-width: 64em) {
  .block {
    padding-bottom: var(--space-2xl);
    padding-top: var(--space-2xl);
  }
}

.block--flat-top {
  padding-top: 0;
}

.block--flat-bottom {
  padding-bottom: 0;
}

.block--half-top {
  padding-top: calc(var(--space-l) * 0.5);
}
@media all and (min-width: 64em) {
  .block--half-top {
    padding-top: calc(var(--space-2xl) * 0.5);
  }
}

.block--half-bottom {
  padding-bottom: calc(var(--space-l) * 0.5);
}
@media all and (min-width: 64em) {
  .block--half-bottom {
    padding-bottom: calc(var(--space-2xl) * 0.5);
  }
}

.block--success {
  background-color: #5CB85C;
}

.block--info {
  background-color: #5BC0DE;
}

.block--warning {
  background-color: #F0AD4E;
}

.block--danger {
  background-color: #D9534F;
}

.block--cta {
  color: #FFFFFF;
  background-color: hsl(199deg, 98%, 48%);
}

.block--subtle {
  background-color: hsl(0deg, 0%, 74%);
}

/*

Tiles
=====

<div class="tile">
	<p>This is a tile</p>
</div>

*/
.tile {
  background: rgba(255, 255, 255, 0.97);
  display: block;
  min-height: 1rem;
  min-width: 4rem;
  position: relative;
}

.tile--full-height {
  min-height: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
}

.tile--full-height > :last-child:not(:first-child) {
  margin-top: auto;
}

/* Clickable Tile 

<a class="tile tile--clickable" tabindex="0">
	<p>This is a clickable tile</p>
</a>

*/
.tile--clickable {
  cursor: pointer;
  transition: 250ms all cubic-bezier(0.5, 0, 0.1, 1);
}

.tile--clickable .tile--clickable__hero {
  overflow: hidden;
}
.tile--clickable .tile--clickable__hero img {
  transition: all 250ms ease-in-out;
}
.tile--clickable:hover .tile--clickable__hero img, .tile--clickable:focus .tile--clickable__hero img, .tile--clickable:active .tile--clickable__hero img {
  transform: scale(1.15);
}

/* Raised Tile 

<div class="tile tile--raised">
	<p>This is a raised tile</p>
</div>

*/
.tile--raised {
  box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.1);
}

.tile--rounded {
  border-radius: 30px;
  overflow: hidden;
}
.tile--rounded .tile__inner--padded {
  border-radius: inherit;
}

.tile--bordered {
  border: 1px solid hsl(0deg, 0%, 13%);
}

.tile--with-grad-border-top {
  position: relative;
  padding-top: 3px;
  background: rgb(255, 64, 129);
  background: linear-gradient(60deg, rgb(255, 64, 129) 0%, rgb(177, 69, 126) 30%, rgb(136, 54, 165) 45%, rgb(3, 169, 244) 100%);
}
.tile--with-grad-border-top .tile__inner {
  background: rgba(255, 255, 255, 0.97);
}

.tile--offset-y-pad {
  transform: translateY(calc(var(--space-xl) * -1));
}

.tile--dark {
  color: #FFFFFF;
  background: rgba(33, 33, 33, 0.85);
  background-image: url("../img/noise.png");
}

.tile--loud {
  color: #FFFFFF;
  background: linear-gradient(60deg, rgb(255, 64, 129) 0%, rgb(177, 69, 126) 30%, rgb(136, 54, 165) 45%, rgb(3, 169, 244) 100%);
}

/* Inner Tile 

<div class="tile">
	<div class="tile__inner tile__inner--padded">
		<p>This is a tile with inner padding</p>
	</div>
</div>

*/
.tile__inner {
  position: relative;
  height: 100%;
}

.tile__inner--padded {
  padding: var(--space-m);
}

.tile__inner--padded-small {
  padding: var(--space-s);
}

.tile__inner--padded-large {
  padding: var(--space-l);
}

/*------------------------------------*\
	$BEAUTONS.CSS
\*------------------------------------*/
/**
 * beautons is a beautifully simple button toolkit.
 *
 * LICENSE
 * 
 * Copyright 2013 Harry Roberts
 * 
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 * 
 * http://apache.org/licenses/LICENSE-2.0
 * 
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 * 
 */
/*!*
 * 
 * @csswizardry -- csswizardry.com/beautons
 * 
 */
/*------------------------------------*\
	$BASE
\*------------------------------------*/
/**
* Base button styles.
*
*  1. Allow us to better style box model properties.
*  2. Line different sized buttons up a little nicer.
*  3. Stop buttons wrapping and looking broken.
*  4. Make buttons inherit font styles.
*  5. Force all elements using beautons to appear clickable.
*  6. Normalise box model styles.
*  7. If the button’s text is 1em, and the button is (3 * font-size) tall, then
*     there is 1em of space above and below that text. We therefore apply 1em
*     of space to the left and right, as padding, to keep consistent spacing.
*  8. Basic cosmetics for default buttons. Change or override at will.
*  9. Fixes odd inner spacing in IE7.
* 10. Don’t allow buttons to have underlines; it kinda ruins the illusion.
* 11. Prevents from inheriting default anchor styles.
*/
.woocommerce #respond input#submit,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button, .woocommerce input.button.alt,
.woocommerce button.button.alt,
.btn {
  display: inline-block; /* [1] */
  vertical-align: middle; /* [2] */
  white-space: nowrap; /* [3] */
  font-family: inherit; /* [4] */
  font-size: 100%; /* [4] */
  cursor: pointer; /* [5] */
  border: none; /* [6] */
  margin: 0; /* [6] */
  padding-top: 0; /* [6] */
  padding-bottom: 0; /* [6] */
  line-height: 3; /* [7] */
  height: 3em; /* [7] */
  padding-right: 1.25em; /* [7] */
  padding-left: 1.25em; /* [7] */
  background: linear-gradient(hsl(340deg, 100%, 63%), hsl(340deg, 100%, 63%)); /* [8] */
  border-radius: 5px; /* [8] */
  overflow: visible; /* [9] */
  text-decoration: none; /* [10] */
  color: #FFFFFF;
  transition: all 0.3s ease-in-out;
}
.woocommerce #respond input#submit:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover, .woocommerce input.button.alt:hover,
.woocommerce button.button.alt:hover, .woocommerce #respond input#submit:active,
.woocommerce a.button:active,
.woocommerce button.button:active,
.woocommerce input.button:active, .woocommerce input.button.alt:active,
.woocommerce button.button.alt:active, .woocommerce #respond input#submit:focus,
.woocommerce a.button:focus,
.woocommerce button.button:focus,
.woocommerce input.button:focus, .woocommerce input.button.alt:focus,
.woocommerce button.button.alt:focus,
.btn:hover,
.btn:active,
.btn:focus {
  text-decoration: none; /* [10] */
  color: #FFFFFF; /* [11] */
  background: linear-gradient(60deg, rgb(255, 64, 129) 0%, rgb(177, 69, 126) 30%, rgb(136, 54, 165) 45%, rgb(3, 169, 244) 100%);
}
.woocommerce #respond input#submit:active,
.woocommerce a.button:active,
.woocommerce button.button:active,
.woocommerce input.button:active, .woocommerce input.button.alt:active,
.woocommerce button.button.alt:active,
.btn:active {
  box-shadow: 0 0 5px rgba(0, 0, 0, 0.5) inset;
}
.woocommerce #respond input#submit:focus,
.woocommerce a.button:focus,
.woocommerce button.button:focus,
.woocommerce input.button:focus, .woocommerce input.button.alt:focus,
.woocommerce button.button.alt:focus,
.btn:focus {
  outline: 3px solid hsl(340deg, 100%, 63%);
  outline-offset: 0;
}
.woocommerce #respond input#submit::-moz-focus-inner,
.woocommerce a.button::-moz-focus-inner,
.woocommerce button.button::-moz-focus-inner,
.woocommerce input.button::-moz-focus-inner, .woocommerce input.button.alt::-moz-focus-inner,
.woocommerce button.button.alt::-moz-focus-inner,
.btn::-moz-focus-inner {
  border: 0;
  padding: 0;
}

/*------------------------------------*\
	$SIZES
\*------------------------------------*/
/**
 * Button size modifiers.
 *
 * These all follow the same sizing rules as above; text is 1em, space around it
 * remains uniform.
 */
.btn--small {
  padding-right: 0.5em;
  padding-left: 0.5em;
  line-height: 2;
  height: 2em;
}

.btn--large {
  padding-right: 1.5em;
  padding-left: 1.5em;
  line-height: 4;
  height: 4em;
}

.btn--huge {
  padding-right: 2em;
  padding-left: 2em;
  line-height: 5;
  height: 5em;
}

/**
 * These buttons will fill the entirety of their container.
 *
 * 1. Remove padding so that widths and paddings don’t conflict.
 */
.btn--full {
  width: 100%;
  padding-right: 0; /* [1] */
  padding-left: 0; /* [1] */
  text-align: center;
}

/*------------------------------------*\
	$FONT-SIZES
\*------------------------------------*/
/**
 * Button font-size modifiers.
 */
.btn--alpha {
  font-size: 2rem;
}

.btn--beta {
  font-size: 1.5rem;
}

.btn--gamma {
  font-size: 1rem;
}

/**
 * Make the button inherit sizing from its parent.
 */
.btn--natural {
  vertical-align: baseline;
  font-size: inherit;
  line-height: inherit;
  height: auto;
  padding-right: 0.5em;
  padding-left: 0.5em;
}

/*------------------------------------*\
	$FUNCTIONS
\*------------------------------------*/
/**
 * Button function modifiers.
 */
.woocommerce #respond input#submit,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.btn--secondary {
  color: #FFFFFF;
  background: hsl(199deg, 98%, 48%);
}
.woocommerce #respond input#submit:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover, .woocommerce #respond input#submit:focus,
.woocommerce a.button:focus,
.woocommerce button.button:focus,
.woocommerce input.button:focus, .woocommerce #respond input#submit:active,
.woocommerce a.button:active,
.woocommerce button.button:active,
.woocommerce input.button:active,
.btn--secondary:hover,
.btn--secondary:focus,
.btn--secondary:active {
  color: #FFFFFF;
  background: #0284c0;
}

.btn--tertiary {
  color: hsl(0deg, 0%, 13%);
  background: rgba(0, 0, 0, 0.01);
  border: 2px solid hsl(0deg, 0%, 13%);
}
.btn--tertiary-reversed {
  color: #FFFFFF;
  background: rgba(0, 0, 0, 0.01);
  border: 2px solid #FFFFFF;
}
.btn--tertiary:hover, .btn--tertiary:focus, .btn--tertiary:active {
  color: #FFFFFF;
  background: hsl(199deg, 98%, 48%);
}

/**
 * Positive actions; e.g. sign in, purchase, submit, etc.
 */
.btn--positive {
  background: #4A993E;
  color: #fff;
}

/**
 * Negative actions; e.g. close account, delete photo, remove friend, etc.
 */
.btn--negative {
  background: #b33630;
  color: #fff;
}

/**
 * Inactive, disabled buttons.
 * 
 * 1. Make the button look like normal text when hovered.
 */
.btn--inactive,
.btn--inactive:hover,
.btn--inactive:active,
.btn--inactive:focus {
  background: #ddd;
  color: #777;
  cursor: default; /* [1] */
  box-shadow: none;
}

/*------------------------------------*\
	$STYLES
\*------------------------------------*/
/**
 * Button style modifiers.
 *
 * 1. Use an overly-large number to ensure completely rounded, pill-like ends.
 */
.btn--soft {
  border-radius: 200px; /* [1] */
}

.btn--hard {
  border-radius: 0;
}

[class*=button-bar] {
  display: flex;
  gap: var(--space-m);
  align-items: center;
}

.button-bar {
  justify-content: center;
  margin-bottom: var(--space-s);
}

.button-bar--top {
  justify-content: flex-end;
  padding-top: var(--space-2xs);
  padding-bottom: var(--space-2xs);
  padding-right: var(--space-2xs);
}

/*

Forms
=====

<form action="/">
	<fieldset>
		<label for="name">Name</label>
		<input type="text" id="name" class="form-text" />
		<p class="form-help">This is help text under the form field.</p>
		<label for="email">Email</label>
		<input type="email" id="email" class="form-text" />
	</fieldset>
	<fieldset>
		<label for="gender">Gender</label>
		<select id="gender">
			<option>Male</option>
			<option>Female</option>
			<option>Cylon</option>
		</select>
	</fieldset>
	<fieldset class="radio">
		<label for="notifications">Notifications</label>
		<ul>
			<li><label><input type="radio" name="notifications" /> Send me email</label></li>
			<li><label><input type="radio" name="notifications" /> Don't send me email</label></li>
			<li><label><input type="radio" name="notifications" /> Send me flowers</label></li>
		</ul>
	</fieldset>
	<fieldset>
		<label for="url">URL</label>
		<input type="url" id="url" class="form-text" placeholder="http://yourdomain.com" />
	</fieldset>
	<fieldset>
		<label for="bio">Bio</label>
		<textarea id="bio"></textarea>
	</fieldset>
	<fieldset class="check">
		<label><input type="checkbox" /> I accept the terms of service and lorem ipsum.</label>
	</fieldset>
	<fieldset class="form-actions">
		<button type="submit">Submit</button>
	</fieldset>
</form>

*/
fieldset {
  border: none;
  padding: 0;
}

label {
  font-family: "Batangas Bold", sans-serif;
  font-size: var(--size-400);
  font-weight: bold;
}

.field {
  --grid-gap: 0.25rem;
}

.field.field--submit {
  flex-direction: row;
}

.field__label,
.field__hint {
  display: block;
}

label > i,
.field__label > i,
.field__hint {
  font-family: "HK Grotesk", sans-serif;
  font-weight: normal;
  font-size: var(--size-100);
}

input:focus,
textarea:focus,
select:focus,
button:focus {
  outline: 2px solid hsl(340deg, 100%, 63%);
  outline-offset: 0;
}

input[type=color],
input[type=date],
input[type=datetime],
input[type=datetime-local],
input[type=email],
input[type=month],
input[type=number],
input[type=password],
input[type=search],
input[type=tel],
input[type=text],
input[type=time],
input[type=url],
input[type=week],
select,
textarea {
  display: block;
}
input[type=color][disabled], input[type=color].is-disabled,
input[type=date][disabled],
input[type=date].is-disabled,
input[type=datetime][disabled],
input[type=datetime].is-disabled,
input[type=datetime-local][disabled],
input[type=datetime-local].is-disabled,
input[type=email][disabled],
input[type=email].is-disabled,
input[type=month][disabled],
input[type=month].is-disabled,
input[type=number][disabled],
input[type=number].is-disabled,
input[type=password][disabled],
input[type=password].is-disabled,
input[type=search][disabled],
input[type=search].is-disabled,
input[type=tel][disabled],
input[type=tel].is-disabled,
input[type=text][disabled],
input[type=text].is-disabled,
input[type=time][disabled],
input[type=time].is-disabled,
input[type=url][disabled],
input[type=url].is-disabled,
input[type=week][disabled],
input[type=week].is-disabled,
select[disabled],
select.is-disabled,
textarea[disabled],
textarea.is-disabled {
  opacity: 0.6;
  cursor: not-allowed;
}

input[type=date],
input[type=email],
input[type=password],
input[type=search],
input[type=text],
input[type=tel],
input[type=url],
textarea,
select {
  border-radius: 5px;
}

input[type=date],
input[type=email],
input[type=text],
input[type=password],
input[type=search],
input[type=tel],
input[type=url],
textarea {
  padding: var(--space-xs);
}

input[type=email],
input[type=date],
input[type=password],
input[type=search],
input[type=tel],
input[type=text],
input[type=url],
textarea {
  width: 100%;
  border: 1px solid hsl(0deg, 0%, 47%);
}

select {
  width: 100%;
  padding: 1em 1.4em 1em 0.8em;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background-color: #fff;
  background-image: url("data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22292.4%22%20height%3D%22292.4%22%3E%3Cpath%20fill%3D%22%23007CB2%22%20d%3D%22M287%2069.4a17.6%2017.6%200%200%200-13-5.4H18.4c-5%200-9.3%201.8-12.9%205.4A17.6%2017.6%200%200%200%200%2082.2c0%205%201.8%209.3%205.4%2012.9l128%20127.9c3.6%203.6%207.8%205.4%2012.8%205.4s9.2-1.8%2012.8-5.4L287%2095c3.5-3.5%205.4-7.8%205.4-12.8%200-5-1.9-9.2-5.5-12.8z%22%2F%3E%3C%2Fsvg%3E"), linear-gradient(to bottom, #ffffff 0%, #e4e4e4 100%);
  background-repeat: no-repeat, repeat;
  background-position: right 0.7em top 50%, 0 0;
  background-size: 0.65em auto, 100%;
}

textarea {
  clear: both;
  width: 100%;
}

input[type=password] {
  letter-spacing: 0.3em;
}

/* Inline Input Groups - Use to create an input field with an inline button touching next to it.

<form class="input-group">
	<label class="h-visually-hidden">Search for:</label>
	<input type="" class="sinput-group__content">
	<span class="input-group__button-container">
		<button type="submit" class="btn btn--primary">
			<span class="icon icon-search">
				<span class="h-visually-hidden">Search</span>
			</span>
		</button>
	</span>
</form>
*/
.input-group {
  --grid-gap: 0;
  flex-wrap: nowrap;
}

.input-group__content {
  border-top-right-radius: 0 !important;
  border-bottom-right-radius: 0 !important;
}

.input-group__button-container .btn {
  border-top-left-radius: 0 !important;
  border-bottom-left-radius: 0 !important;
}

.upload-handler {
  border: 2px dashed #c5c5c5;
  border-radius: 5px;
  margin-bottom: 10px;
  position: relative;
}

.upload-container {
  padding: 15px 20px;
}

.dnd-upload-counter {
  position: absolute;
  right: 5px;
  bottom: 3px;
  font-size: 12px;
}

.wpcf7-form {
  --grid-gap: var(--space-s);
  flex-wrap: nowrap;
}

.cf-response {
  min-width: 100%;
}

.wpcf7-acceptance label {
  display: inline-block;
  font-weight: normal;
  line-height: 1.5;
  text-transform: none;
}

.wpcf7-acceptance [type=checkbox] {
  margin-left: -1em;
}

.wpcf7 form .wpcf7-response-output {
  margin-bottom: var(--space-xs);
  margin-left: 0;
  margin-right: 0;
  margin-top: var(--space-xs);
  color: #FFFFFF;
  padding: var(--space-s);
}

.wpcf7 form.init .wpcf7-response-output {
  display: none;
}

.wpcf7-not-valid-tip,
.wpcf7-not-valid-tip-no-ajax {
  color: #D9534F;
}

input.wpcf7-not-valid,
textarea.wpcf7-not-valid {
  border-color: #D9534F;
}

.wpcf7 form .wpcf7-response-output {
  background-color: #000000;
  border: 4px solid #000000;
}

.wpcf7 form.invalid .wpcf7-response-output {
  background-color: #F0AD4E;
  border: 4px solid #b06d0f;
}

.wpcf7 form.sent .wpcf7-response-output {
  background-color: #5CB85C;
  border: 4px solid #3d8b3d;
}

.wpcf7 form .wpcf7-display-none {
  display: none;
}

.wpcf7 .wpcf7-form > .cf7-response {
  margin-top: 0;
}

.wpcf7 .wpcf7-form > .cf7-response > .wpcf7-response-output[aria-hidden=false] {
  margin-top: var(--space-s);
}

/******************************************************************
Site Name:
Author:

Stylesheet: WordPress Embeds Stylesheet

******************************************************************/
.wp-block-embed {
  margin-bottom: 1em;
}

.wp-block-embed figcaption {
  color: #555d66;
  font-size: 13px;
  margin-bottom: 1em;
  margin-top: 0.5em;
  padding-left: var(--space-xs);
  padding-right: var(--space-xs);
  text-align: center;
}

.wp-block-embed.wp-embed-aspect-1-1 .wp-block-embed__wrapper,
.wp-block-embed.wp-embed-aspect-1-2 .wp-block-embed__wrapper,
.wp-block-embed.wp-embed-aspect-16-9 .wp-block-embed__wrapper,
.wp-block-embed.wp-embed-aspect-18-9 .wp-block-embed__wrapper,
.wp-block-embed.wp-embed-aspect-21-9 .wp-block-embed__wrapper,
.wp-block-embed.wp-embed-aspect-4-3 .wp-block-embed__wrapper,
.wp-block-embed.wp-embed-aspect-9-16 .wp-block-embed__wrapper {
  position: relative;
}

.wp-block-embed.wp-embed-aspect-1-1 .wp-block-embed__wrapper::before,
.wp-block-embed.wp-embed-aspect-1-2 .wp-block-embed__wrapper::before,
.wp-block-embed.wp-embed-aspect-16-9 .wp-block-embed__wrapper::before,
.wp-block-embed.wp-embed-aspect-18-9 .wp-block-embed__wrapper::before,
.wp-block-embed.wp-embed-aspect-21-9 .wp-block-embed__wrapper::before,
.wp-block-embed.wp-embed-aspect-4-3 .wp-block-embed__wrapper::before,
.wp-block-embed.wp-embed-aspect-9-16 .wp-block-embed__wrapper::before {
  content: "";
  display: block;
  padding-top: 50%;
}

.wp-block-embed.wp-embed-aspect-1-1 .wp-block-embed__wrapper iframe,
.wp-block-embed.wp-embed-aspect-1-2 .wp-block-embed__wrapper iframe,
.wp-block-embed.wp-embed-aspect-16-9 .wp-block-embed__wrapper iframe,
.wp-block-embed.wp-embed-aspect-18-9 .wp-block-embed__wrapper iframe,
.wp-block-embed.wp-embed-aspect-21-9 .wp-block-embed__wrapper iframe,
.wp-block-embed.wp-embed-aspect-4-3 .wp-block-embed__wrapper iframe,
.wp-block-embed.wp-embed-aspect-9-16 .wp-block-embed__wrapper iframe {
  bottom: 0;
  height: 100%;
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
  width: 100%;
}

.wp-block-embed.wp-embed-aspect-21-9 .wp-block-embed__wrapper::before {
  padding-top: 42.85%;
}

.wp-block-embed.wp-embed-aspect-18-9 .wp-block-embed__wrapper::before {
  padding-top: 50%;
}

.wp-block-embed.wp-embed-aspect-16-9 .wp-block-embed__wrapper::before {
  padding-top: 56.25%;
}

.wp-block-embed.wp-embed-aspect-4-3 .wp-block-embed__wrapper::before {
  padding-top: 75%;
}

.wp-block-embed.wp-embed-aspect-1-1 .wp-block-embed__wrapper::before {
  padding-top: 100%;
}

.wp-block-embed.wp-embed-aspect-9-6 .wp-block-embed__wrapper::before {
  padding-top: 66.66%;
}

.wp-block-embed.wp-embed-aspect-1-2 .wp-block-embed__wrapper::before {
  padding-top: 200%;
}

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

Stylesheet: WordPress Gallery Stylesheet

<ul class="wp-block-gallery columns-3 is-cropped">
	<li class="blocks-gallery-item">
		<figure>
		<img src="example.jpg" class="wp-image-75">
		</figure>
	</li>
	<li class="blocks-gallery-item">
		<figure>
			<img src="image6.jpg" class="wp-image-76">
		</figure>
	</li>
	<li class="blocks-gallery-item">
		<figure>
			<img src="shop-bg.jpg" class="wp-image-77">
			<figcaption>Gallery background</figcaption>
		</figure>
	</li>
	<li class="blocks-gallery-item">
		<figure>
			<img src="gallery-bg.jpg" class="wp-image-78">
			<figcaption>Shop background</figcaption>
		</figure>
	</li>
</ul>

******************************************************************/
.wp-block-gallery {
  display: flex;
  flex-wrap: wrap;
  list-style-type: none;
  padding: 0;
}

.wp-block-gallery .blocks-gallery-image,
.wp-block-gallery .blocks-gallery-item {
  margin: 0 var(--space-m) var(--space-m) 0;
  display: flex;
  flex-grow: 1;
  flex-direction: column;
  justify-content: center;
  position: relative;
}

.wp-block-gallery .blocks-gallery-image figure,
.wp-block-gallery .blocks-gallery-item figure {
  margin: 0;
  height: 100%;
}

@supports (position: sticky) {
  .wp-block-gallery .blocks-gallery-image figure,
.wp-block-gallery .blocks-gallery-item figure {
    display: flex;
    align-items: flex-end;
    justify-content: flex-start;
  }
}
.wp-block-gallery .blocks-gallery-image img,
.wp-block-gallery .blocks-gallery-item img {
  display: block;
  max-width: 100%;
  height: auto;
}

.wp-block-gallery .blocks-gallery-image img,
.wp-block-gallery .blocks-gallery-item img {
  width: 100%;
}

@supports (position: sticky) {
  .wp-block-gallery .blocks-gallery-image img,
.wp-block-gallery .blocks-gallery-item img {
    width: auto;
  }
}
.wp-block-gallery .blocks-gallery-image figcaption,
.wp-block-gallery .blocks-gallery-item figcaption {
  position: absolute;
  bottom: 0;
  width: 100%;
  max-height: 100%;
  overflow: auto;
  padding: 40px 10px 5px;
  color: #fff;
  text-align: center;
  font-size: 13px;
  background: linear-gradient(0deg, rgba(0, 0, 0, 0.7) 0, rgba(0, 0, 0, 0.3) 60%, transparent);
}

.wp-block-gallery .blocks-gallery-image figcaption img,
.wp-block-gallery .blocks-gallery-item figcaption img {
  display: inline;
}

.wp-block-gallery.is-cropped .blocks-gallery-image a,
.wp-block-gallery.is-cropped .blocks-gallery-image img,
.wp-block-gallery.is-cropped .blocks-gallery-item a,
.wp-block-gallery.is-cropped .blocks-gallery-item img {
  width: 100%;
}

@supports (position: sticky) {
  .wp-block-gallery.is-cropped .blocks-gallery-image a,
.wp-block-gallery.is-cropped .blocks-gallery-image img,
.wp-block-gallery.is-cropped .blocks-gallery-item a,
.wp-block-gallery.is-cropped .blocks-gallery-item img {
    height: 100% !important;
    flex: 1;
    -o-object-fit: cover;
       object-fit: cover;
  }
}
.wp-block-gallery .blocks-gallery-image,
.wp-block-gallery .blocks-gallery-item {
  width: calc((100% - 16px) / 2);
}

.wp-block-gallery .blocks-gallery-image:nth-of-type(even),
.wp-block-gallery .blocks-gallery-item:nth-of-type(even) {
  margin-right: 0;
}

.wp-block-gallery.columns-1 .blocks-gallery-image,
.wp-block-gallery.columns-1 .blocks-gallery-item {
  width: 100%;
  margin-right: 0;
}

@media all and (min-width: 35.5em) {
  .wp-block-gallery.columns-3 .blocks-gallery-image,
.wp-block-gallery.columns-3 .blocks-gallery-item {
    width: calc((100% - 32px) / 3);
    margin-right: 16px;
  }
  .wp-block-gallery.columns-4 .blocks-gallery-image,
.wp-block-gallery.columns-4 .blocks-gallery-item {
    width: calc((100% - 48px) / 4);
    margin-right: 16px;
  }
  .wp-block-gallery.columns-5 .blocks-gallery-image,
.wp-block-gallery.columns-5 .blocks-gallery-item {
    width: calc((100% - 64px) / 5);
    margin-right: 16px;
  }
  .wp-block-gallery.columns-6 .blocks-gallery-image,
.wp-block-gallery.columns-6 .blocks-gallery-item {
    width: calc((100% - 80px) / 6);
    margin-right: 16px;
  }
  .wp-block-gallery.columns-7 .blocks-gallery-image,
.wp-block-gallery.columns-7 .blocks-gallery-item {
    width: calc((100% - 96px) / 7);
    margin-right: 16px;
  }
  .wp-block-gallery.columns-8 .blocks-gallery-image,
.wp-block-gallery.columns-8 .blocks-gallery-item {
    width: calc((100% - 112px) / 8);
    margin-right: 16px;
  }
  .wp-block-gallery.columns-1 .blocks-gallery-image:nth-of-type(1n),
.wp-block-gallery.columns-1 .blocks-gallery-item:nth-of-type(1n) {
    margin-right: 0;
  }
  .wp-block-gallery.columns-2 .blocks-gallery-image:nth-of-type(2n),
.wp-block-gallery.columns-2 .blocks-gallery-item:nth-of-type(2n) {
    margin-right: 0;
  }
  .wp-block-gallery.columns-3 .blocks-gallery-image:nth-of-type(3n),
.wp-block-gallery.columns-3 .blocks-gallery-item:nth-of-type(3n) {
    margin-right: 0;
  }
  .wp-block-gallery.columns-4 .blocks-gallery-image:nth-of-type(4n),
.wp-block-gallery.columns-4 .blocks-gallery-item:nth-of-type(4n) {
    margin-right: 0;
  }
  .wp-block-gallery.columns-5 .blocks-gallery-image:nth-of-type(5n),
.wp-block-gallery.columns-5 .blocks-gallery-item:nth-of-type(5n) {
    margin-right: 0;
  }
  .wp-block-gallery.columns-6 .blocks-gallery-image:nth-of-type(6n),
.wp-block-gallery.columns-6 .blocks-gallery-item:nth-of-type(6n) {
    margin-right: 0;
  }
  .wp-block-gallery.columns-7 .blocks-gallery-image:nth-of-type(7n),
.wp-block-gallery.columns-7 .blocks-gallery-item:nth-of-type(7n) {
    margin-right: 0;
  }
  .wp-block-gallery.columns-8 .blocks-gallery-image:nth-of-type(8n),
.wp-block-gallery.columns-8 .blocks-gallery-item:nth-of-type(8n) {
    margin-right: 0;
  }
}
.wp-block-gallery .blocks-gallery-image:last-child,
.wp-block-gallery .blocks-gallery-item:last-child {
  margin-right: 0;
}

.wp-block-gallery .blocks-gallery-item.has-add-item-button {
  width: 100%;
}

.wp-block-gallery.alignleft,
.wp-block-gallery.alignright {
  max-width: 305px;
  width: 100%;
}

.wp-block-gallery.aligncenter,
.wp-block-gallery.alignleft,
.wp-block-gallery.alignright {
  display: flex;
}

.wp-block-gallery.aligncenter .blocks-gallery-item figure {
  justify-content: center;
}

/******************************************************************
Site Name:
Author:

Stylesheet: WordPress Media Stylesheet

******************************************************************/
/* Alignment */
.alignleft {
  /*rtl:ignore*/
  float: left;
  /*rtl:ignore*/
  margin-right: var(--space-m);
  margin-bottom: var(--space-m);
}

.alignright {
  /*rtl:ignore*/
  float: right;
  margin-bottom: var(--space-m);
  /*rtl:ignore*/
  margin-left: var(--space-m);
}

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

img.alignnone {
  margin: 0.3125em 0 var(--space-m);
}

.content__inner .alignwide,
.content__inner .alignfull {
  clear: both;
  position: relative;
}

.content__inner .alignwide {
  margin-left: auto;
  margin-right: auto;
  max-width: 100vw;
}
@media all and (min-width: 64em) {
  .content__inner .alignwide {
    margin-left: -50px;
    margin-right: -50px;
    max-width: 1200px;
  }
}
@media all and (min-width: 75em) {
  .content__inner .alignwide {
    margin-left: -75px;
    margin-right: -75px;
    max-width: 1250px;
  }
}

.content__inner .alignfull {
  margin-left: calc(-50vw + 50%);
  margin-right: calc(-50vw + 50%);
  max-width: 100vw;
}

.centered-media-content {
  text-align: center;
}

/* Blog/News Post Images and Captions */
.wp-caption {
  max-width: 100%;
  background: transparent;
  border: none;
}
@media all and (min-width: 48em) {
  .wp-caption.aligncenter {
    position: relative;
    left: calc(var(--size__site-tablet-content) / 2);
    transform: translateX(-50%);
  }
}
@media all and (min-width: 64em) {
  .wp-caption.aligncenter {
    left: calc(var(--size__site-desktop-content) / 2);
  }
}

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

.wp-block-image figcaption {
  padding-left: var(--space-xs);
  padding-right: var(--space-xs);
}

.wp-caption-dt {
  margin: 0;
}

.wp-caption .wp-caption-text,
.wp-caption-dd {
  color: hsl(0deg, 0%, 47%);
  font-style: italic;
  padding-top: var(--space-s);
}

.mceTemp + ul,
.mceTemp + ol {
  list-style-position: inside;
}

/******************************************************************
Site Name:
Author: Liam Jay

Stylesheet: WooCommerce Custom Stylesheet

Place all your custom WooCommerce styles below. 

******************************************************************/
#add_payment_method .wc-proceed-to-checkout a.checkout-button,
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button,
.woocommerce-checkout .wc-proceed-to-checkout a.checkout-button {
  padding-top: unset;
}

.woocommerce-error,
.woocommerce-info,
.woocommerce-message {
  padding-left: 3.5em !important;
}

.woocommerce h1.product_title {
  font-size: var(--size-700);
}
.woocommerce #respond input#submit.disabled,
.woocommerce #respond input#submit:disabled,
.woocommerce #respond input#submit:disabled[disabled],
.woocommerce a.button.disabled,
.woocommerce a.button:disabled,
.woocommerce a.button:disabled[disabled],
.woocommerce button.button.disabled,
.woocommerce button.button:disabled,
.woocommerce button.button:disabled[disabled],
.woocommerce input.button.disabled,
.woocommerce input.button:disabled,
.woocommerce input.button:disabled[disabled] {
  padding-top: unset;
}
.woocommerce input.button.alt,
.woocommerce button.button.alt {
  background-color: unset;
}
.woocommerce div.product p.price,
.woocommerce div.product span.price {
  font-size: var(--size-800);
  font-family: "Batangas Bold", sans-serif;
  color: #000;
  font-weight: bold;
}
.woocommerce ul[class] {
  text-indent: 0;
  padding-left: 0;
}
.woocommerce .woocommerce-MyAccount-content,
.woocommerce .summary.entry-summary,
.woocommerce .woocommerce-tabs .woocommerce-Tabs-panel {
  --grid-gap: var(--space-s);
}
.woocommerce .summary.entry-summary .cart {
  --grid-gap: 0;
  flex-wrap: nowrap;
}
.woocommerce div.product form.cart div.quantity {
  margin-right: 10px;
}
.woocommerce .summary.entry-summary .cart .quantity .qty {
  height: 100%;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active {
  background: #fbf9fc;
  border-bottom-color: #fbf9fc;
}
.woocommerce .woocommerce-error, .woocommerce .woocommerce-info,
.woocommerce .woocommerce-message {
  border-left: 1px solid #d3d3d3;
  border-bottom: 1px solid #d3d3d3;
  border-right: 1px solid #d3d3d3;
  border-top-width: 3px;
}
.woocommerce table.shop_table {
  background-color: #FFFFFF;
}
.woocommerce form.checkout_coupon,
.woocommerce form.login,
.woocommerce form.register {
  background-color: #fafafa;
}
.woocommerce .woocommerce-Address-title h3 {
  font-size: var(--size-500);
}
.woocommerce .woocommerce-order .woocommerce-notice {
  font-size: var(--size-700);
  margin-bottom: var(--space-m);
}
.woocommerce .woocommerce-thankyou-order-received {
  color: #5CB85C;
}

/**
* Globals - Styling for global elements which appear on every page of the site
* ------------------ **/
.g-header {
  background-color: #FFFFFF;
  padding-bottom: var(--space-l);
  padding-top: var(--space-l);
  border-bottom: 1px solid;
}
@media all and (min-width: 64em) {
  .g-header {
    padding-bottom: var(--space-xl);
    padding-top: var(--space-xl);
  }
}

.g-logo {
  background-image: url("../img/site-logo.svg");
  background-repeat: no-repeat;
  background-position: 0 0;
  display: block;
  margin-left: auto;
  margin-right: auto;
  vertical-align: middle;
  background-size: 160px 42px;
  height: 42px;
  width: 160px;
}
@media all and (min-width: 64em) {
  .g-logo {
    background-size: 233px 61px;
    height: 61px;
    width: 233px;
  }
}

.g-logo--white {
  background-image: url("../img/site-logo-white.svg");
}

.g-secondary-nav {
  background-color: hsl(0deg, 0%, 13%);
  color: #FFFFFF;
  padding-bottom: var(--space-s);
  padding-top: var(--space-s);
}

.g-secondary-nav__inner {
  justify-content: space-between;
  display: flex;
  flex-direction: column;
}
@media all and (min-width: 48em) {
  .g-secondary-nav__inner {
    flex-direction: row;
  }
}

.g-footer-nav__list {
  list-style: none;
  list-style-image: none;
  margin: 0;
}
@media all and (min-width: 48em) {
  .g-footer-nav__list {
    display: flex;
    justify-content: space-between;
  }
}

/*
Shame CSS
	This is not a dumping ground. It is a staging area for hacks that are
	intended to be fixed and resolved so as not to sully our
	production-ready codebase. Hacks are necessary, but they are not
	permanent, nor are they acceptable long-term. You are not done when
	you've moved your selector and rules here.

	This is not intended to be an easy fix, or a simple way out. You will
	spend time writing out your shame, and you will make it known that
	you indeed had to resort to a hack with your next commit

	Rules:
		1) Your documentation should be written in block comment format so
		  that your shame is publically visible in the compiled stylesheet
		  (also helpful for debugging)

		2) Name yourself so we can all scorn your lack of front-end prowess
		  (or talk to you about any questions we have)

		3) Name the location your code would go were it not such a horrible
		  travesty to the name of stylesheet.

		4) Give the motive behind your sociopathic manipulation of CSS, what
		  areas are affected, what this solves, and most importantly...

		5) How would you go about rectifying the horrible crimes you have
		  committed given more time.
*/
/* Hero Banner */
.hero-banner {
  display: grid;
  grid-template-areas: "hero";
  place-items: center;
  background-color: #000000;
  height: 35vh;
  max-height: 320px;
  position: relative;
  z-index: 0;
}
.hero-banner > * {
  grid-area: hero;
}

.hero-banner img {
  -o-object-fit: cover;
     object-fit: cover;
  height: min(35vh, 320px) !important;
  width: 100%;
  z-index: -1;
}

.hero-banner__content {
  z-index: 1;
  background-color: rgba(0, 0, 0, 0.75);
  background-image: url("../img/noise.png");
  max-width: 94%;
  color: #FFFFFF;
  padding-top: var(--space-s);
  padding-bottom: var(--space-s);
  padding-left: var(--space-l);
  padding-right: var(--space-l);
  border-radius: 30px;
}

@media all and (max-width: 47.9375em) {
  .hero-banner__content h1 {
    font-size: var(--size-800);
  }
}

.hero-banner--deep {
  height: calc(100vh - 110px);
  max-height: min(100vh - 110px, 884px);
}
.hero-banner--deep img {
  height: min(100vh - 110px, 884px) !important;
}
.hero-banner--deep .hero-banner__content {
  max-width: min(94%, 818px);
}

@media all and (max-width: 35.4375em) {
  .hero-banner--deep h1 {
    font-size: var(--size-700);
  }
}

@media all and (max-width: 47.9375em) {
  .sidebar--primary {
    border-top: 1px solid;
    padding-top: var(--space-l);
  }
}
@media all and (min-width: 48em) {
  .sidebar--primary {
    border-left: 1px solid;
    padding-left: var(--space-m);
  }
}
@media all and (min-width: 64em) {
  .sidebar--primary {
    padding-left: var(--space-l);
  }
}

.owl-bordered > * + * {
  border-top: 1px solid;
}

.image-list__item img {
  width: 100%;
}

.content-with-image--centered > * {
  --grid-gap: 0;
  justify-content: center;
}

.wsp-pages-list {
  --grid-gap: var(--space-3xs);
}

.color[class*=color--] {
  padding: 0.5rem;
}

.color.color--cream {
  background-color: hsl(60deg, 76%, 97%);
}

.color.color--grey-light {
  background-color: hsl(0deg, 0%, 74%);
}

.color.color--grey {
  background-color: hsl(0deg, 0%, 64%);
}

.color.color--grey-dark {
  background-color: hsl(0deg, 0%, 47%);
}

.color.color--blue-light {
  background-color: hsl(199deg, 92%, 85%);
}

.color.color--blue {
  background-color: hsl(199deg, 98%, 48%);
}

.color.color--blue-dark {
  background-color: hsl(201deg, 98%, 41%);
}

.color.color--pink-light {
  background-color: hsl(347deg, 100%, 72%);
}

.color.color--pink {
  background-color: hsl(340deg, 100%, 63%);
}

.color.color--pink-dark {
  background-color: hsl(340deg, 79%, 46%);
}

.color.color--blue-pink-grad {
  background: rgb(255, 64, 129);
  background: linear-gradient(60deg, rgb(255, 64, 129) 0%, rgb(177, 69, 126) 30%, rgb(136, 54, 165) 45%, rgb(3, 169, 244) 100%);
}

/*

Grids
=====

*/
/* Sidebar Layout */
.has-sidebar {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-l);
}

.has-sidebar > .has-sidebar__sidebar {
  flex-basis: min(40%, 452px);
  flex-grow: 1;
}

.has-sidebar > .has-sidebar__body {
  flex-basis: 0;
  flex-grow: 999;
  min-inline-size: 55%;
}

.has-sidebar--small > .has-sidebar__sidebar {
  flex-basis: min(33%, 300px);
}

.has-sidebar--small > .has-sidebar__body {
  min-inline-size: 60%;
}

/*

Stacks
=====

Styles for the stack element

*/
.stack {
  display: grid;
  gap: var(--grid-gap);
}

@supports (width: min(250px, 100%)) {
  .stack {
    --column-count: 250px;
    grid-template-columns: repeat(auto-fit, minmax(min(var(--column-count), 100%), 1fr));
    width: 100%;
  }
  .stack.stack--cols-1 {
    --column-count: calc( 100% - var(--grid-gap));
  }
  @media all and (min-width: 48em) {
    .stack.stack--cols-2-from-medium {
      --column-count: calc( 50% - var(--grid-gap));
    }
  }
  @media all and (min-width: 48em) {
    .stack.stack--cols-3-from-medium {
      --column-count: calc( 33.3333333% - var(--grid-gap));
    }
  }
  @media all and (min-width: 48em) {
    .stack.stack--reversed-from-medium > :nth-child(even) {
      order: -1;
    }
  }
}
.stack:only-child {
  height: 100%;
}

.stack__item {
  background-color: goldenrod;
}
.stack__item:nth-child(odd) {
  background-color: darkkhaki;
  color: #000;
}

.stack__item.wide {
  grid-column: 1/-1;
}

/*

Header
======

Styles for the header element

*/
.site-header {
  background-color: #FFFFFF;
  position: relative;
  z-index: 100;
}

.site-header__wrapper {
  --grid-gap: var(--space-xs);
  padding-top: var(--space-xs);
  padding-bottom: var(--space-xs);
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: var(--grid-gap);
  position: relative;
}
@media all and (min-width: 48em) {
  .site-header__wrapper {
    justify-content: space-between;
  }
}

.site-header__nav-container {
  width: 100%;
}

/*

Main
====

Styles for the main element

*/
main {
  background-color: #FFFFFF;
}

/*

Aside
=====

Styles for the aside element

*/
/*

Footer
======

Styles for the footer element

*/
.site-footer {
  color: #FFFFFF;
  padding-bottom: var(--space-xl);
  padding-top: var(--space-xl);
}