/* FONTS */
@font-face {
    font-family: 'grandslangroman';
    src: url('fonts/grandslang-roman-webfont.woff2') format('woff2'),
         url('fonts/grandslang-roman-webfont.woff') format('woff');
    font-weight: normal;
    font-style: normal;
}

/* STYLES */
body 	{ cursor: url("img/cursor.png"), url("img/cursor.cur"), auto; font-family:'grandslangroman', helvetica, sans-serif; font-weight:normal; font-size:28px; color:#f7bfa6; background:url('img/page-bg.jpg') no-repeat center center fixed; background-size:cover; line-height:1.2em; margin:0; padding:0; }
ul 		{ list-style-type:none; margin-bottom:0; }
p 		{ line-height:1.5em; }
a 			{ color:#F7BFA6; transition:color 0.4s; }
a:hover 	{ color:white; }

/* STYLES GENERIQUE SITE */
h1, h2, h3, h4, h5 	{ /*font-family:'Leckerli One', cursive; color:#a52f63; font-weight:400;*/ }
h1 	{ font-size:42px; }
h2 	{ font-size:38px; }
h3 	{ font-size:28px; }
h4 	{ font-size:16px; }
h5 	{ font-size:14px; }


.font17 	{ font-size:17px; }


/* GNRL --------------------------------------------- */
.absolute-center 	{ position:absolute; top:0; bottom:0; left:0; right:0; margin:auto; }
.absolute-top 		{ position:absolute; top:50px; bottom:0; left:0; right:0; margin:auto; }

a:hover, .carte_off:hover { cursor: url('img/cursor-over.png'), auto; }


.bt-entrez {
	position: relative;
	display: block;
	transition: all .3s;
	width: 300px;
	margin-left: auto;
	margin-right: auto;
}
.bt-entrez:after {
	z-index: 0;
	opacity: 0;
	transform: translate(-205px, -30px);
	transition: opacity 3s;
	position: absolute;
	top: 0;
	left: 50%;
	right: 50%;
	content: '';
	width: 453px;
	height: 141px;
	background: url(img/entrez-fond.png);
	background-repeat: no-repeat;
	background-size: cover;
}
.bt-entrez:hover:after {
	opacity: 1;
}


.bt-conjurer {
	position: relative;
	display: block;
	transition: all .3s;
}
.bt-conjurer:after {
	z-index: 0;
	opacity: 0;
	transform: translate(-255px, -60px);
	transition: opacity 3s;
	position: absolute;
	top: 0;
	left: 50%;
	right: 50%;
	content: '';
	width: 453px;
	height:186px;
	background: url(img/conjurer-fond.png);
	background-repeat: no-repeat;
	background-size: cover;
	z-index:100;
}
.bt-conjurer:hover:after {
	opacity: 0.4;
}


.bt-partager {
	position: relative;
	display: block;
	transition: all .3s;
}
.bt-partager:after {
	z-index: 0;
	opacity: 0;
	transform: translate(-200px, -60px);
	transition: opacity 3s;
	position: absolute;
	top: 0;
	left: 50%;
	right: 50%;
	content: '';
	width: 453px;
	height:179px;
	background: url(img/partager-fond.png);
	background-repeat: no-repeat;
	background-size: cover;
	z-index:100;
}
.bt-partager:hover:after {
	opacity: 0.4;
}

.btn-son { position:absolute; z-index:1000; right:50px; top:50px; cursor:pointer; background:url('img/4aout_BTN_on.svg') no-repeat center 0; width:25px; height:25px; opacity:0.5; }
.btn-son:hover { opacity:1; }
.btn-son.sonOff { background:url('img/4aout_BTN_off.svg') no-repeat center center; }


/*Intro */
video.intro { 
	position: fixed;
	top: 50%;
	left: 50%;
	min-width: 100%;
	min-height: 100%;
	width: auto;
	height: auto;
	z-index: -100;
	transform: translateX(-50%) translateY(-50%);
	background-size: cover;
	transition: 1s opacity;
}


/* bulles */
#bulle1 	{ 
	position:absolute; 
	top:10%; 
	left:15%; 
	z-index:-1; 
	-webkit-animation: bulleAnim 85s ease-out;
	-moz-animation: bulleAnim 85s ease-out;
	animation: bulleAnim 85s ease-out;
	-webkit-animation-iteration-count: infinite;
	-moz-animation-iteration-count: infinite;
	animation-iteration-count: infinite;
}

#bulle2 	{ 
	position:absolute; 
	top:20%; 
	right:20%; 
	z-index:-2; 
	-webkit-animation: bulleAnim2 32s ease-out;
	-moz-animation: bulleAnim2 32s ease-out;
	animation: bulleAnim2 32s ease-out;
	-webkit-animation-iteration-count: infinite;
	-moz-animation-iteration-count: infinite;
	animation-iteration-count: infinite;
}

