/* 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;outline:none;}
ul {list-style: none;}
* {box-sizing: border-box;}
*::selection {background:#112277; color:#cdf;}
div, p { font-size:16px; line-height:20px; }

/* 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
# c1c4d3 : fond couleur clair
# 818493 : fond couleur moyen
# 414453 : fond couleur foncé


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


:root {
	/* --color-yellow: #F6A71C; 2023 */
	--color-yellow: #ffd423;
	--color-blue: #86cfed;
	--color-pink: #f6c9dd;
	--color-pink2: #fec0eb;
	--color-fushia: #700;
	--color-green: #26A237;
	--color-brick: #EB6435;
	--color-dark-blue: #4363AB;
}

/* Structure générale
---------------------------------------------------------------------- */
html, body { max-width: 100%; overflow-x: hidden; }
html {font-size:62.5%;}
body {font-size:12px; font-family:  "Bagoss", Helvetica, Arial, sans-serif; color: #000000;}
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%;
	overflow: hidden;
	position:relative;
	background: #000;
	padding:0px 10px;
}
body > nav {
	width: 100%;
	z-index:101;
	position:relative;
	background: #161516;

}
aside {}

main { margin-top:0px; padding: 0 0px; min-height:calc(100vh - 223px); } /* Taille header + taille footer */
main.main-form { background-image:url(/img/home-concept-bg3.svg); background-size:auto; background-position:bottom center; background-repeat:no-repeat; }


/* Charte graphique élémentaire
---------------------------------------------------------------------- */
h1 {
	text-align: center;
	font-size:50px;
	line-height:56px;
	font-weight: 100;
	margin:0;

	color:#000000;
	letter-spacing: 1px;
	margin: 4vh 0px;
	padding:0;
	font-family:'Bagoss';
}
h1.footerTitle { font-weight:none; }

