@charset "UTF-8";
/* CSS Document */
/* ©pascale moise v3 février 2026 */
/*     pascalemoise.com       */


:root {
	--jaune: #ffbc00;
	--gris: #d6d6d6;
	--marginside: 50px;
	--radius : 12px;
}




@font-face {
  font-family: 'Material Symbols Rounded';
  font-style: normal;
  font-weight: 100 700;
  src: url('../fonts/MaterialSymbolsRounded.woff2') format('woff2');
  font-display: swap;
}

@font-face {
  font-family: 'Material Icons';
  font-style: normal;
  font-weight: 400;
  src: url(../fonts/MaterialIcons-Subset.woff2) format('woff2'),
       url(../fonts/MaterialIcons-Regular.woff2) format('woff2');
  font-display: swap;
}

.material-icons {
  font-family: 'Material Icons';
  font-weight: normal;
  font-style: normal;
  font-size: 24px;  /* Preferred icon size */
  display: inline-block;
  line-height: 1;
  text-transform: none;
  letter-spacing: normal;
  word-wrap: normal;
  white-space: nowrap;
  direction: ltr;

  /* Support for all WebKit browsers. */
  -webkit-font-smoothing: antialiased;
  /* Support for Safari and Chrome. */
  text-rendering: optimizeLegibility;

  /* Support for Firefox. */
  -moz-osx-font-smoothing: grayscale;

  /* Support for IE. */
  font-feature-settings: 'liga';
}

@font-face {
        font-family: 'VinylCuts';
             src: url('../fonts/VinylCuts.woff2') format('woff2'),
                  url('../fonts/VinylCuts.ttf') format('truetype');
        font-weight: normal;
        font-style: normal;
        font-display: swap;
}



html, body {
	height: 100%;
}
body { 
	margin: 0;
	width: 100%;
	overflow-x: hidden;
}

h4 {
	font-size: 1.5rem;
}

* {
	font-family: arial, sans-serif;
	font-size: 16px;
	color: #000;
	box-sizing: border-box;        
	-moz-box-sizing: border-box;  
	-webkit-box-sizing: border-box;
	line-height: 1em;
}
div {
	position: relative;
}
main *, p {
	white-space:normal;
}
.material-symbols-outlined {
  font-variation-settings:
  'FILL' 1,
  'wght' 400,
  'GRAD' 0,
  'opsz' 24
}

.hidden {
	display: none;
}
img, video {
	max-width: 100%;
	height: auto;
}
span.scrollicon {
	display: inline-block;
	position: fixed;
	left: 50vw;
	bottom: 36px ;
	width: 36px;
	height: 36px;
	border: 1px solid #333;
	background: url(../img/scroll_h.svg)no-repeat left center;
	background-size: 400% auto;
	will-change: background-position;
	background-position: 0px 0;
	-webkit-animation-name: scrollicon;
          animation-name: scrollicon;
  -webkit-animation-timing-function: steps(3);
          animation-timing-function: steps(3);
  -webkit-animation-iteration-count: infinite;
          animation-iteration-count: infinite;
  -webkit-animation-duration: 1s;
          animation-duration: 1s;
}
@-webkit-keyframes scrollicon {
	0% {
		background-position: 0 0;
	}
	  100% {
	    background-position-x: -102px;
	  }
}
/*------------------------- COMMONS  ---------------------*/
.flex {
	display: flex;
	gap: 30px;
}
.flex.wrap {
	flex-wrap: wrap;
}
div.wrapper {
	max-width: 1240px;
	padding: 0 5vw;
	margin: auto;
}

div.col1-large {
	width: 100%;
	padding: 0 5vw;
}
.col-1x3 {
	width: calc(100% / 3);
}
.col-2x3 {
	width: calc(((100% / 3) * 2) + 2.5vw);
}
.col-1x2 {
	width: calc((100% / 2) - 15px);
}
.col-1x4 {
	width: calc(100% / 4);
}

/* RESPONSIVE MOBILE */
@media (max-width: 768px) {
	.flex.cols {
		display: block;
	}
	.col-1x3, .col-2x3 , .col-1x2 , .col-1x4 {
		width: 100%;
	}
}


section {
	position: relative;
	overflow: hidden;
	padding: 2vw 0 100px 0;
}

