/*
Theme Name: Frontwards
Theme URI: http://frontwardsdesign.co.uk
Description: So barebones it barely exists.
Version: 1.01
Author: Oliver Fisher
Author URI: http://frontwardsdesign.co.uk
*/



/*====================================
  +++ GLOBAL +++
  ====================================*/

html {
	font-size: 87.5%;
}

body {
	padding: .75rem .75rem 6rem;
	font-family: 'neue-haas-grotesk-text', 'Helvetica Neue', Helvetica, Arial, sans-serif;
	font-size: 1em;
	font-weight: normal;
	font-style: normal;
	line-height: 1.5;
	-moz-font-feature-settings: "kern";
	-moz-font-feature-settings: "kern=1";
	-ms-font-feature-settings: "kern";
	-o-font-feature-settings: "kern";
	-webkit-font-feature-settings: "kern";
	font-feature-settings: "kern";
	text-rendering:optimizeLegibility;
	color: #111;
	background: #fff;
}

* {
	margin: 0;
	font-family: inherit;
	line-height: inherit;
	color: inherit;
}

* + *{
	margin-top: 1.5rem;
}

body, article,
br, li, dt, dd, th, td, option,
figure img, figcaption,
.wrapper,
.overlay,
.flex > *,
.margins-off *,
.grid,
.grid * + *,
.meta,
.button-group,
.woocommerce-notice *,
.single-product .cart *,
.select2-container *,
.woocommerce-Address-title *,
.woocommerce-account header *,
.shop_table,
.coupon > *,
#shipping_method li *,
.checkmark,
.form-row.place-order,
.facetwp-facet,
.facetwp-facet *,
.facetwp-pager *,
.woocommerce-product-gallery *,
.flex-control-thumbs *,
.pswp,
.pswp * {
 	margin-top: 0;
}

*,
*:before,
*:after {
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}

.visually-hidden,
.screen-reader-text {
    position: absolute !important;
    height: 1px;
	width: 1px;
    overflow: hidden;
    clip: rect(1px 1px 1px 1px); /* IE6, IE7 */
    clip: rect(1px, 1px, 1px, 1px);
}

.hide-contents * {
	display: none;
}

.button.fixed {
	display: none;
}

/* @-webkit-keyframes fadeIn {
	from { opacity: 0; }
	  to { opacity: 1; }
}
@keyframes fadeIn {
	from { opacity: 0; }
	  to { opacity: 1; }
}

.lazyload,
.lazyloading,
.lazyloaded {
	-webkit-animation: fadeIn .3s;
    animation: fadeIn .3s;
} */

.lazyload,
.lazyloading {
    opacity: 0;
}

.lazyloaded {
    opacity: 1;
	-webkit-transition: opacity .3s;
	-moz-transition: opacity .3s;
	transition: opacity .3s;
}



/*====================================
  +++ GLOBAL ELEMENTS +++
  ====================================*/


/* LAYOUT */

header[role="banner"],
header[role="banner"] nav[role="navigation"],
header[role="banner"] nav[role="navigation"] ul {
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: space-between;
	justify-content: space-between;
	-webkit-align-items: center;
	align-items: center;
}

header[role="banner"] nav[role="navigation"] {
	position: fixed;
	bottom: 0;
	left: 0;
	right: 0;
	z-index: 2;
    padding: .75rem 0 0;
	background: #fff;
}

header[role="banner"] nav[role="navigation"]:before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	border-top: 2px solid;
}

header[role="banner"] nav[role="navigation"] li {
	padding: 1rem 0 0;
	font-size: .844rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.1em;
}

header[role="banner"] #menu-item-23314,
header[role="banner"] #menu-item-23322,
header[role="banner"] nav[role="navigation"] li:last-of-type {
	display: none;
}

header[role="banner"] nav[role="navigation"] a {
	padding: .75rem .6875rem;
}

header[role="banner"] .social-media a {
	padding: .75rem .375rem;
}

header[role="banner"] .current-menu-item {
	background-image: url(images/LVEUM_pill_black.svg);
	background-repeat: no-repeat;
	background-size: 1.75rem;
	background-position: center 5px;
}

header[role="banner"] .current-menu-item a:hover,
header[role="banner"] .current-menu-item a:focus {
	color: #111;
	cursor: default;
}

header[role="banner"] .social-media {
	display: none;
}

.social-media svg {
	height: 1rem;
}

