/*
Theme Name: c7273 v09
Version: 0.1
Template: karma
Text Domain: c7273
*/


/* WEBFONT
----------------------------------- */


@font-face {
	font-family: 'union';
	src: url('fonts/union_regular.otf');
	font-weight: normal;
	font-style: normal;
}

@font-face {
	font-family: 'union-italic';
	src: url('fonts/union_regular_italic.otf');
	font-weight: normal;
	font-style: normal;
}




/* General
----------------------------------- */
* {
	outline: none;
}

html {
	height: 100%;

	/* scroll-snap-type: y mandatory; */
}

body {
	-webkit-font-smoothing: antialiased !important;
	-moz-osx-font-smoothing: grayscale;

	height: 100%;

	position: relative;
	min-height: 100%;

	font-family: 'union', helvetica;
	font-weight: normal;
	font-style: normal;
	font-stretch: normal;


	font-size: 25px;
	line-height: 25px;
	color: black;


	/*
	background-image: url(images/background-crop.jpg);
	background-size: 100% auto; */

	margin: 0 auto;
	background-attachment: fixed;
}

strong,
b,
.bold {
	font-family: 'union', helvetica;
	font-weight: normal;
	font-size: inherit;
}

em,
i,
.italic {
	font-family: helvetica;
	font-style: italic;
}

h1,
h2,
h3,
h4 {
	font-family: 'union', helvetica;
	font-weight: normal;
	font-size: inherit;
	margin: 0;
	line-height: 1.05;
}

ul {
	margin: 0;
	padding: 0;
}

ul li {
	list-style-type: none;
}

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

p {
	margin-top: 0;
}


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

table,
table tbody,
table tr,
table td {
	/* display: block; */
	padding: 0;
	width: auto !important;
	height: auto !important;
}

table td {
	box-sizing: border-box;
	vertical-align: top;
}

img a {
	border: none;
}

img,
a {
	user-drag: none;
	user-select: none;
	-moz-user-select: none;
	-webkit-user-drag: none;
	-webkit-user-select: none;
	-ms-user-select: none;
}

.clear {
	clear: both;
}

.hidden {
	display: none;
}

@media (max-width: 1023px) {
	.desktop-only {
		display: none;
	}

	table,
	table tbody,
	table tr,
	table td {
		display: block;
	}

}

@media (min-width: 1024px) {
	.mobile-only {
		display: none;
	}
}


/* Header
----------------------------------- */
header {
	position: fixed;
	z-index: 5;
	background-color: black;

	width: 100%;
	height: 16px;

	/* background-color: white;
  mix-blend-mode: exclusion; */
}

body.splash-screen-open header {
	bottom: 0;
	top: auto;
	z-index: 50;
}

header .header-columns {
	display: flex;
	justify-content: space-between;
	height: 100%;
	align-items: flex-end;
}

header .header-column {
	color: white;
	font-size: 12px;
	line-height: 14px;
	text-transform: uppercase;
	padding: 0 4px;
}

header .header-column a {
	color: white;
}





/* Nav
----------------------------------- */
nav.menu {
	position: fixed;
	z-index: 4;
	top: 0;
	left: 0;

}

nav.menu .menu-content {
	padding-top: 16px;
	padding-left: 4px;
}

nav.menu a {
	font-size: 40px;
	line-height: 40px;
	letter-spacing: -0.02em;
	color: white;
}

/* nav.menu ul li.current-menu-item a, */
nav.menu ul li a.active,
nav.menu ul li.active a,
nav.menu ul li a:hover {
	/* color: #000000; */
	color: #FFF500;
}



@media (min-width: 1024px) {

	nav.menu ul li.mode-over a {
		color: #000000;
	}

	/* nav.menu ul li.current-menu-item a, */
	nav.menu ul li.mode-over a:hover {
		color: #FFF500;
	}

	body.single nav.menu ul li a:hover,
	body.single nav.menu ul li.current-menu-item a,
	body.page nav.menu ul li a:hover,
	body.page nav.menu ul li.current-menu-item a {
		color: #FFF500;
	}

	body.single nav.menu ul li.mode-over a,
	body.page nav.menu ul li.mode-over a {
		color: #868686;
	}

	body.single nav.menu ul li.mode-over a:hover,
	body.single nav.menu ul li.current-menu-item.mode-over a,
	body.page nav.menu ul li.mode-over a:hover,
	body.page nav.menu ul li.current-menu-item.mode-over a {
		color: #000000;
	}
}