section h3, footer h3 {
	font-size: 2rem;
	line-height: 2.2rem;
	font-weight: normal;
}
section p, section p *, section a, footer p, footer p *, footer a {
	font-size: .95rem;
	line-height: 1.25rem;
}
footer p, footer p *, footer a {
	font-size: .85rem;
}
section .category {
	text-transform: uppercase;
	margin: 0;
}
a.arrow { 
	text-decoration: none;
	display: inline-block;
	position: relative;
	padding-left: 25px;
}
a.arrow:hover {
	text-decoration: underline;
}
a.arrow::before { 
	content: ' ';
	position: absolute;
	left: 0;
	top: 2px;
	display: inline-block;
	width: 20px;
	height: 15px;
	background: url(../img/arrow_v3.svg)no-repeat center center;
	background-size: contain;
	filter: invert(1);
	transform: rotate(90deg) translateY(.2em);
}

button.sound {
	display: inline-block;
	position: absolute;
	right: 1vw;
	top: 1vw;
	width: 4vw;
	height: 4vw;
	border-radius: 50%;
	border: none;
	color: #fff;
	background: #000;
}
button.sound::before {
	display: inline-block;
	width: 4vw;
	text-align: center;
	overflow: hidden;
	position: absolute;
	top: 0;left: 0;
	font-family: 'Material Icons';
	display: inline-block;
	content: '\e04f';
	font-size: 2.5vw;
	line-height:4vw;
}
button.sound.active::before {
	content: '\e050';
}
button.cta, a.cta {
	display: inline-block;
	background: #000;
	color: #fff;
	border-radius: 25px;
	padding: 0 25px;
	line-height:50px;
	text-transform:uppercase;
	text-decoration: none;
	border: 0;
}

@media screen and (max-width:768px)  {
	button.sound {
		right: 1vh;
		top: 1vh;
		width: 3vh;
		height: 3vh;
	}
	button.sound::before {
		width: 3vh;
		font-size: 1.8vh;
		line-height:3vh;
	}
}
@media (orientation:landscape) and (max-width: 900px) {
	button.sound {
		right: 1vw;
		top: 1vw;
		width: 3vw;
		height: 3vw;
	}
	button.sound::before {
		width: 3vw;
		font-size: 1.8vw;
		line-height:3vw;
	}
}


/*--------- longtext ---------*/

div.longtext div.more {
	display: none;
}
div.longtext::after {
	display: inline-block;
	width: 50px;
	height: 50px;
	border-radius: 50%;
	line-height: 50px;
	margin-left: calc(50% - 25px);
	text-align: center;
	font-family: 'Material Icons';
	content: '\e145';
	font-size:40px;
	display: block;
	transition: all .5s ease-in-out 0s;
}
div.longtext:hover::after, div.longtext:active::after {
	background: #000;
	color: #fff;
	cursor: pointer;
}
div.longtext.active::after {
	content: '–';
	font-family: 'Arial';
}


/*------------------------- HOMEPAGE ONLY  ---------------------*/

body.block-scroll {
  overflow: hidden;
}
body.homepage.block-scroll main {
  visibility: hidden;
}

/*------------------------- HEADER  ---------------------*/
header {
	position: fixed;
	top: 0;left: 0;
	width: 100%;
	background: #fff;
	height: 70px;
	z-index: 99;
}

main {
	padding-top: 110px;
}


main div.title {
	display: flex;
	align-items: flex-end;
	flex-wrap: wrap;
	gap:0;
	padding-top: 30px;
}
main div.title div.container {
	display: inline-block;
	overflow: hidden;
}
body:not(.homepage) main div.title {
	padding-top: 10px;
}

header h1, header a.logo {
 	display: inline-block;
    font-family: 'VinylCuts', sans-serif;
	font-size: clamp(40px, 50px, 80px);
	line-height: 1em;
	text-transform:lowercase;
	font-weight: normal;
	color: #000;
	margin: 20px;
	cursor: pointer;
	text-decoration: none;
}
body.homepage header h1 {
	margin-top: 10px;
}
header a.logo {
	margin-top: 10px;
}






/*-----------------V3 ---------------*/
header button.buy, header button.price { 
	position: absolute;
	display: inline-block;
	border: none;
	top: 10px;
}