.site-title {
	position: fixed;
	top: 2.25rem;
	left: 0;
	right: 0;
	z-index: 1;
	padding: 0 0.75rem;
	-webkit-transition: transform .5s ease-in, background .5s ease-in;
	-moz-transition: transform .5s ease-in, background .5s ease-in;
	transition: transform .5s ease-in, background .5s ease-in;
	transition-delay: .5s;
}

.site-title svg {
	display: block;
	height: 10.5rem;
	-webkit-transform-origin: top center;
	-ms-transform-origin: top center;
	transform-origin: top center;
}

#full-logo {
	will-change: transform, opacity;
	-webkit-transition: transform .5s ease-in, opacity .5s, fill .2s;
	-moz-transition: transform .5s ease-in, opacity .5s, fill .2s;
	transition: transform .5s ease-in, opacity .5s, fill .2s;
}

.logo-container {
	position: absolute;
	transform: translateY(-6rem);
	height: 100%;
	width: 100%;
	opacity: 0;
	background: #111;
	-webkit-transition: transform .5s ease-in, background .5s ease-in;
	-moz-transition: transform .5s ease-in, background .5s ease-in;
	transition: transform .5s ease-in, background .5s ease-in;
}

.site-title #horizontal-logo {
	position: absolute;
	left: 0;
	right: 0;
    width: calc(100% - 4.5rem);
	height: 3rem;
	max-width: 320px;
	margin: 0 auto;
	fill: #fff;
}

.site-title a {
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: center;
	justify-content: center;
}

.shrink .site-title a,
.single .site-title a {
	height: 3rem;
}

.shrink #full-logo,
.single #full-logo {
	display: none;
}

.shrink .logo-container,
.single .logo-container {
	transform: translateY(-2.25rem);
	opacity: 1;
}

.overlay {
	display: none;
	position:fixed;
	top:0;
	left: 0;
	height:100%;
	width:100%;
	overflow:auto;
	z-index: 1;
	padding: 6rem 0.75rem;
	text-align: center;
	-webkit-font-smoothing: antialiased;
  	-moz-osx-font-smoothing: grayscale;
	background: rgba(114, 204, 255, 0.9);
}

.overlay nav ul {
	display: inline-block;
	margin-left: -3.75rem;
	text-align: left;
}

.overlay nav li {
	padding-left: 3.75rem;
	font-size: 1.999rem;
}

.overlay .current-menu-item {
	background-image: url(images/LVEUM_pill_black.svg);
    background-repeat: no-repeat;
    background-size: 2.369rem;
    background-position: left center;
}

.overlay .menu-item-object-pageBasket,
.overlay .current_page_itemBasket {
	position: relative;
	margin-top: 1.5rem;
	padding-top: 1.5rem;
}

.overlay .menu-item-object-pageBasket:before,
.overlay .current_page_itemBasket:before {
	content: '';
	position: absolute;
	top: 0;
	left: 3.75rem;
	width: 1.5rem;
	margin: auto;
	border-top: 2px solid;
}

.overlay .social-media {
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: center;
    justify-content: center;
	margin-left: -7.5rem;
}

.overlay .social-media > * + * {
	margin-left: .75rem;
}

.overlay svg {
	height: 1.5rem;
}

.popup {
	display: none;
	position: fixed;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	z-index: 100;
	height: 100%;
	width: 100%;
    transform: translateY(calc(100% - 2.5rem));
	margin: 0 auto;
	padding: 2.5rem 0 0;
	background: #72ccff;
	/* outline: 2px solid; */
	-webkit-transition: transform .5s;
	-moz-transition: transform .5s;
	transition: transform .5s;
}

.wrapper-scroll {
    height: 100%;
	width: 100%;
	overflow-y: scroll;
    padding: 6rem 4.5rem 0;
}

.wrapper-scroll .text-wrapper {
	padding-bottom: 9rem;
}

.wrapper,
.text-wrapper {
	width: 100%;
	margin-left: auto;
	margin-right: auto;
}

.wrapper {
	max-width: 1280px;
}

.home .wrapper {
	max-width: 1920px;
}

.text-wrapper {
	max-width: 640px;
}

main {
	margin-top: 14.25rem;
}

.single main {
	margin-top: 6rem;
}

main > header {
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-justify-content: center;
	justify-content: center;
	-webkit-align-items: center;
	align-items: center;
}

* + .pagination {
	margin-top: 3rem;
}

.pagination a {
	display: flex;
	align-items: center;
}

.pagination a > * + * {
	margin-top: 0;
	margin-left: .375rem;
}

.pagination .icon {
	height: 1.5rem;
}

/* FACETS */

.facetwp-template {
	margin-top: 5.25rem;
}

