/*! HTML5 Boilerplate v8.0.0 | MIT License | https://html5boilerplate.com/ */

/* main.css 2.1.0 | MIT License | https://github.com/h5bp/main.css#readme */
/*
* What follows is the result of much research on cross-browser styling.
* Credit left inline and big thanks to Nicolas Gallagher, Jonathan Neal,
* Kroc Camen, and the H5BP dev community and team.
*/

/* ==========================================================================
Base styles: opinionated defaults
========================================================================== */

html {
color: #AAA;
background-color: #282020;
background-image: url("/img/bg.jpg?v=5");
background-attachment: fixed;
background-size: cover;
background-position: center;
font-family: Seravek, 'Gill Sans Nova', Ubuntu, Calibri, 'DejaVu Sans', source-sans-pro, sans-serif;
font-weight: lighter;
font-size: 1em;
line-height: 1.4;
}

/*
* Remove text-shadow in selection highlight:
* https://twitter.com/miketaylr/status/12228805301
*
* Vendor-prefixed and regular ::selection selectors cannot be combined:
* https://stackoverflow.com/a/16982510/7133471
*
* Customize the background color to match your design.
*/

::-moz-selection {
background: #b3d4fc;
text-shadow: none;
}

::selection {
background: #b3d4fc;
text-shadow: none;
}

/*
* A better looking default horizontal rule
*/

hr {
display: block;
height: 1px;
border: 0;
border-top: 1px solid #ccc;
margin: 1em 0;
padding: 0;
}

/*
* Remove the gap between audio, canvas, iframes,
* images, videos and the bottom of their containers:
* https://github.com/h5bp/html5-boilerplate/issues/440
*/

audio,
canvas,
iframe,
img,
svg,
video {
vertical-align: middle;
}

/*
* Remove default fieldset styles.
*/

fieldset {
border: 0;
margin: 0;
padding: 0;
}

/*
* Allow only vertical resizing of textareas.
*/

textarea {
resize: vertical;
}

/* ==========================================================================
Author's custom styles
========================================================================== */

a {
color: #fef8ed;
}

article {
margin: auto;
max-width: 1300px;
}
 
#main {
	font-size: 1.05rem;
}

h1 {
color: #78431a;
}
h2 {
color: #78431a;
}

#ariane {
text-transform: capitalize;
font-size: 1.5rem;
}

.row h1 {
padding-left: 2rem;
padding-right: 2rem;
margin-bottom: 0;
margin-top: 0.1rem;
font-size: 1.8rem;
}   
.row h2 {
padding-left: 2rem;
padding-right: 2rem;
margin-top: 0.2rem;
}   
.row p {
padding-left: 2rem;
padding-right: 2rem;
font-size: 1.15em;
font-weight: 120%;
}

.home article .row p {
	font-size: 1.1rem;
}

.bg-image img {
	display:none;
}

.row.title {
padding-top: 1rem;
padding-bottom: 0.5rem;
}

.row.title h1 {
	display: inline-block;
}
.row.title .model-info {
	display: inline-block;
}

.row.model-family {
	margin-top: 45px;
	font-size: 110%;
	font-weight: bold;
	margin-left: 5vh;
	margin-right: 5vh;
	border-bottom: 1px solid #ccc;
}

.model-info a {
	text-decoration: none;
}

#knives {
	line-height: 1.5;
}

#knives .row {
	display: flex;
	flex-direction: column-reverse;
	font-size: 1rem;
}
#knives .row strong {
	font-weight: normal;
	color: #ddd;
}

#knives .row h2 {
	color: #999;
	font-weight: normal;
	font-size: 170%;
	display: block;
	border-bottom: 1px solid #ccc;
}

#knives .row .col:nth-of-type(1) {
	flex-basis: 40%;
}
#knives .row .col:nth-of-type(2) {
	flex-basis: 60%;
}

#knives .row.separator,
.events .row.separator {
	font-size: 1.5rem;
	text-align: center;
}

#knives .placeholder {
	font-size: 1.5rem;
	margin-top: 6rem;
	padding-right: 12rem;
	text-align: center;
}

#knives .booking {
	margin-left: 5rem;
	margin-top: 2rem;
}

#knives a {
	text-decoration: none;
}

a.info-button {
	text-decoration: none;
	margin-left: 2rem;
	padding-top: 1rem;
	display: inline-block;
	float: right;
}