header h3 {
	margin: 1vh 0;
	display: inline-block;
	width: 100%;
	font-weight: 300;
	font-size: 1.7em;
}
body:not(.homepage) header h3 {
	visibility: hidden;
}






/*-------------nav---------------*/
header nav, header ul.nav  {
	position: absolute;
	right: 0;
	top: 0px;
	padding: 0px 20px;
	display: flex;
	justify-content:flex-end;
	z-index: 9;
}
header ul.nav {
	right: 70px;
	top: 18px;
}
header ul.nav a.price {
	font-weight: bold;
}

body:not(.homepage) header nav {
	width: 80%;
	position: absolute;
	right: 0;
}
header nav ul, header ul.nav {
	list-style:none;
	margin: 0;
	padding: 0;
}
header nav ul li, header ul.nav li {
	display: inline-block;
	margin: 0 5px;
}
header nav li a, header ul.nav li a {
	display: inline-block;
	border-radius: 17px;
	background:transparent;
	border: 2px solid transparent;
	padding: 10px;
	font-size: .75em;
	text-transform: uppercase;
	text-decoration: none;
}


header ul.nav li a.buy {
	font-size: .65em;
}
header ul.nav li a.price {
	font-size: .85em;
}



body.homepage header nav li a.home {
	display: none;
}


header nav li.lang {
	margin: 10px 0;
}
header nav li.lang a {
	height: 34px;
	width: 34px;
	padding: 10px 0;
	text-align: center;
}
header nav li.lang a.fr {
	margin: 10px 0px 0 40px;
}
body header nav a.buy,body  header nav a.product,  header ul.nav a.buy {
	background: #000;
	color: #fff;
}
body.homepage header nav a.buy,body.homepage  header nav a.product,body.homepage  header ul.nav a.buy {
	background: var(--jaune);
	color: #000;
}
header nav li a.home {
	/*text-indent:-999em;*/
	height: 34px;
	width: 34px;
	border: 0 none;
}
header nav li a.home::before {
	display: inline-block;
	content: '\e88a';
	font-family: 'Material Icons';
	transform: translate(-15px, 8px);
	font-size: 26px;
}

header nav li a.instagram {
	text-indent: -999em;
	width: 34px;
	height: 24px;
	border: 0 none;
	background: url(../img/social_insta.svg) no-repeat center center;
	background-size: contain;
	border-radius: 0;
}

/* Market switcher dropdown */
header nav li.market-switcher {
	position: relative;
	margin: 10px 0;
}
header nav li.market-switcher a.market-current {
	font-size: .65em;
	text-transform: uppercase;
	padding: 6px 10px;
	border: 1px solid #ccc;
	border-radius: 15px;
	cursor: pointer;
}
header nav li.market-switcher ul.market-dropdown {
	visibility: hidden;
	opacity: 0;
	position: absolute;
	top: 100%;
	right: 0;
	background: #fff;
	border: 1px solid #ddd;
	border-radius: 8px;
	padding: 5px 0;
	margin-top: 0;
	list-style: none;
	min-width: 120px;
	box-shadow: 0 2px 8px rgba(0,0,0,.1);
	z-index: 100;
	transition: opacity .2s ease, visibility .2s ease;
}
header nav li.market-switcher::after {
	content: '';
	position: absolute;
	top: 100%;
	left: 0;
	right: 0;
	height: 15px;
}
header nav li.market-switcher ul.market-dropdown.open {
	visibility: visible;
	opacity: 1;
}
header nav li.market-switcher ul.market-dropdown li {
	display: block;
	margin: 0;
}
header nav li.market-switcher ul.market-dropdown li a {
	display: block;
	padding: 8px 15px;
	font-size: .7em;
	text-transform: uppercase;
	text-decoration: none;
	border-radius: 0;
	border: none;
	white-space: nowrap;
}
header nav li.market-switcher ul.market-dropdown li a:hover {
	background: #f5f5f5;
}

header nav a.active {
	border: 1px solid #000;
}

		
header nav.active ul li.lang {
	float: left;
	margin-top: 10vh;
	width: 15%;
}
header nav.active ul li.lang.first {
	margin-left: 25%;
}