.facetwp-facet label {
	position: relative;
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: center;
	align-items: center;
	margin: 0;
	padding: .75rem;
    font-weight: 400;
	text-transform: none;
    letter-spacing: 0;
    color: #111;
}

.facetwp-facet label input.facetwp-radio,
.facetwp-radio + span::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	height: 100%;
	width: 100%;
}

.reset-facet-single {
	width: 33.333%;
}

.facetwp-type-radio,
.facetwp-type-checkboxes {
	width: 66.666%;
}

#featured-reset,
.facetwp-facet-featured,
.facetwp-type-fselect,
.facetwp-type-search {
	margin-top: 1.5rem;
}

.facetwp-radio,
.facetwp-checkbox {
	width: 50%;
	text-align: center;
}

.facetwp-type-fselect,
.facetwp-type-fselect .fs-wrap,
.facetwp-type-fselect .fs-dropdown,
.facetwp-type-search,
.facetwp-search-wrap,
.facetwp-facet-search .facetwp-input-wrap,
.facetwp-type-fselect .fs-label-wrap {
	width: 100% !important;
}

.facetwp-type-fselect .fs-label-wrap {
	cursor: pointer;
	-webkit-transition: background .2s;
	-moz-transition: background .2s;
	transition: background .2s;
}

.facetwp-type-fselect .fs-label-wrap:hover,
.facetwp-type-fselect .fs-label-wrap:focus {
	background: rgba(114, 204, 255, .25);
}

.facetwp-facet {
	display: -webkit-flex;
	display: flex;
	margin-bottom: 0 !important;
	font-size: 0.844rem;
}

.facetwp-checkbox,
.facetwp-radio {
	background: #fff !important;
	margin-bottom: 0 !important;
	padding: .75rem !important;
	line-height: 1;
	border: 2px solid;
	border-right: 0;
	-webkit-transition: background .2s;
	-moz-transition: background .2s;
	transition: background .2s;
}

.facetwp-checkbox:hover,
.facetwp-checkbox:focus,
.facetwp-radio:hover,
.facetwp-radio:focus {
	background: rgba(114, 204, 255, .25) !important;
}

.facetwp-radio + span:before {
	border: 2px solid;
	border-right: 0;
}

.facetwp-checkbox:last-of-type,
.facetwp-radio:last-of-type,
.facetwp-facet label:last-of-type .facetwp-radio + span::before {
	border-right: 2px solid;
}

.facetwp-radio[data-value="0"],
.facetwp-checkbox[data-value="0"],
.facetwp-radio[data-value="product_variation"] {
	display: none;
}

.facetwp-radio:checked + span {
	color: #fff;
}

.facetwp-checkbox.checked,
.facetwp-radio.checked,
.facetwp-radio:checked + span::before,
.reset-facet-single.checked {
    background-color: #72ccff !important;
}

.facetwp-radio:checked + span::before {
	z-index: -1;
    background-color: #72ccff !important;
}

.facetwp-checkbox.checked + .facetwp-checkbox.checked {
	border-left: 1px solid #fff;
}

.facetwp-checkbox .facetwp-counter,
.facetwp-radio .facetwp-counter {
    display: none;
}

.facetwp-btn {
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: center;
	align-items: center;
	top: 0 !important;
    right: 0 !important;
	height: 100%;
	padding: .5rem;
	opacity: 1 !important;
}

.facetwp-btn:before {
	background: url(images/search.svg) no-repeat !important;
	-webkit-transition: background .2s ease;
	-moz-transition: background .2s ease;
	transition: background .2s ease;
}

.facetwp-btn:hover:before,
.facetwp-btn:focus:before {
	background: url(images/search-blue.svg) no-repeat !important;
}

.fs-label-wrap,
.facetwp-search {
	height: 2.625rem;
}

.fs-label-wrap {
	border: 2px solid !important;
}

.fs-label-wrap .fs-label {
	position: absolute;
	top: 50%;
    transform: translateY(-50%);
    width: 100%;
	padding: .75rem !important;
}

/* input[type="search"],
input[type="text"].facetwp-search {
	font-size: 16px;
} */

input[type="text"].facetwp-search {
	border: 2px solid;
	background: transparent;
}

.facetwp-pager {
	text-align: center;
}

.facetwp-pager-label {
	display: block !important;
	margin-top: .375rem;
	margin-right: 0 !important;
	font-size: .75rem;
	line-height: 1.5rem;
	color: rgba(0,0,0, 0.5);
}

.facetwp-page {
	margin-right: 0 !important;
	padding: 0 .1875rem !important;
}

.facetwp-page + .facetwp-page {
	margin-left: .5rem;
}

