
.hp_nouveautes .txt_news p span::after {
    border: 0;
    padding: 0;
    display: inherit;
}


@import url('https://fonts.googleapis.com/css?family=Cabin+Condensed:400,600,700|Lato|Montserrat:300,300i,400,400i,500,700,700i|Nunito+Sans:300,300i,400,400i&display=swap');

@font-face
{ font-family: 'Streamster';
  src: url('/Streamster.ttf');
  font-weight: normal;
  font-style: normal; }


@import url('https://fonts.googleapis.com/css?family=Montserrat&display=swap');

* {
    margin: 0;
    padding: 0;
}

::selection {
    background: #d8261b;
    color: #f3f3f3;
}


.up_down {
    position: fixed;
    bottom: 4vw;
    z-index: 99;
    right: 1vw;
    display: flex;
    flex-direction: column;
    font-size: 2rem;
}

.up_down a {
    color: #d8261b;
}

#bouton_up {
    display: none;
}

body {
    background: #fff;
    font-family: 'Montserrat', sans-serif;
    color: #1e1e1e;
    font-size: 1em;
    box-sizing: border-box;
}

a, a:hover {
    text-decoration: none;
    transition: .5s all;
}

.content {
    width: 80%;
    margin: auto;
    line-height: 1.8;
    font-size: .8em;
}

img {
    max-width: 100%;
}

::-webkit-scrollbar {
    width: 7px;
    height: 14px;
    background: #cccbcb;
    border: 1px solid #a9a6a6;
}

::-webkit-scrollbar-track-piece {
    background: transparent none;
    border: solid 4px transparent;
    border-right-width: 8px;
    margin: 4px;
    -webkit-box-shadow: inset 1px 1px 0 0 rgb(137,131,117), inset -1px -1px 0 0 rgb(224,220,210);
}

::-webkit-scrollbar-track-piece:horizontal {
    border-right-width: 4px;
    border-bottom-width: 8px;
}

::-webkit-scrollbar-thumb {
    border: solid 0 transparent;
    border-right-width: 2px;
    -webkit-border-radius: 5px;
    -webkit-border-top-right-radius: 9px 5px;
    -webkit-border-bottom-right-radius: 9px 5px;
    -webkit-box-shadow: inset 0 0 0 1px #d8261b, inset 0 0 0 6px #d8261b;
    border-left-width: 2px;
}



/************************************* NAVIGATION *************************************/
body {
	--color-text: #fff;
	--color-link: #fff;
	--color-link-hover: #f20c40;
	--color-bg-item1: #15171b;
	--color-bg-item2: #2c35b7;
	--color-bg-item3: #0f1013;
	--color-bg-item4: #1d2027;
	--color-bg-item5: #0f1013;
	--color-item-alt: #494d54;
	--color-quote: #5b677a;
	--color-info: #57535a;
	--color-title: #e23434;
	--color-tagline: #e2e2e2;
	min-height: 100vh;
}

.barre_navigation {
    position: fixed;
    width: 100%;
    top: 0;
    left: 0;
    height: 70px;
    z-index: 9999;
    background: url(../img/texture-nav.jpg);
    box-sizing: border-box;
    padding: 30px 0 0;
}

a.logo {
    letter-spacing: 8px;
    font-weight: normal;
    font-style: initial;
    font-size: .7em;
    color: #E1E1E0;
    text-transform: uppercase;
    font-family: 'Montserrat', sans-serif;
    display: block;
    margin: auto;
    width: 250px;
}

a.logo::before {
    content: "</ ";
    color: #d8261b;
}

a.logo::after {
    content: " >";
    color: #d8261b;
}

.menu .select {
    color: #d8261b;
    font-weight: bold;
}

.menu a {
	text-decoration: none;
	color: var(--color-link);
	outline: none;
	transition: color 0.2s;
}

.menu a:hover,
.menu a:focus {
	color: var(--color-link-hover);
}

.menu button:focus,
.menu a:focus {
	outline: none;
}

.menu .hidden {
	position: absolute;
	overflow: hidden;
	width: 0;
	height: 0;
	pointer-events: none;
}

/* Icons */
.icon {
	display: block;
	width: 1.5em;
	height: 1.5em;
	margin: 0 auto;
	fill: currentColor;
}

main {
	position: relative;
	width: 100%;
    margin-top: -136px;
}

.site_content {
	text-align: center;
	position: relative;
	z-index: 100;
}

.background {
	perspective: 1000px;
}

.background,
.background__copy {
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	background-image: url(../img/1.jpg);
	background-position: 50% 0%;
	background-size: cover;
	z-index: 1;
}

.background__copy {
	opacity: 0.3;
}


/* Top Navigation Style */
.action {
	background: none;
	border: 0;
	color: #d8261b;
	cursor: pointer;
	padding: 0;
}

.action:after {
    content: "Menu ";
    position: absolute;
    font-weight: 600;
    text-transform: uppercase;
    transform: rotate(-90deg);
    left: -90%;
    color: #fff;
    top: 20%;
    font-family: 'Nunito Sans', sans-serif;
    font-size: .8rem;
}

.action--menu {
	pointer-events: auto;
	position: absolute;
	top: 1.5rem;
	right: 1.5rem;
	z-index: 1000;
}

.menu--open .action--menu {
	pointer-events: none;
}


.action--close {
	position: absolute;
	top: 1.5rem;
	right: 1.75rem;
	z-index: 1000;
	opacity: 0;
	padding: 0 0.5rem;
}

.icon--menu {
	width: 2rem;
}

.icon--close {
	width: 1rem;
}

.menu {
	text-align: center;
	width: 100%;
	height: 100vh;
	overflow: hidden;
	position: fixed;
	top: 0;
	left: 0;
    color: #57585c;
	color: var(--color-text);
	background-color: #fff;
	background-color: var(--color-bg);
	z-index: 200;
    font-family: "europa", Futura, Arial, sans-serif;
	display: grid;
    padding: 0 0 0 0;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	grid-template-columns: 100%;
	grid-template-rows: repeat(3,33.33%);
	pointer-events: none;
}

.menu__item {
	width: 100%;
	position: relative;
	overflow: hidden;
}

