/* VAR */
:root {
  --page-text-color: #000000;
  --page-background-color: #FFFFFF;

  --font-family-base: 'Swis721 BT';
  --font-size-base: 16px;
  --font-weight-base: normal;
  --letter-spacing-base: 3;
  --line-height-base: 1.4;

  --font-family-title: 'Swis721 BT';
  --font-size-title-mini: 40px;
  --font-size-title-maxi: 80px;
  --font-weight-title: bold;
  --line-height-title: .95;

  --layout-margin: 40px;
  --layout-margin-tablet: 40px;
  --layout-margin-mobile: 16px;

  --section-gap-y: 120px;
  --section-gap-y-tablet: 120px;
  --section-gap-y-mobile: 60px;

  --block-gap-y: 48px;
  --block-gap-y-tablet: 48px;
  --block-gap-y-mobile: 32px;
}

/* RESET */
*{margin:0;padding:0;box-sizing:border-box}

/* FLICKITY */
.flickity-enabled{position:relative}.flickity-enabled:focus{outline:0}.flickity-viewport{overflow:hidden;position:relative;height:100%}.flickity-slider{position:absolute;width:100%;height:100%}.flickity-enabled.is-draggable{-webkit-tap-highlight-color:transparent;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.flickity-enabled.is-draggable .flickity-viewport{cursor:move;cursor:-webkit-grab;cursor:grab}.flickity-enabled.is-draggable .flickity-viewport.is-pointer-down{cursor:-webkit-grabbing;cursor:grabbing}.flickity-button{position:absolute;background:hsla(0,0%,100%,.75);border:none;color:#333}.flickity-button:hover{background:#fff;cursor:pointer}.flickity-button:focus{outline:0;box-shadow:0 0 0 5px #19f}.flickity-button:active{opacity:.6}.flickity-button:disabled{opacity:.3;cursor:auto;pointer-events:none}.flickity-button-icon{fill:currentColor}.flickity-prev-next-button{top:50%;width:44px;height:44px;border-radius:50%;transform:translateY(-50%)}.flickity-prev-next-button.previous{left:10px}.flickity-prev-next-button.next{right:10px}.flickity-rtl .flickity-prev-next-button.previous{left:auto;right:10px}.flickity-rtl .flickity-prev-next-button.next{right:auto;left:10px}.flickity-prev-next-button .flickity-button-icon{position:absolute;left:20%;top:20%;width:60%;height:60%}.flickity-page-dots{position:absolute;width:100%;bottom:-25px;padding:0;margin:0;list-style:none;text-align:center;line-height:1}.flickity-rtl .flickity-page-dots{direction:rtl}.flickity-page-dots .dot{display:inline-block;width:10px;height:10px;margin:0 8px;background:#333;border-radius:50%;opacity:.25;cursor:pointer}.flickity-page-dots .dot.is-selected{opacity:1}
.flickity-page-dots .dot{width:4px;height:4px}
.flickity-page-dots .dot:first-child{margin-left:0}
.flickity-page-dots .dot:last-child{margin-right:0}
.flickity-page-dots .dot.is-selected{background:var(--page-text-color);width:24px;border-radius:3px}

/* FONTS */
@font-face{font-family:'Swis721 BT';src:url('../fonts/Swiss721BT-Bold.woff2') format('woff2'),url('../fonts/Swiss721BT-Bold.woff') format('woff');font-weight:bold;font-style:normal;font-display:swap}
@font-face{font-family:'Swis721 BT';src:url('../fonts/Swiss721BT-Roman.woff2') format('woff2'),url('../fonts/Swiss721BT-Roman.woff') format('woff');font-weight:normal;font-style:normal;font-display:swap}
@media screen and(-webkit-min-device-pixel-ratio:2){select,select:focus,textarea,textarea:focus,input,input:focus{font-size:13px!important;-webkit-text-size-adjust: 100%}}

/* RESPONSIVE */
.desktop-only{display:block!important}.desktop-only-flex{display:flex!important}.desktop-only-grid{display:grid!important}.mobile-only,.mobile-only-flex,.mobile-only-grid{display:none!important}
@media(max-width:767px){.mobile-only{display:block!important}.mobile-only-flex{display:flex!important}.mobile-only-grid{display:grid!important}.desktop-only,.desktop-only-flex,.desktop-only-grid{display:none!important}}

/* HELPER */
.flex{display:flex}
.flex-v{flex-direction:column}
.hide{display:none}
.text-up{text-transform:uppercase}
.text-left{text-align:left}
.text-center{text-align:center}
.text-right{text-align:right}
.text-underline{text-decoration:underline}
.text-aa{-webkit-font-smoothing:antialiased;font-smoothing:antialiased;text-rendering:optimizeLegibility}

/* ANIMATION */
.anim-opacity{-webkit-transition:opacity .15s ease-out;-moz-transition:opacity .15s ease-out;-ms-transition:opacity .15s ease-out;-o-transition:opacity .15s ease-out;transition:opacity .15s ease-out}
.anim-height{-webkit-transition:height .15s ease-out;-moz-transition:height .15s ease-out;-ms-transition:height .15s ease-out;-o-transition:height .15s ease-out;transition:height .15s ease-out}
.anim-top{-webkit-transition:top .15s ease-out;-moz-transition:top .15s ease-out;-ms-transition:top .15s ease-out;-o-transition:top .15s ease-out;transition:top .15s ease-out}
.anim-bottom{-webkit-transition:bottom .15s ease-out;-moz-transition:bottom .15s ease-out;-ms-transition:bottom .15s ease-out;-o-transition:bottom .15s ease-out;transition:bottom .15s ease-out}
.anim-right{-webkit-transition:right .15s ease-out;-moz-transition:right .15s ease-out;-ms-transition:right .15s ease-out;-o-transition:right .15s ease-out;transition:right .15s ease-out}
.anim-left{-webkit-transition:left .15s ease-out;-moz-transition:left .15s ease-out;-ms-transition:left .15s ease-out;-o-transition:left .15s ease-out;transition:left .15s ease-out}
.anim-color{-webkit-transition:color .15s ease-out;-moz-transition:color .15s ease-out;-ms-transition:color .15s ease-out;-o-transition:color .15s ease-out;transition:color .15s ease-out}
.anim-transform{-webkit-transition:-webkit-transform .15s ease-out;-moz-transition:-moz-transform .15s ease-out;-ms-transition:-ms-transform .15s ease-out;-o-transition:-o-transform .15s ease-out;transition:transform .15s ease-out}
.anim-all{-webkit-transition:all .15s ease-out;-moz-transition:all .15s ease-out;-ms-transition:all .15s ease-out;-o-transition:all .15s ease-out;transition:all .15s ease-out}

.anim-veryfast{-webkit-transition-duration:.05s;-moz-transition-duration:.05s;-ms-transition-duration:.05s;-o-transition-duration:.05s;transition-duration:.05s}
.anim-fast{-webkit-transition-duration:.1s;-moz-transition-duration:.1s;-ms-transition-duration:.1s;-o-transition-duration:.1s;transition-duration:.1s}
.anim-slow{-webkit-transition-duration:.25s;-moz-transition-duration:.25s;-ms-transition-duration:.25s;-o-transition-duration:.25s;transition-duration:.25s}
.anim-veryslow{-webkit-transition-duration:.5s;-moz-transition-duration:.5s;-ms-transition-duration:.5s;-o-transition-duration:.5s;transition-duration:.5s}

/* GLOBAL */
body {
	font-family: var(--font-family-base);
	font-size: var(--font-size-base);
	font-weight: var(--font-weight-base);
	letter-spacing: calc(var(--font-size-base) * (var(--letter-spacing-base) / 100));
	line-height: var(--line-height-base);
	color: var(--page-text-color);
	background: var(--page-background-color);

	-webkit-font-smoothing: antialiased;
	font-smoothing: antialiased;
	text-rendering: optimizeLegibility;

	overflow: hidden;
}

.container {
	padding: 0 var(--layout-margin);
	margin: 0 auto;
}
.section {
	margin-bottom: var(--section-gap-y);
	gap: var(--block-gap-y);
}
.block {
	margin-bottom: var(--block-gap-y);
}
.block:last-child {
	margin-bottom: 0;
}
/*main {
	margin-top: calc(161px + 84px);
	margin-bottom: 120px;
}*/

@media (max-width: 1023px) {
	.container {
		padding: 0 var(--layout-margin-tablet);
	}
	.section {
		margin-bottom: var(--section-gap-y-tablet);
	}
	.section .block {
		margin-bottom: var(--block-gap-y-tablet);
	}
	/*main {
    margin-top: calc(48px + 56px);
    margin-bottom: 48px;
	}*/
}
@media (max-width: 767px) {
	.container {
		padding: 0 var(--layout-margin-mobile);
	}
	.section {
		margin-bottom: var(--section-gap-y-mobile);
	}
	.section .block {
		margin-bottom: var(--block-gap-y-mobile);
	}
	/*main {
    margin-top: calc(48px + 56px);
    margin-bottom: 48px;
	}*/
}

h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6, .heading {
	font-family: var(--font-family-title);
	font-weight: var(--font-weight-title);
	line-height: var(--line-height-title);

	font-size: clamp(40px, calc(40px + (80 - 40) * ((100vw - 500px) / (1400 - 500))), 80px);
	letter-spacing: -.04em;
}

p {
	margin-bottom: 1em;
}
p:last-child {
	margin-bottom: 0;
}
p strong {
	font-weight: bold;
}

a {
	color: var(--page-text-color);
	text-decoration: none;
}

.open-book {
	display: flex;
	align-items: center;
}
/*.open-book span {
	margin-left: -8px;
}*/

.links {
	line-height: 1;
}
.link a, .link div {
	display: flex;
	gap: 8px;
	align-items: center;
}
.link a span, .link div span {
	padding-top: 3px;
}

@media (max-width: 767px) {
	/*.links {
		display: flex;
		gap: 24px;
	}*/
}

/* ANIM */
*[data-anim] .anim-target {
	display: inline-block;
	opacity: 0;
	transform: translateY(10vh);
	transition:opacity .5s cubic-bezier(.23,.34,.18,1) 0s, transform .5s cubic-bezier(.23,.34,.18,1) 0s;
	transition-delay: .05s;
}
*[data-anim] .anim-target.block {
	display: block;
}
*[data-anim] .anim-target.line {
	display: grid;
}
*[data-anim][data-anim-far] .anim-target {
	transform: translateY(100vh);
}
*[data-anim].run .anim-target {
	opacity: 1;
	transform: translateY(0);
}

/* HEADER */
header {
	position: fixed;
	z-index: 100;
	top: 0;
	left: 0;
	right: 0;
	background: var(--page-background-color);
	transform: translateY(0);
}
#header-copy {
	position: absolute;
	opacity: 0;
	visibility: hidden;
	top: -10000px;
	left: -10000px;
}
/*header.off {
	transform: translateY(-100%);
}*/
header .container {
	display: flex;
	justify-content: space-between;
}
header .heading.logo {
	letter-spacing: -.07em;
	line-height: 1;
  padding-top: .4em;
  padding-bottom: .3em;
}
header nav {
	display: flex;
	align-items: center;
	gap: 32px;
}
header nav a span {
  line-height: 1;
}
header .open-book {
	margin-top: .1em;
}
header.off .open-book {
	margin-top: 0;
}

header.off .heading, header.off .heading.logo {
	font-size: 16px;
	letter-spacing: -.02em;
  padding-top: 1em;
  padding-bottom: .8em;
}
header.off nav {
	gap: 16px;
}
header.off nav .open-book svg {
	width: 15.2px;
	height: 15.2px;
}
header.off nav .open-book span {
	margin-left: -1.6px;
}

header.transparent-header {
	background: transparent;
}
header.transparent-header nav a {
	color: var(--page-background-color);
}
header.transparent-header nav a:hover span {
	border-bottom: 1px solid rgba(255,255,255,.3);
}
header.transparent-header nav a.active span {
	border-bottom: 1px solid rgba(255,255,255,.5);
}
header.transparent-header .logo img {
	display: none;
}
header.transparent-header .logo img.white {
	display: block;
}

/* FOOTER */
footer {
	margin-bottom: 60px;
}
footer .container {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
}
footer .container .left {
	display: flex;
	flex-direction: column;
	gap: 48px;
}
footer .container .left .text {
	display: flex;
	gap: calc(100vw / 8);
	align-items: flex-start;
	justify-content: space-between;
}
footer .container .right img {
	width: 100%;
	max-width: 472px;
	height: auto;
}
@media (max-width: 1023px) {
	footer .container .left .text {
		flex-direction: column;
		gap: 24px;
	}
}
@media (max-width: 767px) {
	footer .container {
		flex-direction: column;
		gap: 48px;
	}
	footer .container .left {
		gap: 20px;
	}
	footer .container .left .text {
		flex-direction: column;
		gap: 20px;
	}
	footer .container .left .text p {
		margin-bottom: 20px;
	}
	footer .container .left .text p:last-child {
		margin-bottom: 0;
	}
	footer .container .right {
		width: 100%;
	}
	footer .container .right img {
		max-width: none;
	}
}

/* MAIN */
.section.colonnes .texts {
	display: grid;
	gap: 16px;
	grid-template-columns: repeat(3, 1fr);
}
.section.colonnes .texts.v2 {
	grid-template-columns: repeat(2, 1fr);
}
.section.colonnes .texts .text {
	display: flex;
	flex-direction: column;
	gap: 48px;
}

@media (max-width: 767px) {
	.section.colonnes .texts {
		grid-template-columns: repeat(1, 1fr);
		gap: 48px;
	}
	.section.colonnes .texts .text {
		display: flex;
		flex-direction: column;
		gap: 24px;
	}
}

.section.slideshow img, .section.slideshow video, .section.slideshow .player {
	display: block;
	max-width: 100%;
	height: auto;
}
.section.slideshow .medias img, .section.slideshow .medias video, .section.slideshow .medias .player, .section.slideshow .medias .slider {
	width: 100%;
}
.section.slideshow .medias img, .section.slideshow .medias video, .section.slideshow .medias .player {
	height: auto;
}

.section.slideshow .medias.margin img, .section.slideshow .medias.margin video, .section.slideshow .medias.margin .player, .section.slideshow .medias.margin .slider {
	width: 75%;
	margin-left: auto;
	margin-right: auto;
}
@media (max-width: 767px) {
	.section.slideshow .medias.margin img, .section.slideshow .medias.margin video, .section.slideshow .medias.margin .player, .section.slideshow .medias.margin .slider {
		width: 100%;
	}
}

.player .mejs__container, .player .mejs__poster {
	width: 100% !important;
	height: 100% !important;
}

/* DRAWER */
body.drawer-open {
	overflow: hidden !important;
}
drawer {
	position: fixed;
	z-index: 500;
	top: 0;
	right: 0;
	bottom: 0;
	width: 50%;
	transform: translateX(100%);
}
body.drawer-open drawer {
	transform: translateX(0);
}
drawer .inner {
	position: relative;
	z-index: 2;
	display: flex;
	flex-direction: column;
	background-color: #ffffff;
	height: 100vh;
	box-shadow: 4px 4px 8px 0px rgba(0, 0, 0, 0.16);
}
drawer .inner.step2, drawer.valid .inner.step1 {
	display: none;
}
drawer.valid .inner.step2 {
	display: flex;
}
drawer .top {
	display: flex;
	justify-content: space-between;
	padding: 32px 40px;
}
drawer .middle {
	padding: 0 40px 32px;
	overflow-y: auto;
}
drawer .middle .intro {
	width: 50%;
	margin-bottom: 32px;
}
drawer .middle form {
	display: flex;
	flex-direction: column;
	gap: 12px;
}
drawer .middle form input, drawer .middle form textarea {
	appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
	font-family: var(--font-family-base);
	font-size: var(--font-size-base);
	font-weight: var(--font-weight-base);
	letter-spacing: calc(var(--font-size-base) * (var(--letter-spacing-base) / 100));
	width: 100%;
	padding: 18px 16px 18px 60px;
	border: 1px solid #ebebeb;
	border-radius: 4px;
	outline: none;
	background: #fff !important;
}
drawer .middle form input:hover, drawer .middle form textarea:hover {
	border: 1px solid #d6d6d6;
}
drawer .middle form textarea {
  width: 100%;
	height: 56px;
  min-height: 56px;
  max-height: 400px;
  overflow-y: hidden;
  resize: none;
}
drawer .middle form input::placeholder, drawer .middle form textarea::placeholder {
	color: #ccc;
}
drawer .middle form input:focus, drawer .middle form textarea:focus {
	border-color: #1a1a1a;
}
drawer .middle form .icon {
	position: relative;
}
drawer .middle form .icon:before {
	content: '';
	display: block;
	position: absolute;
	z-index: 1;
	top: 15px;
	left: 16px;
  width: 24px;
	height: 24px;
	background-repeat: no-repeat;
	background-position: 0 0;
	background-size: 24px 24px;
}
drawer .middle form .icon-user:before {
	background-image: url('../img/user.svg');
}
drawer .middle form .icon-email:before {
	background-image: url('../img/email.svg');
}
drawer .middle form .icon-phone:before {
	background-image: url('../img/phone.svg');
}
drawer .middle form .icon-date:before {
	background-image: url('../img/date.svg');
}
drawer .middle form .icon-message:before {
	background-image: url('../img/message.svg');
}
.drawer-overlay {
	position: fixed;
	z-index: 200;
	top: 0;
	left: -100%;
	right: 0;
	bottom: 0;
	background-color: rgba(0,0,0,.2);
	opacity: 0;
	pointer-events: none;
}
body.drawer-open .drawer-overlay {
	opacity: 1;
	left: 0;
	pointer-events: auto;
}

drawer .footer .links {
	margin-bottom: 16px;
}

/* INPUT DATE */
/*input[type="date"]::-webkit-datetime-edit-fields-wrapper {
  color: #f00;
}
input[type="date"]::-webkit-datetime-edit {
  color: #f00;
}
input[type="date"]::-webkit-datetime-edit-text {
  color: #ccc;
}
input[type="date"]::-webkit-datetime-edit-month-field,
input[type="date"]::-webkit-datetime-edit-day-field,
input[type="date"]::-webkit-datetime-edit-year-field {
  color: #ccc;
}
input[type="date"] {
  color: #f00;
}
input[type="date"]:focus {
  color: #f00;
}*/

input[type="date"] {
	height: 54px !important;
}
input[type="date"]::-webkit-inner-spin-button,
input[type="date"]::-webkit-clear-button {
  display: none;
}
input[type="date"]::-webkit-date-and-time-value {
	/*text-align: left;*/
}

/* SUBMIT */
button[type="submit"] {
  width: auto;
  border: 0;
  cursor: pointer;
  align-self: flex-start;
  background: transparent;
  margin-top: 20px;
  margin-bottom: 32px;
}

@media (max-width: 767px) {
	drawer {
		width: 100%;
	}
	drawer .middle .intro {
		width: 75%;
	}
}










/* PLAYER */
/*.production .player {
	overflow: hidden;
}*/
.article .player .mejs__container {
	width: 100% !important;
	height: auto !important;
}
.article .player .mejs__container .mejs__layer {
	width: 100% !important;
  height: 100% !important;
}
/*.mejs__mediaelement > div {
	height: 100%;
	overflow: hidden;
}*/
.article .player .mejs__container {
	background-color: #eee;
}
.article .player .mejs__container video {
	width: 100% !important;
  height: 100% !important;
}
.mejs__controls .mejs__horizontal-volume-slider, .mejs__controls .mejs__time-float {
	opacity: 0;
	width: 0 !important;
	display: block !important;
	position: absolute;
	left: -5000px;
	pointer-events: none;
	visibility: hidden;
}
.mejs__overlay-loading, .mejs__time-handle, .mejs__overlay-play svg, .mejs__volume-button svg, .mejs__fullscreen-button svg, .mejs__playpause-button svg {
	display: none !important;
	opacity: 0 !important;
}
.mejs__container .mejs__button button:focus, .mejs__container:focus {
	outline: 0 !important;
}
.mejs__controls, .mejs__time-rail {
	height: 36px !important;
}
.mejs__time-total {
	border-radius: 5px !important;
	overflow: hidden !important;
}
.mejs__time-buffering, .mejs__time-current, .mejs__time-float, .mejs__time-float-corner, .mejs__time-float-current, .mejs__time-hovered, .mejs__time-loaded, .mejs__time-marker, .mejs__time-total {
	height: 4px !important;
}
.mejs__time-rail {
	padding-top: 11px !important;
}
.mejs__controls:not([style*="display: none"]) {
	background: transparent !important;
}
.mejs__playpause-button, .mejs__volume-button, .mejs__fullscreen-button {
	width: 36px !important;
	height: 36px !important;
}
.mejs__playpause-button button, .mejs__volume-button button, .mejs__fullscreen-button button {
	background: url('../player/mute.png') center center no-repeat;
	background-size: 14px 16px;
	width: 36px !important;
	height: 36px !important;
	margin: 0 !important;
}
.mejs__volume-button.mejs__unmute button {
	opacity: .5;
}
.mejs__fullscreen-button button {
	background: url('../player/fullscreen.png') center center no-repeat;
	background-size: 24px 18px;
}
.mejs__playpause-button button {
	background: url('../player/play.png') center center no-repeat;
	background-size: 18px 18px;
}
.mejs__playpause-button.mejs__pause button {
	background: url('../player/pause.png') center center no-repeat;
	background-size: 14px 18px;
}

.mejs__overlay-play {
	display: none !important;
}









.response {
  margin-top: 32px;
}
.response:empty {
  margin-top: 0;
}

.response.error,
drawer .middle form .icon.error input,
drawer .middle form .icon.error textarea {
  color: #e74c3c;
}
drawer .middle form .icon.error input::placeholder,
drawer .middle form .icon.error textarea::placeholder {
  color: #e74c3c;
}

drawer .middle form .icon.error .checkmark {
  display: none;
}
.form-message {
  margin-top: 20px;
  padding: 12px;
  border-radius: 5px;
  display: none;
  font-weight: bold;
}

.form-message.success {
  background-color: #d4edda;
  color: #155724;
  border: 1px solid #c3e6cb;
}

.form-message.error {
  background-color: #f8d7da;
  color: #721c24;
  border: 1px solid #f5c6cb;
}


/* INTRO */
body.intro-done {
	overflow: visible;
}
#intro {
	position: fixed;
	z-index: 9000;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: #fff;
	display: flex;
	justify-content: center;
	align-items: center;
}
#intro img {
	width: 90%;
	max-width: 472px;
	margin: 48px;
	opacity: 0;
	transform: translateY(30px);
}
#intro img.show {
	opacity: 1;
	transform: translateY(0);
}
#intro.out {
	opacity: 0;
	transform: translateY(-30px);
}

/* DEBUG */
.mejs__mediaelement {
	overflow: hidden;
}
.mejs__mediaelement video {
	overflow: hidden;
	transform: scale(1.01);
}