.facetwp-page.active {
	border-bottom: 2px solid;
}

/* END FACETS */

.grid {
	display: -webkit-flex;
	display: flex;
	margin: 3rem -.75rem -1.125rem;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
}

.single-product .grid {
	-webkit-justify-content: center;
	justify-content: center;
}

.grid > * {
	width: 50%;
	padding: .75rem .75rem 1.125rem;
}

.single-product article header {
	position: relative;
	padding-bottom: 1.5rem;
}

.single-product article header:after {
	content: '';
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	border-bottom: 2px solid #111;
}

article {
	display: -webkit-flex;
	display: flex;
	-webkit-flex-direction: column;
	flex-direction: column;
	-webkit-align-items: stretch;
	align-items: stretch;
}

main footer {
	position: relative;
}

main footer {
	margin-top: 3rem;
	margin-left: 0;
	margin-right: 0;
	padding-top: 1.5rem;
}

main article > footer {
	margin-top: 6rem;
	padding-top: 3rem;
}

main footer:before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	margin-left: -.75rem;
	margin-right: -.75rem;
	border-top: 2px solid;
}

main article > footer:before {
	border-top: 2px solid;
}

article + article,
section + section {
	position: relative;
	margin-top: 4.5rem;
	padding-top: 3rem;
}

.woocommerce-cart section + section,
.woocommerce-checkout section + section {
	margin-top: 4.5rem;
	padding-top: 3rem;
}

section + section:before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	width: 100%;
	margin: auto;
}

section + section:before {
	border-top: 2px solid;
}

footer[role="contentinfo"] {
	/* display: none; */
	margin-top: 6.75rem;
	text-align: center;
}

footer[role="contentinfo"] img{
	height: 2.25rem;
	margin-bottom: 1.125rem;
}


/* LISTS & TABULAR */

ol li + li {
	margin-top: 1.5rem;
}

.meta-list {
	display: -webkit-flex;
	display: flex;
	margin-top: 3rem;
}

.meta-list li,
th,
label {
	font-size: 0.844rem;
    font-weight: 500;
	text-transform: uppercase;
    letter-spacing: 0.1em;
}

.meta-list li + li {
	position: relative;
	margin-left: 1rem;
	padding-left: 1rem;
}

.meta-list > li + li:before {
	content: '\2022';
	position: absolute;
	left: -.275rem;
}

dt {
	font-size: 1.333rem;
	font-weight: 600;
}

dt + dd {
	margin-top: 1.5rem;
}

dd + dt {
	position: relative;
	margin-top: 3rem;
}

thead {
	margin-bottom: 1.5rem;
}

.cart td,
.shop_table td,
.shop_table tfoot th,
.cart_totals th {
	padding-top: .75rem;
}

th {
	text-align: left;
}

th + th,
td + td,
th + td {
	padding-left: .75rem;
}

td {
	font-size: .75rem;
}

.product-name span {
	display: block;
	margin-top: 0;
}

.product-name span:first-of-type {
	font-weight: 600;
}

.remove {
	font-size: 1.125rem;
	font-weight: 600;
}


/* IMAGES */

figure,
figure img{
	line-height: 0;
}

figcaption {
	padding-top: .5rem;
	line-height: 1.5;
}

.image-wrapper {
	position: relative;
}

.image-overlay {
    position: absolute;
    top: 0;
    right: 0;
    width: 103.125px;
    height: 103.125px;
    color: #fff;
    text-align: center;
}

.image-overlay:before {
	position: absolute;
    right: 0;
    content: "";
    display: block;
    width: 0;
    height: 0;
	border-bottom: 103.125px solid transparent;
	border-right: 103.125px solid rgba(0, 0, 0, 0.85);
}

.image-overlay .meta {
	position: absolute;
	top: 31.25%;
	left: 71.5%;
	-webkit-transform: translateY(-50%) translateX(-56.25%) rotate(45deg);
	-webkit-transform-origin: center;
	transform-origin: center;
	width: 100%;
	font-weight: 700;
	line-height: 1.5;
}

img + figcaption {
	margin-top: .75em;
}

img{
	height: auto;
	width: 100%;
	max-width: 100%;
}

svg {
	-webkit-transition: fill .2s;
	-moz-transition: fill .2s;
	transition: fill .2s;
}

/* VIDEO / EMBEDS */

iframe {
	max-width: 100%;
}

.embed-container,
.embed-youtube {
	position: relative;
	padding-bottom: 56.25%;
	height: 0;
	overflow: hidden;
	max-width: 100%;
}