.menu__item-inner {
	overflow: hidden;
	transform: translate3d(100%,0,0);
	height: 100%;
	width: 100%;
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: center;
}

.menu__item--1 .menu__item-inner {
	background: var(--color-bg-item1);
}
.menu__item--2 .menu__item-inner {
	background: var(--color-bg-item2);
}
.menu__item--3 .menu__item-inner {
	background: var(--color-bg-item3);
}
.menu__item--4 .menu__item-inner {
	background: var(--color-bg-item4);
}
.menu__item--5 .menu__item-inner {
	background: var(--color-bg-item5);
}

.menu__item--4,
.menu__item--5 {
	display: none;
}

.menu .label {
	display: none;
}

.mainmenu__item {
	opacity: 0;
}

.mainmenu__item,
.sidemenu__item {
	position: relative;
	overflow: hidden;
	transition: color 0.1s;
	margin: 0.25rem 0;
	display: block;
}

.sidemenu__item-inner {
	display: block;
	transform: translate3d(0,100%,0);
}

.menu__item-map {
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	background: url(../img/imgmenu.jpg) no-repeat 50% 50%;
	background-size: cover;
	transition: transform 0.8s cubic-bezier(0.2,1,0.8,1);
}

.menu__item-inner:hover .menu__item-map {
	transform: scale3d(1.1,1.1,1);
}

.menu__item-hoverlink {
	font-weight: bold;
	text-transform: capitalize;
	position: relative;
	z-index: 1000;
	display: block;
}

.menu__item-hoverlink:hover {
	color: var(--color-link)!important;
}

.quote {
	font-size: 2rem;
	padding: 1rem;
	text-align: center;
	max-width: 70%;
	color: var(--color-quote);
    font-family: 'Streamster', sans-serif;
}

.menu__item-link {
	text-align: left;
	align-self: flex-start;
	justify-self: start;
	font-size: 1.5rem;
	width: 100%;
	line-height: 1;
	padding: 2rem ;
	margin: 3rem 0 auto;
	display: flex;
	flex-direction: column;
	height: calc(100% - 3rem);
}

.menu__item-link::after {
	content: '\27F6';
	display: block;
	margin-top: auto;
	font-size: 0.95rem;
}

@media screen and (min-width: 53em) {
	body {
		padding: 0;
	}
	.site_content {
		position: relative;
		min-height: 100vh;
		text-align: left;
	}


.menu--open {
	pointer-events: inherit !important;
}

	.menu {
		width: 100%;
		height: 100vh;
		overflow: hidden;
		position: fixed;
		top: 0;
		left: 0;
		grid-template-columns: 20% 30% 50%;
		grid-template-rows: 60% 40%;
		grid-template-areas:
            "item3 item2 item1"
            "item4 item5 item1";
	}
	.menu__item {
		height: 100%;
	}
	.menu__item--1 {
		grid-area: item1;
	}
	.menu__item--2 {
		grid-area: item2;
	}
	.menu__item--3 {
		grid-area: item3;
	}
	.menu__item--4 {
		grid-area: item4;
	}
	.menu__item--5 {
		grid-area: item5;
	}
	.menu__item--4,
	.menu__item--5 {
		display: block;
	}
	.menu__item-inner {
		align-items: center;
	}
	.menu .label {
		display: block;
		color: var(--color-item-alt);
		position: absolute;
		z-index: 1000;
		font-size: 0.85rem;
		font-weight: bold;
		margin: 0;
		white-space: nowrap;
	}
	.label--topleft {
		top: 2rem;
		left: 2rem;
	}
	.label--vert,
	.label--vert-mirror {
		-webkit-writing-mode: vertical-rl;
		writing-mode: vertical-rl;
	}
	.label--vert-mirror {
		transform: rotate(180deg);
	}
	.label--bottomright {
		bottom: 2rem;
		right: 2rem;
	}
	.menu .label::before {
		content: '------------- ';
		-webkit-font-smoothing: antialiased;
		-moz-osx-font-smoothing: grayscale;
		letter-spacing: -1px;
		margin: 0 0.75rem 0 0;
	}
	.label--vert::before,
	.label--vert-mirror::before {
		margin: 0.75rem 0;
	}
	.mainmenu,
	.sidemenu {
		width: 100%;
		height: 100%;
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
	}
	.mainmenu {
		counter-reset: menuitem;
	}
	.mainmenu__item {
		font-size: 5vw;
		text-transform: lowercase;
		overflow: visible;
		margin: 0.5rem 0;
		padding: 0 0.5rem;
		position: relative;
		transition: color 0.3s;
	}
	.mainmenu__item:hover {
		color: var(--color-item-alt);
	}
	.mainmenu__item::before {
		counter-increment: menuitem;
		content: counters(menuitem, "", decimal-leading-zero);
		position: absolute;
	    font-size: 0.85rem;
	    top: 25%;
	    left: -1.25rem;
	    color: var(--color-item-alt);
	}
	.mainmenu__item::after {
		content: '';
		width: 100%;
		top: 58%;
		height: 6px;
		background: var(--color-link-hover);
		position: absolute;
		left: 0;
		opacity: 0;
		transform: scale3d(0,1,1);
		transition: transform 0.3s, opacity 0.3s;
		transform-origin: 100% 50%;
	}
	.mainmenu__item:hover::after {
		opacity: 1;
		transform: scale3d(1,1,1);
	}
	.sidemenu__item {
		text-transform: uppercase;
		letter-spacing: 0.15rem;
		font-size: 0.85rem;
	}
	.menu__item-hoverlink {
		font-size: 1.25rem;
		text-transform: lowercase;
		border-bottom: 2px solid #fff;
		opacity: 0;
		transition: opacity 0.3s;
	}
	.menu__item-inner:hover .menu__item-hoverlink {
		opacity: 1;
	}

}





/********************************* HEADER *********************************/
.header_halloween {
    background: url('../img/header.png') center no-repeat;
    background-size: cover;
    width: 100%;
    height: 500px;
    margin: 52px 0 4%;
}

