/*
/* MATHEMATICFILM.COM CSS styles
/* 2021
/*
/* need to clean unused stuff in basic/icons/links/buttons


/* Variables */

:root {
	--light-grey: #bbb;
	--dark-grey: rgba(64, 64, 64, 0.5);
	--margin: 3rem;
	--top-margin: 5rem;
	--gap: 1rem;
	--featured-ratio: 2.35; /* 21/9 */

	font-size: 16px;
}

@media screen and (max-width: 1024px) {
	:root {
		--margin: 2rem;
		--featured-ratio: 1.78; /* 16/9 */
	}
}

@media screen and (max-width: 576px) {
	:root {
		--margin: 0.5rem;
		--gap: 0.5rem;
	}
}




/*****************/
/* GENERAL STUFF */
/*****************/

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;
	font-size:1rem;
	font:inherit;
	vertical-align:baseline;
	scroll-behavior: smooth;

	transition-duration: 0.5s;
}

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

p {
	margin-bottom: 1em;
}

strong {
	font-weight: bold;
}

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;
}

.fs {
	width:100%;
	height:100vh;
}

.upper {
	text-transform:uppercase;
}

html {
	/*font-size:62.5%;*/
}

body {
	font-family: "avalon-web",Helvetica,Arial;
	/*line-height: 20px;*/
	background-color: black;
	background-image: url('../img/background.jpg');
	background-position: bottom;
	background-repeat: no-repeat;
	background-size: contain;

	color: var(--light-grey);
	letter-spacing: 0.02em;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;

	overflow-y: scroll;
	overflow-x: hidden;
}

main {
	width: 100vw;
}

main section {
	margin-left: var(--margin);
	margin-right: var(--margin);
}

footer {
	padding-left: var(--margin);
	padding-right: var(--margin);
}

strong {
	font-weight:bold;
}

::-moz-selection {
	background:#AAA;
}

::selection {
	background:#AAA;
}

::-moz-selection {
	background:#AAA;
}
/*
div,label,ul {
	transition-duration: 0.5s;
}
*/




/*********/
/* FONTS */
/*********/

@font-face {
	font-family:'avalon-web';
	src:url("../fonts/Avalon-ExtraLight-webfont.woff2") format("woff2"),url("../fonts/Avalon-ExtraLight-webfont.woff") format("woff");
	font-weight:200;
	font-style:normal
}

@font-face {
	font-family:'avalon-web';
	src:url("../fonts/Avalon-Book-webfont.woff2") format("woff2"),url("../fonts/Avalon-Book-webfont.woff") format("woff");
	font-weight:normal;
	font-style:normal
}

@font-face {
	font-family:'avalon-web';
	src:url("../fonts/Avalon-Medium-webfont.woff2") format("woff2"),url("../fonts/Avalon-Medium-webfont.woff") format("woff");
	font-weight:normal;
	font-style:normal
}

@font-face {
	font-family:'avalon-web';
	src:url("../fonts/Avalon-Bold-webfont.woff2") format("woff2"),url("../fonts/Avalon-Bold-webfont.woff") format("woff");
	font-weight:bold;
	font-style:normal
}




/************/
/* HEADINGS */
/************/

h1,.h1,h2,.h2,h3,.h3,h4,.h4,h5,.h5 {
	font-weight: bold;
	text-rendering:optimizelegibility;
	letter-spacing: -0.03em;
	color: white;
}

h1 {
	font-size: 4em;
	line-height: 80%;
	margin: 0 0 var(--gap) -0.05em;
}

h2 {
	font-size:3em;
	line-height:90%;
}

h3 {
	font-size:2em;
	line-height:100%;
}

h4 {
	font-size:1.5em;
	line-height:100%;
}

@media screen and (max-width: 1024px) {
	h1 {
		font-size:3em;
	}
	h2 {
		font-size:2em;
	}
	h3 {
		font-size:1.5em;
	}
	h4 {
		font-size:1.3em;
	}
}


