/**************************************************** RESET ****************************************************/

html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed, 
figure, figcaption, footer, header, hgroup, 
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	vertical-align: baseline;
	box-sizing:border-box;
}

article, aside, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section {
	display: block;
}

body {
	line-height: 1;
}

ol, ul {
	list-style: none;
}

blockquote, q {
	quotes: none;
}

blockquote:before, blockquote:after,
q:before, q:after {
	content: '';
	content: none;
}

table {
	border-collapse: collapse;
	border-spacing: 0;
}

/**************************************************** BASIC ****************************************************/

* {
	font-size: 12px;
	line-height: 16px;
	font-weight:normal;
	font-family: Helvetica, Arial, sans-serif;
	-webkit-font-smoothing: antialiased;
	-moz-font-smoothing: antialiased;
	font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	-webkit-overflow-scrolling: touch;
	-webkit-text-size-adjust: 100%;
	-webkit-box-shadow:none;
	font-style:normal;
}

/**************************************************** TYPO ****************************************************/

.small, .small * {
	font-size: 12px;
	line-height: 16px;
}

.big, .big * {
	font-size: 32px;
	line-height: 36px;
    font-weight:100;
    letter-spacing:-0.01em;
}

.huge, .huge * {
    font-size: 56px;
    line-height:56px;
    font-weight:100;
    letter-spacing:-0.02em;
}

.center {
    text-align:center;
}

.small a, .big a, .huge a {
    text-decoration:underline;
}

.big > p {
	padding-bottom:36px;
}

.big > p:last-of-type {
	padding-bottom:0px;
}

/**************************************************** LINKS ****************************************************/

a {
	color:black;
    text-decoration:none;
    transition:color 200ms linear;
}

a:hover {
    color:grey;
}

/**************************************************** GRID ****************************************************/

.grid {
	width:100%;
    font-size:0px;
    padding:10px;
    float:left;
    min-height:calc(100vh - 148px);
}

.grid > div {
	display:inline-block;
	vertical-align:top;
}

.grid img,
.grid video,
.grid picture {
	width:100%;
	height:auto;
	display:block;
}

.grid > .w-1-12 {
	width:8.333%;
}

.grid > .w-2-12 {
	width:16.666%;
}

.grid > .w-3-12 {
	width:25%;
}

.grid > .w-4-12 {
	width:33.333%;
}

.grid > .w-5-12 {
	width:41.666%;
}

.grid > .w-6-12 {
	width:50%;
}

.grid > .w-7-12 {
	width:58.333%;
}

.grid > .w-8-12 {
	width:66.666%;
}

.grid > .w-9-12 {
	width:75%;
}

.grid > .w-10-12 {
	width:83.333%;
}

.grid > .w-11-12 {
	width:91.666%;
}

.grid > .w-12-12 {
	width:100%;
}

@media screen and (max-width:767px) {

.grid > .w-1-12,
.grid > .w-2-12,
.grid > .w-3-12,
.grid > .w-4-12,
.grid > .w-5-12,
.grid > .w-6-12,
.grid > .w-7-12,
.grid > .w-8-12,
.grid > .w-9-12,
.grid > .w-10-12,
.grid > .w-11-12,
.grid > .w-12-12 {
	width:100% !important;
}

}

/**************************************************** PADDING ****************************************************/

.padding {
    padding: 20px;
}

.padding-160 {
    padding-top: 110px;
    padding-bottom:110px;
}

.padding-80 {
    padding-top: 60px;
    padding-bottom:60px;
}

.gap {
	height:40px;
}

/**************************************************** CONTENT ****************************************************/

.text * {
    max-width:800px;
    margin:0 auto;
}

.image h2 {
	margin-bottom:40px;
	margin-top:3px;
	text-align:center;
}

.text h2,
.work .text h2,
.work .image h2 {
	margin-bottom:8px;
	margin-top:3px;
	text-align:center;
}

.text h2 {
	font-size:12px;
	line-height:14px;
	font-weight:normal;
}

.image span {
    padding-bottom:20px;
}

.image {
    padding:10px;
    padding-bottom:0px;
    padding-top:0px;
}

.work .image {
    margin-bottom:60px;
}