#bulle3 	{ 
	position:absolute; 
	top:80%; 
	right:60%; 
	z-index:-3; 
	-webkit-animation: bulleAnim3 45s ease-out;
	-moz-animation: bulleAnim3 45s ease-out;
	animation: bulleAnim3 45s ease-out;
	-webkit-animation-iteration-count: infinite;
	-moz-animation-iteration-count: infinite;
	animation-iteration-count: infinite;
}

#bulle4 	{ 
	position:absolute; 
	top:60%; 
	right:10%; 
	z-index:-4; 
	-webkit-animation: bulleAnim2 20s ease-out;
	-moz-animation: bulleAnim2 20s ease-out;
	animation: bulleAnim2 20s ease-out;
	-webkit-animation-iteration-count: infinite;
	-moz-animation-iteration-count: infinite;
	animation-iteration-count: infinite;
}


@-webkit-keyframes bulleAnim {
	0%  { transform: scale(1) translate(0,0); }
	20% { transform: scale(0.5) translate(-100px,-100px); }
	40% { transform: scale(1.4) translate(140px,90px); }
	60% { transform: scale(0.8) translate(-220px,160px); }
	80% { transform: scale(1.2) translate(200px,40px); }
	100% { transform: scale(1) translate(0,0); }
}

@keyframes bulleAnim { 
	0%  { transform: scale(1) translate(0,0); }
	20% { transform: scale(0.5) translate(-100px,-100px); }
	40% { transform: scale(1.4) translate(140px,90px); }
	60% { transform: scale(0.8) translate(-220px,160px); }
	80% { transform: scale(1.2) translate(200px,40px); }
	100% { transform: scale(1) translate(0,0); }
}

@-webkit-keyframes bulleAnim2 {
	0% { transform: scale(1) translate(0,0); }
	25% { transform: scale(1.4) translate(-20px,-30px); }
	50% { transform: scale(0.5) translate(15px,30px); }
	75% { transform: scale(1.2) translate(30px,30px); }
	100% { transform: scale(1) translate(0,0); }
}

@keyframes bulleAnim2 { 
	0% { transform: scale(1) translate(0,0); }
	25% { transform: scale(0.5) translate(-20px,-30px); }
	50% { transform: scale(1.4) translate(15px,30px); }
	75% { transform: scale(1.2) translate(30px,30px); }
	100% { transform: scale(1) translate(0,0); }
}


@-webkit-keyframes bulleAnim3 {
	0%  { transform: scale(1) translate(0,0); }
	20% { transform: scale(0.5) translate(-50px,-50px); }
	40% { transform: scale(1.4) translate(100px,40px); }
	60% { transform: scale(0.8) translate(-120px,-100px); }
	80% { transform: scale(1.2) translate(140px,90px); }
	100% { transform: scale(1) translate(0,0); }
}

@keyframes bulleAnim3 { 
	0%  { transform: scale(1) translate(0,0); }
	20% { transform: scale(0.5) translate(-50px,-50px); }
	40% { transform: scale(1.4) translate(100px,40px); }
	60% { transform: scale(0.8) translate(-120px,-100px); }
	80% { transform: scale(1.2) translate(140px,90px); }
	100% { transform: scale(1) translate(0,0); }
}


/* popin */
.popin 					{ display:none; position:fixed; z-index:2000; width:100%; height:100%; background:rgba(14,20,27,0.95); }
.popin #popin-wrapper 	{ position:absolute; z-index:200; width:80%; height:auto; padding:30px 30px 10px; top:30%; transform:translateY(-30%); right:0; left:0; margin:auto; }
.popin .removePop 		{ cursor:pointer; }


