
/* > NORMALIZE
-------------------------------------------------------------------------------------------------------------------------------- */
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed, 
figure, figcaption, footer, header, hgroup, 
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
    margin: 0;
    padding: 0;
    border: 0;
    font-size: 100%;
    font: inherit;
}

/*--- RGPD ---*/
#tarteaucitronPercentage {
	height: 0;
}

/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section { display: block; }
body { line-height: 1; }

blockquote, q { quotes: none; }
blockquote:before, blockquote:after, 
q:before, q:after {
    content: '';
    content: none;
}
table {
    border-collapse: collapse;
    border-spacing: 0;
}

* {
	-webkit-box-sizing:border-box;
	-moz-box-sizing:border-box;
	-o-box-sizing:border-box;
	box-sizing:border-box;
}

ul { list-style: none; }
ul li { list-style:none }

a { color:inherit; text-decoration:none; }
a img { border:none; }
em { font-style:italic; }
strong { font-weight:700; }

/* hack placeholder */
::-webkit-input-placeholder { color:inherit; }
:-webkit-input-placeholder { color:inherit; }
::-moz-placeholder { color:inherit; opacity:1; }
:-ms-input-placeholder { color:inherit; }
input[placeholder] { color:inherit; }

/* > CLASS BLOCKS
-------------------------------------------------------------------------------------------------------------------------------- */
/* > Flux ---------------------------- */
.left { float:left; }
.right { float:right }
.clearleft { clear:left; }
.clearight { clear:right; }
.clear { display:block; clear: both; height: 0; }
.clearfix { display:block; }
.clearfix:after {
    content: ".";
    display: block;
    clear: both;
    visibility: hidden;
    line-height: 0;
    height: 0;
}
.hide { display:none }

/* > Block (base 100%) ---------------------- */
.content_row { 
	position:relative; 
	max-width:990px;
	padding:20px;
	margin:0 auto;
	width:100%;
}

.wp20  { width:20% }            /* > 1/5  */
.wp25  { width:25% }            /* > 1/4  */
.wp30  { width:30% }
.wp33  { width:33.3333333333% } /* > 1/3  */
.wp40  { width:40% }            /* > 2/5  */
.wp50  { width:50% }            /* > 1/2  */
.wp60  { width:60% }            /* > 3/5  */
.wp66  { width:66.6666666666% } /* > 2/3  */
.wp70  { width:70% }
.wp75  { width:75% }            /* > 3/4  */
.wp80  { width:80% }            /* > 4/5  */
.wp100 { width:100%; }

.wp20, .wp25, .wp30, .wp33, .wp40, .wp50, 
.wp60, .wp66, .wp70, .wp75, .wp80, .wp100 {}

/* > FIL D'ARIANE
-------------------------------------------------------------------------------------------------------------------------------- */
#breadcrumb { 
	padding:20px 0;
	font-size:11px; 
	text-align:center;
}
#breadcrumb ul { max-width:990px; margin:0 auto }
#breadcrumb li { display:inline; list-style:none; }
#breadcrumb li:before { content:"> "; }
#breadcrumb li:first-child:before {  content:""; }
#breadcrumb li a { text-decoration:none; }
#breadcrumb li a:hover { text-decoration:underline; }


/* > CONTENTS
-------------------------------------------------------------------------------------------------------------------------------- */

/* >>> Figures and Thumbnails ------------------------------------ */
.fig_background {
	background-repeat:no-repeat;
	background-position:center;
	background-size:cover;
}
.fig_background img { display:none }

.icon-left { vertical-align:middle; margin-right:5px; }
.icon-right { vertical-align:middle; margin-left:5px; }



/* > 	Structure des blocks ------------------ */
.divide {
	clear:both;
	padding-top:15px;
	border-bottom:#ccc 1px solid;
	margin-bottom:15px;
}
.content_block { position:relative; padding:40px 0 }
.content_block.edit_content { position:relative; padding:0 }
.content_block .content_row .wp25,
.content_block .content_row .wp33,
.content_block .content_row .wp40,
.content_block .content_row .wp50,
.content_block .content_row .wp60,
.content_block .content_row .wp66, 
.content_block .content_row .wp75,
.content_block .content_row .wp100 { padding:20px;}