.header_halloween div {
    background: url(../img/fond-h1.gif) no-repeat center;
    width: 50%;
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
    justify-content: center;
    text-align: center;
    color: #e1e1e1;
    height: 500px;
    text-transform: uppercase;
    box-sizing: border-box;
    margin-left: -5vw;
}

.header_halloween div h3 {
    font-family: 'Nunito Sans', sans-serif;
    letter-spacing: 20px;
    font-size: .8em;
    font-weight: 300;
}

.header_halloween div h1 {
    font-family: 'Streamster', sans-serif;
    font-size: 6em;
    font-weight: normal;
    color: #e1e1e1 !important;
    line-height: 1.2;
    margin: 2% 0 1%;
    text-transform: none;
}

.header_halloween div h1 span {
    font-family: 'Cabin Condensed', sans-serif;
    display: block;
    font-size: .2em;
    letter-spacing: 10px;
    text-transform: uppercase;
}

.header_halloween div h2 {
    font-size: .67em;
    font-weight: normal;
    text-align: left;
    margin: 0 auto;
}

.header_halloween div h2::after {
    display: none;
}

.header_halloween div h2 span {
    border-bottom: 2px solid #d8261b;
    content: "";
    display: block;
    width: 30%;
    margin: 5% 0 0;
}






/********************************* GENERALITES *********************************/

/* TITRES */
h2, .colonne_code h3, .mentions-legales h2 {
    font-size: 3em;
    text-transform: uppercase;
    font-family: 'Lato', sans-serif;
    font-weight: normal;
    text-align: left;
    margin: 0 auto;
}

h2::after, .colonne_code h3::after, .mentions-legales h2::after {
    border-bottom: 2px solid #d8261b;
    content: "";
    display: block;
    width: 100px;
    margin: .5% 0 0;
}

h3 {
    font-family: 'Nunito Sans', sans-serif;
    letter-spacing: 20px;
    font-size: 1em;
    font-weight: 300;
    text-transform: uppercase;
}


.hp_introduction::after, .hp_nouveautes::after, .hp_actu_codes::after, .hp_partos::after, .bloc_ls::after, .barre_laterale::after {
    content: "";
    display: block;
    clear: both;
}

section.mentions-legales p a {
    color: #d8261b;
    font-weight: bold;
    text-transform: uppercase;
}

/* CHAT */
.hp_chat {
    margin: 15rem 0 0;
    display: flex;
    justify-content: space-between;
}

.hp_chat .middle {
    position: relative;
}

.hp_chat .middle, .hp_chat .right {
    width: 50%;
}

.hp_chat .fond_chiffres, .number {
    color: #e1e1e1;
    font-family: 'Cabin Condensed', sans-serif;
    font-size: 15vw;
    position: absolute;
    top: -15vw;
    z-index: 3;
    left: 50%;
}

.hp_chat .bloc_gris {
    background: url(../img/texture-nav.jpg);
    text-align: left;
    height: 365px;
    line-height: 0;
    position: relative;
}

.hp_chat .right {
    width: 35%;
}

img.hp_chat_img {
    position: absolute;
    right: -20%;
    top: 4%;
}

.nme {
    text-transform: uppercase !important;
    font-weight: bold !important;
    font-family: 'Arial', sans-serif !important;
    font-size: 10px !important;
}


/********************************* FOOTER *********************************/
footer {
    background: url('../img/texture-nav.jpg');
    margin: 2% 0 0;
}

.footer_content {
    position: relative;
    padding: 1% 0;
    text-align: center;
}

.footer_content p {
    margin: 0;
    padding: 0;
    display: inline-block;
    color: #e1e1e1;
    font-size: .7em;
    font-family: 'Open Sans', sans-serif;
}

.footer_content a {
    color: #e1e1e1;
}

.ml {
    color: #e1e1e1;
    text-transform: uppercase;
    font-family: 'Open Sans', sans-serif;
}

.reseaux_sociaux {
    position: absolute;
    top: .6vw;
    right: 5vw;
}

.reseaux_sociaux img {
    margin: 0 .6vw;
    width: 30px;
}

a.contact {
    background: #d8261b;
    width: 90px;
    display: inline-block;
    color: #fff;
}






/********************************* NEWSLETTER *********************************/
section.hp_news_inscription p {
    text-align: center;
}

section.hp_news_inscription .title_center {
    margin: 0 auto 3%;
}

section.hp_news_inscription {
    height: 15.6vw;
}





/********************************* HOMEPAGE *********************************/


/* INTRODUCTION */
.hp_introduction {
    margin: 12% 0 0;
    justify-content: center;
    display: flex;
}

.hp_introduction .left, .hp_introduction .middle {
    float: left;
}

.hp_introduction .left {
    width: 50%;
    position: relative;
}

.hp_introduction p {
    margin: 5% 0 5% 20%;
    position: relative;
    z-index: 5;
    text-align: justify;
}

.hp_introduction .middle {
    width: 50%;
    margin: 7% 0 0 -10%;
    position: relative;
    height: 361px;
}

.bloc_gris {
    background: #f3f3f3;
    width: 100%;
    height: 361px;
    position: relative;
    z-index: 4;
    text-align: right;
}

.fond_chiffres, .number {
    color: #e1e1e1;
    font-family: 'Cabin Condensed', sans-serif;
    font-size: 15vw;
    position: absolute;
    top: -15vw;
    z-index: 3;
    left: 6%;
}

/* NOUVEAUTES */
.hp_nouveautes .middle, .hp_nouveautes .right {
    float: left;
    width: 50%;
}

.hp_nouveautes {
    margin: 20% 0 0;
}

.hp_nouveautes .middle {
    position: relative;
}

.hp_nouveautes .middle .fond_chiffres {
    right: 3%;
    left: inherit;
}

.hp_nouveautes .middle .bloc_gris {
    text-align: left;
    height: 335px;
}

span.trait_img_haut {
    content: "";
    border-bottom: 1px solid #1e1e1e;
    width: 30%;
    display: block;
    transform: rotate(90deg);
    position: absolute;
    left: -15%;
    top: 0;
}

span.trait_img_gauche {
    content: "";
    border-bottom: 1px solid #1e1e1e;
    width: 30%;
    display: block;
    position: absolute;
    left: -15%;
    bottom: .1%;
}