/* ecran 1 */
.intro-pass 	{ position:absolute; left:0; right:0; bottom:50px; z-index:200; margin:0 auto; font-size:14px; text-align:center; }
.conteneur-anim 	{ margin-top:50vh; transform:translateY(-50%); }
#conteneur-accueil 	{ display:none; overflow:hidden; }

.monogram 	{ position:absolute; z-index:20; top:30px; left:30px; font-size:22px; }
.monogram p	{ display:none; position:absolute; z-index:15; margin-top:6px; margin-left:30px; }
.monogram img	{ position:absolute; z-index:20; }


.pendule 	{ position:absolute; top:0; /* top:-70px;*/ bottom:0; left:0; right:0; margin:auto; animation:animpendule 3s ease-out; animation-delay:3s; animation-fill-mode: both; }

@keyframes animpendule { 
	0% { transform:translateY(0); }
	100% { transform:translateY(-40px); }
}

.anim-cercle 	{ 
	position:absolute; 
	left:0; 
	right:0; 
	z-index:200; 
	margin:30px auto 0; 
	border:1px solid #f7bfa6; 
	border-radius:50%;
	width:55px; 
	height:55px;
	webkit-animation: cercleAnim 2.5s ease-out;
	-moz-animation: cercleAnim 2.5s ease-out;
	animation: cercleAnim 2.5s ease-out;
	animation-iteration-count:1;
}

@-webkit-keyframes cercleAnim {
	0% 		{ transform: scale(20); filter: blur(4px); opacity:0; }
	100% 	{ transform: scale(1); filter: blur(0); opacity:1; }
}

@keyframes cercleAnim { 
	0% 		{ transform: scale(20); filter: blur(4px); opacity:0; }
	100% 	{ transform: scale(1); filter: blur(0); opacity:1; }
}

@keyframes cercleCentralAnim { 
	0% 	{ transform: scale(0); opacity: 0; }
	100% 	{ transform: scale(1); opacity: 1; }
}

/* ecran 2 */
.conteneur-carte 	{ width:600px; height:600px; position:absolute; top:100px; left:0; right:0; margin:auto; }
#cercle-central 	{ width:280px; height:280px; border:1px solid #f7bfa6; border-radius:50%; background: url(img/page-bg.jpg) no-repeat center center; animation: cercleCentralAnim 1.4s ease-out; animation-iteration-count:1; }
#box-pendule		{ width: 100px; height: 150px; }



.eyes-wrapper {
	opacity: 0;
	width: 30px;
	height: 70px;
	display: flex;
	justify-content: space-around;
	position: absolute;
	left: 50%;
	top: 43px;
	transform: translate(-50%, -50%);
	z-index:10;
}

.eyes-wrapper__inner {
	width: 50px;
	height: 80px;
	position: relative;
}

.eyes-wrapper__inner__eye__iris {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 50px;
	height: 50px;
	border-radius: 50%;
	background-image: url(img/eye.png);
	background-size: cover;
	background-repeat: no-repeat;
	z-index: 0;
	transition: all .1s linear;
}

.carte_off { transition: all .2s; backface-visibility: hidden; border-radius: 5px; }

.carteOffOver	{ box-shadow:0px 0px 32px 14px rgba(247, 191, 166, 0.6); }