/*  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:18px;
	line-height: 1.2;
	color:#000;
	letter-spacing: 0.5px;
	margin:0px 0px 30px 0px;
	padding:0 0 20px;
	text-align:center;
	text-transform:uppercase;
	font-weight:normal;
	position:relative;
}
h2:after {
    content: '';
    height: 1px;
    width: 140px;
    background-color: #000;
    position: absolute;
    bottom: 0;
    left: 50%;
    margin-left: -70px;
}

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:16px;
	text-align: justify;
	line-height: 20px;
}
a {text-decoration: none; transition: all 0.2s; color:#000000;}
a:hover {color: #202020;}
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 {}

.ta-center { text-align:center; }

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 {
	color:#000000;
	border-radius:5px;
	border:1px solid #AAA;
	width:100%;
	padding:12px 20px;
	font-size:16px;
	outline: none;
	background-color:#FFF;
	font-family:'Bagoss', Arial;
}

input[type='text']:focus,
input[type='password']:focus,
input[type='tel']:focus,
input[type='number']:focus,
input[type='date']:focus,
input[type='color']:focus,
input[type='range']:focus,
input[type='url']:focus,
input[type='time']:focus,
input[type='datetime']:focus,
input[type='email']:focus,
select:focus {
	border-bottom-color: var(--color-fushia);
	transition: 0.3s;
}

[readonly] { background: #eee; }
button,
input[type='button'],
input[type='submit'],
.btn {
	cursor: pointer;
	padding:10px 35px;
	color:#000000;
	font-size:18px;
	border-radius: 3px;
	border: 1px solid #000000;
	display:inline-block;
	text-decoration: none;
	transition: all 0.3s ease;
	outline: none;
	font-family:'Bagoss';
	text-transform:uppercase;
	background:none;
}

.btn-ico {
	padding: 6px;
	font-size: 25px;
	color: #000;
}

.btn-ico:hover {
	color: #0A71B4;
}


button:hover,
input[type='button']:hover,
input[type='submit']:hover,
.btn:hover, a.btn:hover {background: #000000; color:#FFFFFF; border-color: #000000; transition: all 0.3s ease;}

button:hover,
input[type='button']:hover,
input[type='submit']:hover,
.btn:hover {}


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

.btn.big { padding:15px 30px; font-size:32px; border-radius: 30px;}
.btn.xbig { padding:20px 40px; font-size:48px; border-radius: 30px;}
.btn.medium {padding:12px 30px; font-size:20px; border-radius: 30px;}
.btn.small {padding:8px 22px; font-size:16px; border-radius: 30px; border:5px solid #000; }
.btn.btn-circle { border-radius: 50%; }

.btn-green, .btn-green.small { color:var(--color-green); border: 5px solid var(--color-green); }

.btn-green:hover, a.btn-green:hover {background: var(--color-green); color:#FFFFFF; border-color: var(--color-green); transition: all 0.3s ease;}

/* styles remis en forme pour les contenus issus de wysiwyg
---------------------------------------------------------------------- */
.content {font-size:16px; line-height: 20px; -webkit-hyphens: auto; -moz-hyphens: auto; hyphens: auto; padding-bottom:25px; }
.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:block; z-index: 101; transition: opacity 0.5s ease; height:45px;}
.internalPage { margin-left:auto; margin-right:auto; }
.internalPage-larger { max-width:1350px; margin-left:auto; margin-right:auto; }
.mainNavInner { width:100%; position:relative; height:45px; background-color:#000; }
nav.mainNav .menuSmart {cursor: pointer; display: none;}
nav.mainNav .smallLogo { padding:4px 10px 0px 10px; flex:0; align-self: center; transition: opacity 0.5s ease;
text-align: center;
display: inline-block;
*display: block;
*zoom: 1;
float: left; position:relative; z-index:30; position:relative; bottom:18px;}
nav.mainNav .smallLogo img { height:auto; width:134px; }
nav.mainNav .wrapNav {text-align:left; position: absolute;
	height: 100%;
	padding-top: 0px;
	left: 0px;
	width: 100%;}

nav.mainNav > div ul.menu li.btHome { /* display:none; */ }
nav.mainNav > div {text-align: center; flex:1; align-self: flex-end;}
nav.mainNav > div.smallMenu{text-align: right; margin-right: 35px;}

nav.mainNav > div ul.menu {padding: 24px 0 18px 0px; font-size:0; display: inline-block; transition: padding 0.5s ease; }
nav.mainNav > div ul.menu li {
	font-size:16px;
	color:#000;
	display: table;
	position:relative;
	transition:border-color 0.3s ease;
	border-bottom: 2px solid rgba(0, 0, 0, 0);
	display: block;
	float: left;
	margin: 0 0 0 26px;
	height:100%;
	min-height:25px;
	vertical-align:middle;
}
nav.mainNav > div ul.menu li.selected,
nav.mainNav > div ul.menu li:hover  { cursor: pointer; }
nav.mainNav > div ul.menu li a:hover {}
nav.mainNav > div ul.menu > li span,
nav.mainNav > div ul.menu > li a {color: #FFF;
font-size: 14px;
font-family:'Bagoss';
text-decoration: none;
padding: 0; transition:0.3s; text-transform:uppercase; }
nav.mainNav > div ul.menu > li a.inscription697 { background-color:#FFF; padding:9px 25px; border-radius:8px;  color:#000; }
nav.mainNav > div ul.menu > li a.inscription697:hover { background-color:#000; color:#000; }
nav.mainNav > div ul.menu > li:hover span, nav.mainNav > div ul.menu > li:hover a {color: #FFF !important;}
nav.mainNav > div ul.menu > li > ul {
	position:absolute;
	top:40px;
	overflow:hidden;
	max-height: 0px;
	z-index:200;
	background: #151515;
	transition: max-height 0.5s ease 0s;
	border-radius: 0 0 10px 10px;
}
nav.mainNav > div ul.menu > li:hover ul {display:block; max-height: 500px;}
nav.mainNav > div ul.menu > li  li { white-space: nowrap; width:100%; border-bottom: 1px solid #444;}
nav.mainNav > div ul.menu > li  li:hover {border-bottom:none; background:#a00;}

nav.mainNav.scroll > div ul.menu {padding:0;}
nav.mainNav.scroll .smallLogo,
.simpleHeader nav.mainNav .smallLogo, .simpleHeader + nav.mainNav .smallLogo {opacity: 1;}
nav.mainNav .smallMenu {display:none; top:0px; right:10px; position:absolute;}
nav.mainNav .smallMenu a { color:#FFF; }
nav.mainNav > div ul.menu .closeMenu {display:none;}

body > header.fullpage nav.mainNav ul.menu.responsiveNav { padding:10px 0px 45px 0px; position:fixed; z-index:500; }
ul.menu.responsiveNav li { width:100%; clear:both; display:block; z-index:100; }
nav.mainNav > div ul.menu.responsiveNav > li { padding:20px 20px; text-align:center; margin:0px; }
nav.mainNav > div ul.menu.responsiveNav > li:hover { background-color:#111; }
nav.mainNav > div ul.menu.responsiveNav > li span, nav.mainNav > div ul.menu.responsiveNav > li a { color:#FFF; }
nav.mainNav > div ul.menu.responsiveNav > li a.inscription0 { color:#000000; }
nav.mainNav > div ul.menu.responsiveNav > li span, nav.mainNav > div ul.menu.responsiveNav > li a.icon, nav.mainNav > div ul.menu.responsiveNav > li a { font-size:18px !important; }


/* Header
---------------------------------------------------------------------- */
body > header {position:relative;}
body > header .overHead {
	width:100%;
	background:#000;
	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:14px;}
body > header .overHead .areas li {padding:0px 5px; cursor: pointer;}
body > header .overHead .areas li i { font-size:16px; margin-right:6px; }
body > header .overHead .areas li a {color:#fff; text-decoration: none;}
body > header .overHead .areas li a.icoQuit { margin-left:10px; }

body > header .wrapTitle {
	position:absolute;
	top:20%;
	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-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; }
body > header .wrapButtons li a:hover {background:#fff; color:#4343da; }


/*body > header.withWrapButtons {	min-height: 118px;}*/
body > header.simpleHeader {background: #fff;}
body > header.simpleHeader .wrapButtons {bottom:-50px; }
body > header.simpleHeader .wrapButtons li a {border-radius: 0 0 5px 5px;}
body > header.fullpage.simpleHeader nav.mainNav > div > ul {top: 40px;}
body > header.fullpage.simpleHeader nav.mainNav .smallLogo img {max-width: 275px;}
body > header.fullpage.simpleHeader nav.mainNav .smallLogo {}

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 .menu {background:rgba(255,255,255,0.3); border-radius: 10px 0 0 10px;}
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,
body > header.sidelogo nav.mainNav > div > ul > li span{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;}


/* Autre template

body > header.sidelogo {min-height:160px; background: #fff;}
body > header.sidelogo .wrapBanner {min-height:160px;}
body > header.sidelogo .wrapBanner .logo { top:5%; width:100%; text-align: center; left:0;}
body > header.sidelogo .wrapBanner .logo img {width:100%; height: 100%; object-fit: contain;}
body > header.sidelogo nav.mainNav {position:absolute; top:0%; width:100%; height: 100%; }
body > header.sidelogo nav.mainNav .wrapNav {margin-bottom: 120px; display: flex;}
body > header.sidelogo nav.mainNav .menu {background:rgba(255, 255, 255, 0.5); left: 0; text-align: center; padding: 35px;; margin: 0 auto; width: 100%;}
body > header.sidelogo nav.mainNav > div > ul > li {background: none; color:#000;border-bottom: 4px solid rgba(0,0,0,0);}
body > header.sidelogo nav.mainNav > div > ul > li a {color:#000; font-size:20px; margin:4px 0;}
body > header.sidelogo nav.mainNav > div > ul > li:hover {border-bottom: 4px solid; transition:all 0.3s ease;}
body > header.sidelogo nav.mainNav > div > ul {padding:0; transition:all 0.3s ease;}

body > header.sidelogo nav.mainNav .smallLogo {display: none;}
body > header.sidelogo nav.mainNav.scroll .smallLogo {display: inline;}
body > header.sidelogo nav.mainNav.scroll .wrapNav {margin-bottom: 0;}

body > header.sidelogo nav.mainNav > div > ul > li > ul,
body > header.sidelogo nav.mainNav > div > ul > li > ul > li{background:rgba(255, 255, 255, 0.7); width:100px;}


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 .wrapTitle {display: none;}

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:10px solid #000; border-top:5px solid transparent; border-bottom:10px 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;}


/* Autre template
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%; display:none;}
body > header.nav-in-banner .wrapBanner .logo img {width:100%; height: 100%; object-fit: contain;}

body > header.nav-in-banner nav.mainNav .smallLogo {display: block; margin-top: 35px; opacity: 1;}
body > header.nav-in-banner nav.mainNav .smallLogo img {height: auto; max-width: 150px; padding: 0 25px;}

body > header.nav-in-banner nav.mainNav {transition: height 6s ease; height:80vh; display: block; position:absolute; top:0%; width:calc(65% - 30px); right: 30.5px; background: #4343da; width: 10%;}
body > header.nav-in-banner nav.mainNav .wrapNav {align-self:center;}
body > header.nav-in-banner nav.mainNav > div > ul > li {width:100%; background: none; color:#000;display:block; border-bottom: 4px solid rgba(0,0,0,0);}

body > header.nav-in-banner nav.mainNav.scroll {position:fixed; height:100vh;}
@keyframes scroll {
	0%  { height: 0vh; }
	50% { height: 20vh; }
	60% { height: 70vh; }
	70% { height: 82vh; }
	80% { height: 90vh; }
	100%{ height: 100vh; }
}

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:#fff; font-size:18px; padding:14px 10px;}
body > header.nav-in-banner nav.mainNav > div > ul > li:hover {border-bottom: 4px solid #fff; transition:all 0.3s ease;}
body > header.nav-in-banner nav.mainNav > div > ul {width: 100%; padding: 0 25px;}
body > header.nav-in-banner .wrapButtons li a {padding:6px 10px;}
body > header.nav-in-banner .overHead {transition: height 6s ease; height:80vh; right:0; width:30px; height:100%; position:absolute; flex-direction: column;display: flex;}
body > header.nav-in-banner .overHead.scroll{position:fixed; height:100vh;}
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.simpleHeader nav.mainNav {top:0; bottom:auto;}
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.simpleHeader nav.mainNav .smallLogo {display:block;}
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; text-transform:uppercase; }

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 {width: 100%; min-height: 50px; }
body > header.fullpage .overHead {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; position:relative; z-index:6;}
body > header.fullpage .wrapBanner .banner::after {content:""; z-index:5; position:absolute; top:0; left:0; width:100%; height:100%; background:#000000;}
body > header.fullpage .wrapTitle {width:100%; left:0; z-index:8; }
body > header.fullpage .wrapTitle .logo {width:100%; text-align: center; padding:20px; display: none;}
body > header.fullpage .wrapTitle .logo img {max-height: 30vh;}
body > header.fullpage .overHead { }
 nav.mainNav {top:28px; width: 100%; margin: 0 auto; padding: 0 10px; transition:top 0.5s ease; top: 0; background-color:#000;}
/*body > header.fullpage div {margin: 0 auto; width: 960px;}*/
body > header.fullpage nav.mainNav::before,
body > header.fullpage nav.mainNav::after{content: '.';
display: block;
overflow: hidden;
visibility: hidden;
font-size: 0;
line-height: 0;
width: 0;
height: 0;
clear:both;}
body > header.fullpage nav.mainNav.scroll {top:0;}
body > header.fullpage nav.mainNav ul.menu {padding:0; position: absolute; right: 35px; display:flex; vertical-align:middle; display:flex; align-items:center; height:45px; align-items:center; }
body > header.fullpage nav.mainNav ul.menu.responsiveNav { height:auto; }


.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 {
	width: 66%;
	max-width: 960px;
	min-width: 300px;
	height: auto;

	position: absolute;
	top: 0;
	left: 50%;
	transform: translateX(-50%);

	visibility: hidden;
	z-index: 1000;
	border-radius: 10px;
	color: #333;

	background: #fff;
	border:10px solid #000;
}
.simple-modal.on {visibility: visible; top: 6vh;}
.simple-modal .simpleModal-content {
	color:#333;
	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%);}
.simple-modal .close { color: #333; }
.simple-modal .ct-blocs article { padding: 16px; }

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

.simple-modal .wrap-form {padding: 10px;}
.simple-modal .wrap-form label {color:#333;}
.simple-modal .wrap-form .btn {
	border-radius: 30px;
	cursor: pointer;
	display: block;
	margin: 10px auto;
	padding: 8px 20px;
	font-size:16px;
	transition: 0.4s;
	outline: none;
}
.simple-modal .wrap-form .btn:hover {color: #FFF; background: #000; transition: 0.4s;}

.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:1400px; */ margin:0 auto 30px auto;}
main.main-form .struct-blocs.struct-wrap { margin-bottom:0; }
main.main-form .struct-blocs.struct-wrap p { margin-bottom:0; }
.struct-blocs > .ct-blocs {display:flex; justify-content: space-between; flex-direction:row;}
.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:22px; 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:0px; }
.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; padding-top:55px; padding-left:10px; padding-right:10px; max-width:1024px; margin-left:auto; margin-right:auto; }
.bloc-content .content img { max-width:100%; }

.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;}

.bloc-counter .digi-counter.bar .backBar {background: #AAA;}
.bloc-counter .digi-counter.bar .backBar .counterBar{background: #FA2;padding-top: 10px;}

.buttons { display: flex; flex-wrap: wrap; justify-content: end; margin-top:20px; }

.buttons.align-center {justify-content: center;}
.buttons a {
	border-radius: 5px;
	height: 50px;
	margin: 5px;
	padding: 0 10px;
	transition: all 0.3s;
	line-height: 50px;
}
.buttons a:hover {background: #000;}
.buttons span { vertical-align: middle;}

.modal .struct-blocs .buttons {padding:20px;}

/* 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: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 { display:none; }
.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 1vw; 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 {
	display: block;
	margin: auto;
	object-fit: cover;
	max-height: 300px;
	border-radius: 100%;
	min-height: 220px;
	max-width: 100%;
}
.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; margin: 6vh;}
.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
---------------------------------------------------------------------- */
.home-slider { padding:10px 0px; }
.home-concept { padding:0; position:relative; }

.home-concept > .internalPage { position:relative; z-index:10; }
.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;
}



/* 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 {font-size: 50px; line-height: unset;}
.bloc-countdown h2,
.bloc-countdown strong {display: block; text-align: center; width: 100%;}
.bloc-countdown h2 {}
.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;
	padding-top: 5px;
	text-align: center;
}

.bloc-countdown.wzcircle.wzbg .details {background-color: rgba(0, 0, 0, 0.5);}
.bloc-countdown.wzcircle .details {padding: 10px 10px 20vh 10px;}
.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: 2vh 2vw; display:flex; flex-direction: column; transition: all .5s ease;}
.bloc-blurb figure {width:100%; padding:2.8vh 0; text-align: center; align-self: center; transition: all .5s ease;}
.bloc-blurb figure img {max-width: 100%; height:200px;}
.bloc-blurb figure img.with-border {width:100%; object-fit: cover; border: 4px solid; }
.bloc-blurb figure i {font-size:40px; backgroun-color:#f1f1f1; width:80px; text-align:center;}
.bloc-blurb > div {padding:16px; text-align: center; background:var(--color-blue); border:10px solid #000; color:#fff; max-width:100%;  align-self: center; height:100%; width:100%}
.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: center;}
.bloc-blurb.align-start figure:empty { display:none; }
.bloc-blurb.align-start > div > h2 {text-align: center; padding-bottom:20px; position:relative; margin-bottom:35px; color:var(--color-yellow); }
.bloc-blurb.align-start > div > h2:after { content:''; display:block; width:100px; height:10px; background-color:var(--color-yellow); left:50%; margin-left:-50px; bottom:-10px; position:absolute; }
.bloc-blurb.align-end figure {text-align: center;}
.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; margin: auto;}

.bloc-blurb.pos-left figure i {margin-right: 2.8vh;}
.bloc-blurb.pos-right figure i {margin-left: 2.8vh;}

.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
---------------------------------------------------------------------- */
.bloc-collapse {margin:0px;}
.bloc-collapse > h2 {}
.bloc-collapse > ul {}
.bloc-collapse > ul > li {background: #fff; margin:10px 0; padding:20px 0;}
.bloc-collapse > ul > li > label {font-size:24px; display: block; border-bottom: 4px solid; padding-bottom: 2vh;}
.bloc-collapse > ul > li > label:hover {color: rgba(0, 0, 0, 0.5);}
.bloc-collapse > ul > .on > label {color: rgba(0, 0, 0, 0.5);}
.bloc-collapse > ul > li > article {display:none;}


/* 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%; }

.icon { font:normal normal normal 14px/1 FontAwesome !important; }

/* Back to top
---------------------------------------------------------------------- */
.back-to-top {
	border: 1px solid rgba(0, 0, 0, 1);
	border-radius: 100%;
	bottom: 90px;
	cursor: pointer;
	display: block;
	overflow: hidden;
	padding: 0;
	position: fixed;
	right: 15px;
	z-index: 500;
	opacity: 0;
	transition: opacity 1s ease;
	background-color:#FFF;
}
.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 > .fa-share-alt {display:none;}
.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.lateral h2 {display:none;}


.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
---------------------------------------------------------------------- */
/* Programme - classique
---------------------------------------------------------------------- */
.bloc-program > h2 {
    font-size: 36px;
    letter-spacing: 1px;
    margin-top: 20px;
    background: #3d78bc;
    padding: 15px 20px;
    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 { border-bottom:1px solid #000; border-radius:0; }
.bloc-program .activity > div {display:flex; gap:30px; }
.bloc-program .activity > div > figure { max-width: 200px; align-self: stretch; background-color:#FFF; display:flex; }
.bloc-program .activity > div > figure img {max-width: 100%; object-fit:contain; }
.bloc-program .activity > div > div {flex:1; padding:0 20px; }
.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:20px auto; margin-bottom:55px;}

.bloc-program.timeline > .chapo {
	padding: 10px;
	text-align: center;
}
.bloc-program.timeline > h2 { font-size:22px; font-weight:bold; text-align: center; padding:0px; padding-bottom:20px; color:#000; line-height:normal; letter-spacing:0; background:none; /*width:calc(75% - 50px); margin-left: calc(25% + 20px)*/}
.bloc-program.timeline > ul {margin: 30px 15px 0 15px; position: relative;}
/*.bloc-program.timeline > ul > li::before{
    content: "";
	background-color:#000;
    border-radius: 5px;
    margin-left: -10px;
    position: absolute;
    top: 50%;
    height:calc(100% + 20px);
    left: 20%;
    width: 10px;
}*/
.bloc-program.timeline > ul::before{
    content: "";
	background-color:#000;
    border-radius: 5px;
    margin-left: -10px;
    position: absolute;
    height:calc(100% + 20px);
    left: 20%;
    width: 10px;
	display:none;
}
.bloc-program.timeline > ul > li:first-child::before,
.bloc-program.timeline > ul > li:last-child::before
{
    content: "";
	background-color:#FFF;
    border-radius: 5px;
    margin-left: -10px;
    position: absolute;
    top: 0;
    height:50%;
    left: calc(20% - 2px);
    width: 15px;
	display:none;
}
.bloc-program.timeline > ul > li:last-child::before { top:50%; height:calc(50% + 30px); }

.bloc-program.timeline > ul li {position: relative; }
.bloc-program.timeline time {
    display: block;
    position: static;
    font-size: 20px;
    text-align: center;
	height: 40px;
	flex-direction: column;
	justify-content: center;
}

.bloc-program.timeline time span.location {font-size: 1.5rem; min-height: 10px; display: block;}
.bloc-program.timeline span.title{
 	color:#000;
 	font-size: 2.0rem;
	font-weight: normal;
	text-transform:uppercase;
}
.bloc-program.timeline .break {background-color: transparent; padding: 0;}
.bloc-program.timeline .break::after {content:none;}
.bloc-program.timeline .break span.title{
	font-size: 14px;
	font-style: italic;
	line-height: 20px;
	color: #ccc;
	font-weight: 100;
	letter-spacing: 2px;
	margin: 2vh 0px 8px 0px;
	padding: 0 0 4px 0;
}
.bloc-program.timeline .break .content{color:#414453;}
.bloc-program.timeline span.title + .content { padding-top: 10px; margin-top:3px; color:#000; text-align:left; font-size:14px; }
.bloc-program.timeline span.title + .content p { text-align:left; font-size:14px; }
.bloc-program.timeline .activity {
	min-height: 50px;
	line-height: unset;
	background-color: #FFF;
	border-radius: 0px;
	color: #FFFFFF;
	margin: 0px 10px 35px;
	padding-bottom:20px;
	position: relative;
	overflow:hidden;
}

.bloc-program.timeline .bullet {
	background-color: var(--color-green);
	color: var(--main-color-dark-2);
	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;
	top: calc(50% - 20px);
	display:none;
}

.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;
	display:none;
}
.bloc-program.timeline .bullet.fa::before{color:#FFFFFF;}



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




/* Liste de Participants
---------------------------------------------------------------------- */
.event-attendees ul {display: flex;	justify-content: center; flex-wrap: wrap;}
.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; min-height: 240px;}
.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;}
.bloc-hotel aside .digi-gallery .thumbs {height: 50px; position: absolute; bottom: 10px; z-index: 10;}
.bloc-hotel aside .digi-gallery .thumbs li {max-width: 70px; margin-left: 10px; border:2px solid rgba(100,100,100,0.5);}
.bloc-hotel aside .digi-gallery .thumbs li.select::after {content:none;}

.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;}

.exhibitor-animation {  }
.exhibitor-presentation { padding:25px 0px; }
.editorWrapper { background-image:url(/img/home-concept-bg3.svg); background-size:auto; background-position:bottom center; background-repeat:no-repeat; background-position-y:calc(100% + 50px); }
.exhibitor-presentation .editorContent, .exhibitor-presentation .editorContent p { font-size:14px; }
.exhibitor-back { padding:45px 0px; text-align:center; }
.exhibitor-presentation .ct { column-count:2; column-gap:30px; max-width:800px; margin-left:auto; margin-right:auto; }
.exhibitor-animation h2, .exhibitor-presentation h2 { color:#000; text-transform:uppercase; font-size: 18px;
    line-height: 28px;
    padding: 0px 40px 10px 40px;
    margin-left: auto;
    margin-right: auto;
    box-sizing: border-box;
    font-weight: none;
    font-family: 'Bagoss';
    position: relative;
    margin-bottom: 30px; font-weight:normal;}
.exhibitor-animation h2, .exhibitor-animation h3 { text-align:center; font-size: 18px;
    line-height: 28px;
    padding: 0px 40px 10px 40px;
    margin-left: auto;
    margin-right: auto;
    box-sizing: border-box;
    font-weight: none;
    font-family: 'Bagoss';
    position: relative;
    margin-bottom: 30px;font-weight:normal; }


.exhibitor-animation h2:after, .exhibitor-presentation h2:after, .exhibitor-animation h3:after {
    content: '';
    height: 1px;
    width: 140px;
    background-color: #000;
    position: absolute;
    bottom: 0;
    left: 50%;
    margin-left: -70px;
}
.exhibitor-presentation .video { padding:55px 0px 25px 0px; }
.exhibitor-presentation .bloc-video { max-width:750px; margin:0px auto; }
.exhibitor-presentation .bloc-video .video-container { position: relative;padding-bottom: 56.25%;height: 0; }
.exhibitor-presentation .bloc-video .video-container iframe { position: absolute;top: 0;left: 0;width: 100%;height: 100%; }
.exhibitor-galery { padding:0px 0px; text-align:center; position:relative; }

/*
.exhibitor-galery::before { content:''; position:absolute; top:0px; left:0px; height:100%; width:calc(50% - 320px); background-image:url(/img/bg-figures-1-2024.gif); background-repeat:repeat-y; background-position:top right; }
.exhibitor-galery::after { content:''; position:absolute; top:0px; right:0px; height:100%; width:calc(50% - 320px); background-image:url(/img/bg-figures-1-2024.gif); background-repeat:repeat-y; background-position:top left; }
*/

.exhibitor-galery .image img { display:block; border-bottom:0px; margin:0px auto; }
.exhibitor-galery > div > .image:first-child img { border-top:0px; }



/* Liste d'Exposants
---------------------------------------------------------------------- */
.exhibitorsPage { 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, .bloc-conference {padding:20px 10px; max-width: 300px; text-align: center; display: inline-block; width: 200px;  height: 200px; display: inline-flex; flex-direction: column; justify-content: space-between;}
.bloc-sponsor figure {max-width: 200px; height: 200px; margin:0 auto; padding:0px;}
.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; max-width: 200px; max-height: 200px;}
.bloc-sponsor > div {padding-top:10px; text-align: center;}
.bloc-sponsor > div .cpy {font-size:16px; display: block; text-align: center; font-family:'Bagoss'; opacity: 0; transition: opacity 0.3s ease;}
.bloc-sponsor:hover > div .cpy {opacity: 1;}
.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;
}

.bloc-sponsors {display: block; padding:20px; padding-bottom:45px;}
.bloc-sponsors > div {display: flex; flex-wrap: wrap; justify-content: center; align-items: center;}
.bloc-sponsors .bloc-sponsor {margin: 0 10px; position: relative; top: 30px; scroll-behavior: smooth;}
.bloc-sponsors .bloc-sponsor:hover {transform:  translateY(-30px);transition: all 0.5s ease;}
.bloc-sponsor::after { content:''; display:block; position:absolute; width:49px; height:24px; background-image:url(/img/ico-company-2025.svg); background-size:contain; background-position:center center; background-repeat:no-repeat; top:5%; right:calc(50% - 18px); transition:1.5s; }
.bloc-sponsor-school::after { content:''; display:block; position:absolute; width:49px; height:24px; background-size:contain; background-position:center center; background-repeat:no-repeat; top:-5px; right:calc(50% - 18px); transition:1.5s; background-image:url(/img/ico-school-2025.svg); }
.bloc-sponsor-other::after { background-image:url(/img/ico-school-2025.svg); }
.bloc-sponsor:hover::after { transform:rotate(360deg); }

.bloc-conferences { display:flex; flex-direction: row; flex-wrap:wrap; width:100%; align-items:center; flex }
.bloc-conference { flex:1; }
.bloc-conference h3 { padding-bottom:10px; margin-bottom:10px; }

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



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

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

.digiForm {}
.digiForm div {display: inline-block; vertical-align: middle;}

.digiForm article {margin:16px 10px;}
.actions { text-align:center; }
.formTxt { text-align:center; font-size:14px; }
.digiForm article > label{width:30%; text-align: right; padding-right:5px; }
.digiForm article label  {font-size: 15px; display: inline-block; vertical-align: middle;  color:#000;}
.page-form .digiForm article > div { width:60%; font-size: 16px; text-align: left; display: inline-block;}
.digiForm .grp_group_1 .formRadio ul li {width:100%; }
.page-form .digiForm .grp_group_1 article > div { width:100%; }
.digiForm article > div
.digiForm article.formTxt {font-size:13px; line-height: 14px; margin-left: 30%; max-width: 700px; text-align: justify;}

.form-top .digiForm {max-width:500px; margin:0px auto; }
.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; line-height:1;}
.form-top .digiForm article.formTxt {margin-left:0; max-width: none;}

.digiForm .form-title {
	line-height: 24px;
	width: 100%;
	color:#000;
	text-align: center;
	font-size: 18px;
	margin: 0px;
	padding: 15px 0px 15px 0px;
	font-weight: bold;
	display: block;
	letter-spacing:0px;
	font-family:'Bagoss';
	text-transform:uppercase;
	position:relative;
}
.digiForm .form-title:after {
	content: '';
    height: 1px;
    width: 140px;
    background-color: #AAA;
    position: absolute;
    bottom: 0;
    left: 50%;
    margin-left: -70px;
}
.digiForm section {margin:0 0; padding:0px 45px;border-radius:0; padding-bottom:30px; border-bottom:1px solid #AAA; }
.digiForm section:last-child { margin-bottom:30px; }
.digiForm section > section {margin:0; padding:0px; border:0px; }
.digiForm section > section .form-title { padding:0px; display:none; }
.digiForm .invisible div {border: none; padding: 0; margin: 0;}

.digiForm article div textarea { width: 100%; min-height: 120px;}

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

.page-form { background-position-y:-55px; background-repeat:no-repeat;}

.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; }
.digiForm .grp_group_1 label { width:100%; text-align:center; margin-bottom:35px; }
.digiForm .grp_group_1 label:empty { display:none; }
.digiForm .grp_group_1 article.choicesOnePerLine ul { display:flex; flex-wrap:wrap; flex-direction:row; }
.digiForm .grp_group_1 article.choicesOnePerLine ul li {  padding-right:0px; text-align:center; flex:0 0 calc(50% - 20px); margin:10px; }
/* .digiForm .grp_group_1 article.choicesOnePerLine ul li:last-child { flex:0 0 calc(100% - 20px); margin:10px; } */

.digiForm .grp_group_1 article.choicesOnePerLine ul li:nth-child(-n+4) { order:2; }

.digiForm .grp_group_1 article.choicesOnePerLine div { max-width:100%; width:100%;  }
.digiForm .grp_group_1 .formRadio ul li input { display:none; }
.digiForm .grp_group_1 .formRadio ul li label { border:1px solid #AAA; text-align: left; font-size:15px;color:#000000; background-color:#FFF; display:inline-block; width:100%; padding:10px 2px 10px 20px; margin-bottom:7px; position:relative; font-family:'Bagoss'; transition:0.3s; text-transform:uppercase; border-radius:5px; }
.digiForm[data-codeform="register2025_scolaire"] .grp_group_1 .formRadio ul li:nth-child(-n+6) label { background-color:var(--color-blue); }
.digiForm[data-codeform="register2025_scolaire"] .grp_group_1 .formRadio ul li:nth-child(-n+6) label { background-color:var(--color-pink); }
.digiForm[data-codeform="register2025_scolaire"] .grp_group_1 .formRadio ul li { width:100%; }

.digiForm[data-codeform="register2025_grandpublic"] .grp_group_1 .formRadio ul li:nth-child(-n+3) label { /* background-color:var(--color-blue); */ }
.digiForm[data-codeform="register2025_grandpublic"] .grp_group_1 .formRadio ul li:nth-child(-n+3) label { /* background-color:var(--color-pink); */ }


.digiForm .grp_group_1 .formRadio ul li:last-child { display:none; }
.digiForm .grp_group_1 .formRadio.error ul li label { border-color:var(--color-fushia); }
.digiForm .grp_group_1 .formRadio ul li input:checked + label { background-color:var(--color-green); color:#FFF; border-color:#FFFFFF; }
.digiForm .grp_group_1 .formRadio ul li input:checked + label:after {
	content: "\f00c";
	text-align:center;
	font-size:25px;
	color:var(--color-green);
	border:1px solid var(--color-green);;
	font-family: FontAwesome;
	position:absolute;
	right:-15px;
	top:7px;
	background-color:#FFF;
	padding-top:12px;
	box-sizing:border-box;
	width:45px;
	height: 45px;
	border-radius:30px;
	z-index:30;
}
.digiForm .grp_group_1 .formRadio .conf { margin-left:10px; background-color:#EEE; border-radius:5px; padding:9px 10px; color:#000; margin-bottom:7px; }
.digiForm .grp_group_1 .formRadio .conf h3 { font-size:16px; color:#000; margin:0; }
.digiForm .grp_group_1 .formTxt  {
	margin-left:0px;
	border:10px solid  #FFF;
	background-color:var(--color-green);
	width:calc(100% - 40px);
	max-width:none;
	color:#000;
	margin:20px;
	text-align:left;
	padding:20px;
	border-radius:30px;
	word-wrap:break-word;
	display:inline-block;
}
.digiForm .grp_group_1 .formTxt ul, .digiForm .grp_group_1 .formTxt li, .digiForm .grp_group_1 .formTxt a { font-size:16px; line-height:auto; }
.digiForm .grp_group_1 .formTxt ul { padding-left:20px; margin-left:20px; }
.digiForm .grp_group_1 .formTxt ul li { padding:5px 5px 5px 5px; list-style-type:square; }
.digiForm .grp_group_1 .formTxt ul li a { color:#FFF; }
.page-form form {width: 940px; margin: 0 auto; border-bottom:none; min-height: 100vh;}
.page-form h1 {
	color: #000000;;
	width: 940px;
	margin: 0 auto;
	padding: 0.5em;
	font-size: 30px;
	line-height: 40px;
	font-weight: bold;
	margin-bottom: 0.75em;
	}
.page-form .formOk { max-width: 940px; margin: 0 auto;}
.page-form .formOk p { text-align: center; }

.digiForm .grp_group_1 .formTxt strong {font-size: 16px;}
.digiForm .grp_group_1 .formTxt a {font-size: 16px; color:#fff; overflow-wrap: break-word;
	word-wrap: break-word;
	-ms-word-break: break-all;
	word-break: break-all;
	word-break: break-word;
}
/* Formulaire - Errors
---------------------------------------------------------------------- */
form article.error label { color:var(--color-fushia);}
form article.error input, form article.error select { border-color:var(--color-fushia); color:var(--color-fushia); }

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 { text-align:center; }
.modAccompany h3 { text-align:center; font-weight:bold; color:#000; margin-bottom:15px; }
.modAccompany .tpl {display:none !important;}
.modAccompany .accForm {
	margin-bottom: 0px;
	padding-bottom: 8px;
	display: block;
	width: 100%;
}
.modAccompany .accForm article{
	display:flex;
	flex:2;
	margin:5px 0;
	align-items:center;
}
.modAccompany .accForm article label { min-width:none; }
.modAccompany .accForm article > div {  }
.modAccompany .accForm article > div input { width:100%; min-width:190px; border:5px solid #000; }
.modAccompany .accForm .removeAcc { font-style:normal; cursor:pointer; }
.page-form .digiForm .modAccompany .accForm { width:100%; display:flex; justify-content:center; align-items:center; margin-bottom:0; }

.modAccompany .ccForm .digiForm article

/* Formulaire - Autres éléments généraux
---------------------------------------------------------------------- */
div.actions {padding:8px; display: block; text-align: center; padding-bottom:50px}
.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 {}
.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;}



/* Date Picker
---------------------------------------------------------------------- */
.date-Picker {
	display: none;
	z-index:9100;
	position:absolute;
	top:0;
	left:120px;
	background: #ddd;
	border-radius:4px;
	box-shadow: 0px 0px 6px #aaa;
}
.date-Picker header {
	margin:2px;
	border-radius: 2px;
	background: #fff;
	color:#ddd;
	font-size:0px;
	text-align: center;
	font-weight: bold;
}
.date-Picker header span {
	width:15%;
	font-size:18px;
	color:#aaa;
	margin-top:-3px;
	display: inline-block;
	cursor: pointer;
}
.date-Picker header span.t {
	width:70%;
	font-size:12px;
	padding-top: 7px;
	vertical-align: top;
}
.date-Picker>div.main {
	position:relative;
	margin:2px;
	padding:3px;
	background: #fff;
	border-radius: 2px;
	text-align: center;
}
.date-Picker>div.main>table>tbody>tr>td {
	vertical-align: top;
	border-left:1px solid #ddd;
	padding-left: 10px;
	padding-right: 10px;

}
.date-Picker>div.main>table>tbody>tr>td:first-child {
	padding-left:0px;
	border: none;
}
.date-Picker>div.main>table>tbody>tr>td:last-child {
	padding-right:0px;
}
.date-Picker>div.main>table tr>td>table {
	padding:5px;
	background: #fff;
	font-size:12px;
	border-spacing: 0;
	border-collapse: collapse;
}
.date-Picker table tr>td table thead tr td{
	border-bottom: 1px solid #ddd;
}
.date-Picker table tr>td table thead td {
	color:#38a;
	font-weight: bold;
	padding:6px;
}
.date-Picker table tr>td table tbody td {
	color:#38a;
	padding:6px;
	cursor: pointer;
}
.date-Picker table tr > td table tbody td.p {
	color:#ddd;
}

.date-Picker table tr > td tbody.months td {
	padding:20px 6px;
}

.d-picker table tr > td table tbody td:hover,
.d-picker table tr > td table tbody td.select {
	color:#fff;
	background:#38a;
	border-radius: 3px;
}

.date-Picker > div.time {
	background: #fff;
	text-align: right;
	position:relative;
}
.date-Picker > div.main::after,
.date-Picker > div.time::after {
	content:"\f017"; font-family: FontAwesome;
	font-size:20px;
	top:0; right:-32px; height:100%; width:30px;
	border-radius: 0 4px 4px 0; box-shadow: 2px 0 6px #aaa;
	display:flex; position:absolute; background:#fff;
	flex-direction:column;
	justify-content:center;
	text-align: center;
	color:#999;
}
.date-Picker > div.main::after {
	content:"\f073";
}

.date-Picker > div.time div.time{
	font-weight: bold;
	text-align: center;
	padding:3px;
	cursor: pointer;
	border:#eee 1px solid;
}
.date-Picker > div.time div.time span {text-align: center; font-size:15px; font-weight: bold; padding-top:0; display: inline-block;}
.date-Picker > div.time div.time button {margin-left:10px; display: inline-block; width:30px; }
.date-Picker div.minutes {display: none;}
.date-Picker div.time li {
	width: 16.5%;
	text-align: center;
	font-size:11px;
	display: inline-block;
	padding:2px 0;
	cursor: pointer;
}
.date-Picker div.time li.select,
.date-Picker div.time li:hover {
	color:#fff;
	background:#38a;
	border-radius: 3px;
}
.date-Picker div.time i {
	font-size:14px;
	padding:2px 5px;
	cursor: pointer;
}



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

/* Bloc Download */
figure.bloc-download i {font-size:50px; color:#000; padding:15px; margin:auto;}
figure.bloc-download figcaption {text-align:center; padding: 15px 0; font-size: 16px; color: #212221;}
figure.bloc-download {max-width: 150px; margin: 15px; padding: 15px; background: #f7f7f7; min-height:160px}
figure.bloc-download div {display:flex;}
body > main > section.download {margin-top: 0;}
body > main section.downloadfile {max-width: 224px;}

/* footer */
body > footer {background:#000; color:#fff; border-top:10px solid #000; border-bottom:10px solid #000; align-items:center; }
body > footer a {color: #fff; text-decoration: none; transition: 0.1s; font-size:15px; font-family:'Bagoss';}
body > footer a:hover {color: #fff; text-decoration: underline; transition: 0.1s;}
footer .menuFooter{ width: 100%; max-width:1150px; margin: 0 auto; padding: 0 10px; display:flex; flex-wrap :wrap; align-items:center; }
footer .menuFooter::before,
footer .menuFooter::after {content: '.'; display: block; overflow: hidden; visibility: hidden; font-size: 0; line-height: 0; width: 0; height: 0; clear: both;}
footer .sousMenuFooter{display: inline; margin-left: 12px; margin-right: 12px; width: auto;}
footer .sousMenuFooter:first-child { margin-left:0px; }
footer .sousMenuFooter:last-child { margin-right:0px; }
footer .sousMenuFooter h1{margin-top: 0; color: #fff; font-size:14px; padding:0; text-align: left; margin:0px;}
footer .sousMenuFooter .footerlist > li{display: block; margin-bottom: 4px; padding-top: 4px; border-top: 1px dotted #214767; font-size: 13px; line-height: 16px;}
footer .sousMenuFooter .footerlist > li a {color: #8c9da7;}
footer .internalPage { display:flex; align-items:center; }
footer .wrapAlone { flex:2; }
ul.wrapAlone{padding-left: 45px;}
.footerLogo { flex:2; text-align:center; font-size:14px; color:#FFF; display: flex; align-items: center; justify-content: end;  }
.footerLogo.footerLogo1 { flex:1; }
.footerLogo img {  }
.footerLogo.footerLogo2 img { margin-left:10px; }


/* icon */
[class^="icon-"], [class*=" icon-"] {
    display: inline-block;
    width: 24px;
    height: 24px;
    margin-top: 1px;
    *margin-right: .3em;
    line-height: 24px;
    vertical-align: text-top;
    background-image: url("/img/social/icons.png");
    background-position: 0 0;
    background-repeat: no-repeat;
}

.icon-twitter {
    background-position: 0 0;
}
.icon-facebook {
    background-position: -24px 0;
}
.icon-mail {
    background-position: -48px 0;
}

#navIcons li {
    padding-left: 10px;
}

#navIcons li {
    display: block;
    float: left;
    padding: 0 0 0 10px;
}

body > header.fullpage nav.mainNav > ul#navIcons {
    padding: 0;
    top: 29px;
    position: absolute;
    right: 10px;
}

/*error */
ul.error.error-msg{ border:2px solid var(--color-fushia); background-color:transparent; width: 90%; margin: 0 auto; color:var(--color-fushia); text-align: center; padding-top:15px; padding-bottom:15px; font-size:15px; font-family:'Bagoss'; line-height:22px; }
ul.error.error-msg li { text-align:center; }
.blur { display:none; position: fixed; left: 0; top: 0; bottom: 0; right: 0; background-color: #000; opacity: 0.2; z-index: 200; }

.homebanner { height:auto; background-color:#FFF; padding-top:110px; padding-bottom:110px; position:relative; background-image:url(/img/home-header-2025.svg); background-position:center center; background-size:cover; position:relative; top:-40px; margin-bottom:-40px; }
.homebanner-container1 { width:500px; max-width:100%; margin:0px auto;  border-radius:30px;  padding:45px 45px; position:relative; z-index:10; }
.homebanner-container1 h1, .home-content-container h1 { color:#000000;  text-transform:uppercase; font-variant:normal; margin:0px; padding:0px 0px 20px 0px; font-size:32px; line-height:35px; font-family:'Bagoss'; font-weight:normal; }
.homebanner-content { padding-bottom:25px; }
.homebanner-content p { padding-bottom:10px; }

.home-slider .digi-slideshow .items li { padding-left:10px; padding-right:10px; padding-top:30px; vertical-align: auto; display:inline-flex; flex-direction: column; justify-content: center; }
.home-slider .digi-slideshow .items li img { min-width:132px; max-width:132px; height:auto; }

.home-slider .digi-slideshow .items { height:200px !important; width:calc(100% - 200px) !important; margin-left:auto; margin-right:auto;   }
.home-slider .digi-slideshow { height: auto !important;  }
.home-slider .digi-slideshow .fleche::before {color:#000000 !important; font-size:80px !important; }

.home-slider .digi-slideshow .fleche { background:none !important; width:100px !important; }
.home-slider .digi-slideshow .fleche:hover { background:none !important; }


.home-content-containers { display:flex; flex-direction:column; position:relative; box-sizing:border-box; }
.home-content-container { flex:1; padding:65px; box-sizing:border-box; background-color:#FFF; margin:0 0; text-align:center; }

.home-content-containers .home-content-container:nth-child(1) { background-image:url(/img/home-concept-bg1.svg); background-size: cover; }
.home-content-containers .home-content-container:nth-child(2) { background-color:#F8F7F4; }
.home-content-containers .home-content-container:nth-child(3) { background-image:url(/img/home-concept-bg3.svg); background-size:auto; background-position:bottom center; background-repeat:no-repeat; }

.home-content-container > * { max-width:600px; margin-left:auto; margin-right:auto; }
.home-content-container h1 { font-size:18px; line-height:28px; padding:0px 40px 10px 40px; margin-left:auto; margin-right:auto; box-sizing:border-box; font-weight:none; font-family:'Bagoss'; position:relative; margin-bottom:30px; }
.home-content-container h1:after { content:''; height:1px; width:140px; background-color:#000; position:absolute; bottom:0; left:50%; margin-left:-70px; }
.home-content-container div { text-align:center; line-height:20px; }
.home-content-container div p { text-align:left; }
.home-content-container figure { margin:-35px35px 20px -35px; }
.home-content-container img { max-width:100%; width:100%; }

.home-concept-illusts { position:absolute; height:100%; width:100%; top:0px; left:0px; pointer-events:none; }

.pageTitleHeader { display:flex; align-items:center; justify-content:center; width:100%; background-color:#FFF; position:relative; padding:65px 0px; background-size:cover; min-height:148px; background-image:url(/img/home-header-2025.svg); background-position:top center; background-position-y:-50px; }
.pageTitleHeader h1 { color:#000; font-size:35px; line-height:36px; margin:0px; padding:0px; z-index:10; position:relative; text-transform:uppercase; }
.pageTitleHeaderExposantDetail { background-image:url(/img/exposants-details-header-2025.svg); background-position:center center; }
.pageTitleHeaderExposantDetail h1 { padding:0px 0px 20px 0px; }
.pageTitleHeaderExposantDetail h1:empty {padding-bottom:0;}
.pageTitleHeaderExposantDetail .logo {
	text-align:center;
	padding:0px;
	position: relative;
	z-index:2;

}
.pageTitleHeaderExposantDetail .logo figure { max-width:250px; display:inline-flex; flex-direction: column; justify-content: center; text-align: center; width:250px; height:200px; background: #fff; overflow: hidden;}
.pageTitleHeaderExposantDetail .logo img {
	max-height: 100%;
	max-width: 100%;
	object-fit: contain;
/*	border-radius: 100%;*/
}

/*
.pageTitleHeaderExposantDetail:before { content:'';  display:block; position:absolute; top:0px; left:0px; width:40%; background-image:url(/img/header-large-illustrations-2024-2.gif?v=2); height:100%; z-index:0; background-size:cover; background-repeat:no-repeat; background-position:center right; }
.pageTitleHeaderExposantDetail:after { content:''; display:block; position:absolute; top:0px; right:0px; width:40%; background-image:url(/img/header-large-illustrations-2024-2.gif?v=2); height:100%; z-index:0; background-size:cover; background-repeat:no-repeat; background-position:center right; transform:scaleX(-1);}
*/

@media screen and (max-width: 1000px){
	.pageTitleHeader:not(.pageTitleHeaderExposantDetail):before, .pageTitleHeader:not(.pageTitleHeaderExposantDetail):after { width:30%;  }
	.pageTitleHeaderExposantDetail:before, .pageTitleHeaderExposantDetail:after { width:35%; }
}

@media screen and (max-width: 600px){
	.pageTitleHeader:not(.pageTitleHeaderExposantDetail):before, .pageTitleHeader:not(.pageTitleHeaderExposantDetail):after { display:none; }
	.pageTitleHeaderExposantDetail:before, .pageTitleHeaderExposantDetail:after { width:30%; }
}
.editorContent { padding-top:20px; padding-bottom:20px; }
.editorContent p { margin-bottom:25px; }
.editorContent iframe { max-width:100%; }
.editorContent img { max-width:100%; height:auto; }

nav.mainNav > div ul.menu:not(.responsiveNav) > li a.inscription { border:10px solid #000000; border-radius:30px; padding:7px 30px; background-color:#FFFFFF; }
nav.mainNav > div ul.menu:not(.responsiveNav) > li a.inscription:hover { background-color:transparent; color:#000000 !important; }

nav.mainNav > div ul.menu:not(.responsiveNav) > li a.webapp { border:10px solid #000000; border-radius:30px; padding:7px 30px; background-color:#000000; color:#FFFFFF !important; }
nav.mainNav > div ul.menu:not(.responsiveNav) > li:hover a.webapp { background-color:transparent; color:#000000 !important; }

nav.mainNav > div ul.menu:not(.responsiveNav) > li.logout i { font-size:25px; }

.ishidden { display:none !important; }