.content_table .wp50 .content_row,
.content_block .wp50 .content_row { 
	display:block; 
	max-width:495px;
	margin:0 auto;
	width:100%;
}

/* > 	Structure des "flex" blocks ----------- */
.content_flex {
	display: -webkit-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;  
}
.content_block .content_flex {
	max-width:990px;
	margin:0 auto;
}
.content_flex .wp25,
.content_flex .wp33,
.content_flex .wp50 {
    margin: 0 1%;
    padding:20px;
}
.content_flex .wp25 { width:23% }
.content_flex .wp33 { width:31.3333% }
.content_flex .wp50 { width:48% }

/* > 	Structure des "tables" blocks ----------- */
.content_table { 
	display:table;
	padding:30px 20px;
	width:100%;
}
.content_block .content_table {
	max-width:980px;
	margin:0 auto;
}
.content_table .content_row {
	display:table-row;
	max-width:none;
	width:auto;
}
.content_table .wp25,
.content_table .wp33, 
.content_table .wp50, 
.content_table .wp66, 
.content_table .wp75,
.content_table .wp100 {
	display:table-cell;
	padding:20px
}

/* > contenu editables */
.content_block.edit_content ul,
.content_block.edit_content ol { margin:0 0 20px 10px }
.content_block.edit_content ul li { margin:0 0 3px 0; }
.content_block.edit_content ol li { margin:0 0 3px 15px; font-weight:700; }

.content_block.edit_content figure { display:block; margin-bottom:20px; }
.content_block.edit_content figure img { display:block; max-width:100%; margin:0 auto; }

/* > Headings */
.heading_page {
	position:relative;
	padding:0 0 20px;
}
.heading_page .content_row {
	position:relative;
	padding:20px;
}
.heading_page .content_row .wp25,
.heading_page .content_row .wp33, 
.heading_page .content_row .wp50, 
.heading_page .content_row .wp66, 
.heading_page .content_row .wp75,
.heading_page .content_row .wp100 { padding:20px 0 }

/* --- */

.content_block.edit_content ul,
.content_block.edit_content ol { margin:20px 0 10px }
.content_block.edit_content ul li { margin:8px 0; }
.content_block.edit_content ol li { margin:8px 0 8px 15px; font-weight:700; }

.content_block figure { display:block; margin-bottom:20px; }
.content_block figure img { display:block; max-width:100%; margin:0 auto; }

.important {
	border:#d4d4d4 1px solid;
	background-color:#f2f2f2;
	padding:30px;
}
.important p { margin-bottom:0 }

.empty-content {
	padding:10% 20px;
	text-align:center;
	margin:0 auto
}

/* >	tableau --------------------- */
.content_block table {
	margin:0 auto;
	max-width:930px;
	width:100%;
}
.content_block table th,
.content_block table td {
	padding:10px;
	text-align:center;
	font-size:14px;
}
.content_block table tr th:first-child,
.content_block table tr td:first-child { text-align:left; }
.content_block table th { font-weight:bold; }

/* >	Formulaires ------------------- */
.error_output,
.valid_output {
	text-align:center;
	padding:20px; margin:0 0 20px
}
.error_output p,
.valid_output p { margin:0 }
.error_output p em { display:none }
#fillme { display:none }
label { 
    display:block;
    font-size: 14px;
}
.content_block .content_row label.left  { padding:0 5px 0 0; }
.content_block .content_row label.right { padding:0 0 0 5px; }
textarea,
label select,
label input[type='text'],
label input[type='email'],
label input[type='password'] {
	display:block;
	font-size:14px;
	border:#ccc 1px solid;
	height:33px; width:100%;
	padding:5px 10px; margin-bottom:10px;
	-webkit-transition:border-color .2s linear, background-color .2s linear, box-shadow .2s linear, color .2s linear;
	-moz-transition:border-color .2s linear, background-color .2s linear, box-shadow .2s linear, color .2s linear;
	-ms-transition:border-color .2s linear, background-color .2s linear, box-shadow .2s linear, color .2s linear;
	-o-transition:border-color .2s linear, background-color .2s linear, box-shadow .2s linear, color .2s linear;
	transition:border-color .2s linear, background-color .2s linear, box-shadow .2s linear, color .2s linear;
}
label select { padding:0 10px; }
label textarea { height:auto; min-height:120px; }
label.floated-label {
    line-height: 34px;
    margin-bottom: 10px;
}
label.floated-label select,
label.floated-label input,
label.floated-label textarea {
    float: right;
    width: 50%;
}
label.inline-label {
    display: inline-block;
    margin-right: 20px;
    line-height: 30px;
    margin-bottom: 10px;
}
label.inline-label select,
label.inline-label input,
label.inline-label textarea {
    display: inline-block;
	margin-right:10px;
}
span.inline-label {
	display: inline-block;
	vertical-align: middle;
	font-size: 14px; width:50%;
}