@keyframes carte1 {
	0% { transform: translate(0,190px); opacity: 0; }
	1% { opacity: 1; }
	100% { transform: translate(0,0); }
}
@keyframes carte2 {
	0% { transform:rotate(27.7deg) translate(78px,180px); opacity: 0; }
	1% { opacity: 1; }
	100% { transform:rotate(27.7deg) translate(78px,-10px); }
}
@keyframes carte3 {
	0% { transform:rotate(55.4deg) translate(175px,118px); opacity: 0; }
	1% { opacity: 1; }
	100% { transform:rotate(55.4deg) translate(175px,-72px); }
}
@keyframes carte4 {
	0% { transform:rotate(83.1deg) translate(230px,8px); opacity: 0; }
	1% { opacity: 1; }
	100% { transform:rotate(83.1deg) translate(230px,-172px); }
}
@keyframes carte5 {
	0% { transform:rotate(110.8deg) translate(235px,-95px); opacity: 0; }
	1% { opacity: 1; }
	100% { transform:rotate(110.8deg) translate(235px,-285px); }
}
@keyframes carte6 {
	0% { transform:rotate(138.5deg) translate(185px,-205px); opacity: 0; }
	1% { opacity: 1; }
	100% { transform:rotate(138.5deg) translate(185px,-390px); }
}
@keyframes carte7 {
	0% { transform:rotate(166.2deg) translate(92px,-270px); opacity: 0; }
	1% { opacity: 1; }
	100% { transform:rotate(166.2deg) translate(92px,-455px); }
}
@keyframes carte8 {
	0% { transform:rotate(193.9deg) translate(-20px,-280px); opacity: 0; }
	1% { opacity: 1; }
	100% { transform:rotate(193.9deg) translate(-20px,-471px); }
}
@keyframes carte9 {
	0% { transform:rotate(221.6deg) translate(-125px,-250px); opacity: 0; }
	1% { opacity: 1; }
	100% { transform:rotate(221.6deg) translate(-125px,-435px); }
}
@keyframes carte10 {
	0% { transform:rotate(249.3deg) translate(-205px,-165px); opacity: 0; }
	1% { opacity: 1; }
	100% { transform:rotate(249.3deg) translate(-205px,-355px); }
}
@keyframes carte11 {
	0% { transform:rotate(277deg) translate(-235px,-55px); opacity: 0; }
	1% { opacity: 1; }
	100% { transform:rotate(277deg) translate(-235px,-245px); }
}
@keyframes carte12 {
	0% { transform:rotate(304.7deg) translate(-210px,55px); opacity: 0; }
	1% { opacity: 1; }
	100% { transform:rotate(304.7deg) translate(-210px,-135px); }
}
@keyframes carte13 {
	0% { transform:rotate(332.4deg) translate(-140px,144px); opacity: 0; }
	1% { opacity: 1; }
	100% { transform:rotate(332.4deg) translate(-140px,-46px); }
}

#carte1 				{ position:absolute; top:0; left:0; right:0; margin:auto; animation: carte1 1s ease-out; animation-delay: 1.5s; animation-fill-mode: both; }
/*#carte1.carte_selected, .resetAnim #carte1:hover { transform: scale(1.2); transform: translate(0,-30px); }*/
#carte1.carte_selected, .resetAnim #carte1:hover { transform:translate(0px,-30px) scale(1.2); }

#carte2 				{ position:absolute; transform:rotate(27.7deg) translate(78px,-10px); animation: carte2 1s ease-out; animation-delay: 5.1s; animation-fill-mode: both; }
#carte2.carte_selected, .resetAnim #carte2:hover { transform:rotate(27.7deg) translate(78px,-40px) scale(1.2); }

#carte3 				{ position:absolute; transform:rotate(55.4deg) translate(175px,-72px); animation: carte3 1s ease-out; animation-delay: 4.8s; animation-fill-mode: both; }
#carte3.carte_selected, .resetAnim #carte3:hover { transform:rotate(55.4deg) translate(175px,-102px) scale(1.2); }

#carte4 				{ position:absolute; transform:rotate(83.1deg) translate(230px,-172px); animation: carte4 1s ease-out; animation-delay: 4.5s; animation-fill-mode: both; }
#carte4.carte_selected, .resetAnim #carte4:hover { transform:rotate(83.1deg) translate(230px,-202px) scale(1.2); }

#carte5 				{ position:absolute; transform:rotate(110.8deg) translate(235px,-285px); animation: carte5 1s ease-out; animation-delay: 4.2s; animation-fill-mode: both; }
#carte5.carte_selected, .resetAnim #carte5:hover { transform:rotate(110.8deg) translate(235px,-315px) scale(1.2); }

#carte6 				{ position:absolute; transform:rotate(138.5deg) translate(185px,-390px); animation: carte6 1s ease-out; animation-delay: 3.9s; animation-fill-mode: both; }
#carte6.carte_selected, .resetAnim #carte6:hover { transform:rotate(138.5deg) translate(185px,-420px) scale(1.2); }

#carte7 				{ position:absolute; transform:rotate(166.2deg) translate(92px,-455px); animation: carte7 1s ease-out; animation-delay: 3.6s; animation-fill-mode: both; }
#carte7.carte_selected, .resetAnim #carte7:hover { transform:rotate(166.2deg) translate(92px,-485px) scale(1.2); }

