@import url('https://fonts.googleapis.com/css2?family=Rubik:wght@300;600&display=swap');

*{
	padding:0px;
	border:0px;
	margin:0px;
}

html{
width:100%;
scroll-behavior: smooth;
}

.main_width{
width:85%;
margin:auto;
}


body{
font-family: 'Rubik', sans-serif;
font-weight:300;
width:100%;
}



/* *********************** COMMON *********************** */

p{
color:#261a1a;
line-height:31px;
font-size:17px;
margin-bottom:13px;
}

p strong{
font-weight:600;
}

h1{
color:#261a1a;
text-transform: uppercase;
font-size: 33px;
font-weight: 600;
line-height: 48px;
padding-bottom:12px;
margin-bottom:22px;
}

h2{
color:#261a1a;
font-size: 31px;
font-weight: 600;
line-height: 45px;
padding-bottom:12px;
margin-bottom:22px;
}

a.button{
display: inline-block;
border-radius: 2px;
text-transform: uppercase;
color: #261a1a;
border:1px solid #261a1a;
padding: 9px 32px;
font-weight: 600;
transition: all 0.5s ease-in-out;
font-size: 16px;
text-decoration:none;
transition:all 0.3s;
margin:0px 10px; 
}

a.button:hover{
padding: 9px 42px;
margin:0px 0px;
}

a{
color:inherit;
text-decoration: none;
transition: all 0.2s ease-in-out;
}

p a{
text-decoration: underline;
}

#wrapper li{
list-style-type:none;
font-size:13px;
line-height:19px;
padding-left:30px;
padding-bottom:8px;
background-image: url('images/bg_li.png');
background-repeat: no-repeat;
background-position: 9px 8px;
	
}

.clear{
width:100%;
clear:both;
}

.microdata{
display:none;
}


/* *********************** HEADING MSG*********************** */
#heading{
width:100%;
height:40px;
text-align:center;
background-color:#f9e800;
position: relative;
overflow: hidden;
}

#heading p{
line-height: 40px;
font-size: 13px;
text-align: center;
display: block;
position: absolute;
overflow: hidden;
width: 200%;
height: 40px;
animation: marquee 12s linear infinite;
}

#heading p span{
float: left;
width: 50%;
}


@keyframes marquee {
  0% { left: 0; }
  100% { left: -100%; }
}

/* *********************** BANNER/MENU*********************** */
#banner{
width:100%;
background-color:#261a1a;
padding:30px 0px 15px;
}

#banner .main_width{
display: flex;
flex-direction: row;
justify-content: space-between;
align-items: center;
margin-bottom: 75px;
position: relative;
max-width: 430px;
}

#banner .main_width>a{
width: 140px;
height: fit-content;
height: -moz-fit-content;
vertical-align: middle;
margin: 0 auto;
}

#banner .main_width>a img{
width: 100%;
height: auto;
}

#banner .eshop-actions{
vertical-align: middle;
height: 40px;
margin-right: 11px;
}

#banner .eshop-actions form{
display: inline-block;
vertical-align: middle;
position: absolute;
bottom: -60px;
left: 50%;
transform: translateX(-50%);
margin: 0;
width: 100%;
}

#banner .eshop-actions input[type="text"]{
border: 1px solid #fff;
background-color: white;
padding: 10px;
border-right: none;
height: 40px;
box-sizing: border-box;
vertical-align: middle;
width: calc( 100% - 40px );
font-size: 17px;
}

#banner .eshop-actions input[type="submit"]{
display: inline-block;
width: 40px;
height: 40px;
vertical-align: middle;
background-color: white;
border: 1px solid #fff;
border-left: none;
cursor: pointer;
background-image: url(images/icon-search.svg);
background-repeat: no-repeat;
background-position: center;
background-size: 18px;
}

#banner .eshop-actions>a{
display: inline-block;
vertical-align: middle;
text-decoration: none;
height: 23px;
}

#banner .eshop-actions>a+a{
margin-left: 20px;
position: relative;
}

#banner a.tel{
display:inline-block;
vertical-align:top;
color: white;
border:1px solid white;
float:right;
}

#banner .eshop-actions .cart-count{
color: #261a1a;
background-color: #f9e800;
position: absolute;
top: -11px;
right: -11px;
width: 20px;
height: 20px;
text-align: center;
border-radius: 20px;
font-size: 12px;
line-height: 20px;
}

#banner .eshop-actions>a img{
width: auto;
height: 23px;
}

#banner .eshop-actions>a span.name{
font-size: 17px;
color: #ffffff;
font-weight: 500;
display: inline-block;
max-width: 125px;
line-height: 17px;
white-space: nowrap;
margin: 0 10px;
text-overflow: ellipsis;
-o-text-overflow: ellipsis;
overflow: hidden;
}

@media screen and (max-width: 450px) {
	#banner .eshop-actions>a span.name{
		display: none;
	}
}

#banner .eshop-actions .menu-top{
	display: none;
}

#banner .eshop-actions .menu-top ul{
	list-style: none;
}

#banner .eshop-actions .menu-top ul li{
	display: inline-block;
    vertical-align: middle;
}

#banner .eshop-actions .menu-top ul li a{
	font-size: 16px;
    color: #fff;
	text-decoration: none;
}

#banner .eshop-actions .menu-top ul li+li a{
	margin-left: 15px;
}

#cssmenu .menu-links{
display: none;
width: fit-content;
margin: 0 0 0 auto;
}

div#cssmenu{
background-color: #261a1a;
height: auto;
text-align: right;
padding-bottom: 20px;
z-index: unset;
}

#cssmenu a{
color: white;
font-size: 18px;
}

#cssmenu .burger{
display: flex;
justify-content: space-between;
}

#cssmenu .burger li:hover > ul{
background-color: #ebebeb;
text-align: left;
}

#cssmenu .burger li:hover > ul li{
margin-bottom: 3px;
}

#cssmenu .burger li:hover > ul li:last-of-type{
margin-bottom: 0;
}

#cssmenu .burger li:hover > ul a{
padding: 0 20px;
}

#cssmenu .burger a.more{
background-image: url(images/icon-more.svg);
background-size: 15px;
background-repeat: no-repeat;
background-position: center right 20px;
font-weight: 700;
}

#cssmenu .burger>ul:first-of-type{
flex: 1;
text-align: center;
}

#cssmenu .burger ul+ul{
padding-left: 20px;
border-left: 1px solid #ffffff27;
display: none;
}

#cssmenu .burger ul li{
display: inline-block;
}

#cssmenu .burger>ul>li>a{
padding: 15px 20px;
font-size: 16px;
}

#cssmenu .burger ul li:hover{
background-color: #ffffff47;
}

#banner .main_width>a.new-eshop{
	display: none;
}

#banner.home-banner .main_width>a.new-eshop{
	width: 145px;
	height: 145px;
	position: absolute;
	background-image: url(images/new-eshop.svg);
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
	left: 31px;
	top: 559px;
	z-index: 999;
	animation: home-new-eshop 3s linear infinite;
}


@media screen and (max-width: 500px) {
	#banner.home-banner .main_width>a.new-eshop{
		top: 113vw;
	}
}


@media screen and (max-width: 400px) {
	#banner.home-banner .main_width>a.new-eshop{
		top: 126vw;
		width: 125px;
		height: 125px;
	}
}


@keyframes home-new-eshop {
  0% { transform: scale(1); }
  30% { transform: scale(1); }
  50% { transform: scale(1.1); }
  70% { transform: scale(1); }
  100% { transform: scale(1); }
}


/********** MENU BURGER **********/

#cssmenu .burger ul li{
display: block;
text-align: left;
}

#cssmenu .menu-links{
display: block;
}

#cssmenu .menu-links.open{
font-size: 18px;
color: #fff;
cursor: pointer;
text-transform: uppercase;
}

#cssmenu .menu-links.close{
font-size: 18px;
color: #261a1a;
padding-right: 17px;
cursor: pointer;
}

#cssmenu .burger.open .menu-links.close{
position: fixed;
top: 20px;
right: 20px;
z-index: 1001;
animation-name: close_btn;
animation-duration: 1s;
}

@keyframes close_btn { 
	from { opacity: 0; } 
	to { opacity: 1; }  
}

#cssmenu .menu-links.open img{
margin-right: 5px;
transform: translateY(3px);
}

div#cssmenu>.main_width{
line-height: 40px;
max-width: 430px;
}

#cssmenu a{
color: #261a1a;
font-size: 16px;
}

#cssmenu .burger{
position: fixed;
top: 0;
right: -400px;
width: 350px;
max-width: 100%;
height: 100vh;
background-color: white;
padding-top: 25px;
margin: 0;
-webkit-box-shadow: 0px 2px 15px 0px #363636;
box-shadow: 0px 2px 15px 0px #363636;
transition: all 0.6s;
overflow: auto;
display: block;
z-index: 100;
}

#cssmenu .burger.open{
right: 0;
}

#cssmenu .burger li:hover > ul{
display: none;
}

#cssmenu .burger li:hover > ul li{
margin-bottom: 3px;
}

#cssmenu .burger li:hover > ul li:last-of-type{
margin-bottom: 0;
}