label textarea:hover,
label select:hover,
label input:hover { border-color:#000 }
label textarea:focus,
label select:focus,
label input:focus {
	outline:none;
	border-color:#000;
	-webkit-box-shadow:#000 0 0 5px;
	-moz-box-shadow:#000 0 0 5px;
	-ms-box-shadow:#000 0 0 5px;
	-o-box-shadow:#000 0 0 5px;
	box-shadow:#000 0 0 5px;
}

/* >	Pagination ---------------------- */
.pagination {
	padding:10px;
	text-align:center;
	margin:15px auto;
	max-width:930px;
	width:100%;
}
.pagination li { display:inline; }
.pagination li a {
	line-height:38px;
	display:inline-block;
	vertical-align:middle;
	width:38px; height:38px;
	border:#fff 1px solid;
	-webkit-transition:border-color .2s linear, background-color .2s linear, color .2s linear;
	-moz-transition:border-color .2s linear, background-color .2s linear, color .2s linear;
	-ms-transition:border-color .2s linear, background-color .2s linear, color .2s linear;
	-o-transition:border-color .2s linear, background-color .2s linear, color .2s linear;
	transition:border-color .2s linear, background-color .2s linear, color .2s linear;
}
.pagination .pag-prev,
.pagination .pag-next {
	-webkit-transition:opacity .2s linear;
	-moz-transition:opacity .2s linear;
	-ms-transition:opacity .2s linear;
	-o-transition:opacity .2s linear;
	transition:opacity .2s linear;
}
.pagination .pag-prev a,
.pagination .pag-next a { width:auto; padding:0 5px; }
.pagination .pag-prev:hover,
.pagination .pag-next:hover { opacity:1 }
.pagination .pag-prev { float:left; }
.pagination .pag-next { float:right; }
.pagination .pag-prev.disabled,
.pagination .pag-next.disabled { visibility:hidden }

/* > CLASSES GEOMETRY
-------------------------------------------------------------------------------------------------------------------------------- */
/* > Break hauteur -------------------------- */
.hspace_10 { clear:both; height:10px; }
.hspace_20 { clear:both; height:20px; }
.hspace_30 { clear:both; height:30px; }
.hspace_50 { clear:both; height:50px; }

/* > Margin --------------------------------- */
.marg0    { margin:0; }
.margt0   { margin-top:0; }
.margt10  { margin-top:10px; }
.margt20  { margin-top:20px; }
.margt30  { margin-top:30px; }
.margt50  { margin-top:50px; }
.margl0   { margin-left:0; }
.margl10  { margin-left:10px; }
.margl20  { margin-left:20px; }
.margl30  { margin-left:30px; }
.margl50  { margin-left:50px; }
.margr0   { margin-right:0; }
.margr10  { margin-right:10px; }
.margr20  { margin-right:20px; }
.margr30  { margin-right:30px; }
.margr50  { margin-right:50px; }
.margb0   { margin-bottom:0; }
.margb10  { margin-bottom:10px; }
.margb20  { margin-bottom:20px; }
.margb30  { margin-bottom:30px; }
.margb50  { margin-bottom:50px; }
.margauto { margin-left:auto; margin-right:auto; }

/* > Padding --------------------------------- */
.pad0    { padding:0; }
.pad10   { padding:10px; }
.pad15   { padding:15px; }
.pad20   { padding:20px; }
.pad30   { padding:30px; }
.pad40   { padding:40px; }
.padt0   { padding-top:0; }
.padt10  { padding-top:10px; }
.padt15  { padding-top:15px; }
.padt20  { padding-top:20px; }
.padt30  { padding-top:30px; }
.padt50  { padding-top:50px; }
.padl0   { padding-left:0; }
.padl10  { padding-left:10px; }
.padl15  { padding-left:15px; }
.padl20  { padding-left:20px; }
.padl30  { padding-left:30px; }
.padl50  { padding-left:50px; }
.padr0   { padding-right:0; }
.padr10  { padding-right:10px; }
.padr15  { padding-right:15px; }
.padr20  { padding-right:20px; }
.padr30  { padding-right:30px; }
.padr50  { padding-right:50px; }
.padb0   { padding-bottom:0; }
.padb10  { padding-bottom:10px; }
.padb15  { padding-bottom:15px; }
.padb20  { padding-bottom:20px; }
.padb30  { padding-bottom:30px; }
.padb50  { padding-bottom:50px; }
.padLR0  { padding-left:0; padding-right:0 }
.padLR10 { padding-left:10px; padding-right:10px }
.padLR15 { padding-left:15px; padding-right:15px }
.padLR20 { padding-left:20px; padding-right:20px }
.padLR30 { padding-left:30px; padding-right:30px }
.padLR40 { padding-left:40px; padding-right:40px }
.padTB0  { padding-top:0; padding-bottom:0 }
.padTB10 { padding-top:10px; padding-bottom:10px }
.padTB15 { padding-top:15px; padding-bottom:15px }
.padTB20 { padding-top:20px; padding-bottom:20px }
.padTB30 { padding-top:30px; padding-bottom:30px }
.padTB40 { padding-top:40px; padding-bottom:40px }

/* > FONTS / TEXTS
-------------------------------------------------------------------------------------------------------------------------------- */
/* > font-weight ------------------------------------------------ */
.fw-300     { font-weight:300; }
.fw-400     { font-weight:400; }
.fw-500     { font-weight:500; }
.fw-700     { font-weight:700; }
.fw-900     { font-weight:900; }
.fw-norm    { font-weight:normal; }
.fw-bold    { font-weight:bold; }
.fs-italic  { font-style:italic; }
.fs-norm    { font-style:normal; }

/* > textes ------------------------------------------------------ */
.undernone { text-decoration:none; }
.underline { text-decoration:underline; }
.uppercase { text-transform:uppercase; }
.lowercase { text-transform:none; }
.text-justify   { text-align:justify; }
.text-center    { text-align:center; }
.text-right     { text-align:right; }
.text-left      { text-align:left; }

/* > font-size --------------------------------------------------- */
.fs-11 { font-size:11px; }
.fs-12 { font-size:12px; }
.fs-13 { font-size:13px; }
.fs-14 { font-size:14px; }
.fs-15 { font-size:15px; }
.fs-16 { font-size:16px; }
.fs-18 { font-size:18px; }
.fs-20 { font-size:20px; }
.fs-24 { font-size:24px; }
.fs-28 { font-size:28px; }
.fs-30 { font-size:30px; }
.fs-32 { font-size:32px; }
.fs-36 { font-size:36px; }
.fs-40 { font-size:40px; }
.fs-46 { font-size:46px; }
.fs-50 { font-size:50px; }
.fs-60 { font-size:60px; }
.fs-72 { font-size:72px; }

/* FOOTER 
-------------------------------------------------------------------------------------------------------------------------------- */
#nav-footer {
	padding:40px 15px;
	display:table;
	width:100%;
}
#footer .nav_footer_col { display:table-cell; }
#baseline-footer { padding:20px 15px; }
#baseline-footer .baseline-text {
	float:left; max-width:50%; font-size:14px;
}
#baseline-footer .rs-link { float:left; }
#baseline-footer .rs-link li { display:inline; }
#baseline-footer .rs-link li a {
	display:inline-block;
	width:30px; height:30px;
	text-align:center;
	border-radius:50%;
	line-height:26px;
}
#baseline-footer .rs-link li a img { margin:2px; vertical-align:middle; }
#baseline-footer #nav-baseline { float:right; text-align:right; }
#baseline-footer #nav-baseline li {
	margin-left:10px;
	display:inline-block;
	font-size:12px;
}
#baseline-footer #nav-baseline li a { text-decoration:underline; }