@media screen and (max-width: 576px) {
	h1 {
		font-size:2em;
	}
	h2 {
		font-size:1.5em;
	}
	h3 {
		font-size:1.2em;
	}
	h4 {
		font-size:1.2em;
	}
}

.small {
	font-size: 85%;
}



/***********/
/* BUTTONS */
/***********/

.button {
	color: white;
	background-color: black;
	text-transform: uppercase;
	font-size: 120%;
	border: thin solid white;
	padding: 0.2em 0.5em 0.2em 0.5em;
	display: inline-block;
	width: fit-content;

	cursor: pointer;

	transition: 0.3s;
}

.button:hover {
	color: black;
	background-color: white;

	transition: 0.3s;
}

.close-button-toggle {
	cursor: pointer;
	display: inline-block;
	float: right;
	/*padding: 2em;*/
	position: relative;
	user-select: none;

	opacity: 0.5;
	transition: 0.5s;
}

.close-button-toggle:hover,
.close-button-toggle:active {
	opacity: 1;
	transition: 0.5s;
}

.close-button-icon {
	display: block;
	height: 2em;
	position: relative;
	width: 2em;

	background: transparent;
	opacity: 1;
}

.close-button-icon:before,
.close-button-icon:after {
	content: '';
	display: block;
	height: 7.5%;
	position: absolute;
	width: 100%;

	background: white;

	top: 1em;
}

.close-button-icon:before {
	/*top: 0.4em;*/
	transform: rotate(-45deg);
}

.close-button-icon:after {
	/*top: -0.4em;*/
	transform: rotate(45deg);
}




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

a,a:visited {
	color:#fff;
	text-decoration:none;
	transition:color 0.5s cubic-bezier(0.26, 1.04, 0.54, 1);
	-webkit-tap-highlight-color:transparent
}

a:hover,a:visited:hover {
	transition:color 0s
}

a:focus,a:visited:focus {
	outline:none
}

a:active,a:visited:active {
	color:#fff
}

.link {
	text-decoration:underline;

	transition: 0.5s;
}

.link:hover {
	color: white;
	background: black;
}



/****************/
/* INPUT FIELDS */
/****************/

input[type="text"],input[type="password"],input[type="datetime"],input[type="datetime-local"],input[type="date"],input[type="month"],input[type="time"],input[type="week"],input[type="number"],input[type="email"],input[type="url"],input[type="search"],input[type="tel"],input[type="color"],select,textarea {
	display:block;
	height:35px;
	color:#fff;
	font-weight:bold;
	border:none;
	position:relative;
	transition:color, background 0.2s ease-out;
	background:transparent;
	font-family:"avalon-web",Helvetica,Arial;
	font-size:1.3rem;
	letter-spacing:0.05em;
	-webkit-tap-highlight-color:transparent
}

input[type="submit"] {
	cursor:pointer;
	border:none;
	outline:none;
	font-size:0;
	font-family:"avalon-web",Helvetica,Arial;
	background:url(../img/arrow.svg) center center no-repeat;
	position:relative;
	position:absolute
}




/*****************/
/* HEADER / MENU */
/*****************/
/* this part is designed mobile first with the hamburger menu */

header {
	position: fixed;
	top: 0;
	left: var(--margin);
	width: calc(100vw - var(--margin)*2);
	height: var(--top-margin);

	z-index: 100;
}

header::before {
	content: '';
	position: absolute;
	top: 0;
	left: calc(var(--margin)*-1);
	width: 100vw;
	height: 100%;
	z-index: 99;

	background: linear-gradient(0deg, rgba(0,0,0,0) 1%, rgba(0,0,0,0.66) 100%);
}

#header-mtc-logo {
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
	background: url('../svg/mtcfilm-logo-white.svg') content-box no-repeat center;
	width: 10em;
	height: 2.5em;

	z-index: 300;
}

#header-mtc-logo span {
	display: none;
}

#header-menu {
	position: absolute;
	right: 0;
	top: 0;
	width: 70%;
	height: 100%;

	list-style: none;
	text-align: right;
}