#cssmenu .burger li:hover > ul a{
padding: 0 20px;
}

#cssmenu .burger a.more{
background-image: url(images/icon-more.svg);
background-size: 15px;
background-repeat: no-repeat;
background-position: center right 20px;
font-weight: 700;
}

#cssmenu .burger > ul {
	text-align: left;
	padding: 40px 0 25px;
}

#cssmenu .burger > ul > li > a {
	font-weight: 500;
	line-height: 28px;
	display: block;
	position: relative;
	color: #14190b;
	padding: 10px 20px;
	font-size: 17px;
	text-decoration: none;
}
#cssmenu .burger > ul > li > a:after {
	content: " ";
	position: absolute;
	width: 20px;
	height: 20px;
	right: 50px;
	top: 18px;
	background-image: url("images/common/arrow-right-white.svg");
	background-position: center;
	background-repeat: no-repeat;
	opacity: 0;
	transition: all 0.4s;
}
#cssmenu .burger > ul > li > a:hover:after {
	right: 20px;
	opacity: 1;
}
#cssmenu .burger > ul > li > a.selected,
#cssmenu .burger > ul > li > a:hover {
	color: #F9E800;
} 
#cssmenu .burger > ul > li > a:hover {
	color: white;
	background: #261a1a; 
}#home{
text-align:center;
}

#home .c1{
background-color:#261a1a;
text-align:left;
padding:30px 0 50px;
}

#home .c1 img{
display: block;
float: none;
width: 100%;
max-width: 430px;
margin: 0 auto 50px;
}

#home .c1 .content{
display: block;
width: 100%;
max-width: 550px;
margin: 0 auto;
text-align: center;
}

#home .c1 h1{
color:white;
}

#home .c1 p{
color:white;
}

#home .c1 p.signature{
font-style:italic;
}

#home #shop{
	margin-top: 40px;
}

#home #shop h1{
	width: 100%;
}

#home #shop .items{
display: flex;
flex-wrap: wrap;
justify-content: center;
width: 100%;
}

#home #shop .items .item{
width: 250px;
max-width: 100%;
margin: 0 1% 30px;
padding-bottom: 20px;
border: 1px solid #d5d5d5;
box-sizing: border-box;
}

#home #shop .items .item:nth-of-type(10){
	display: none;
}

#home #shop .items .item .image{
width: 100%;
height: 300px;
overflow: hidden;
}

#home #shop .items .item .image img{
width: 100%;
height: 100%;
object-fit: contain;
transition: all 0.6s;
}

#home #shop .items .item:hover .image img{
transform: scale(1.2);
}

#home #shop .items .item .image .sombre{
position: absolute;
bottom: 50px;
top: 0;
width: 100%;
background-color: #4e4e4e;
opacity: 0.45;
left: 0;
}

#home #shop .items .item .image .out-of-stock{
position: absolute;
bottom: 35px;
width: 100%;
height: 30px;
line-height: 30px;
background-color: #4e4e4e;
color: white;
font-size: 16px;
left: 0;
}

#home #shop .items .item .price{
background-color: #261a1a;
color: white;
display: flex;
justify-content: space-between;
margin-top: -30px;
position: relative;
z-index: 1;
padding: 7px 15px;
font-size: 14px;
font-weight: 700;
text-align: left;
}

#home #shop .items .item .price .prix-barre{
font-size: 12px;
line-height: 18px;
text-decoration: line-through;
margin-right: 10px;
color: #bd3030;
}

#home #shop .items .item .price .shop{
display: inline-block;
width: 22px;
background-image: url(images/icon-cart-white.svg);
background-size: 19px;
background-repeat: no-repeat;
flex: 1;
text-align: right;
background-position: right center;
}

#home #shop .items .item h3{
text-align: left;
font-size: 18px;
line-height: 22px;
font-weight: 500;
margin-top: 20px;
overflow: hidden;
text-overflow: ellipsis;
display: -webkit-box;
-webkit-line-clamp: 3;
line-clamp: 3;
-webkit-box-orient: vertical;
padding: 0 20px;
margin-bottom: 0;
}

#home #shop .items .item h3+p{
text-align: left;
color: #757575;
font-size: 15px;
margin-top: 5px;
padding: 0 20px;
margin-bottom: 0;
}

#home #shop .items a.button{
margin: 50px auto 0;
}


#home .c1b{
padding-top:84px;
clear:both;
text-align:center;
width: 85%;
margin: 0 auto;
}

#home .c1b h2{
padding-bottom:34px;
}

#home .c1b .content{
width:100%;
display:inline-block;
max-width: 650px;
}


#home .c2{
clear:both;
padding-top:60px;
}

#home .c2 img.follow_us{
width:270px;
}

#home .c2 .social{
margin-bottom:72px;
}

#home .c2 .social img{
width:53px;
padding:0px 7px;
transition:all 0.3s;
}

#home .c2 .social img:hover{
transform:rotate(720deg) scale(1.25);

}

#home .c2 .marques{
width: 85%;
margin: 0 auto 45px;
}

#home .c2 .marques img{
width: 300px;
padding: 20px 21px;
transition:all 0.3s;
max-width: 85%;
box-sizing: border-box;
}

#home .c2 .marques img:hover{
transform:scale(1.1);
}

#home .c3{
width:100%;
position:relative;
margin-top:100px;
}

#home .c3 .background{
width:100%;
font-size:0px;
}

#home .c3 .background img{
width:100%;
}

#home .c3 h2{
color:white;
position:absolute;
font-size:52px;
line-height:52px;
display:block;
width:85%;
left: 7.5%;
top:266px;
z-index:1000;
text-shadow: 1px -1px 26px rgba(0,0,0,0.6);
}

#home .c4{
background-color:#e6e6e6;
clear:both;
width:90%;
padding:100px 5%;
}

#home .c4 .youtube {
width: 100%;
margin-bottom: 100px;
}

#home .c4 .youtube iframe {
width: 700px;
height: 400px;
border: none;
}

#home .c4 .item{
display:inline-block;
vertical-align:top;
margin:5px 3px;
border-radius:3px;
background-color:white;
box-shadow: 10px 10px 47px -13px rgba(94,94,94,0.31);
text-align:center;
text-decoration:none;
font-size:0px;
}
#home .c4 .item:hover{
text-decoration:none;	
}

#home .c4 .main_pic{
width:50%;
display:inline-block;
vertical-align:top;
margin-right:5%;
}

#home .c4 .main_pic img{
max-width:100%;
	
}

#home .c4 .demo-gallery{
width:44%;
display:inline-block;
vertical-align:top;
text-align:left;
}

/* autres images */
#home .c4 .item .other_img{
position:relative;
width:180px;
height:140px;
background-color:#f9f9f9;
overflow:hidden;
position:relative;
display:inline-block;
border-radius:3px;
}


#home .c4 .item .other_img img{
position:absolute;
z-index:100;
transition:all 0.3s;
border-radius:3px;
width:110%;
height:110%;
top:-5%;
left:-5%;
object-fit:cover;
}

#home .c4 .item:hover .other_img img{
transition:all 0.3s;
width:100%;
height:100%;
top:0%;
left:0%;
}


#home .c4 .item .other_img .arrow{
position:absolute;
z-index:120;
width:180px;
height:140px;
background-image:url('images/common/arrow-white-right.png');
background-repeat:no-repeat;
background-position:center;
transition:all 0.3s;
transform: scale(0);
}

#home .c4 .item:hover .other_img .arrow{
transform: scale(1);
}

#home .c5{
padding:100px 0px;
}

#home .c5 h2{
padding-bottom:72px;
}

#home .c5 .content{
width:100%;
display:inline-block;
vertical-align:middle;
text-align:100%;
margin-bottom:50px;
}

#home .c5 img.b2bike{
width: 250px;
display: inline-block;
vertical-align: middle;
}


#home .map{
width:100%;
height:450px;
}

#home #shop{
padding: 0;
}

/* ***** SHOP ***** */

#shop{
padding: 90px 0 100px;
}

#home #shop{
padding: 0;
}

.shop, .eshop{
position: relative;
}

#shop .microdata{ /* toutes les champs sémantiques schema.org*/
display:none;
}

#shop .main_width{
}

#shop .c1{ /* affichage des types + cat + produits */
width: 90%;
display: inline-block;
vertical-align: top;
background-color: white;
padding: 0px 4%;
min-height:408px;
text-align:center;
text-align:center;
}

#shop .c1 h1{
font-size: 30px;
line-height: 35px;
padding-bottom: 30px;
margin: 0 0 50px;
position: relative;
}

#shop .c1 h1.cat1-h1{
margin: 0;
}

#shop .c1 p.fil_rouge{
font-size:13px;
margin-bottom:0px;
margin-top: 10px;
opacity:0.45;
}

#shop .c1 .items{
text-align: center;
display: flex;
justify-content: center;
flex-wrap: wrap;
}

#shop .c1 .item{
width: 250px;
margin: 0 0 30px;
padding-bottom: 20px;
border: 1px solid #d5d5d5;
box-sizing: border-box;
}

#shop .c1 .item .photo{
width: 100%;
height: 200px;
overflow: hidden;
}

