* {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}
html {
	overflow: hidden;
	overflow-y: auto;
}
body {
	font-size: 16px;
	line-height: 22px;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	color: #333;
	font-weight: 400;
}

html,
body,
button,
input,
select,
textarea {
	font-family: 'Muli', sans-serif;
}
.font2 {
	font-family: 'Lobster', cursive;
}

footer,
header,
nav,
section {
  display: block;
}

h1, h2, h3, h4, h5, h6, p {
  margin: 0;
  margin-bottom: 10px;
}

nav ul,
nav ol {
  list-style: none;
  list-style-image: none;
}
ol, ul {
  margin: 0;
}

h1, h2, h3 {
	line-height: 1.3;
}

h1, h2, h3 {
	font-weight: 600;
	margin-bottom:0;
}

h1 {font-size: 46px;}
h2 {font-size: 36px;}
h3 {	
	font-size: 26px;
	font-family: 'Lobster', cursive;
}

a {
	color: #DC143C;
	text-decoration: none;
	transition: all 0.4s ease-in-out 0s;
}
a:focus,
a:visited {
	color: #DC143C;
}
a:hover,

a:active {
	text-decoration: none;
	outline: none;
	color: #A10028;
}
.uppercase {
	text-transform:uppercase;
}
.text-italic {
  font-style: italic;
}
.text-normal {
  font-style: normal;
}
.text-underline {
  font-style: underline;
}
.hidden {
	display: none;
}
.clearfix:before,
.clearfix:after {
	content: " ";
	display: table;
}
.clearfix:after {
	clear: both;
}
.transition-3s {
    -webkit-transition: all 0.3s linear;
    -moz-transition: all 0.3s linear;
    -ms-transition: all 0.3s linear;
    -o-transition: all 0.3s linear;
    transition: all 0.3s linear;
}
.wrapper,
.relative {
  position: relative;
}
.d-inline {
    display: inline-block;
}
.d-block {
    display: block;
}
.absolute {
	position:absolute;
}
.container {
    max-width: 1200px;
}


.body {
	background-image:url(../img/bg-pdv.jpg);
	background-attachment:fixed;
	background-repeat: no-repeat;
	}


/******************************************************************************
	HEADER
*******************************************************************************/

header.header h1 {
	color:#fff;
	font-size:36px;
}

/******************************************************************************
	LAYOUT
*******************************************************************************/
h2.title {
	font-size:30px;
	color:#333;
}
h2.title span {
	font-size:36px;
	color:#DC143C;
}

h3.title {
	font-size:30px;
	color:#DC143C;
	margin-bottom:10px;
	font-weight:600;
}
h3.font2 {
	font-family: 'Lobster', cursive;
	font-size:24px;
	color:#DC143C;
	margin-bottom:15px;
}

h3.title::before {
	font-family: "Font Awesome 5 Free";
	content:"\f06e";
	display: inline-block;
	color:#A10028;
	margin-right:10px;
}
h3.title.check::before {
	font-family: "Font Awesome 5 Free";
	content:"\f00c";
	display: inline-block;
	color:#06A300;
	margin-right:10px;
}

#question .form-control {
	background-color:rgba(255,255,255,.8);
}


/******************************************************************************
	CARTES
*******************************************************************************/
.cartes {
    position: relative;
    display: block;
    padding: 10px 25px;
    min-height: 300px;
    width: 100%;
	margin-left:-45px;
}
.cartes .card {
    position: absolute;
	width:130px;
	height:auto;
	top:10px;
	display:inline-block; 
}
.cartes .card:hover {
	top:-15px;
	transform: rotate(5deg);
	cursor:pointer;
}
.card {
    margin:20px 40px;
    border-radius: 0;
	background-color: rgba(255, 255, 255, 0);
	-webkit-box-shadow: 6px 6px 10px 2px rgba(0,0,0,0.4);
	-moz-box-shadow: 6px 6px 10px 2px rgba(0,0,0,0.4);
	box-shadow: 6px 6px 10px 2px rgba(0,0,0,0.4);
}

.background {
	background-color: rgba(255, 255, 255, .6);
}

.bordered {
	border: 5px solid #fff;
	border-radius:10px;
}

.tirage img {
	padding:5px;
	border-bottom:3px solid #fff;
	border-radius:10px;
}
#tirage-carte.no-tirage .card:hover {
	top:10px;
	transform: rotate(0deg);
	cursor:no-drop!important;
}

.shadow {
	box-shadow: 0px 0px 6px 0px rgba(0,0,0,0.85);
}