/*---- desktop & mobile----*/

	header nav.active  {
		position: fixed !important;
		top: 0 !important;
		left: 0 !important;
		right: auto !important;
		height: 100vh !important;
		width: 100vw !important;
		background: var(--jaune);
	}
	header nav.active ul {
		visibility: visible;
		transition: transform 0.4s ease;
		transform: translateY(0vh);
	}
	header nav.active ul::before {
		display: block;
		position: absolute;
		top: 10vh;
		left: 0;
		text-align: center;
		width: 100vw;
		content: 'la machine';
		font-family: 'VinylCuts';
		font-size: 12vw;
	}
	header nav.active ul {
		display: block;
		top:0;left: 0;
		padding-top: 20vh;
		background: var(--jaune);
		width: 100vw;
		height: 100vh;
		/*transform: translateY(-100vh);*/
		text-align: center;
		z-index: 2;
	}
	
	header nav.active li a.home::before {
		transform: translate(48vw, 8px);
	}

	header nav.active ul li {
		display: block;
		height: 6vh;
		width: 100%;
		text-align: center;
	}

	header nav.active ul li:not(.lang) a {
		display: block;
		font-size: 2vw;
		line-height: 6vw;
		margin: 1vw 0;	
	}

	header nav.active li.lang a.fr {
		margin: 0;
	}
	header nav.active ul li::before {
		font-size: 18vh;
	}
	header nav.active ul li.lang {
		width: 50px;
	}
	header nav.active ul li.lang.first {
		margin-left: calc(50% - 75px);
	}
	
/*---------- desktop ----------------*/
@media screen and (min-width:901px)  {
	header nav li a {
		display: inline-block;
		border-radius: 17px;
		background: transparent;
		padding: 10px;
		margin: 0;
		font-size: .75em;
		text-transform: uppercase;
		text-decoration: none;
	}
	header nav li a.price {
		font-weight: bold;
		font-size: .85em;
	}
	header ul.nav {
		display: none;
	}
	header nav ul {
		display: block;
	}
	header nav.active ul li::before {
		font-size: 18vh;
	}
	header nav.active ul li.lang {
		width: 50px;
	}
	header nav.active ul li.lang.first {
		margin-left: calc(50% - 75px);
	}
}
/*---------- small desktop ----------------*/
@media screen and (max-width:1200px)  {
	header nav ul li {
		margin: 0 2px;
	}
	header nav li a {
		border-radius: 15px;
		padding: 7px;
		font-size: .65em;
	}
	header nav li.lang a {
		height: 28px;
		width: 28px;
		padding: 8px 0;
		text-align: center;
	}
	header nav li.lang a.fr {
		margin: 10px 0px 0 10px;
	}
	header nav li a.home::before {
		font-size: 22px;
	}
}
/*------------mobile----------*/
@media screen and (max-width:900px)  {
	header nav {
		display: none;
		position: fixed;
		top:0;left: 0;
		width: 100%;height: 0%;
	}
	header nav.active {
		display: block;
	}
	header nav.active ul {
		position: absolute;
	}
	header nav.active ul li {
		height: auto;
	}
	header nav.active li a.home::before {
		transform: translateX(-7px);
	}
	header nav.active ul li a.active, header nav ul li a{
		display: block;
		color: #000;
		font-size: 2rem;
		text-align: center;
		background: none;
		display: inline-block;
		}
	header nav.active ul li a:after {
		height: 3px;
		background-color: #fff;
	}
	header nav.active ul li:not(.lang):not(.market-switcher) a {
		font-size: 4vw;
		display: inline-block;
		border-radius: 6vw;
		padding: 1vw 4vw;
	}

	header nav.active ul li.lang {
		height: auto;
		float: none !important;
		display: inline-block;
		width: auto !important;
		margin: 0 3px !important;
		margin-top: 4vh !important;
		vertical-align: middle;
	}
	header nav.active ul li.lang.first {
		margin-left: 3px !important;
	}
	header nav.active ul li.lang a {
		margin: 0;
		display: inline-block;
		font-size: .75rem;
	}
	header nav.active li.lang a.fr {
		margin: 0;
	}
	header nav.active ul li a.instagram {
		width: 30px;
		height: 30px;
		background-size: 30px;
		vertical-align: middle;
	}
	header nav.active ul li.market-switcher {
		display: inline-block;
		width: auto;
		height: auto;
		margin: 0 3px !important;
		margin-top: 4vh !important;
		position: relative;
		vertical-align: middle;
	}
	header nav.active ul li.market-switcher a.market-current {
		font-size: .75rem !important;
		padding: 6px 10px !important;
		border: 1px solid #000 !important;
		border-radius: 15px !important;
	}
	header nav.active li.market-switcher ul.market-dropdown {
		width: auto !important;
		height: auto !important;
		min-height: 0 !important;
		padding: 5px 0 !important;
		position: absolute !important;
		bottom: 100% !important;
		top: auto !important;
		left: 50% !important;
		transform: translateX(-50%) !important;
		min-width: 160px;
		background: #fff !important;
		border-radius: 8px !important;
		box-shadow: 0 2px 8px rgba(0,0,0,.15);
		text-align: left;
	}
	header nav.active li.market-switcher ul.market-dropdown::before {
		display: none !important;
	}
	header nav.active li.market-switcher ul.market-dropdown li {
		width: auto !important;
		height: auto !important;
		display: block !important;
	}
	header nav.active li.market-switcher ul.market-dropdown li a {
		font-size: .75rem !important;
		padding: 8px 15px !important;
		border-radius: 0 !important;
		color: #333 !important;
		text-align: left !important;
	}
}
@media screen and (max-width:470px)  {
	header h1, header a.logo {
		font-size: 36px;
		margin: 20px 10px;
	}
	header ul.nav {
		right: 55px;
		top: 14px;
	}
	header ul.nav li a.buy {
		font-size: .55em;
		padding: 8px 6px;
	}
	header ul.nav li a.price {
		font-size: .75em;
		padding: 8px 4px;
	}
}