@media (max-width: 1023px) {
	nav.menu {
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		z-index: 5;
		background-color: black;
		color: white;
		display: none;
	}

	nav.menu a {
		font-size: 40px;
		line-height: 38px;
		letter-spacing: -0.02em;
		color: white;
	}

	nav.menu a.active,
	nav.menu a:hover,
	nav.menu .current-menu-item a {
		color: #FFF500;
	}

	nav.menu .margin {
		position: absolute;
		top: 0;
		left: 40px;
		bottom: 0;
		border-right: 2px solid white;
	}

	nav.menu .menu-content {
		height: 100%;
		box-sizing: border-box;
		padding-top: 12px;
		padding-left: 46px;
		padding-bottom: 10px;

		display: flex;
		flex-direction: column;
		/* justify-content: space-between; */
	}

	nav.menu .mobile-credits {
		font-size: 11px;
		line-height: 13px;
		display: flex;
		padding-bottom: 10px;
	}

	nav.menu .mobile-credits div:first-child {
		width: 40%;
		padding-right: 13px;
	}

	nav.menu .mobile-credits div:last-child {
		width: 60%;
		padding-right: 13px;
	}

	nav.menu .mobile-menu-footer {
		/* display: flex;
    justify-content: space-between; */
		margin-right: 10px;
		/* align-items: flex-end; */
	}

	nav.menu .social li img {
		height: 30px;
	}

	nav.menu .mobile-languages .language-switch {
		font-size: 40px;
		line-height: 38px;
	}

	nav.menu .mobile-languages a {
		text-transform: capitalize;
	}

	nav.menu .mobile-language-newsletter {
		margin-top: 38px;
		flex-grow: 1;
	}

	.newsletter-link {
		cursor: pointer;
	}

	/* nav.menu .mobile-languages a:first-child::after {
    content: " / ";
  } */
	.close-menu-button {
		position: absolute;
		left: 0;
		top: 8px;
		padding: 9px;
		cursor: pointer;
	}

	.burger {
		position: absolute;
		top: 17px;
		padding: 5px;
		cursor: pointer;
	}

	.burger.mode-over svg path {
		stroke: black;
	}
}

@media (min-width: 1024px) {
	nav.menu {
		display: block !important;
	}
}





/* Splash Screen
----------------------------------- */
body.splash-screen-open {
	overflow: hidden;
}

.splash-screen {
	position: fixed;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	z-index: 20;
}

section.splash-screen-content {
	height: 100%;
	z-index: 20;
}

section.splash-screen-content .c7273 {
	position: absolute;
	left: 0;
	right: 16px;
	top: 20px;
}

section.splash-screen-content .c7273-mobile {
	position: absolute;
	right: 7px;
	top: 7px;
	bottom: 22px;
}

section.splash-screen-content .c7273 img {
	width: 100%;
	height: auto;
}

section.splash-screen-content .c7273-mobile img {
	width: auto;
	height: 100%;
	text-align: right;
}

section.splash-screen-content h1 {
	position: relative;
	color: white;
	font-size: 40px;
	line-height: 70px;
	/* max-width: 720px; */
	margin-left: 10px;
}

@media (min-width: 1024px) {
	section.splash-screen-content .c7273 {
		left: 266px;
	}
}

/* Main
----------------------------------- */
main {
	background-color: white;
	overflow: hidden;
}

body.scrolling main {
	/* scroll-snap-type: none; */
}

@media (min-width: 1024px) {
	main {
		/* height: 100%;
    overflow: auto; */
	}
}





/* Sections
----------------------------------- */
section {
	position: relative;
	/* scroll-snap-align: start; */

}

body.scroll-up section {
	/* scroll-snap-align: end; */
}

section .background-image {
	position: absolute;
	width: 100%;
	height: 100%;
}

section .background-image div {
	background-attachment: fixed;

	/* background-image: none !important; */
	/* position: fixed;
  top: 0;
  left: 0;
  height:100%; */
}




.section-margin {
	position: absolute;
	left: 40px;
	top: 0;
	bottom: 0;
	z-index: 2;
	border-left: 2px solid white;

}

@media (min-width: 1024px) {
	.section-margin {
		left: 250px;
	}
}

/* Projects
----------------------------------- */
section.projects {}

@media (max-width: 1023px) {
	section.projects {
		background-attachment: scroll !important;
	}
}

section.projects .section-content {}

section.projects .on-tour {
	position: relative;
	font-size: 45px;
	line-height: 43px;
	letter-spacing: -0.02em;
	margin: 0 7px 0 44px;
}