/* menu list */
.header-menu-list {
	position: absolute;
	top: 0;
	right: calc(-100vw - var(--margin));
	width: calc(100vw - var(--margin)*2);
	padding: var(--top-margin) var(--margin) 1rem var(--margin);

	background-color: rgba(0,0,0,0.75);

	transition: 0.5s;
}
/*
@media screen and (min-width: 576px) {
	.header-menu-list {
		right: calc(-50vw - var(--margin));
		width: calc(50vw - var(--margin)*3);
		padding: var(--top-margin) var(--margin) 1rem var(--margin);
	}
}*/

#header-menu li {
	font-size: 1.5rem;
	line-height: 2rem;
	text-shadow: 1px 1px 0 black;
}

#header-menu li a {
	color: var(--light-grey);
	transition: 0.5s;
}

#header-menu li a:hover,
#header-menu li a:active {
	color: white;
}

.active {
	color: white;
}


/* menu toggle/icon */
.header-menu-toggle {
	cursor: pointer;
	display: block;
	height: 1.2em;
	top: 50%;
	transform: translateY(-50%);
	right: var(--margin);
	position: absolute;
	user-select: none;

	opacity: 0.5;

	z-index: 200;
}

.header-menu-toggle:hover {
	opacity: 1;
}

.header-menu-icon {
	display: block;
	height: 0.15em;
	position: relative;
	/*transition: background .2s ease-out;*/
	width: 1.2em;
	top: 50%;

	background: white;
	opacity: 1;
}
  
.header-menu-icon:before,
.header-menu-icon:after {
	content: '';
	display: block;
	height: 100%;
	position: absolute;
	transition: all .2s ease-out;
	width: 100%;

	background: white;
}

.header-menu-icon:before {
	top: 0.4em;
}

.header-menu-icon:after {
	top: -0.4em;
}


/* menu btn */
.header-menu-checkbox {
	display: none;
}

.header-menu-checkbox:checked ~ .header-menu-list {
	right: calc(var(--margin)*-1);
}

.header-menu-checkbox:checked ~ .header-menu-toggle .header-menu-icon {
	background: transparent;
}

.header-menu-checkbox:checked ~ .header-menu-toggle .header-menu-icon:before {
	transform: rotate(-45deg);
}

.header-menu-checkbox:checked ~ .header-menu-toggle .header-menu-icon:after {
	transform: rotate(45deg);
}

.header-menu-checkbox:checked ~ .header-menu-toggle:not(.steps) .header-menu-icon:before,
.header-menu-checkbox:checked ~ .header-menu-toggle:not(.steps) .header-menu-icon:after {
	top: 0;
}


@media screen and (min-width: 576px) {
	#header-mtc-logo {
		width: 12em;
		height: 3em;
	}

	.header-menu-toggle {
		right: 0;
	}
/*
	.header-menu-checkbox:checked ~ .header-menu-list {
		right: 0;
	}*/
}


/*
@media screen and (min-width: 576px) {
	#header {
		right: 0;
	}

	#header-menu {
		float: right;
		top: 50%;
		transform: translateY(-50%);
		max-width: 70%;
	}

	.header-menu-list {
		clear: none;
		max-height: none;
	}

	.header-menu-toggle {
		display: none;
	}

	#header-menu li {
		display: inline-block;
		margin-right: 0;
		margin-bottom: 0;
		font-size: 1em;
	}

	#header-menu li:not(:last-child):after {
		content: "";
		display: inline-block;
		vertical-align: middle;
		background: gray;
		width: 1px;
		height: 1.2em;
		transform: rotate(45deg) translateY(-0.1em);
		margin: 0 1.2em;
		position: relative;
		box-shadow: 1px 1px 0 black;
	}
}

@media screen and (min-width: 1024px) {
	#header {
		right: 0;
	}

	#header-menu li {
		font-size: 1.2em;
	}
}*/




/************/
/* HOMEPAGE */
/************/
main {
	margin-top: var(--top-margin);
}