/*----------------------- burger menu ---------------------*/

#burger {
	display: inline-block !important;
  	position: absolute;
	padding: 19px 2px;
	cursor: pointer;
	width: 50px;
	text-indent: -9999em;
	height: 50px;
	z-index: 99;
	top: 1.5vw;
	right: 2.5vw;
}
#burger.desktopactive {
	opacity: 1;
	visibility:visible;
	transition: opacity 1s ease-in-out 0s;
}
#burger span {
	margin-top: 5px;
	margin-left:8px;
	height: 50px;
}

#burger span, #burger span:before, #burger span:after {
  position: absolute;
  display: block;
  cursor: pointer;
  border-radius: 1px;
  height: 3px;
  width: 30px;
  background: #000;
  content: '';
}
#burger span:before
 {
  top: -7px;
}
#burger span:after
 {
  bottom: -7px; 
}
#burger span, #burger span:before, #burger span:after {
  transition: all 500ms ease-in-out;
}

#burger.active span {
  background-color: transparent;
}
#burger.active span:before, #burger.active span:after {
  top: 0;
}
#burger.active span:before{
  transform: rotate(45deg);
}
#burger.active span:after {
  transform: rotate(-45deg);
}

@media screen and (orientation:portrait)  {
	main div.title {
		padding-top: 5vh;
	}
}
@media screen and (min-width:901px)  {
	/*----- burger on desktop-------*/
	#burger {
		display: inline-block;
		opacity: 0;
		visibility:hidden;
	}
}
@media screen and (max-width:900px)  {
	body:not(.homepage) main div.title {
		width: 100%;
		padding-top: 0;
	}
	#burger {
		display: inline-block;
	}


}


/*------------------------- FOOTER  ---------------------*/
footer {
	position: relative;
	background: var(--gris);
	overflow: hidden;
	padding-bottom: 15vh;
}
footer::after {
	display: block;
	position: absolute;
	bottom: -2vw;
	left: 2vw;
	content: url(../img/la_machine.svg);
	filter: invert(1);
	width: 96vw;
	height: 17vw;
	opacity: .5;
}
footer .flex {
	justify-content:space-between;
}
footer h4 {
	margin-bottom: 15px;
	margin-top: 50px;
	clear: both;
	font-weight: normal;
	line-height: 1.25em;
}
footer div.contact h4 , footer div.social h4 {
	font-size: 1rem;
	font-weight: normal;
}
footer div.contact h4 {
	margin-top: 0;
	margin-bottom: 50px;
}
footer .social a {
	display: inline-block;
	margin-right: 5px;
}
footer .social img {
	height: 30px;
	width: 30px;
}
footer .links a {
	display: block;
	text-decoration:none;
	text-transform:uppercase;
}
footer .col {
	padding: 3vh 0;
}

