:root {
	--colorBG: #0D0D0D;
	--colorTXT: #F4F0E7;
	--marginLight: 10px;
	--marginMed: 20px;
	--marginBold: 30px;
	--menuHeight: 128px;
}

::selection {
	background: var(--colorTXT);
	color: var(--colorBG);}

.menuBtn *::selection, .blocReseaux *::selection {
	background: transparent;
	color: var(--colorTXT);}

* {
	-webkit-tap-highlight-color: var(--tapColor);}

.touch .closeLightbox {
	-webkit-tap-highlight-color: transparent;}

html, body {
	margin: 0;}

a, button, p {
	display: block;
	background-color: transparent;
	border: none;
	text-decoration: none;}

a, button {
	cursor: pointer;}

button:focus {
    outline: none;}

html {
	background-color: var(--colorBG);
	padding: var(--marginLight);}


/* --------------------------------------------------------------------------------------------------------------- FONT */
.headerMenu, .logotype, .menuBtn, .menuMobile, h1, h2, .blocTexte p, button, .commanditaire, .buttonSuivant, .numero p, .titreProjet, .blocBackToHome a, .buttonPlay::before, .buttonRetour, .blocTitreProjets p, .blocTexte a {
	font-family: 'GeneralSans-Variable';
	font-style: normal;
	font-weight: 500;
	line-height: 1.5rem;
	font-size: 1.1rem;}

.font .headerMenu a, .font .headerMenu p, .font .logotype, .font .menuBtn, .font .menuMobile, .font h1, .font h2, .font .blocTexte p, .font .btnInfo button, .font .commanditaire, .font .buttonSuivant, .font .numero p, .font .titreProjet, .font .blocBackToHome a, .font .buttonPlay::before, .font .buttonRetour, .font .blocTitreProjets p, .font .menuMobile button {
	max-height: 24px !important;
	line-height: 1.75rem;
	font-family: "gt_planar_trialit_45_rg", sans-serif;
	font-style: italic;}

.blocFooter {
	font-family: 'GeneralSans-Variable';
	font-weight: 300;
	font-size: .9rem;}

h3, .informations p, .informations a, .textes, .blocIntroduction p, .blocPart1 p, .blocPart2 p, .errorWindowsWidth p, .blocCookies, .bloc404 p  {
	font-family: 'GeneralSans-Variable';
	font-weight: 450;
	font-size: .9rem;}

h3 {
	font-weight: 800;}

a, p, h1, h2, h3, button {
	color: var(--colorTXT);}

.errorWindowsWidth p, .blocCookies *, .buttonPlay::before {
	color: var(--colorBG);}


/* --------------------------------------------------------------------------------------------------------------- TRANSITIONS */
 {
	transition: transform 0.5s cubic-bezier(.55,0,.29,.99), opacity 0.25s cubic-bezier(.55,0,.29,.99);}


/* --------------------------------------------------------------------------------------------------------------- COOKIES */


/* --------------------------------------------------------------------------------------------------------------- HEADER */


/* --------------------------------------------------------------------------------------------------------------- GENERAL */
.container {
	position: relative;
    display: flex;
    flex-direction: column;
    min-height: calc(100vh - 2 * var(--marginLight));}

.content {
    flex: 1;}


/* --------------------------------------------------------------------------------------------------------------- FOOTER */
 .blocFooter {
	position: relative;
	bottom: 0;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	box-sizing: border-box;
	margin-top: var(--contactHeight);}

.blocCopyright {
	padding-right: var(--marginLight);}

.blocMentions {
	display: flex;
	align-items: center;
	margin-left: var(--marginMed);}

.blocLiens {
	display: flex;
	align-items: center;
	margin-left: auto;}

.blocLiens div {
	display: flex;
	align-items: center;
	margin-left: var(--marginMed);}