/* > CLASSES GEOMETRY
-------------------------------------------------------------------------------------------------------------------------------- */
/* > Break hauteur -------------------------- */
.hspace_10 { clear:both; height:10px; }
.hspace_20 { clear:both; height:20px; }
.hspace_30 { clear:both; height:30px; }
.hspace_50 { clear:both; height:50px; }

/* > Margin --------------------------------- */
.marg0    { margin:0; }
.margt0   { margin-top:0; }
.margt10  { margin-top:10px; }
.margt20  { margin-top:20px; }
.margt30  { margin-top:30px; }
.margt50  { margin-top:50px; }
.margl0   { margin-left:0; }
.margl10  { margin-left:10px; }
.margl20  { margin-left:20px; }
.margl30  { margin-left:30px; }
.margl50  { margin-left:50px; }
.margr0   { margin-right:0; }
.margr10  { margin-right:10px; }
.margr20  { margin-right:20px; }
.margr30  { margin-right:30px; }
.margr50  { margin-right:50px; }
.margb0   { margin-bottom:0; }
.margb10  { margin-bottom:10px; }
.margb20  { margin-bottom:20px; }
.margb30  { margin-bottom:30px; }
.margb50  { margin-bottom:50px; }
.margauto { margin-left:auto; margin-right:auto; }