#carte8 				{ position:absolute; transform:rotate(193.9deg) translate(-20px,-471px); animation: carte8 1s ease-out; animation-delay: 3.3s; animation-fill-mode: both; }
#carte8.carte_selected, .resetAnim #carte8:hover { transform:rotate(193.9deg) translate(-20px,-501px) scale(1.2); }

#carte9 				{ position:absolute; transform:rotate(221.6deg) translate(-125px,-435px); animation: carte9 1s ease-out; animation-delay: 3s; animation-fill-mode: both; }
#carte9.carte_selected, .resetAnim #carte9:hover { transform:rotate(221.6deg) translate(-125px,-465px) scale(1.2); }

#carte10 				{ position:absolute; transform:rotate(249.3deg) translate(-205px,-355px); animation: carte10 1s ease-out; animation-delay: 2.7s; animation-fill-mode: both; }
#carte10.carte_selected, .resetAnim #carte10:hover { transform:rotate(249.3deg) translate(-205px,-385px) scale(1.2); }

#carte11 				{ position:absolute; transform:rotate(277deg) translate(-235px,-245px); animation: carte11 1s ease-out; animation-delay: 2.4s; animation-fill-mode: both; }
#carte11.carte_selected, .resetAnim #carte11:hover { transform:rotate(277deg) translate(-235px,-275px) scale(1.2); }

#carte12 				{ position:absolute; transform:rotate(304.7deg) translate(-210px,-135px); animation: carte12 1s ease-out; animation-delay: 2.1s; animation-fill-mode: both; }
#carte12.carte_selected, .resetAnim #carte12:hover { transform:rotate(304.7deg) translate(-210px,-165px) scale(1.2); }

#carte13 				{ position:absolute; transform:rotate(332.4deg) translate(-140px,-46px); animation: carte13 1s ease-out; animation-delay: 1.8s; animation-fill-mode: both; }
#carte13.carte_selected, .resetAnim #carte13:hover { transform:rotate(332.4deg) translate(-140px,-76px) scale(1.2); }

.resetAnim img.carte_off { animation-fill-mode: initial !important; transition: all .2s linear !important; }
.carte_off:hover, .carte_selected { box-shadow:0px 0px 8px 8px rgba(247, 191, 166, 0.5); }


.mention-carte 	{ position:absolute; left:0; right:0; margin:auto; top:770px; }

.titre-carte { opacity:0; transition:opacity 2s; }


.msgCarte 	{ position:absolute; width:75%; z-index:1; top:150px; left:0; right:0; margin:0 auto; font-size:22px; text-align:center; line-height:1.4em; cursor:pointer; display:none; }

.carte-container { width: 203px; height: 382px; margin: 0 auto; perspective: 600px; }
.carte 					{ width: 100%; height: 100%; border-radius: 11px; transform-style: preserve-3d; cursor: pointer; position: relative; transition: box-shadow .2s ease-in, transform 1s; }
.carte.active 			{ box-shadow: 0px 0px 22px 5px rgba(247, 191, 166, 0.6); }
.carte.active .msgCarte { display:block; }
.carte.active.is-flipped .msgCarte { display:none; }
.carte.active:hover			{ box-shadow: 0px 0px 22px 14px rgba(247, 191, 166, 0.6); } 
.carte.is-flipped 		{ transform: rotateY(180deg); }
.carte-face 			{ position: absolute; width: 100%; height: 100%;line-height: 260px;color: white;text-align: center; font-weight: bold; font-size: 40px; -webkit-backface-visibility: hidden; backface-visibility: hidden; }
.carte-face-front 		{ background-image: url(img/cartes/carteXL-off.png); background-repeat: no-repeat; background-size: cover; }
.carte-face-back 		{ background-repeat: no-repeat; background-size: cover; transform: rotateY(180deg); }


.carte-resultat 	{ position:absolute; left:0; right:0; margin:auto; width:120px; height:auto; }
.carte-resultat.carteres1 	{ transform:rotate(-10deg); z-index:10; margin-top:30px; right:220px; } 
.carte-resultat.carteres2 	{ z-index:30; } 
.carte-resultat.carteres3 	{ transform:rotate(10deg); z-index:20;  margin-top:30px; left:220px; }