.hp_nouveautes .right h2, .hp_nouveautes .right h3 {
    margin: 0 0 0 20%;
}

.hp_nouveautes .right h3 {
    margin: -9% 0 0 20%;
}

.hp_nouveautes .txt_news {
    margin: 5% 0 2% -15%;
    position: relative;
    text-align: justify;
    z-index: 4;
}

.hp_nouveautes .txt_news span {
    float: left;
    display: block;
    font-family: 'Nunito Sans', sans-serif;
    text-align: center;
    font-size: 3em;
    line-height: .6;
    letter-spacing: -5px;
    margin: 0 2% 0 0;
}

.txt_news a::before {
    color: #d8261b;
    font-weight: bold;
    content: "< ";
}

.txt_news a::after {
    color: #d8261b;
    font-weight: bold;
    content: " >";
}

.txt_news a {
    color: #d8261b;
    font-weight: bold;
}

.hp_nouveautes .txt_news span::after {
    content: "";
    display: block;
    width: 100%;
    border-bottom: 2px solid #d8261b;
    padding: 0 0 20%;
    text-align: center;
    margin: auto;
}



/* COMMANDES FERMEES */
.hp_nouveautes .txt_news .news_urgence {
    color: #d8261b;
    font-weight: bold;
    float: none !important;
    display: inherit !important;
    text-align: left;
    font-size: inherit !important;
    letter-spacing: -1px !important;
}

.hp_nouveautes .txt_news .news_urgence::after {
    display: none;
}



/* CHIFFRES */
.hp_stats {
    margin: 20% 0 2%;
    position: relative;
}

.content_hp_stats {
    background: url(../img/homepage/halloween-stats.png) no-repeat right #fff;
    padding: 6% 0;
    text-align: center;
    position: relative;
    z-index: 3;
}

.hp_stats .fond_chiffres {
    left: 40%;
    top: -11vw;
}

.bloc_chiffres {
    display: inline-block;
    margin: 0 6%;
    text-align: center;
    font-style: italic;
    letter-spacing: -1px;
    font-family: 'Open Sans', sans-serif;
    font-size: 1.5em;
}

.bloc_chiffres div {
    display: block;
    color: #d8261b;
    font-size: 2em;
    line-height: 1;
    font-family: 'Streamster', sans-serif;
    font-style: normal;
}

.bloc_chiffres span {
    color: #fff;
}

/* COMMANDES UC DERNIERS AJOUTS */
.hp_actu_codes {
    margin: 10% 0 0;
}

.hp_actu_codes .left, .hp_actu_codes .right {
    float: left;
    width: 50%;
}

.hp_actu_codes {
    position: relative;
    margin: 20% 0 15%;
}

.hp_actu_codes .left {
    height: 550px;
    background-image: linear-gradient(#fdfdfd, #f4f4f4);
    position: relative;
    z-index: 4;
}

.fond_chiffres.fc_left {
    top: -12.5vw;
    z-index: 4;
    left: 15%;
}

.commandes_uc, .derniers_ajouts {
    margin: 5% 20% 0;
    width: 70%;
    box-sizing: border-box;
}

.commandes_uc ul, .derniers_ajouts ul {
    margin: 8% 0;
    line-height: 3;
}

.commandes_uc ul li, .derniers_ajouts ul li {
    list-style: none;
}

.commandes_uc ul li::before, .derniers_ajouts ul li::before {
    content: ">_ ";
    color: #d8261b;
    font-weight: bold;
    margin: 0 2% 0 0;
}

.commandes_uc ul li span, .derniers_ajouts ul li span {
    color: #d8261b;
    font-weight: 700;
    letter-spacing: -1px;
    margin: 0 2%;
}

.commandes_uc ul li a, .derniers_ajouts ul li a {
    background: #d8261b;
    color: #e1e1e1;
    font-size: .8em;
    padding: 0 2%;
    display: inline-block;
    line-height: 1.8;
}

.commandes_uc ul {
    margin: 8% 0 2%;
}

.commandes_uc ul p {
    font-size: .8em;
    text-align: center;
}

.commandes_uc ul p span {
    color: #d8261b;
    font-weight: bold;
}

.hp_actu_codes .right {
    background: url(../img/homepage/halloween-fond-derniers.png) right no-repeat #1e1e1e;
    height: 550px;
    position: relative;
    z-index: 5;
    color: #e1e1e1;
}

img.homme_middle {
    position: absolute;
    z-index: 6;
    top: -10vw;
    left: 36vw;
    width: 28%;
}

.fond_chiffres.fc_right {
    right: 17%;
    left: auto;
    top: -12.5vw;
}

.derniers_ajouts {
    margin: 5% 0 0 35%;
    width: 60%;
}


/* LIENS RAPIDES */
section.hp_liens_rapides {
    position: relative;
}

.hp_liens_rapides .fond_chiffres {
    left: 39%;
}

.content_liens_rapides {
    margin: 2% 0;
    position: relative;
    z-index: 4;
}

.content_liens_rapides a {
    display: inline-block;
    width: 33%;
    text-align: center;
    font-size: 2em;
    font-style: italic;
    color: #1e1e1e;
    letter-spacing: -2px;
    text-transform: lowercase;
    margin: 0;
    padding: 9% 0;
    font-family: 'Open Sans', sans-serif;
}

.content_liens_rapides .fiches {
    background: url(../img/homepage/fichesmessages.png) no-repeat center, #e6e6e6;
}

.content_liens_rapides .templates {
    background: url('../img/homepage/templateselements.png') no-repeat center, url('../img/texture-nav.jpg');
    color: #fff;
}

.content_liens_rapides .index {
    background: url('../img/homepage/index.png') no-repeat center, #e6e6e6;
}

.content_liens_rapides .derniers {
    background: url('../img/homepage/dernierscodes.png') no-repeat center, url('../img/texture-nav.jpg');
    color: #fff;
}

.content_liens_rapides .commande {
    background: url('../img/homepage/commander.png') no-repeat center, #e6e6e6;
}

.content_liens_rapides .contact {
    background: url('../img/homepage/contact.png') no-repeat center, url('../img/texture-nav.jpg');
    color: #fff;
}

/* NEWSLETTERS */
.title_center {
    width: 40%;
    margin: 10% auto 2%;
}

form.newsletter_form {
    width: 80%;
    margin: auto;
}

.newsletter_form input#mail {
    border: 0;
    background: #f1f1f1;
    width: 80%;
    display: inline-block;
    padding: 1%;
    border-radius: 5px;
}

