/* Base */
*, *::before, *::after {
	box-sizing: border-box;
}

html {
	color: #000;
	font-size: 16px;
	font-family: "Martel Sans", sans-serif;
	line-height: 1.45;
}

body {
	margin: 0;
}

h1, h2, h3, h4, h5, h6 {
	margin-top: 0;
	margin-bottom: 10px;
	font-family: "Cormorant Garamond", serif;
}

h1 {
	font-size: 2.5rem;
}

h2 {
	font-size: 1.75rem;
}

h3 {
	font-size: 1.5rem;
}

h4 {
	font-size: 1.25rem;
}

h5 {
	font-size: 1.125rem;
}

h6 {
	font-size: 1rem;
}

p {
	margin-top: 0;
	margin-bottom: 10px;
}

a {
	color: #000;
	text-decoration: none;
}

ul, nav {
	margin: 0;
    padding: 0;

    list-style: none;
}

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

/* Layout */
.l-constrained {
	max-width: 1150px;
	margin: 0 auto;
}

.l-header {
	padding: 15px 0;
	box-shadow: 0 0 3px rgba(0,0,0,0.15);
}
.l-header > div {
	display: flex;
	flex-direction: column;
}

.l-menubar {
	margin-top: 15px;
	text-align: center;
}

/* Modules */
.header-logo {
	text-align: center;
}

.site-nav {
	display: inline-block;
	margin: 0;
	padding: 0;
	list-style-type: none;
}

.site-nav > li {
	display: inline-block;
}

.site-nav > li > a {
	padding: 0 15px;
}

.site-search {
	padding: 0 15px;
}

.site-search input {
	border: none;
	background: none;
	width: 100px;
}

.site-search i {
	font-size: 14px;
}

/* Heading bars */
.highlight-bar {
	display: flex;
	align-items: center;
}
.highlight-bar::before,
.highlight-bar::after {
	content: "";
	display: inline-block;
	border-top: 1px solid #dcdcdc;
	width: 50%;
	height: 0;
}
.highlight-bar::before {
	margin-right: 20px;
}
.highlight-bar::after {
	margin-left: 20px;
}

/* Products */
.product-gallery {
	display: flex;
	align-items: top;
	justify-content: flex-start;
	flex-wrap: wrap;
}
.product-item {
	display: flex;
	flex-direction: column;

	width: 25%;
	padding: 15px;

	text-align: center;
}
.product-item.is-visible {
	display: flex;
}
.product-item__img {
	flex: 0 0 auto;
	margin-bottom: 10px;
	overflow: hidden;
}
.product-item__img img {
	transform: scale(1);
	transition: transform ease-out 0.25s;
}
.product-item:hover .product-item__img img {
	transform: scale(1.1);
}
.product-item__title {
	color: #666;
	font-size: 0.875rem;
	font-weight: 400;
	font-family: "Martel Sans", sans-serif;
}
.product-item__body {
	margin-top: auto;
}
.product-item__price {
	display: block;
	margin-bottom: 10px;

	color: #000;
	font-size: 1.125rem;
}
.product-item__buttons {
}

/* Buttons */
.clear-btn {
	padding: 0;
	border: none;
	background: none;
}
.btn {
	display: inline-block;
	padding: 10px 20px 7px;
	border: 1px solid #dcdcdc;

	color: #666;
	font-size: 0.75rem;
	line-height: 1;
	text-transform: uppercase;
}
.btn--primary {
	color: #b7616e;
	border-color: #b7616e;
}
.btn--large {
	padding: 15px 50px 12px;
}

/* Startpage */
.startpage-hero {
	display: flex;
	justify-content: center;
	align-items: center;

	padding: 5% 20%;

	background: url(../images/hero.jpg) center center no-repeat;
	background-size: cover;
}

.startpage-hero__caption {
	display: inline-block;
	width: 50%;
	text-align: center;

	color: #333;
	font-size: 1.5vw;
}

.startpage-hero__caption h2 {
	font-size: 4vw;
	text-transform: uppercase;
	line-height: 1.2;
}

.startpage-hero__caption i {
	margin: 0 10px 2px;
	font-size: 0.3em;
	color: #b7616e;
	vertical-align: middle;
}

.startpage-hero__caption .btn {
	margin-top: 20px;
}

.startpage-banner {
	padding: 20px 20px 30px;

	background: url(../images/banner.jpg) no-repeat;
	background-size: cover;

	color: #ccc;
	font-size: 1.125rem;
	text-align: center;
}
.startpage-banner h1 {
	color: #fff;
	font-size: 2.5rem;
}

.startpage-products {
	margin: 40px 0;
}

/* Modal */
.modal {
	display: none; /* Hidden on load */
	position: fixed;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;

	align-items: center;
	justify-content: center;

	padding: 20px;

	background: rgba(0,0,0,.2);
}

.is-modal-opened .modal {
	display: flex;
}

.modal-inner {
	display: inline-block;
	width: auto;
	padding: 20px;

	background: #fff;
	box-shadow: 2px 2px 5px rgba(0,0,0,.5);
}
.modal .product-item {
	width: 100%;
}

/* Helpers */
.is-hidden {
	display: none;
}
.is-visible {
	display: block;
}

