@font-face {
	font-family: 'Cormorant Garamond';
	font-style: normal;
	font-weight: 500;
	font-display: swap;
	src: url(/assets/CormorantGaramond-Regular.woff2) format('woff2');
}
@font-face {
	font-family: 'Cormorant Garamond';
	font-style: normal;
	font-weight: 600;
	font-display: swap;
	src: url(/assets/CormorantGaramond-SemiBold.woff2) format('woff2');
}
@font-face {
	font-family: 'Cormorant Garamond';
	font-style: italic;
	font-weight: 500;
	font-display: swap;
	src: url(/assets/CormorantGaramond-RegularItalic.woff2) format('woff2');
}
@font-face {
	font-family: 'Cormorant Garamond';
	font-style: italic;
	font-weight: 600;
	font-display: swap;
	src: url(/assets/CormorantGaramond-SemiBoldItalic.woff2) format('woff2');
}

body {
	margin:0;
	padding:0;
	font-family: 'Cormorant Garamond', serif;
	color:rgba(75,72,70,1);
	font-size:20px;
	line-height:30px;
	background-color:rgba(243,241,238,1);
}
@media screen and (max-width:740px) {
	body {
		font-size:18px;
		line-height:28px;
	}
	body.noscroll {
		overflow:hidden;
	}
}
input, select, textarea {
	font-family: 'Cormorant Garamond', serif;
	color:rgba(75,72,70,1);
}

img {
	border:0;
}

.bold {
	font-weight:bold;
}
.clear {
	clear:both;
	height:0px;
	margin:0;
	padding:0;
}
.hilite {
	background-color:yellow;
}
p {
	margin:0 0 1.5em 0;
	padding:0;
}
hr {
	clear:both;
	border:none;
	height:1px;
	margin:20px 0;
	padding:0;
	background-color:#ccc;
}

a:focus {
	outline:none !important;
}
a, 
a:link, 
a:active, 
a:visited,
a:hover {
	color:rgba(75,72,70,1);
	text-decoration:none;
}
a:hover,
a:active {
	color:rgba(0,0,0,1);
	text-decoration:none;
	text-shadow:-1px -1px 20px rgba(255,255,255,1);
}

a:link img, a:hover img, a:visited img, a:active img {
	border:0;
	text-decoration: none;
	background-color:#fff;	
}

a.clean:link,
a.clean:active,
a.clean:visited {
	text-decoration:none;
}
a.clean:hover {
	text-decoration:underline;
}

h1, h2, h3 {
	font-family:'Cormorant Garamond', serif;
	font-size:1em;
	line-height:1.2em;
	margin:0 0 1.5em 0;
	font-weight:normal;
	color:rgba(75,72,70,1);
}
h1 {
	font-size:1.5em;
}
h2 {
	font-size:1.3em;
}
h3 {
	font-size:1em;
}
h1 a, h2 a, h3 a {
	color:rgba(75,72,70,1) !important;
}
@media screen and (max-width:740px) {
	h1 {
		font-size:1.5em;
	}
	h2 {
		font-size:1.2em;
	}
}

.gray {
	color:rgba(75,72,70,.6);
}
.red {
	color:red;
}
.reading {
	max-width:600px;
	margin:0 0 1.5em 0; 
	padding:0;
	text-align:left;
}
.fine {
	font-size:.8em;
	line-height:1.2em;
}
.hide {
	display:none !important;
}
.center {
	text-align:center !important;
}
.centered {
	margin-left:auto !important;
	margin-right:auto !important;
}
.flex {
	display:flex;
	flex-wrap:wrap;
	justify-content:center;
}

.w1200 {
	max-width:1200px !important;
}
.w1000 {
	max-width:1000px !important;
}
.w800 {
	max-width:800px !important;
}
.w600 {
	max-width:600px !important;
}
.w400 {
	max-width:400px !important;	
}
.w300 {
	max-width:300px !important;	
}
.s120 {
	width:120px !important;
	height:120px !important;
}
.w50p {
	width:48%;
}

.float {
	float:left;
}
.floatright {
	float:right;
}
.rm {
	margin-right:40px;
}
.left {
	text-align:left;
}
.right {
	text-align:right;
}

