/* CSS3 Reset
---------------------------------------------------------------------- */
html,body,div,span,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,abbr,address,cite,code,del,dfn,em,img,ins,kbd,q,samp,small,strong,sub,var,b,i,dl,dt,dd,ol,ul,li,
fieldset,form,label,legend,table,caption,article,aside,canvas,figcaption,figure,footer,header,hgroup,menu,nav,section,summary,time,
mark,audio,video{margin:0;padding:0;border:0;outline:0;font-size:100%;vertical-align:baseline;background:transparent;text-align: left;}
body{line-height:1;}
article,aside,canvas,figcaption,figure,footer,header,hgroup,menu,nav,section,summary{display:block;}
a{margin:0;padding:0;border:0;font-size:100%;vertical-align:baseline;background:transparent;}
ins{background-color:#f1f191;color:#010201;text-decoration:none;}
mark{background-color:#f1f191;color:#010201;font-style:italic;font-weight:bold;}
del{ text-decoration:line-through;}
abbr[title],dfn[title]{border-bottom:1px dotted #000;cursor:help;}
table{border-collapse:collapse;border-spacing:0;}
hr{display:block;height:1px;border:0;border-top:1px solid #c1c2c3;margin:1em 0;padding:0;}
input,select{vertical-align:middle;}
ul {list-style: none;}
* {box-sizing: border-box;}
*::selection {background:#112277; color:#cdf;}


/* Les Fonts : ici !
---------------------------------------------------------------------- */





/* Codes couleurs : 
---------------------------------------------------------------------- 
# 212221 : couleur du texte "normal"
# 111412 : h2
# 212422 : h2
# 313432 : h3
# 414442 : h4
# 515452 : h5
# 616462 : h6
# 4e4f4e : couleur du texte ":input"
# abacaa : bordure ":input"
# 2a292b : fond over-header
# 818480 : fond header, & autre blocs avec fond moyen
# 161516 : fond nav & footer & autre blocs avec fond foncé
# fefdfc : hover border nav 
# 181719 : fond boutons & co
# 424143 : fond hover-boutons & co
# 4343da : fond bouton Exergues (& couleur hover)
# fe0504 : fond bouton Exergues && Important (& couleur hover)
# ff0084 : surbrillance de selection du text dans le Header 
# 112277 : surbrillance de selection du text (général)
# 727571 : label formulaire


---------------------------------------------------------------------- */ 


/* Structure générale
---------------------------------------------------------------------- */
html {font-size:62.5%;}
body {font-size:12px; font-family: Arial, sans-serif; color: #212221;}
body > header {
	text-align: center;
	background: #818480;
	width:100%;
	min-height: 68px;
	overflow: hidden;
	z-index:1;
	position:relative;
	font-size: 0;
	z-index: 101;
}
body > footer {
	font-size: 12px;
	text-align: center;
	width: 100%;
	min-height: 100px;
	overflow: hidden;
	position:relative;
	background: #161516;
	padding-top: 30px;

}
body > nav {
	width: 100%;
	z-index:101;
	position:relative;
	background: #161516;
	
}
aside {}

main {min-height:calc(100vh - 68px - 100px);} /* Taille header + taille footer */


/* Charte graphique élémentaire
---------------------------------------------------------------------- */
h1 {
	text-align: center;
	font-size:50px;
	line-height:56px;
	color:#111412;
	font-weight: 100;
	padding:5vh 20px;
	letter-spacing: 1px;
	margin:0;
	font-variant:small-caps;
	position:relative;
/*	background:#f00;*/
}

/*  version pleine avec petite flèche en bas
h1::before {
    content: "";
    position: absolute;
    z-index: 1;
    border-top: 16px solid #f00;
    bottom: -16px;
    left: calc(50% - 16px);
    border-left: 16px transparent solid;
    border-right: 16px transparent solid;
}
*/
h2 {
	font-size:36px;
	line-height: 40px;
	color:#212422;
	letter-spacing: 0.5px;
	margin:2vh 0px;
	padding:0;
	font-variant:small-caps;
}
h3 {
	font-size:24px;
	font-weight: normal;
	color:#313432;
	margin:6px 0px;
	padding:0;
}
h4 {
	font-size:20px;
	font-weight: bold;
	color:#414442;
	margin:6px 0px;
	padding:0;
}
h5 {
	font-size:16px;
	font-weight: bold;
	color:#515452;
	margin:6px 0px;
	padding:0;
}
h6 {
	font-size:14px;
	font-weight: bold;
	color:#616462;
	margin:4px 0px;
	padding:0;
}
p { 
	margin:6px 0px; 
	font-size:13px; 
	text-align: justify; 
	line-height: 16px;
}
a {text-decoration: none; transition: all 0.5s; color:#414240;}
a:hover {color:#919290;}
i {}
b {}
strong {}
hr {border-top: 1px solid; display: block; height: 1px;}

blockquote {font-size:22px; text-align: center; letter-spacing: 0.5px; line-height: 26px; font-style: italic; quotes:"\00ab" "\00bb";}
blockquote:after {content:open-quote; font-size:30px;}
blockquote:before {content:close-quote;font-size:30px;}

figure { text-align: center;}
figcaption { font-size:10px; font-style: italic; text-align: center; padding-top:10px;}
figure img { min-width: 30px;}
img {}
section {}
article {}
code {}

input[type='text'],
input[type='password'],
input[type='tel'],
input[type='number'],
input[type='date'],
input[type='color'],
input[type='range'],
input[type='url'],
input[type='time'],
input[type='datetime'],
input[type='email'],
select {
	height: 40px;
	color:#4e4f4e;
	border:1px solid #abacaa;
	border-radius: 5px;
	width:100%;
	padding:8px;
	font-size:16px;
}
button,
input[type='button'],
input[type='submit'], 
.btn {
	background: #181719;
	cursor: pointer;
	padding:10px 24px;
	color:#fff;
	font-size:26px;
	border-radius: 5px;
	border:none;
	display:inline-block;
	text-decoration: none;
	transition: all 0.3s ease;
}

button:hover,
input[type='button']:hover,
input[type='submit']:hover,
.btn:hover {background: #424143;}

input[type='checkbox'],
input[type='radio'] {cursor: pointer;}
label {cursor: pointer;}

.btn.big { padding:15px 30px; font-size:32px; border-radius: 10px;}
.btn.xbig { padding:20px 40px; font-size:48px; border-radius: 14px;}
.btn.medium {padding:8px 16px; font-size:20px; border-radius: 7px;}
.btn.small {padding:4px 8px; font-size:16px; border-radius: 4px;}


/* styles remis en forme pour les contenus issus de wysiwyg 
---------------------------------------------------------------------- */
.content {font-size:13px; line-height: 16px;}
.content ul {margin:8px 0 8px 8px;  list-style:disc;}
.content li {margin-left:12px;}
.content li li {list-style:circle;}
.content li li li {list-style:diamond;}




/* -------------------------------------------------------------------
---------------------------------------------------------------------- 
								STRUCTURE
---------------------------------------------------------------------- 
---------------------------------------------------------------------- */

/*  Navigation
------------------- */
nav.mainNav {position:sticky; top:0; display:flex; z-index: 101; transition: opacity 0.5s ease;}
nav.mainNav .menuSmart {cursor: pointer;}
nav.mainNav .smallLogo { padding:4px 10px; flex:0; align-self: center; opacity: 0; transition: opacity 0.5s ease; }
nav.mainNav .smallLogo img {height: 32px; max-width: 100px;}
nav.mainNav > div {text-align: center; flex:1; align-self: flex-end;}
nav.mainNav > div > i.fa { display:none; }


nav.mainNav > div > ul {padding: 24px 0 18px 0px; font-size:0; display: inline-block; transition: padding 0.5s ease; }
nav.mainNav > div > ul li {
	font-size:16px;
	color:#fff;
	display: inline-block;
	background: #161516;
	border-bottom: 4px solid #161516;
	margin:0px 1px;
	position:relative;
	transition:border-color 0.3s ease;
}
nav.mainNav > div > ul li.selected,
nav.mainNav > div > ul li:hover  {border-bottom:4px solid #fefdfc; cursor: pointer;}
nav.mainNav > div > ul > li span,
nav.mainNav > div > ul > li a {padding: 10px 25px; color:#fff; display: inline-block; text-decoration: none; font-size:16px; }
nav.mainNav > div > ul > li > ul {
	position:absolute;
	top:44px;
	overflow:hidden;
	max-height: 0px;
	border-radius: 0 0 10px 10px;
	z-index:200;
	background: #151515;
	transition: max-height 0.5s ease 0s;
}
nav.mainNav > div > ul > li:hover ul {display:block; max-height: 210px;}
nav.mainNav > div > ul > li  li { white-space: nowrap; width:100%; border-bottom: 1px solid #444;}
nav.mainNav > div > ul > li  li:hover {border-bottom:none; background:#a00;}

nav.mainNav.scroll > div > ul {padding:0;}
nav.mainNav.scroll .smallLogo,
.simpleHeader nav.mainNav .smallLogo {opacity: 1;}



/* Header
---------------------------------------------------------------------- */
body > header {position:relative;} 
body > header .overHead {
	width:100%; 
	background:#2a292b; 
	color:#fff; 
	transition: top 0.7s ease;
	z-index:1;
} 
body > header .overHead > div {margin:0 auto; display:flex; justify-content: space-between;}
body > header .overHead .flags {display:flex; padding:8px 5px;} 
body > header .overHead .flags li {padding:0px 5px;} 
body > header .overHead .areas {display:flex;  padding:8px 5px; font-size:12px;} 
body > header .overHead .areas li {padding:0px 5px; cursor: pointer;} 
body > header .overHead .areas li a {color:#fff; text-decoration: none;} 

body > header .wrapTitle {
	position:absolute; 
	top:8%;
	left:30%;
	width:40%;
	padding:10px;
	min-width:320px;
	text-align: center;
	color:#fefffd;
}
body > header .wrapTitle .headerTitle {text-align: center; margin:20px 0; padding:0; font-weight: bold; font-variant: small-caps; font-size:60px; line-height: 60px; color:#fefffd; text-shadow: 0 1px 3px rgba(0, 0, 0, 0.6);} 
body > header .wrapTitle .headerText {text-align: center; font-size:26px; font-weight: bold;  color:#fefffd; text-shadow: 0 1px 3px rgba(0, 0, 0, 0.6); } 
body > header .wrapTitle .headerText .btn {padding:16px 30px; font-size:30px; font-weight: normal; color:#fff; background: #fe0504; text-shadow: none;}
body > header .wrapTitle .headerText .btn:hover {color:#fe0504; background: #fff;;}
body > header .wrapTitle *::selection {background:#ff0084; color:#aff; }

body > header .wrapBanner {width:100%; position:relative;} 
body > header .wrapBanner .banner {width:100%;} 
body > header .wrapBanner .banner img {width:100%;} 
body > header .wrapBanner .logo {position:absolute; top:20%; height:50%; width:30%; z-index:0; left:5%;} 
body > header .wrapBanner .logo img {} 
body > header .wrapButtons {position:absolute; bottom:0; right:20%; display: flex; z-index:10;}
body > header .wrapButtons li {display:inline-block; margin-left:5%;}
body > header .wrapButtons li a {display:inline-block; padding:12px 20px; background: #4343da; color:#fff; text-decoration: none; font-size:26px; transition: all 0.3s ease; border-radius: 5px 5px 0 0; font-variant: small-caps;}
body > header .wrapButtons li a:hover {background:#fff; color:#4343da; }



body > header.classic {}
body > header.classic .wrapBanner .banner {} 
body > header.classic .wrapBanner .banner img {/* object-fit: cover; object-position: center center;*/} 
body > header.classic .wrapBanner .logo {
	background:rgba(255,255,255, 0.6); 
	padding:20px;
}
body > header.classic .wrapBanner .logo img {width:100%; height: 100%; object-fit: contain;} 
body > header.classic .wrapTitle {left:40%; width:60%; height: 80%; display: flex; flex-direction: column; justify-content: center;}


body > header.sidelogo {min-height:160px; background: #fff;}
body > header.sidelogo .wrapBanner {min-height:160px;}
body > header.sidelogo .wrapBanner .logo {top:10%; width:20%; height:80%;}
body > header.sidelogo .wrapBanner .logo img {width:100%; height: 100%; object-fit: contain;} 
body > header.sidelogo nav.mainNav {position:absolute; top:0%; width:75%; left:25%; height: 100%;}
body > header.sidelogo nav.mainNav .wrapNav {align-self:center;}
body > header.sidelogo nav.mainNav > div > ul > li {background: none; color:#000; border-bottom: 4px solid #fff;}
body > header.sidelogo nav.mainNav > div > ul > li a {color:#000; }
body > header.sidelogo nav.mainNav > div > ul > li:hover {border-bottom: 4px solid #444;}
body > header.sidelogo nav.mainNav > div > ul {width:100%;}

body > header.sidelogo nav.mainNav.scroll {position:fixed; height:auto; left:0; width:100%; background: #fff; justify-content: center; } 
body > header.sidelogo nav.mainNav.scroll ul li {} 
body > header.sidelogo nav.mainNav.scroll .smallLogo,
body > header.sidelogo nav.mainNav.scroll .wrapNav {flex:none;}


body > header.nav-in-banner {min-height:160px; background: #fff;}
body > header.nav-in-banner .wrapBanner {min-height:160px;}
body > header.nav-in-banner .wrapBanner .banner {} 
body > header.nav-in-banner .wrapBanner .banner img {width:100%;} 
body > header.nav-in-banner .wrapBanner .logo {top:10%; width:20%; height:80%; }
body > header.nav-in-banner .wrapBanner .logo img {width:100%; height: 100%; object-fit: contain;} 

body > header.nav-in-banner nav.mainNav {position:absolute; top:0%; width:calc(65% - 30px); left:30%; height: 100%;}
body > header.nav-in-banner nav.mainNav .wrapNav {align-self:center;}
body > header.nav-in-banner nav.mainNav > div > ul > li {width:32%; background: none; color:#000; border-bottom: 2px solid #fff;}
body > header.nav-in-banner nav.mainNav > div > ul > li:before {content:""; position:absolute; left:0px; border-left:5px solid #000; border-top:5px solid transparent; border-bottom:5px solid transparent; top:calc(50% - 5px); }
body > header.nav-in-banner nav.mainNav > div > ul > li a {color:#000; font-size:14px; padding:6px 10px;}
body > header.nav-in-banner nav.mainNav > div > ul > li:hover {border-bottom: 2px solid #444;}
body > header.nav-in-banner nav.mainNav > div > ul {width:100%;}
body > header.nav-in-banner .wrapButtons li a {padding:6px 10px; font-size:15px;}
body > header.nav-in-banner .overHead {right:0; width:30px; height:100%; position:absolute; flex-direction: column;display: flex;}
body > header.nav-in-banner .overHead > div {flex-direction: column-reverse; justify-content: space-between; flex:1;}
body > header.nav-in-banner .overHead .flags {flex-direction: column;}
body > header.nav-in-banner .overHead .flags li {padding:5px 2px;}
body > header.nav-in-banner .overHead .areas {flex-direction: column;}
body > header.nav-in-banner .overHead .areas li {font-size:0; padding:0; text-align: center;}
body > header.nav-in-banner .overHead .areas li i {font-size:18px;}




body > header.logo-outside {min-height:160px; background: #fff; margin-bottom:20px; margin-top:20px;}
body > header.logo-outside .wrapBanner {min-height:160px; width:60%; left:32%; border-radius: 10px;}
body > header.logo-outside .wrapBanner .logo {top:10%; left:-50%; width:50%; height:80%; text-align: center; display: flex; flex-direction: column; justify-content: center;}
body > header.logo-outside .wrapBanner .logo img {width:80%; height: 80%; object-fit: contain; align-self: center;} 
body > header.logo-outside .wrapBanner .banner img {border-radius: 10px;}
body > header.logo-outside nav.mainNav {position:absolute; bottom:0%; width:60%; left:32%; top:auto;  background: #000; border-radius: 0 0 10px 10px;}
body > header.logo-outside nav.mainNav .wrapNav {align-self:center;}
body > header.logo-outside nav.mainNav .wrapNav ul {padding:0; }
body > header.logo-outside nav.mainNav .smallLogo {display: none;}
body > header.logo-outside .wrapTitle {left:32%; width:60%; height: 80%; display: flex; flex-direction: column; justify-content: center;}
body > header.logo-outside .wrapTitle h1 {font-size:40px; line-height: 40px;}

body > header.logo-outside .wrapButtons li a {padding:6px 10px; font-size:15px; border-radius: 0 0 6px 6px;}
body > header.logo-outside .wrapButtons {bottom:auto; top:0;}

body > header.logo-outside nav.mainNav.scroll {position:fixed; height:auto; left:0; bottom:auto; top:0; width:100%; background: #000; justify-content: center; } 
body > header.logo-outside nav.mainNav.scroll .smallLogo,
body > header.logo-outside nav.mainNav.scroll .wrapNav {flex:none;}

body > header.logo-outside .overHead {right:calc(7% - 15px); width:30px; background: none; height:calc(100% - 32px); position:absolute; flex-direction: column;display: flex;}
body > header.logo-outside .overHead > div {flex-direction: column-reverse; justify-content: space-between; flex:1;}
body > header.logo-outside .overHead .flags {flex-direction: column;}
body > header.logo-outside .overHead .flags li {padding:5px 2px; color:#000;}
body > header.logo-outside .overHead .areas {flex-direction: column;}
body > header.logo-outside .overHead .areas li {font-size:0; padding:0; text-align: center; color:#000;}
body > header.logo-outside .overHead .areas li i {font-size:18px;}


body > header.fullpage {}
body > header.fullpage .overHead {position:absolute; top:0; left:0; z-index:2; height:40px;}
body > header.fullpage .overHead.scroll {top:-30px;}
body > header.fullpage .wrapBanner .banner {} 
body > header.fullpage .wrapBanner .banner img {width:100%; height:100vh; object-fit: cover; object-position: center center;} 
body > header.fullpage .wrapBanner .banner::after {content:""; z-index:0; position:absolute; top:0; left:0; width:100%; height:100%; background:rgba(0,0,0,0.3);}
body > header.fullpage .wrapTitle {width:100%; left:0;}
body > header.fullpage .wrapTitle .logo {width:100%; text-align: center; padding:20px;}
body > header.fullpage .wrapTitle .logo img {max-height: 30vh;} 
body > header.fullpage .overHead {position:fixed; }
body > header.fullpage nav.mainNav {position:fixed; top:28px; width:100%; left:0%; background:#161516; transition:top 0.5s ease;}
body > header.fullpage nav.mainNav.scroll {top:0;}
body > header.fullpage nav.mainNav > div > ul {padding:0;}


.scrollDown {
	background-image: url('../../img/design/double-arrow.png');
	background-repeat: no-repeat;
	background-size: contain;
	width: 50px;
	height: 50px;
	cursor: pointer;
	position: absolute;
	left: 50%;
	bottom: 30px;
	transform: translateX(-50%);
	animation: scrollDown 1.3s infinite;
}

@keyframes scrollDown {
	0%  { bottom: 30px; }
	50% { bottom: 50px; }
	60% { bottom: 30px; }
	70% { bottom: 35px; }
	80% { bottom: 30px; }
	100%{ bottom: 30px; }	
}



/* -------------------------------------------------------------------
---------------------------------------------------------------------- 
								STRUCTURE
---------------------------------------------------------------------- 
---------------------------------------------------------------------- */




/* Page
---------------------------------------------------------------------- */



/* Modal
---------------------------------------------------------------------- */

.simple-modal {
	height: auto;
	left: 50%;
	max-width: 630px;
	min-width: 300px;
	position: fixed;
	top: 0;
	transform: translateX(-50%);
	visibility: hidden;
	width: 50%;
	z-index: 20000;
	background:rgba(0,0,0,0.9);
	border-radius: 10px;
	color:#fff;
	box-shadow: 0 0 20px 10px rgba(0,0,0,0.5);
	overflow: hidden;
}
.simple-modal.on {visibility: visible; top: 6vh;}
.simple-modal .simpleModal-content {
	color:#fff;
	margin: 0 auto;
	opacity: 0;
	position: relative;
	transform: translateY(-50%);
	transition: all 0.3s;
	padding: 10px;
}
.simple-modal.on .simpleModal-content {border-radius: 0 0 3px 3px; opacity: 1; transform: translateY(0%);}

.simpleModal-overlay {
	height: 100%;
	left: 0;
	opacity: 0;
	position: fixed;
	top: 0;
	transition: all 0.3s;
	visibility: hidden;
	width: 100%;
	z-index: 2000;
}
.simple-modal.on ~ .simpleModal-overlay {background-color: rgba(100, 100, 100, 0.8); opacity: 1; visibility: visible;}
.simple-modal h3 {font-size: 2.4em;	font-weight: normal; padding: 0.4em; text-align: center; color:#fff;}

.simple-modal .wrap-form {padding: 10px;}
.simple-modal .wrap-form label {color:#fff;}
.simple-modal .wrap-form .btn {
	border-radius: 6px;
	cursor: pointer;
	display: block;
	margin: 10px auto;
	padding: 10px 20px;
	font-variant: small-caps;
	background: #4343da;
	font-size:16px;
}
.simple-modal .wrap-form .btn:hover {color:#4343da; background: #fff;}

.simple-modal .products,
.simple-modal .nav {display: flex; justify-content: center;	text-align: center;}
.simple-modal h4 {margin: 15px 0;}
.simple-modal h4,
.simple-modal .price {font-size: 18px;}
.simple-modal img {max-height: 250px; object-fit: contain; width: 100%;}
.simple-modal .nav div {flex: 1;}


/* Rubrique
---------------------------------------------------------------------- */



/* Rangée || Colonne de blocs
---------------------------------------------------------------------- */
.struct-blocs {width:100%; padding:0; margin:0;}
.struct-blocs.struct-wrap {max-width:1200px; margin:0 auto;}
.struct-blocs > .ct-blocs {display:flex; justify-content: space-between;}
.struct-blocs > .ct-blocs.column {flex-direction:column; height: 100%;}
.struct-blocs > .ct-blocs 	> * {flex:1;}
/*.struct-blocs > .ct-blocs.column > * {align-self:center;}*/
.struct-blocs > .ct-2-1		> :nth-child(1)	{flex:2;}
.struct-blocs > .ct-1-2		> :nth-child(2)	{flex:2;}
.struct-blocs > .ct-1-1-2	> :nth-child(3) {flex:2;}
.struct-blocs > .ct-1-2-1	> :nth-child(2) {flex:2;}
.struct-blocs > .ct-2-1-1	> :nth-child(1) {flex:2;}
.struct-blocs > .ct-3-1		> :nth-child(1)	{flex:3;}
.struct-blocs > .ct-1-3		> :nth-child(2)	{flex:3;}
/*.struct-blocs.struct-span-2 > .ct-blocs {flex-direction: column;}*/
.struct-blocs.struct-span-1 > .ct-blocs {flex-direction: column;}
.struct-blocs.struct-span-0 > .ct-blocs {flex-direction: column;}





/* Blocs empilés (news)
---------------------------------------------------------------------- */
.struct-stacked {margin: 10px;}
.struct-stacked .bloc-news { opacity: 0; background:#f1f3f2;}
.struct-stacked .new {border: 1px solid rgba(195, 195, 195, 0.2);}
.struct-stacked img {width: 100%;	display: block;}
.struct-stacked article {padding: 10px;}
.struct-stacked article > h2 {margin-top:0; font-size:18px; line-height: 22px;}
.struct-stacked article > .chapo {font-size:13px; line-height: 15px;}
.struct-stacked .buttons {padding:10px 0; text-align: center;}
.struct-stacked.style-1 article {
	position: relative;
	top: -3px;
}
.struct-stacked.style-1 article:before {
	border-bottom: 15px solid;
	border-left: 15px solid transparent;
	border-right: 15px solid transparent;
	content: "";
	display: block;
	position: absolute;
	top: -15px;
	width: 0;
}
.struct-stacked.style-1 .new:nth-child(even) article:before {
	left: 30px;
}
.struct-stacked.style-1 .new:nth-child(odd) article:before {
	right: 30px;
}
.struct-stacked.style-1 .chapo {
	font-size: 13px;
}

.struct-stacked.style-2 h2 {
	font-size: 20px;
	margin-top: 20px;
	position: relative;
}
.struct-stacked.style-2 h2:before {
	border-top: 5px solid;
	content: "";
	height: 10px;
	position: absolute;
	top: -10px;
	width: 30px;
}
.struct-stacked.style-2 .chapo {
	font-size: 14px;
}

@media all and (max-width: 700px) {
	.struct-stacked .bloc-news {left: 15px !important;}
	.struct-stacked .chapo {text-align: justify;}
}


/* -------------------------------------------------------------------
---------------------------------------------------------------------- 
								BLOCS GENERIQUES
---------------------------------------------------------------------- 
---------------------------------------------------------------------- */


/* Contenu
---------------------------------------------------------------------- */
.bloc-content > .pos-bottom {flex-direction: column-reverse;}
.bloc-content > .pos-top {flex-direction: column;}
.bloc-content > .pos-right {flex-direction: row-reverse;}
.bloc-content figure {width:100%; font-size: 0;}
.bloc-content figure img {width:100%;}
.bloc-content figure figcaption {font-size:11px; font-style: italic;}
.bloc-content .cover-full figure {height:100%; }
.bloc-content .cover-full figure img {height:100%; object-fit: cover;}
.bloc-content .cover-margin figure {padding:20px; }
.bloc-content > div > section {padding:20px; }
.bloc-content .hgroup h1 {font-size:36px; line-height: 40px; padding:0; margin-bottom:24px;}
.bloc-content .hgroup h2 {font-size:24px; line-height: 28px; font-style: italic; font-weight: normal; font-variant: none; padding:0; margin-bottom: 16px; color:#888;}
.bloc-content .hgroup h3 {font-size:13px; line-height: 13px; font-weight: normal; font-variant: none; display:inline-block; border-bottom:1px solid #bbb; color:#bbb; padding:5px 30px 5px 0; margin-top:0; margin-bottom: 24px; width:auto; font-style: italic;}
.bloc-content .content {font-size:13px; text-align: justify;}

.bloc-content > .align-start h1,
.bloc-content > .align-start h2 {text-align: left;}
.bloc-content > .align-center h1,
.bloc-content > .align-center h2 {text-align: center;}
.bloc-content > .align-end h1,
.bloc-content > .align-end h2 {text-align: right;}


.bloc-content .buttons { display: flex; flex-wrap: wrap; justify-content: end; margin-top:20px;}
.bloc-content > .align-center .buttons {justify-content: center;}
.bloc-content > .align-start .buttons {justify-content: center;}
.bloc-content .buttons a {
	border-radius: 5px;
	height: 50px;
	margin: 5px;
	padding: 0 10px;
	transition: all 0.3s;
	line-height: 50px;
}
.bloc-content .buttons a:hover {background: #000;}
.bloc-content .buttons span { vertical-align: middle;}

.bloc-content .file {overflow: hidden; position: relative; min-width: 70px; }
.bloc-content .file span {display: block; position: relative;  text-align: center; top: 0; transition: all 0.3s;}
.bloc-content .file:hover span {top: 150%;}
.bloc-content .file:before {
	bottom: 100%;
	font-size: 22px;
	left: 0;
	line-height: 50px;
	color:#fff;
	position: absolute;
	text-align: center;
	transition: all 0.3s;
	width: 100%;
}
.bloc-content .file:hover:before {bottom: 0;}

.bloc-content .goto {font-size:15px;}
.bloc-content .goto span:before {
	font: normal normal normal 14px/1 FontAwesome;
	margin-right: 5px;
	transition: color 0.3s;
}
.bloc-content .goto:hover {color:#fff;}


/* Titre
---------------------------------------------------------------------- */
.bloc-title {}
.bloc-title h1,
.bloc-title h2 {margin:0px;	padding:3vh 1.5vw;}
.bloc-title.align-start h1,
.bloc-title.align-start h2 {text-align: left;}
.bloc-title.align-center h1,
.bloc-title.align-center h1 span,
.bloc-title.align-center h2,
.bloc-title.align-center h2 span {text-align: center;}
.bloc-title.align-end h1,
.bloc-title.align-end h1 span,
.bloc-title.align-end h2,
.bloc-title.align-end h2 span {text-align: right;}
.struct-blocs > .ct-blocs.column > .bloc-title {display:flex; flex-direction: column; justify-content: center;}
.struct-blocs > .ct-blocs.column > .bloc-title h1,
.struct-blocs > .ct-blocs.column > .bloc-title h2 {flex:1; display:flex; flex-direction: column; justify-content: center;}


/* Texte
---------------------------------------------------------------------- */
.bloc-text {font-size:13px; line-height: 15px; padding:3vh 1.5vw;}
.bloc-text .hgroup {}
.bloc-text .hgroup h2 {}
.bloc-text .hgroup h3 {}
.bloc-text .content {}
.bloc-text .content blockquote {font-size:16px;  line-height: 18px;}
.bloc-text .content blockquote:after  {font-size:22px;}
.bloc-text .content blockquote:before {font-size:22px;}
.bloc-text .content img {max-width: 90% !important; height:auto !important;}


/* Image
---------------------------------------------------------------------- */
.bloc-image {width:100%; font-size: 0;}
.bloc-image img {width:100%;}
.bloc-image a {display:block;}
.bloc-image a img {}
.bloc-image figcaption {font-size:11px; font-style: italic;}
.bloc-image.cover-full img {height:100%; object-fit: cover;}
.bloc-image.cover-margin {padding:20px; }
.struct-blocs > .ct-blocs.column > .bloc-image:last-child {display:flex; flex-direction: column; justify-content: end;}
.struct-blocs > .ct-blocs.column > .bloc-image:only-child {justify-content: start;}


/* Video
---------------------------------------------------------------------- */
.bloc-video {
	background: none;
	position: relative;
	font-size: 0;
	background-repeat: no-repeat;
	background-position: top center;
}

.bloc-video .video-details > h2,
.bloc-video .video-details > div {margin: 10px 0; text-shadow: 0 1px 3px rgba(0, 0, 0, 0.3); text-align: center;}
.bloc-video .video-details > h2 {font-weight: normal; text-align: center;}
.bloc-video .video-details {padding: 3vh 3vw; text-align: center;}
.bloc-video .video-details > div {font-size: 17px;}
.bloc-video .video-container {}
.bloc-video iframe {
	z-index: 0;
	height: 55.77vw;
	width: calc(100vw - 18px);
}
.struct-wrap .bloc-video iframe {max-width:1200px; max-height: 670px;}
.bloc-video .video-container.highlight iframe {}

/* Bouton
---------------------------------------------------------------------- */
.bloc-button {padding:3vh 3vw;}
.bloc-button.align-start,
.bloc-button.align-start h2 {text-align: left;}
.bloc-button.align-center,
.bloc-button.align-center h2  {text-align: center;}
.bloc-button.align-end,
.bloc-button.align-end h2  {text-align: right;}
.bloc-button h2 {}
.bloc-button a {}


/* Call to Action
---------------------------------------------------------------------- */


/* Testimonial
---------------------------------------------------------------------- */
.bloc-testimonial {display:flex; background:#eee; color:#000; padding:20px;}
.bloc-testimonial aside {width:25%;}
.bloc-testimonial aside figure {max-height: 180px; max-width: 180px; margin: 0 auto;}
.bloc-testimonial aside figure img {width:100%; height:100%; object-fit: cover; border-radius: 100%;}
.bloc-testimonial section {width:75%; display: flex; flex-direction: column; justify-content: center;}
.bloc-testimonial section h2 {font-size:32px; margin:1vh 0;}
.bloc-testimonial section > blockquote {}
.bloc-testimonial section > blockquote::before,
.bloc-testimonial section > blockquote::after {content:none;}
.bloc-testimonial section > blockquote .chapo {font-size:16px; padding:4px 0; font-style: italic;}

.bloc-testimonial section > blockquote .content {position:relative; quotes:"\00ab" "\00bb"; padding:0 35px;}
.bloc-testimonial section > blockquote .content::before {content:open-quote; position:absolute; top:0px; left:0px; font-size:50px;}
.bloc-testimonial section > blockquote .content::after {content:close-quote;position:absolute; bottom:10px; right:0px;font-size:50px;}
.bloc-testimonial section > .contact {padding:6px 0; text-align: right; }
.bloc-testimonial section > .contact > div {max-width: 200px; display: inline-block;}
.bloc-testimonial section > .contact > div > * {display: block; margin:3px 0;}
.bloc-testimonial section > .contact .name {font-weight: bold; font-size:14px;}
.bloc-testimonial section > .contact .cpy {}
.bloc-testimonial section > .contact .function {font-style: italic;}

/* Personne
---------------------------------------------------------------------- */

.bloc-person { margin: 6vh 0; text-align: center;  display:inline-flex; flex-direction:column; }
.bloc-person.has-bio {cursor: pointer;}
.bloc-person > aside {}
.bloc-person > aside figure {text-align: center; }
.bloc-person > aside figure img {
	border-radius: 50%;
	display: block;
	margin: auto;
	object-fit: cover;
	height: 200px;
	width: 200px;
}
.bloc-person > section {text-align: center; padding-top:15px;}
.bloc-person > section > h2 {font-variant: none; text-align: center; font-size:20px; line-height: 26px; font-weight: normal; padding:0; margin:0;}
.bloc-person > section > .cpy {display:block; text-align: center; font-size:15px; line-height: 17px; font-weight: normal; color:#c4191a;}
.bloc-person > section > .function {display:block; text-align: center; font-size:13px; line-height: 17px; }
.bloc-person > section > article {text-align: center; }
.bloc-person > section > article a {color:#999; text-decoration: none;}
.bloc-person > section > article i {font-size: 16px; vertical-align: middle;}
.bloc-person > section > article .content {display:none;}
.bloc-person > section > article .contact {padding-top:5px;}
.bloc-person > section > article .contact .phone {display:block; font-style: italic; text-align: center; padding:2px 0; }
.bloc-person > section > article .contact .phone a {margin:4px 8px;}
.bloc-person > section > article .contact .email {display:block; font-style: italic; text-align: center; padding:2px 0;}
.bloc-person > section > article .contact .email a {margin:4px 8px;}
.bloc-person > section > article .social {display: flex; margin: 10px 0; justify-content: space-around;}
.bloc-person > section > article .social a {}

.detailList .bloc-person {display:flex; flex-direction: row; max-width:1200px; margin:0 auto;}
.detailList .bloc-person > aside {flex:1;}
.detailList .bloc-person > aside figure {padding: 0 5vw;}
.detailList .bloc-person > aside figure img {width:auto; height:auto;}
.detailList .bloc-person > section {flex:2; }
.detailList .bloc-person > section * {text-align: left;}
.detailList .bloc-person > section > article .contact * {text-align: left;}
.detailList .bloc-person > section > article .content {display: block; padding:10px 0; max-width: 500px; text-align: justify;}

.smallList .bloc-person > aside figure img { height: 110px; width: 110px; }
.smallList .bloc-person > section > h2 {font-size:15px; font-weight: bold; line-height: 20px; }
.smallList .bloc-person > section > .cpy {font-size:13px; line-height: 16px; }
.smallList .bloc-person > section > .function {font-size:12px; line-height: 14px; }
.smallList .bloc-person > section > article .contact {display: none;}
.smallList .bloc-person > section > article .social {display: none;}

#personBio {
	position:absolute;
	top:0;
	left:20%;
	width:60%;
	background: #fff;
	border-radius:30px;
	box-shadow: 0 0 5px 5px rgba(0,0,0,0.2);
	padding:30px;
	transition:top 0.3s ease;
	display:flex;
	box-sizing: border-box;
}
#personBio div.close {position:absolute; font-size:24px; top:15px; right:25px; cursor: pointer;}
#personBio aside {width:35%; padding:20px; text-align: right;box-sizing: border-box;}
#personBio aside .name {font-size:40px; font-weight: normal; color:#213871;padding-bottom: 20px; margin:0; text-align: right; font-variant: none;}
#personBio aside .function {font-size:13px; text-align: right; font-weight: normal; color:#c4191a;}
#personBio aside .company {text-align: right; font-weight: bold; color:#7F8284; font-size:15px;}
#personBio aside .city {}
#personBio aside figure {width:100%; text-align: right; padding-top:30px;}
#personBio aside figure img {
	width: 200px;
    max-height: 200px;
    border-radius: 100%;
    object-fit: cover;
}
#personBio section {width:65%; padding:20px 40px; box-sizing: border-box; font-size: 15px; color:#7F8284;}

@media all and (max-width: 1000px) {
	#personBio {flex-direction: column; width:100%; left:0; padding:10px;}
	#personBio aside {width: 100%; text-align: center;}
	#personBio aside figure {text-align: center;}
	#personBio section {width: 100%; padding: 20px; text-align: left;}
	#personBio section p {text-align: left;}
}


/* Section couverte
---------------------------------------------------------------------- */
.bloc-covered {position:relative; font-size:0; height:100vh;}
.bloc-covered > a {display:block; width:100%; height:100%;}
.bloc-covered > img,
.bloc-covered > a > img {width:100%; height:100vh; object-fit: cover;}
.bloc-covered .details {
	text-align: center;
	position:absolute;
	background:rgba(0,0,0,0.6); 
	padding:2vw;
	top:0;
	left:0;
	width:100%;
	height:100%;
	display:flex;
	flex-direction: column;
	justify-content: center;
}
.bloc-covered .details > h2 {text-align: center; color:#fff; margin:0; padding:1vh 0 3vh 0; font-size:60px; line-height: 68px;}
.bloc-covered .details > .content {text-align: center; color:#fff; font-size:30px; line-height: 36px;}
.bloc-covered .details > .link {text-align: center; padding:4vh 0 0 0;}
.bloc-covered .details > .link a {background: #4343da; font-size:30px; padding:16px 30px;}
.bloc-covered .details > .link a:hover {color: #4343da; background: #fff;}

.bloc-covered.cover-center .details {height:50%; width:50%; left:25%; top:25%;}
.bloc-covered.cover-left .details {height:50%; width:40%; left:5%; top:25%;}
.bloc-covered.cover-right .details {height:50%; width:40%; left:55%; top:25%;}
.bloc-covered.cover-bottom .details {height:40%; width:100%; left:0%; top:60%;}
.bloc-covered.cover-bottom .details h2 {font-size:46px; line-height: 54px;}
.bloc-covered.cover-bottom .details .content {font-size:22px; line-height: 26px;}
.bloc-covered.cover-bottom .details > .link a {font-size:22px; padding:12px 24px;}

/* Section Parallax
---------------------------------------------------------------------- */
.bloc-covered.parallax {
    /* Set a specific height */
    height: 100vh;
    background-position: 0% 0%;

    /* Create the parallax scrolling effect */
    background-attachment: fixed;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}

/* Slider
---------------------------------------------------------------------- */
.bloc-slider {height: 80vh;}
.bloc-slider ul {height: 100%}
.bloc-slider li {height: 100%; position: relative;}
.bloc-slider .slide > a > img,
.bloc-slider .slide > img { height: 100%; object-fit: cover; width:100%;}
.bloc-slider .slide-info { 
	padding: 80px;
	position: absolute;
	text-align: center;
	top: 50%;
	transform: translateY(-50%);
	width: 100%;
	z-index:2;
	color:#fff;
}
.bloc-slider .slide-info > h2,
.bloc-slider .slide-info > div.chapo {margin: 10px 0; text-shadow: 0 1px 3px rgba(0, 0, 0, 0.6);}
.bloc-slider .slide-info > h2 {font-weight: normal; color:#fff; text-align: center;}
.bloc-slider .slide-info > div.chapo {display: block; font-size: 20px; color:#fff;text-align: center;}
.bloc-slider .slide-info .link {text-align: center;}
.bloc-slider .slide-info a,
.bloc-slider .slide-info .fa {
	background-color: transparent;
	border: 2px solid;
	border-radius: 6px;
	cursor: pointer;
	display: inline-block;
	font-size: 17px;
	padding: 10px 25px;
	transition: all 0.3s;
	color:#fff;
}
.bloc-slider .slide-info a:hover,
.bloc-slider .slide-info .fa:hover {
	background-color: rgba(255, 255, 255, 0.95);
	border-color: rgba(255, 255, 255, 0.95);
	color:#000;
}

/*---------- FLECHE ----------*/
.blocSlide.digi-slideshow .fleche,
.blocSlide.digi-slideshow .fleche.left,
.blocSlide.digi-gallery .fleche,
.blocSlide.digi-gallery .fleche.left {
	background-color: transparent;
	border: 0;
	box-shadow: none;
	height: 100px;
	opacity: 1;
	transform: translateY(-50px);
	transition: background-color 0.5s;
	width: 30px;
}
.blocSlide.digi-slideshow .fleche,
.blocSlide.digi-gallery .fleche {right: 0; top: 50% !important;}
.blocSlide.digi-slideshow .fleche.left,
.blocSlide.digi-gallery .fleche.left {left: 0;}
.blocSlide.digi-slideshow .fleche:hover,
.blocSlide.digi-slideshow .fleche.left:hover,
.blocSlide.digi-gallery .fleche:hover,
.blocSlide.digi-gallery .fleche.left:hover {background-color: rgba(0, 0, 0, 0.4);}
.blocSlide.digi-slideshow .fleche:before,
.blocSlide.digi-gallery .fleche:before {
	color: rgba(255, 255, 255, 0.9);
	content: "\f105";
	font: normal normal normal 30px/1 FontAwesome;
	position: absolute;
	text-align: center;
	top: 50%;
	transform: translateY(-50%);
	width: 100%;
}
.blocSlide.digi-slideshow .fleche.left:before,
.blocSlide.digi-gallery .fleche.left:before {content: "\f104";}
.blocSlide.digi-slideshow .fleche,
.blocSlide.digi-gallery:hover .fleche {box-shadow: none;}


/* Galerie - Blocs
---------------------------------------------------------------------- */
.bloc-gallery {}
.bloc-gallery article {margin: auto 20px;}
.bloc-gallery ul {column-count: 4; column-gap: 0; padding: 10px 0;}
.bloc-gallery li {border: 10px solid #000; background: #000; border-radius: 17px; break-inside: avoid; cursor: pointer; margin: 5px; transition: all 0.3s ease;}
.bloc-gallery li:hover {background-color: #F2F2F2; border: 10px solid #F2F2F2;}
.bloc-gallery li img {border-radius: 8px; display: block; width: 100%;}
.bloc-gallery li:hover img {opacity: 0.9;}

.popin-gallery {
	display:none; 
	width:100vw; 
	min-height:100vh; 
	position:fixed; 
	top:0; 
	left:0; 
	z-index:10000;
	background:rgba(0,0,0,0.9);
}
.popin-gallery > div {
	text-align: center; 
	display:flex; 
	flex-direction:column; 
	justify-content:center;
	width:100vw; 
	min-height:100vh; 
}
.popin-gallery img {
	max-width: 100vw; 
	align-self:center;
	height:100vh;
	width: 100vw;
	object-fit: contain;
}

/* Galerie - TimeLine
---------------------------------------------------------------------- */
.bloc-gallery .gallery-line > ul > li.pic.l::after {
	right:-35px;
}
.bloc-gallery .gallery-line li {border:none;}


/* Galerie - Album photos
---------------------------------------------------------------------- */
/* c'est dans /inc/style/plugins/digi-album.css  */


/* Compte à rebours
---------------------------------------------------------------------- */
.bloc-countdown {background-position: center; background-repeat: no-repeat; background-size: cover;}
.bloc-countdown .picture,
.bloc-countdown .date,
.bloc-countdown svg { display: none;}
.bloc-countdown .details {padding: 40px 10px;}
.bloc-countdown h2,
.bloc-countdown strong {display: block; text-align: center; width: 100%;}
.bloc-countdown h2 {font-variant: small-caps;}
.bloc-countdown strong {font-weight: normal;}
.bloc-countdown .countdown-bloc {display: flex; flex-direction: row; justify-content: center; padding-top: 40px;}
.bloc-countdown .licd {margin: 0 20px; text-align: center;}
.bloc-countdown .val-bloc {font-size: 50px; text-align: center;}
.bloc-countdown .val {font-size: 50px; text-align: center;}
.bloc-countdown .legend {
	border-top: 2px solid rgba(255, 255, 255, 0.5);
	font-size: 18px;
	font-variant: small-caps;
	padding-top: 5px;
	text-align: center;
}

.bloc-countdown.wzcircle.wzbg .details {background-color: rgba(0, 0, 0, 0.5);}
.bloc-countdown.wzcircle h2 {font-size: 50px;}
.bloc-countdown.wzcircle .details {padding: 10px 10px 20vh 10px;}
.bloc-countdown.wzcircle .details strong {text-transform: uppercase;}
.bloc-countdown.wzcircle .details strong:after {
	border-bottom: 1px solid #030805;
	content: "";
	display: block;
	margin: auto;
	padding-top: 10px;
	width: 30%;
}
.bloc-countdown.wzcircle .licd {
	box-sizing: border-box;
	height: 120px;
	padding: 20px 15px 10px 15px;
	position: relative;
	width: 120px;
}
.bloc-countdown.wzcircle .legend {border-top: 0; padding-top: 0;}
.bloc-countdown.wzcircle svg {
	box-sizing: border-box;
	display: block;
	fill: transparent;
	height: 100%;
	left: 0;
	padding: 3px;
	position: absolute;
	stroke: #030805;
	stroke-dasharray: 360;
	stroke-dashoffset: 360;
	stroke-width: 3px;
	top: 0;
	transform: rotate(-90deg);
	transition: all 0.5s;
	width: 100%;
}




/* Compteur - Circle
---------------------------------------------------------------------- */


/* Compteur - Bar
---------------------------------------------------------------------- */


/* Compteur - Number
---------------------------------------------------------------------- */



/* Fichier à télécharger
---------------------------------------------------------------------- */


/* Blurb
---------------------------------------------------------------------- */
.bloc-blurb {padding: 4vh 2vw; display:flex; flex-direction: column; }
.bloc-blurb figure {width:80%; padding:2vh 0; text-align: center; align-self: center;}
.bloc-blurb figure img {max-width: 100%; border: 4px solid; }
.bloc-blurb figure img.with-border {border-radius: 100%; width:40%; object-fit: cover;}
.bloc-blurb figure i {font-size:40px;}
.bloc-blurb > div {padding:16px; text-align: center; background:#123490; color:#fff; max-width:80%;  align-self: center; border-radius: 8px;}
.bloc-blurb > div > h2 {font-size:2.5rem; line-height: 2.8rem; color:#fff; text-align: center; padding:0 0 8px 0; margin:0;}
.bloc-blurb > div > .content {font-size:1.7rem; line-height: 2rem; text-align: center;}

.bloc-blurb.pos-bottom {flex-direction: column-reverse;}
.bloc-blurb.pos-left {flex-direction: row;}
.bloc-blurb.pos-right {flex-direction: row-reverse;}

.bloc-blurb.align-start figure {text-align: left;}
.bloc-blurb.align-start > div > h2 {text-align: left;}
.bloc-blurb.align-end figure {text-align: right;}
.bloc-blurb.align-end > div > h2 {text-align: left;}

.bloc-blurb.pos-right figure,
.bloc-blurb.pos-left figure {text-align: center; display:flex; flex-direction: column; padding:0; height:100%;}
.bloc-blurb.pos-left figure img,
.bloc-blurb.pos-left figure i,
.bloc-blurb.pos-right figure img,
.bloc-blurb.pos-right figure i {align-self: center;}

.bloc-blurb.pos-left figure img.with-border,
.bloc-blurb.pos-right figure img.with-border {width:80%;}

.bloc-blurb.align-start.pos-left figure,
.bloc-blurb.align-start.pos-right figure {justify-content: start;}
.bloc-blurb.align-end.pos-left figure,
.bloc-blurb.align-end.pos-right figure {justify-content: end;}
.bloc-blurb.align-center.pos-left figure,
.bloc-blurb.align-center.pos-right figure {justify-content: center;}

.bloc-blurb.align-start > div > .content {text-align: left;}
.bloc-blurb.align-start > div > .content {text-align: left;}
.bloc-blurb.pos-left > div > .content {text-align: left;}

/* Tabs
---------------------------------------------------------------------- */


/* Collapse
---------------------------------------------------------------------- */


/* Divider
---------------------------------------------------------------------- */
.bloc-divider {padding:50px 5%; font-size:0;}
.bloc-divider hr {background: none; font-size:0; border:1px solid; border-color:#ddd; border-radius: 100% 100%; }


/* Back to top
---------------------------------------------------------------------- */
.back-to-top {
	border: 2px solid rgba(0, 0, 0, 0.2);
	border-radius: 100%;
	bottom: 20px;
	cursor: pointer;
	display: block;
	overflow: hidden;
	padding: 0;
	position: fixed;
	right: 15px;
	z-index: 5;
	opacity: 0;
	transition: opacity 1s ease;
}
.back-to-top.on {opacity: 1;}

.back-to-top .fa {font-size: 25px; padding: 15px;}
.back-to-top .fill {
	background-color: rgba(255, 255, 255, 0.4);
	bottom: 0;
	height: 0;
	position: absolute;
	width: 100%;
	z-index: -1;
}

.back-to-top:hover .fa {animation: bounceTop 0.4s ease-in-out infinite alternate;}

@keyframes bounceTop {
	0% 	{ transform: translateY(-5px);}
	100%{ transform: translateY(5px);}
}



/* Réseaux sociaux - barre latérale 
---------------------------------------------------------------------- */

.bloc-socials {}
.bloc-socials svg {height: 80px; width: 80px; padding: 15px; transform: scale(0.75); }
.bloc-socials ul {display: flex; flex-wrap: wrap; justify-content: center; list-style-type: none; margin: 0; padding: 0;}
.bloc-socials a {display: block; position: relative; text-decoration: none;}

.bloc-socials li,
.bloc-socials li:before {height: 80px; width: 80px;}
.bloc-socials li  {border-radius: 50%; box-shadow: 0 0 0 3px; margin: 10px 10px 20px 10px; z-index: 0;}
.bloc-socials li:before {content: ""; border-radius: 50%; position: absolute; transform: scale(0); transition: transform 0.3s; z-index: -1;}
.bloc-socials li:hover:before {transform: scale(1.01); transition: transform 0.3s;}
.bloc-socials a {display: block; text-align: center;}
.bloc-socials span {display: block; height: 20px; overflow: hidden;}

.bloc-socials.small {}
.bloc-socials.small svg {height: 30px; width: 30px; padding:0px;}
.bloc-socials.small li,
.bloc-socials.small li:before {height: 40px; width: 40px;}
.bloc-socials.small li  {margin:0; border-radius: none; box-shadow: none;}



.bloc-socials.phantom svg {transform: scale(1); transition: fill 0.5s, transform 0.5s;}
.bloc-socials.phantom li:hover svg {transform: scale(1.2); transition: fill 0.5s, transform 0.5s;}
.bloc-socials.phantom li:hover span {transform: translateY(0); transition: transform 0.5s;}
.bloc-socials.phantom a {overflow: hidden; }
.bloc-socials.phantom span {display: block; text-align: center; transform: translateY(100%); transition: transform 0.5s;}

.bloc-socials.square li {height: 80px; padding: 10px;}
.bloc-socials.square span,
.bloc-socials.square svg {display: block; top: 50%; transform: translateY(-50%); fill: #FFFFFF;}
.bloc-socials.square svg {position: relative; right: 0; transition: right 0.5s;}
.bloc-socials.square span {left: 100%; position: absolute; text-align: center; transition: left 0.5s, transform 0.5s;}
.bloc-socials.square a {height: 100%; overflow: hidden;}
.bloc-socials.square a:hover svg {right: 100%; transition: right 0.5s;}
.bloc-socials.square a:hover span {left: 50%; transform: translateX(-50%) translateY(-50%); transition: left 0.5s, transform 0.5s;}

.bloc-socials.lateral {position:fixed; top:35%; right:0; z-index:15;}
.bloc-socials.lateral ul {flex-direction: column;}
.bloc-socials.lateral li,
.bloc-socials.lateral li:before {height: auto; width:40px; }
.bloc-socials.lateral li {margin:0; border-radius: none; box-shadow: none;}
.bloc-socials.lateral a {padding:10px 5px;}
.bloc-socials.lateral svg {display: block; height: 30px; width: 30px; padding:0px; fill: #FFFFFF; }


.bloc-socials.square .facebook a,
.bloc-socials.lateral .facebook a 	{background-color: #1F69B3;}
.bloc-socials.square .linkedin,
.bloc-socials.lateral .linkedin a	{background-color: #0097BD;}
.bloc-socials.square .youtube,
.bloc-socials.lateral .youtube a 	{background-color: #E64A41;}
.bloc-socials.square .twitter,
.bloc-socials.lateral .twitter a	{background-color: #43B3E5;}
.bloc-socials.square .pinterest,
.bloc-socials.lateral .pinterest a	{background-color: #D73532;}
.bloc-socials.square .googleplus,
.bloc-socials.lateral .googleplus a {background-color: #DA4A38;}
.bloc-socials.square .instagram,
.bloc-socials.lateral .instagram a	{background: radial-gradient(circle at 33% 100%, #FED373 4%, #F15245 30%, #D92E7F 62%, #9B36B7 85%, #515ECF);}


/* Réseaux sociaux - iframe
---------------------------------------------------------------------- */




/* -------------------------------------------------------------------
---------------------------------------------------------------------- 
								EVENEMENTIEL
---------------------------------------------------------------------- 
---------------------------------------------------------------------- */

/* Letters
---------------------------------------------------------------------- */

.letters {text-align: center; margin:40px; }
.letters li { 
	display: inline-block;
	font-size:16px;
	color:#888;
}
.letters li a { color:#888; text-decoration: none;	padding:2px 4px;display: inline-block;}  
.letters li:hover a { color:#888; text-decoration: underline; } 

h4.letter {
	margin-top:20px;
	font-size:26px;
	color:#888;
	border-bottom:2px solid #888;
    padding-bottom: 10px;
    text-align: center;
}


/* Liste intervenants
---------------------------------------------------------------------- */
.event-speakers .speakers {text-align: center;}


/* Programme - classique
---------------------------------------------------------------------- */
.bloc-program > h2 {
    font-size: 36px; 
    letter-spacing: 1px;
    margin-top: 20px;
    color:#fff;
    background: #3d78bc;
    opacity: 0.5;
    padding: 2%; 
    margin: -11px 0 0 0;
    text-align: center; 
    font-weight: normal;
}
.bloc-program table.program {width: 100%; margin-bottom: 40px; text-align: center;}
.bloc-program table.program th {background-color: #3d78bc;color:#fff; font-size: 20px; font-weight: normal; opacity: 0.8; padding:12px 14px;}
.bloc-program table.program td {border-bottom:#aaa 1px solid; padding: 20px 10px; font-size:14px; line-height: 20px; color:#555; text-align: left;}
.bloc-program table.program td .title {display: block; color:#555; font-weight: bold; font-size:15px;}
.bloc-program table.program td.hour {width: 10%; min-width: 50px;}
.bloc-program table.program td.location {text-align: center; width: 15%;  min-width: 50px;}
.bloc-program table.program td.activity {color:#999;}
.bloc-program .activity > div {display:flex; }
.bloc-program .activity > div > figure {max-width: 200px; align-self: center; padding-right: 20px;}
.bloc-program .activity > div > figure img {max-width: 90%;}
.bloc-program .activity > div > div {flex:1; align-self: center;}
.bloc-program .activity .speakers {}
.bloc-program .activity .speakers h3 {font-size:12px; color:#fff; }
.bloc-program .activity .speakers ul {list-style: outside; margin-left:20px;}
.bloc-program .activity .speakers ul li {list-style-type: disc; font-size:14px; color:#aff; }

.bloc-program table.program td.break > div {text-align: center; color:#999; font-size:11px; font-weight: normal;}
.bloc-program table.program tr:hover td {background: #f4f4f4;}

.bloc-program table.program .hour {width: 20%; text-align: center;}
.bloc-program table.program td.hour {font-size: 25px;}
.bloc-program table.program td.hour > span {text-align: left; margin-left: 30%; display: block;}
.bloc-program table.program .location {width: 35%;  min-width: 50px;}

.bloc-program table.program td.break {
	background:#eee; 
	text-align: center; 
	color:#a00; 
	font-style: italic; 
	letter-spacing: 1px; 
	font-size: 25px; 
	font-weight: normal; 
	line-height: 40px;
}


/* Programme - timeline
---------------------------------------------------------------------- */
.bloc-program.timeline {max-width:800px; margin:0 auto;}
.bloc-program.timeline > h2 {border-bottom: 1px dashed; background: none; color:#000; text-align: center; width:calc(75% - 50px); margin-left: calc(25% + 20px)}
.bloc-program.timeline > ul {margin: 30px 15px 0 15px; position: relative;}
.bloc-program.timeline > ul::before{
    content: "";
	background-color: #BDDCEB;
    border-radius: 5px;
    margin-left: -10px;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 20%;
    width: 10px;
}
.bloc-program.timeline > ul li {position: relative; }
.bloc-program.timeline time {
    display: block;
    position: absolute;
    font-size: 2.5rem;
    padding-right: 10%;
    text-align: right;
    width: 25%;
	height: 40px;
	display: flex;
	flex-direction: column;
	justify-content: center;    
}

.bloc-program.timeline time span {font-size: 2rem; display: block; text-align: right; }
.bloc-program.timeline time span.location {font-size: 1.5rem; min-height: 10px; display: block;}
.bloc-program.timeline span.title{
 	color:#ffffff;
 	font-size: 2.0rem;
	font-weight: bold;
}
.bloc-program.timeline .break {background-color: transparent; padding: 0;}
.bloc-program.timeline .break::after {content:none;}
.bloc-program.timeline .break span.title{
    font-size: 26px;
    line-height: 30px;
    color: #555;
    font-weight: 100;
    letter-spacing: 2px;
    margin: 2vh 0px 8px 0px;
    padding: 0 0 4px 0;
}
.bloc-program.timeline .break .content{color:rgba(209,9,30,1);}
.bloc-program.timeline span.title + .content {border-top: 1px solid; padding-top: 10px; margin-top:3px; }
.bloc-program.timeline .activity {
	min-height: 50px;
	line-height: unset; 
	background-color: rgba(209,9,30,1);
    border-radius: 5px;
    color: #FFFFFF;
    margin: 0 10px 15px 25%;
    padding: 1em 2em;
    position: relative;
}
.bloc-program.timeline .activity::after {
    content: "";
    border-right: #d1091e 10px solid;
    border-top: transparent 10px solid;
    border-bottom: transparent 10px solid;
    position: absolute;
    right: calc(100% - 1px);
    top: 10px;
}



.bloc-program.timeline .bullet {
	background-color: rgba(188,188,187,1);
    color: rgba(209,9,30,1);
    border-radius: 50%;
    box-shadow: 0 0 0 8px;
    font-size: 1.4em;
    height: 40px;
    left: 20%;
    line-height: 40px;
    margin-left: -25px;
    overflow: hidden;
    position: absolute;
    text-align: center;
    width: 40px;
}
.bloc-program.timeline .bullet.fa {
	display: inline-block;
	font: normal normal normal 14px/1 FontAwesome;
	font-size: 1.4em;
	line-height: 40px;	
	text-rendering: auto;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}
.bloc-program.timeline .bullet.fa::before{color:#FFFFFF;}



/* Participant
---------------------------------------------------------------------- */




/* Liste de Participants
---------------------------------------------------------------------- */
.event-attendees ul {display: flex;	justify-content: center;}
.event-attendees li {position: relative;}
.event-attendees .details {width: 100%;}
.event-attendees figure {display: flex;	height: 20vw; width: 20vw;}
.event-attendees figure img {flex: 1; object-fit: cover; width: 100%;}

.event-attendees .details {
	background-color: rgba(0, 0, 0, 0.7);
	min-height: 50px;
}
.event-attendees .details > span {display: flex; flex-direction: column; justify-content: center; text-align: center;}
.event-attendees .details > span > * {display: block;}

.event-attendees .details .name {font-size: 20px; padding: 15px 0;}
.event-attendees .details .cpy {color: #949397; font-size: 14px; font-weight: normal; text-decoration: none;}
.event-attendees .details .function {font-size: 12px;}

/* Edito
---------------------------------------------------------------------- */
.bloc-content .signature {
	width: 100%;
	text-align: right;
	padding-top: 5vh;
	padding-right: 10%;
}
.bloc-content .signature span {
	width: 100%;
	display: block;
	text-align: right;
	font-size: 20px;
	margin-bottom: 10px;
}
.bloc-content .signature img {max-width: 25%;}


/* Kit Média
---------------------------------------------------------------------- */


/* Event all-in-one page
---------------------------------------------------------------------- */

.all-in-one {min-height: 100vh; display:flex; flex-direction:column;}
.all-in-one.aio-col > header {display:flex; flex-direction:row; background: #000; color:#aaa;}
.all-in-one.aio-col > header figure {width:66%; display: inline-block;}
.all-in-one.aio-col > header figure img {width:100%; height:100%; object-fit: cover;}
.all-in-one.aio-col > header > div {width:34%; display: inline-block;}
.all-in-one.aio-col > header > div > div {margin:0 auto; display:block; }

.all-in-one.aio-col > header .date {display:flex; flex-direction:column; justify-content:center; }
.all-in-one.aio-col > header .date > div {display:flex; flex-direction:row;} 
.all-in-one.aio-col > header .date span { font-size:40vh; line-height: 30vh; justify-self:end; }
.all-in-one.aio-col > header .date > div > b {display:flex; flex-direction:column; justify-self:start; justify-content:space-between;}
.all-in-one.aio-col > header .date u {font-size:8vh; text-decoration: none; line-height: 10vh;}
.all-in-one.aio-col > header .date i {font-size:13vh; font-style: normal;line-height: 12vh;}
.all-in-one.aio-col > header .date i s {font-size:6vh; text-decoration: none;}

.all-in-one.aio-col > div {flex-grow:1; display:flex; flex-direction:row;}
.all-in-one.aio-col > div > section { display:inline-block; width:66%; padding:2vh 2vw; }
.all-in-one.aio-col > div > aside { padding:3vh 0; display:inline-block; width:34%; }
.all-in-one.aio-col > div > aside > h3 {font-size:24px; margin-bottom:2vh;}
.all-in-one.aio-col > div > aside .content {font-size:14px; line-height: 18px; margin-bottom: 4vh;}
.all-in-one.aio-col > div > aside .contact span {font-size:14px; display:block; line-height: 18px; }
.all-in-one.aio-col > div > aside .contact a {font-size:14px; display:block; line-height: 18px; }
.all-in-one.aio-col > div > aside .address {margin: 4vh 0;}

.all-in-one.aio-col .address i.fa {font-size:50px; width:10%; display:inline-block; vertical-align:middle;}
.all-in-one.aio-col .address address {display:inline-block; width:85%; font-size:14px; font-style: normal; vertical-align: middle; line-height: 18px; }


.all-in-one.aio-3bloc .informations {padding: 10vh 0;}
.all-in-one.aio-3bloc .informations .contact {display: block;}
.all-in-one.aio-3bloc .form {padding-bottom: 70px;}


/* Event Calendar
---------------------------------------------------------------------- */

/* Event Tomorrow
---------------------------------------------------------------------- */
.event-tomorrow {background:#070; color:#fff; padding:3vh 3vw; min-height: 100vh; display: flex; flex-direction: column; justify-content: center;}
.event-tomorrow > h1 { color:#fff; font-size:56px; margin-bottom: 30px; padding:0; }
.event-tomorrow > h2 { color:#fff; font-size:40px; margin: 20px 0 30px 0; text-align: center; }
.event-tomorrow > .chapo { color:#fff; font-size:16px; margin-bottom: 40px;  text-align: center;}
.event-tomorrow > section {display:flex; flex-direction:row;}
.event-tomorrow > section > div {padding:0 2vw;	flex:1;}

.event-tomorrow .date {display:flex; flex-direction:column; justify-content:center; }
.event-tomorrow .date > div {display:flex; flex-direction:row;} 
.event-tomorrow .date span { font-size:40vh; line-height: 30vh; justify-self:end; }
.event-tomorrow .date > div > b {display:flex; flex-direction:column; justify-self:start; justify-content:space-between;}
.event-tomorrow .date u {font-size:8vh; text-decoration: none; line-height: 10vh;}
.event-tomorrow .date i {font-size:13vh; font-style: normal;line-height: 12vh;}
.event-tomorrow .date i s {font-size:6vh; text-decoration: none;}

.event-tomorrow .location {background-color: rgba(255, 255, 255, 0.5); padding: 10px;}
.event-tomorrow .address i.fa {font-size:50px; width:10%; display:inline-block; vertical-align:middle;}
.event-tomorrow .address address {display:inline-block; width:85%; font-size:14px; font-style: normal; vertical-align: middle; line-height: 18px;}
.event-tomorrow .address article > div {height:40vh; }
.event-tomorrow .address article {margin-bottom: 30px;}
.event-tomorrow .qrCode {text-align: center; display: flex; flex-direction: column; justify-content: center;}
.event-tomorrow .qrCode img {width:200px; height:200px; margin: 10px;}



/* Hôtel
---------------------------------------------------------------------- */
.bloc-hotel {
	display: flex;
	margin: 10px;
	overflow: hidden;
	padding: 10px;
	position: relative;
}
.bloc-hotel .buttons {flex: 1; padding:20px 0; text-align: center; display: flex;}
.bloc-hotel .buttons > i {align-self: center;}
.bloc-hotel .buttons > div {flex:1; padding:8px 0px; align-self: center;}
.bloc-hotel .buttons > div > div {position: relative; color:#777; align-self: center;}
.bloc-hotel .buttons > div > div a {color:#777;}
.bloc-hotel .content {padding:20px 0px; font-size:14px; line-height: 17px;}

.bloc-hotel .details { flex: 1; padding: 0 20px;}
.bloc-hotel .details > h2 {margin:auto; font-size:36px; line-height: unset;}
.bloc-hotel .details .fa {margin-right: 10px; font-size:20px;}
.bloc-hotel .details p {display: inline;}
.bloc-hotel .details address {margin: 10px 0;}
.bloc-hotel .details .contact {display: flex; font-size:13px; line-height: 16px;}
.bloc-hotel .details .contact span {display: block;}

.bloc-hotel aside {flex: 1; min-height: 350px; border-radius: 10px;}
.bloc-hotel aside .digi-gallery {height: 100%; border-radius: 10px;}
.bloc-hotel aside .digi-gallery li {height: 100%; border-radius: 10px;}
.bloc-hotel aside .digi-gallery img {width:100%; height:100%; object-fit: cover; border-radius: 10px;}

.slider.digi-gallery .puces {background-color: rgba(0, 0, 0, 0.1); bottom: 0; border-radius: 10px; border:none;}
.slider.digi-gallery .puces li {
	background: none;
	background-color: transparent;
	box-shadow: inset 0 0 0 2px;
	height: 12px;
	overflow: hidden;
	transition: background-color 0.3s;
}
.slider.digi-gallery .puces li:after {
	content: "";
	bottom: 0;
	height: 0;
	left: 0;
	position: absolute;
	transition: height 0.3s ease;
	width: 100%;
}
.slider.digi-gallery .puces .select {box-shadow: none;}
.slider.digi-gallery .puces .select:after {height: 100%;}



/* Map google
---------------------------------------------------------------------- */
.bloc-map {position: relative;}
.bloc-map > div.jGmap {display: none;}

.bloc-map > div.j-Gmap,
.bloc-map .j-Map {height: 75vh;}
.bloc-map .gmTitle {border-bottom: 1px solid; margin-bottom: 10px; }
.bloc-map .gmImage {margin-right: 10px; max-height: 150px;	vertical-align: middle;	width: 150px;}
.bloc-map .gmContent {display: inline-block; max-width: 250px; text-align: center; vertical-align: middle;}
.bloc-map .gmContent .fa {margin-right: 5px;}


/* EXPOSANTS
---------------------------------------------------------------------- */


/* Exposant - Bloc
---------------------------------------------------------------------- */
.bloc-exhibitor { margin:6vh 0; display:flex; flex-direction:row;}
.bloc-exhibitor aside { width: 30%; display: inline-block; align-self: center; }
.bloc-exhibitor aside img { max-height: 300px; }
.bloc-exhibitor section { width: 70%; display: inline-block; justify-content:center; display:flex; flex-direction:column;}
.bloc-exhibitor section .link {margin:4px 0 10px 0;}

.bloc-exhibitor .booth { color:#555; font-size:16px; display: block; padding-bottom: 4px;}
.bloc-exhibitor a { color:#999; text-decoration: none;}
.bloc-exhibitor a:hover { text-decoration: underline;}
.bloc-exhibitor section > article {display:flex; justify-content:space-between; width: 100%; margin-top:3vh; }
.bloc-exhibitor section > article > div { flex:1; }


/* Exposant - Fiche
---------------------------------------------------------------------- */
.exhibitor-view {display:flex; flex-direction:column; }
.exhibitor-view > figure {width:100%; overflow: hidden; height: 300px;}
.exhibitor-view > figure img {width:100%; object-fit: cover; height:100%; }
.exhibitor-view > section {display:flex; flex-direction:row; padding:0;}
.exhibitor-view > section.info figure {width:30%; text-align: center;}
.exhibitor-view > section.info figure img {width:70%;}
.exhibitor-view > section.info article {width:40%; display:flex; flex-direction:column; justify-content:center;}
.exhibitor-view > section.info article:last-child {width:30%; text-align: center;}
.exhibitor-view > section.info article h3 { color:#555; font-size:20px;}
.exhibitor-view > section.info article h2 { color:#000; font-size:24px; font-weight: 100; text-align: center; margin-bottom: 4vh;}
.exhibitor-view > section.info article:last-child span { text-align: center;}
.exhibitor-view > section.info article h1 { text-align: left;}
.exhibitor-view > section.ct article {width:70%; padding:6vh 5vw;} 
.exhibitor-view > section.ct figure {width:30%; overflow: hidden;} 
.exhibitor-view > section.ct figure img {width:100%; height: 100%; object-fit: cover;} 

.exhibitor-view > .link { background: #333; width: 100%; padding-left:30%; color:#fff; text-align: left; margin: 0; transition: 0.3s all ease;}
.exhibitor-view > .link a { color:#fff; text-decoration: none; display:inline-block; height:30px; padding:6px; background: inherit; border-radius: 0;}
.exhibitor-view > .link a:hover { text-decoration: underline; background: inherit;}
.exhibitor-view > .link:hover {background: #000;} 


/* Liste d'Exposants
---------------------------------------------------------------------- */
.exhibitorsPage {max-width: 1000px; margin:0 auto; }
.exhibitors.largeList {justify-content:center; display:flex; flex-direction:row; flex-wrap:wrap;}
.exhibitors .bloc-exhibitor > figure {flex:1; justify-content:center; display:flex; flex-direction:column; }
.exhibitors.largeList .bloc-exhibitor {flex-direction:column; width:25%; display:flex; }
.exhibitors.largeList .bloc-exhibitor img {width:80%; }
.bloc-exhibitor > div > h2 {text-align: center; font-size:14px; padding-top:10px;}

.exhibitors.smallList {justify-content:start; display:flex; flex-direction:row; flex-wrap:wrap;}
.exhibitors.smallList .bloc-exhibitor{flex-direction:column; width:180px; margin:20px 10px; display:flex; }


/* Sponsor
---------------------------------------------------------------------- */
.bloc-sponsor {padding:20px 10px; max-width: 300px; text-align: center;}
.bloc-sponsor figure {max-width: 200px; max-height: 200px; margin:0 auto;}
.bloc-sponsor figure a {display: block; height: 100%; width:100%;}
.bloc-sponsor figure a img,
.bloc-sponsor figure img  {height: 100%; width:100%; object-fit: contain;}
.bloc-sponsor > div {padding-top:10px; text-align: center;}
.bloc-sponsor > div .cpy {font-size:13px; display: block; text-align: center;}
.bloc-sponsor > div .type {font-size:14px; font-weight: bold; display: block; text-align: center; padding-top:5px;}
.bloc-sponsor.sponsor-gold div .type {color:#fc4;}
.bloc-sponsor.sponsor-or div .type {color:#fc4;}
.bloc-sponsor.sponsor-silver div .type {color:#999;}
.bloc-sponsor.sponsor-argent div .type {color:#999;}
.bloc-sponsor.sponsor-bronze div .type {color:#c61;}
.bloc-sponsor.sponsor-platine div .type {
	background: linear-gradient(to bottom, #e5e4e2, #a6a5a3);
    background-clip: text;
    -webkit-text-fill-color: transparent;
}


/* Evenement - Demain
---------------------------------------------------------------------- */



/* -------------------------------------------------------------------
---------------------------------------------------------------------- 
								FORMULAIRE
---------------------------------------------------------------------- 
---------------------------------------------------------------------- */

/* Formulaire - structure
---------------------------------------------------------------------- */

.digiForm {width: 100%;margin: 0 auto; padding:0 20px;}
.digiForm div {display: inline-block; vertical-align: middle;}

.digiForm article {font-size: 0; margin:16px 0;}
.digiForm article > label{width:30%; text-align: right; padding-right:20px; }
.digiForm article label  {font-size: 16px; display: inline-block; color:#727571; vertical-align: middle;}
.digiForm article > div {width:70%; max-width: 700px; font-size: 16px; text-align: left; display: inline-block;}
.digiForm article.formTxt {font-size:13px; line-height: 14px; margin-left: 30%; max-width: 700px; text-align: justify;}

.form-top .digiForm {max-width:1000px;}
.form-top .digiForm article {}
.form-top .digiForm article > label {width:100%; display:block; text-align: left; padding-right: 0; margin-bottom: 5px;}
.form-top .digiForm article > div {width:100%; max-width: none; display: block;}
.form-top .digiForm article.formTxt {margin-left:0; max-width: none;}

.digiForm .form-title {
	font-size:20px;
	font-weight: normal;
	display: block;
	color:#515352;
	margin:20px 0 6px 0;
	border-bottom:1px solid #031207;
	padding:0 0 4px 0;
}
.digiForm section {margin:40px 0;}
.digiForm section > section {margin:0;}
.digiForm .invisible div {border: none; padding: 0; margin: 0;}


form article s{text-decoration: none;}
form article s::before {content:" *"; font-size:14px; color:#d00; }

.digiForm .formCheckbox label {vertical-align: top; font-size:14px;}
.digiForm .formCheckbox input {vertical-align: top;}

.digiForm .formRadio ul {text-align: left;}
.digiForm .formRadio ul li {display: inline-block; padding-right: 20px;}
.digiForm .formRadio ul li label {text-align: left; font-size:14px; color:#4e4f4e;}



/* Formulaire - Errors
---------------------------------------------------------------------- */
form article.error label { color:#d00;}
form article.error input { border-color:#d00; color:#d00; box-shadow : 0 1px 4px rgba(0, 0, 0, 0.2) inset, 0 0 2px 1px rgba(240, 61, 31, 0.3);}

ul.errors {background : #B71D21; padding:20px;}
ul.errors li {list-style: circle; margin-left:10px;	color:#fff;	margin-bottom: 3px;font-size: 13px;}



/* Formulaire - Styles & modèles de champs
---------------------------------------------------------------------- */

/* // pour les radio & checkbox, le label au dessus des choix (style classique) */
.digiForm article.choicesUnder > div {width:100%;}
.digiForm article.choicesUnder > label {width:100%; text-align: left;}

/* // pour les radio & checkbox, un choix par ligne */
.digiForm article.choicesOnePerLine ul li {width:100%; display:block;}

/* // info en petit pour expliquer un champ */
.digiForm article.fieldInfoTxt {font-size:11px; margin-top:-8px; color:#777;}

/* // séparation d'un bloc de texte */
.digiForm article.textSeparate {margin:40px 0;}




/* Formulaire - Trombinoscope upload picture
---------------------------------------------------------------------- */
.digiForm article.trombiPicture {text-align: center;}
.digiForm article.trombiPicture figure img {width:30%;}
.digiForm article.trombiPicture span {font-size:12px; }



/* Formulaire - Module Hotel
---------------------------------------------------------------------- */

.digiForm article.hotelFellows > div {margin-left: 30%; width: 70%; }
.digiForm article.hotelFellows > div li {text-align: left;}
.digiForm article.hotelFellows > div li div {margin-right: 25px;margin-left: 15px;}
.digiForm article.hotelFellows > div li input {margin-left: 5px;}
.digiForm article.hotelFellows > div li label {text-align: left; width: 20%;}
.digiForm .hotelNbNights {font-weight: bold; margin-bottom: 50px;}

.digiForm .hotelMainModule.hotelChoice > div {width: 70%;}
.digiForm .hotelMainModule.hotelChoice.formRadio ul li {display: block; margin-bottom: 1%;}
.digiForm .hotelMainModule.hotelChoice.formRadio ul li label {text-align: left;}



/* Formulaire - Module Accompagnants
---------------------------------------------------------------------- */

.modAccompany .tpl {display:none;}
.modAccompany .accForm {
	margin-bottom: 15px;
	padding-bottom: 8px;
	border-bottom: 1px solid #eee;
	display: block;
	width: 100%;
}
.modAccompany .accForm article{
	display:inline-block;
}
.modAccompany .accForm article label {min-width: 30%;}




/* Formulaire - Autres éléments généraux
---------------------------------------------------------------------- */
div.actions {padding:8px; display: block; text-align: center;}
.close::before  {
	font-family: FontAwesome;
	content:"\f00d";
	background: #fff;
	border:#000 2px solid;
	text-align: center;
	border-radius: 15px 15px 15px 15px;
	font-size:18px;
	font-weight: normal;
	position:absolute;
	right:-10px;
	top:-10px;
	width:20px;
	height:20px;
	z-index:1;
	cursor: pointer;
}

/* Page Formulaire
---------------------------------------------------------------------- */
.page-form { padding-bottom: 50px; }
.page-form > figure {width:100%;}
.page-form > figure img {width:100%;}
.page-form > article.struct-blocs.struct-wrap {max-width:1000px; padding:0 20px;}
.page-form > article h3.chapo {font-size: 22px; margin-bottom: 14px;}
.page-form > article .content {margin-bottom: 20px;}


/* Login - Indentification
---------------------------------------------------------------------- */
.digiForm.login article > label { padding-top: 8px;	vertical-align: top;}
.forgetPwd {cursor: pointer; font-size:11px; padding:5px; display:block;}
.forgetPass h3 {text-align: center;}




/* Définition importantes, prioritaires sur les autres déclarations
---------------------------------------------------------------------- */
.hide {display:none;}