.embed-youtube iframe,
.embed-youtube object,
.embed-youtube embed,
.embed-container iframe,
.embed-container object,
.embed-container embed {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}


/* LINKS & BUTTONS */

a {
	text-decoration: none;
	-webkit-transition: color .2s;
	-moz-transition: color .2s;
	transition: color .2s;
}

a:hover, a:focus,
.grid figure:hover a {
	color: #72ccff;
}

button a:hover,
button a:focus {
	color: inherit;
}

ul a:hover svg,
ul a:focus svg {
	fill: #72ccff;
}

p a {
	border-bottom: .125em solid;
}

button,
.button,
[type="button"],
[type="submit"] {
    display: inline-block;
	padding: .5rem 2.25rem;
	font-weight: 600;
	text-transform: uppercase;
    text-align: center;
    text-decoration: none;
	letter-spacing: 0.1em;
	background: #444;
    border-radius: 1.777rem;
    color: #fff;
    cursor: pointer;
    transition: background 250ms ease-in-out,
                transform 150ms ease;
}

main header {
	position: relative;
}

.reset-facet-single {
	padding: .75rem;
	font-size: .844rem;
	font-weight: 400;
	line-height: 1;
	text-transform: none;
	letter-spacing: 0;
	background: none;
	color: #111;
	border-radius: 0;
	border: 2px solid;
	border-right: 0;
	-webkit-transition: background .2s;
	-moz-transition: background .2s;
	transition: background .2s;
}

.reset-facet-single:hover,
.reset-facet-single:focus {
	background: rgba(114, 204, 255, .25);
}

.reset-facet-all {
	position: absolute;
	bottom: -1.5rem;
	display: block;
	padding: 0;
	font-size: .633rem;
	background: none;
	border-bottom: 1px solid;
	border-radius: 0;
	color: #111;
	-webkit-transition: color .2s;
	-moz-transition: color .2s;
	transition: color .2s;
}

.reset-facet-all:hover,
.reset-facet-all:focus {
	background: none;
	color: #72ccff;
}

button[aria-controls="overlay"] {
	-webkit-align-self: stretch;
	align-self: stretch;
	padding: .75rem;
	background: none;
	border-radius: 0;
}

button {
	margin: 0;
    border: none;
    -webkit-appearance: none;
    -moz-appearance: none;
}

button svg,
.button svg {
	height: 1rem;
	fill: #fff;
}

button[aria-controls="overlay"] svg {
	height: 1.5rem;
	fill: #111;
}

button[aria-controls="overlay"]:hover,
button[aria-controls="overlay"]:focus {
	background: none;
	outline: 0;
}

button[aria-controls="overlay"]:hover svg {
	fill: #72ccff;
	background: none;
}

.btn-close .plus {
	opacity: 0;
}

button * + svg,
.button * + svg {
	margin-left: .75rem;
}

button:hover,
button:focus,
button:active,
.button:hover,
.button:focus,
.button:active,
[type="button"]:hover,
[type="button"]:focus,
[type="button"]:active,
[type="submit"]:hover,
[type="submit"]:focus,
[type="submit"]:active {
    background: #111;
}

button[disabled],
button[disabled]:hover,
button[disabled]:focus,
button.disabled,
button.disabled:hover,
button.disabled:focus {
	cursor: default;
	background: rgba(0,0,0, 0.25);
}

.button-group {
	display: -webkit-flex;
	display: flex;
}

.button-group + .button-group,
.filter-select,
.quick-search {
	margin: 1.5rem 0 0;
}

.button-group button {
	-webkit-flex-grow: 1;
	flex-grow: 1;
	padding: .5rem .75rem;
	font-size: .844rem;
	font-weight: 400;
	text-transform: none;
	letter-spacing: 0;
	border: 2px solid;
	border-right: 0;
	border-radius: 0;
	color: #111;
	background: #fff;
}

.button-group button:last-child {
	border-right: 2px solid;
}

.button-group button:focus {
	outline: 0;
}

.button-group button.is-checked {
	color: #fff;
	background: #72ccff;
	border: 2px solid transparent;
	border-right: 0;
}

.popup button {
	position: absolute;
	top: 0;
	font-size: 0.844rem;
	border-radius: 0;
	background: #72ccff;
	color: #111;
}

.popup button:hover,
.popup button:focus {
	background: #68BAE8;
}

.popup button.button-full-width {
	left: 0;
	width: 100%;
	padding: .5rem 1.5rem;
	line-height: 1.5rem;
}

.popup button.button-full-width:after {
	content: '';
}