section.projects .on-tour ul {
	padding: 16px 0 50px 0;
}

section.projects .not-on-tour {
	position: relative;
	font-size: 25px;
	line-height: 25px;
	letter-spacing: -0.02em;
	text-align: right;
	margin: 0 7px 0 4px;
}

section.projects .not-on-tour ul {
	padding: 50px 0 6px 0;
}

section.projects ul li {
	color: #FFF500;
	display: inline;
}

section.projects ul li:not(:last-child) a span:last-child::after {
	content: ", ";
}


section.projects ul li a {
	color: #FFF500;
	display: inline;
}

section.projects ul li a span {
	display: inline-block;
	transform: perspective(1px) translateZ(0);
	transition-duration: 0.3s;
	transition-property: transform;
	transform-origin: 0 100%;
}

section.projects ul li a:hover span {
	transform: skew(10deg);
}


section.projects .section-margin,
section.agenda .section-margin,
section.contact .section-margin {
	border-left-color: white;
}



section.projects ul {}

/* section.projects ul.effect {
  position: absolute;
  width: 100%;
}
section.projects .on-tour ul.effect {
  top: 0;
}
section.projects .not-on-tour ul.effect {
  bottom: 0;
}
section.projects ul.effect li a {
  color: transparent;
}
section.projects ul.effect li:hover {
  background-color: white;
  mix-blend-mode: exclusion;
}
*/

@media (min-width: 1024px) {
	section.projects {
		height: 100vh;
	}

	section.projects .on-tour {
		position: absolute;
		top: 16px;
		right: 16px;
		left: 262px;
		/* font-size: 130px;
    line-height: 110px;
    letter-spacing: -0.02em; */
		letter-spacing: -0.02em;
		margin: 0;
	}

	section.projects .not-on-tour {
		position: absolute;
		right: 16px;
		left: 47px;
		bottom: 5px;
		font-size: 40px;
		line-height: 40px;
		letter-spacing: -0.02em;
		margin: 0;
	}

	section.projects .on-tour ul {
		padding: 0;
	}

	section.projects .not-on-tour ul {
		padding: 0;
	}
}

@media (min-width: 1200px) and (min-height: 630px) {
	section.projects .on-tour {
		font-size: 90px;
		line-height: 80px;
	}
}

@media (min-width: 1260px) and (min-height: 700px) {
	section.projects .on-tour {
		font-size: 110px;
		line-height: 93px;
	}
}

@media (min-width: 1500px) and (min-height: 750px) {
	section.projects .on-tour {
		font-size: 130px;
		line-height: 110px;
	}
}




/* Agenda
----------------------------------- */
section.agenda {
	min-height: 100%;
	color: white;
}

@media (max-width: 1023px) {
	section.agenda {
		background-attachment: scroll !important;
	}
}

section.agenda .subsection {
	position: relative;
}

.subsection.subsection-upcoming {
	height: 100%;
}

.subsection .subsection-content {
	/* height: 100%;
  overflow: auto; */

}

/* section.agenda .subsection {
  position: relative;
  height: 100%;
}

section.agenda .subsection .upcoming,
section.agenda .subsection .archives {
  position: relative;
  height: 100%;
  overflow: hidden;
}
section.agenda .subsection .archives {
  height: 0;
}
section.agenda .subsection.archives-open .archives {
  height: calc(100% - 100px);
} */


section.agenda .section-content {
	position: relative;
	min-height: 100%;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}

section.agenda ul {
	position: relative;
	padding-top: 16px;
	padding-bottom: 16px;
	margin-left: 7px;
	margin-right: 7px;
	text-align: right;
}

section.agenda ul li {
	margin-bottom: 18px;
}

/* section.agenda .subsection-upcoming,
section.agenda .subsection-upcoming a {
  color: white;
  display: inline-block;
  position: relative;
} */
section.agenda a {
	position: relative;
	color: white;
}

/* section.agenda a:hover {
  color: white;
}
section.agenda a:hover::after {
  content:"";
  position: absolute;
  top: 0;
  left: -10px;
  right: -10px;
  bottom: 0;
  background-color: white;
  mix-blend-mode: exclusion;
} */

section.agenda a span {
	display: inline-block;
	/* vertical-align: middle; */
	transform: perspective(1px) translateZ(0);
	transition-duration: 0.3s;
	transition-property: transform;
	transform-origin: 0 100%;
}

section.agenda a:hover span {
	transform: skew(10deg);
}




