/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}main{display:block}h1{font-size:2em;margin:.67em 0}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring,button:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}

/* Begin */

@font-face {
  font-family: 'Fold';
  src: url('fonts/fold-grotesque-regular.woff2') format('woff2'),
  url('fonts/fold-grotesque-regular.woff') format('woff'),
  url('fonts/fold-grotesque-regular.ttf') format('truetype');
  font-weight: normal;
  font-style: normal;
}

[x-cloak] { display: none !important; }

* {
  box-sizing: border-box;
}

img {
  display: block;
}

:root {
  --fold: 'Fold', Helvetica Neue, Helvetica, sans-serif;
  --grey: #d8d8d8;
}

a {
  color: inherit;
  text-decoration: none;
}

body {
  font-family: var(--fold);
  width: 100%;
  display: flex;
  flex-direction: column;
  background-color: #F5F5F5;
}

main {
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
}

section.books, section.arch, section.about, section.news {
  padding-bottom: 5rem;
}

/* Swup */

html.is-changing .transition-fade {
  transition: opacity 0.45s;
  opacity: 1;
}

html.is-animating .transition-fade {
  opacity: 0;
}

/* Header */

body {
  display: flex;
  flex-direction: column;
  align-items: center;
}

header {
  width: 85%;
  display: flex;
  flex-direction: column;
  align-content: center;
  justify-content: flex-start;
  align-items: flex-start;
  padding-top: 0.5rem;
  position: absolute;
}

nav {
  width: 50%;
  display: flex;
  grid-template-columns: repeat(10, minmax(0, 1fr));
  font-size: 1.1rem;
}

ul.name {
  margin-right: 10rem;
}

body.about nav a {
  color: #000000;
}

body.about nav a:hover {
  color: var(--grey);
}

p a:hover {
  color: var(--grey);
}

body.home nav a {
  color: var(--textcolor);
}

nav a:hover {
  color: var(--grey);
}

ul {
  width: min-content;
  list-style: none;
  margin-left: 0;
  padding-left: 0;
  display: flex;
  flex-direction: row;
}

ul li {
  white-space: nowrap;
}

ul.menu {
  display: flex;
  flex-direction: column;
  width: 7rem;
}

li.reveal ul {
  flex-direction: column;
}

li.reveal ul li {
  line-height: 1.5rem;
}

li.reveal ul li:first-child {
  margin-right: 1rem;
}

/* Landing page */

section.hero-background {
  width: 100vw;
  height: 100vh;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  margin-top: 0;
}

/* General */

section {
  width: 85%;
  margin-top: 15vh;
}

div.two-col {
  width: 100%;
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-content: center;
  justify-content: space-between;
  align-items: flex-start;
}

div.two-col div:first-child {
  width: 50%;
}

div.two-col div:first-child p, .info-slide p {
  display: block;
  margin-block-start: 1.25rem;
  margin-block-end: 1.25rem;
}

div.two-col div:first-child p:first-of-type, .info-slide p:first-of-type {
  display: block;
  margin-block-start: 0.8rem;
  margin-block-end: 1.25rem;
}

.about div.two-col div:first-child p {
  display: block;
  margin-block-start: 0;
  margin-block-end: 1.25rem;
}

div.two-col div:nth-child(2) {
  text-align: right;
}

div.two-col div:nth-child(2) img {
  max-width: 30vw;
}

p {
  line-height: 1.25rem;
  font-size: 0.9rem;
  margin-block-start: 1.25rem;
  margin-block-end: 1.25rem;
}

p a {
  text-decoration: underline;
}

h4 {
  display: block;
  margin-block-start: 0;
  margin-block-end: 0;
  margin-inline-start: 0px;
  margin-inline-end: 0px;
  font-weight: normal;
  font-size: 1.1rem;
  line-height: 1.4rem;
}

h4 a:hover {
  color: var(--grey);
}

/* Book */

section.book .two-col div:nth-of-type(2) img {
  aspect-ratio: 5/4;
  object-fit: cover;
}