input.souscrire_newsletters:hover {
    background: none;
    border: 2px solid #d8261b;
    color: #d8621b;
}

input.souscrire_newsletters {
    background: #d8261b;
    padding: 1%;
    width: 8vw;
    color: #fff;
    text-transform: uppercase;
    font-size: .9em;
    cursor: pointer;
    border: 0;
    margin: 0 0 0 2%;
    transition: .5s all;
}


/* PARTENAIRES */
section.hp_partos {
    margin: 10% 0 0;
}

section.hp_partos .title_center {
    width: 43%;
}

.hp_partos .bloc_gris {
    width: 40%;
    height: 200px;
}

section.hp_partos .left .partenaires {
    width: 90%;
    margin: -8.2vw 0 0 10vw;
    position: relative;
    z-index: 5;
}

section.hp_partos .right {
    width: 250px;
    height: 300px;
    margin: 0 0 0 9vw;
}

.agencement_partenaires {
    display: flex;
    align-items: center;
    justify-content: center;
}

.partenaires {
    width: 60%;
    margin: 0 0 0 -10rem;
    position: relative;
    z-index: 8;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
}

.partenaires a {
    margin: 0rem .5rem;
}




/************************************* LISTING *************************************/
.ariane a {
    color: #1e1e1e;
    margin: 0 2% 2% 0;
    display: inline-block;
}

.ariane a.actif::after {
    border-bottom: 1px solid #d8261b;
    content: "";
    width: 50px;
    display: block;
    margin: 0 0 0 14%;
}

.ariane a:hover {
    color: #d8261b;
    font-weight: 700;
}

.ariane a::before {
    content: ">_ ";
    color: #d8261b;
    display: inline-block;
    font-weight: 700;
}

.listing h4 {
    font-size: 3em;
    text-transform: uppercase;
    font-family: 'Lato', sans-serif;
    font-weight: normal;
    margin: 0 auto 4%;
    text-align: center;
}

.listing h4::after {
    border-bottom: 2px solid #d8261b;
    content: "";
    display: block;
    width: 100px;
    margin: .5% auto 0;
}

.bloc_ls {
    width: 100%;
    position: relative;
    margin: 10% 0;
}

.bloc_ls img {
    float: left;
    z-index: 3;
    position: relative;
}

.bloc_ls .bloc_gris {
    background: #f3f3f3;
    width: 50%;
    content: "";
    height: 262px;
    display: block;
    position: absolute;
    top: 0;
    z-index: 2;
}

.listing .bloc_ls .number {
    left: 40%;
    z-index: 1;
}

.informations_ls {
    float: left;
    z-index: 5;
    position: relative;
    width: 40%;
    margin: 1vw 0 0 10vw;
}

.bloc_ls .informations_ls span {
    background: #d8261b;
    display: block;
    width: fit-content;
    color: #e1e1e1;
    text-transform: uppercase;
    font-size: .8em;
    font-weight: 700;
    padding: 1% 2%;
    margin: 5% 0 2%;
}

.bloc_ls .informations_ls p {
    text-align: justify;
}

/* TRI VERSIONS */
#container_bingo {
    display: grid;
    grid-template-areas:
        "a a b c d e f f"
        "g g g g g g g g";
    justify-content: center;
    grid-template-rows: 50px auto;
    grid-template-columns: repeat(2, auto) repeat(4, 180px) repeat(2, auto);
}

label[for="listing_tout"] {
  	grid-area: b;
}

label[for="listing_PHPBB2"] {
  	grid-area: c;
}

label[for="listing_invision"] {
  	grid-area: d;
}

label[for="listing_modernbb"] {
  	grid-area: e;
}

#container_bingo .inp {
        width: 0;
        margin: 0;
        visibility: hidden;
}

#container_bingo .lab {
    background-size: contain;
    margin: auto;
    height: 40px;
    position: relative;
    width: 150px;
    display: flex;
    align-items: center;
    transition: .3s;
    justify-content: center;
}

#container_bingo .inp:checked + .lab {
    	transition: .3s;
}

[type="radio"]:checked + label {
    background: #fa625c;
    color: #fff;
    font-weight: bold;
}

ul#listing_content {
    list-style: none;
    margin: 6% 0 0 0;
    padding: 0;
    width: 100%;
    grid-area: g;
}

#listing_content .bloc_gris {
    height: 285px;
}

#container_bingo #listing_tout:checked ~ #listing_content .listing_tout_c,
#container_bingo #listing_PHPBB2:checked ~ #listing_content .listing_PHPBB2_c,
#container_bingo #listing_invision:checked ~ #listing_content .listing_invision_c,
#container_bingo #listing_modernbb:checked ~ #listing_content .listing_modernbb_c {
    	visibility: visible;
    height: 285px;
        margin: 11rem 0 11rem;
}

#listing_content > li {
    width: 100%;
    visibility: hidden;
    height: 0;
}
#container_bingo .bloc_ls {
    width: 100%;
    position: relative;
    margin: initial;
    display: flex;
}

#container_bingo .lab span {
    color: #fa625c;
    font-weight: bold;
    margin: 0 2px;
}

#container_bingo .lab:hover {
    border: 2px solid #fa625a;
    transition: .3s;
}




/************************************* FICHE LS *************************************/
.barre_laterale .naruto {
    display: none;
}

.barre_laterale h2 {
    text-align: center;
}

.barre_laterale h2::after {
    margin: auto;
}

.barre_laterale p {
    width: 70vw;
    margin: 3% auto;
}

.barre_laterale p span {
    background: #d8261b;
    display: initial;
    padding: .5% 1%;
    color: #fff;
    text-transform: uppercase;
    font-size: .8em;
    margin: 0 2% 0 0;
}