#shop .c1 .item .photo img{
width: 100%;
height: 100%;
object-fit: cover;
transition: all 0.6s;
}

#shop .c1 .item:hover .photo img{
transform: scale(1.1);
}

#shop .c1 .items .item h2 {
text-align: left;
font-size: 18px;
line-height: 22px;
font-weight: 500;
margin-top: 20px;
overflow: hidden;
text-overflow: ellipsis;
display: -webkit-box;
-webkit-line-clamp: 3;
line-clamp: 3;
-webkit-box-orient: vertical;
padding: 0 20px;
margin-bottom: 0;
}

#shop .c1 .items .item h2+p {
text-align: left;
color: #757575;
font-size: 15px;
margin-top: 5px;
padding: 0 20px;
margin-bottom: 0;
}

#shop .c1 .items.list{
text-align: center;
max-width: 600px;
width: 100%;
margin: 0 auto;
}

#shop .c1 .items.list .item{
width: 100%;
padding-bottom: 10px;
border-bottom: 1px solid #d5d5d5;
margin: 0 1% 15px;
display: inline-block;
position: relative;
}

#shop .c1 .items.list .item:after{
content:'';
width: 32px;
height: 10px;
position: absolute;
right: 10px;
top: 50%;
transform: translateY(-50%);
background-image: url(images/button-after-grey.svg);
background-repeat: no-repeat;
background-position: center;
background-size: 100%;
opacity: 0.45;
}

#shop .c1 .items.list .item h2 {
text-align: left;
font-size: 18px;
line-height: 22px;
font-weight: 500;
margin-top: 10px;
overflow: hidden;
text-overflow: ellipsis;
display: -webkit-box;
-webkit-line-clamp: 3;
line-clamp: 3;
-webkit-box-orient: vertical;
max-width:100%;
}

#shop .c1 .items.list .item h2 span.title{
display: block;
width: 100%;
box-sizing: border-box;
}

#shop .c1 .items.list .item h2 span.number{
color: #757575;
font-size: 15px;
margin-top: 5px;
}

#shop .c1 form{
margin: 50px 0 70px;
}

#shop .c1 form label{
display: none;
}

#shop .c1 form input[type="text"] {
border: 1px solid #757575;
background-color: white;
padding: 10px;
border-right: none;
border-bottom-right-radius: 0;
border-top-right-radius: 0;
height: 45px;
box-sizing: border-box;
vertical-align: middle;
width: 450px;
font-size: 18px;
max-width: calc( 100% - 40px );
}

#shop .c1 form input[type="submit"] {
display: inline-block;
width: 40px;
height: 45px;
vertical-align: middle;
background-color: white;
border: 1px solid #757575;
border-left: none;
cursor: pointer;
background-image: url(images/icon-search.svg);
background-repeat: no-repeat;
background-position: center;
background-size: 18px;
}

/* affichage de la liste des produits */

#shop .c2{
width: 100%;
display: inline-block;
vertical-align: top;
background-color: white;
min-height:408px;
text-align:center;
}

#shop .c2 .subtitle{
margin: 0;
opacity: 0.45;
}

#shop .c2 h1{
font-size: 30px;
line-height: 35px;
margin: 0;
position: relative;
}

#shop .c2 p.fil_rouge{
font-size:13px;
margin: 10px 0 50px;
opacity:0.45;
}

#shop .nav{
display: block;
vertical-align: top;
width: 100%;
margin: 0 auto 50px;
max-width: 550px;
padding: 20px;
box-sizing: border-box;
border: 1px solid #cfcfcf;
}

#shop .c2 .nav .filter a{
padding: 10px 35px;
display: block;
vertical-align: top;
line-height: 19px;
color: #000;
transition: all 0.3s;
font-size: 13px;
text-align: left;
text-decoration: none;
}

#shop .c2 .nav .filter a:hover{
background-color:#ddd;
}

#shop .c2 .nav .filter a.active{
background-color: #e8e8e8;
font-weight: 600;
}

#shop .product_list{
vertical-align:top;
width:100%;
text-align: center;
display: flex;
justify-content: center;
flex-wrap: wrap;
margin: 0 auto;
}

#shop .product_list .item{
width: 100%;
max-width: 250px;
margin: 0 1% 30px;
padding-bottom: 20px;
border: 1px solid #d5d5d5;
box-sizing: border-box;
}

#shop .product_list .item .image{
width: 100%;
height: 300px;
overflow: hidden;
position: relative;
}

#shop .product_list .item .image img{
width: 100%;
height: 100%;
object-fit: contain;
transition: all 0.6s;
}

#shop .product_list .item:hover .image img{
transform: scale(1.2);
}

#shop .product_list .item .image .sombre{
position: absolute;
bottom: 50px;
top: 0;
width: 100%;
background-color: #4e4e4e;
opacity: 0.45;
left: 0;
}

#shop .product_list .item .image .out-of-stock{
position: absolute;
bottom: 30px;
width: 100%;
height: 30px;
line-height: 30px;
background-color: #4e4e4e;
color: white;
font-size: 16px;
left: 0;
}

#shop .product_list .item .price{
background-color: #261a1a;
color: white;
display: flex;
justify-content: space-between;
margin-top: -30px;
position: relative;
z-index: 1;
padding: 7px 15px;
font-size: 14px;
font-weight: 700;
text-align: left;
}

#shop .product_list .item .price .prix-barre{
font-size: 12px;
line-height: 18px;
text-decoration: line-through;
margin-right: 10px;
color: #bd3030;
}

#shop .product_list .item .price .shop{
display: inline-block;
width: 22px;
background-image: url(images/icon-cart-white.svg);
background-size: 19px;
background-repeat: no-repeat;
flex: 1;
text-align: right;
background-position: right center;
}

#shop .product_list .item h3{
text-align: left;
font-size: 18px;
line-height: 22px;
font-weight: 500;
margin-top: 20px;
overflow: hidden;
text-overflow: ellipsis;
display: -webkit-box;
-webkit-line-clamp: 3;
line-clamp: 3;
-webkit-box-orient: vertical;
padding: 0 20px;
margin-bottom: 0;
}

#shop .product_list .item h3+p{
text-align: left;
color: #757575;
font-size: 15px;
margin-top: 5px;
padding: 0 20px;
margin-bottom: 0;
}

/* affichage d'un produit suivant son ID */
#shop .c3{ 
text-align:center;
}

#shop .c3 .c3_c1{
display: block;
width: 100%;
max-width: 550px;
margin: 0 auto 50px;
text-align: left;
}

#shop .c3 .c3_c1 p.fil_rouge{
font-size: 13px;
margin-bottom: 0px;
opacity: 0.45;
padding: 0 0 24px 0;
}

#shop .c3 .c3_c1 h1{
font-size: 31px;
line-height: 39px;
margin-bottom: 5px;
}

#shop .c3 .c3_c1 p.reference{
background-color: #261a1a;
color: white;
display: block;
width: fit-content;
margin-bottom: 19px;
padding: 3px 20px;
font-size: 13px;
text-transform: uppercase;
}

#shop .c3 .c3_c1 .ajouter_au_panier{
border: 1px solid #cfcfcf;
margin-bottom: 10px;
}

#shop .c3 .c3_c1 .ajouter_au_panier .button{
	margin: 20px;
	padding: 9px 12px;
	font-size: 14px;
}

#shop .c3 .c3_c1 p.prix{
border-bottom: 1px solid #cfcfcf;
padding: 20px;
color: #261a1a;
font-weight: 600;
font-size: 22px;
margin: 0;
}

@media screen and (max-width: 400px) {
	#shop .c3 .c3_c1 .ajouter_au_panier .button{
		margin: 20px 10px;
        padding: 10px 6px;
        font-size: 13px;
	}
	#shop .c3 .c3_c1 p.prix{
		padding: 10px;
	}
}

#shop .c3 .c3_c1 span{
display: block;
}

#shop .c3 .c3_c1 span:not(.prix){
display: block;
color: #969892;
font-size: 18px;
line-height: 1.6em;
}


#shop .c3 .c3_c1 span.info_prix{
background: orange;
  font-size: 12px;
  color: white;
  padding: 0px 13px;
  display: inline-block;
  margin-bottom: 11px;
  margin-top: 5px;
  text-transform: uppercase;	
}

#shop .c3 .c3_c1 span.info_tva{
font-size: 15px;
font-weight: 500;
}

#shop .c3 .c3_c1 span.info_tva.stock{
	padding-left: 21px;
	background-image: url(images/check-stock.svg);
	background-size: 15px;
	background-repeat: no-repeat;
	background-position: top 4px left;
	font-weight: 600;
}

#shop .c3 .c3_c1 span.prix_barre{
text-decoration: line-through;
display: inline-block;
color: #bd3030;
}

#shop .c3 .c3_c1 span.prix_commentaire{
display: inline-block;
}

#shop .c3 .devis_button{
margin: 0 0 20px 20px;
}

#shop .c3 .c3_c1 form{
padding: 20px;
text-align: center;
}

#shop .c3 .c3_c1 label{
opacity: 0.45;
font-size: 15px;
margin-right: 5px;
}