.popup button.button-close {
	display: none;
	width: calc(100% - 15px);
}

.button-close:after,
.popup button.button-close:after {
	content: 'x';
}



/*====================================
  +++ GLOBAL TYPOGRAPHY +++
  ====================================*/


/* HEADINGS */

h1,
h2,
h3,
h4,
h5,
legend,
.overlay li,
.band {
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.1em;
}

h1, h2 {
	font-family: 'neue-haas-grotesk-display', 'Helvetica Neue', Helvetica, Arial, sans-serif;
	font-size: 1.999rem;
}

h1 {
	line-height: 1.25;
}

.woocommerce-account h1 {
	font-size: 2.369rem;
}

.woocommerce-account h2 {
	font-size: 1rem;
	color: #111;
}

section > h2 {
	line-height: 2.25rem;
	text-align: center;
}

.woocommerce-order section > h2 {
	text-align: left;
}

.grid h2,
.grid h3 {
	font-family: 'neue-haas-grotesk-text', 'Helvetica Neue', Helvetica, Arial, sans-serif;
	font-size: 1rem;
}

.grid h2 span,
.grid h3 span {
	font-size: 1rem;
	font-weight: 400;
}

h1 span,
.grid h2 span,
.grid h3 span,
.text-wrapper p:first-of-type.greeting {
	display: block;
	font-style: normal;
	text-transform: none;
	letter-spacing: 0;
	color: #111;
}

h1 span,
.text-wrapper p:first-of-type.greeting,
.blog h2,
.single-post h1 {
	font-size: 1.777rem;
	line-height: 1.25;
}

h1 span,
.text-wrapper p:first-of-type.greeting {
	font-weight: 400;
}

/* .grid h2 span,
.grid h3 span {
	font-size: 1.125rem;
	font-weight: 400;
} */

.popup h2 {
	text-align: center;
}

h2 + .shop_table {
	margin-top: 1.5rem;
}

.heading-secondary {
	display: block;
	font-size: 0.844rem;
	letter-spacing: 0.1rem;
}


/* PARAGRAPHS */

article p {
	font-size: 1.125rem;
}

article header + * {
	margin-top: 3rem;
}

.single-post article header + * {
	margin-top: 1.5rem;
}

article header + .woocommerce {
	margin-top: 0;
}

.woocommerce-account article header + .woocommerce {
	margin-top: 3rem;
}

article .woocommerce-Address-title + * {
	margin-top: 1.5rem;
}

.text-wrapper p,
.text-wrapper .woocommerce-notice li p:first-of-type,
.nf-form-fields-required {
	font-size: 1.125rem;
}

.text-wrapper li p:first-of-type,
.text-wrapper dd p:first-of-type {
	font-size: 1rem;
	font-weight: normal;
}

footer[role="contentinfo"] * + p {
	margin-top: 0;
	font-size: 0.75rem;
}

body > footer svg {
	height: 1.5rem;
	fill: #72ccff;
	transform: rotate(-22.5deg);
	margin-bottom: 1.5rem;
}

article footer svg {
	height: .75rem;
	fill: #111;
}


/* UTILITY */

.meta {
    display: block;
	font-size: .844rem;
	font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0.1em;
}

/*  TYPOGRAPHY
    ------------------------------  */

	/* Size */
	.x-small {
		font-size: .75rem;
	}

	/* Line Height */
	.line-height-normal {
		line-height: 1.5rem;
	}


/* OTHER */

address {
	font-size: 0.75rem;
}


/* FORMS */

fieldset {
	margin-top: 3rem;
    padding: 0;
    border: 0;
}

legend {
	font-size: 2.369rem;
}

input, select, textarea {
	padding: 0 .75rem;
	font-size: 16px;
	border: 2px solid;
	background: none;
}

input:focus,
select:focus,
textarea:focus {
	border: 2px solid #111;
	outline: 0;
}

select {
	width: 100%;
}

input[type="text"],
input[type="number"],
input[type="email"],
input[type="password"],
input[type="tel"],
textarea {
	width: 100%;
	padding: .5rem .75rem;
	border: 2px solid;
}

input[type="text"]:focus,
input[type="number"]:focus,
input[type="email"]:focus,
input[type="password"]:focus,
input[type="tel"]:focus,
textarea:focus {
	background: rgba(114, 204, 255, .25);
	outline: 0;
}

label {
    display: block;
    margin-bottom: .5rem;
	font-weight: 700;
}

textarea {
	height: 12rem;
}

select {
	height: 2.25rem !important;
	cursor: pointer;
}

form button {
	margin-top: 2.25rem;
}