.vspacer {
	display:block;
	clear:both;
	height:5vh;
	max-height:80px;
	min-height:1em;
	margin:0;
	padding:0;
}
@media screen and (max-width:740px) {
	.w1200 .w50p.float,
	.w1200 .w50p.floatright {
		float:none;
		width:100%;
		transition:.5s;
	}
}
@media screen and (max-width:400px) {
	.w300 {
		width:auto;
		max-width:300px;	
	}
	.float.rm,
	.floatright.rm {
		width:100%;
		margin-right:0;
	}
}
.bm {
	margin-bottom:2em !important;
}
.mm {
	margin-bottom:1.5px !important;
}
.sm {
	margin-bottom:1em !important;
}
.tm {
	margin-bottom:.5em !important;
}
.nm {
	margin-bottom:0em !important;
}
.caps {
	text-transform:uppercase;
	letter-spacing:.1em;
}
.smcp {
	text-transform:uppercase;
	font-weight:bold;
	letter-spacing:.08em;
	font-size:.75em;
}

.tabnav {
	display:block;
	position:relative;
	text-align:center;
	line-height:1em;
	margin:0;
	padding:0;
}
.tabnav a {
	line-height:.5em;
	padding:0;
	margin:0 .4em;
	color:rgba(75,72,70,.7);
	cursor:pointer;
}
.tabnav a:first-child {
	margin-left:0;
}
.tabnav a:last-child {
	margin-right:0;
}
.tabnav a:hover,
.tabnav a.on {
	color:rgba(0,0,0,1);
	text-decoration:none;
}

#scrim {
	z-index:200;
	display:none;
	position:fixed;
	top:0;
	left:0;
	margin:0;
	padding:2% 2% 0;
	height:100%;
	width:100%;
	text-align:center;
	box-sizing:border-box;
	background-color:rgba(255,255,255,.98);
}
#scrim .popup {
	z-index:201;
	position:relative;
	top:20%;
	display:inline-block;
	width:auto;
	margin:0 auto 60px;
	padding:5vh 5vw;
	background-color:#fff;
	border:1px solid #ccc;
	box-sizing:border-box;
	box-shadow:0 2px 3px 1px rgba(0,0,0,.1);
}

#main {
	position:relative;
	box-sizing:border-box;
	display:none;
	min-height:400px;
	margin:0;
	padding:3vw;
}
#header {
	position:relative;
	z-index:10;
	box-sizing:border-box;
	display:flex;
	justify-content:space-between !important;
	content-align:center;
	align-items: center;
	margin:0;
	padding:3vw;
	width:100%;
	background:rgba(243,241,238,1);
	box-shadow:0 0 0 rgba(0,0,0,0);
}
#logo {
	display:block;
	margin:0;
	padding:0;
	text-align:center;
	width:40vw;
	height:2.72vw;
	max-width:420px;
	max-height:calc(420px * .068);
	min-width:230px;
	min-height:calc(230px * .068);
	overflow:hidden;
}
#logo a {
	display:block;
	overflow:hidden;
	width:100%;
	padding:0;
	color:rgba(255,255,255,0) !important;
	text-decoration:none;
	background-repeat:no-repeat;
	background-size:100%;
}
#topnav {
	display:block;
	transition:0s;
	font-size:.85em;
	margin-bottom:-.6vw;
}
#navbutton {
	display:none;
}
#logomark {
	position:relative;
	margin:0 auto;
	width:8vw;
	min-width:56px;
	max-width:70px;
	opacity:1;
}
#footer {
	z-index:10;
	box-sizing:border-box;
	position:relative;
	display:none;
	width:auto;
	text-align:center;
	font-size:.85em;
	line-height:1.5em;
	margin:0;
	padding:60px 2vw 40px;
}
#footer.stamped {
	position:fixed;
	bottom:0;
	opacity:1;
	width:100vw;
}

@media screen and (min-width:1200px) {
	#main {
		padding:36px;
	}
	#header {
		padding:36px;
	}
}
@media screen and (max-width:740px) {
	#header {
		z-index:10;
		overflow:hidden;
	}
	#logo {
		z-index:3;
	}
	#topnav {
		z-index:-1;
		position:fixed;
		box-sizing:border-box;
		display:block;
		opacity:0;
		top:0;
		left:100%;
		width:100%;
		height:100%;
		text-align:center;
		margin:0;
		padding-top:70px;
		background-color:rgba(255,255,255,.99);
		transition:left .3s, opacity .4s;
	}
	#topnav.shown {
		z-index:2;
		display:block;
		opacity:1;
		left:0%;
		transition:left .3s, opacity .4s;
		padding:60px 0;
	}
	#topnav a {
		display:block;
		margin:1.5em auto;
		font-size:1.4em;
	}
	#navbutton {
		z-index:2;
		display:block;
		position:relative;
		box-sizing:border-box;
		text-align:center;
		width:1.2em;
		min-height:1em;
		margin:0;
		padding:0;
		border:none;
		cursor:pointer;
		user-select:none;
		overflow:hidden;
		transition:.2s;
		background-color:none;
	}
	#navbutton::before,
	#navbutton::after {
		content:' ';
		box-sizing:border-box;
		display:block;
		position:absolute;
		width:100%;
		height:0;
		padding:0;
		margin:0;
		border:1px solid rgba(75,72,70,.7);
		transition:.2s;
		transform-origin:center;
		top:calc(50% - .35em);
		left:0;
	}
	#navbutton::after {
		top:calc(50% + .35em - 2px);
		left:0;
	}
	#navbutton.shown {
	}
	#navbutton.shown::before,
	#navbutton.shown::after {
		width:106%;
		rotate:45deg;
		top:calc(50% - 1px);
		transition:.1s;
	}
	#navbutton.shown::after {
		rotate:-45deg;
	}
}
@media screen and (max-width:500px) {
	#main {
		padding:15px;
	}
	#header {
		padding:15px;
	}
}