#shop .c3_c1 input[type="number"]{
border: 1px solid #757575;
background-color: white;
padding: 10px;
height: 40px;
box-sizing: border-box;
vertical-align: middle;
width: 200px;
font-size: 17px;
margin-right: 5px;
}

#shop .c3_c1 input[type="submit"]{
display: block;
margin: 20px auto 0;
height: 40px;
vertical-align: middle;
background-color: #261a1a;
cursor: pointer;
color: white;
position: relative;
padding: 0 20px 0 40px;
background-image: url(images/icon-cart-white.svg);
background-repeat: no-repeat;
background-position: 10px center;
background-size: 18px;
font-size: 18px;
}

#shop .c3_c1 .out-of-stock{
padding: 20px;
margin: 0;
font-size: 14px;
line-height: 19px;
color: #969892;
}

#shop .c3_c1 form .emballage{
margin: 20px 0 0;
font-size: 14px;
line-height: 19px;
color: #969892;
}

#shop .c3 .c3_c1 .beefup-head{
margin-top: 50px;
margin-bottom: 10px;
text-transform: uppercase;
border-bottom: 1px solid #cfcfcf;
font-weight: 600;
padding-bottom: 0;
}

#shop .c3 .c3_c1 .beefup-body .description{
font-size: 17px;
line-height: 24px;
}

#shop .c3 .c3_c1 .contact-infos a{
	margin-top: 5px;
	display: inline-block;
}

#shop .c3 .c3_c1 .contact-infos img{
width: 42px;
margin-right: 7px;
}

#shop .c3 .c3_c2{
display: block;
width: 100%;
max-width: 550px;
margin: 0 auto 50px;
}

#shop .c3 .video{
display:block;
width:100%;	
}

#shop .c3 .video iframe{
width:100%;	
}

#shop .c3 .demo-gallery a.item.main_pic{ /*principale*/
width: 100%;
height:auto;
display:block;
position:relative;
overflow: hidden;
}

#shop .c3 .demo-gallery a.item.main_pic img{
width:100%;
height:100%;
object-fit:cover;
transition: all 0.4s;
}

#shop .c3 .demo-gallery a.item.main_pic:hover img{
transform: scale(1.1);
}

#shop .c3 .demo-gallery a.item.other_pics{ /*miniatures*/
width: 18%;
height:100px;
display:inline-block;
position:relative;
border:0.25px solid white;
overflow: hidden;
}

#shop .c3 .demo-gallery a.item.other_pics img{
width:100%;
height:100%;
object-fit:cover;
transition: all 0.4s;
}

#shop .c3 .demo-gallery a.item.other_pics:hover img{
transform: scale(1.1);
}

#shop .c3 .demo-gallery a.item.other_pics.last{
background-color:#261a1a;
background-image:url('images/voir_plus.svg');
background-repeat:no-repeat;
background-size:85%;
background-position:center;
transition:all 0.15s;
}

#shop .c3 .demo-gallery a.item.other_pics.last img,
#shop .c3 .demo-gallery a.item.other_pics.last .arrow{
display:none;
}

#shop .c3 .demo-gallery a.item.other_pics.last:hover{
background-size:90%;	
}

#shop .c3 .demo-gallery a.item.hidden{
display:none;	
}

#shop .c3 .related{
position: relative;
}

#shop .c3 .related:before{
content: "";
position: absolute;
height: 1px;
background-color: #d5d5d5;
width: 100%;
margin: 0 auto;
text-align: center;
left: 0;
top: -65px;
}

#shop .c3 .related h2{
margin-top: 160px;
font-size: 30px;
line-height: 35px;
font-weight: 400;
padding-bottom: 30px;
margin-bottom: 40px;
position: relative;
}

#shop .c3 .related .beefup-body{
display: flex;
flex-wrap: wrap;
justify-content: center;
width: 100%;
}

#shop .c3 .related .item{
width: 100%;
max-width: 250px;
margin: 0 1% 30px;
padding-bottom: 20px;
border: 1px solid #d5d5d5;
box-sizing: border-box;
}

#shop .c3 .related .item .image{
width: 100%;
height: 300px;
overflow: hidden;
position: relative;
}

#shop .c3 .related .item .image img{
width: 100%;
height: 100%;
object-fit: contain;
transition: all 0.6s;
}

#shop .c3 .related .item:hover .image img{
transform: scale(1.2);
}

#shop .c3 .related .item .image .sombre{
position: absolute;
bottom: 50px;
top: 0;
width: 100%;
background-color: #4e4e4e;
opacity: 0.45;
left: 0;
}

#shop .c3 .related .item .image .out-of-stock{
position: absolute;
bottom: 35px;
width: 100%;
height: 30px;
line-height: 30px;
background-color: #4e4e4e;
color: white;
font-size: 16px;
left: 0;
}

#shop .c3 .related .item .price{
background-color: #261a1a;
color: white;
display: flex;
justify-content: space-between;
margin-top: -30px;
position: relative;
z-index: 1;
padding: 7px 15px;
font-size: 14px;
font-weight: 700;
text-align: left;
}

#shop .c3 .related .item .price .prix-barre {
	font-size: 12px;
	line-height: 18px;
	text-decoration: line-through;
	margin-right: 10px;
	color: #bd3030;
}

#shop .c3 .related .item .price .shop{
display: inline-block;
width: 22px;
background-image: url(images/icon-cart-white.svg);
background-size: 19px;
background-repeat: no-repeat;
flex: 1;
text-align: right;
background-position: right center;
}

#shop .c3 .related .item h3{
text-align: left;
font-size: 18px;
line-height: 22px;
font-weight: 500;
margin-top: 20px;
overflow: hidden;
text-overflow: ellipsis;
display: -webkit-box;
-webkit-line-clamp: 3;
line-clamp: 3;
-webkit-box-orient: vertical;
padding: 0 20px;
margin-bottom: 0;
}

#shop .c3 .related .item h3+p{
text-align: left;
color: #757575;
font-size: 15px;
margin-top: 5px;
padding: 0 20px;
margin-bottom: 0;
}

#shop .c3 .related a.button{
margin: 50px auto 0;
}


/* ***** Mentions légales ***** */


#legal{
text-align:center;
padding:90px 0 100px; /* a recopier pour toutes les pages SAUF home */

}

#legal .main_width{
padding-top:85px;
padding-bottom:30px;
}


#legal h1{
font-size: 30px;
line-height: 35px;
padding-bottom: 30px;
margin: 0 0 50px;
text-align: center;
position: relative;
}

#legal h1:after{
content: "";
position: absolute;
bottom: -5px;
left: 50%;
transform: translateX(-50%);
width: 275px;
height: 30px;
background-image: url(images/title-border.svg);
background-size: 275px;
background-position: center;
background-repeat: no-repeat;
}

#legal h2{
background-position: 0px 7px;
position: relative;
bottom: 0px;
margin-top: 14px;
margin-bottom: 14px;
font-size:28px;
line-height:30px;
background-position: bottom left;
padding-bottom: 7px;
}

#legal h3{
line-height:23px!important;
padding-bottom: 6px!important;
}

#legal p{
margin-bottom:5px;
}

#legal p span{
display:inline-block;
vertical-align:top;
width:166px;
text-decoration:underline;
}

#legal .c0{
width:600px;
text-align:left;
display:inline-block;
vertical-align:top;
border:1px solid #c0c0c0;
text-align:left;
padding:1%;
margin-bottom:30px;
background-color:white;
border-radius:13px;
}

#legal .c1{
display:inline-block;
vertical-align:top;
width:100%;
padding:1%;
border:1px solid #c0c0c0;
text-align:left;
margin-bottom:30px;
min-height:262px;
background-color:white;
border-radius:13px;
}

#legal .c1.last{
margin-right:0px;
}

#legal .c1 p{
margin-bottom:8px;
font-size:13px;
line-height:22px;
}

#legal .c2{
width:100%;
padding:1%;
text-align:left;
display:inline-block;
vertical-align:top;
border:1px solid #c0c0c0;
margin-bottom:30px;
height:600px;
overflow:auto;
padding-bottom:30px;
background-color:white;
border-radius:13px;
}

#legal .c2 h3{

}

#legal .c2 h4{

}

#legal .c2 p{
margin-bottom:8px;
font-size:13px;
line-height:22px;
}

#legal .c2 ul li{
margin-bottom:5px;
font-size:13px;
line-height:22px;
padding-left:15px;
list-style-type:none;
}

#legal .c2 ul ul li{
padding-left:30px;
}

#legal .c2.last{
margin-right:0px;
}


/* ***** 404 ***** */

#e404{
text-align:center;
padding:90px 0 100px; /* a recopier pour toutes les pages SAUF home */
}

#e404 .main_width{
padding-top:85px;
padding-bottom:30px;
box-sizing: border-box;
}

#e404 h1{
font-size: 30px;
line-height: 35px;
padding-bottom: 30px;
margin: 0 0 50px;
position: relative;
text-align: center;
}

#e404 h1:after{
content: "";
position: absolute;
bottom: -5px;
left: 50%;
transform: translateX(-50%);
width: 275px;
height: 30px;
background-image: url(images/title-border.svg);
background-size: 275px;
background-position: center;
background-repeat: no-repeat;
}


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


#footer{
background-color:#261a1a;
text-align:center;
padding-bottom:38px;
}