section.agenda .date,
section.agenda .lieu {
	font-size: 20px;
	line-height: 23px;
	letter-spacing: -0.02em;
}

section.agenda .title {
	font-size: 45px;
	line-height: 43px;
	letter-spacing: -0.02em;
}

section.agenda ul li:first-child .title {
	margin-top: 0;
}

/* section.agenda .date,
section.agenda .lieu,
section.agenda .title {
  position: relative;
  z-index: 10;
}
section.agenda .lieu:hover,
section.agenda .title:hover {
  mix-blend-mode: difference;
}
section.agenda .lieu a,
section.agenda .title a {
  display: inline-block;
}
section.agenda .lieu:hover a,
section.agenda .title:hover a {

  background-color: white;
} */



/* .agenda-text-under {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 9;
}
.agenda-text-under section.agenda .date a,
.agenda-text-under section.agenda .lieu a,
.agenda-text-under section.agenda .title a {
  color: transparent;
}

.agenda-text-under section.agenda .date:hover,
.agenda-text-under section.agenda .lieu:hover,
.agenda-text-under section.agenda .title:hover {
  mix-blend-mode: normal;
  background-color: transparent;
} */


section.agenda h2 {
	position: absolute;
	top: 16px;
	left: 44px;
	right: 8px;
	font-size: 45px;
	line-height: 43px;
	letter-spacing: -0.02em;
	color: white;
}

@media (min-width: 1024px) {
	section.agenda ul {
		margin-left: 16px;
		margin-right: 16px;
	}

	section.agenda ul li {
		margin-bottom: 35px;
	}

	section.agenda .date,
	section.agenda .lieu {
		font-size: 40px;
		line-height: 45px;
		letter-spacing: -0.02em;
	}

	section.agenda .title {
		font-size: 130px;
		line-height: 110px;
		letter-spacing: -0.02em;
		margin-top: 70px;
	}

	section.agenda h2 {
		position: absolute;
		top: 16px;
		left: 262px;
		right: 16px;
		font-size: 130px;
		line-height: 110px;
		letter-spacing: -0.02em;
		color: white;
	}
}




/* Contact
----------------------------------- */
section.contact {
	/* min-height: 100%; */

	background-color: black;
	color: white;
}

section.contact a {
	/* color: white; */
}

section.contact .section-content {}

section.contact h2 {
	position: absolute;
	top: 16px;
	left: 262px;
	right: 16px;
	font-size: 130px;
	line-height: 110px;
	letter-spacing: -0.02em;
}

section.contact .text {
	position: relative;
	padding-top: 16px;
	padding-bottom: 10px;
	margin-right: 16px;
	margin-left: 44px;

	font-size: 15px;
	line-height: 18px;
	letter-spacing: -0.02em;

	/* text-align: right;

  display: flex;
  justify-content: flex-end; */
}

section.contact table {
	border-collapse: collapse;
	border-spacing: 0;
	table-layout: fixed;
	margin-top: 80px;
	width: 100% !important;
	height: auto !important;
}

section.contact table tbody,
section.contact table tr,
section.contact table td {
	width: auto !important;
	height: auto !important;
}

section.contact table tr {}

section.contact table td {
	padding: 0 42px 42px;
	text-align: left;
}


@media (min-width: 1024px) {
	section.contact {
		min-height: calc(100vh - 278px);
	}

	section.contact .text {
		margin-left: 262px;
		font-size: 40px;
		line-height: 40px;
	}
}





/* Archives
----------------------------------- */
section.agenda {
	/* font-size: 20px;
  line-height: 25px; */
	font-size: 15px;
	line-height: 18px;
}

section.archives {
	background-color: #E5E5E5;
}

body.page section.archives {
	padding-top: 16px;
	box-sizing: border-box;
	min-height: 100vh;
}

.archives-header {
	position: relative;
	/* margin-left: 44px;
  padding-top: 16px;
  padding-bottom: 10px; */
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-left: 36px;
}

.archives-header h3 {
	font-size: 45px;
	line-height: 43px;
	padding: 0 8px;
	order: 1;
	/* margin-left: 40px; */
}

.archives-header img {
	padding: 8px 16px;
	transform: rotate(45deg);
	transition: transform 200ms;

	/* order: 2; */
	width: 28px;
	height: 28px;
}

.archives-open .archives-header img {
	transform: rotate(0deg);

}

.section-margin {
	border-left-color: black;
}

.archives-body {
	font-size: 15px;
	line-height: 18px;
}

