@import url('https://fonts.googleapis.com/css?family=Muli|Playfair+Display&display=swap');

:root {
  --main-white-color: #ffffff;
  --main-black-color: #000000;
  --main-gold-color: #eab75c;
  --main-smoke-color: #3f3550;
  
}

* {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}
button {
	background-color: none;
	border: none;
	outline: none;
	cursor: pointer;
}
ul {
	list-style: none;
}
a {
	text-decoration: none;
	color: inherit;
}
body {
	font-size: 12px;
	line-height: 1.5;
	font-family: 'Muli', sans-serif;
	/* ie fix */
	/* display: flex;
	flex-direction: column;*/
	-moz-osx-font-smoothing: grayscale;
	-webkit-font-smoothing: antialiased;
}

/* CONTAINER
================================================== */

.wrapper {
	display: flex;
	flex-direction: column;
	min-height: 100vh;
}
.wrapper > * {
	padding: 20px;
}

/* HEADER
================================================== */

.page-header {
	background-color: var(--main-black-color);
	color: var(--main-white-color);

	font-size: 11px;
	font-family: 'Playfair Display', serif;
	text-transform: uppercase;
	letter-spacing: 2px;
}
.page-header nav {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
}
.page-header ul {
	display: flex;
	order: 1;
	width: 100%;
	margin-top: 15px;
}
.page-header ul li:not(:last-child) {
	padding-right: 20px;
}
.btn-wrapper {
	display: flex;
	align-items: center;

	font-size: inherit;
	font-family: inherit;
	text-transform: inherit;
	letter-spacing: inherit;
}
.btn-contact {
	border: 1px solid var(--main-smoke-color);
	background-color: var(--main-black-color);
	color: var(--main-white-color);

	padding: 5px 10px;

	transition: all .3s ease;
}
.btn-contact:hover {
	border-color: var(--main-gold-color);
	background-color: var(--main-gold-color);
	color: var(--main-black-color);

	opacity: 1;
}

/* MAIN
================================================== */

.page-main {
	display: flex;
	flex-direction: column;
	justify-content: center;
	flex-grow: 1;
	min-height: 350px;

	transition: all 1s ease;
}
.page-main:hover {
	background-color: transparent;
}
.page-main div {
	max-width: 450px;
}
.page-main h1 {
	margin-bottom: 20px;
}
.page-main p + p {
	margin-top: 10px;
}

/* FOOTER
================================================== */

.page-footer {
	display: flex;
	flex-direction: column-reverse;
	background-color: var(--main-black-color);
	color: white;

	font-size: .800em;
	font-family: 'Playfair Display', serif;
	text-transform: uppercase;
	letter-spacing: 2px;
}
.page-footer ul {
	display: flex;
	font-size: 11px;
	margin-bottom: 10px;
}
.page-footer ul li:not(:last-child) {
	margin-right: 20px;
}

/* MQ
================================================== */

@media screen and (min-width: 550px) {
	.page-header ul {
		width: auto;
		margin-top: 0;
	}
	.page-header .btn-wrapper {
		order: 1;
	}
	.page-footer {
		flex-direction: row;
		justify-content: space-between;
		align-items: center;
	}
	.page-footer ul {
		margin-bottom: 0;
	}
}
@media screen and (min-width: 768px) {
	body {
		font-size: 12px;
	}
	.page-main {
		padding-left: 90px;
		padding-right: 90px;
	}
}

/* ANIMATIONS
================================================== */

.page-header nav > *,
.page-main,
.page-footer > * {
  opacity: 0;
}

.page-header,
.page-footer,
.page-main .quote-wrapper {
  overflow: hidden;
}

.page-header nav > * {
  transform: translateY(-30px);
}

.page-footer > * {
  transform: translateY(30px);
}

.page-header {
  position: relative;
}

.page-header::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 3px;
  background: var(--main-gold-color);
  z-index: 99999;
  transform: scaleX(0);
}

.page-main .quote-wrapper + .quote-wrapper {
  margin-top: 10px;
}

.page-main .quote-wrapper * {
  transform: translateY(120%);
}

.page-main .p-wrapper * {
  transform: translateY(-120%);
}

.loaded .page-header::after {
  animation: scaleIn 1.3s ease-in 0.2s forwards;
}

.loaded .page-main {
  animation: fadeIn 1s ease-in 0.7s forwards;
}

.loaded .page-header nav > *,
.loaded .page-footer > * {
  animation: fadeIn 1s ease-in 0.7s forwards, slideIn 0.8s ease-in 0.9s forwards;
}

.loaded .page-main .quote-wrapper * {
  animation: slideIn 0.6s cubic-bezier(0.54, 0.46, 0.54, 0.94) 2s forwards;
}

@keyframes fadeIn {
  60% {
    opacity: 0;
  }

  100% {
    opacity: 1;
  }
}

@keyframes scaleIn {
  100% {
    transform: scaleX(1);
  }
}

@keyframes slideIn {
  100% {
    transform: translateY(0);
  }
}

/* HEADER TITLE
================================================== */

.page-logo {
	display: flex;
	align-items: center;
}

.page-logo .icon {
	padding-right: 15px;
}
.subtitle {
	font-size: 8px;
}
/* QUOTE
================================================== */

.quote-wrapper {
	display: flex;
	align-items: flex-start;
	text-align: justify;
}

.quotation-mark {
	padding: 3px;
	margin-right: 15px;

	font-size: 2em;
	line-height: 0;

	background-color: var(--main-white-color);
	color: var(--main-black-color);
}

.quote,
.heading {
	font-style: italic;
	font-weight: bold;
	font-family: Helvetica, Arial, sans-serif;
	text-transform: uppercase;
}

.quote {
	font-size: 0.9em;
}

.quote-wrapper {
	display: flex;
	justify-content: flex-end;
}

.heading p {
	font-size: 2em;
}

.highlight {
	padding: 1px;
	background-color: var(--main-white-color);
	color: var(--main-black-color);
}

.highlight-gold {
	padding: 1px;
	background-color: var(--main-gold-color);
	color: var(--main-black-color);
}

/* HEADINGS
================================================== */

h2 {
	font-weight: 400;
	letter-spacing: 3px;
}

/* LINKS
================================================== */

a {
	transition: all .3s ease;
}
a:hover {
	opacity: 0.6;
}

.dim {
	opacity: .3;
}

.splash {
	background-image: url(img/tamaki.jpg);
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
	background-color: black;
	background-blend-mode: luminosity;
	color: white;
}

.article {
	background-image: url(img/bg.png);
	background-repeat: repeat;
	background-position: center;
	background-color: white;
	color: black;

	flex-direction: row;
}

article {
	display: flex;
	flex-direction: column;
	justify-content: center;
	text-align: justify;
	text-align-last: center;

	max-width: 900px;
}