#footer img.logo{
width:375px;
margin-top:100px;
margin-bottom:76px;
max-width: 85%;
}

#footer p{
color:white;
max-width: 85%;
margin: 0 auto 13px;
}

#footer p.nom{
font-size:25px;
font-weight:600;	
}

#footer p.heures span{
text-decoration:underline;	
}

#footer p.tva{
font-size:14px;
margin-top:32px;
opacity:0.45;
}

#footer p.copyright{
color:white;
font-size:14px;
max-width: 85%;
margin: 100px auto 0;
}

/* ***** CAPTCHA ***** */

.grecaptcha-badge { 
	visibility: hidden; 
}


/* ***** COOKIES ***** */

#cookieChoiceInfo{
	box-sizing: border-box;
	z-index: 2000!important;
}

/* ***** AOS ***** */

.fade_container {
    overflow-x: hidden;
}


/* *************************** ESHOP *** ESHOP *** ESHOP *************************** */


/* ***** CART ***** */
#cart{
padding:90px 0 100px; /* a recopier pour toutes les pages SAUF home */
text-align:center;
}

#cart h1{
font-size: 30px;
line-height: 35px;
padding-bottom: 30px;
margin: 0 0 50px;
position: relative;
}

#cart h1:after{
content: "";
position: absolute;
bottom: -5px;
left: 50%;
transform: translateX(-50%);
width: 275px;
height: 30px;
background-image: url(images/title-border.svg);
background-size: 275px;
background-position: center;
background-repeat: no-repeat;
}

#cart .c1{
display: block;
width: 100%;
padding: 0;
vertical-align: top;
text-align: right;
}

#cart .c2{
display:block;
width: 100%;
margin-top: 50px;
vertical-align: top;
text-align:left;
}

#cart .c2 .errors p{
font-size: 14px;
line-height: 14px;
margin: 0px;
color: #e10613;
margin-bottom: 20px;
}

#cart table.panier{
width:100%;
border-collapse: collapse;
table-layout: auto;
margin-bottom:60px;
text-align: left;
}

#cart table.panier tr{
border-bottom:1px solid #e1e1e1;
height:60px;
}

#cart table.panier tr:last-child{
border:none;
}

#cart table.panier td a:hover{
text-decoration: underline;
}

#cart table.panier td.image{
display: none;
}

#cart table.panier td.titre{
padding:20px 10px 20px 0;	
vertical-align: middle;
overflow: hidden;
font-size: 14px;
}

#cart table.panier td.titre a{
overflow: hidden;
text-overflow: ellipsis;
display: -webkit-box;
-webkit-line-clamp: 1;
line-clamp: 1;
-webkit-box-orient: vertical;
}

#cart table.panier td.prix_unitaire{
display: none;
}


#cart table.panier td.changer_quantite{
width:22px;
text-align:center;
table-layout: auto;
vertical-align: middle;
}

#cart table.panier td.changer_quantite input[type="submit"]{
display:inline-block;
line-height:0px;
color:#7b7a7a;
width:17px;
height:17px;
border:1px solid #e1e1e1;
text-align:center;
background-color:white;
color:#404040;
padding:0px;
margin:0px;
cursor: pointer;
}

#cart table.panier td.changer_quantite input[type="submit"]:hover{
padding:0px;
margin:0px;
}

#cart table.panier td.quantite{
text-align:center;
vertical-align: middle;
}

#cart table.panier td.erreur p{
font-size: 14px;
line-height: 14px;
margin: 0px;
color: #e10613;
}

#cart table.panier td.supprimer{
display: none;
}

#cart table.panier td.supprimer input[type="submit"]{
display:inline-block;
line-height:15px;
color:#7b7a7a;
border:1px solid #e1e1e1;
text-align:center;
background-color:white;
color:#404040;
padding:2px 4px;
margin:0px;
cursor: pointer;
}

#cart table.panier td.supprimer input[type="submit"]:hover{
}

#cart table.panier td.prix{
max-width:100px;
text-align:right;	
padding-left:13px;
transform: translate(0, 7px);
vertical-align: middle;
}

#cart table.panier td.prix p{
display: inline-block;
font-size: 13px;
}

#cart table.panier+a.button{
display: none;
}

#cart table.panier+a.button+a.button{
	margin: 0 auto;
}

#cart .recapitulatif{
text-align:right;
margin-top:30px;
}

div#cart p.livraison{
display: inline-block;
padding-right: 0;
}

div#cart p.livraison+div.title_alert{
margin-right: 7px;
margin-left: 5px;
}

#cart p.total,
#cart p.livraison,
#cart p.total_a_payer,
#cart p.livraison_gratuite,
#cart p.livraison_supplementaire{
font-size:15px;
margin-bottom:0px;
padding: 7px 0;
}

#cart p.total span,
#cart p.livraison span,
#cart p.total_a_payer span,
#cart p.livraison_gratuite span,
#cart p.livraison_supplementaire span{
display: block;
vertical-align: top;
width: 100%;
font-weight: 900;
}

#cart p.info_livraison_gratuite span{
display:inline-block;
vertical-align:top;
padding-left: 30px;
background-image: url(images/common/arrow-right-black.svg);
background-size: 15px;
background-repeat: no-repeat;
background-position: 3px 10px;
font-size: 15px;
color:#261a1a;
}

#cart p.info_livraison_gratuite{
margin-bottom: 7px;
}

#cart p.total_a_payer{
display:inline-block;
vertical-align:top;
border-top:1px solid #e1e1e1;	
width: 100%;
box-sizing: border-box;
}

#cart p.livraison_gratuite{
vertical-align:top;
min-width:300px;
}

#cart p.livraison_supplementaire{
vertical-align:top;
min-width:300px;
}


#cart .tunnel{
border-top:1px solid #e1e1e1;
text-align: center;
}

#cart .tunnel p{
padding-top: 25px;
opacity: 0.45;
font-size: 15px;
line-height: 21px;
text-align: center;
}

#cart .tunnel p a{
text-decoration: underline;
}

#cart .tunnel .space{
margin-bottom:31px;	
}

.alert_message{
	display: none;
}

div#cart p.livraison+div.title_alert{
	display: none;
}


/* ***** LOGIN ***** */
#login{
padding:90px 0 100px; /* a recopier pour toutes les pages SAUF home */
text-align:center;
}

#login h1{
font-size: 30px;
line-height: 35px;
padding-bottom: 30px;
margin: 0 0 50px;
position: relative;
}

#login h1+div{
display: flex;
flex-direction: column-reverse;
}

#login .c1{
display:block;
width:100%;
max-width: 500px;
text-align:left;
margin: 0 auto;
}

#login .c1 label{
opacity: 0.45;
font-size: 15px;
display: block;
margin-bottom: 10px;
}

#login .c1 input+label{
margin-top: 20px;
}

#login .c1 input{
border: 1px solid #757575;
background-color: white;
padding: 10px;
height: 40px;
box-sizing: border-box;
vertical-align: middle;
width: 100%;
font-size: 17px;
margin-right: 5px;
}

#login .c1 input[type="submit"]{
display: inline-block;
height: 40px;
vertical-align: middle;
background-color: #261a1a;
cursor: pointer;
color: white;
position: relative;
padding: 0 20px;
font-size: 18px;
cursor: pointer;
border: none;
width: fit-content;
}

#login .c2{
display:block;
width:100%;
max-width: 500px;
margin: 0 auto 50px;
text-align:left;
}

#login .c2 a{
margin-top: 20px;
font-size: 15px;
}

#login h2{
display: block;
color: #969892;
font-size: 18px;
margin-bottom: 30px;
text-transform: uppercase;
border-bottom: 1px solid #261a1a;
font-weight: 600;

margin-bottom: 20px;
text-transform: uppercase;
border-bottom: 1px solid #cfcfcf;
font-weight: 600;
padding-bottom: 0;
}



#login p.new_pass a{
font-size:13px;
opacity:0.45;
transition:all 0.3s;
}

#login p.new_pass a:hover{
opacity:1;	
}

@keyframes error {
	0% {
		opacity: 0;
		transform: translate(-30px, 0);
		height: 0;
		margin-bottom:0;
	}
	3% {
		opacity: 0;
		transform: translate(-30px, 0);
		height: auto;
		margin-bottom:76px;
	}
	10%{
		opacity: 1;
		transform: translate(0, 0);
		height: auto;
		margin-bottom:76px;
	}
	90%{
		opacity: 1;
		transform: translate(0,0);
		height: auto;
		margin-bottom:76px;
	}
	97% {
		opacity: 0;
		transform: translate(-30px, 0);
		height: auto;
		margin-bottom:76px;
	}
	100% {
		opacity: 0;
		transform: translate(-30px, 0);
		height: 0;
		margin-bottom:0;
	}
}

#login .message{
display: block;
opacity: 0;
transform: translate(-30px, 30px);
animation-name: error;
animation-duration: 15s;
animation-delay: 0.3s;
height: 0;
}

#login .message p{
display:inline-block;
vertical-align:top;
background-color: #e10613;
margin-bottom:5px;
font-size:20px;
line-height:55px;
color:white;
padding:0px 30px;
}