section {
	position: relative;
	clear: both;
	padding-top: 5em;
}

/*******************/
/* HOME - FEATURED */
/*******************/
/* we need to stick to 2.35 ratio (=21/9) in video source (film ratio) */
/* so crop the video player if possible */
/* and try to get to a 4:3 ratio when vertical (phone) WITHIN the 21:9 of the source */
/* ratio is defined by size of section */
/* video must stick to 21/9 */
/* container is used to crop that and stay full coverage */
#featured {
	padding-top: 0;
	width: 100vw;
	height: calc(100vw * (1 / var(--featured-ratio)));
	margin: 0;

	background: gray;

	overflow: hidden;
}

#featured-video-container {
	width: 100%;
	height: 100%;
	object-fit: cover;

	background: green;
}

#featured-video-player {
	position: absolute;
	width:100vw;
	height:0;
	max-width: none;
	left:0;
	top: -6.85vw;
}

#fvp-controls {
	position: absolute;
	width: calc(100% - var(--margin) * 2);
	height: 100%;

	margin-left: var(--margin);
	padding-top: 1em;

	text-align: right;

	z-index: 80;

	opacity: 0;
}

#fvp-controls:hover, #fvp-controls:active {
	opacity: 1;
}

.fvp-controls-button {
	display: inline-block;

	font-family: VideoJS;
	font-weight: normal;
	font-style: normal;
	text-align: center;
	font-size: 2em;
	color: white;
	text-shadow: 1px 1px 0 black;

	cursor: pointer;
}

.fvp-controls-button:hover {
	opacity: 1;
}

.fvp-controls-button::before {
}

.fvp-controls-playing::before {
	content: "\f103";
}
.fvp-controls-paused::before {
	content: "\f101";
}

.fvp-controls-muted::before {
	content: "\f107";
}
.fvp-controls-unmuted::before {
	content: "\f104";
}

.fvp-controls-fullscreen::before {
	content: "\f108";
}

#scroll-down {
	position: absolute;

	left: 0;
	right: 0;
	margin-left: 0;
	margin-right: 0;

	bottom: 0;

	z-index: 90;
}

#scroll-down span {
	position: absolute;

	left: 0;
	right: 0;
	margin-left: auto;
	margin-right: auto;

	bottom: 0.5em;

	width: 15%;

	border: thin solid var(--light-grey);
	padding: 0.2em 0.5em 0.2em 0.5em;

	color:white;
	text-shadow: 1px 1px 0 black;
	text-align: center;

	cursor: pointer;

	opacity: 0.33;
}

#scroll-down span:hover {
	opacity: 1;
}

@media screen and (max-width: 1024px) {
	#featured-video-player {
		width:133vw;
		height:calc(133vw * 9/16);
		left:-15vw;
		top:-9.25vw;
	}

	#scroll-down span {
		font-size: 0.8em;
		width: 30%;
	}	
}
/*
@media screen and (max-width: 576px) {
	#featured-video-player {
		width:150vw;
		height:calc(150vw * 9/16);
		left:-20vw;
		top:-15vw;
	}
}*/



/****************/
/* HOME - FILMS */
/****************/
#films-list {
	display: flex;
	flex-wrap: wrap;
	gap: var(--gap);
	width: 100%;
}

#films-list li {
	display: inline;
}

.home-film {
	position: relative;
	width: calc((100% - var(--gap)*5)/6);

	filter: contrast(0) brightness(20%);
	/*
	opacity: 0;
	visibility: hidden;
	transition-duration: 0.5s;*/
}

.home-film.shown {
	/*display: inline;*/
	filter: unset;
}

.home-film.placeholder {
	background: #222;
	opacity: 1;
	visibility: visible;
}

@media screen and (max-width: 1024px) {
	.home-film {
		width: calc((100% - var(--gap)*3)/4);
	}
}

@media screen and (max-width: 576px) {
	.home-film {
		width: calc((100% - var(--gap))/2);
	}

	#films-list {
		padding-top: 0.5em;
	}
}