footer div.multiplie {
	margin: 50px 0;
	font-size: .85rem;
	line-height: 1.25rem;
}
footer div.multiplie::before {
	display: block;
	content: ' ';
	height: 30px;
	background: url(../img/logo_multiplie.svg)no-repeat left center;
	background-size: contain;
	margin-bottom: 10px;
}


/*------------------------- PAGES LAMBDA  ---------------------*/
aside.parallax-container {
	display: flex;
	overflow: hidden;
	border-radius: var(--radius) var(--radius) 0 0;
	justify-content: center;
	align-items:center;
	transform:translateY(-5vw);
	height: calc(50vh + 5vw);
}
img.parallax-img {
  width: 100%;
  height: auto;
  min-height: 130%;
  transform: translateY(0);
  position: absolute;
  top: -30%;
  object-fit: cover;
  aspect-ratio: 1/1;
}
aside.parallax-container div.citation {
	width: 100%;
	max-width: 1240px;
	padding: 0 5vw;
	margin: auto;
	color: #fff;
}
aside.parallax-container div.citation * {
	color: #fff;
	font-size: 2rem;
	line-height: 2.5rem;
	font-weight: 600;
}
body.page main {
	border-radius: var(--radius) var(--radius) 0 0;
	transform:translateY(-10vw);
	display: block;
	padding: 5vh 0 0 0;
	background: #fff;
}
body.page.team main, body.page.history main {
	transform:translateY(-5vw);
}

body.page main * {
	line-height: 1.5rem;
}
body.page main h1, body.page aside h1 {
	font-size: 3rem;
	padding-bottom: 2rem;
	line-height: 4rem;
}
body.page main h2, body.page section h2 {
	font-size: 1.5rem;
	line-height: 2rem;
}
@media (max-width: 900px) {
	aside.parallax-container {
		height: 20vh !important;
		display: block;
	}
	aside.parallax-container div.citation {
		position: absolute;
		bottom: 7vw;
	}
}
@media (max-width: 600px) {
	body.page main h1, body.page aside h1 {
		font-size: 2.25rem;
		line-height: 3rem;
	}
	aside.parallax-container {
		height: 10vh;
	}
	img.parallax-img {
		margin-top: 6vh;
	}
}
/*------------------------- HISTORY  ---------------------*/
body.page.history {
	background: var(--jaune);
}
body.page.history aside {
	background: #000;
	border-radius: var(--radius) var(--radius) 0 0;
	padding: 5vw 0 15vw 0;
	margin-bottom: -5vw;
}
body.page.history aside div.wrapper.flex {
	flex-direction: row-reverse;
}
body.page.history aside div.container, body.page.history aside div.image {
	width: 50%;
}
body.page.history aside div.image {
	border-radius: 0 var(--radius) 0 var(--radius);
	background: #fff;
	overflow: hidden;
	display: flex;
	justify-content:center;
	align-items: center;
	padding: 3vw;
}
body.page.history aside div.image img {
	width: 100%;
	height: auto;
}

body.page.history aside div.wrapper h1 {
	color: #fff;
}
body.page.history main {
	padding: 5vh 0 15vw 0;
	background: #fff;
	margin-bottom: -10vw;
}
body.page.history main div.wrapper div.flex {
	margin-bottom: 3vh;
}
body.page.history main div.col-1x3 {
  padding-top: 1rem;
}
body.page.history main div.wrapper div.image {
  display: flex;
  justify-content: center;
  align-items: center;
  overflow: hidden;
  border-radius: 50%;
  aspect-ratio: 1 / 1;
  width: 80%; 
  max-width: 100%;
}
body.page.history div.image.out::before {
	content: ' ';
	display: inline-block;
	position: absolute;
	top: 10%;
	left: 10%;
	width: 80%;
	height: 80%;
	opacity: .5;
	border-radius: 50%;
	background: var(--gris);
}
body.page.history main div.wrapper div.image.out {
	overflow: auto;
	border-radius: 0;
}
body.page.history div.image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
body.page.history div.image.out img {
  box-shadow: 0px 0px 10px rgba(0,0,0,.2);
}
body.page.history div.image.out.v img {
  width: auto;
  height: 85%;
  transform: rotate(-10deg);
}
body.page.history div.image.out.h img {
  width: 95%;
  height: auto;
  transform: rotate(-10deg);
}
body.page.history div.image.out.h.w85 img {
  width: 85%;
}