.filter-select {
	margin-left: auto;
}

.select2-container {
	font-size: .844rem;
}

.select2-container--default .select2-selection--single {
	display: flex;
	display: -webkit-flex;
	-webkit-align-items: center;
	align-items: center;
	height: 2.25rem;
	border: 2px solid;
	background: rgba(0,0,0, 0.05);
}

.select2-container--default .select2-selection--single .select2-selection__arrow {
	height: 100%;
}

.form-row,
.mc4wp-checkbox {
	margin-top: 2.25rem;
}

#billing_address_2_field {
	margin-top: 1.5rem;
}

.required {
	text-decoration: none;
	color: #c9302f;
}


/* Custom Radio Button */

/* The container */
#shipping_method li,
#ship-to-different-address,
.wc_payment_method label,
.yith_wcmc_subscribe_me_label {
    display: block;
    position: relative;
    cursor: pointer;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}

/* Hide the browser's default radio button */
[type="radio"],
[type="checkbox"] {
    opacity: 0;
    cursor: pointer;
	z-index: 1;
}

.checkbox,
.yith_wcmc_subscribe_me_label,
.wc_payment_method label,
.payment_box {
	padding-left: 1.75rem;
}

/* Create a custom radio button */
.checkmark {
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: center;
	justify-content: center;
	-webkit-align-items: center;
	align-items: center;
    background-color: #fff;
	border: 1px solid;
}

/* Ensure default and custom radio buttons are the same size and position */
form [type="radio"],
form [type="checkbox"],
table [type="radio"],
table [type="checkbox"],
.checkmark {
	position: absolute;
	top: 1px;
    left: 0;
	height: 1.125rem;
	width: 1.125rem;
}

.payment_method_paypal_express [type="radio"],
.payment_method_paypal_express .checkmark {
	top: 0;
	transform: none;
}

[type="radio"] ~ .checkmark,
[type="radio"] ~ label .checkmark {
	border-radius: 50%;
}

/* On mouse-over, add a background colour */
#shipping_method li:hover input ~ .checkmark {
    background-color: rgba(0,0,0,.25);
}

/* When the radio button is checked, add a background colour */
input:checked ~ .checkmark,
input:checked ~ label .checkmark {
    background-color: #72ccff;
	border: 1px solid #72ccff;
}

#shipping_method li:hover input:checked ~ .checkmark {
    background-color: #72ccff;
}

/* Create the indicator (the dot/circle - hidden when not checked) */
.checkmark:after {
    content: "";
    position: absolute;
    display: none;
}

[type="radio"] ~ .checkmark:after,
[type="radio"] ~ label .checkmark:after {
	width: .375rem;
	height: .375rem;
	border-radius: 50%;
	background: white;
}

[type="checkbox"] ~ .checkmark:after {
	top: 1px;
	left: 5px;
	width: 7px;
	height: 13px;
	border: solid white;
	border-width: 0 3px 3px 0;
	-webkit-transform: rotate(45deg);
	-ms-transform: rotate(45deg);
	transform: rotate(45deg);
}

.mc4wp-checkbox span:after {
	top: 3px;
	left: 6px;
	width: 7px;
	height: 13px;
	border: solid white;
	border-width: 0 3px 3px 0;
	-webkit-transform: rotate(45deg);
	-ms-transform: rotate(45deg);
	transform: rotate(45deg);
}

/* Show the indicator (dot/circle) when checked */
input:checked ~ .checkmark:after,
input:checked ~ label .checkmark:after {
    display: block;
}

.mc4wp-checkbox input:checked ~ span:after {
    display: block;
}

#shipping_method label {
	cursor: pointer;
}



/*====================================
  +++ WOOCOMMERCE SPECIFIC +++
  ====================================*/

.single-product .cart,
.single_variation_wrap,
.woocommerce-variation-add-to-cart,
.single-product .cart .label {
  	display: -webkit-flex;
  	display: flex;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-align-items: center;
	align-items: center;
}

.single-product .cart,
.single-product .cart + * {
	margin-top: 3rem;
}

.single-product .cart + * {
	padding-top: 1.5rem;
}

.single-product .cart > * + .price {
	margin-left: 0;
}

.single_variation_wrap,
.single-product .cart button {
	margin-left: .75rem;
}

.single-product select,
.single-product input[type="number"],
.single-product .cart button {
	height: 2.25rem;
}

.reset_variations {
	display: none !important;
}

.single_variation {
    width: 100%;
    order: 3;
}

.single-product .cart .price {
	display: inline-block;
	width: 100%;
	margin-top: .75rem;
	font-weight: 600;
}