.button {
	padding: 5px 10px;
	border: 1px solid white;
	border-radius: 10px;
	padding-right: 0.8rem;
}

.button:hover {
	font-weight: bold;
	padding-right: 0.6rem;
}

.mobile-menu {
	padding-top: 2rem;
}

.mobile-menu .button:hover {
	color: #78431a;
}

.latest {
	text-align: center;
}
.latest p {
	margin-top: 4rem;
}

img.banner {
width: 100%;
}

.gallery {
display: flex;
flex-wrap: wrap;
justify-content: space-around;
}

.gallery a {
display: block;
width: 90%;
overflow: hidden;
text-decoration: none;
color: #aaa;
}

.gallery-5 a {
width: 32%;
}

.gallery-6 a {
width: 32%;
}

.gallery-7 a {
width: 22%;
}

.gallery-8 a {
width: 22%;
}

.gallery-9 a {
width: 32%;
}

.gallery a img {
width: 100%;
margin-bottom: 0.2rem;
transition: transform 300ms;
}

.gallery a:hover {
	color: #78431a;
}

/*
.gallery a img:hover {
transform: scale(2);
width: 8%;
position: absolute;
}
*/

.gallery.gallery-8 a img:hover {
filter: none;
}

.gallery.gallery-9 a img:hover {
filter: none;
}

.gallery a p {
text-align: center;
}

.nGY2GThumbnailImage.nGY2TnImg {
	border: 2px solid black;
}

.card-title {
width: 100%;
text-align: center;
margin-bottom: 1rem;
}

/*
* Menus
*/

.menu {
overflow: hidden;
position: fixed;
top: 0;
width: 100%;
font-weight: 600;
z-index: 90;
}

.menu a {
float: none;
color: #999;
text-align: left;
padding: 1rem;
text-decoration: none;
font-size: 1.5rem;
display: none;
background-color: #333;
}

.menu a.spacer {
	background-color: transparent;
}

.menu.open {
	display: block;
	height: 100%;
}

.menu.open a {
	display: block;
}

.menu a.title {
	display: block;
}

.menu .submenu {
	display: none;
}

.menu.main .submenu.main,
.menu.available .submenu.available,
.menu.sold .submenu.sold {
	display: flex;
	flex-direction: column;
	height: 100%;
}

.menu a.subcategory {
	padding: 0.5rem;
	padding-left: 5rem;
	font-size: 1.3rem;
}

.menu a.subsubcategory {
	padding: 0;
	padding-left: 1rem;
	font-size: 1.1rem;
	display: inline-block;
}

.subcategory-container {
	display: none;
}
.menu.open .subcategory-container {
	align-items: center;
	display: flex;
}

.subsubcategory-container {
	display: none;
}

.menu.open .subsubcategory-container {
	flex-direction: column;
	display: flex;
}

.subsubcategory-icon {
	font-size: 1.6rem;
}

.menu a.icon {
	position: fixed;
	right: 0;
	top: 0;
	display: block;
}

.menu  a:hover {
	color: #78431a;
}


.menu .logo {
	text-align: center;
	padding-bottom: 8rem;
	padding-top: 2vw;
	display: none;
}

.menu .copyright {
	position: absolute;
	top: 3.5em;
	right: 1rem;
	font-size: 80%;
	font-weight: 400;
}

.menu .spacer {
	flex-grow: 1;
}

.menu .spacer.top {
	flex-grow: 5;
}

.menu .spacer.bottom {
	flex-grow: 6;
}



#menu em {
	font-size: 90%;
}

.floating {
	position: fixed;
	font-size: 2rem;
}

.floating a {
	background-color: #ddd;
	color: black;
	display: inline-block;
	width: 3rem;
	height: 3rem;
	text-align: center;
	border-radius: 3rem;
	text-decoration: none;
}

.floating a:hover {
	background-color: white;
}

#scroll-button {
	bottom: 3rem;
	right: 2rem;
	z-index: 90;
}

#scroll-down-button {
	bottom: 9rem;
	right: calc(50vw - 2rem);
}

body.header-not-at-top #scroll-down-button {
	display: none;
}


#floating-menu {
	bottom: 5rem;
	right: 3rem;
}

#floating-menu a {
	display: none;
}

#floating-menu a.active {
	display: inline-block;
}

#floating-menu:hover a {
	display: inline-block;
}


.logo img {
	width: 50%;
}

/*
 * Header
 */
header {
	display: flex;
	justify-content: flex-start;
	flex-direction: column;
	margin: auto;
	padding-top: 4rem;
}