.barre_laterale p a {
    color: #d8261b;
    text-transform: uppercase;
    font-weight: bold;
}

.colonne_code img {
    display: block !important;
    margin: 2% auto;
    position: relative;
    z-index: 3;
}

.colonne_code h3 {
    text-align: center;
    margin: 5% 0 0;
}

.colonne_code h3::after {
    margin: 0 auto 2%;
}

.colonne_code textarea {
    width: 50%;
    margin: 2% auto 4%;
    display: block;
    height: 10vw;
    border: 0;
    text-align: justify;
    padding: 0 2%;
    box-sizing: border-box;
}

.colonne_code textarea.css {
    border-left: 5px solid #83b248;
}

.colonne_code textarea.html {
    border-left: 5px solid #b11c13;
}

.colonne_code textarea.js {
    border-left: 5px solid #eb752f;
}

section.tags {
    background: #b11c13;
    width: 60%;
    margin: 3% auto 0;
    text-align: center;
    color: #fff;
    text-transform: uppercase;
    padding: 1% 0;
    font-size: .8em;
}

a.liens_forums_commandes {
    margin: 2% auto 0;
    text-align: center;
    display: block;
}

a.maquette-complete {
    background: #d8261b;
    color: #fff !important;
    padding: 1%;
    display: table;
    border: 2px solid #d8261b;
    margin: 2% auto 0;
}

a.maquette-complete:hover {
    background: none;
    color: #d8261b !important;
    border: 2px solid #d8261b;
}

.colonne_code p {
    width: 60%;
    margin: 2% auto 0;
}

.derniere-modification {
    color: #d8261b;
    font-weight: bold;
    text-align: center;
    margin: 4% 0 0;
    font-family: 'Cabin Condensed', sans-serif;
    font-size: 1.6em;
    letter-spacing: -1px;
}

a.code_dl {
    display: block;
    text-align: center;
    color: #d8261b;
    border: 2px solid #d8261b;
    width: 230px;
    margin: 5% auto 0;
    padding: 1%;
    cursor: pointer;
}

a.code_dl:hover {
    background: #d8261b;
    color: #e1e1e1;
}

p.ls_code_infos {
    background: #fa625c;
    color: #fff;
    padding: 2% 10%;
    margin: 2% auto 0;
}

.ls_code_infos::before {
    background: url(../img/commandes_attention.png);
    content: "";
    display: block;
    width: 40px;
    height: 40px;
    background-size: cover;
    float: left;
    margin: 0 2% 0 0;
}

p.ls_code_infos span {
    font-weight: bold;
    width: inherit;
    font-family: 'Nunito Sans', sans-serif;
}

a.credits-images {
    text-transform: lowercase !important;
    letter-spacing: 1px;
    margin: 0 0 0 1rem;
    position: relative;
    z-index: 3;
}



/************************************* MENTIONS LEGALES *************************************/
section.mentions-legales p {
    margin: 1.8% 0 0;
}







/************************************* PASSER COMMANDE *************************************/
.passer_commande .g1 {
    position: relative;
    margin: 0 0 5% 0;
}

section.passer_commande .g1 p,
section.passer_commande .g1 ul {
    width: 50%;
    margin: 2% 0 0 10vw;
    text-align: justify;
    position: relative;
    z-index: 3;
}

.passer_commande ul li {
    list-style: none;
}

.passer_commande ul li::before {
    content: "</>";
    background: #d8261b;
    color: #fff;
    padding: 2px 5px;
    margin: 0 5px 0 0;
}

section.passer_commande .g1 .bloc_gris {
    width: 50%;
    position: absolute;
    top: -3vw;
    z-index: 2;
    right: 0;
    height: 250px;
}

.passer_commande_fonctionnement p {
    margin: 2% 0;
}

.passer_commande_fonctionnement {
    position: relative;
    margin: 0 0 10% 0;
}

.passer_commande_fonctionnement .bloc_gris {
    position: absolute;
    left: 0;
    z-index: 2;
    height: 330px;
    width: 50%;
}

.passer_commande span {
    color: #d8261b;
    text-transform: uppercase;
}

/* FORMULAIRE */
.commandesform {
    width: 80%;
    margin: auto;
    background-image: linear-gradient(#f7f7f7, #f5f5f5);
    padding: 2%;
    box-sizing: border-box;
    box-shadow: 0 15px 20px -20px rgba(0,0,0,.8);
    line-height: 4;
}

.commandesform fieldset {
    border: none;
    margin: 2% 0;
    background: #f3f3f3f3;
    padding: 2%;
    box-sizing: border-box;
}

.commandesform fieldset:nth-child(2n) {
    background: #efefef;
}

.commandesform input:focus, .commandesform textarea:focus {
    border: 2px solid #fa625c;
    outline: none;
}

.commandesform input, .commandesform textarea {
    border: 2px solid #eaeeef;
    border-radius: 5px;
    padding: 1%;
    font-family: 'Montserrat', sans-serif;
    font-size: 1em;
}

.commandesform span {
    text-transform: none;
    font-weight: 600;
    display: inline-block;
    width: 170px;
    color: inherit;
}

.commandesform p {
    margin: 0 0 2%;
    line-height: 1.5;
}

.commandesform textarea {
    display: block;
    margin: 0 0 2% 5%;
    width: 60%;
    min-height: 100px;
}

/* Versions */
.commandesform #choix input, .commandesform #remise_code input {
    display: none;
}

[type="radio"]:not(:checked) + label, [type="radio"]:checked + label {
    cursor: pointer;
    padding: 1%;
    border-radius: 5px;
    margin: 0 1% 0 0;
}

[type="radio"]:not(:checked) + label{
    border: 2px solid #dcdcdc;
}


[type="radio"]:checked + label {
    background: #fa625c;
    color: #fff;
}

/* ELEMENTS */
.commandesform #cheklist_commande {
    display: flex;
    flex-direction: row;
    justify-content: center;
    margin: 0 auto 2%;
    width: 95%;
}

#cheklist_commande ul {
    line-height: 3;
    display: flex;
    flex-direction: column;
    flex-grow: 1;
}

