/* blank */ 

@font-face {
	font-family: "Optima Black";
	src: url("../fonts/OptimaLTStd-ExtraBlack.otf") format("opentype");
}

@font-face {
	font-family: "Scala";
	src: url("../fonts/ScalaSans-Regular.otf") format("opentype");
	font-style: normal;
	font-weight: normal;
}

@font-face {
	font-family: "Scala";
	src: url("../fonts/ScalaSans-Italic.otf") format("opentype");
	font-style: italic;
	font-weight: normal;
}

@font-face {
	font-family: "Scala";
	src: url("../fonts/ScalaSans-Bold.otf") format("opentype");
	font-style: normal;
	font-weight: bold;
}

@font-face {
	font-family: "Scala";
	src: url("../fonts/ScalaSans-BoldItalic.otf") format("opentype");
	font-style: italic;
	font-weight: bold;
}

* {
	margin: 0;
	padding: 0;

}

body {
	font-size: 1.2vw;
	font-family: 'Scala';
	font-weight: normal;
	font-style: normal;
	overflow-x: hidden;
}

/*—————————————————*/
/* Type  
/*—————————————————*/

p a {
	text-decoration: underline;
}
p b, p strong {
	font-weight: bold;
}
p em {
	font-style: italic;
}

.optima {
	font-family: 'Optima Black';
	line-height: 0.8;
}

.regular {
	line-height: 1em;
	font-family: 'Scala';
	font-weight: normal;
	font-style: normal;
}

.small {
	font-size: 14px;
	line-height: 1em;
}
.medium {
	font-size: 18px;
}
.large {
	font-size: 2vw;
	line-height: 1.2;
}

.bold, .current {
	font-weight: bold;
}

.title { 
	line-height: 0.76;
	margin: 0;
	padding: 0;
}

.h1 {
	font-family: "Optima Black";
	line-height: 0.76;
	font-size: 2vw;	
}

.h2 {
	font-family: "Optima Black";
	font-size: 1.7vw;
	line-height: 0.76;
}

.h3 {
	font-family: "Optima Black";
	font-size: 1.2vw;
	line-height: 0.76;
}
 a {
 	text-decoration: none;
 	color: inherit;
 }


/*—————————————————*/
/* Column system 
/*—————————————————*/

.col {
	position: relative;
	float: left;
	clear: none;
	display: block;
	box-sizing: border-box;
	padding: calc(var(--margin));
}
.col-1 {
	box-sizing: border-box;
	width: calc(100vw / 6);
}
.col-2 {
	box-sizing: border-box;
	width: calc(100vw / 3);
}
.col-3 {
	box-sizing: border-box;
	width: calc(100vw / 2);
}
.col-4 {
	box-sizing: border-box;
	width: calc(100vw / 6 * 4);
}
.col-5 {
	box-sizing: border-box;
	width: calc(100vw / 6 * 5);
}
.col-6 {
	box-sizing: border-box;
	width: calc(100vw);
}

/*—————————————————*/
/* Main components 
/*—————————————————*/

#header {
	position: fixed;
	left: 0;
	top: 0;
	bottom: 0;
	z-index: 999;
	z-index: 999;

	display: flex;
	flex-direction: column;
	justify-content: space-between;
	overflow: hidden;
	background-color: white;

}
.hidden-items, .hidden-items * {
	display: none;
}

.logo {
	background-color: white;
	width: 100%;
	max-width: 100%;
	position: relative;
	clear: both;
	animation: 0.5s shrink 2s linear 1 forwards;

}
.header-title {
	position: relative;
	clear: both;
	float: right;
	width: 100%;
	height: 1em;
	white-space: pre-line;
	font-size: calc(2.3vw - 6px);
	text-align: justify;
	text-align-last: justify;
	/*text-justify: inter-character;*/
	/*-webkit-text-justify: inter-character;*/
	animation: 0.5s hide 2s linear 1 forwards;
}