/* nécessaire pour définir le ratio des affiches */
.home-film .home-film-dummy {
	margin-top: 0;
}

.home-film.shown .home-film-dummy {
	margin-top: 135.48%; /* ratio affiches allociné */
}

#films-list li:before {
	content: "";
	float: left;
	padding-bottom: 135.48%; /* ratio affiches allociné */
}

.home-film-coming-soon {
	position: absolute;
	width: 100%;
	bottom: 0;
	padding: 0.1em 0 0.1em 0;
	color: black;
	background: white;

	font-weight: normal;
	font-size: 1.75vw;
	letter-spacing: -0.05em;
	line-height: 2.5vw;
	text-align: center;
}

.home-film-poster {
	position: absolute;
    /*top: 0;
	bottom: 0;
	left: 0;
	right: 0;*/
	width: 100%;
	height: 100%;

	background: var(--dark-grey);
}

.home-film-poster img {
	width: 100%;
	height: 100%;
	object-fit: cover; /* grâce au ratio du container, le visuel sera plein pot même si son ratio est différent */
}

.home-film-overlay {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;

	padding: 5%;

	color: white;
	/*background-color: rgba(64, 64, 64, 0.5);*/
	font-size: 3em;
	font-size: 3vw; /* scales the text relative to screen size */
	font-weight: bold;
	letter-spacing: -0.05em;
	line-height: 2.5vw;
	text-align: center;
	overflow-wrap: anywhere;
	/*word-break: break-all;*/
	
	/*transition-duration: 0.5s;*/

	display: flex;
	justify-content: center; /* align horizontal */
	align-items: center; /* align vertical */
	flex-direction: column;
	flex-wrap: wrap;
}

.home-film-overlay.released, .home-film-overlay.coming-soon {
	color: black;
	opacity: 0;
	background-color: white;
}

.home-film-status {
	margin-top: 1em;
	font-weight: normal;
	font-size: 2vw;
}

.home-film-title {
	hyphens: auto;
	text-transform: capitalize;
}

@media screen and (max-width: 1024px) {
	.home-film-title {
		font-size: 5vw;
		line-height: 4.5vw;
	}

	.home-film-coming-soon, .home-film-status {
		font-size: 2.75vw;
		line-height: 3vw;
	}
}

@media screen and (max-width: 576px) {
	.home-film-title {
		font-size: 8vw;
		line-height: 7vw;
	}

	.home-film-coming-soon, .home-film-status {
		font-size: 4vw;
		line-height: 4.5vw;
	}
}

.home-film-overlay.released:hover {
	opacity: 0.9;
}

.home-film-overlay.coming-soon:hover {
	color: black;
	opacity: 0.9;
	background-color: white;
}



/*******************/
/* HOME - SERVICES */
/*******************/
#services-list {
	display: flex;
	flex-wrap: wrap;
	gap: var(--gap);
	width: 100%;
}

.home-service {
	/*position: relative;*/
	display: inline;
	width: calc((100% - var(--gap)*2)/3);
}

.home-service a:hover {
	cursor: pointer;
}

.home-service-poster {
	position: relative;
    width: 100%;
	aspect-ratio: 2.35;
	overflow: hidden;
}

.home-service-poster img, .home-service-poster video {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	object-fit: cover; /* grâce au ratio du container, le visuel sera plein pot même si son ratio est différent */
	opacity: 0;
}

.home-service img:first-child {
	opacity: 1;
}

.home-service a:hover img:first-child {
	opacity: 0;
}

.home-service a:hover img:last-child, .home-service a:hover video {
	opacity: 1;
}

.home-service-desc {
	padding: calc(var(--gap)/3) 0 calc(var(--gap)/3) 0;
}

.home-service-text {
	color: var(--light-grey);
}

.home-service a:hover .home-service-desc {
	filter: invert();
	background-color: black;
	padding: calc(var(--gap)/3);
}

.home-service-title {
	color: white;
	
	font-size: 1.5rem;
	font-weight: bold;
}