section.blocks {
  width: 85%;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

figure {
  width: 100%;
  margin-block-start: 0;
  margin-block-end: 0;
  margin-inline-start: 0;
  margin-inline-end: 0;
}

figure img {
  width: 100%;
}

.embed-container { position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden; max-width: 100%; } .embed-container iframe, .embed-container object, .embed-container embed { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }

figcaption {
  opacity: 0.5;
  padding-top: 0.25rem;
  font-size: 0.9rem;
}

section.blocks figure {
  margin-bottom: 1.5rem;
}

section.blocks figure.width-12 {
  width: calc(12.5% - 1rem);
}

section.blocks figure.width-20 {
  width: calc(20% - 1rem);
}

section.blocks figure.width-25 {
  width: calc(25% - 1rem);
}

section.blocks figure.width-33 {
  width: calc(33.333333% - 1rem);
}

section.blocks figure.width-50 {
  width: calc(50% - 1rem);
}

section.blocks figure.width-100 {
  width: 100%;
}

/* Books */

section.grid {
  display: grid;
  grid-auto-flow: row;
  grid-auto-rows: 1fr;
  grid-template-columns: 1fr 1fr;
  gap: 5rem 5vw;
}

.grid-image img {
  width: 100%;
  aspect-ratio: 5/4;
  object-fit: cover;
}

.grid-title {
  padding-top: 0.8rem;
}

/* Architecture */

section.grid.arch {
  display: grid;
  grid-auto-flow: row;
  grid-auto-rows: 1fr;
  grid-template-columns: 1fr 1fr 1fr 1fr;
  gap: 3rem 3vw;
}

/* Arch item */

section.arch-item {
  width: 100%;
  position: relative;
}

.splide__slide__container img {
  height: 100%;
}

.info-slide {
  max-width: 20rem;
  width: 20rem;
  margin-right: 5rem;
}

.non-slide {
  background-color: transparent;
  position: absolute;
  width: 30vw;
  height: 100%;
  z-index: 500;
}

.non-slide.prev {
  left: 0;
  top: 0;
  cursor: pointer;
}

.non-slide.next {
  right: 0;
  top: 0;
  cursor: pointer;
}

/* Footer */

footer {
  width: 100%;
  display: flex;
  flex-direction: column;
  align-content: center;
  justify-content: flex-start;
  align-items: center;
  padding-top: 2rem;
}

footer nav {
  display: flex;
  width: 85%;
}

.arrow {
  cursor: pointer;
}

.arrow svg {
  height: 1.25rem;
  width: 1.25rem;
}

footer nav .arrow:first-of-type {
  margin-right: 0.5rem;
}

/* News */

section.news .two-col div:nth-of-type(2) img {
  aspect-ratio: 5/4;
  object-fit: cover;
}

section.news .two-col {
  margin-bottom: 6rem;
}

section.news .two-col:last-of-type {
  margin-bottom: 0;
}

/* Splide */

.splideoff {
  overflow-x: scroll;
  overflow-y: hidden;
  display: flex;
  flex-direction: row;
  max-height: 72vh;
  scrollbar-width: none;
  -ms-overflow-style: none;
}

.splideoff::-webkit-scrollbar {
  display: none;
}

.splideoff .info-slide-container {
  padding-left: 7.5%;
}

.slide {
  height: 72vh;
  width: 100%;
  padding-right: 1.5em;
}

.slide img {
  height: 100%;
  width: auto;
  -khtml-user-select: none;
  -o-user-select: none;
  -moz-user-select: none;
  -webkit-user-select: none;
  user-select: none;
}

.reveal {
  padding-top: 0.15rem;
}

/* MQ */

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

section.grid.arch {
  grid-template-columns: 1fr 1fr;
}

nav ul.name {
    margin-right: 4.5rem;
}

ul.menu {
  width: 6rem;
}

}

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

.reveal {
  padding-top: 0.1rem;
}

nav {
  width: 100%;
}

ul {
  flex-direction: column;
}

ul li {
  line-height: 1.35rem;
}

nav ul.name {
  margin-right: 4.5rem;
}

ul.menu {
  width: 4rem;
}

section.grid {
  grid-template-columns: 1fr;
  gap: 2rem 5vw;
}

section.book {
  width: 100%;
}

section.blocks {
  width: 100%;
}

div.two-col {
  flex-direction: column;
  align-items: center;
}

div.two-col div:first-child {
  width: 85%;
  padding-bottom: 1rem;
}

section.about div.two-col div:first-child {
  width: 100%;
  padding-bottom: 1rem;
}

section.news div.two-col div:first-child {
  width: 100%;
  padding-bottom: 1rem;
}

div.two-col div:nth-child(2) {
  text-align: inherit;
  width: 100%;
}

div.two-col div:nth-child(2) img {
  max-width: 100%;
}

section {
  margin-top: 18vh;
}

section.blocks figure.width-12 {
  width: 100%;
}

section.blocks figure.width-20 {
  width: 100%;
}

section.blocks figure.width-25 {
  width: 100%;
}

section.blocks figure.width-33 {
  width: 100%;
}

section.blocks figure.width-50 {
  width: 100%;
}

section.grid.arch {
  grid-template-columns: 1fr;
  gap: 2rem 0;
}

section.arch-item {
  width: 100%;
}

.splide__slide__container img {
  width: 100%;
  height: auto;
}

.info-slide {
  width: 100%;
  max-width: 100%;
  margin: 0;
  padding-bottom: 1rem;
}

.splide__slide__container {
  margin-bottom: 2rem;
}

footer {
  display: none;
}

.non-slide {
  display: none;
}

.splideoff {
  overflow: hidden;
  display: flex;
  flex-direction: column;
  max-height: 100%;
  scrollbar-width: none;
  -ms-overflow-style: none;
  align-items: center;
}

.splideoff::-webkit-scrollbar {
  display: none;
}

.splideoff .info-slide-container {
  padding-left: 0;
  width: 85%;
}

.slide {
  height: 100%;
  padding-right: 0;
  padding-bottom: 1.5em;
}

.info-slide {
  padding-bottom: 0;
}

.info-slide p {
  margin-block-start: 0;
  margin-block-end: 0;
}

.info-slide h4 {
  margin-bottom: 1rem;
}

.slide img {
  width: 100%;
}

section.blocks {
  margin-top: 1.5rem;
}

figcaption {
  padding-top: 0.5rem;
  width: 85%;
  margin: 0 auto;
}

}