header .hero {
	flex-grow: 1;
	flex-basis: 75%;
	text-align: right;
}

header .hero img {
	max-width: 100%;
	max-height: 12rem;
	object-fit: cover;
}

header .contact {
	flex-basis: 25%;
	padding-right: 2rem;
	padding-left: 2rem;
	line-height: 0.8;
	font-size: 90%;
}

/*
 * Tabs
 */

nav.tabs {
	display: none;
}

nav.tabs .tab {
	flex-basis: 18%;
	font-size: 3vw;
}

nav.tabs .tab.active {
	border-bottom: 2px solid #78431a;
}
nav.tabs .tab.active a {
	color: #78431a;
}

nav.tabs .tab a {
	text-decoration: none;
}

nav.tabs .tab a:hover {
	color: #78431a;
}

nav.tabs .tab .title {
	font-size: 1.7rem;
}

nav.tabs .tab:hover .title a {
	color: transparent;
}

nav.tabs .tab .title a {
	cursor: default;
}

nav.tabs .tab .links {
	font-size: 1.2rem;
	position: absolute;
	margin-top: -30px;
	margin-left: -80px;
	display: none;
	text-align: left;
	line-height: 0.7;
}

nav.tabs .tab.active .links {
	margin-top: -75px;
}


nav.tabs .tab .links a {
	margin-top: -20px; /*FIXME*/
}

nav.tabs .tab .span-2 + .links {
	margin-top: -100px; /*FIXME*/
}

nav.tabs .tab:hover .links {
	display: initial;
}

nav.tabs .tab:hover .links a {
	color: #ddd;
}
nav.tabs .tab:hover .links a:hover {
	color: #78431a;
}

nav.tabs .tab .placeholder {
	font-size: 1.7rem;
}

nav.tabs .tab .placeholder .subcategory {
	font-size: 1.2rem;
}

nav.tabs .tab:hover .placeholder .subcategory {
	opacity: 0;
}

nav.tabs .tab:hover .placeholder a {
	color: #78431a;
}

nav.tabs .tab .placeholder a {
	cursor: default;
}

#tabs {
	position: sticky;
	top: 0;
	z-index: 100;
}

#tabs.stick {
	background-image: url("/img/bg.jpg?v=5");
	background-size: 245vh;
	background-position-x: calc(50vw - 122.5vh - 24rem);
}

nav.mobile {
	padding-left: 2rem;
	padding-top: 2rem;
}

nav.mobile .button {
	font-size: 2rem;
}


/*
 * Contact
 */

.contact.row {
	text-align: center;
}

.socials {
	font-size: 133%;
}

.socials img {
	height: 25px;
}
 
 .row.form {
	 text-align: center;
 }
 
 .row form {
	 display: inline-block;
	 text-align: initial;
 }

#profile.gallery {
	text-align: center;
}
#profile.gallery img {
	max-width: 50vw;
}
#profile.gallery a img:hover {
	filter: none;
}
 
form input {
	background-color: #ccc;
	max-width: 80vw;
	/*color: white;*/
}

form textarea {
	background-color: #ccc;
	max-width: 80vw;
	/*color: white;*/
}


/*
 * Scroll link
 */
#top-of-site-pixel-anchor {
  position: absolute;
  width: 1px;
  height: 1px;
  top: 500px;
  left: 0;
}

.row.links p {
	text-align: center;
}

/*
 * Events
 */
.events img {
	max-width: 100%;
	max-width: 80vw;
}
.events div[data-nanogallery2] {
	text-align: center;
}

.events ul {
	padding-left: 0;
}

.events ul li {
	margin-left: 40px;
}

.events .year {
	padding-bottom: 2rem;
	border-bottom: 1px solid antiquewhite;
}

.events .upcoming h2 {
	text-decoration: underline;
	font-size: 2rem;
}

#message {
	padding-top: 1rem;
	text-align: center;
	font-size: 1.2em;
}
/*
 * Announcements
 */
.announcement {
	background: #BFBFB8;
	color: #0D0000;
	border-color: #595959;
	border-style: solid;
	border-width: 10px;
	margin-bottom: 40px;
	/*! font-weight: 600; */
	font-size: 110%;
	position: absolute;
	z-index: 90;
	width: 80%;
	left: 5%;
	top: 249px;
	background-image: url("/img/announcement.jpg");
	background-size: cover;
}