.archives-body-content {
	margin-left: 48px;
}

.archives-years {
	padding: 8px 0;
}

.archives-row {
	display: flex;
	flex-direction: column;
	margin-bottom: 18px;
}

.archives-row a:hover {
	color: #868686;
}

.archives-row .archives-cell-dates {
	width: 200px;
	flex-shrink: 0;
}

.archives-row .archives-cell-title {
	width: 200px;
	flex-shrink: 0;
	font-style: italic;
}

.archives-row .archives-cell-lieu {
	flex-grow: 1;
}

.archives-year {
	margin-right: 16px;
	font-size: 45px;
	line-height: 43px;
	text-align: right;
}

.archives-table {
	padding: 16px 0;
}


@media (min-width: 1024px) {

	.archives-content {
		margin-left: 252px;
		padding-top: 0;
		padding-bottom: 0;
	}

	.archives-header {
		padding-top: 8px;
		padding-bottom: 8px;
		justify-content: space-between;
		margin-left: 0;
	}

	.archives-header h3 {
		font-size: 130px;
		line-height: 110px;
		order: 2;
		margin-left: 0;
	}

	.archives-header img {
		order: 1;
		width: 56px;
		height: 56px;
	}



	.archives-body-content {
		border-top: 2px solid black;
		margin-left: 0;
	}

	.archives-group:not(:last-child) {
		border-bottom: 2px solid black;
	}

	.archives-years {
		padding: 0 0;
	}

	.archives-table {
		padding: 8px 0;
	}

	.archives-row {
		flex-direction: row;
		margin-bottom: 0;
	}

	.archives-cell {
		padding: 0 8px;
	}

	section.agenda .archives .archives-years {
		margin-left: 262px;
		padding: 16px 0;
	}

	.archives-year {
		font-size: 130px;
		line-height: 110px;
	}
}





/* Single
----------------------------------- */
.single-project {
	overflow: hidden;
}

.single-project-content {
	position: relative;
	margin-left: 40px;
	padding-left: 4px;
	border-left: 2px solid #000000;
	margin-right: 7px;
	padding-bottom: 1px;
}

.single-project h2 {
	position: relative;
	padding-top: 16px;
	text-align: right;
	font-size: 45px;
	line-height: 43px;
	text-align: right;
	letter-spacing: -0.02em;
}

.single-project-slideshow-container {
	position: relative;
	margin-right: 8px;
	margin-top: 30px;
	margin-left: -41px;
}

.single-project .slideshow {
	position: relative;
	width: 100%;
	/* max-width: 900px; */
	padding-bottom: 66.6666%;
	height: 0;
	/* padding-bottom: calc((2/3)*100% - (2/3)*8px); */

	/* margin-left: -95px; */

}

@media (min-width: 1024px) {
	.single-project-slideshow-container {
		margin-left: 0;
	}
}

@media (min-width: 1196px) {
	.single-project .slideshow {
		height: 600px;
		padding-bottom: 0;
	}
}

.single-project .text {
	position: relative;
	padding-top: 10px;
	margin-right: 16px;
	margin-left: 0;
	font-size: 20px;
	line-height: 23px;
	letter-spacing: -0.02em;
}

.text a,
.details a {
	/* text-decoration: underline; */
	/* background-color: black; */
	color: #868686;
	;
}

.text a:hover,
.details a:hover {
	/* opacity: 0.5; */
	/* background-color: #868686;
  color: white; */
}

.text a span,
.details a span {
	display: inline-block;
	transform: perspective(1px) translateZ(0);
	transition-duration: 0.3s;
	transition-property: transform;
	transform-origin: 0 100%;
}

.text a:hover span,
.details a:hover span {
	transform: skew(10deg);
}



.text.black a {
	/* background-color: white;
  color: black; */
	color: white;

	/* display: inline-block;
  transform: perspective(1px) translateZ(0);
  transition-duration: 0.3s;
  transition-property: transform;
  transform-origin: 0 100%; */
}

.text.black a:hover {
	/* background-color: transparent;
  color: white; */
	/* transform: skew(10deg); */
}


/* .details a {
  text-decoration: underline;

}
.details a:hover {
  opacity: 0.5;
} */

.single-project .details {
	position: relative;
	margin-right: 16px;
	margin-left: 0;
	/* font-size: 20px;
  line-height: 25px; */
	font-size: 15px;
	line-height: 18px;
	letter-spacing: -0.02em;
}

.single-project table td strong {
	text-decoration: underline;
}