body.page.history section {
	background: var(--gris);
	border-radius: var(--radius) var(--radius) 0 0;
	transform: translateY(-5vw);
	margin-bottom: -5vw;
	padding-top: 5vw;
}
body.page.history section#foot  {
	padding: 0;
	margin-top: -5vw;
}
body.page.history section#foot  {
	width: 100%;
	height: 100vh;
	background: url(../img/back_sofa.jpg)no-repeat center center;
	background-size: cover;
	margin-bottom: -10vw;

}
body.page.history section#foot div.wrapper p {
	display: block;
	width: 50%;
	padding: 10vh 0;
	color: #fff;
	font-size: 2rem;
	line-height: 3rem;
	font-weight: 600;
}

@media (max-width: 800px) {
	body.page.history aside div.wrapper.flex {
		display: block;
	}
	body.page.history aside div.container, body.page.history aside div.image {
		width: 100%;
	}
	body.page.history aside div.image {
		border-radius: var(--radius) var(--radius) var(--radius) 0;
		background: #fff;
		overflow: hidden;
		display: flex;
		justify-content:center;
		align-items: center;
		padding: 3vw;
	}
	body.page.history main .wrapper .flex {
		display: block;
	}
	body.page.history main .wrapper .flex .col.col-1x3 {
		padding: 3vh 0 1vh 0;
		text-align:center;
		width: 100%;
	}
	body.page.history main .wrapper .flex .col.col-2x3 {
		width: 100%;
	}
	body.page.history main .wrapper .flex .col.col-1x3 div.image {
		width: 50%;
		margin: auto;
	}
	body.page.history section#foot div.wrapper p {
		width: 100%;
		padding: 3vh 0;
	}

}
/*------------------------- TEAM  ---------------------*/

body.page.team aside.parallax-container  {
	height: 50vh;
	min-height: 400px;
}


body.page.team aside img.parallax-img {
	top: 0;
}
body.page.team main {
	transform: translateY(-10vw);
}
body.page.team main div.wrapper div.flex {
	border-radius: var(--radius);
	background: var(--gris);
	padding: 3vw 3vw 6vw 3vw;
	margin-bottom: -4vw;
	border: 5px solid #fff;
}
body.page.team main div.wrapper div.flex.prems {
	margin-top: 150px;
}
body.page.team main div.wrapper div.image {
	display: flex;
	justify-content: center;
	align-items: center;
	overflow: hidden;
	border-radius: var(--radius);
	aspect-ratio: 1 / 1;
	width: 80%;
	max-width: 100%;
	margin-top: 1vw;
}
body.page.team main div.wrapper div.image img {
  width: 100%;
}
body.page.team div.flex:last-of-type h2 {
  width: calc(100% / 3);
}

@media (max-width: 900px) {
	body.page.team main div.flex {
		display: flex;
		gap:15px
	}
	body.page.team main div.flex div.col-1x3 {
		width: 20%;
	}
	body.page.team main div.flex div.col-2x3 {
		width: 80%;
	}
}
@media (max-width: 600px) {
	body.page.team main div.flex {
		flex-wrap: wrap;
	}
	body.page.team main div.flex div.col-1x3 {
		width: 100%;
	}
	body.page.team main div.flex div.col-2x3 {
		width: 100%;
	}
	body.page.team main div.wrapper div.image {
		width: 50%;
	}
	body.page.team main div.wrapper div.flex.prems {
		margin-top: 80px;
	}
}

/*------------------------- CONTACT  ---------------------*/
body.page.contact aside.parallax-container,
body.page.newsletter aside.parallax-container {
	height: 50vh;
	min-height: 400px;
}
body.page.contact aside img.parallax-img,
body.page.newsletter aside img.parallax-img {
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	min-height: 0;
	aspect-ratio: auto;
	object-fit: cover;
	object-position: center center;
}
body.page.contact main div.flex {
	align-items: stretch;
}
body.page.contact main div.col.col-1x3 {
	margin-bottom: 5vh;
	background: var(--gris);
	border-radius: var(--radius);
	padding: 30px;
}
body.page.contact main div.col.col-2x3 {
	margin-bottom: 5vh;
}