.announcement-inner {
	padding: 30px;
	margin: -11px;
}

.announcement .close-button {
	position: absolute;
	top: -27px;
	right: -27px;
	height: 40px;
	width: 40px;
}

.announcement .close-button img {
	height: 100%;
	width: 100%;
}

.business-card {
	text-align: center;
	padding-top: 2rem;
}

.business-card img {
	max-width: 80%
}

/* ==========================================================================
   Helper classes
   ========================================================================== */

/*
 * Hide visually and from screen readers
 */

.hidden,
[hidden] {
  display: none !important;
}

/*
 * Hide only visually, but have it available for screen readers:
 * https://snook.ca/archives/html_and_css/hiding-content-for-accessibility
 *
 * 1. For long content, line feeds are not interpreted as spaces and small width
 *    causes content to wrap 1 word per line:
 *    https://medium.com/@jessebeach/beware-smushed-off-screen-accessible-text-5952a4c2cbfe
 */

.sr-only {
  border: 0;
  clip: rect(0, 0, 0, 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  white-space: nowrap;
  width: 1px;
  /* 1 */
}

/*
 * Extends the .sr-only class to allow the element
 * to be focusable when navigated to via the keyboard:
 * https://www.drupal.org/node/897638
 */

.sr-only.focusable:active,
.sr-only.focusable:focus {
  clip: auto;
  height: auto;
  margin: 0;
  overflow: visible;
  position: static;
  white-space: inherit;
  width: auto;
}

/*
 * Hide visually and from screen readers, but maintain layout
 */

.invisible {
  visibility: hidden;
}

.desktop-only {
  display: none;
}

/*
 * Clearfix: contain floats
 *
 * For modern browsers
 * 1. The space content is one way to avoid an Opera bug when the
 *    `contenteditable` attribute is included anywhere else in the document.
 *    Otherwise it causes space to appear at the top and bottom of elements
 *    that receive the `clearfix` class.
 * 2. The use of `table` rather than `block` is only necessary if using
 *    `:before` to contain the top-margins of child elements.
 */

.clearfix::before,
.clearfix::after {
  content: " ";
  display: table;
}

.clearfix::after {
  clear: both;
}

/* ==========================================================================
   EXAMPLE Media Queries for Responsive Design.
   These examples override the primary ('mobile first') styles.
   Modify as content requires.
   ========================================================================== */

@media only screen and (min-width: 35em) {
  .gallery a {
	display: block;
	width: 28%;
  }
  .gallery .spacer {
	width: 8%;
  }
  .gallery a.span-2 {
	  margin-right: 16%;
	  margin-left: 16%;
  }
  .gallery-5 a {
	width: 18%;
  }
  .gallery-6 a {
	width: 15%;
  }
  .gallery-7 a {
	width: 13%;
  }
  .gallery-8 a {
	width: 12%;
  }
  .gallery-9 a {
	width: 10%;
  }
#profile.gallery {
	margin-top: -8rem;
}


  header {
	  flex-direction: row;
  }
	header .hero {
		padding-right: 2rem;
	}

	header .hero img {
		width: 45vw;
	}

	.home article {
		padding-top: 8rem;
	}

	.home article .row p {
		font-size: 1.5rem;
	}

	nav.tabs {
		display: flex;
		justify-content: space-around;
		margin: auto;
		font-weight: 400;
	}

	nav.tabs .tab:hover .title a {
		color: #78431a;
	}
	nav.tabs .tab {
		text-align: center;
	}


	#message {
		width: 75%;
	}

	.menu a {
		background-color: transparent;
	}
	.menu a.title {
		display: none;
	}
	.menu a.subcategory {
		display: none;
	}

	.menu .spacer {
		display: none;
	}

	.menu.main .submenu.main,
	.menu.available .submenu.available,
	.menu.sold .submenu.sold {
		height: auto;
	}

	#scroll-button {
		bottom: 6rem;
		right: 3rem;
	}

	body.header-not-at-top #scroll-button {
		display: initial;
	}

	.mobile-menu {
		display: none;
	}

	a.info-button {
		padding-top: initial;
		float: none;
	}

	#knives .row {
		flex-direction: row;
	}

	#knives .row h2 {
	}

	#knives .row .col div[data-nanogallery2] {
		padding-top: 4rem;
	}
	#knives .row.separator {
		display: none;
	}

	.latest {
		padding-right: 23rem;
	}
	.row.model-family {
		float: left;
		margin-left: -150px;
		margin-right: 0;
		border-bottom: none;
		font-weight: normal;
	}
	.desktop-only {
		display: block;
	}
	.mobile-only,
       	.mobile-only a {
		display: none;
	}
	#profile.gallery img {
		max-width: 180px;
	}
	.bg-image img {
		display: initial;
		position: fixed;
		bottom: 5vh;
		height: 60vh;
		right: 10vw;
		opacity: 20%;
		z-index: -1;
	}
	.business-card img {
		max-width: 70vh;
		padding-right: 20rem;
	}
}