.single-project h3 {
	position: relative;
	padding-top: 6px;
	margin-right: 16px;
	font-size: 20px;
	line-height: 23px;
	letter-spacing: -0.02em;
	text-decoration: underline;
}

.single-project .performance {
	margin-right: 16px;
	padding-bottom: 30px;
}

.single-project .performance ul li {
	padding-top: 20px;
	font-size: 20px;
	line-height: 23px;
	letter-spacing: -0.02em;
}

.single-project .description {
	margin-top: 10px;
	margin-bottom: 10px;
	font-size: 20px;
	line-height: 23px;
}

@media (min-width: 1024px) {
	.single-project-content {
		margin-left: 250px;
		padding-left: 12px;
		margin-right: 7px;
	}

	.single-project h2 {
		font-size: 130px;
		line-height: 110px;
	}

	.single-project h3 {
		font-size: 40px;
		line-height: 40px;
	}

	.single-project .text {
		/* padding-top: 20px; */
		font-size: 25px;
		line-height: 25px;
	}

	.single-project .performance ul li {
		font-size: 40px;
		line-height: 40px;
	}

	.single-project .performance ul li a span {
		display: inline-block;
		transform: perspective(1px) translateZ(0);
		transition-duration: 0.3s;
		transition-property: transform;
		transform-origin: 0 100%;
	}

	.single-project .performance ul li a:hover span {
		transform: skew(10deg);
	}

	.single-project table {
		border-collapse: collapse;
		border-spacing: 0;
		table-layout: fixed;
		width: calc(100% + 32px) !important;
		height: auto !important;
		margin: 0 -16px;
	}

	.single-project table tbody,
	.single-project table tr,
	.single-project table td {
		width: auto !important;
		height: auto !important;
	}

	.single-project table td {
		padding: 0 16px;
		text-align: left;
	}

	.single-project .description {
		margin-top: 10px;
		margin-bottom: 10px;
		font-size: 25px;
		line-height: 25px;
	}
}




/* Project slideshow
----------------------------------- */
.slideshow .library {
	display: none;
}

.slideshow .slide {
	position: absolute;
	width: 100%;
	height: 100%;
}

.slideshow .slide {
	position: absolute;
	width: 100%;
	height: 100%;
}

.slideshow .slide .slide-image {
	position: relative;
	/* width: 900px; */
	height: 100%;

	width: 100%;
	max-width: 900px;
}

.slideshow .slide .slide-caption {
	position: absolute;
	width: 0;
	height: 0;

	right: 5px;
	bottom: 0;
	transform: rotate(-90deg);
	transform-origin: top left;


	font-size: 10px;
	line-height: 25px;
}

.slideshow .slide .slide-caption-content {
	height: 20px;
	white-space: nowrap;
}


/* Project navigation
----------------------------------- */
.project-navigation {
	font-size: 130px;
	line-height: 110px;
	padding: 30px 0 60px;
	margin: 0 16px;
}

.project-navigation ul {
	display: flex;
	justify-content: space-between;
}


/* Project video
----------------------------------- */
.videos-container {
	position: relative;
	overflow: hidden;
	margin-left: -41px;
	margin-bottom: 10px;
}

.videos {}

.videos .video {
	box-sizing: border-box;
}

@media (min-width: 1024px) {
	.videos-container {
		margin-left: 0;
	}

	.videos {
		display: flex;
		margin: 0 -10px;
	}

	.videos .video {
		padding: 0 10px;
		width: 33.333%;
	}
}

/* Page
----------------------------------- */
.page {}

.subpage {
	/* scroll-snap-align: start; */
}

body.scroll-up .subpage {
	/* scroll-snap-align: end; */
}

.subpage-nav {
	font-size: 45px;
	line-height: 43px;
}

.subpage-nav a:first-child,
.subpage-nav a:hover {
	text-decoration: underline;
}

.subpage-nav a:not(:last-child):after {
	content: ",";
}

.page-content {
	margin-left: 40px;
	padding-left: 4px;
	padding-top: 16px;
	border-left: 2px solid black;
	position: relative;
	display: flex;
	flex-direction: column;
}

.single-project-content .border,
.page-content .border {
	position: absolute;
	border-left: 2px solid black;
	height: 100%;
	top: 0;
	left: -2px;
	z-index: 2;
}

.page-dancers-container .page-content {
	border-left-color: white;
	padding-top: 6px;
}

.page h2,
.page h3 {
	position: relative;
	padding-top: 0;
	font-size: 45px;
	line-height: 43px;
	letter-spacing: -0.02em;
	margin-bottom: 0.5em;
}