@media screen and (max-width: 1024px) {
	#services-list li {
		width: calc((100% - var(--gap))/2);
	}
}

@media screen and (max-width: 576px) {
	#services-list li {
		width: 100%;
	}
}



/****************/
/* HOME - REELS */
/****************/
#reels-list {
	display: flex;
	flex-wrap: wrap;
	gap: var(--gap);
	width: 100%;
}

#reels-list li {
	display: inline;
}

.home-reel {
	position: relative;
	width: calc((100% - var(--gap)*2)/3);

	opacity: 0;
	visibility: hidden;
	transition-duration: 0.5s;
}

@media screen and (max-width: 1024px) {
	.home-reel {
		width: calc((100% - var(--gap))/2);
	}
}

@media screen and (max-width: 576px) {
	.home-reel {
		width: 100%;
	}

	#reels-list {
		padding-top: 0.5em;
	}
}

.home-reel .home-reel-dummy {
	margin-top: 0;
}

.home-reel.shown .home-reel-dummy {
	margin-top: 56.25%; /* ratio affiches */
}

.home-reel-cover {
	position: absolute;
    top: 0;
	bottom: 0;
	left: 0;
	right: 0;
}

.home-reel-cover img {
	width: 100%;
	height: 100%;
	object-fit: cover; /* grâce au ratio du container, le visuel sera plein pot même si son ratio est différent */
}

.home-reel-cover video {
	display:none;
}

.home-reel-title {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;

	background-color: white;
	padding: 2%;

	color: black;
	font-size: 3vw; /* scales the text relative to screen size */
	font-weight: bold;
	letter-spacing: -0.05em;
	line-height: 85%;
	text-align: center;
	overflow-wrap: break-word;

	opacity: 0;
	/*transition-duration: 0.5s;*/

	display: flex;
	flex-direction: column;
	justify-content: center; /* align horizontal */
	align-items: center; /* align vertical */
}

.home-reel:hover .home-reel-title {
	opacity: 0.9;
}

.home-reel-brand {
	font-weight: 200;
}
/*
.home-reel-brand:after {
	content: "";
	display: inline-block;
	vertical-align: middle;
	background: black;
	width: 0.2vw;
	height: 4vw;
	transform: rotate(45deg) translateY(-0.5vw);
	margin: 0 3vw;
	position: relative;
	opacity: 0.5;
}
*/
@media screen and (max-width: 1024px) {
	.home-reel-title {
		font-size: 4vw;
		background: none;
    	color: white;
    	text-shadow: 1px 1px 2px rgba(0,0,0,0.5);
		opacity: 1;
	}
/*
	.home-reel-brand {
		font-weight: 400;
	}
		*/
	.home-reel-title:hover {
		opacity: 1;
	}
	/*
	.home-reel-brand:after {
		height: 5vw;
	}*/
}

@media screen and (max-width: 576px) {
	.home-reel-title {
		font-size: 8vw;
	}
/*
	.home-reel-brand:after {
		height: 7vw;
		margin: 0 5vw;
	}*/
}




/******************/
/* HOME - CLIENTS */
/******************/

#clients-text {
	float: right;
	width: calc((100% - (var(--gap) * 4)) / 5 * 2 + var(--gap));
}

#clients-text p {
	margin-bottom: 0.5em;
}

#clients ul {
	position: relative;
	width: calc((100% - (var(--gap) * 4)) / 5 * 3 + (var(--gap) * 2));

	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--gap);
}

#clients ul li {
	position: relative;
	width: calc((100% - (var(--gap) * 2)) / 3);

	text-align: center;
}

#clients ul li img {
	width: 66%;
	margin-bottom: calc(var(--margin) * 0.2);
	filter: grayscale(1);
}

@media screen and (max-width: 1024px) {
	#clients-text {
		width: calc((100% - var(--gap)) / 2);
	}

	#clients ul {
		width: calc((100% - var(--gap)) / 2);
	}

	#clients ul li {
		width: calc((100% - var(--gap)) / 2);
	}
	
	#clients ul li img {
		width: 70%;
		margin-bottom: calc(var(--margin) * 0.5);
	}
}