/* > Padding --------------------------------- */
.pad0    { padding:0; }
.pad10   { padding:10px; }
.pad15   { padding:15px; }
.pad20   { padding:20px; }
.pad30   { padding:30px; }
.pad40   { padding:40px; }
.padt0   { padding-top:0; }
.padt10  { padding-top:10px; }
.padt15  { padding-top:15px; }
.padt20  { padding-top:20px; }
.padt30  { padding-top:30px; }
.padt50  { padding-top:50px; }
.padl0   { padding-left:0; }
.padl10  { padding-left:10px; }
.padl15  { padding-left:15px; }
.padl20  { padding-left:20px; }
.padl30  { padding-left:30px; }
.padl50  { padding-left:50px; }
.padr0   { padding-right:0; }
.padr10  { padding-right:10px; }
.padr15  { padding-right:15px; }
.padr20  { padding-right:20px; }
.padr30  { padding-right:30px; }
.padr50  { padding-right:50px; }
.padb0   { padding-bottom:0; }
.padb10  { padding-bottom:10px; }
.padb15  { padding-bottom:15px; }
.padb20  { padding-bottom:20px; }
.padb30  { padding-bottom:30px; }
.padb50  { padding-bottom:50px; }
.padLR0  { padding-left:0; padding-right:0 }
.padLR10 { padding-left:10px; padding-right:10px }
.padLR15 { padding-left:15px; padding-right:15px }
.padLR20 { padding-left:20px; padding-right:20px }
.padLR30 { padding-left:30px; padding-right:30px }
.padLR40 { padding-left:40px; padding-right:40px }
.padTB0  { padding-top:0; padding-bottom:0 }
.padTB10 { padding-top:10px; padding-bottom:10px }
.padTB15 { padding-top:15px; padding-bottom:15px }
.padTB20 { padding-top:20px; padding-bottom:20px }
.padTB30 { padding-top:30px; padding-bottom:30px }
.padTB40 { padding-top:40px; padding-bottom:40px }

/* > FONTS / TEXTS
-------------------------------------------------------------------------------------------------------------------------------- */
/* > font-weight ------------------------------------------------ */
.fw-300     { font-weight:300; }
.fw-400     { font-weight:400; }
.fw-500     { font-weight:500; }
.fw-700     { font-weight:700; }
.fw-900     { font-weight:900; }
.fw-norm    { font-weight:normal; }
.fw-bold    { font-weight:bold; }
.fs-italic  { font-style:italic; }
.fs-norm    { font-style:normal; }