.image.w-12-12 img,
.image.w-12-12 video {
    width:100%;
    height:auto;
    object-fit:cover;
	margin-bottom:20px;
	border-radius:0.01px;
}

.image.w-12-12.auto img,
.image.w-12-12.auto video {
	width:100%;
	max-width:400px;
	height:auto;
	display:inline-block;
    margin-bottom:20px;
	border-radius:0.01px;
}

.image.w-6-12 img,
.image.w-6-12 video {
    width:100%;
    height:calc((100vw - 60px) / 2 / 3 * 2);
    object-fit:cover;
    margin-bottom:20px;
	border-radius:0.01px;
}

.image.w-6-12.portrait img,
.image.w-6-12.portrait video {
    width:100%;
    height:auto;
    object-fit:cover;
    margin-bottom:20px;
	border-radius:0.01px;
}

.image.w-4-12 img,
.image.w-4-12 video {
    width:100%;
    height:calc((100vw - 80px) / 3 / 3 * 2);
    object-fit:cover;
    margin-bottom:20px;
	border-radius:0.01px;
}

.image.w-4-12.auto img,
.image.w-4-12.auto video {
    width:100%;
    height:auto;
    object-fit:cover;
    margin-bottom:20px;
	border-radius:0.01px;
}

.image h1 {
    max-width: 400px;
    margin:0 auto;
}

/**************************************************** HEADER ****************************************************/

header {
    width:100%;
    float:left;
}

header .logo {
    float:left;
}
header .nav {
    float:right;
}

/**************************************************** FOOTER ****************************************************/

footer {
    margin-top:40px;
    float:left;
    width:100%;
}

footer .disclaimer {
    float:left;
}

footer .linkbacktop {
    float:right;
}


/**************************************************** ABOUT ****************************************************/

.page-about .text.big p {
	text-align:left;
}

/**************************************************** INTRO ****************************************************/

.intro {
	padding:10px;
}
/**************************************************** WORK ****************************************************/

#for-memories .image.w-6-12,
#for-memories .image.w-6-12 {
    width:33.333%;
}

#for-memories .image.w-6-12 img,
#for-memories .image.w-6-12 video {
    width:100%;
    height:calc((100vw - 80px) / 3 / 3 * 2);
    object-fit:cover;
    margin-bottom:20px;
}

/**************************************************** LOGIN ****************************************************/

input {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	border:0px;
	background:none;
	text-align:center;
	padding:0px;
	margin:0px;
}

.login form * {
	margin-top:20px;
	margin-bottom:20px;
}

::placeholder { /* Chrome, Firefox, Opera, Safari 10.1+ */
	color: rgb(200,200,200);
	opacity: 1; /* Firefox */
  }
  
  :-ms-input-placeholder { /* Internet Explorer 10-11 */
	color: rgb(200,200,200);
  }
  
  ::-ms-input-placeholder { /* Microsoft Edge */
	color: rgb(200,200,200);
  }

  /**************************************************** MOBILE ****************************************************/

  @media screen and (max-width: 600px) {

	.big, .big * {
		font-size: 24px;
		line-height: 30px;
		font-weight:100;
		letter-spacing:-0.01em;
	}
	
	.huge, .huge * {
		font-size: 40px;
		line-height:42px;
		font-weight:100;
		letter-spacing:-0.02em;
	}

	.padding {
		padding:10px;
	}

	.padding-160,
	.padding-80 {
		padding-top:40px;
		padding-bottom:40px;
	}

	.image {
		padding:0px;
	}

	.work .image {
		margin-bottom:40px;
	}

	.image.w-12-12 img,
	.image.w-12-12 video,
	.image.w-12-12.auto img,
	.image.w-12-12.auto video,
	.image.w-6-12 img,
	.image.w-6-12 video,
	.image.w-4-12 img,
	.image.w-4-12 video,
	.image.w-4-12.auto img,
	.image.w-4-12.auto video {
		width:100%;
		height:auto;
		object-fit:cover;
		margin-bottom:10px;
	}

	.image h2 {
		margin-bottom:40px;
	}

	.work .text h2,
	.work .image h2 {
		margin-bottom:8px;
	}

  }