body.page.contact div.general::before,
body.page.contact div.support::before,
body.page.contact div.press::before,
body.page.contact div.partner::before {
	display: inline-block;
	content: ' ';
	background: #fff url(../img/ico_contact.svg)no-repeat center center;
	background-size: 50%;
	height: 80px;
	width: 80px;
	filter: invert();
	border-radius: 50%;
}
body.page.contact div.support::before {
	background-image:url(../img/ico_support.svg);
}
body.page.contact div.press::before {
	background-image:url(../img/ico_press.svg);
}
body.page.contact div.partner::before {
	background-image:url(../img/ico_partner.svg);
}
body.page.contact iframe {
	border-radius: 0 var(--radius) 0 var(--radius);
}


/* RESPONSIVE MOBILE */
@media (max-width: 1200px) {
	body.page.contact main .flex .col p, body.page.contact main .flex .col a {
		font-size:.9rem;
	}
}
@media (max-width: 768px) {
	body.page.contact main .flex  {
		display: block;
	}
}


/*------------------------- LIGHTBOX  ---------------------*/
.overlay {
	z-index: 99;
	display: flex;
	justify-content:center;
	align-items: center;
	padding: 5vh 5vw;
	position: fixed;
	top: 0;left: 0;
	width: 100vw;height: 100vh;
	background: rgba(0,0,0,.9);
	cursor: pointer;
}
.overlay img {
	width: auto;
	  height: auto;
	  max-width: 100%;
	  max-height: 100%;
	  object-fit: contain;
}
.overlay a.close {
	position: absolute;
	top: 3vh;right: 3vh;
	text-decoration: none;
}
.overlay a.close::before {
	content: '\e5cd';
	font-family: 'Material Icons';
	color: #fff;
	font-size: 4vh;
}


/*------------------------- PAGES LEGALES  ---------------------*/
body.page.data img.parallax-img {
		top: -5vh;
}


/*------------------------- GIFTCARD XMAS  ---------------------*/
div.xmas {
	border: 1px solid var(--gris);
}
div.xmas::before {
	content: ' ';
	position: absolute;
	display: inline-block;
	width: 100%;
	height: 80%;
	bottom: -1.5px;
	left: 4%;
	background: url(../img/giftcard_pinetree.svg)no-repeat bottom right;
}

/*------------------------- PAGE MEDIAS  ---------------------*/
div.media {
	border-radius: var(--radius);
	background: var(--gris);
	padding: 3vw;
	display: flex;
	flex-wrap: wrap;
	column-gap:3vw;
	row-gap:3vw;
	margin-bottom: 3vh;
	justify-content:space-between;
	cursor: pointer;
}
div.media div.video, div.media div.audio {
	border-radius: var(--radius);
	overflow: hidden;
	width: calc(50% - 3vw);
	display: flex;
}
div.media div.video img, div.media div.audio img {
	object-fit:cover;
	width: 100%;
	display: inline-block;
	vertical-align: bottom;
}
div.media div.video::after, div.media div.audio::after {
	content: '\e037';
	font-family: 'Material Icons';
	font-size: 80px;
	position: absolute;
	top: calc(50% - 20px);
	left: calc(50% - 40px);
	color: #fff;
	text-shadow: 0px 0px 15px rgba(0,0,0,.3);
}
div.media div.audio::after {
	content: '\e023';
}
div.media div.content  {
	width: 50%;
}
div.media div.logo  {
	text-align: right;
	display: inline-block;
	order: 2;
}
div.media div.content div.logo  {
	order: 1;
	width: 100%;
}
div.media div.citation  {
	font-style: italic;
	font-size: 1.1em;
	line-height: 1.5em;
	font-weight: 500;
	width: calc(100% - 180px);
	order: 1;
}
div.media div.content div.citation  {
	width: 100%;
}
div.media div.link  {
	order: 3;
	margin-top: 15px;
}

div.media div.logo img {
	max-height: 80px;
	width: auto;
	max-width: 100px;
	object-fit: contain;
	opacity: 0.5;
	filter: grayscale(100%);
	display: inline-block;
}
div.media div.logo.invert img {
	filter: grayscale(100%) invert(1);
}
div.media a.arrow {
	font-size: .9em;
}
div.media a.arrow::before {
	filter: invert(1);
	transform: translateY(.2em);
}