@media screen and (max-width: 576px) {
	#clients-text {
		width: 100%;
	}
	
	#clients ul {
		width: 100%;
	}

	#clients ul li {
		width: calc((100% - var(--gap)) / 2);
	}
	
	#clients ul li img {
		width: 70%;
		margin-bottom: calc(var(--margin) * 3);
	}
}



/*******************/
/* HOME - CONTACTS */
/*******************/

#contacts-list {
	clear: both;
	display: inline-flex;
	flex-wrap: wrap;
	gap: var(--gap);
	width: 100%;
	margin-top: var(--gap);
}

.contact {
	border: solid thin grey;
	padding: 0.5em;
	flex: auto;

	opacity: 0;
	transition: 0.5s;
}

.contact-name {
	padding-left: 0.1em;
	font-size: 1.5em;
	font-weight: bold;
	letter-spacing: -0.05em;
	color: white;
}

.contact-title {
	padding-left: 0.2em;
	padding-bottom: 1em;
}

.contact-imdb, .contact-ves {
	display: inline;
}

.contact-email, .contact-phone {
	word-break: break-word;
	margin-top: 0.5em;
}

.contact a {
	background: rgba(0,0,0,0);
	padding: 0.2em;

	transition: 0.5s;
}

.contact a:hover {
	background: white;
	color: black;
}



/***********************/
/* HOME - SOCIAL LINKS */
/***********************/

#links-list {
	clear: both;
	display: inline-flex;
	flex-wrap: wrap;
	gap: calc(var(--gap)*2);
	width: 100%;
	margin: var(--gap) 0 var(--gap) 0;
}

#links-list li {
	position: relative;
	width: calc((100% - var(--gap)*4)/3);
}

#links-list li div {
	height: 100%;
}

#links-list li>div:first-child {
	float: left;
}

#links-list li img {
	width: 8em;
	padding: 0 var(--gap) var(--gap) 0;
}

#workplace-info {
	width: 66%;
}

@media screen and (max-width: 1024px) {
	#links-list li {
		width: calc((100% - var(--gap)*2)/2);
	}

	#links-list li img {
		padding: 0 calc(var(--gap)*2) calc(var(--gap)*2) 0;
	}

	#workplace-info {
		width: 100%;
	}
}

@media screen and (max-width: 576px) {
	#links-list li {
		width: 100%;
	}
}

/****************/
/* FILM OVERLAY */
/****************/

/* needs to be a class for .shown to work,
because id specificity > class specificity
so .shown can't override id css declarations */
.overlay { 
	position: fixed;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;

	background: rgba(16, 16, 16, 0.9);

	overflow-x: hidden;
	overflow-y: scroll;
	
	z-index: 1000;

	visibility: hidden;
	opacity: 0;
}

.overlay-background {
	position: absolute;
	margin: 0;
	width: 100%;
	height: 100%;
	background: rgba(255, 0, 0, 0);
	transition: 0s;
}

.overlay-content {
	position: absolute;
	width: 75vw;
	margin-left: 12.5vw;

	margin-top: 5em;
	margin-bottom: 5em;
}

.overlay section {
	position: relative;
	padding-top: 0;
	margin-bottom: 1em;
	width: 100%;
}

.overlay video {
	/*width: 100%;*/
	/*height: calc(100% * 9 / 16);*/

	background: black;
}

#film-video-player {
	/*opacity: 0;*/
}

.overlay-info-title {
	font-size: 3em;
	font-weight: bold;
	letter-spacing: -0.05em;
	/*line-height: 72%;*/
	margin-left: -0.05em;
}

#film-info-date,
#film-info-director,
#film-info-production {
	display: inline-block;
	opacity: 0.5;

	visibility: hidden;
	opacity: 0;
}

#film-info-director span:not(:last-child)::after,
#film-info-production span:not(:last-child)::after {
	content: ', ';
}