.header-title:after {
	content: "";
	display: inline-block;
	width: 100%;
}



@keyframes shrink {
	from {
		width: 100%;
		max-width: 100%;
	}
	to {
		width: 50%;
		max-width: 50%;
	}
}


@keyframes hide {
	from {
		/*font-size: calc(2vw - 3px);*/
		font-size: calc(2.3vw - 6px);
		text-align: left;
		text-align-last: left;

		opacity: 1;
	}
	to {
		font-size: 1vw;
		opacity: 0;
		text-align: left;
		text-align-last: left;

	}
}


#footer {
	position: relative;
	display: flex;
	width: 100%;
	flex-direction: row;
}

.columns-two {
	column-count: 2;
	column-gap: calc(var(--margin) * 2);
}

.block {
	min-height: 100vh;
	position: relative;
	display: block;
	float: left;
	height: 100%;
}

.block-item {
	margin-bottom: 1em;
	page-break-inside: avoid;
}

.items {
	position: relative;
	display: block;
	float: left;
	clear: none;
}

.items-image {
	position: absolute;
	display: flex;
	justify-content: center;
	align-content: center;
	align-items: center;
	object-fit: cover;
	width: 100%;
	height: 100%;

}
.items-image img.preview {
	transition: filter 0.5s;
	filter: grayscale(1.0);
	mix-blend-mode: normal;
	min-width: 100%;
	min-height: 100%;
	object-fit: cover;

}

img.preview:nth-of-type(4n + 1) {
	clip-path: polygon(0 75%, 25% 75%, 75% 0, 100% 0, 100% 50%, 70% 100%, 15% 100%, 15% 100%, 0% 100%);
	-webkit-clip-path: polygon(0 75%, 25% 75%, 75% 0, 100% 0, 100% 50%, 70% 100%, 15% 100%, 15% 100%, 0% 100%);
}
.mobile-header {
	display: none;
}

/*img.preview:nth-of-type(4n + 2) {
	-webkit-mask-image: url(/site/templates/images/cover-02.svg);
	mask-image: url(/site/templates/images/cover-02.svg);
}

img.preview:nth-of-type(4n + 3) {
	-webkit-mask-image: url(/site/templates/images/cover-03.svg);
	mask-image: url(/site/templates/images/cover-03.svg);
}

img.preview:nth-of-type(4n) {
	-webkit-mask-image: url(/site/templates/images/cover-04.svg);
	mask-image: url(/site/templates/images/cover-04.svg);
}*/

/*img.preview:nth-of-type(4n + 1) {
	-webkit-mask-image: url(/site/templates/images/cover-01.svg);
	mask-image: url(/site/templates/images/cover-01.svg);
}

img.preview:nth-of-type(4n + 2) {
	-webkit-mask-image: url(/site/templates/images/cover-02.svg);
	mask-image: url(/site/templates/images/cover-02.svg);
}

img.preview:nth-of-type(4n + 3) {
	-webkit-mask-image: url(/site/templates/images/cover-03.svg);
	mask-image: url(/site/templates/images/cover-03.svg);
}

img.preview:nth-of-type(4n) {
	-webkit-mask-image: url(/site/templates/images/cover-04.svg);
	mask-image: url(/site/templates/images/cover-04.svg);
}*/


.items-preview:hover .items-image img,
.items-preview-large:hover .items-image img {
	filter: grayscale(0.0);

}
.items-title, .items-title * {
	color: white;
	line-height: 0.8em !important;
}

.right-align {
	text-align: right;
}
.items-preview {
	display: block;
	position: relative;
	width: 100%;
	float: left;
	clear: both;
	height: 33.3vh;
	overflow: hidden;
}
.items-preview-large {
	display: block;
	position: relative;
	width: 100%;
	float: left;
	clear: both;
	height: 100vh;
	overflow: hidden;
}
.items-preview.archive {
	height: auto;
}