/******************************************************************************
	FORMULAIRE
*******************************************************************************/
.formulaire {
	position:relative;
	display:block;
	padding:20px 60px;
	margin:20px 0 40px;
	background-color:#f3f3f3;
	border-radius:6px;
	box-shadow: 0px 0px 10px 0px rgba(0,0,0,0.25);
}
.formulaire .overlay {
    position: absolute;
	left:0;
	right:0;
	top:0;
	bottom:0;
    background-color:rgba(255,255,255,0.65);
	border-radius:6px;
	z-index: 10;
    cursor: not-allowed;
}

.formulaire .form-control {
	border-radius:0;
}

.custom-control-input:checked ~ .custom-control-label::before {
    color: #fff;
	border-color:#DC143C;
	background-color:#DC143C;
}

.btn-primary {
	background: linear-gradient(to bottom, #06A300 0%,#088000 100%);
	border-color:transparent;
	color:#fff;
}
.btn-primary:hover {
	background: linear-gradient(to bottom, #088000 0%,#088000 100%);
	border-color:transparent;
	color:#fff;
}
.btn-lg {
    padding: 1rem 1rem;
}


/******************************************************************************
	FOOTER
*******************************************************************************/
#footer.footer {
	position:relative;
}
#footer .copyright {
	background:#111;
	line-height: 22px;
	padding: 15px 0 15px;
}
#footer .copyright, 
#footer .copyright a {
	color:#f7f7f7;
}
#footer .copyright a:hover {
	color:#FD9B45; 
}

/******************************************************************************
	TO TOP
*******************************************************************************/
#back-to-top {
    position: fixed;
    width: 50px;
	height: 50px;
	bottom: 30px;
	right: 30px;
    z-index: 9999;   
    cursor: pointer;
    background-image: url(../img/back-to-top.png);
	background-repeat: no-repeat;
	background-position: 50% 48%;
	background-color:rgba(123, 123, 123, 0.65);	
	-webkit-border-radius: 2px;
    -moz-border-radius: 2px;
    border-radius: 50%;
	-webkit-transition: all 250ms linear;
	-moz-transition: all 250ms linear;
	transition: all 250ms linear;
    opacity: 0;
}
#back-to-top:hover {
	background-color: rgba(120, 63, 96, 0.95);
}
#back-to-top.show {
    opacity: 1;
}

.mt-80 {
	margin-top:0px;
}
/****************************************************
	RESPONSIVE
****************************************************/
/** Min-Width **/
@media (min-width: 768px) {
	.page-section {
	padding:0 0 40px;
	}	
}
@media only screen and (min-width: 768px) and (max-width: 991px) {
	
}
@media (min-width: 992px) {
	.body {
	background-position:top center;
	}
	.desktop {
	display:none;
	}
	header.header {
	position:relative;
	width:100%;
	padding:15px 0;
	min-height:200px;
	background-image:url(../img/bg-header.png);
	background-position:top center;
	background-repeat: no-repeat;
	}
	h2.title {
	margin-top:30px;
	}
	.custom-radio .custom-control-label::before {
    top: .25rem;
    left: -1.75rem;
    width: 1.5rem;
    height: 1.5rem;
	}
	.custom-radio .custom-control-label::after {
	top: .25rem;
	left: -1.75rem;
	width: 1.5rem;
	height: 1.5rem;
	}
}

@media only screen and (min-width: 992px) and (max-width: 1199px) {

}

@media (min-width: 1400px) {

}

/** Max-Width **/
@media (max-width: 1199px) {

}

@media (max-width: 991px) {
	.body {
	background-position:top right;
	}
	.mobile {
	display:none;
	}
	header.header {
	position: relative;
	width: 100%;
	padding: 15px 0;
	min-height: 180px;
	z-index: 200;
	background-image: url(../img/bg-header-mobile.png);
	background-position: top center;
	background-repeat: no-repeat;
	}
	.cartes {
	margin-left: 30px;
	}
	
}

@media (max-width: 767px) {
	.order-first,
	.text.order-first {
    -ms-flex-order: 13;
    order: 13;
	}
	.page-section {
    padding: 0;
	}
	header.header h1 {
    font-size: 30px;
	}
	h3.title {
    font-size: 24px;
	}
	.cartes .card {
    width: 150px;
	}
	.cartes {
	margin-left: 30px;
	}
}

@media (min-width:577px) and (max-width:767px) {

}

@media (max-width: 576px) {
	.container {
    max-width: 400px;
	}
	.page-section {
    padding: 0;
	}
	
	.order-last {
    -ms-flex-order: -1;
    order: -1;
	}
	header.header h1 {
    font-size: 26px;
	}	
	.cartes {
	margin-left: -25px;
	}
	.formulaire {
	padding:20px 10px;
	}
	#footer .list-inline-item {
    display:block;
	text-align:center;
	}

}
@media only screen and (max-width: 479px) {

}
@media only screen and (max-width: 399px) {

}