#cheklist_commande ul li {
    list-style: none;
    display: inline-block;
}


/* Cachons la case à cocher */
#cheklist_commande [type="checkbox"]:not(:checked),
#cheklist_commande [type="checkbox"]:checked {
  position: absolute;
  left: -9999px;
}

/* on prépare le label */
#cheklist_commande [type="checkbox"]:not(:checked) + label,
#cheklist_commande [type="checkbox"]:checked + label {
  position: relative; /* permet de positionner les pseudo-éléments */
  padding-left: 25px; /* fait un peu d'espace pour notre case à venir */
  cursor: pointer;    /* affiche un curseur adapté */
}


/* Aspect des checkboxes */
/* :before sert à créer la case à cocher */
#cheklist_commande [type="checkbox"]:not(:checked) + label:before,
#cheklist_commande [type="checkbox"]:checked + label:before {
  content: '';
  position: absolute;
  left: 0; top: 0;
  width: 17px; height: 17px; /* dim. de la case */
  background: #dedede;
  border-radius: 3px; /* angles arrondis */
}

/* Aspect général de la coche */
#cheklist_commande [type="checkbox"]:not(:checked) + label:after,
#cheklist_commande [type="checkbox"]:checked + label:after {
  content: '✓';
  position: absolute;
  transition: all .2s; /* on prévoit une animation */
    font-size: 15px;
    font-weight: bold;
    top: -14px;
    left: 3px;
    color: #fff;
}
/* Aspect si "pas cochée" */
#cheklist_commande [type="checkbox"]:not(:checked) + label:after {
  opacity: 0; /* coche invisible */
  transform: scale(0); /* mise à l'échelle à 0 */
}
/* Aspect si "cochée" */
#cheklist_commande [type="checkbox"]:checked + label:after {
  opacity: 1; /* coche opaque */
  transform: scale(1); /* mise à l'échelle 1:1 */
}

#cheklist_commande [type="checkbox"]:checked + label:before {
  background: #fa625c;
}

/* AVERTISSEMENT */
p.commande_avertissement {
    background: #fa625c;
    color: #fff;
    padding: 2% 10%;
    margin: 2% auto 0;
}

.commande_avertissement::before {
    background: url(../img/commandes_attention.png);
    content: "";
    display: block;
    width: 40px;
    height: 40px;
    background-size: cover;
    float: left;
    margin: 0 2% 0 0;
}

p.commande_avertissement span {
    font-weight: bold;
    width: inherit;
    font-family: 'Nunito Sans', sans-serif;
}

#commande_remarques span {
    width: inherit;
}

.commandesform .contact_recommencer {
    width: 250px;
    padding: 15px;
    border: 2px solid #eaeeef;
    background: #fff;
    color: #828482;
    cursor: pointer;
    transition: .5s all;
    margin: 0 5% 0 0;
}

.commandesform .contact_envoyer {
    background: #fa625c;
    width: 250px;
    cursor: pointer;
    padding: 15px;
    color: #fff;
}

.commandesform .contact_recommencer:hover {
    background: #fa625c;
    color: #fff;
    transition: .5s all;
}

.passcommandeboutons {
    text-align: center;
}






/************************************* CONTACT *************************************/
.contact p {
    margin: 2% 0;
}

form.contactform {
    text-align: center;
    width: 60%;
    margin: auto;
    background-image: linear-gradient(#f7f7f7, #f5f5f5);
    padding: 2%;
    box-sizing: border-box;
    box-shadow: 0 15px 20px -20px rgba(0,0,0,.8);
    line-height: 4;
}

form.contactform fieldset {
    border: none;
    margin: 2% 0;
    background: #f3f3f3f3;
    padding: 2%;
    box-sizing: border-box;
}

form.contactform input {
    width: 100%;
    background: #f7f7f7;
    margin: 1% 0;
    border: 2px solid #eaeeef;
    border-radius: 5px;
    padding: 1%;
    font-family: 'Montserrat', sans-serif;
    font-size: 1em;
    display: block;
    box-sizing: border-box;
}

.contactform #sujet {
    width: 100%;
}

.contactform textarea {
    width: 100%;
    margin: auto;
    display: block;
    min-height: 250px;
    background: #f7f7f7;
    box-sizing: border-box;
    border: 2px solid #eaeeef;
    border-radius: 5px;
    padding: 1%;
    font-size: 1em;
    font-family: 'Nunito Sans', sans-serif;
    text-align: justify;
}

.boutons_contact {
    display: flex;
    justify-content: center;
    margin: 30px 0 50px;
}

.contactform .contact_recommencer {
    width: 250px;
    padding: 15px;
    border: 2px solid #eaeeef;
    background: #fff;
    color: #828482;
    cursor: pointer;
    transition: .5s all;
    margin: 0 5% 0 0;
}

.contactform .contact_recommencer:hover {
    background: #fa625c;
    color: #fff;
    transition: .5s all;
}

.contactform input.contact_envoyer {
    background: #fa625c;
    width: 250px;
    cursor: pointer;
    padding: 15px;
    color: #fff;
    margin: 0;
}

section.formulaire_envoye p {
    margin: 2% 0 13.25%;
}






/************************************* REFERENCES *************************************/
section.references p {
    width: 80%;
    margin: 2% auto 8%;
    text-align: justify;
    position: relative;
    z-index: 3;
}

section.references {
    position: relative;
    text-align: center;
}

.references .bloc_gris {
    position: absolute;
    right: 0;
    width: 50%;
    top: 0;
    z-index: 2;
    height: 300px;
}

.references a {
    margin: 0 .5%;
    text-align: center;
    padding: .5%;
}








/************************************* BOUTONS *************************************/

.button {
    min-width: 150px;
    max-width: 0px;
    display: block;
    margin: 1em;
    padding: 1em 1em;
    border: none;
    background: none;
    color: inherit;
    vertical-align: middle;
    position: relative;
    z-index: 1;
    -webkit-backface-visibility: hidden;
    -moz-osx-font-smoothing: grayscale;
    text-align: center;
    float: right;
}