@media only screen and (min-width: 750px) {
	.events img {
		min-width: 100px;
		max-width: 70%;
		margin-left: 40px;
	}

	nav.tabs .tab {
		font-size: 1.5rem;
	}
}

@media screen and (min-width: 1091px) {
	.menu {
		margin: 0;
		padding: 0;
		width: 24rem;
		position: fixed;
		height: 100%;
		overflow: auto;
		background-color: transparent;
	}
	
	.menu a {
		display: block;
		font-size: 2em;
		padding-left: 2rem;
	}

	.menu a.title {
		display: none;
	}
	
	.menu a.active {
		display: block;
		font-weight: bold;
		color: #78431a;
		text-decoration: underline;
	}
	
	.menu a.icon {
		display: none;
	}
	
	.menu .logo {
		display: block;
	}

	.menu .logo img {
		width: 25%;
	}

	.menu .copyright {
		display: initial;
		position: absolute;
		top: auto;
		bottom: 1rem;
		padding: 1rem;
		font-size: 110%;
	}
	
	#main article {
		padding-left: 30rem;
		font-size: 110%;
	}
	
	header {
		justify-content: space-between;
		padding-left: 24rem;
		padding-top: 0;
	}

	header .contact {
		padding-top: 0.75rem;
		font-size: 125%;
	}

	#tabs.stick {
		background-size: 245vh;
		background-position-x: calc(50vw - 122.5vh - 24rem);
	}

	nav.tabs {
		padding-left: 7vw;
		padding-right: 7vw;
		margin-left: 24rem;
		font-size: 125%;
	}

	.stack {
		display: flex;
		flex-direction: column;
	}

	.columns {
		display: flex;
	}
	
	.column {
		flex-grow: 1;
	}
	
	.events img {
		display: inline-block;
		max-width: 25%;
	}

	.announcement {
		left: calc(50% - 5rem);
		width: 20rem;
	}

	.announcement-inner {
		padding: 50px;
	}
	.home .announcement {
		width: 60%;
		top: 470px;
		left: calc(15% + 12rem);
	}
	.cards {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
	}
	.cards > div {
		width: 45%;
		margin-bottom: 4rem;
	}
	.card .gallery a {
		width: 49%;
	}
	#scroll-down-button {
		display:none;
	}
}

@media print,
  (-webkit-min-device-pixel-ratio: 1.25),
  (min-resolution: 1.25dppx),
  (min-resolution: 120dpi) {
  /* Style adjustments for high resolution devices */
}

/* ==========================================================================
   Print styles.
   Inlined to avoid the additional HTTP request:
   https://www.phpied.com/delay-loading-your-print-css/
   ========================================================================== */

@media print {
  *,
  *::before,
  *::after {
    background: #fff !important;
    color: #000 !important;
    /* Black prints faster */
    box-shadow: none !important;
    text-shadow: none !important;
  }

  a,
  a:visited {
    text-decoration: underline;
  }

  a[href]::after {
    content: " (" attr(href) ")";
  }

  abbr[title]::after {
    content: " (" attr(title) ")";
  }

  /*
   * Don't show links that are fragment identifiers,
   * or use the `javascript:` pseudo protocol
   */
  a[href^="#"]::after,
  a[href^="javascript:"]::after {
    content: "";
  }

  pre {
    white-space: pre-wrap !important;
  }

  pre,
  blockquote {
    border: 1px solid #999;
    page-break-inside: avoid;
  }

  /*
   * Printing Tables:
   * https://web.archive.org/web/20180815150934/http://css-discuss.incutio.com/wiki/Printing_Tables
   */
  thead {
    display: table-header-group;
  }

  tr,
  img {
    page-break-inside: avoid;
  }

  p,
  h2,
  h3 {
    orphans: 3;
    widows: 3;
  }

  h2,
  h3 {
    page-break-after: avoid;
  }
}