.text h4 {
	font-size: 20px;
	line-height: 23px;
	margin-bottom: 1em;
}

.page .text {
	position: relative;
	margin-right: 7px;
	font-size: 20px;
	line-height: 23px;
	letter-spacing: -0.02em;
}


@media (min-width: 1024px) {
	.page .text {
		margin-right: 16px;
		font-size: 30px;
		line-height: 35px;
	}

	.page-content {
		margin-left: 250px;
		padding-left: 12px;
	}

	.subpage-nav {
		font-size: 130px;
		line-height: 130px;
		text-align: right;
	}

	.text h4 {
		font-size: 40px;
		line-height: 40px;
	}

	.page h2,
	.page h3 {
		font-size: 130px;
		line-height: 110px;
	}

	.page h3 {
		text-align: right;
	}

}





/* Page Gallery
----------------------------------- */
.page-gallery {
	display: flex;
	flex-direction: column;
	margin-left: -41px;
	margin-right: 0;
	padding-bottom: 0;
	margin-bottom: -6px;
	height: 133.3333vw;

}

.page-gallery .image {
	flex-grow: 1;
	margin: 0 0 16px 0;
	display: flex;
	position: relative;
	/* background-image */
}

.page-gallery .image div {
	height: auto !important;
}

@media (min-width: 1024px) {
	.page-gallery {
		flex-direction: row;
		margin-left: -222px;
		margin-right: 20px;
		height: 30vw;
		margin-bottom: 10px;
	}

	.page-gallery .image {
		margin: 0 40px;
	}
}


/* Dancers
----------------------------------- */
.page-dancers-container {
	background-color: black;
	color: white;
}

.page-dancers-container a {
	color: white;
}

.dancers {
	font-size: 15px;
	line-height: 18px;
}

.dancers .dancer {
	padding-bottom: 1em;
}

.dancers .dancer-image {
	width: 100px;
	height: 125px;
	flex-shrink: 0;
	position: relative;
	/* background-image */
}

.dancers .dancer-text {
	margin-top: 8px;
}

.dancers h4 {
	font-size: inherit;
	line-height: inherit;
	margin-bottom: 0;
	text-decoration: underline;
}

.dancers p {
	margin-top: 0;
}

.footer-columns {
	display: flex;
}

@media (min-width: 1024px) {
	.dancers {
		font-size: 20px;
		line-height: 25px;
	}

	.dancers .dancer {
		display: flex;
	}

	.dancers .dancer-text {
		margin-top: -6px;
		margin-left: 11px;
	}

	.dancers .dancer-image {
		width: 200px;
		height: 250px;
	}
}


/* Footer
----------------------------------- */
.language-footer {
	display: none;
}

@media (min-width: 1024px) {
	.language-footer {
		position: fixed;
		bottom: 5px;
		left: 0;
		z-index: 3;
		color: white;
		padding: 0 5px;
		text-transform: capitalize;
		display: block;
	}

	.language-footer .language-switch {
		font-size: 40px;
		line-height: 38px;
	}

	/* .language-footer .language-switch span:not(:last-child)::after {
    content: " / ";
  } */
	.language-footer .language-switch a {
		color: white;
	}

	body.single .language-footer .language-switch,
	body.page .language-footer .language-switch,
	body.single .language-footer .language-switch a,
	body.page .language-footer .language-switch a {
		color: white;
	}

	.language-footer .language-switch.mode-over,
	.language-footer .language-switch.mode-over a {
		color: black;
	}

	body.single .language-footer .language-switch.mode-over,
	body.page .language-footer .language-switch.mode-over,
	body.single .language-footer .language-switch.mode-over a,
	body.page .language-footer .language-switch.mode-over a {
		color: #868686;
	}

	body.single .language-footer .language-switch a:hover,
	body.single .language-footer .language-switch a.active,
	body.page .language-footer .language-switch a:hover,
	body.page .language-footer .language-switch a.active {
		color: #FFF500;
	}

	body.single .language-footer .language-switch.mode-over a:hover,
	body.single .language-footer .language-switch.mode-over a.active,
	body.page .language-footer .language-switch.mode-over a:hover,
	body.page .language-footer .language-switch.mode-over a.active {
		color: black;
	}

	.language-footer .language-switch a.active,
	.language-footer .language-switch a:hover {
		color: #FFF500;
	}

	.language-footer .language-switch.mode-over,
	.language-footer .language-switch.mode-over a {
		color: black;
	}

	.language-footer .language-switch.mode-over a.active,
	.language-footer .language-switch.mode-over a:hover {
		color: #FFF500;
	}
}