/* --------------------------------------------------------------------------------------------------------------- RESPONSIVE MENU */
@media screen and (min-width: 2000px) {
	:root {
		--marginLight: 15px;
		--marginMed: 30px;
		--marginBold: 40px;
		--menuHeight: 155px;
		
		--navHeight: 28px;
		--contactHeight: 99px;
		--projetParLigne: 5;
		--footerH: 21.5px;
		--blTxtH: 68px;
		--blH: 28px;
		--blImH: calc(100dvh - (var(--marginLight) + var(--menuHeight) + var(--marginLight) + var(--marginBold) + var(--blTxtH) + var(--marginBold) + var(--footerH)) - 5px);}
	body.touch {
		--navHeight: 50px;}
	.headerMenu, .logotype, .menuBtn, .menuMobile, h1, h2, .blocTexte p, button, .commanditaire, .buttonSuivant, .numero p, .titreProjet, .buttonRetour, .blocTitreProjets p {
		font-size: 1.3rem;}
	h3, .informations p, .informations a, .textes, .blocIntroduction p, .blocPart1 p, .blocPart2 p, .errorWindowsWidth p, .blocCookies, .blocFooter {
		font-weight: 400;
		font-size: 1rem;}
	h3 {
		font-weight: 600;}
	p a, .informations a {
		padding-left: var(--marginLight);}
	p a:after, .informations a:after {
		width: calc(0.5 * var(--marginLight));
		height: calc(0.5 * var(--marginLight));;}
	p a:before, .informations a:before {
		width: calc(var(--marginLight) * 0.75);}
	.fleche1, .fleche2, .fleche3, .fleche4, .fleche5, .fleche6 {
		width: calc(0.75 * var(--marginLight));
		height: calc(0.75 * var(--marginLight));}
	.fleche2, .fleche5, .fleche6 {
		width: calc(0.5 * var(--marginLight));
		height: calc(0.5 * var(--marginLight));}
	.cross1, .cross1:before, .cross1:after {
		width: calc(0.75 * var(--marginLight));
		height: calc(0.75 * var(--marginLight));}
}

@media screen and (max-width: 1200px) {
	:root {
		--projetParLigne: 3;}
	.blocCookies {
		width: calc((100% / 3 * 2 ) - (var(--marginLight) / 3 * 2));}
}

@media screen and (max-width: 800px) {
	.blocMail {
		margin-left: calc(1 * var(--marginBold));}
}

@media screen and (max-width: 750px) {
	:root {
		--projetParLigne: 2;}
	.blocCookies {
		width: 100%;}
	.preferenceCookies {
		margin-top: var(--marginMed);}
}

@media screen and (max-width: 730px) {
	:root {
		--footerH: 43px;}
    .blocMentions {
        margin-left: auto;}
    .blocLiens {
        width: 100%; 
        margin-left: 0;
        justify-content: flex-end;
        margin-top: calc(0.5 * var(--marginLight));}
    .blocAdressMail {
        flex-direction: column;
		align-items: flex-start;}
    .blocMail {
        margin-left: 0;}
}

@media screen and (max-width: 600px) {
	:root {
		--navHeight: 66px;}
	body.touch {
		--navHeight: 90px;}
    .menuBtn:not(:first-of-type) {
        margin-left: var(--marginLight);}
}