.items-ball {
	border-radius: 50%;
	width: 25px; 
	height: 25px;
	position: relative;
	z-index: 100;
	display: block;
	float: left;
	transition: all 0.5s;
	overflow: hidden;
	padding: 10px;
	margin: 2.5px;
	word-break: break-word;
}
.items-ball .small {
	/*width: 100%;*/
	position: relative;
	word-break: break-word;
	white-space: pre-line;
	hyphens: auto;
}
.hidden {
	opacity: 0;
	width: 0px;
	height: 0px;
	transition: all 0.5s;
}

.items-ball:hover {
	width: auto;
	height: auto;
	width:  calc(100% - 5px);
	height: 100%;
	border-radius: 5px;
}
.items-ball:hover .hidden {
	opacity: 1;
	word-break: break-word;
	width: calc(100% - 5px);
	height: 100%;
}


.slider {
	position: relative;
	width: 100%;
	display: block;
	float: left;
	clear: both;
	overflow: hidden;
	margin-top: var(--margin);
}
.slide {
	position: relative;
	display: block;
	float: left;
	clear: none;
	width: calc(100vw / 3);
	height: auto;
}

.slider-image {
	width: calc(100vw / 3);
	height: auto;
	position: relative;
	display: block;
	height: auto;
}

.image {
	position: relative;
	display: block;
	height: auto;
}

.slick-slide img {
	height: auto;
	width: 100%;
}

.slick-arrow {
	width: 50%;
	height: 100%;

}
.slick-prev, .slick-next {
	top: 0;
	transform: translate(0, 0);
}
.slick-prev {
	left: 0;
	cursor: w-resize;
}
.slick-next {
	right: 0;
	cursor: e-resize;
}
.slick-prev:before, .slick-next:before {
	content: "";
}

/*—————————————————*/
/* Other components 
/*—————————————————*/

.sticky {
	position: sticky;
	top: var(--margin);
}


/*—————————————————*/
/* Calendar
/*—————————————————*/


.calendar * {
  box-sizing: border-box;
}


.calendar-grid {
  margin: 0;
  width: 100%;
  height: 100vh;
  grid-gap: 0px 0px;
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  grid-template-rows: 3em 2em;
  grid-auto-rows: 1fr;
  border-left: 1px solid lightgray;
  grid-gap: 1px;
  background-color: lightgray;
  user-select: none;
  color: black;
}


.calendar-day {
  padding: calc(var(--margin) / 2);
  height: 100%;
  width: 100%;
  display: block;
  position: relative;
  background-color: white;
}
.calendar-day-container {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	display: flex;
	flex-direction: column;
	align-content: center;
	justify-content: center;
	align-items: center;

}

.current-day {
  /*background: var(--orange);*/
}

.day {
	display: flex;
	position: absolute;
	left: 0;
	top: 0;
	padding: calc(var(--margin) / 2);
	line-height: 1;
	align-content: center;
	justify-content: center;
	align-items: center;
	letter-spacing: -0.05rem;
	color: lightgray;
}

.current-day .day {
	color: black;
	/*background: #D51E1E;
	border-radius: 50%;
	width: 60px;
	height: 60px;
	padding: calc(var(--margin) / 2);
	color: white;*/
}
.first-day {
  grid-column-start: 4;
}

.calendar-dayname {
  background-color: white;
  text-align:center;
  display: flex;
  align-content: center;
  justify-content: center;
  align-items: center;
}

.calendar-title {
  text-align: center;
  background-color: white;
  display: flex;
  align-content: center;
  justify-content: center;
  align-items: center;
  grid-column: 2 / -2;
}

.calendar-nav a {
  display:block;
  background-color: white;
  width:100%;
  height:100%;
  text-align: center;
  cursor: pointer;
  display: flex;
  align-content: center;
  justify-content: center;
  align-items: center;
}

.calendar-nav__right {
  text-align: right;
}



.monday .items-ball,
.tuesday .items-ball,
.wednesday .items-ball {
	display: none !important;
}