/* Footer
----------------------------------- */
footer {
	font-size: 20px;
	line-height: 18px;
	border-top: 2px solid white;

	background-color: black;
	color: white;

	position: relative;
	z-index: 4;

	/* scroll-snap-align: start; */
}

body.single footer {
	border-top: none;
}

footer a {
	color: white;
}

.footer-content {
	padding: 11px 0 16px 0;
	margin: 0 7px 0 5px;
}

.footer-columns {
	display: flex;
	flex-direction: column;
}

.footer-columns.row-1 {
	margin-bottom: 100px;
}

.footer-columns .footer-column:last-child {
	/* display: flex;
  justify-content: space-between; */
}

.footer-nav {
	display: flex;
	justify-content: space-between;
}

.footer-nav .footer-menu,
.footer-nav .footer-language {
	/* padding: 0 10px; */
	box-sizing: border-box;
	width: 50%;


	font-size: 15px;
	line-height: 18px;
}

.footer-nav .footer-menu {
	width: 60%;
	padding-right: 10px;
}

.footer-nav .footer-language {
	width: 40%;
	text-align: right;
	text-transform: uppercase;
	padding-left: 10px;
}

footer p {
	margin-top: 0;
}

.newsletter-form form {
	display: flex;
	flex-direction: column;
	margin-bottom: 1em;
}

.newsletter-form input {
	/* font-size: 40px;
  line-height: 45px; */
	font-size: 20px;
	line-height: 23px;
	border: none;
	border-bottom: 2px solid white;
	background-color: transparent;
	color: white;
	align-self: stretch;
	width: auto;
	border-radius: 0;
	padding: 0;
	box-sizing: border-box;
	width: 216px;
}



.newsletter-form input::placeholder {
	color: white;
}

.newsletter-form .button {
	font-size: 40px;
	line-height: 45px;
	border: 2px solid white;
	padding: 0 16px;
	margin: 16px 0;
	cursor: pointer;
	align-self: flex-start;

	transform: perspective(1px) translateZ(0);
	transition-duration: 0.3s;
	transition-property: transform;
	transform-origin: 0 100%;

	box-sizing: border-box;
	width: 216px;
	text-align: center;
}

.newsletter-form .button:hover {
	transform: skew(10deg);
}

.footer-columns.row-2 {
	flex-wrap: wrap;
	overflow: hidden;
}

.sponsors {
	display: flex;
	align-items: flex-end;
	flex-wrap: wrap;
	margin: -16px -16px 0;
}

.sponsors img {
	/* width: 100%; */
	height: auto;
	margin: 16px 16px 0;
}

.footer-columns .address {
	font-size: 11px;
	line-height: 13px;
	padding-right: 20px;
}

.sponsors .address:not(:last-child) {}

.sponsors .address:first-child {
	/* flex-basis: 220px; */

}

.sponsors .address:nth-child(2) {
	/* flex-basis: 400px; */

	max-width: 330px;
}

.social {
	display: flex;
	align-items: flex-end;
	margin: 0 -16px;
}

.menu .social {
	justify-content: flex-start;
	margin-left: -15px;
}

.social li {
	margin: 16px 16px 0;
}

.social li.facebook {
	padding: 0 9px;
}

.social li img {
	height: 40px;
	width: auto;
	display: block;
}

@media (max-width: 1023px) {
	.footer-columns.row-2 .footer-column {
		margin-top: 16px;
	}

}

@media (min-width: 1024px) {
	.footer-content {
		margin: 0 16px 0 5px;
	}

	.newsletter-form form {
		flex-direction: row;
	}

	.newsletter-form input {
		font-size: 40px;
		line-height: 45px;
		align-self: stretch;
		width: auto;
	}

	.footer-columns {
		flex-direction: row;
	}

	.footer-columns.row-1 {
		justify-content: space-between;
	}

	.footer-columns.row-2 .footer-column:last-child {
		flex-grow: 1;
	}

	.footer-columns.row-2 {
		align-items: flex-end;
	}

	.newsletter-form .button {
		margin: 0 16px;
		align-self: stretch;
	}

	.social {
		justify-content: flex-end;
	}

	/* .footer-nav .footer-menu {
    padding-left: 0;
  }
  .footer-nav .footer-language {
    padding-right: 0;
  } */
}

/* ----------------------------- */