.msg-prediction 	{ display:none; }

.btn-partage-box li { display:inline-block; margin:0 10px; }
.btn-partage 		{ display:block; width:169px; height:94px; background-size:cover; }
.btn-partage-twitter 	{ background:url('img/btn-twitter-off.png') no-repeat center center; }
.btn-partage-facebook 	{ background:url('img/btn-facebook-off.png') no-repeat center center; }
.btn-partage-linkedin 	{ background:url('img/btn-linkedin-off.png') no-repeat center center; }
.btn-partage-email 		{ background:url('img/btn-email-off.png') no-repeat center center; }
.btn-partage-print 		{ background:url('img/btn-print-off.png') no-repeat center center; }

.btn-partage-twitter:hover 		{ background:url('img/btn-twitter-on.png') no-repeat center center; }
.btn-partage-facebook:hover 	{ background:url('img/btn-facebook-on.png') no-repeat center center; }
.btn-partage-linkedin:hover 	{ background:url('img/btn-linkedin-on.png') no-repeat center center; }
.btn-partage-email:hover 		{ background:url('img/btn-email-on.png') no-repeat center center; }
.btn-partage-print:hover 		{ background:url('img/btn-print-on.png') no-repeat center center; }


.sentence 	{ display:none; line-height:1.4em; position:absolute; top:55%; right:0; left:0; margin:0 auto; font-size:16px; width:240px; }
.halo 		{ position:absolute; top:0; left:0; right:0; margin:0 auto; z-index:-10; } 


/* FOOTER ------------------------------------------- */
footer { position:absolute; bottom:30px; right:30px; font-size:20px; }






/* RESPONSIVE ---------------------------------------- */
@media (max-width: 1200px) {

    body 	{ font-size:24px; }

    .carte-resultat { width: 80px; height: auto; }
    .carte-resultat.carteres1 { right:160px; }
    .carte-resultat.carteres3 { left:160px; }

    .mtop100 { margin-top:50px; }
}


@media (max-width: 992px) {

	body 	{ font-size:22px; }

	h3 { font-size:24px; }

	p { margin-bottom:10px; }

	.mtop40, .mtop50 { margin-top:20px; }

	.carte-resultat.carteres1 { right:160px; }
    .carte-resultat.carteres3 { left:160px; }

}


@media (max-width: 768px) {

	body 	{ font-size:14px; background:url('img/page-bg.jpg') repeat-y center center; }

	.btn-son { right:20px; top:20px; }


	h3 { font-size:20px; }

	.mtop80 	{ margin-top:30px; }
	.mtop60 	{ margin-top:30px; }

	.monogram 	{ top:10px; left:10px; }

	.bt-conjurer img , .bt-partager img 	{ width:90px; height:auto; }

	.carte-resultat.carteres1 { right:101px; }
    .carte-resultat.carteres3 { left:120px; }

    .carte-container { width:101px; height:191px; }

	.msgCarte { top:60px; font-size:14px; }
	#msg-neutre.mtop60, .msg-prediction { font-size:14px !important; }


	.bt-entrez:after, .bt-conjurer:after , .bt-partager:after	{
		width:10px;
		height:10px;
		background:none;
	}

	.bt-conjurer:hover:after, 
	.bt-entrez:hover:after, 
	.bt-partager:hover:after { opacity:0; }


	.btn-partage 		{ display:block; width:110px; height:62px; background-size:contain; }
	.btn-partage:hover 	{ background-size:contain; }

	footer 	{ bottom:10px; right:10px; font-size:16px; }

}


@media (max-height: 850px) {
	
	body 	{ font-size:22px; }
	.mention-carte { top:10px; font-size:22px; line-height:1.3em; }


}

@media (max-height: 690px) {

	body 	{ font-size:16px; }

	.mbot40 		 	{ margin-bottom:20px; }
	.mtop30, .mtop20 	{ margin-top:10px; }
	#msg-neutre.mtop60 	{ margin-top:30px; font-size:22px; }

}






/* IPAD */
@media only screen 
and (min-device-width : 768px) 
and (max-device-width : 1024px)
and (orientation : landscape) {

	.conteneur-carte { top:40px; }
	.mention-carte 	{ display:none; }
}