/* Généré le 2026-11-05 depuis style.inc.php (P-04). Modifier CE fichier désormais. */
@font-face { font-family: 'Crimson Text'; src: url( '/images/Crimson_Text/CrimsonText-Roman.woff2' );font-display: swap; }
@font-face { font-family: 'Crimson-b'; src: url( '/images/Crimson_Text/CrimsonText-Bold.ttf' );font-display: swap; }
@font-face { font-family: 'Cabin'; src: url( '/images/Cabin/Cabin-Regular.woff2' );font-display: swap; }
@font-face { font-family: 'Cabin-b'; src: url( '/images/Cabin/Cabin-Bold.woff2' );font-display: swap; }
@font-face { font-family: 'Cabin-i'; src: url( '/images/Cabin/Cabin-Italic.ttf' );font-display: swap; }

/* FONTS SIZE */

html, body { margin:0px; padding:0px; box-sizing: border-box }
body { font-size:100%; font-family:Cabin; background:#fff; color:#4D4D4D }
body { font-size:1em; line-height:1.6 }
.ch { font-size:.8em }

h1, h2, h3, h4, .ache1 { margin:15px 0px; font-weight: 400; text-transform: none; font-family: 'Crimson Text', serif; line-height:1.2; }

h1, .ache1 { font-weight:normal; color:#212121; font-size:2.5em; text-align:left }
h2, h3 { font-weight:normal; font-size:1.9em; text-align:left; }
h4 { font-weight:normal; font-size:1.5em; font-family:Crimson-b }

p { margin:1em 0px }
p:last-of-type { margin:0px }

b { font-family:Cabin-b; font-weight:normal }

@media( max-width:1024px ) 
{ 
	body { font-size:.9em; line-height:1.3 }
	p { margin:0px 0px 1em 0px }
}

@media( max-width:600px ) 
{ 
	body { font-size:.8em; line-height:1.4 }
	h1, h2, h3, h4 { margin:15px 0px; line-height:1; }
	h1 { font-size:1.9em }
	h2, h3 { font-size:1.4em }
}
	
/* OVERALL STYLE */

* { box-sizing: border-box }

body { display:flex; flex-direction:column; }

input[ type=hidden ] { display:none; }
a, a img { outline-style:none; text-decoration:none; color:#3480E9 }
img, a img { border:0px; max-width:100% }

a[name] { display: block; position: relative; top:-120px; visibility: hidden; }

ul { padding-left: 20px; -webkit-padding-start: 20px }
li { margin-bottom:.5em; }

.btn, .im-top-home a { display: inline-block; padding: .4em 3em; font-size: 1.1em; color: #FFFFFF; text-transform: none; font-family:Cabin-b;
  background-color: #891011; -webkit-transition: .5s; -moz-transition: .5s; -o-transition: .5s; transition: .5s }
.btn:hover, a:hover .btn, .im-top-home a:hover { background-color: #1A1C3E; color: #FFFFFF }

hr { height:1px; border:0px; background:#ddd }
	
.desktop { display:block }
.mobile { display:none !important }


@media( max-width:600px ) 
{	
	img, a img { height:auto !important }
	.desktop { display:none !important } 
	.mobile { display:block !important } 
	ul { padding-left: 15px; -webkit-padding-start: 15px }
}

/* TOP */

#cale-haut { position:fixed; top:0px; display:block; width:100%; z-index:10;
	    background-color: #20234D; background-image:linear-gradient( to bottom, #191C3D, #323677 ); }
#haut { position:relative; float:left; width:100%; clear:both; z-index:10; color:#fff; padding:1.5em 0 53px 0;
	display:block; -webkit-transition: .5s; -moz-transition: .5s; -o-transition: .5s; transition: .5s }
#haut a { color:#fff; text-decoration:none }

#menu-burger { position:relative; float:left; width:10%; padding-top:15%; 
	background:  url( '/images/burger.png' ) no-repeat center center / 70% 70%; display:none }
#cale-logo { text-align:right; float:left; position:relative }	
#logo { position:relative; width:426px; height:66px; margin:5px 5%;
	background: transparent url( '/images/Logo2.png' ) no-repeat center center / 100% 100%; 
	-webkit-transition: .5s; -moz-transition: .5s; -o-transition: .5s; transition: .5s }
		
#call-us { position:relative; float:right; text-align:center; margin:0px 5%; line-height:1.2 }
#call-us .nb { font-size:2em }

.menu { width:100%; display:flex; position:fixed; float:left; top:102px; z-index:11; -webkit-transition:.5s; transition:.5s; }
.t960 { display:none !important }
.menu-bloc { position:relative; display:block; flex:1; text-align:center;  perspective:1000px; } 
.menu-bloc-plus { flex:1.5 !important }
.menu a, .div-top-menu { font-size:1.1em; text-align:center; padding:15px 0; color:#fff; display:block; width:100%;
	-webkit-transition: 1s; transition: 1s; line-height:1.2; 
	background: transparent linear-gradient( to bottom, #000 50%, #000 50% ) no-repeat 100% 100% / 100% 0% }
.menu a:hover, .div-top-menu:hover { background: transparent linear-gradient( to bottom, #000 50%, #000 50% ) no-repeat 0px 0px / 100% 200% }
.sous-menu { position:relative; width:100%; transform-style: preserve-3d;
	transform: rotateX( -90deg ); -webkit-transform: rotateX( -90deg ); transform-origin: 0 0;
	-webkit-transition: .5s; transition: .5s; display:none; opacity:0;
	background: transparent linear-gradient( to bottom, #000 50%, #000 50% ) no-repeat 0px 0px / 100% 100% }
.aff { transform: rotateX( 0deg ); -webkit-transform: rotateX( 0deg ); opacity:1 }
.sous-menu a { position:relative; display:block; text-align:left; font-size:.95em; padding:13px 10px; width:100%;
	opacity:0; -webkit-transition:0s; transition:0s }
.aff a { opacity:1 }
.sous-menu a:hover { background:none !important; background-color: #1A1C3E !important }

.reduced #haut { padding:0px 0 53px 0; !important }
.reduced #haut #logo { width:341px; height:53px; }
.reduced #haut #call-us { margin:5px 5%; line-height:1 }
.reduced .menu { top:65px }

@media( max-width:1024px ) 
{	
	.desktop   { display:none !important }
	.t960 { display:flex !important }
	.languages.desktop { display:block !important }
	#haut { padding:.5em 0 58px 0 }
	#logo { margin:0px 1%; width:341px; height:53px; }
	.reduced #haut { padding:0px 0 48px 0; !important }
	#haut #call-us, .reduced #haut #call-us { margin:3px 2%; line-height:1.3; font-size:1.1em }
	#haut #call-us .nb { font-size:1.3em }
	.menu { top:81px; margin-bottom:1% !important }
	.menu a, .div-top-menu { font-size:1em; padding:11px 0 }
	.sous-menu a { font-size:1em; padding:8px 6px }
}

@media( max-width:800px ) 
{	
	#haut { padding:.5em 0 60px 0 }
}

@media( max-width:600px ) 
{
	.desktop { display:block !important }
	.t960 { display:none !important }
	#haut, .reduced #haut { padding:0 0 0 0 }
	#cale-logo { float:right; margin-right:3% }	

	#logo, .reduced #haut #logo { margin:.5em 0px; width:233px; height:50px;
		background: transparent url( '/images/logo_mob.png' ) no-repeat center center / 100% 100%; }
	#haut #menu-burger { width:50px; padding-top:50px; background-size: 70% 70% }
	#haut #call-us, .reduced #haut #call-us  { clear:both; position:relative; text-align:center; width:234px; margin:0px 3% 5px 0px; 
		font-size:.6em; line-height:1.5; letter-spacing: 1.5px; float:right }
	#call-us .nb { display:block; font-size:2em !important }

	.menu { background-color:#891011; top: 50px; float:left; position:relative; display:none !important }
	.menu-bloc { position:relative; display:block; flex:none; float:left; text-align:left; width:100%; height:auto; 
		border-bottom: 2px solid #20234D } 
	.menu a, .div-top-menu { text-align:left; padding:10px 10px; font-size:1.5em }
	.sous-menu { position:relative; width:100%; transform: rotateX( 0deg ); -webkit-transform: rotateX( 0deg ); 
		-webkit-transition: 0s; transition: 0s; display:block; opacity:1; background:#20234D !important; padding:10px 0px }
	.sous-menu a { font-size:1.3em; padding:10px 30px; width:100%; opacity:1 }
}

/* BOTTOM */

#bottom { position:relative; display:block; width:100%; min-height:100px; clear:both; margin:0 auto; text-align:center; padding-bottom:50px; 
	background-color: #20234D; font-size:1em; border:1px solid #20234D; color:#fff; font-size:.9em; line-height:2.2 }
#bottom a { text-decoration:none; color:#D9D9D9; }
#bottom a:hover { color:#fff }
#bottom #logo { margin:3% auto }
#bottom #call-us { float:none; font-family:Crimson Text; font-size:1.5em; margin:1em auto; text-align:center }
#bottom #call-us .nb { display:inline-block; font-size:1em }
#bottom .ico { display:inline-block; width:35px; height:41px }
#bottom .fb { background-image:url( '/images/ico_facebook.jpg' ) }
#bottom .twt { background-image:url( '/images/ico_twitter.jpg' ) }
#bottom .gplus { background-image:url( '/images/ico_google_plus.jpg' ) }
#bottom .lin { background-image:url( '/images/ico_linked_in.jpg' ) }
#bottom .avvo { background-image:url( '/images/ico_avvo.jpg' ) }
#bottom .yelp { background-image:url( '/images/ico_yelp.jpg' ) }
#bottom .info { width:80%; margin:1em auto; line-height:1.3 }
#bottom .b-infos { position:relative; width:100%; float:left; margin:0px 0px 10px 0px; display:flex; flex-wrap: wrap; }
#bottom .b-infos p { flex:1; float:left; margin:0px }
#bottom .b-infos .large { position:relative; display:block; float:left; flex:none; width:100%; padding:5px; margin:0px; line-height:1.5 }

.languages { width:100%; position:fixed !important; bottom:0px !important; z-index:10;
	background-color: #891011; box-shadow: 0px 0px 10px #000 }
.languages .bloc { display:inline-block; float:left; text-align:center; border-right:1px solid #fff !important;
	font-weight:bold; text-shadow: 2px 2px 2px black; background-size:100% 100%; font-size:1.1em }
.ch .languages .bloc { font-size:1.25em }
.languages a { color:#fff }
.languages a:last-of-type .bloc { border-right:0px !important }

@media( max-width:1024px ) 
{	
	.languages .bloc { font-size:1em; padding:5px 1px }
}

@media( max-width:600px ) 
{
	#bottom .b-infos { display:block; line-height:1.5 } 
	#bottom .b-infos p { width:100%; padding:0px 5px 20px 5px }
	.languages { box-shadow: 0px 0px 10px #000 }
	.languages .bloc { position:relative; font-size:1.1em !important; border-right:1px solid #fff !important; padding:0px !important;
		background-position: center; background-repeat:no-repeat; background-size:cover; height:40px !important; letter-spacing: 1px; }
	.languages .bloc .in { position:relative; line-height:40px }
	.ch .languages .bloc { font-size:1.1em !important }
}

/* CONTENTS */

#all-glide { position:relative; width:100%; display:block; margin-top:110px }

#im-top { position:relative; display:block; float:left; color:#fff; background: url(/images/header_im.jpg) no-repeat 50% 53% / cover;
    text-align: center; padding: 4% 1% 4% 50%; width:100%; min-height:50vh }
#im-top .titre { color:#fff; text-align:center; font-size:3em; margin-bottom:15px; line-height:1 }
#im-top a { margin:5px; padding: .5em 3em }

#page { position:relative; width:100%; float:left; display:flex }
#content { flex:1; padding:1em 10% 2em 5%; word-break:break-word }
#side { display:block; width:500px; padding:.5em 2em }

.grey-frame { background-color: #DDDDDD; box-shadow: inset 0 0 10px #20234D; padding:20px; margin: 10px; color: #000000 }
.grey-frame h4 { text-align:center }
.grey-frame p:last-of-type { margin:1em 0px }
.grey-frame ul { -webkit-padding-start:20px }

#form-contact { width:100%; background-color:#000; color:#fff; text-align:center; padding: .5em 2em }
#form-contact h2 { text-align:center }
#form-contact input, #form-contact textarea { width: 100%; resize: none; outline: none; font-size: 1em; display: block;
  margin: .4em auto; overflow: auto; color: #666666; background-color: #FFFFFF; border: solid 1px #D4D4D4; font-family:Cabin }
#form-contact input { height: 55px; padding: 0 2% }
#form-contact  textarea { height: 118px; padding: 10px 2%}
#form-contact a { width:100%; margin-top:1em }

#how-right { width:100%; background-color:#000; color:#fff; text-align:center; margin: 20px 0px;
  padding: .5em 2em; background-color: #CCCCCC; }
#how-right h2 { text-align:center; color:#000 }
#how-right  a { width:100%; margin:2px; padding: 1.5em 1.7em; font-size:1em; line-height:1; text-align:left;
	background-image:url( /images/o_droit.png ); background-repeat:no-repeat; background-position: 95%; background-size:2.5%  }

.expand-link { cursor:pointer; padding-left:25px; font-size:1.1em; background-image:url( /images/deploy_arrow.png );
		background-repeat:no-repeat; background-size:13px; background-position:1px; margin-top:7px}
.expand-link-on { background-image:url( /images/deploy_arrow_on.png ); }
.expand-closed { display:none }
.expand-open {display:block; border:1px solid #000; padding:10px }

#cale-addthis { display:block; min-height:20px; position:relative; width:100%; text-align:right; margin:0px 0px 10px 3px; 
	padding-right:10px; line-height:1 }
.addthis-text { position:relative; float:left; display:inline-block  }
.addthis-box { display:inline-block; vertical-align:bottom }

@media( max-width:1200px ) 
{	
	#im-top { padding: 5% 1% 4% 50% }
	#im-top .titre { font-size:2.5em !important }
	#im-top a { padding: .4em 1em; min-width:170px }	
}
		
@media( max-width:1024px ) 
{	
	#all-glide { margin-top:76px }
	#im-top { min-height:10%  }
	#page { display:block }	
	#content { flex:none; padding:2em 5% 2em 5% }
	#side { width:100%; padding:2px 5% 20px 5% }
	#side { width:100% }
}

@media( max-width:800px ) 
{	
	#all-glide { margin-top:100px }
	#im-top { min-height:10%; background: url(/images/header_im_mob.jpg) no-repeat 10% 53% / cover;
		text-align:center; padding:5%; margin-right:0px }
	#im-top .titre { font-size:1.5em !important; margin:5px 0px; line-height:1.3 }
	#im-top a { padding:.7em; font-size:.85em; margin:5px; min-width:82px }
	#content { padding:0px 3% }
	.grey-frame { margin:10px 0px }
	.grey-frame ul { -webkit-padding-start:10px }
	#form-contact { padding: .5em 1em }
	#form-contact input, #form-contact  textarea { padding: 5px 2%; height:auto }
	#how-right { padding: .5em 1em; margin: 20px 0px 0px 0px }
	#how-right  a { padding: 1.2em 1.5em; font-size:1.2em;  }
	#cale-addthis { min-height:10px; text-align:right; margin:5px 0px 0px 0px; padding-right:5px; line-height:1.3 }
}

/* HOME */

.im-top-home { background:none !important; height:60vh !important;
	min-height:40vw !important; height:auto !important }
#d-conteneur1, #d-conteneur2 { position:absolute; display:block; top:0px; left:0px; z-index:5; width:100%; height:100%; 
	overflow:hidden !important }
#d-conteneur2 { z-index:6 }
.im-top-home .d-im { height:100%; transform:scale( 1.1, 1.1 );
	background-repeat:no-repeat; background-position:0px center; background-size:cover }
.im-top-home .aff { -webkit-transition:3s; transition:3s; transform:scale( 1.0, 1.0 ); }
.diapo-legende { position:absolute; top:0px; right:0px; width:80%; height:100%; text-align:right;
	opacity:0; margin-right:20% }
.diapo-legende h1 { text-align:right !important; padding:6% 1% 1% 0px !important; margin:0px !important; font-size:3em !important; color:#fff }
.diapo-legende h2 { text-align:right !important; padding:1% 1% 1% 20% !important; margin:0px !important; font-size:1.3em  !important }
.im-top-home a { margin:1em 1em 1em 1em !important }
.aff2 { -webkit-transition:2s; transition:2s; opacity:1 !important; margin-right:2% }
.no-click { z-index:4 !important } 

.home { background: url( /images/ContentBG.jpg ) 100% 100%; padding:2em; display:block !important }
.home #content { background:#891011; width:auto; max-width:1400px; margin:auto; box-shadow: 0px 0px 10px #333; padding:0px; 
	position:relative; display:block; float:left }
#lang-home { width:30%; position:relative !important; float:left; z-index:0;
	background-color: #891011; box-shadow:none; padding:1em  }
#lang-home h2 { color:#fff; text-align:center; padding:1em }
#lang-home .bloc { display:block !important; float:left; text-align:center; border-right:0px !important; border-bottom:1px solid #fff; padding:16px;
text-shadow: 2px 2px 2px black; background-size:100% 100%; font-size:1.1em; width:100% !important }
#lang-home .bloc .tri { display:block; width:8px; height:15px; float:right;
	background:url( /images/o_droit.png ) no-repeat 0 0 / cover }
.home #contenu { float:right; width:70%; padding:0px 2em 2em 2em; background-color:#fff }

#we-truly { width:100%; background-color:#20234D; clear:both; padding:3em 2em; color:#fff; position:relative; float:left }
#we-l { width:50%; text-align:center; float:left; font-size:1.1em; padding:3% }
#we-l h2 { font-size:2.6em; text-align:center }
#we-l .yl { display:block; background-color:#3E4393 }
#we-r { width:50%; float:left }
#we-r #form-contact { width:100%; background:transparent; padding:0px }
#we-r #form-contact h2 { text-align:center }
#we-r #form-contact input, #we-r #form-contact textarea { border:0px }
#we-r #form-contact input { height: 55px; padding: 0 2%; width:94%; margin:3% !important;  }
#we-r #form-contact  textarea { height:110px; width:94%; margin:3% 0px 3% 0px !important; }
#we-r #form-contact a { width:94%; margin:0px; min-height:55px; float:left }
#we-r .f50 { float:left; width:50% }

#testm { background-color:#f5f5f5; width:100%; padding:3em 0px; text-align:center; 
	font-family:'Crimson Text', Serif; line-height:1.2; position:relative; float:left }
#t-cache { position:relative; width:80%; float:left; overflow:hidden }
#t-slide { -webkit-transition:1s; transition:1s; }
.tm-one { float:left; padding:0px 1em }
#testm p { font-size:2.3em; line-height:1; font-style:italic }
#testm img { margin:1em }
#testm .signature { display:block; margin:2em; font-size:1.5em; font-style:italic }
#tm-prev, #tm-next { position:relative; float:left; width:10% }
#testm .btn { padding:1em 3em }

.home-2 { background: url( /images/Content2BG.jpg ) no-repeat scroll center; padding:2em; position:relative; float:left}
.home-2 #content { background:transparent; box-shadow:none }
.home-2 #contenu { float:right; width:100%; padding:2em; background-color:rgba( 255, 255, 255, 0.9 ); }
	
#h-blog { width:100%; background-color:#fff; padding:0px 2%; position:relative; float:left; text-align:center }
#h-blog h2 { text-align:center; padding:.5em; font-size:2.2em }
#h-blog .bloc { width:31.3%; float:left; height:300px; margin:1%; background-color:#E9E9E9; color:#212121; padding:2% }
#h-blog .bloc:hover { background-color:#D4D4D4; }
#h-blog h3 { font-size:1.3em; line-height:1.3 }
#h-blog .btn { padding:1em 3em; margin:1em }

@media( max-width:2024px ) 
{	




}

@media( max-width:600px ) 
{	
	.im-top-home { min-height:50vw !important; height:auto !important }
	.im-top-home .d-im { background-position:center center !important  }
	
	.diapo-legende { width:100%; height:100%; text-align:center; padding:2% 5%;
		opacity:0; margin-right:0px; background-color: rgba( 32, 35,77 ,0.6 ); }
  	.diapo-legende h1 { padding:1% 1% 1% 0px !important; text-align:center !important; line-height:1 !important; 
  		color:#fff; font-size:2em !important  }
	.diapo-legende h2 { padding:1% 1% 0px 0px !important; font-size:1em !important; text-align:center !important;  }
	.aff2 { -webkit-transition:2s; transition:2s; opacity:1 !important; margin-right:0px }

	.home { padding:1em }
	#lang-home { display:none  }
	.home #contenu { width:100%; padding:.5em }

	.home #cale-addthis { margin:0px 0px 5px 0px !important; padding-right:0px !important }

	#we-truly { padding:2em }

	#we-l { width:100%; font-size:1.1em; padding:3% }
	#we-l h2 { font-size:2em; line-height:1.3 }
	#we-r { width:100% }
	#we-r .f50 { width:100% }
	#we-r #form-contact input { padding:0 2%; width:100%; margin:2% 0px !important;  }
	#we-r #form-contact  textarea { width:100%; margin:0px 0px 2% 0px !important; }
	#we-r #form-contact a { width:100%; min-height:0px; padding:1em }

	#testm { background-color:#f5f5f5; width:100%; padding:1em 0px }
	#t-cache { position:relative; width:80%; float:left; overflow:hidden }
	.tm-one { float:left; padding:0px .5em }
	#testm p { font-size:1.3em }
	#testm img { margin:10px; width: 50px; height: auto;  }
	#testm .signature { margin:1em; font-size:1.1em }
	#testm .btn { paddinG:1em 3em }
	#testm a img { margin:0px; width:30px; height: auto }

	.home-2 { padding:0px }
	.home-2 img { max-width:30% !important; height:auto !important }

	#h-blog h2 { font-size:1.5em }
	#h-blog .bloc { width:96%; float:left; height:auto; margin:2%; padding:2% }
}

/* TESTIMONIALS, BLOG AND CONTACT */

.gmap { width:425px; height:350px }
.testimonials h1 { text-align:center; margin-bottom:5% }
.testimonials a { color:#4D4D4D }
.testimonials .stars { display:inline-block; height:20px; width:120px; background: url( /images/Reviews_Icons.png ) -7px -55px; margin-left:10px }
.testimonials .burg { display:inline-block; height:47px; width:48px; background: url( /images/burg_blog.jpg ); margin-left:20px; vertical-align:top }
.testimonials .bloc { margin:0px 0px 5% 5%; border:solid 3px #4D4D4D }
.testimonials h2, .blog h1 { background-color:#4D4D4D; color:#fff; padding:2% 4%; text-align:left; margin:0px }
.blog h1 { font-size:1.9em }
.testimonials .top { background-color:#4D4D4D; color:#fff; padding:2% 4%; text-align:left; margin:0px }
.testimonials .txt { padding:3% }
.testimonials .signature { background-color:#4D4D4D; color:#fff; padding:2%; text-align:right }

@media( max-width:1200px ) 
{ 
	.testimonials .bloc { margin:0px 0px 2% 0px; border:solid 2px #4D4D4D }
}

@media( max-width:600px ) 
{ 
	.gmap { width:100%; height:50% }
	.testimonials .bloc { margin:0px 0px 5% 0px; border:solid 1px #4D4D4D }
	.testimonials h2, .blog h1 { line-height:1.3; padding:2% }
	.blog h1 { font-size:1.4em }
}
