[v-cloak] {display: none;}
article, aside, figure, figcaption, footer, header, hgroup, nav, section, summary {display: block;}
html, button, input, select, textarea {font-size: @fontSize;}
body {
	background: @backgroundColor;
	color: @textColor;
}
img {
	border: 0;
	max-width: 100%;
	height: auto !important;
}
img.lazy {
	opacity: 0;
	transition: opacity 0.15s linear;
}
a {
	color: @linkColor;
	transition: @transition;
	font-weight: @bold;
	text-decoration: none !important;
	&:hover {color: @linkHoverColor;}
}
a, button, .btn {font-weight: 600;}
.btn-bkg(@color) {
    color: contrast(@color, @gray8, @white, 30%);
    background: @color;
    border-color: @color;
    &:hover {
        background: @color - #222;
		border-color: @color - #222;
		color: contrast(@color, @gray8, @white, 45%);
	}
}
.btn {
	transition: @transition;
	&.btn-primary {
		.btn-bkg(@color1);
	}
	&.btn-secondary {
		.btn-bkg(@color2);
	}
	&.btn-tertiary {
		.btn-bkg(@color3);
	}
	&.btn-white {
		.btn-bkg(@white);
	}
}
p, ul li, ol li {line-height: 180%;}
h1, h2, h3, h4, h5, h6 {
	color: @gray7;
	margin: 1.2em 0 .8em;
}
h1 {margin-top: 0;}
hr {
	background-color: @gray2;
	color: @gray2;
	margin: 2em auto;
	border-width: 0;
	height: @borderWidth;
	width: 100%;
	clear: both;
}
.big {font-size: @bigFontSize;}
.small {font-size: @smallFontSize;}
.clear {clear: both;}
.bold {font-weight: @bold;}
.success, .error, .required {font-weight: @bold;}
.sucess {color: green;}
.error, .required {color: red;}
.module-title {padding: 0;}
.shadow {box-shadow: @shadow;}
.card-header {font-weight: @bold;}
blockquote {
	margin: 0;
	padding: @padding;
	font-size: @bigFontSize;
	font-style: italic;
	font-weight: 600;
}
blockquote p:first-child:before {
	content: "\201C";
}
blockquote p:last-child:after {
	content: "\201D";
}
.center {text-align: center;}
.right {text-align: right;}

.image-left {
	float: left;
	margin: @padding/2 @padding @padding 0;
}
.image-right {
	float: right;
	margin: @padding/2 0 @padding @padding;
}
.g-recaptcha {display: inline-block;}
.dialog {display: none;}
figure {
	box-sizing: border-box;
	border: @borderWidth solid @gray2;
	border-bottom: none;
	padding: @padding/2;
	font-size: 0.75em;
	display: table;
}
figure img {
	display: block;
	width: 100%;
}
figcaption {
	display: table-caption;
	caption-side: bottom;
	box-sizing: border-box;
	border: @borderWidth solid @gray2;
	border-top: none;
	padding: @padding/2;
}
.theme-default .nivoSlider {
	-webkit-box-shadow: none;
    -moz-box-shadow: none;
    box-shadow: none;
}
header .row > [class^="col-"] {
    flex-direction: column;
    align-self: center;
}
header {
	background: @headerBkgColor;
	.shop-cart-module em {transition: @transition;}
	a,
	.menu-module nav a,
	.menu-module nav .nav-link,
	.shop-cart-module a,
	.shop-cart-module em {color: contrast(@headerBkgColor, @gray8, @white, 30%);}
	.shop-cart-module a:hover {
		&, & em {color: contrast(@headerBkgColor, @gray8, @white, 30%);}
	}
}
#subfooter {
	+ footer {background-color: @color4 - #111;}
}
#subfooter, footer {
	background-color: @color4;
	h5 {margin-top: @padding/2;}
	a, .menu-module nav a, .menu-module nav .nav-link {font-weight: normal;}
	h5, .module-title, a:hover, .menu-module nav a:hover, .menu-module nav .nav-link:hover {color: contrast(@color4, @gray7, @white, 30%);}
	p, div, a, .copyright, .menu-module nav a, .menu-module nav .nav-link {color: contrast(@color4, @gray8, @gray2, 30%);}
	.fa, .fal, .far, .fas, .fab {color: @color5;}
}
footer hr {
	color: @darken;
	background-color: @darken;
	height: @borderWidth * 2;
}
.copyright {text-align: center;}
.content-list-module.portfolio-module img {
	border: 1px solid @color1;
}
.shop-cart-module {
    margin: auto;
    white-space: nowrap;
}
#shop-cart-floater a .shop-cart-quantity {
    color: @white;
    vertical-align: text-bottom;
    margin-left: 8px;
}
.shop_cart_column_name {
	width: 60%;
	text-align: left;
}
.shop_cart_column_quantity {
	width: 10%;
	text-align: left;
}
.shop_cart_column_price {
	width: 15%;
	text-align: right;
}
.shop_cart_column_total {
	width: 15%;
	text-align: right;
}
.shop_cart_buttons {
	text-align: right;
}
.shop_photo {padding: 0 0 @padding;}
.shop_price {
	font-size: 1.25em;
	font-weight: @bold;
}
.content-list-pagination, .document-list-pagination {text-align: center;}
.nowrap {white-space: nowrap;}
.StripeElement {
	box-sizing: border-box;
	height: 40px;
	padding: 10px 12px;
	border: 1px solid transparent;
	border-radius: 4px;
	background-color: white;
	box-shadow: 0 1px 3px 0 #e6ebf1;
	-webkit-transition: box-shadow 150ms ease;
	transition: box-shadow 150ms ease;
}
.StripeElement--focus {box-shadow: 0 1px 3px 0 #cfd7df;}
.StripeElement--invalid {border-color: #fa755a;}
.StripeElement--webkit-autofill {background-color: #fefde5 !important;}
input.toggle_value {
	width: 0;
	height: 0;
	padding: 0;
	margin: 0;
	border: none;
	background: #fff;
	color: #fff;
	display: inline-block;
	box-shadow: none;
}
input.toggle_value:active, input.toggle_value:invalid {
	border: none;
	box-shadow: none;
}
@media screen and (max-width: 48em) {
	#logo {text-align: center;}
	.shop-cart-module {max-width: 225px;}
	#subfooter .html-module > .row > div[class^="col-"]:not(:last-child) {margin-bottom: 1.5rem;}
}