.socmedbutton {
	position:relative;
	display:inline-block;
	box-sizing:border-box;
	width:1.2em;
	height:1.2em;
	margin:0;
	padding:1.2em 0 0 0;
	background-repeat:no-repeat;
	background-position:0 0;
	background-size:1.2em 1.2em;
	overflow:hidden;
	opacity:.65;
	color:rgba(243,241,238,0) !important;
}
.socmedbutton.instagramicon {
	background-image:url('/assets/instagram-icon.png');
}
.socmedbutton.emailicon {
	background-image:url('/assets/email-icon.png');
	width:1.8em;
	background-size:100%;
}
.tabnav .socmedbutton {
	margin-bottom:-.29em;
	opacity:.4;
}
.tabnav .socmedbutton:hover {
	opacity:.7;
}

.albumindex {
	position:relative;
	display:grid;
	grid-template-columns: repeat(4, 1fr);
	grid-gap:6vw;
	box-sizing:border-box;
	width:100%;
	margin:0;
	padding:0;
}
@media screen and (max-width:1300px){
	.albumindex .indexcard:last-child:nth-child(2n - 1) {
		grid-column-end: 4;
	}
}
.albumindex .indexcard {
	grid-column:span 2;
	position:relative;
	display:block;
	text-align:center;
	margin:0;
	padding:0;
}

.albumindex .indexcard img {
	z-index:1;
	width:100%;
	display:block;
	margin:0 auto .8em;
	transition:.5s;
}
.albumindex .indexcard .title {
	z-index:3;
	display:block;
	width:100%;
	font-size:.9em;
	line-height:1em;
	margin:0;
}
.albumindex.w1200 .indexcard .title {
	font-size:.8em;
}

@media screen and (min-width:1300px){
	.albumindex {
		position:relative;
		display:grid;
		grid-template-columns: repeat(6, 1fr);
		grid-gap:5vw;
		box-sizing:border-box;
		width:100%;
		margin:0;
		padding:0;
	}
	.albumindex .indexcard {
		grid-column: span 2;
	}
	.albumindex:last-child:nth-child(3n - 2) {
		grid-column: span 3;
	}
	/* Dealing with 2 orphan items */
	.albumindex .indexcard:last-child:nth-child(3n - 1) {
		grid-column-end: -2;
	}
	.albumindex .indexcard:nth-last-child(2):nth-child(3n + 1) {
		grid-column-end: 4;
	}
	/* Dealing with single orphan */
	.albumindex .indexcard:last-child:nth-child(3n - 2) {
		grid-column-end: 5;
	}
	
	.albumindex.w1200 {
		margin:0 auto;
		grid-gap:4vw;
	}
	.albumindex.w1200 .indexcard .title {
		font-size:.8em;
	}
}
@media screen and (max-width:740px) {
	.albumindex {
		display:block;
	}
	.albumindex .indexcard {
		position:relative;
		display:block;
		text-align:center;
		margin:0 auto 60px;
		padding:0;
		max-width:460px;
	}
}

.album {
	width:100%;
	margin:0;
	padding:0;
	box-sizing:border-box;
	text-align:center;
}
.album .mediacard {
	position:relative;
	width:auto;
	max-width:100%;
	display:inline-block;
	vertical-align:middle;
	margin:0 4vw 8vw;
	padding:0;
	text-align:center;
	box-sizing:border-box;
}
@media screen and (max-width:740px) {
	.album {
		margin:0;
		width:100%;
	}
	.album .mediacard {
		margin:0 0 50px;
	}
}