/* > textes ------------------------------------------------------ */
.undernone { text-decoration:none; }
.underline { text-decoration:underline; }
.uppercase { text-transform:uppercase; }
.lowercase { text-transform:none; }
.text-justify   { text-align:justify; }
.text-center    { text-align:center; }
.text-right     { text-align:right; }
.text-left      { text-align:left; }

/* > font-size --------------------------------------------------- */
.fs-11 { font-size:11px; }
.fs-12 { font-size:12px; }
.fs-13 { font-size:13px; }
.fs-14 { font-size:14px; }
.fs-15 { font-size:15px; }
.fs-16 { font-size:16px; }
.fs-18 { font-size:18px; }
.fs-20 { font-size:20px; }
.fs-24 { font-size:24px; }
.fs-28 { font-size:28px; }
.fs-30 { font-size:30px; }
.fs-32 { font-size:32px; }
.fs-36 { font-size:36px; }
.fs-40 { font-size:40px; }
.fs-46 { font-size:46px; }
.fs-50 { font-size:50px; }
.fs-60 { font-size:60px; }
.fs-72 { font-size:72px; }

/* > ANIMATIONS
-------------------------------------------------------------------------------------------------------------------------------- */
/* TRANSITIONS ------------------------------------------------------------------- */
.transition {
    -webkit-transition:all .3s linear;
       -moz-transition:all .3s linear;
         -o-transition:all .3s linear;
            transition:all .3s linear;
}
.transition_color {
    -webkit-transition:color .3s linear;
       -moz-transition:color .3s linear;
         -o-transition:color .3s linear;
            transition:color .3s linear;
}
.transition_background {
    -webkit-transition:background .3s linear;
       -moz-transition:background .3s linear;
         -o-transition:background .3s linear;
            transition:background .3s linear;
}

.thumbnails { overflow:hidden }
.thumbnails > img {
	display:block; width:100%;
	-webkit-transition:transform .2s linear, opacity .2s linear;
	-moz-transition:transform .2s linear, opacity .2s linear;
	-ms-transition:transform .2s linear, opacity .2s linear;
	-o-transition:transform .2s linear, opacity .2s linear;
	transition:transform .2s linear, opacity .2s linear;
}
a:hover .thumbnails > img,
a.thumbnails:hover > img {
	-webkit-transform:scale(1.2);
	-moz-transform:scale(1.2);
	-ms-transform:scale(1.2);
	-o-transform:scale(1.2);
	transform:scale(1.2);
	opacity:.4
}

/* POLITIQUE DE CONFIDENTIALITE > contact.php ------------------------------------------------------------------------------------------------ */
/* POLITIQUE DE CONFIDENTIALITE > contact.php ------------------------------------------------------------------------------------------------ */
#privacy h2,
#privacy h3,
#privacy h4,
#privacy h5 {
	margin-top: 2em;
	margin-bottom: 1em;
}
#privacy h2 {
}
#privacy h3 {
	font-size: 20px;
}
#privacy h4 {
    font-size: 16px;
    color: #666;
}
#privacy h5 {
	font-size: 14px;
	color: #979797;
}
#privacy p {
}
#privacy ul li {
	list-style-type: initial;
    list-style: inside;
	font-size: 14px;
}
#privacy a {
    color: #666;
}
#privacy a:hover {
	color: #ffa336;
}
#privacy table {
	width: 100%;
}
#privacy th,
#privacy th p {
	font-size: 18px;
    color:#494949;
}

/* >>> Contact --------------------------------------------------------------------- */
#contact-map { height:370px; background:#e6e6e6; }

/* >>> 404 -------------------------------------------------------------------------- */
#content-404 {
	text-align:center;
	max-width:540px;
	margin:0 auto;
	padding:30px;
}
#content-404 #breadcrumb { margin-bottom:30px; }
#content-404 p { margin-bottom:30px; }