#film-info-date.shown:after,
#film-info-director.shown:after {
	content: "";
	display: inline-block;
	vertical-align: middle;
	background: rgba(255,255,255,0.6);
	width: 1px;
	height: 1.2em;
	transform: rotate(45deg) translateY(-0.1em);
	margin: 0 1.2em;
	position: relative;
	opacity: 0.5;
}

#film-info-synopsis {
	margin-top: 1em;
	opacity: 0.75;

	visibility: hidden;
	opacity: 0;
}

[id*='block-'] {
	margin-bottom: 1em;
}

.content-text-title {
	font-size: 2em;
	font-weight: bold;
	letter-spacing: -0.05em;
}

.overlay-close-button {
	position: absolute;
	top: -3em;
	right: 1em;
}

@media screen and (max-width: 1024px) {
	.overlay-content {
		width: calc(100vw - 2em);
		margin-left: 1em;
	}

	
}

@media screen and (max-width: 576px) {
	.overlay-content {
		width: calc(100vw - 1em);
		margin-left: 0.5em;
	}

	
}


/**********************/
/* TAX REBATE OVERLAY */
/**********************/


#tax-rebate-overlay h2 {
	margin-top: 0.5em;
}

#tax-rebate-overlay h3 {
	margin-top: 0.5em;
}

#tax-rebate-overlay ul {
	padding-left: 2em;
	list-style: disc;
}

#tax-rebate-overlay li {
	margin-bottom: 0.5em;
}

#tax-rebate-overlay .overlay-content {
	padding-bottom: 100px;
}


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

footer {
	margin-top: 5em;
	background-color: rgba(255,255,255,0.3);
}

#footer-mtc-logo {
	display: block;
	margin-left: 0;
	margin-right: auto;
	padding-top: 1em;
	padding-bottom: 2em;
	/*transform: translateY(-50%);*/
	background: url('../svg/mtcfilm-logo-black.svg') content-box no-repeat center;
	width: 10em;
	height: 2.5em;

	transition: 0.5s;
}

#footer-mtc-logo:hover {
	filter: invert(100%);
}

#footer-mtc-logo span {
	display: none;
}

#footer-partners-logos {
	position: relative;
	width: 85%;
	left: 15%;

	display: flex;
	flex-wrap: wrap;
	justify-content: flex-end;
	align-items: center;
	gap: var(--gap);
}

#footer-partners-logos img {
	margin-left: 3em;
	max-height: 5em;
	
	opacity: 0.5;
}

#footer-partners-logos img:hover {
	opacity: 1;
	filter: invert(100%);
}

#copyright-notice {
	color: white;
	opacity: 0.75;
}

#footer-mtc {
	padding-top: 2em;
	padding-bottom: 1em;
}

#footer-mtc a {
	display: block;
	margin-left: -0.66em;
	margin-right: auto;
	background-image: url('../img/mtc_logo_halftone_alpha.gif');
	background-size: cover;
	width: 8em;
	height: 8em;

	transition: 0.5s;
	opacity: 0.75;
}

#footer-mtc a:hover {
	opacity: 1;
	filter: invert(100%);
}

#footer-mtc a span {
	display: none;
}

@media screen and (max-width: 1024px) {
	#footer-partners-logos img {
		margin-left: 1.5em;
		max-height: 4em;
	}
}

@media screen and (max-width: 576px) {
	#footer-partners-logos img {
		margin-left: 1em;
		max-height: 3.5em;
	}
}



/* needs to be at the end of css to be applied after default values */
.shown {
	visibility: visible !important;
	opacity: 1 !important;
}

.scroll-locked {
	overflow-y: hidden !important;
	padding-right: 12px; /* avoid reflow when switching scrollbar */
}


/****************/
/* VIDEO PLAYER */
/****************/

.vjs-mtc.video-js {
	/*color: #00ff00;*/
}

.vjs-mtc .vjs-big-play-button {
	border: 0;
	border-radius: 0;
	background-color: transparent;
}

.vjs-mtc .vjs-control-bar {
	background-color: transparent;
}