#login .message.success p{
background-color: #261a1a;
}

#login p.error{
display: block;
font-size: 15px;
color: red;
font-weight: 900;
margin-top: 10px;
margin-bottom: 0px !important;
opacity: 0;
transform: translate(-30px, 30px);
animation-name: error;
animation-duration: 15s;
animation-delay: 0.3s;
height: 0;
}

#login label{
display: block;
}


/* ***** SIGN IN ***** */
#signin{
padding:90px 0 100px; /* a recopier pour toutes les pages SAUF home */
text-align:center;
position: relative;
}

#signin h1{
font-size: 30px;
line-height: 35px;
padding-bottom: 30px;
position: relative;
margin: 0 0 50px;
}

#signin .c1{
display:block;
vertical-align:top;
width:100%;
max-width: 500px;
margin: 0 auto 20px;
text-align:left;
}

#signin.mes-adresses .c1{
	margin-bottom: 50px;
}

#signin .c2{
display:block;
width:100%;
max-width: 500px;
margin: 0 auto;
text-align:left;
}

#signin h2{
margin-bottom: 35px;
text-transform: uppercase;
border-bottom: 1px solid #261a1a;
font-weight: 600;
text-align: left;
}

#signin h2 span{
display: block;
color: #969892;
font-size: 18px;
}

#signin .opt_in_label{
display:inline-block;	
}

#signin .submit{
display: inline-block;
height: 40px;
vertical-align: middle;
background-color: #261a1a;
cursor: pointer;
color: white;
position: relative;
padding: 0 20px;
font-size: 18px;
cursor: pointer;
border: none;
width: fit-content;
margin-top: 20px;
}

#signin .c2 p{
font-size: 13px;
opacity: 0.45;
line-height: 19px;
}

#signin .c2 p.connexion_btn, #recuperation_pass p.connexion_btn{
font-size: 13px;
opacity: 0.45;
transition: all 0.3s;
margin-top: 20px;
}

#signin .c2 p.connexion_btn a:hover, #recuperation_pass p.connexion_btn a:hover{
opacity: 1;
}

#signin .form_errors p{
display: block;
font-size: 15px;
color: red;
font-weight: 900;
margin-top: 10px;
margin-bottom: 20px !important;
opacity: 0;
transform: translate(-30px, 30px);
animation-name: error;
animation-duration: 15s;
animation-delay: 0.3s;
height: 0;
}

#signin.eshop label, #signin.eshop .label_input{
display:block;
margin-bottom:4px;
font-size: 17px;
}

#signin.eshop .radio label{
display:inline-block;
}

div#signin input[type="email"]{
border: 1px solid #757575;
background-color: white;
padding: 10px;
height: 40px;
box-sizing: border-box;
vertical-align: middle;
width: 100%;
margin-bottom: 20px;
font-size: 17px;
margin-right: 5px;
}

div#signin input[type="password"]{
border: 1px solid #757575;
background-color: white;
padding: 10px;
height: 40px;
box-sizing: border-box;
vertical-align: middle;
width: 100%;
margin-bottom: 20px;
font-size: 17px;
margin-right: 5px;
}

div#signin input[type="text"]{
border: 1px solid #757575;
background-color: white;
padding: 10px;
height: 40px;
box-sizing: border-box;
vertical-align: middle;
width: 100%;
margin-bottom: 20px;
font-size: 17px;
margin-right: 5px;
}

div#signin input[type="number"]{
border: 1px solid #757575;
background-color: white;
padding: 10px;
height: 40px;
box-sizing: border-box;
vertical-align: middle;
width: 100%;
margin-bottom: 20px;
font-size: 17px;
margin-right: 5px;
}


div#signin input[type="tel"]{
border: 1px solid #757575;
background-color: white;
padding: 10px;
height: 40px;
box-sizing: border-box;
vertical-align: middle;
width: 100%;
margin-bottom: 20px;
font-size: 17px;
margin-right: 5px;
}

div#signin.eshop .radio{
margin-bottom: 20px;
}

div#signin.eshop input[type="checkbox"]{
display: inline;
margin-top: 2px;
vertical-align: top;
}

div#signin.eshop input[type="checkbox"]+label{
display: inline-block;
width: 90%;
vertical-align: top;
}

div#signin.eshop .space{
display: inline-block;
width: 13px;
}

div#signin.eshop label, div#signin.eshop .label_input{
opacity: 0.45;
font-size: 15px;
line-height: 18px;
margin-bottom: 10px;
}

/* ***** MON COMPTE ***** */
#compte{
padding:90px 0 100px; /* a recopier pour toutes les pages SAUF home */
text-align:center;
}

#compte h1{
font-size: 30px;
line-height: 35px;
padding-bottom: 30px;
margin: 0 0 50px;
position: relative;
}

#compte h1:after{
content: "";
position: absolute;
bottom: -5px;
left: 50%;
transform: translateX(-50%);
width: 275px;
height: 30px;
background-image: url(images/title-border.svg);
background-size: 275px;
background-position: center;
background-repeat: no-repeat;
}

#compte h2{
margin-top: 50px;
margin-bottom: 35px;
text-transform: uppercase;
border-bottom: 1px solid #261a1a;
font-weight: 600;
text-align: left;
}

#compte h2 span{
display: block;
color: #969892;
font-size: 18px;
}


#compte .c1{
width:100%;
margin-bottom:60px;
}

#compte .c1a{
display: block;
vertical-align: top;
width: 100%;
text-align: left;
margin: 0 auto 50px;
max-width: 500px;
}

#compte .c1b{
display: block;
width: 100%;
text-align: left;
font-size: 15px;
max-width: 500px;
margin: 0 auto;
}

#compte .c1 p{
font-size:15px;
margin-bottom:8px;
}

#compte .c1 p span{
display: block;
vertical-align: top;
font-weight: 900;
margin: 0;
line-height: 17px;
}

#compte .c1 a.button{
margin-bottom:16px;	
}

#compte .c1 .changer_password{
background-image: url('images/password.png');
background-repeat: no-repeat;
background-position: 0px 3px;
padding-left: 61px;
padding-top: 5px;
padding-bottom: 5px;
display: inline-block;
margin-bottom:16px;
}

#compte .c1 .modifier_info_personnelles{
background-image: url('images/common/update-arrow.png');
background-size:21px;
background-repeat: no-repeat;
background-position: 0px 3px;
padding-left: 32px;
padding-top: 5px;
padding-bottom: 5px;
display: inline-block;
margin-bottom:16px;
}

#compte .c1 .mes-adresses{
background-image: url('images/common/adresses.svg');
background-size:21px;
background-repeat: no-repeat;
background-position: 0px 3px;
padding-left: 32px;
padding-top: 5px;
padding-bottom: 5px;
display: inline-block;
margin-bottom:16px;
}

#compte .c1 .logout{
background-image: url('images/common/logout.png');
background-size:21px;
background-repeat: no-repeat;
background-position: 0px 3px;
padding-left: 28px;
padding-top: 5px;
padding-bottom: 5px;
display: inline-block;
margin-bottom:16px;
}

#compte .commande{
border: 1px solid grey;
border-radius: 5px;
padding: 20px;
text-align: left;
max-width: 1200px;
margin: 0 auto 30px;
font-size: 15px;
}

#compte .commande p{
font-size: 14px;
margin-bottom: 8px;
}

#compte .commande span{
display: block;
vertical-align: top;
min-width: 240px;
font-weight: 900;
}

#compte .commande span.etat_content{
display: inline-block;
vertical-align: top;
min-width: 0;
font-weight: normal;
}

#compte .commande span.etat_content.bg_purple{
background-color: #34209E;
color: white;
padding: 0 10px;
border-radius: 5px;
}

#compte .commande span.etat_content.bg_green{
background-color: #70b580;
color: white;
padding: 0 10px;
border-radius: 5px;
}

#compte .commande span.etat_content.bg_red{
background-color: #E74C3C;
color: white;
padding: 0 10px;
border-radius: 5px;
}

#compte .commande span.etat_content.bg_orange{
background-color: #d89e34;
color: white;
padding: 0 10px;
border-radius: 5px;
}

#compte .commande .infos_paiement{
border: 2px solid #34209E;
border-radius: 5px;
padding: 15px;
margin: 20px 2%;
}

#compte .commande .infos_paiement p:first-of-type{
font-weight: 900;
margin-bottom: 15px;
}

#compte .commande .infos_paiement p:nth-of-type(n+1) span:first-of-type{
font-weight: 900;
min-width: 170px;
}

#compte .commande .infos_paiement p:nth-of-type(n+1) span+span{
font-weight: normal;
}

#compte table{
display: block;
overflow: auto;
width: 100%;
margin-top: 30px;
}

#compte table tr{
	min-width: 800px;
}

#compte table thead{
background-color: #d3d3d3;
}

#compte table th, #compte table td{
padding: 10px;
}

#compte table tr:nth-last-child(-n+3) td:first-of-type{
	font-weight: bold;
	text-align: right;
}

#compte table tr:last-child td+td{
	font-weight: bold;
}

/* ***** MES ADRESSES ***** */

#signin.mes-adresses form .c1{
	width: 100%;
}