.variations,
.variations td {
	width: auto;
}

.cart .variations td {
	padding: 0;
}

input[type="number"] {
	width: 3rem;
	padding: .25rem;
}

.attribute {
    background: #f2f2f2;
    height: 2.25rem;
    padding: 0.7185rem .75rem;
    font-size: .844rem;
    line-height: 1;
}

.attribute + .quantity {
	margin-left: .75rem;
}

.out-of-stock {
	/* color: #c73235; */
	color: rgba(0,0,0, 0.25);
	text-transform: uppercase;
	letter-spacing: 0.1em;
}

article p:last-of-type.out-of-stock {
	font-size: 1rem;
	font-weight: 600;
	text-decoration: line-through;
}

.digital-link {
	display: none;
	order: 2;
	-webkit-align-items: center;
	align-items: center;
	padding-left: 1.5rem;
	padding-right: 1.5rem;
	margin-left: .75rem;
}

.pswp__caption {
	display: none;
}

.flex-control-thumbs {
	display: -webkit-flex;
	display: flex;
	list-style: none;
	list-style-type: none;
	margin-top: .75rem;
}

.flex-control-thumbs > * + * {
	margin-left: .75rem;
}

.flex-control-thumbs img {
	cursor: pointer;
}


/* BASKET */

.product-thumbnail a {
	display: block;
	line-height: 0;
}

.table.cart td.actions .button {
	margin-bottom: 0 !important;
}

.cart td.actions,
.shop_table td.actions {
	padding-top: 0;
}

.cart_item {
	margin-bottom: 1.5rem;
}

.coupon {
	margin-top: 1.5rem;
}

table.cart td.actions .coupon .input-text,
table.cart td.actions .coupon .button {
	margin-bottom: 0 !important;
}

.coupon label {
	width: 100%;
	margin-bottom: .5rem;
}

.coupon > button {
	width: 100%;
	height: 2.25rem;
	margin-top: 1.5rem;
}

#shipping_method li {
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
}

#shipping_method li + li {
	margin-top: 1.125rem;
}

#shipping_method label {
	margin-bottom: 0;
	padding-left: 1.5rem;
	font-weight: 400;
	text-transform: none;
	letter-spacing: 0;
	color: #111;
}

.shipping-method-description {
	width: 100%;
	padding-left: 1.5rem;
	color: rgba(0,0,0,.5);
}

article .shipping-method-description:first-of-type,
.text-wrapper .shipping-method-description:first-of-type {
	font-size: .844rem;
}

form .shipping-calculator-form button {
	margin-top: .75rem;
}

.shipping-calculator-button {
	font-weight: 700;
	border-bottom: 1px solid;
}

.shipping th {
	vertical-align: baseline;
}

.order-total strong {
	font-weight: 400;
}

.woocommerce-shipping-calculator {
	margin-top: 1.125rem;
}

.woocommerce-cart .wc-proceed-to-checkout {
	text-align: left !important;
}

.wc-proceed-to-checkout {
	margin-top: 3rem;
}


/* CHECKOUT */

.wc_payment_methods img {
	display: block;
	margin-top: .75rem;
}

.payment_box {
	margin-top: .75rem;
}

article .payment_box p:first-of-type {
	font-size: .75rem;
}

.woocommerce-terms-and-conditions-wrapper {
	display: none;
}

.woocommerce-shipping-fields {
	margin-top: 2.25rem;
}


/* NOTIFICATIONS */

.woocommerce-notice {
	/* position: fixed; */
	top: 0;
	left: 0;
	right: 0;
	z-index: 3;
	margin-bottom: 1.5rem;
	padding: 0.75em;
	color: #fff;
}

.woocommerce-info {
	background: #111;
}

.woocommerce-error {
	background: #c9302f;
}

.woocommerce-notice .wrapper {
	position: relative;
	width: 100%;
}

.woocommerce-notice button {
	width: calc(100% + 1.5rem);
	margin-left: -.75rem;
	margin-bottom: -.75rem;
	padding: 1.125rem .75rem;
	border-radius: 0;
	background: none;
}

.woocommerce-notice span {
	font-weight: 600;
}

.woocommerce-notice span a {
	text-transform: uppercase;
	border-bottom: 2px solid;
}


/* ACCOUNT */

.addresses {
	margin-top: 3rem;
}

.woocommerce-Address-title {
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: baseline;
	align-items: baseline;
}

.edit {
	font-size: .75rem;
	color: #72ccff;
	border-bottom: 2px solid;
}

* + .edit {
	margin-left: .75rem;
}