.album .mediacard img {
	display:block;
	max-width:100%;
}
.album .mediacard .caption {
	position:absolute;
	bottom:0;
	right:0;
	width:100%;
	height:100%;
	display:block;
	color:rgba(75,72,70,1);
	text-align:left;
	box-sizing:border-box;
}
.album .mediacard .caption div {
	display:none;
	position:absolute;
	bottom:0;
	left:0;
	width:auto;
	height:auto;
	max-width:100%;
	max-height:100%;
	overflow:auto;
	padding:.8em;
	margin:.2em;
	color:rgba(75,72,70,1);
	background-color:rgba(255,255,255,1);
	text-align:left;
	box-sizing:border-box;
}
.album .mediacard .caption .captionswitch {
	position:absolute;
	bottom:0;
	left:0;
	display:block;
	width:1.5em;
	height:1.5em;
	margin:.2em;
	padding:0;
	color:#000;
	text-align:left;
	background-color:rgba(75,72,70,.3);
	text-align:center;
	font-size:1em;
	font-style:italic;
	line-height:1.5em;
	border-radius:.75em;
	cursor:pointer;
	transition:.2s;
}
.album .mediacard:hover .caption .captionswitch {
	color:rgba(75,72,70,1);
	background-color:rgba(255,255,255,1);
	transition:.6s;
}

.albumdetails {
	margin-bottom:10px;
}

form .row {
	position:relative;
	display:block;
	margin:0 0 15px 0;
	padding:0;
	width:100%;
}
form .row label {
	display:block;
	color:rgba(75,72,70,1);
}
input[type="text"],
input[type="email"],
input[type="password"],
input[type="submit"] {
	-webkit-appearance:none;
	-moz-appearance:none;
	box-sizing:border-box;
	width:100%;
	color:rgba(75,72,70,1);
	font-size:1.1em;
	line-height:1.4em;
	padding:.5em .6em .4em;
	margin:0;
	background-color:#fff;
	border:1px solid #ccc;
	border-radius:0;
	box-shadow:inset -1px 2px 3px 0 rgba(0,0,0,.1);
}

input[type="submit"],
a.button,
a.button:link,
a.button:hover,
a.button:active,
a.button:visited {
	color:rgba(255,255,255,1);
	background-color:rgba(75,72,70,1);
	width:auto;
	box-shadow:0 1px 2px 1px rgba(0,0,0,.1);
	font-size:1em;
	line-height:1em;
	padding:.2em .4em .3em;
	border:1px solid rgba(75,72,70,.3);
	cursor:pointer;
	text-decoration:none !important;
}
a.button:hover,
input[type="submit"]:hover {
	border:1px solid rgba(75,72,70,.7);
	box-shadow:0 1px 2px 1px rgba(0,0,0,.2);
	background-color:rgba(0,0,0,1);
}
a.button:active,
input[type="submit"]:active {
	box-shadow:none;
	border:1px solid rgba(75,72,70,1);
}


#toTop {
	z-index:11;
	text-align:center;
	position:fixed;
	bottom:30px;
	right:30px;
	margin:0;
	padding:1em .8em;
	cursor:pointer;
	display:none;
	color:#fff;
	font-size:.7em;
	line-height:.7em;
	font-weight:normal;
	text-decoration:none;
	letter-spacing:.2em;
	box-shadow:0 1px 2px 1px rgba(255,255,255,.1);
	background:rgba(75,72,70,.4);
}

.blog-item {
	margin:0 auto 1.5em;
}
.blog-item span {
	display:block;
	margin:0 auto;
}
.blog-item .blog-source {
	font-weight:600;
}
.blog-item .blog-title {
	font-style:italic;
}
.blog-item .blog-date {
	margin-top:-.1em;
	opacity:.6;
}

.slideshow {
	z-index:9;
	box-sizing:border-box;
	display:flex;
	align-items:center;
	justify-content:center;
	position:fixed;
	left:0;
	top:0;
	height:100vh;
	width:100vw;
	padding:9vh 0 0 0;
	margin:0;
	text-align:center;
	overflow:hidden;
	transition:opacity .15s;
}
.slideshow.nobleed {
	height:auto;
	width:auto;
}
.slideshow img {
	box-sizing:border-box;
	display:block;
	position:absolute;
	object-fit:cover;
	margin:auto;
	opacity:0;
	transition:opacity 1s;
	width:100%;
	height:100%;
}
.slideshow img.showing {
	opacity:1;
	transition:opacity 1s;
}
.slideshow.hiding {
	opacity:0;
	transition:opacity .15s;
}