@media screen and (max-width: 550px) {
	:root {
		--contactHeight: 0px;
		--menuHeight: 41px;}
    .blocLiens .lien1 {
        margin-left: 0;
        margin-right: auto;}
	.blocLiens .lien1 div {
		order: 2;}
	.blocLiens .lien1 .fleche2 {
		margin-left: var(--marginLight);}
	.headerMenu {
		overflow: hidden;
		height: var(--menuHeight);
		background-color: var(--colorBG);}
	.container:before {
		z-index: 99;
		content: '';
		position: fixed;
		top: 0;
		width: calc(100% - 2 * var(--marginLight));
		height: var(--marginLight);
		background-color: var(--colorBG);}
	.menuMobile {
		display: flex;
		align-items: center;
		margin-left: auto;}
	.blocNavigation {
		flex-direction: column;
		padding: 0;}
	.menuDesktop {
		flex-direction: column;
		padding: var(--marginMed) 0;}
	.menuBtn {
		width: 100%;
		box-sizing: border-box;
		align-content: center;
		margin-bottom: calc(0.5 * var(--marginLight));
		margin-left: 0 !important;}
	.menuBtn:last-of-type {
		display: none;}
	.menuBtn div {
		order: 2;}

	.menuBtn .fleche1 {
		margin-left: var(--marginLight);}	
	.blocContact {
		display: flex;
		flex-direction: column;
		align-items: flex-start;
		overflow: visible;
		padding: 0;}
	.adressLine1, .adressLine2, .blocMail, .rs1, .rs2, .rs3 {
		transform: translateY(0);}
	.blocFooter {
		border-top: solid 2px var(--colorTXT);
		margin-top: calc(1.5 * var(--marginBold));
		padding-top: var(--marginLight);}
	.blocReseaux {
		justify-content: flex-start;
		align-items: flex-start;
		margin-left: 0;
		margin-top: var(--marginMed);
		padding: var(--marginMed) 0;}
	.blocReseaux div {
		transform: translateY(0);}
	.blocReseaux .fleche1 {
		order: 2;}
	.blocReseaux .fleche1 {
		margin-left: var(--marginLight);}	
	.content {
		padding-top: calc(var(--menuHeight) + var(--marginLight));}
	.content.drawingUI {
		margin-top: 0px;}
	.drawSize2 {
		margin-right: 0px;}
	.blocDrawMenu, .blocDraw {
		display: none;}
}

@media screen and (max-width: 450px) {
	:root {
		--projetParLigne: 1;}
}

@media screen and (max-width: 370px) {
    .blocMentions, .blocLiens .lien2 {
        width: 100%; 
        margin-left: 0;
        justify-content: flex-start;
        margin-top: calc(0.5 * var(--marginLight));}
	.blocMentions div, .blocLiens .lien2 div {
		order: 2;}
	.blocMentions .fleche2, .blocLiens .lien2 .fleche2 {
		margin-left: var(--marginLight);}
	.blocLiens {
		display: flex;
		flex-direction: column;}
}

@media screen and (max-width: 300px) {
	:root {
		--menuHeight: 34px;
		--footerH: 91px;}
    .logotype:before {
        content: "lqg";}
	.headerMenu, .logotype, .menuBtn, .menuMobile, h1, h2, .blocTexte p, button, .commanditaire, .buttonSuivant, .numero p, .titreProjet, .buttonRetour, .blocTitreProjets p {
		font-family: 'GeneralSans-Variable';
		font-weight: 500;
		font-size: 1rem;}
}

@media screen and (max-width: 250px) {
	html, .container:before {
		background-color: var(--colorTXT);}
	.container:after {
		z-index: 99;
		content: '';
		position: fixed;
		bottom: 0;
		width: calc(100% - 2 * var(--marginLight));
		height: var(--marginLight);
		background-color: var(--colorTXT);}
	.errorWindowsWidth {
		display: block;}
}


/* --------------------------------------------------------------------------------------------------------------- REPONSIVE MOBILE */
@media (hover: none) {
	.blocFooter div:hover .fleche2, .menuBtn:not(last-of-type):hover .fleche1, .blocContact div:hover .fleche1 {
		opacity: 0;}
	.contactActive .fleche1 {
		opacity: 1 !important;
		transform: rotate(45deg);}
	.bouton1 .fleche2 {
		opacity: 1;}
	.blocDrawMenu, .blocDraw {
		display: none;}	
	.glassEffect, .buttonGlass, .blocGlass {
		display: none !important;}
}

@media (hover: none) and (max-width: 550px) {
	.blocFooter {
		margin-bottom: var(--marginLight);}
}