#signin.mes-adresses input[name="rue"]{
	width: calc(100% - 86px);
    display: inline-block;
    vertical-align: top;
}

#signin.mes-adresses input[name="numero"]{
	width: 65px;
    margin-right: 0;
    margin-left: 10px;
    display: inline-block;
    vertical-align: top;
}

#signin.mes-adresses select{
	border: 1px solid #757575;
    background-color: white;
    padding: 0 10px;
    height: 40px;
    box-sizing: border-box;
    vertical-align: middle;
    width: 100%;
    margin-bottom: 20px;
    font-size: 17px;
    margin-right: 5px;
}

#signin.mes-adresses .c1 input[type="submit"]{
	display: inline-block;
    height: 40px;
    vertical-align: middle;
    background-color: #261a1a;
    cursor: pointer;
    color: white;
    position: relative;
    padding: 0 20px;
    font-size: 18px;
    cursor: pointer;
    border: none;
    width: fit-content;
    margin-top: 20px;
}

#signin.mes-adresses .adresse{
	width: 100%;
    background-color: white;
    border: 2px solid #cfcece;
    text-align: left;
    display: inline-block;
    vertical-align: top;
    border-radius: 4px;
    padding: 20px;
    box-sizing: border-box;
    position: relative;
    margin-bottom: 30px;
}

#signin.mes-adresses .adresse p{
	font-size: 18px;
    opacity: 1;
    line-height: 25px;
    margin: 0;
}

#signin.mes-adresses .adresse span{
	display: block;
}

#signin.mes-adresses .c2 form{
	position: absolute;
	top: 0;
	right: 0;
}

#signin.mes-adresses .c2 input[type="submit"]{
	background-color: transparent;
    color: #231f20;
    text-decoration: underline;
    margin: 5px 10px 0 0;
}


/* ***** RÉCUPÉRATION MOT DE PASSE ***** */
#recuperation_pass{
padding:90px 0 100px; /* a recopier pour toutes les pages SAUF home */
text-align:center;
position: relative;
}

#recuperation_pass h1{
font-size: 30px;
line-height: 35px;
padding-bottom: 30px;
margin: 0 auto 50px;
position: relative;
max-width: 85%;
}

#recuperation_pass p.error{
display: block;
font-size: 15px;
color: red;
font-weight: 900;
margin-top: 10px;
margin-bottom: 0px !important;
opacity: 0;
transform: translate(-30px, 30px);
animation-name: error;
animation-duration: 15s;
animation-delay: 0.3s;
height: 0;
}

#recuperation_pass form p{
margin-bottom: 40px;
}

.eshop a.btn_back{
opacity: 0.45;
display: inline-block;
vertical-align: top;
line-height: 16px;
font-size: 16px;
background-color: transparent;
border: 1px solid hsl(0deg 0% 0% / 45%);
position: absolute;
top: 20px;
left: 20px;
padding: 7px 20px 7px 50px;
background-image: url(images/button-back.svg);
background-repeat: no-repeat;
background-position: left 10px center;
background-size: 32px;
}

#recuperation_pass form {
margin: 0 auto;
text-align: center;
}

#recuperation_pass label {
opacity: 0.45;
font-size: 15px;
display: block;
margin-bottom: 10px;
}

#recuperation_pass input {
border: 1px solid #757575;
background-color: white;
padding: 10px;
height: 40px;
box-sizing: border-box;
vertical-align: middle;
width: 85%;
max-width: 500px;	
font-size: 17px;
margin-bottom: 10px;
}

#recuperation_pass input[type="submit"] {
display: inline-block;
height: 40px;
vertical-align: middle;
background-color: #261a1a;
cursor: pointer;
color: white;
position: relative;
padding: 0 20px;
font-size: 18px;
cursor: pointer;
border: none;
width: fit-content;
margin-top: 20px;
}

/* ***** CHECKOUT ***** */

#checkout{
padding:90px 0 100px; /* a recopier pour toutes les pages SAUF home */
text-align:center;
position: relative;
}

#checkout .content{
width: 100%;
display: block;
vertical-align: top;
text-align: center;	
}

#checkout h1{
font-size: 30px;
line-height: 35px;
padding-bottom: 30px;
position: relative;
margin: 0 0 50px;
}

#checkout h1:after{
content: "";
position: absolute;
bottom: -5px;
left: 50%;
transform: translateX(-50%);
width: 275px;
height: 30px;
background-image: url(images/title-border.svg);
background-size: 275px;
background-position: center;
background-repeat: no-repeat;
}

#checkout .facturation_form{
position: absolute;
display: inline-block;
height: 0;
opacity: 0;
overflow: hidden;
}

@keyframes opacity {
  0% {opacity: 0;}
  100% {opacity: 1;}
}

#checkout .facturation_form.visible{
position: relative;
display: inline-block;
animation-name: opacity;
animation-duration: 0.6s;
overflow: hidden;
height: auto;
opacity: 1;
width: 100%;
margin-top: 40px;
}

#checkout .resume{
vertical-align: top;
text-align: center;
display: block;
width: 100%;
padding: 0;
margin: 50px auto 0;
border: none;
}

#checkout .resume p{
max-width: 500px;
margin: 0 auto 20px;
display: flex;
justify-content: space-between;
font-size: 14px;
text-align: center;
}

#checkout .resume .total_articles span:first-of-type, #checkout .resume .livraison span:first-of-type{
text-align: left;
}

#checkout .resume .cart{
margin-bottom: 30px;
}

#checkout .resume .cart p:last-of-type{
border-bottom: 1px solid #cccccc;
padding-bottom: 20px;
}

#checkout .resume .adresses{
margin-top: 50px;
margin-bottom: 50px;
}

div#checkout .resume p.produit span{
font-weight: bold;
max-height: 3em;
overflow: hidden;
max-width: 75%;
font-size: 15px;
text-overflow: ellipsis;
display: -webkit-box;
-webkit-line-clamp: 1;
line-clamp: 1;
-webkit-box-orient: vertical;
}

div#checkout .resume p.produit span+span{
font-weight: normal;
}

#checkout .resume p.produit{
text-align: left;
font-size: 16px;
line-height: 22px;
}

#checkout .resume p.adresse_livraison{
display: block;
}

#checkout .resume p.adresse_livraison span+span{
font-size: 14px;
line-height: 18px;
margin-bottom: 0;
}

#checkout .resume p.adresse_livraison .name,#checkout, .resume p.adresse_livraison .address{
display: block;
text-align: left;
}

#checkout .resume p.adresse_facturation{
display: block;
}

#checkout .resume p.adresse_facturation .name, #checkout .resume p.adresse_facturation .address{
display: block;
text-align: left;
margin-bottom: 5px;
}

#checkout .resume p.adresse_facturation .title, #checkout .resume p.adresse_livraison .title{
display: inline-block;
}

#checkout .resume p.adresse_facturation, #checkout .resume p.adresse_livraison{
text-align: left;
margin-bottom: 20px;
}

#checkout .resume p.adresse_facturation span:nth-child(n+2){
font-size: 14px;
line-height: 18px;
margin-bottom: 0;
}

#checkout .resume p.total{
border-top: 1px solid #cccccc;
padding-top: 15px;
margin-bottom: 35px;
}

#checkout .resume p.tva{
display: block;
text-align: left;
}

#checkout .resume p.tva span{
display: block;
}

#checkout .resume p.tva span+span{
font-size: 14px;
line-height: 18px;
margin-bottom: 0;
}

#checkout .resume p.tva span+span a{
text-decoration: underline;
}

#checkout input[type="submit"]{
display: inline-block;
height: 40px;
vertical-align: middle;
background-color: #261a1a;
cursor: pointer;
color: white;
position: relative;
padding: 0 20px;
font-size: 18px;
cursor: pointer;
border: none;
width: fit-content;
margin-top: 20px;
}

#checkout .resume p.total span, #checkout .resume p.livraison span+span, #checkout .resume p.total_articles span+span{
font-weight: 900;
}

#checkout .resume .adresses .title{
font-weight: 900;
}

div#checkout .resume.checkout-resume span{
	font-weight: normal;
	text-align: left;
}

div#checkout .resume.checkout-resume span+span{
	font-weight: 900;
}

div#checkout .resume.checkout-resume p.total span{
	font-weight: 900;
}

#checkout h1{
margin-bottom: 60px;
text-align: center;
}

#checkout p.label_input{
font-size: 22px;
margin-bottom: 30px;
}

#checkout p.livraison_camion{
font-size: 15px;
line-height: 18px;
color: #e10613;
margin-bottom: 30px;
}

#checkout .choice{
width: 100%;
max-width: 300px;
background-color: white;
box-sizing: border-box;
border: 1px solid #cccccc;
text-align: left;
margin: 0 1% 25px 0;
display: inline-block;
vertical-align: top;
cursor: pointer;
}

#checkout .paiement .choice{
display: block;
min-height: auto;
margin: 0 auto 20px;
}

#paiement_reception{
padding: 75px 50px 100px 50px;
text-align: center;
}

#paiement_reception>div{
max-width: 1200px;
margin: auto;
}

#paiement_reception>div.align-left{
text-align: left;
}