/* Sizes */
.button--size-s {
	font-size: 14px;
}
.button--size-m {
	font-size: 16px;
}
.button--size-l {
	font-size: 18px;
}

/* Typography and Roundedness */
.button--text-upper {
	letter-spacing: 2px;
	text-transform: uppercase;
}
.button--text-thin {
	font-weight: 300;
}
.button--text-medium {
	font-weight: 500;
}
.button--text-thick {
	font-weight: 600;
}
.button--round-s {
	border-radius: 5px;
}
.button--round-m {
	border-radius: 15px;
}
.button--round-l {
	border-radius: 40px;
}

/* Borders */
.button--border-thin {
	border: 1px solid;
}
.button--border-medium {
	border: 2px solid;
}
.button--border-thick {
	border: 3px solid;
}/* Quidel */
.button--quidel {
    background: #6dc5b7;
    color: #6dc5b7;
    overflow: hidden;
    -webkit-transition: color 0.3s;
    transition: color 0.3s;
    -webkit-transition-timing-function: cubic-bezier(0.75, 0, 0.125, 1);
    transition-timing-function: cubic-bezier(0.75, 0, 0.125, 1);
}
.button--quidel.button--inverted {
	background: #fff;
	color: #fff;
}
.button--quidel::before,
.button--quidel::after {
	content: '';
	position: absolute;
	z-index: -1;
	border-radius: inherit;
}
.button--quidel::after {
	top: 2px;
	left: 2px;
	right: 2px;
	bottom: 2px;
	background: #fff;
}
.button--quidel.button--inverted::after {
	background: #d8261b;
}
.button--quidel::before {
	background: #d8261b;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	-webkit-transform: translate3d(0, 100%, 0);
	transform: translate3d(0, 100%, 0);
	-webkit-transition: -webkit-transform 0.3s;
	transition: transform 0.3s;
	-webkit-transition-timing-function: cubic-bezier(0.75, 0, 0.125, 1);
	transition-timing-function: cubic-bezier(0.75, 0, 0.125, 1);
}
.button--quidel.button--inverted::before {
	background: #d8261b;
}
.button--round-s.button--quidel::after {
	border-radius: 3px;
}
.button--round-m.button--quidel::after {
	border-radius: 13px;
}
.button--round-l.button--quidel::after {
	border-radius: 40px;
}
.button--quidel > span {
	padding-left: 0.35em;
}
.button--quidel:hover {
	color: #d8261b;
}
.button--quidel.button--inverted:hover {
	color: #d8261b;
}
.button--quidel:hover::before {
	-webkit-transform: translate3d(0, 0, 0);
	transform: translate3d(0, 0, 0);
}








/************************************* FAQ *************************************/
section.intro_faq p {
    margin: 3% 0 5% 0;
}

section.faq h3 {
    font-style: italic;
    letter-spacing: -1px;
    font-family: 'Open Sans', sans-serif;
    font-size: 2em;
    text-transform: inherit;
    font-weight: bold;
    margin: 2% 0 1%;
    border-left: 20px solid #d8261b;
    padding: 0 0 0 1%;
}

section.faq div:hover {
    background: #f3f3f3;
}

.faq p {
    margin: 0 auto 5%;
    width: 90%;
}

.faq div:nth-child(2n) {
    background: #f3f3f3;
    min-height: 200px;
}








/************************************* PAGES PARTENAIRES *************************************/
.content_partenaires {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    flex-direction: column;
}

.content_partenaires iframe {
    max-width: 100%;
    margin: 1rem 0;
}



/************************************* CALENDRIER *************************************/
.tableau_calendrier {
    margin: 4rem 0;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}

section.commandes_contact {
    width: 15em;
    text-align: center;
}

section.commandes_contact a {
    margin: 1em 0;
    width: 100%;
    height: 10em;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    text-transform: uppercase;
    font-weight: 700;
    letter-spacing: -1px;
}

section.commandes_contact a:nth-child(2) {
    background: url(../img/fond-h1.gif) no-repeat center;
}

section.commandes_contact a:nth-child(1) {
    background: #c3170d;
}

section.planning {
    width: 70%;
    display: grid;
    grid-template-columns: repeat(2, auto);
}

section.planning article {
    margin: 2em;
}

section.planning article h4 {
    font-size: 2em;
    text-transform: uppercase;
    font-family: 'Lato', sans-serif;
    margin: ;
}

/* BLOCS */
.pc_col {
    display: grid;
    grid-template-columns: repeat(2, auto);
    grid-gap: 1em;
}

.pc_bloc.reserve a {
    display: block;
    width: 100%;
    text-align: center;
    color: #fff;
    font-weight: bold;
}

.pc_col a {
    color: #000;
}

.pc_prog {
    position: absolute;
    height: 10px;
    background: #d8261b;
    bottom: 0;
    left: 0;
}

.pc_bloc {
    width: 100%;
    height: 10em;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    background: linear-gradient(45deg, #e8e7e7, #e6e4e4);
    flex-direction: column;
}

.pc_bloc h5 {
    font-size: 1.3em;
    text-transform: uppercase;
}

.pc_bloc h6 {
    font-family: 'Nunito Sans', sans-serif;
    letter-spacing: 5px;
    font-size: .6em;
    text-transform: uppercase;
}



.comm_hover {
    width: 0%;
    height: 0%;
    position: absolute;
    background: #000;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: .5s all;
    opacity: 0;
}

.comm_hover.reserve {
    background: #c3170d;
}

.pc_bloc:hover .comm_hover {
    width: 100%;
    height: 100%;
    opacity: 1;
}

section.planning article:first-child {
    grid-column: 1/3;
}




/************************************* NEWS *************************************/
section.page_news {
    width: 50%;
    margin: auto;
    text-align: justify;
}

section.page_news p {
    margin: 3rem 0;
}

section.page_news p a::before {
    content: "< ";
    font-weight: bold;
    color: #d8261b;
}

section.page_news p a::after {
    content: " >";
    font-weight: bold;
    color: #d8261b;
}

section.page_news a {
    font-weight: bold;
    color: #d8261b;
}

section.page_news p span {
    color: #d8261b;
    font-weight: bold;
}