#paiement_reception h1{
font-size: 30px;
line-height: 35px;
padding-bottom: 30px;
margin: 0 0 50px;
position: relative;
text-align: center;
}

#paiement_reception h1:after{
content: "";
position: absolute;
bottom: -5px;
left: 50%;
transform: translateX(-50%);
width: 275px;
height: 30px;
background-image: url(images/title-border.svg);
background-size: 275px;
background-position: center;
background-repeat: no-repeat;
}

#paiement_reception>div p.intro{
text-align: center;
}

#paiement_reception div.content p.inline{
display: inline;
}

#paiement_reception div.content p:not(.inline){
margin: 10px 0;
}

#paiement_reception div.content p:not(.inline) span:first-of-type{
font-weight: bold;
}

#paiement_reception .infos_paiement{
padding: 10px 20px;
margin: 30px 0;
box-sizing: border-box;
border: 2px solid #f9e800;
border-radius: 20px;
}

#paiement_reception .content>img{
margin: 30px auto;
width: 200px;
height: auto;
display: block;
}

#checkout .choice.selected{
border: 2px solid #261a1a;
font-weight: 500;
background-color: #efefef;
position: relative;
}

#checkout .choice.selected:after{
content:"";
position: absolute;
display: block;
right: 10px;
top: 10px;
width: 15px;
height: 15px;
background-image: url(../images/icon-selected.svg);
background-size: 100%;
background-repeat: no-repeat;
background-position: center;
}

#checkout .choice label{
display: inline-block;
width: 100%;
padding: 20px;
box-sizing: border-box;
cursor: pointer;
min-height: 106px;
}

#checkout .paiement .choice label{
min-height: auto;
}

#checkout .paiement .choice label img{
width: 30px;
height: 30px;
padding: 0 5px;
vertical-align: middle;
}

#checkout .paiement .choice label span{
display: block;
margin-top: 12px;
}

#checkout .choice span{
display: block;
}

#checkout .form_opener{
margin-top: 20px;
cursor: pointer;
}

#checkout .facturation_form>label{
display: inline-block;
font-weight: 900;
width: 295px;
vertical-align: top;
margin: 10px 30px 10px 0;
}

#checkout .facturation_form .tva-infos{
display: block;
font-size: 12px;
margin-top: 10px;
font-weight: 400;
line-height: 17px;
color: #a9afb3;
margin-bottom: 40px;
}

#checkout .facturation_form>input[type="text"]{
border: 1px solid #bdc3c7;
padding: 10px;
font-size: 16px;
color: #2c3e50;
transition: all 0.2s ease-in-out;
margin-bottom: 20px;
width: 350px;
max-width: 100%;
box-sizing: border-box;
vertical-align: top;
margin: 0;
}

#checkout input[type="radio"] {
visibility: hidden;
position: absolute;
}

#checkout .new_address{
width: 100%;
max-width: 300px;
background-color: white;
box-sizing: border-box;
border: 1px solid #cccccc;
text-align: center;
margin: 0 0 25px 0;
display: inline-block;
vertical-align: top;
cursor: pointer;
padding-bottom: 25px;
}

#checkout .new_address .button{
width: 100%;
padding: 0;
height: 100%;
border-radius: 0;
background: transparent;
color: #14190b;
font-size: 18px;
padding-top: 60px;
box-sizing: border-box;
position: relative;
border: none;
margin: 0;
font-weight: 400;
}

#checkout .new_address .button:before{
content: "";
position: absolute;
top: 25px;
left: 50%;
transform: translateX(-50%);
width: 25px;
height: 25px;
display: block;
background-image: url(../images/icon-more.svg);
background-size: 25px;
background-position: center;
background-repeat: no-repeat;
}

#checkout .new_address_form{
	position: fixed;
    top: 0;
    left: 0;
    height: 100vh;
    width: 100vw;
    background-color: rgb(158 158 158 / 42%);
	z-index: 101;
	display: none;
}

#checkout .new_address_form.visible{
	display: block;
}

#checkout .new_address_form .pop-up{
	width: 700px;
    height: fit-content;
    padding: 50px;
    background-color: white;
    opacity: 1;
    margin: 0 auto;
    margin-top: 60px;
	text-align: left;
}

#checkout .new_address_form .pop-up-title{
	text-align: center;
}

#checkout .new_address_form label{
	max-width: 350px;
    margin: 0 auto 4px;
	display: block;
}

#checkout .new_address_form input[type="text"]{
	border: 1px solid #bdc3c7;
    padding: 10px;
    font-size: 16px;
    color: #2c3e50;
    transition: all 0.2s ease-in-out;
    width: 350px;
    border-radius: 4px;
    background-repeat: no-repeat;
    background-position: 10px center;
	display: block;
	margin: 0 auto 20px;
    box-sizing: border-box;
}

#checkout .new_address_form .pop-up_submit{
	text-align: center;
    margin-top: 50px;
}

#checkout .new_address_form .pop-up_close{
	text-align: center;
    margin-top: 35px;
}

#checkout .new_address_form .pop-up_close a{
    background-color: white;
}

#checkout .loader{
  text-align: center;
} 

#checkout .loader p, #checkout .loader div, #checkout .loader input{
  opacity: 0;
  transition : none;
} 

#checkout .loader:before{
content: "";
border: 3px solid #f3f3f3;
border-top: 3px solid #876161;
border-radius: 50%;
width: 35px;
height: 35px;
animation: spin 2s linear infinite;
opacity: 1;
position: absolute;
}

@keyframes spin {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(550deg); }
}


/* ***** CATALOGUES ***** */

#catalogues{
padding: 90px 0 100px;
text-align: center;
}

#catalogues h1{
font-size: 30px;
line-height: 35px;
padding-bottom: 30px;
margin: 0 0 50px;
position: relative;
}

#catalogues h1:after{
content: "";
position: absolute;
bottom: -5px;
left: 50%;
transform: translateX(-50%);
width: 275px;
height: 30px;
background-image: url(images/title-border.svg);
background-size: 275px;
background-position: center;
background-repeat: no-repeat;
}

#catalogues p.important{
color: #68bc45;
font-weight: 600;
margin-bottom: 40px;
}

#catalogues a.item{
display: inline-block;
vertical-align: top;
width: 45%;
margin: 25px 2%;
box-sizing: border-box;
text-align: left;
padding: 13px 43px;
text-align: center;
text-decoration: none;
transition: all 0.3s;
border: 1px solid #cfcfcf;
border-radius: 20px;
}

#catalogues a.item:hover{
background-color: #f1f1f1;
}

#catalogues .item h2{
text-align: left;
margin-bottom: 20px;
text-transform: uppercase;
border-bottom: 1px solid #68bc45;
font-weight: 600;
}

#catalogues .item h2 span{
display: block;
color: #969892;
font-size: 18px;
}

#catalogues .item p.texte{
text-align: left;
}


#catalogues .item img{
display:block;
width: 168px;
margin: 20px auto;
padding:13px;
}


#catalogues .item span.button{
background: rgb(171,199,62);
background: linear-gradient(90deg, rgba(171,199,62,1) 25%, rgba(104,188,69,1) 100%);
display: inline-block;
border-radius: 30px;
background-color: #14190b;
color: white;
padding: 8px 23px;
margin: 0;
transition: all 0.5s ease-in-out;
font-size: 15px;
text-decoration: none;
transition: all 0.3s;
padding-right: 65px;
position: relative;
margin-bottom: 20px;
}

#catalogues .item span.button:after {
content: "";
width: 30px;
height: 10px;
position: absolute;
top: 50%;
right: 0;
transform: translate(calc( 100% - 55px ),-50%);
background-image: url(images/button-after.svg);
background-size: 40px;
background-position: center right;
background-repeat: no-repeat;
transition: all 0.6s;
}

#catalogues .item:hover span.button:after {
width: 40px;
}

/* ***** CONTACT ***** */

#contact{
padding: 90px 0 100px;
text-align: center;
}

#contact h1{
font-size: 30px;
line-height: 35px;
padding-bottom: 30px;
margin: 0 0 50px;
position: relative;
}

#contact h1:after{
content: "";
position: absolute;
bottom: -5px;
left: 50%;
transform: translateX(-50%);
width: 275px;
height: 30px;
background-image: url(images/title-border.svg);
background-size: 275px;
background-position: center;
background-repeat: no-repeat;
}


#contact .c1{
display:inline-block;
width:48%;
margin-right:6%;
text-align:left;
vertical-align: middle;
}

#contact .c1 p span.head{
display: block;
width: 100%;
font-size: 12px;
line-height: 18px;
text-transform: uppercase;
color: #68bc45;
}

#contact .c1 h2{
text-align: left;
margin-bottom: 20px;
text-transform: uppercase;
border-bottom: 1px solid #68bc45;
font-weight: 600;
}

#contact .c1 h2 span{
display: block;
color: #969892;
font-size: 18px;
}

#contact .c1 p.logo img{
display:none;
}

#contact .microdata{
display: none;
}


#contact .c2{
display:inline-block;
vertical-align: middle;
width:45%;
text-align:left;
}

#contact .c2 .streetview{
width:100%;
height:357px;
}

#contact .map{
width:100%;
height:433px;
margin-top: 50px;
}