/*
/*

	CSS - Template_full_largueur

 * Kameleo T2 Template Graphical configuration
 */

/*** --- TABLE OF CONTENT ---

	01. Default value
		-- Titles & typography
		-- List-styles
		-- Tables
		-- Forms
	02. Links and buttons
		-- links styles
		-- buttons styles
	03. Structures global
		-- logo
		-- hd (header default parameters)
		-- bd (body default parameters)
		-- ft (footer default parameters)
	04. Navigation
		-- main navigation
		-- second navigation
		-- third navigation
		-- annexe navigation
		-- footer navigation
	05. languages links
	05. languages links
	06. Objects styles
		-- Objects styles default
		-- Full background color objects
		-- Columns object
		-- Text divided columns
	07. Regions
		-- region Image top content
		-- region Introduction content
		-- region Slider
		-- region Main content
		-- region Prefooter content
		-- region Footer content
	08. Blog
	09. Events
	10. Gallery
	11. Shop
		-- basket button
		-- shop page general
		-- shop listing with link to details pages
		-- shop product details page
		-- shop listing with all details
		-- basket pages
		-- shop confirmation page
	12. Specific pages styles
		-- homepage
		-- color pages
	13. Powered	
		-- copyright
		-- login kameleo
	14. Social medias
	15. Mobiles version
	16.	Mediaqueries
		
*/


/*** --- VARIABLE DE PAGE ---

	.default:page par défaut
	.home:page d'accueil
	.annexe:page annexe
	
	.menuCouleur01:menu couleur 01
	.menuCouleur02:menu couleur 02
	.menuCouleur03:menu couleur 03
	.menuCouleur04:menu couleur 04


/*** --- VARIABLE DE PARAGRAPHE --- (css dans le point "06. Objects styles" )
 
	.default:style de paragraphe par défaut
	.mainColorBg:full largeur background
	.column:une petite colonne
	.textdivided: texte divisée en deux colonnes
 
*/

/*****  01. Default value *****/

html {
	height: 100%;
	font-size: 100%;
}

body {
	
	height: 100%;

/*  -- define the font of the page here -- 
	(linehgiht, color, size etc... You can specify the font for the titles later)
*/
	font-family: 'Lato', sans-serif;
    font-size: 100%; /* Better to use % here and then rem for the content */
    line-height: 1.6875rem; /* Better to use PX here but you could use PX, PT, % or EM */
    font-weight:400;
    
    /* font and color */
    color: #404040;
	
	/* background of the page */

	background-color:#fff;

	-webkit-font-smoothing: antialiased !important;
	-moz-osx-font-smoothing: grayscale !important;
			
/*	-- uncomment this for an image background --

	background-image:url(../img/texture.png);
	background-repeat:no-repeat;
	background-size:auto auto;
	background-position:center center; 
	
*/   
}

/* specify additional backgrounds here */

div#w0 {
    height: 100%;
}

div#w1 {
    height: 100%;
	/*background: transparent url(../img/bg_bottom.png) center bottom repeat-x;
    uncomment if you want to set a footer image on all width of the browser */
}

div#w2 {
    height: 100%;
}


/* -- Titles & typography -- */

/* Titles default */
#cn h1, #cn h2, #cn h3, #cn h4, #cn h3 a, #ft h2{
    color: #000000; /* color of all title */
	font-weight: 700;
    margin-bottom: 16px;
    text-transform:none;
    font-size: 1.3125rem;
    line-height: 1.625rem;
    text-align: left;

    text-transform: none;    
    padding:0;
    box-sizing:border-box;
}

#cn h3, #cn h3 a, #cn .event h2 a{
	color: #DB3640;
	font-size: 1.3125rem;
    line-height: 1.875rem;
	text-decoration: none;
	font-weight: 700;
}

#cn h4{
	  color: #DB3640;
	  font-size: 1.875rem;
	  line-height: 2.25rem;
	  border:none;
	  margin:0 20px 10px 20px;
}

#cn .column.object h4, .home div#bd .bloglist .date{
	margin:0 0 10px 0;
	color: #A6A6A6;
	font-size: 0.8125rem;
	line-height: 1.125rem;
	font-weight: 700;
}

#cn h1, #cn .slider h2, #cn .bloglist.teaserlist .teaserlist-title h2, .home #cn .centered h2{ /* -- page title -- */
	width: 100%;
    margin: 0 0 20px 0;
    font-weight: 900;
    font-size:2.5rem;
    line-height: 3rem;
    text-transform: uppercase;
    position: relative;
    padding: 0;
    z-index: 20;
}

#cn h2.title_section{
	padding:0 20px;
	box-sizing: border-box;
}

.home #cn .slider_container h1,
.home #cn .slider_container h2,
div#bd #highlightContent .object .wrapobject h2{
	font-size: 1.875rem;
	line-height: 2.375rem;
	text-transform: uppercase;
	color: #fff;
	font-weight: 900;
}

.home #cn .slider_container .object,
div#bd #highlightContent .object .wrapobject{
	font-size: 1.25rem;
	line-height: 1.75rem;
}

#cn #introContent h1 {
    max-width: 1240px;
    margin: 0 auto 60px auto;
    padding: 0px 20px 0 20px;
    box-sizing: border-box;
}

#cn #introContent h1::after{
	content:'';
	position: absolute;
	left:20px;
	right:20px;
	bottom:-20px;
	background-color:#DB3640;
	height: 4px;
	width: calc(100% - 40px);
}


#cn .slider h2 {
	color: #fff;
	text-shadow: 1px 1px 5px rgba(0,0,0,0.2);
}

.home #cn h1{
	width: 100%;
	padding: 0 20px;
	margin-bottom: 27px;
}

#cn #header_image_container h1{
	text-align: left;
}

#cn div#bd #mainContent div.noMargin.object {
	padding-bottom: 0;
}

#cn div#bd #mainContent div.noMargin.object h2{
	margin-bottom: 30px;
}

/* Text editor typography default */

#cn u, #cn .object u{ /* -- underline / highlight -- */
	color:#DB3640;
	background-color:transparent;
	text-decoration:none;

	font-size: 1.3125rem;
	line-height: 2.0625rem;
	font-weight: 300;
}

#cn .object strong{ /* -- bold / strong -- */
	font-weight:700;
}

#cn .object em{ /* -- italic -- */
	font-style: italic;
}

p { /* -- paragraphs -- */
	margin:	0 0 12px 0;
}

/* -- List-styles -- */

.object ul{
	list-style: disc;
	margin-left:35px;
	margin-bottom:20px;
	display: inline-block;
}

/* -- Tables -- */

.object table tr td {
	border: 1px solid #cacaca;
	padding:5px 8px;
	min-width:120px;
}

/* special table styles */

.object table{
	margin:20px 0;
}

.object table tr:first-of-type td{ /* styles of the first line of the table */
	background-color:#dddddd;
	font-weight:700;
}

.object table tr td:first-of-type{ /* styles of the first column of the table */
	font-weight:700;
}

/* -- Forms --*/

form.kSiteForm fieldset{
	margin-bottom:15px;
}

form.kSiteForm select {
    height: 40px;
    padding: 0px 10px;
}

.ui-datepicker{
	z-index:50!important; /*put the calender before the other elements*/
}

form.kSiteForm label{
	font-weight:700;
	padding-bottom: 4px;
}

form.kSiteForm .captcha input, form.kSiteForm input.text, form.kSiteForm textarea, form.kSiteForm select, #mc_embed_signup input.email {
	color:#DB3640;
   	font-size:1rem;

   	background-color: #fff;
   	
	border-radius: 5px;
    -moz-border-radius: 5px;
    -webkit-border-radius: 5px;

    -webkit-transition: all 0.15s linear;
	-moz-transition: all 0.15s linear;
	-ms-transition: all 0.15s  linear;
	-o-transition: all 0.15s  linear;
	transition: all 0.15s  linear;
}

form.kSiteForm input.text:focus, form.kSiteForm textarea:focus, form.kSiteForm select:focus, 
#mc_embed_signup input.email:focus, form.kSiteForm input.text:hover, 
form.kSiteForm textarea:hover, form.kSiteForm select:hover, #mc_embed_signup input.email:hover {
	border-color: #DB3640;
	moz-box-shadow: 0px 0px 10px rgba(0,0,0,0.4);
	-webkit-box-shadow: 0px 0px 10px rgba(0,0,0,0.4);
	box-shadow: 0px 0px 10px rgba(0,0,0,0.4);
}

/***** 02. Links and buttons *****/

a, a:link, a:visited,
.navPost-prev a, .navPost-prev a {
	color:#DB3640;
	text-decoration: none;
}

a:hover, a:focus, a:active,
.navPost-prev a:hover, .navPost-prev a:hover {
	text-decoration: underline;
}


/* -- buttons style -- */

.object a.button, div#bd .object a.button, div#ft a.button, .container.buttons #btSubmit,
 input.kButton.continue, #mainNav li.contactNav a, div#bd #introContent .object a.button,
.slider_container .object a.button, div#mainNavCt a.button, .home .readmore-container a {
	position: relative;
	color: #fff;
	text-transform:none;
	font-weight:400;
	text-decoration:none;
	font-size: 1.0625rem;
	line-height: 1.25rem;
    display: inline-block;
    position:relative;
    padding: 12px 20px;
   	height:auto;
   	width:auto;
   	text-align: center;
   	cursor:pointer;
   	box-sizing:border-box;

   	background-color: #DB3640;

   	border-radius: 200px;
	-moz-border-radius: 200px;
	-webkit-border-radius: 200px;


    /* Rectangle Copy 3: */

	border: none;

	margin:10px 10px 0 0;

    -webkit-transition: all 0.15s linear;
	-moz-transition: all 0.15s linear;
	-ms-transition: all 0.15s  linear;
	-o-transition: all 0.15s  linear;
	transition: all 0.15s  linear;
}

div#bd #highlightContent .object a.button, .home .readmore-container a {
	background-color: #fff;
	color: #DB3640;
}

.object a.button:hover, div#bd .object a.button:hover, div#ft a.button:hover, .container.buttons #btSubmit:hover, 
.container.buttons #btSubmit:focus, input.kButton.continue:hover, div#bd #introContent .object a.button:hover,
.slider_container .object a.button:hover, div#mainNavCt a.button:hover, .home .readmore-container a:hover, div#bd #highlightContent .object a.button:hover{
	color: #fff;
 	background-color: #404040;

 	padding: 12px 20px;
 	margin:10px 10px 0 0;
}


/* option: bouton avec flèche */

div#bd #introContent .object a.button, div#bd #introContent .object a.button:hover,
.home div#bd .bloglist .item-readmore a.readmore, .home div#bd .bloglist .item-readmore a.readmore:hover,
div#bd .object.porteCTA a.button, div#bd .object.porteCTA a.button:hover{
	font-size: 0.9375rem;
	line-height: 1.1875rem;
	font-weight: 700;
	margin-top: 0;
	padding:5px 5px 5px 20px;
	position: relative;
	text-decoration: none;
	background-color:transparent;
	color: #DB3640;

	-webkit-box-shadow: none;
    box-shadow: none;
}


div#bd #introContent .object a.button::after, .home div#bd .bloglist .item-readmore a.readmore::after,
div#bd .object.porteCTA a.button::after{
	content:"";
	position: absolute;
	top:9px;
	left:0px;
	width:12px;
	height: 11px;

	background-image: url(../img/arrow-red.svg);
	background-repeat: no-repeat;
	background-position: left top;
	background-size: 12px 11px;

	display: block;
	

	-webkit-transition: all 0.2s linear;
	-moz-transition: all 0.2s linear;
	-ms-transition: all 0.2s linear;
	-o-transition: all 0.2s linear;
	transition: all 0.2s linear;
}

div#bd #introContent .object a.button:hover::after, .home div#bd .bloglist .item-readmore a.readmore:hover::after,
div#bd .object.porteCTA a.button:hover::after{
	left: 5px;
}

/* couleur négatives


div#bd #introContent .object a.button, div#bd #introContent .object a.button:hover{
	color: #fff;
}

div#bd #introContent .object a.button::after{
	border-color: #fff;
}

/********/

.home .bloglist.object .blog .content a, .home .bloglist.object .blog .content a:hover {
	margin-top: 10px;
}

/** Arrow button **/

.anchorList li a, div#bd .image.object.porteCTA h2{
	position: relative;
}

.anchorList li a::after, div#bd .image.object.porteCTA h2::after {
    content: "";
    position: absolute;
    top: 50%;
    left: auto;
    right: 30px;
    width: 8px;
    height: 8px;
    margin-top: -5px;

    display: block;
    border-right: 2px solid #DB3640;
    border-bottom: 2px solid #DB3640;
    background-color: transparent;

    -webkit-transform: rotate(-45deg);
    -moz-transform: rotate(-45deg);
    -o-transform: rotate(-45deg);
    transform: rotate(-45deg);

    -webkit-transition: all 0.2s linear;
	-moz-transition: all 0.2s linear;
	-ms-transition: all 0.2s linear;
	-o-transition: all 0.2s linear;
	transition: all 0.2s linear;
}


.anchorList li a::after{
	right: 10px;
    margin-top: -8px;

	-webkit-transform: rotate(45deg);
    -moz-transform: rotate(45deg);
    -o-transform: rotate(45deg);
    transform: rotate(45deg);
 }

/***/


.home #header_image_container .object a.button{
	-moz-box-shadow: 0px 0px 10px rgba(0,0,0,0.4);
	-webkit-box-shadow: 0px 0px 10px rgba(0,0,0,0.4);
	box-shadow: 0px 0px 10px rgba(0,0,0,0.4);
	padding: 20px 30px;
}

/* GoTo button (on the homepage) */
a#goTo{
	width: 0px;
    height: 0px;
    padding: 70px 0px 0px 70px;
    overflow: hidden;
    display: block;
    margin: 50px auto 0px;
    position: absolute;
    bottom: -10px;
    left: 50%;
    margin-left:-37px;
    z-index: 20;
}

a#goTo:before{
	content:"";
	background: url(../img/goTo_btn.png) center center no-repeat;
    background-size: 40px 40px;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
	-webkit-transition: all 0.2s linear;
	-moz-transition: all  0.2s linear;
	-ms-transition: all  0.2s  linear;
	-o-transition: all  0.2s  linear;
	transition: all  0.2s  linear;
}

div#w0 a#goTo:hover:before{
	margin-top: 20px;
}


/* goTop button */


div#ft #goTop{
	position: absolute;
	right:120px;
	top: 0;
}

div#ft #goTop a{
	background-image:url(../img/icon_white.png);
	background-repeat:no-repeat;
	background-size:51px 205px;
	background-position: right bottom;
	padding:100px 80px 0 0;
	display:inline-block;
	color:#fff;
	font-size: 0.875rem;
	text-transform: uppercase;
	font-weight: 700;
	text-decoration: none;
	border-radius: 2px;
    -moz-border-radius: 2px;
    -webkit-border-radius: 2px;

	-webkit-transition: opacity 0.2s linear;
	-moz-transition: opacity  0.2s linear;
	-ms-transition: opacity  0.2s  linear;
	-o-transition: opacity  0.2s  linear;
	transition: opacity  0.2s  linear;
}

div#ft #goTop a:hover{
	cursor:pointer;
	opacity:0.5;
}

/*****	03. Structures global *****/

div#cn {
    position:relative;
    z-index:10;
}

div.cn {
    background: transparent;
	width:1240px;
	padding:60px 0 60px 0;
	display: flex;
	display: -ms-flexbox; 
	display: -webkit-flex; 
	flex-wrap:wrap;
	-webkit-flex-wrap: wrap;
	-ms-flex-flow: row wrap;
}

#hd div.cn{
	padding:0 20px;
	box-sizing:border-box;

	display: flex;
	display: -ms-flexbox; 
	display: -webkit-flex; 
	align-items: center;
	justify-content:space-between;
	-ms-flex-pack: justify;

	width: 100%;
}

#bd div.cn.titlePage, #introContent div.cn, #mainContent div.cn, #prefooterContent div.cn, div#ft #promesseContent div.cn{
	max-width: 1240px;
	z-index: 5;
}

#bd div.cn.titlePage{
	padding-top: 80px;
}

div.cn.titlePage{
	padding-bottom: 0
}

/* -- logo --*/

strong#logo a {
	position: static;	
	top: 0; 
	left:0;
	padding: 100px 0 0 200px; /* size of your logo here */
	background-image: url(../img/ps_fr_ville_logo_fr.png);
	background-position: center center;
	background-size:auto 75px;
}

.de strong#logo a {
	background-image: url(../img/ps_fr_ville_logo_de.png);
}

strong#logo_footer{
	position: relative;
}

strong#logo_footer a {
	position: relative;
    padding: 90px 0 0 180px;
    background-image: url(../img/Logo_Parti_socialiste_suisse.svg);
    background-position: left top;
    background-size: 160px auto;
    top: 0;
}

/** social **/

#hd .reseaux_sociaux{
	display: flex;
	display: -ms-flexbox; 
	display: -webkit-flex; 
	flex-wrap:wrap;
	-webkit-flex-wrap: wrap;
	-ms-flex-flow: row wrap;
}

.reseaux_sociaux a{
	margin-left: 15px;
	text-decoration: none;
	display: inline-block;
    vertical-align: middle;
    line-height: 0;

    padding: 48px 5px 30px 5px;
}

#ft .reseaux_sociaux a{
	margin: 0 10px 0 0 ;
}

.reseaux_sociaux i{
	font-weight: 400;
	-webkit-font-smoothing: antialiased !important;
	-moz-osx-font-smoothing: grayscale !important;

	-webkit-transition: color 0.2s linear;
	-moz-transition: color 0.2s linear;
	-ms-transition: color 0.2s linear;
	-o-transition: color 0.2s linear;
	transition: color 0.2s linear;
}

.reseaux_sociaux i{
	font-size: 1.3125rem;
	color: #DB3640;
}

.reseaux_sociaux i.fa-instagram{
	font-weight: 700;
}

.reseaux_sociaux i:hover{
	color: #404040;
}

/* -- hd (header default parameters) -- */
div#hd {
	height:auto;
	position:relative;
	background-color: #fff;
	margin-top: 0;
	z-index: 50;
}

.topbar{
	width:100%;
	height:auto;
	margin: 0;
	position:relative;
	z-index:50;
	top:0;
	text-align: right;
	background-color:#fff;
	position: fixed;
	box-shadow: 0 2px 9px 0 rgba(0,0,0,0);

	-webkit-transition: all 0.2s linear;
	-moz-transition: all 0.2s linear;
	-ms-transition: all 0.2s linear;
	-o-transition: all 0.2s linear;
	transition: all 0.2s linear;
}


.topbar.sticky{
	box-shadow: 0 2px 9px 0 rgba(0,0,0,0.11);
}

.mobile #undefined-sticky-wrapper{
	height: auto!important;
}


.admin .topbar{
	top:44px!important;
}

#topNav{
	background-color: #fff;
	padding: 10px 0;
}

#topNav .cn img{
	display: inline-block;
	vertical-align: middle;
	max-width: 22px;
	width: auto;
	max-height: 19px;
	height: auto; 
	margin: 0 10px;
}

#topNav .contact_info a{
	margin: 0 0 0 10px;
	font-size: 0.875rem;
	line-height: 1.0625rem;
	font-weight: 700;
	text-decoration: none;
	vertical-align: middle;

	-webkit-transition: color 0.2s linear;
	-moz-transition: color 0.2s linear;
	-ms-transition: color 0.2s linear;
	-o-transition: opacity 0.2s linear;
	transition: color 0.2s linear;
}

#topNav .contact_info a i{
	color:#DB3640;
	margin-right: 8px;
	font-size: 1rem;
	opacity: 0.5;

	-webkit-transition: all 0.2s linear;
	-moz-transition: all 0.2s linear;
	-ms-transition: all 0.2s linear;
	-o-transition: all 0.2s linear;
	transition: all 0.2s linear;
}

#topNav .cn .contact_info a:hover{
	color: rgba(4,47,73,1);
}

#topNav .cn .contact_info a:hover i{
	opacity: 1;
	color:rgba(4,47,73,1);
}


/* -- bd (body default parameters) --*/

div#bd{
	text-align:center; /* to center the columns objects in display inline-block */
	background-size: 100% auto;
	background-repeat: no-repeat;
	background-position: center 70px;
	position: relative;

}

div#bd div#bd_bg{
	background: none;
	padding: 40px 0 0 0; /* padding bottom to push the footer at the bottom of the page (the padding-bottom should be the same value than the footer height bellow) */
	width:100%;
}

/* -- Main column and secondary column -- */

div#bd .col_container{
	width: 100%;
	position: relative;
	display: flex;
	display: -ms-flexbox; 
	display: -webkit-flex;
	z-index: 10;
}

#bd .main_column{
	flex-grow:2;
	width: 100%;
	max-width: 100%;
}

#bd .left_column{
	background-color: #d3d3d3;
	padding:60px 20px 0 20px;
	box-sizing: border-box;
}

#bd .right_column{
	background-color: #d3d3d3;
	padding:60px 20px 0 20px;
	box-sizing: border-box;
}


/* -- ft (footer default parameters) --*/
div#ft {
	background-color: #fff;
	position:relative;
	clear: both;
	z-index:5;
	width:100%;
}

div#ft div.cn{
	border: none;
	height: auto;
	position:relative;
	z-index: 10;
}

div#poweredContent {
	background-color: #EDEDED;
}

div#poweredContent div.cn{
	padding: 30px 0 30px 0;
	color: #000;
	justify-content:space-between;
	-ms-flex-pack: justify;
}

div#poweredContent div.cn >div{
	margin:0 20px;
}

/***** 04. Navigation *****/

/* -- Main navigation -- */

div#mainNavCt {
	max-width: auto;
	float:none;
	height: auto;
	margin:0 auto 0 auto;
	text-align:center;
	box-sizing:border-box;
	padding:0;

	display: flex;
	display: -ms-flexbox;
	display: -webkit-flex; 
	flex-wrap:wrap;
	-webkit-flex-wrap: wrap;
	-ms-flex-flow: row wrap;

	justify-content:space-between;
	-ms-flex-pack: justify;
}

#mainNav li a, ul#lang li a{
	color:#404040;
	padding:48px 12px 30px 12px;
	text-decoration: none;
	font-size:1.0625rem;
	line-height: 1.375rem;
	display: block;
	font-weight: 400;
	vertical-align: top;

	-webkit-transition: color 0.2s linear;
	-moz-transition: color 0.2s linear;
	-ms-transition: color 0.2s  linear;
	-o-transition: color 0.2s  linear;
	transition: color 0.2s  linear;
}

#mainNav li.on a, #mainNav li a:hover, 
ul#lang li a:hover, ul#lang li.active a{
	color: #DB3640;
}

ul#mainNav{
	vertical-align: top;
}

div#mainNavCt a.button, div#mainNavCt a.button:hover{
	margin:20px 0 15px 17px;
	padding: 14px 25px;
	vertical-align: top;
}

#mainNav li.contactNav{
	margin-left: 10px;
}


#mainNav li.contactNav a{
	opacity: 1;
    padding: 9px 40px;
	background: #fff;
    margin-top: 30px;
    color: #4A4A4A;
    text-transform: none;
    font-size: 1.0625rem;
	line-height: 1.375rem;
}

#mainNav li.contactNav a:hover{
	padding: 9px 40px;
	margin-top: 30px;
}

#mainNav li.contactNav a::after{
	display: none;
}

#mainNav li.contactNav a:hover::after{
	margin: 0 5px 0 20px;
}

#mainNav li a:hover{
	opacity: 1;
}

/** anchors **/


ul.anchorList{
	width: 100%;
	max-width: 1240px;
	margin:0 auto;
	padding:10px 20px 60px 20px;
	box-sizing: border-box;

    display: flex;
	display: -ms-flexbox; 
	display: -webkit-flex; 
	flex-wrap:wrap;
	-webkit-flex-wrap: wrap;
	-ms-flex-flow: row wrap;
	justify-content:flex-start;
	-ms-flex-pack: left;
}

.anchorList li{
	display:inline-block;
}

.anchorList li a{
	padding:6px 30px 6px 0;
	margin-right: 30px;
	font-size: 1rem;
	line-height: 1.5625rem;

	min-width: 120px;
	text-align: left;

	text-transform: uppercase;
	font-weight:400;
	display:block;
	color: #DB3640;
	text-decoration: none;

	border-top: 3px solid #d3d3d3;
	border-bottom: 3px solid #d3d3d3;

}

.anchorList li a:hover{ /* style of the main navigation on hover or when the menu is activated */
	opacity:0.5;
	text-decoration:none;
}

/* -- second navigation -- */

/* dropdown menu */

ul#mainNav{
	margin:0 10px;
	width: auto;
	display: inline-block;
}

ul#mainNav li ul {
    position: absolute;
    overflow: hidden;
	padding: 0 0;
	margin: 0;
	z-index:10;	
	width: 290px;
	left:0px;
	top: 82px;
	background-color: #fff;
	border-top: 1px solid #d3d3d3;
}

ul#mainNav li ul li, ul#mainNav li ul li.default {
	padding: 0;
	float:none;
	border: none;
	background:none;
	display:block;
	text-align:left;
	margin-top: -1px;
}

#hd ul#mainNav li ul li a{
	color: #DB3640;
	padding: 20px 20px;
	font-size: 0.9375rem;
	letter-spacing: 0;
	line-height: 20px;
}

#hd ul#mainNav li ul li:not(.last) a::after{
	content:'';
	position: absolute;
	height: 1px;
	left:20px;
	right:20px;
	bottom:0;
	background-color:rgba(222,236,246,1);
}

ul#mainNav >li >ul li a:hover, ul#mainNav >li.on ul li a
ul#colorNav li ul li a:hover, ul#colorNav li ul li.on a{
	color: #DB3640;
	background-color: rgba(222,236,246,1);
}

/* simple sec navigation */
div#secNavCt {
	width: 100%;
    left: 0;
    display: block;
    overflow: hidden;
    text-align:left;
}


.secNavCt{
	height: 100%;

	flex-wrap:wrap;
	-webkit-flex-wrap: wrap;
	-ms-flex-flow: row wrap;

	display: flex;
	display: -ms-flexbox; 
	display: -webkit-flex; 
	align-items: center;
	justify-content: center;
	-ms-flex-pack: center;
}

ul#secNav{
	width: 100%;
	text-align: left;
	margin:0;
	width: 310px;
    padding: 0px 25px;
    box-sizing: border-box;

    border-right: 2px solid #ECECEC;
}

ul#secNav li{ 
	display:block;
	width:100%; 
}

ul#secNav li a {
	color: #fff;
	font-size: 1.125rem;
	text-decoration: none;
    font-weight: 700;
    text-align:left;
    line-height:1.375rem;
    width:auto; 
	display: block;
    position: relative;
	padding:8px 20px;

	-webkit-transition: all 0.2s linear;
	-moz-transition: all 0.2s linear;
	-ms-transition: all 0.2s  linear;
	-o-transition: all 0.2s  linear;
	transition: all 0.2s  linear;
}

ul#secNav li a:hover{ 
	opacity: 0.5;
	padding:8px 5px 8px 25px;
}

#cn ul#secNav li.on a {
	opacity: 0.6;
}

/* -- third navigation -- */

ul#thirdNav {
	margin-bottom: 60px;
}

ul#thirdNav li{
	display: inline-block;
	padding:0 5px;
}

ul#thirdNav li a{
	display: block;
	padding: 10px;
	text-transform: uppercase;
	font-weight: 700;
	text-decoration: none;
	border: 1px solid #DB3640;
	padding: 10px 20px;

	-webkit-transition: all 0.2s linear;
	-moz-transition: all  0.2s linear;
	-ms-transition: all 0.2s  linear;
	-o-transition: all 0.2s  linear;
	transition: all 0.2s  linear;
}

ul#thirdNav li a:hover{
	background-color:#DB3640;
	color: #fff;
}

/* -- annexe navigation -- */
#annexNavCt {
	position: absolute;
    right:0;
    top: 0;
    padding-top: 24px;
    vertical-align: top;
}
#annexe{
	display: inline-block;
	text-align:right;
	float:none;
	width:auto;
	box-sizing:border-box;
	padding: 0;
	vertical-align: top;
}

#annexe li {
	display:inline-block;
	text-transform: none; /* puts all words in uppercase in main menu (change to none if you want lowcase) */
	vertical-align:top;
}

#annexe li a, #annexNavCt a.button { /* style of the main navigation links */
	font-size: 1.0625rem;
    text-transform: none;
    line-height: 1.25rem;
    font-weight: 400;
    display: inline-block;
    vertical-align: top;
    color: #2F3E4B;
    padding: 16px 10px;
    opacity: 1;

    margin:0;

    text-decoration: none;
    -webkit-transition: opacity 0.1s linear;
    -moz-transition: opacity 0.1s linear;
    -ms-transition: opacity 0.1s linear;
    -o-transition: opacity 0.1s linear;
    transition: opacity 0.1s linear;
}

#annexe li a:hover, #annexe li.on a, #annexNavCt a.button:hover{
	opacity:0.5;
	text-decoration:none;
}

/* -- footer navigation -- */

/***** 05. languages links *****/


#hd .langAndCurrency{
	display: inline-block;
	vertical-align: middle;
	width: 100px;
}

.mobile #hd .langAndCurrency{
	width: 100%;
}

ul#lang {
    float: right;
    height:auto;
    width:auto;
    background: url(../img/lan.png) no-repeat; 
    padding: 0 21px 0 21px;

    display: flex;
	display: -ms-flexbox;
	display: -webkit-flex; 
	flex-wrap:wrap;
	-webkit-flex-wrap: wrap;
	-ms-flex-flow: row wrap;
}

ul#lang li{
    margin:0;
    padding:0;
}

ul#lang li a{
	font-weight:700;
    font-size: 1rem;
    font-style: normal;
    text-transform: uppercase;
    float: none;
    display: block;
    padding:48px 5px 30px 5px;
    background: none;
    text-decoration: none;
    margin:0;
}

ul#lang{
	padding: 0;
}

/***** 06. Objects styles *****/

/* -- Objects styles default --*/

div.object { /* all paragraph object default */
	margin: 0 0 20px 0;
}

div#bd .object{	/* all paragraph in #bd */
	margin:0 20px;
	text-align: left;
	width: calc(100% - 40px);
	padding:0 0 90px 0;
	box-sizing: border-box;
}

div#bd .object.centered, div#bd .object.centered h2{
	text-align: center;
}

div#bd .object.centered >div{
	max-width: 500px;
}

/***/

div#bd .object >div, div#bd .object.hasaccordion h2{
	width:100%;
	max-width:1200px;
	margin:0px auto;
	padding:0 0;
	box-sizing:border-box;
}

div#bd .image.object img{ /* paragraph image */
	max-width:100%;
	height:auto;
	display:inline-block;
	width:auto;
	align-self: flex-start;
}

div#bd .standard.object >div{
	display: flex;
	display: -ms-flexbox; 
	display: -webkit-flex; 
	flex-wrap:wrap;
	-webkit-flex-wrap: wrap;
	-ms-flex-flow: row wrap;

	align-items: center;
	justify-content: center;
	-ms-flex-pack: center;

	justify-content:space-between;
	-ms-flex-pack: justify;
}

div#bd .standard.object >div h2{
	width: 100%;
	padding: 0;
}


div#bd .object .wrapimg{
	width:calc(50% - 20px);
	margin:0;
	line-height: 0;
}

div#bd .object .wrapimg{
	order: 2;
}

div#bd .object .wrapobject{
	width:calc(50% - 20px);
	margin:0;
	text-align: left;
	order:1;
}

div#bd .object.column .wrapobject, div#bd .object.column .wrapimg{
	width:100%;
	padding:0;
}

div#bd .object.column .wrapobject{
	order:2;
}


div#bd .object.column .wrapimg{
	order:1;
	line-height: 0;
	margin-bottom: 16px;
}

div#bd .object.column{
	font-size: 0.9375rem;
	line-height: 1.4375rem;
}


div#bd .object .wrapimg img{
	max-width:100%;
	height:auto;

	min-width: 100px;
	min-height: 100px;
}

div#bd .object.column_demi img{
	width: 100%;
}

div#bd #introContent .object.column_demi img{
	width: auto;
	height: auto;
}


div#bd .standard.object >div .clr{
	display: none;
}

/* video multimedia object */
.multimedia.object iframe{
	max-width:100%;
	max-height:540px;
}

/* --  background color objects -- */

div#bd .object.mainColorBg, div#bd .object.mainColorBg h2,
div#bd .object.mainColorBg .wrapobject{
	background-color: rgba(222,236,246,1);
}

div#bd .text.object.mainColorBg, div#bd .standard.object.mainColorBg{
	padding-top:80px;
}

div#bd div.text.object.mainColorBg + div.object:not(.mainColorBg), 
div#bd div.standard.object.mainColorBg + div.object:not(.mainColorBg){
	padding-top: 80px;
}


div#bd .last.object.mainColorBg{
	margin-bottom: 80px;
}


div#bd #mainContent .standard.object.mainColorBg.porteCTA{
	background-color: transparent;
}

div#bd .object.mainColorBg.porteCTA{
	padding:0;
}


/* full image in background */
	
div#bd .image.object.mainColorBg{
	height:380px; /* define the height of your full background image*/
	padding:0;
}

div#bd .image.object.mainColorBg >div {
    background-size: cover;
    width: 100%;
    max-width:100%;
    height: 100%;
    background-position: center center;
    display: table;
    position:relative;
}

div#bd .image.object.mainColorBg >div h2 {
    color: #fff;
    display: table-cell;
    vertical-align: middle;
    text-align: center;
    text-shadow: 1px 1px 10px rgba(0,0,0,0.5);  /* shadow on the text for the visibility */ 
    position:relative;
    z-index:10;
    width:100%;
}

/* filter on the image */
div#bd .image.object.mainColorBg >div::after{
	content:"";
	position:absolute;
	top:0;
	right:0;
	bottom:0;
	left:0;
	background-color:#000; /* color of the filter */
	opacity:0; /* opactiy of the filter */ 
}

/**
.home div#hd .slider .object >div::after{
	content:"";
	position:absolute;
	top:0;
	right:0;
	bottom:0;
	left:0;
	background-image: -webkit-linear-gradient(rgba(0,0,0,0.50) 5%, rgba(0,0,0,0.15) 28%, rgba(0,0,0,0.10) 80%);
	background-image: -o-linear-gradient(rgba(0,0,0,0.50) 5%, rgba(0,0,0,0.15) 28%, rgba(0,0,0,0.10) 80%);
	background-image: linear-gradient(rgba(0,0,0,0.50) 5%, rgba(0,0,0,0.15) 28%, rgba(0,0,0,0.10) 80%);
}
**/

/*
div#ft #footerContent::after{
	content:"";
	position:absolute;
	top:0;
	right:0;
	bottom:0;
	left:0;
	z-index: 1;
	-webkit-transform: rotate(180deg);
	-moz-transform: rotate(180deg);
	-o-transform: rotate(180deg);
	-o-transform: rotate(180deg);

	background-image: -webkit-linear-gradient(left, rgba(232,232,232,0.50) 5%, rgba(232,232,232,0.84) 32%, #E8E8E8 66%);
	background-image: -o-linear-gradient(left, rgba(232,232,232,0.50) 5%, rgba(232,232,232,0.84) 32%, #E8E8E8 66%);
	background-image: linear-gradient(to right, rgba(232,232,232,0.50) 5%, rgba(232,232,232,0.84) 32%, #E8E8E8 66%);
}
*/

/* -- hasaccordion -- */


.accordion{
	margin:0 auto;
	max-width: 1200px;

}

#cn div#bd #mainContent div.object.hasaccordion{
	border-bottom:1px solid rgba(149,159,166,0.25);
	padding:20px 0 20px 0;
	margin:0;
	width: 100%;
}

div.accordion{
	margin-bottom: 50px;
	width: 100%;
	display: flex;
	display: -ms-flexbox; 
	display: -webkit-flex; 
	flex-wrap:wrap;
	-webkit-flex-wrap: wrap;
	-ms-flex-flow: row wrap;
	border-top:1px solid rgba(149,159,166,0.25);
}

div#bd .object.hasaccordion h2{
	padding:10px 0 12px 34px;
	position: relative;
	font-size: 1.375rem;
    line-height: 1.625rem;
    box-sizing:border-box;
}

div#bd .object.hasaccordion .content{
	padding:0 0 0 34px;
	box-sizing:border-box;
}


/** Accordeon ouverture avec bouton plus **/

#cn div#bd #mainContent div.object.hasaccordion span {
	border-radius: 50%;
	width: 24px;
	height: 24px;
	display: inline-block;
	vertical-align: middle;
	background-color: transparent;
	background-color:#d3d3d3;
	position: relative;
	margin-right: 10px;
	position: absolute;
	left: 0;
	top: 10px;
}

#cn div#bd #mainContent div.object.hasaccordion span::after {
	content: " ";
	position: absolute;
	display: block;
	background-color: #fff;
	height: 2px;
	margin-top: -1px;
	top: 50%;
	left: 6px;
	right: 6px;
	z-index: 9;
}

#cn div#bd #mainContent div.object.hasaccordion span::before {
	content: " ";
	position: absolute;
	display: block;
	background-color: #fff;
	width: 2px;
	margin-left: -1px;
	left: 50%;
	top: 6px;
	bottom: 6px;
	z-index: 9;
	opacity: 1;
	-webkit-transition: opacity 0.1s linear;
	-moz-transition: opacity 0.1s linear;
	-ms-transition: opacity 0.1s linear;
	-o-transition: opacity 0.1s linear;
	transition: opacity 0.1s linear;
}

#cn div#bd #mainContent div.object.hasaccordion.open span::before{
	opacity: 0;
}

/*  Accordeon ouverture avec arrow *

.hasaccordion h2::after{
	content:"";
	position: absolute;
	top:50%;
	left:auto;
	right: 3px;
	width:8px;
	height: 8px;
	margin-top: -8px;
	margin-left: -8px;

	-webkit-transform: rotate(-45deg);
	-moz-transform: rotate(-45deg);
	-o-transform: rotate(-45deg);
	transform: rotate(-45deg);

	display: block;
	
	border-left:2px solid #DB3640;
	border-bottom:2px solid #DB3640;
	background-color: transparent;
}

.hasaccordion.open h2::after{
	background-image:url(../img/moins_btn.svg);
	border-color: #D9D9D9;
	background-size: 15px 3px;
}

***/

/* -- Columns object -- */


div#bd .object.column, div#ft .object.column{
	margin:0 20px 40px 20px;
	padding:0 0;
	box-sizing:border-box;
	vertical-align:top;

	max-width: calc(500px - 24px);
}

.home div#bd .object.column{
	margin-bottom: 90px;
}

div#bd .object.demi, div#ft .object.demi{
	width:calc(50% - 40px);
	max-width: calc(50% - 40px);
}

/* Si besoin ->  introContent column un demi = à deux tiers */

div#bd #introContent .object.column.demi{
	width:100%;
	max-width: calc(66.66% - 40px);
}

/**/

div#bd .object.tiers, div#ft .object.tiers{
	width:calc(33.33% - 40px);
	max-width: calc(33.33% - 40px);
}

div#bd .object.quart, div#ft .object.quart{
	width:calc(25% - 40px);
	max-width: calc(25% - 40px);
}

div#bd .object.quart .wrapimg, div#ft .object.quart .wrapimg{
	max-width: 200px;
	width: auto;
	margin: 0 auto 20px auto;
}

div#bd .object.quart img, div#ft .object.quart img{
	object-fit:cover;
	width: 200px;
	height: 200px;
	position: relative;
}

div#bd .object.quart .wrapimg::after{
	content:'';
	position: absolute;
	top:-1px;
	left:-1px;
	right:-1px;
	bottom:-1px;
	background-image:url(../img/filter.svg);
	background-size:cover;
	background-repeat: no-repeat;
	pointer-events:none; /*permettre le lien sur l'image en-dessous */
	width: calc(100% + 2px);
	height: calc(100% + 2px);
}


div#bd .image.object.column h2{
	padding:0;
}

div#bd .standard.object.porteCTA{
	background-color: #fff;
	border:1px solid #E6E6E6;
	border-radius: 5px;
    -moz-border-radius: 5px;
    -webkit-border-radius: 5px;
}

div#bd #mainContent .standard.object.column_demi >div,
div#bd .standard.object.porteCTA >div{
    -webkit-transition: all 0.2s linear;
	-moz-transition: all  0.2s linear;
	-ms-transition: all 0.2s  linear;
	-o-transition: all 0.2s  linear;
	transition:  all 0.2s  linear;
}

div#bd #mainContent .standard.object.column_demi >div{
	min-height: 455px;
	position: relative;
}

#cn div#bd .object.column_demi h2{
	margin-bottom: 15px;
	text-transform: uppercase;
}

div#bd .image.object.porteCTA{
 	position: relative;
 	padding:0;
 	margin-bottom: 40px;
 	box-shadow: 2px 2px 9px 0 rgba(0,0,0,0.11);
 	height: 336px;
 	background-color: #fff;
 }

 div#bd .image.object.porteCTA img{
 	height: 260px;
 	width: 100%;
 	object-fit:cover;
 	margin-bottom: 86px;
 }

 div#bd .image.object.porteCTA a{
 	line-height: 0;
 	position: absolute;
 	top:0;
 	left:0;
 	bottom:0;
 	right:0;

 	-webkit-transition: all 0.2s linear;
	-moz-transition: all 0.2s linear;
	-ms-transition: all 0.2s linear;
	-o-transition: all 0.2s linear;
	transition: all 0.2s linear;
 }


/*
 .home div#bd .object.porteCTA::before{
 	content:'';
 	position: absolute;
 	top:0;
 	left:0;
 	right: 0;
 	bottom: 0;
	background-image: -webkit-linear-gradient(rgba(0,0,0,0.20) 36%, rgba(0,0,0,0.45) 58%);
	background-image: -o-linear-gradient(rgba(0,0,0,0.20) 36%, rgba(0,0,0,0.45) 58%);
	background-image: linear-gradient(rgba(0,0,0,0.20) 36%, rgba(0,0,0,0.45) 58%);
 }
*/

div#bd .object.column_demi .wrapimg, div#bd .object.porteCTA .wrapimg,
div#bd .object.column_demi .wrapobject, div#bd .object.porteCTA .wrapobject{
	width: 100%;
	text-align: left;
}

div#bd .object.porteCTA .wrapobject {
	z-index: 10;
	position: relative;
}

div#bd .object.porteCTA .wrapimg, div#bd .object.porteCTA .wrapimg img{
	line-height: 0;
}

div#bd .object.porteCTA >div{
	padding: 25px 35px 25px 35px;
	box-sizing: border-box;
	display: flex;
	display: -ms-flexbox; 
	display: -webkit-flex; 
	flex-wrap:wrap;
	-webkit-flex-wrap: wrap;
	-ms-flex-flow: row wrap;
}

div#bd .object.porteCTA.column.demi >div{
	padding: 60px 45px 25px 45px;
}


div#bd .object.porteCTA .wrapimg{
	order:1;
	position: relative;
	margin:0 auto 20px auto;
	text-align: center;
}

div#bd .object.porteCTA.column.demi .wrapimg{
	text-align: left;
	margin-bottom: 30px;
}

div#bd .image.object.porteCTA h2{
	position: absolute;
	bottom:0;
	
	background-color:#fff;
	order:2;
	margin: 0;
	left: 0;
	padding: 30px 40px;
	font-size: 1.1875rem;
	line-height:1.625rem;
	z-index: 10;
	width: 100%;
	pointer-events: none;
}

/* -- fond blanc -- */

div#bd .object.whiteBg{
	background-color:#fff;
	padding-top:60px;
}

/* -- Text divided columns -- */

div#bd .object.textdivided >div{
	-webkit-columns:2;
	-moz-columns:2;
	columns:2;
	-webkit-column-gap: 40px; /* Chrome, Safari, Opera */
    -moz-column-gap: 40px; /* Firefox */
    column-gap: 40px; /* space between the columns */
    text-align:justify;
}

div#bd .object.textdivided h2 {
    width:100%;
    text-align:left;
    padding:0;
    max-width: 1240px;
    margin: 0px auto 16px auto;
}

div#bd .object.textdivided p{
	margin-bottom: 27px; /* à adapter selon la taille de p afin d'aligner les lignes de textes en colonne */
}

/****/

div#bd div#bd_bg .container_first_object >div.smallSize{
	width:75%;
	float:left;
}

div#bd div#bd_bg .container_first_object ul{
	width:25%;
	float:left;
}

/***** 07. Regions *****/


/* -- region Image top content (top content with background) -- */

div#header_image_container{
   	width:100%;
	max-width: 100%;
	height:864px;

	background-color: #fff;

    height:auto;
    overflow:hidden;
    position:relative;
    margin: 0 auto 80px auto;
    z-index: 10;

   /*  box-shadow: 0 0 10px 0 rgba(0,0,0,0.3); */
}

div#header_image_container .header_image_backgroundImage{
	width:100%;
	margin:0 auto;

	overflow:hidden;
	position:relative;
	box-sizing:border-box;
	
/* -- Background image here -- */
	background-image:none; /* insert your image here */
	background-size:cover;
	background-repeat:no-repeat;
	background-position:center center;
}

/*
div#header_image_container .header_image_backgroundImage::after{
	content:'';
	position: absolute;
	top:0;
	left:0;
	right:0;
	bottom:0;
	background: linear-gradient(187.65deg, rgba(0,0,0,0) 0%, rgba(0,0,0,0.8) 100%);
}
*/

.mainMenu div#header_image_container .header_image_backgroundImage::after{
	display: none;
}

#header_image_container{
	padding:0;
	position:relative;
	z-index:20;
}

#header_image_container div.headerContainer{
    width: 100%;
    max-width: 1240px;
    margin:0 auto;
    padding:0px 20px;
    box-sizing: border-box;
    z-index: 10;
    position: relative;
}

#bd #header_image_container .object{
    width: 100%;
	color: #fff;
	padding:0 0;
	height: 145px;

	position: relative;
    font-size: 1.0625rem;
    line-height: 1.625rem;
    text-align:left; 
    margin:0px auto;
    font-weight: 400;

    left:0;
    right: 0;
    top:0;
    bottom: 0;
}

#bd #header_image_container .object >div{
    max-width: 700px;
    margin: 0;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
}


#bd #header_image_container .object .wrapobject, #bd .slider .object .wrapobject{
	max-width: 500px;
	position: relative;
}

#bd #header_image_container .object h2{
	font-size:1.5rem;
	line-height: 2rem;
	font-weight: 400;
	color:#fff;
	text-align:left;
	margin-bottom:10px;
}

#bd #header_image_container .object h2::before{
	display: none;
}

/**/

/** breadcrumb **/

#breadcrumbContent{
	display: block;
	width: 100%;
}

#breadcrumbContent .cn{
	padding:0 20px 0 20px;
	box-sizing: border-box;
	margin-bottom: 0;
	text-align: left;
}

#breadcrumbContent .cn::after{
	content:'';
	position: absolute;
	left:20px;
	right:20px;
	bottom:0;
	height: 1px;
	background-color:rgba(0,0,0,0.2);
}

#breadcrumbContent .breadcrumb{
	background-color: transparent;
	padding:10px 20px;
	margin:0;
	display: inline-block;
}

#breadcrumbContent span{
	color:#575657;
	font-weight: 400;
}

#breadcrumbContent .breadcrumb a{
	text-decoration: none;
	font-weight: 400;
}

#breadcrumbContent .breadcrumb a:hover{
	text-decoration: underline;
}

.blog #breadcrumbContent{
	display: none;
}

#breadcrumbContent .breadcrumb i{
	margin:0 10px;
	color:rgba(0,0,0,0.2);
}

#breadcrumbContent #home_icon a{
	padding: 10px 5px;
    display: inline-block;
    opacity:1;
    -webkit-transition: opacity 0.1s linear;
	-moz-transition: opacity  0.1s linear;
	-ms-transition: opacity  0.1s  linear;
	-o-transition: opacity  0.1s  linear;
	transition: opacity  0.1s  linear;
}

#breadcrumbContent #home_icon a:hover{
	opacity: 0.6;
}

/* -- region Introduction content -- */

#bd #introContent .cn{
	box-sizing:border-box;
	position: relative;
	z-index: 20;
	padding-top: 0;
	padding-bottom: 0;
	max-width: 960px;
}

#bd #introContent .teaserlist-title h2{
	text-transform: uppercase;
	margin-bottom: 30px;
}

.home #bd #introContent .cn{
	max-width: 1240px;
}


.blog #bd #introContent .cn{
	min-height: 0;
	padding-bottom: 0;
}


.home #bd #introContent h2{
	color: #292929;
	font-size: 1.1875rem;
	line-height: 1.5rem;
	margin-bottom: 10px;
}

#bd #introContent .object{
	font-size:1.25rem;
	line-height: 1.75rem;
	position: relative;
}

#bd #introContent .eventlist.object{
	width: calc(100%/3 - 40px);
    border: 1px solid #E6E6E6;
	background-color: #fff;
	margin-bottom: 90px;
}

@media only screen and (max-width: 800px){
	div#bd #introContent .object.column.demi, 
	#bd #introContent .eventlist.object{
		width: calc(100% - 40px);
		max-width: calc(100% - 40px);
	}

	#bd #introContent .eventlist.object{
		margin-bottom:0;
	}

	.home.mobile #bd #introContent .cn .first.object{
		padding-bottom: 0;
	}
}


#bd #introContent .eventlist.teaserlist.object{
	padding: 30px;
	box-sizing: border-box;
	border-radius: 5px;
}

div#bd .eventlist .wrapimg,
div#bd .eventlist .wrapobject {
	width: 100%;
}

#bd #introContent .eventlist .item{
	padding-bottom: 15px;
	border-bottom: 1px solid #d3d3d3;
	margin-bottom: 15px;
}

#bd #introContent .eventlist .item-content,
#bd #introContent .eventlist .item-readmore a,
#bd #introContent .eventlist .item-date{
	font-size: 0.9375rem;
	line-height:1.375rem;
}

#bd #introContent .eventlist .item-date{
	font-weight: 700;
}

#bd #introContent .eventlist .dayName{
	text-transform: capitalize;
}

#bd #introContent .eventlist .item-readmore{
	display: none;
}

/* -- region mainContent -- */

.blog div#bd #mainContent div#bd .object.first{
	padding-top:0;
}

/* -- region Footer content -- */

div#ft #footerContent{
	position: relative;
	box-sizing:border-box;
	width: 100%;
}

div#ft #footerContent h2{
	width: 100%;
	font-size: 1.0625rem;
	line-height: 1.875rem;
	margin-bottom: 7px;
	font-weight: 700;
	margin-bottom: 7px;
	padding: 0;
}

div#ft #footerContent .cn{
	padding: 60px 0 40px 0;
	display: flex;
	display: -ms-flexbox; 
	display: -webkit-flex; 

	flex-wrap: wrap;
	-ms-flex-wrap: wrap;

	align-items: center;
	justify-content: space-between;
	-ms-flex-pack: justify;
}

div#ft #footerContent .cn .object, strong#logo_footer{
	padding-left:0;
	box-sizing:border-box;
	text-align: center;
	font-size: 1rem;
	margin: 0 20px 20px 20px;
	padding: 0;
	pointer-events:auto;
}

div#ft #footerContent .cn .object img{
	max-width: 100%;
}

div#ft #footerContent .cn .object h2{
	font-size: 1.6875rem;
	line-height: 2.5625rem;
}

div#ft #footerContent .cn .object a{
	text-decoration: underline;
}

div#ft #footerContent .cn .map.object{
	width: 100%;
	padding:0;
	margin: 50px 0 0 0;
}

div#ft #footerBg{
	background-color: #fff;
	padding:80px 0 40px 0;
	box-sizing:border-box;
	min-height:220px;
}

.newsletterContent form.kSiteForm, div#ft .newsletterContent h2{
	display:inline-block;
	vertical-align:middle;
	clear:none;
}

#cn .newsletterContent h2, #ft .newsletterContent h2{
	margin:0 20px 0 0;
	font-size:1rem;
	display:inline-block;
	width: auto;
	position: relative;
    top: 3px;
}

.newsletterContent form.kSiteForm input.text{
	border: 3px solid #DB3640;
    height: 26px;
    min-width:180px;
    padding: 5px 10px;
}

.newsletterContent form.kSiteForm{
	min-width: 330px;
	margin:0;
}

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

.newsletterContent .object{
	margin:0;
}

.newsletterContent .form.object #btSubmit{
	float:left;
	font-size: 1rem;
    padding: 5px 12px;
    height: 42px;
    border: 3px solid #DB3640;
}

.newsletterContent form.kSiteForm label.error{
	position:absolute;
}

.newsletterContent form.kSiteForm label{
	color:#DB3640;
	font-weight:400;
	font-size: 0.9rem;
}


.newsletterContent .form.object fieldset{
    float: left;
    text-align: left;
}

div#ft .footerNav ul#footerNav-main li{
	display: inline-block;
	width: auto;
}

div#ft .footerNav ul#footerNav-main li{
	color:#947a59;
}

#hd .newsletterContent{
	float:right;
	text-align:right;
	padding-top:40px;
	padding-right: 20px;
	width:auto;
}

#hd .newsletterContent h2{
	top: 7px;
}

#hd .newsletterContent .object a{
	padding:10px;
	display: inline-block;
	text-transform: uppercase;
	font-weight:700;
	font-size: 1.188rem;
    color:#000;
    opacity: 1;
    -webkit-transition: color 0.2s linear;
	-moz-transition: color 0.2s linear;
	-ms-transition: color 0.2s  linear;
	-o-transition: color 0.2s  linear;
	transition: color 0.2s  linear;
}

#hd .newsletterContent .object a:hover{
	text-decoration:none;
	color:#DB3640;
}

.newsletterContent{
	width:455px;
}

/***** SLIDER -- documentation ici http://kenwheeler.github.io/slick/ --  *****/

/***** SLIDER -- documentation ici http://kenwheeler.github.io/slick/ --  *****/

.slider_container{
	position: relative;
	width: 100%;
	max-width: 100%;
	height:auto;
	min-height: 200px;
	padding:0 0;
	box-sizing: border-box;

	margin: 0 auto;
	z-index:10;

	background-color: #000;
	display: flex;
	display: -ms-flexbox;
	display: -webkit-flex; 
	flex-wrap:wrap;
	-webkit-flex-wrap: wrap;
	-ms-flex-flow: row wrap;
}

.appPage.desktop div#bd{
	margin-top:92px;
}

.appPage.admin.desktop div#bd{
	margin-top:0;
}

.home .slider_container{
	margin-bottom: -60px;
}

.slider_container{
	margin-bottom: 80px;
}


.home .slider_container .left-col{
	position: relative;
}

.slider_container .image.object{
	position:relative;
}

.home .slider_container{
	background-color: #db3640;
}

.slider_container .image.object::after, #highlightContent::after{
	content:'';
	position: absolute;
	top:0;
	left:0;
	right:0;
	bottom:auto;
	width:400px;
	height: 100%;
	background: linear-gradient(270deg, rgba(219,54,64,0) 0%, #db3640 100%);
}

.home .slider_container{
	height:42.76vw;
	max-height:650px;
}

.slider_container div.cn{
	padding: 80px 0;
}

#cn .slider_container .left-col{
	width: 50%;
	z-index: 20;
}

#cn .slider_container .left-col .text.object{
	padding:0 0;
	color: #fff;
}


#cn .slider_container .left-col{
	width: 55%;
	position: relative;
    z-index: 50;
}

#cn .slider_container .cn{
    display: flex;
	display: -ms-flexbox;
	display: -webkit-flex; 
	flex-wrap:wrap;
	-webkit-flex-wrap: wrap;
	-ms-flex-flow: row wrap;
	align-items: center;
}


#bd .slider{
	width: 100%;
	margin:0 0 0 auto;
	height: auto;
	width: 66.66%;

	display: flex;
	display: -ms-flexbox;
	display: -webkit-flex; 
	flex-wrap:wrap;
	-webkit-flex-wrap: wrap;
	-ms-flex-flow: row wrap;
}

.home #bd .slider::before{
	content:'';
	position: absolute;
	top:0;
	left:0;
	right: 0;
	bottom:0;
	background-position: left -2px bottom;
	background-image:url(../img/orange-home-corner.svg);
	background-repeat:no-repeat;
	background-size: auto auto;
	z-index: 20;
	pointer-events: none;

}


#bd .slider{
	position: absolute;
	right: 0;
	top: 0;
	bottom: 0;
}

#bd .slick-track{
	height: 100%
}

.slick-slide:focus{
	outline: none;
}

.slick-slider .slick-track, .slick-slider .slick-list{
	width: 100%;
}

#bd .slider .object{
	padding:0;
	margin:0;
	position: relative;
	z-index: 20;
	background-size: cover;
	background-position: center center;
}


div#bd .slider .object >div {
    width: 100%;
    max-width: 1240px;
    margin: 0 auto;
    padding: 0 20px;
    box-sizing: border-box;

    justify-content:flex-start;
	-ms-flex-pack: left;
}

.home div#bd .slider .object{
	overflow: hidden;
	position: relative;
	background-size: cover;
	background-repeat:no-repeat;
	background-position: center center;

	height:42.76vw;
	max-height:650px;
	padding:0;

	display: flex;
	display: -ms-flexbox; 
	display: -webkit-flex; 
	align-items: center;
	justify-content: center;
	-ms-flex-pack: center;

	flex-wrap:wrap;
	-webkit-flex-wrap: wrap;
	-ms-flex-flow: row wrap;
}

#bd .slider .object .wrapimg{
	display: none;
}

#bd .slider .object .wrapobject{
	z-index: 20;
	color: #fff;
	box-sizing:border-box;
}

#bd .slider .object .wrapobject a.button, #bd .slider .object .wrapobject a.button::after{
	text-shadow: none;
	margin: 10px 0;
	background-color: #fff;
	color: #E35205;
}



#cn .slider h2::before{
	display: none;
}


#cn .slider .image.object h2{
	max-width: 630px;
    margin: auto;
    display: block;
}


#bd .slider .object .wrapobject::after{
    content: '';
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translateY(-50%) translateX(-50%);
    width: 100%;
	height: 100%;
	padding:40px 40px;
    display: block;
    background-color: rgba(7,77,120,0.9);
    z-index: -1;
}


/* slick dots */
	
ul.slick-dots{
	position:absolute;
	bottom:24px;
	left:50%;
	transform:translateX(-50%);
	margin:0 auto;
	text-align: left;
	display: block!important;
	
	z-index: 10;
}


ul.slick-dots li{
	list-style-type:circle!important;
	display:inline-block;
	margin:0px auto;
}

.slick-dots li button {
    font-size: 0;
    line-height: 0;
    display: block;
    width: 8px;
    height: 8px;
    padding: 0;
    margin: 0 5px 0 5px;
    border: none;
    cursor: pointer;
    background-color: rgba(255,255,255,0.6);
    background-image: none;
    outline: none;

    box-shadow:none

   border-radius: 150px;
	-moz-border-radius: 150px;
	-webkit-border-radius: 150px;
}

.home .slick-dots li button{
	margin: 0 10px 0 0;
}


.slick-dots li.slick-active button {
	background-color: rgba(255,255,255,1);
    border: none;
}

.slick-prev, .slick-next{
	position: absolute;
	background-color: transparent; 
	top: 50%;
	left:0;
	transform:translateY(-50%);
	display: block;
	width: 60px;
	height: 66px;
	cursor: pointer;
	border: none;
	outline: none;
	color:transparent;
	z-index: 20;

	-webkit-transition: opacity 0.2s linear;
	-moz-transition: opacity  0.2s linear;
	-ms-transition: opacity  0.2s  linear;
	-o-transition: opacity  0.2s  linear;
	transition: opacity  0.2s  linear;
}

.slick-next {
  right:0;
  left: auto;
}

.slick-prev::after, .slick-next::after{
	content:"";
	position: absolute;
	top:50%;
	left:50%;
	width:16px;
	height: 16px;
	margin-top: -8px;
	margin-left: -8px;

	-webkit-transform: rotate(-45deg);
	-moz-transform: rotate(-45deg);
	-o-transform: rotate(-45deg);
	transform: rotate(-45deg);

	display: block;
	
	border-top:3px solid #fff;
	border-left:3px solid #fff;
	background-color: transparent;
}

.slick-next::after{
	margin-left: -11px;
	-webkit-transform: rotate(135deg);
	-moz-transform: rotate(135deg);
	-o-transform: rotate(135deg);
	transform: rotate(135deg);
}

.slick-prev:hover, .slick-next:hover{
	opacity:0.5;
}
		
		
		
/****/


/** slider sponsors **/

#sliderLogoContent{
	background-color: #f3f3f3;
	-moz-box-shadow:0 0 14px rgba(0,0,0,0.16);
    -webkit-box-shadow: 0 0 14px rgba(0,0,0,0.16);
    box-shadow: 0 0 14px rgba(0,0,0,0.16);
}

#sliderLogoContent .cn{
	padding: 60px 0 60px 0;
}


.slider_sponsors {
	width: 1240px;
	margin:0px auto;
	padding:40px 0;
}

#sliderLogoContent .slick-slider{
	position: relative;
}

.slider_sponsors .object img{
	display:inline-block;
	float:none;
	margin:auto;
	max-width:85%;
	max-height:76px;
	width:auto;
	height:auto;
}

.slider_sponsors .object a{
	margin:auto;
	height:60px;
	width:100%;
	-webkit-transition: opacity 0.2s linear;
    -moz-transition: opacity 0.2s linear;
    -ms-transition: opacity 0.2s linear;
    -o-transition: opacity 0.2s linear;
    transition: opacity 0.2s linear;
}

.slider_sponsors .object a:hover{
	opacity: 0.7;
}

.slider_sponsors .object{
	text-align:center;
	padding:0 0px;
	box-sizing:border-box;
	display:block;
	margin:0;
	position:relative;
	line-height:50px;
}


#bd .slider_sponsors .object{
	padding-bottom: 0;
}

.slider_sponsors .object >div{
	text-align:center;
	height:100px;
	display: flex;
	display: -ms-flexbox; 
	display: -webkit-flex; 
}

.slider_sponsors .slick-prev{
	left:-50px;
	background-color: transparent;
}

.slider_sponsors .slick-next{
	right:-50px;
	background-color: transparent;
}

.slider_sponsors .slick-prev::before, .slider_sponsors .slick-prev::after,
.slider_sponsors .slick-next::before, .slider_sponsors .slick-next::after {
	border-color:#545454;
}

div#bd .slider_sponsors .image.object img{
	max-width: 156px;
}

		
/*-- region Main content  --*/

div#bd #mainContent{
	position: relative;
	z-index: 10;

	display: flex;
	display: -ms-flexbox; 
	display: -webkit-flex; 
	flex-wrap:wrap;
	-webkit-flex-wrap: wrap;
	-ms-flex-flow: row wrap;

	justify-content: center;
	-ms-flex-pack: center;
}

div#bd #mainContent .cn{
	min-height: 200px;
	padding: 0 0 50px 0;
}

.home div#bd #mainContent .cn{
	padding-bottom: 0;
}

div#bd #mainContent .cn, div#bd #mainContent .portes, div#bd #mainContent .cn, div#bd #introContent .cn, div#ft #promesseContent div.cn {
	display: flex;
	display: -ms-flexbox; 
	display: -webkit-flex; 
	flex-wrap:wrap;
	-webkit-flex-wrap: wrap;
	-ms-flex-flow: row wrap;
}


div#ft #promesseContent div.cn h2{
	width: 100%;
	display: block;
	text-align: left;
}

div#ft #promesseContent div.cn .image.object >div{
	display: flex;
	display: -ms-flexbox; 
	display: -webkit-flex;
	flex-wrap:wrap;
	-webkit-flex-wrap: wrap;
	-ms-flex-flow: row wrap;
	align-items: center;
	justify-content: center;
	-ms-flex-pack: center;
}

div#ft #promesseContent div.cn .image.object h2{
	order:2;
	text-align: center;
	font-size: 1.125rem;
	line-height: 1.375rem;
	margin:0;
}

div#ft #promesseContent div.cn .image.object img{
	order: 1;
	margin-bottom: 25px;
}

div#ft #promesseContent .image.object{
	background-color: #fff;
	padding: 56px 20px;
	border-bottom:6px solid rgba(35,56,104,0.2);
	display: flex;
	display: -ms-flexbox; 
	display: -webkit-flex; 
	align-items: center;
	justify-content: center;
	-ms-flex-pack: center;
}

div#bd #mainContent .portes .standard.object.porteCTA{
	background: #D8D8D8;
	box-shadow: 2px 2px 8px 0 rgba(0,0,0,0.26);
	border-radius: 3px;
    -moz-border-radius: 3px;
    -webkit-border-radius: 3px;
    overflow: hidden;
    margin-top: -120px;
}

/* -- region highlight -- */

#highlightContent{
	position: relative; 
	margin-bottom: 0;
}

#highlightContent .wrapobject{
	padding:150px 0 150px 0; 
}

.home #highlightContent{
	margin-bottom: -60px;
}

.home #highlightContent .wrapobject{
	padding:150px 0 210px 0; 
}

#highlightContent div.cn{
	position: static;
	padding:0;
}

div#bd #highlightContent .object .wrapimg{
	position: absolute;
	top:0;
	right:0;
	bottom:0;
	width: 66.66vw;
	margin-bottom: 0;
	background-color: #9B272F;
	background-size:cover;
	background-repeat: no-repeat;
	background-position: center center;
}

div#bd #highlightContent .object{
	padding-bottom: 0;
}

div#bd #highlightContent .object .wrapobject h2{
	font-weight: 900;
}

div#bd #highlightContent .object .wrapobject,div#bd #highlightContent .object .wrapobject h2{
	color: #fff;
	z-index: 20;
}




/* portes */

div#bd #mainContent .portes{
	justify-content:center;
	-ms-flex-pack: center;
}

/** prefooter content **/

#bd #prefooterContent{
	position: relative;
	background-color: #EDEDED;
	box-shadow: inset 0 7px 30px 0 rgba(0,0,0,0.05);
	
	/* image de fond prefooter 

	background-image:url(../img/prefooter_bg.jpg);
	background-position: center center;
	background-size: cover;
	
	*/
}

/* 

#bd #prefooterContent::after{
	content:'';
	position: absolute;
	top:0;
	left:0;
	right:0;
	bottom:0;
	background-color:rgba(0,0,0,0.2)
}

*/


#bd #prefooterContent .object{
	position: relative;
	z-index: 10;
	padding:60px 0;
	background-size: cover;
	background-position: center;
	max-width: 1240px;
	margin:0 auto;
}

#bd #prefooterContent .bloglist.object{
	max-width: 1440px;
}

#bd #prefooterContent .text.object >div{
	max-width: 750px;
	margin:0 20px;
}

#bd #prefooterContent .image.object, #bd #prefooterContent .image.object >div{
	width: 100%;
	max-width: 100%;
	margin:0;
	padding-bottom: 0;
	height: 50vw;
}

/***** 08. BLOG *****/

/* -- Blog listing on homepage -- */

.home .blog{
	margin-bottom:60px;
}

/****/

.home div#bd .object.bloglist{
	margin:0;
	box-sizing: border-box;
	max-width: 100%;
	width: 100%;
}

.home #cn .object.bloglist .item-title h2, .home #cn .object.bloglist .item-title a{
	text-decoration: none;
	font-size: 1.25rem;
    line-height: 1.5rem;
}

.home #cn .object.bloglist .item-title h2{
	margin-bottom: 10px;
}


.home .readmore-container{
	padding: 0 0;
	box-sizing: border-box;
	margin:0 auto;
	text-align: center;
	width:calc(100% - 40px);
}


#bd .bloglist.teaserlist .teaserlist-container{
	display: flex;
	display: -ms-flexbox; 
	display: -webkit-flex; 
	flex-wrap:wrap;
	-webkit-flex-wrap: wrap;
	-ms-flex-flow: row wrap;
	margin:0;
	max-width: 100%;
}

#cn .bloglist.teaserlist .teaserlist-title h2{
	width: calc(100% - 40px);
	margin: 0 20px 40px 20px;
	max-width: 1440px;
	padding:0;
	box-sizing: border-box;
	font-weight: 900;
	text-align: center;
}


.bloglist.teaserlist .item.blog-item {
	width: calc(50% - 40px);
	margin: 0 20px 40px 20px;
	padding: 30px 40px 50px 40px;
	box-sizing: border-box;
	background-color: #fff;
	border-radius: 5px;
    -moz-border-radius: 5px;
    -webkit-border-radius: 5px;
    border: 1px solid #E6E6E6;
}

.home .bloglist.teaserlist .item.blog-item{
	width: calc(33.33% - 40px);
}

@media only screen and (max-width: 800px) {
	.home .bloglist.teaserlist .item.blog-item{
		width: calc(100% - 40px);
	}
}

.bloglist.teaserlist .teaserlist-readmore{
	text-align: center;
}

div#bd .bloglist.teaserlist .item.blog-item .wrapobject {
	width: 100%;
	margin:0;
}

div#bd .bloglist.teaserlist .item.blog-item .wrapimg{
	width: 100%;
	height: auto;
	margin-bottom: 15px;
	background-size: cover;
	background-position: center center;
}

.home div#bd .bloglist .wrapobject{
	width: 100%;
}

.item-description{
	font-size: 0.9375rem;
	line-height: 1.375rem;
}


/* block listing page */

.blog #cn div.blog h2, div.blog h2 a {
    margin-bottom: 0;
    width: 100%;
    text-transform: none;
    font-size: 1.125rem;
    line-height: 1.5rem;
    display: block;
	font-weight: 700;
	text-align: left;
}

.blog #cn div.blog h2{
	margin-bottom: 7px;
}

.blog #cn div.blog .header{
	overflow:hidden;
	padding-bottom:12px;
	margin:0 auto;
}

.blog #cn div.blog .header .details em{
	font-weight: 500;
	font-style: normal;
	color: #000;
}

body.blog:not(.blog_details) div#bd .object.blog {
    width: calc(50% - 40px);
    margin-left: 20px;
    margin-right: 20px;
    padding: 30px 35px;
    margin-bottom: 30px;
    background-color: #fff;
    box-shadow: 2px 2px 14px 0 rgba(0,0,0,0.17);
    box-sizing: border-box;
}

.blog div#bd #mainContent .cn{
	padding-top: 0;
}


.blog div#bd .object.blog .content img {
    margin: 0 0 20px 0;
    max-width: 100%;
    width: auto;
    height: auto;
}

/***/


#cn div.blog .details{
	display: block;
}

.blog div#bd .item-readmore a.readmore{
	float:left;
	text-decoration: underline;
	border:none;
	margin:0;
	padding: 0;
	font-weight: 700;
}

.blog div#bd .blog .content a.readmore:hover{
	text-decoration: none;
}

.blog div#bd .blog .content hr{
	display: none;
}

/* Blog details page */

.blog_details div#bd .object >div{
	max-width: 750px;
	margin:0 auto 30px auto;
}

.blog_details .wrapinfos.content{
	text-align: center;
}

.blog_details .navpost-next a.linkBtn i{
	margin-left: 10px;
}

.blog_details .navpost-prev a.linkBtn i{
	margin-right: 10px;
}


.blog_details .navpost-page{
	display: flex;
	flex-wrap: wrap;
	justify-content:space-between;
}

.blog_details .navpost-back{
	display: block;
	text-align: center;
	padding-top: 20px;
	margin-top: 20px;
	border-top: 1px solid #d3d3d3;
}

.blog_details div#cn h1{
	text-align: center;
	display: block;
	width: 100%;
}

.blog_details .navPost-back, .blog_details #cn div.blog .header{
	text-align: center;
}

.blog_details .navPost-back a{
	color: #aaaaaa;
}

.blog_details div#bd .navPost{
	text-align: center;
}

.blog_details div#bd .object.blog .content img{
	max-height:500px;
	max-width:100%;
	display: inline-block;
	margin: 0 0 0 0;
	float: none;
}

.blog_details div#bd .object.blog  >div .wrapimg{
	width: 100%;
	display: block;
	text-align: center;
	margin-bottom: 30px;
}


/* hide the top page title if necessary !! be carefull, there could be 2 H1 on the blog details page */
.blog_details #header_image_container h1{
	display:none;
}
/**/
	
.blog_details .blog.detail.object div.detail{
	display: block;
    vertical-align: top;
    width: 100%;
    padding: 0 20px 30px 20px;
    box-sizing: border-box;
}

.blog_details div#bd .blog.object img{
	margin-bottom:10px;
}


/** button preview and next **/

.navPost-prev, .navPost-next{
	display: inline-block;
	width:auto;
	padding:20px 0;
}


/*****  09. Events  *****/

div#bd .object.event{
	padding-top:40px;
}

div#bd #bd_bg #mainContent div.event.list{
	text-align: center;
}

.home div#bd #bd_bg #mainContent div.event.list{
	padding:80px 0;
	text-align: left;
}

div#bd #mainContent div.event.list.object ul{
	padding: 0;
	width: 100%;
    max-width: 1240px;
    margin: 0px auto;
}

div#bd #mainContent div.event.list.object ul li.event{
	padding:0 20px;
	margin:0 0 14px 0;
	box-sizing: border-box;
	text-align: left;
}

div#bd #mainContent div.event.list.object .object.event ul{
	display: flex;
	display: -ms-flexbox; 
	display: -webkit-flex; 
	flex-wrap:wrap;
	-webkit-flex-wrap: wrap;
	-ms-flex-flow: row wrap;
	border-bottom: 1px solid #d3d3d3;
	padding-bottom: 14px;
}

div#bd #mainContent div.event.list.object .object.event ul >li{
	align-items: flex-start;
}

div#bd .event.list.object ul{
	list-style: none;
	margin:0;
}

.home #cn .event.object >h2{
	max-width: 1240px;
	padding:0 20px 20px 20px;
	box-sizing: border-box;
	margin:0 auto;

	font-size: 1.4375rem;
    line-height: 1.875rem;
    text-transform: uppercase;
}

div#bd .object .event-list-container{
	max-width: 1240px;
	display: flex;
	display: -ms-flexbox; 
	display: -webkit-flex;
	justify-content: center;
	-ms-flex-pack: center;
	flex-wrap:wrap;
	-webkit-flex-wrap: wrap;
	-ms-flex-flow: row wrap;
}

.event-list-container .event{
	margin: 0 20px 40px 20px;
    width: calc(33.33% - 40px);
    box-sizing: border-box;
}

.event-list-container .event b.date{
	font-size: 0.875rem;
    line-height: 1.4375rem;
    margin-bottom: 5px;
    display: inline-block;
    color: rgba(0,0,0,0.8);
}

.event-list-container .event p{
	margin:0;
	font-size: 0.9375rem;
    line-height: 1.375rem;
}

#cn .event-list-container .event h2{
	margin:0 0 5px 0;
}


.event-list-container .event img{
	max-width: 100%;
	height: auto;
}

body.event .teaserlist-container{
	display: flex;
    flex-wrap: wrap;
    width: 100%;
}

body.event .teaserlist-container .item >div{
    border: 1px solid #E6E6E6;
    background-color: #fff;
}

body.event .teaserlist-container .item >div .wrapobject{
	padding: 20px;
	box-sizing: border-box;
}

.event_details .teaserfull-container {
    width: 100%;
    max-width: 750px;
    margin: 0px auto !important;
}

/* -------------------------- EVENTS affichage en ligne ---------------------- */

body.event .eventlist .teaserlist-container .item {
	width: calc(100% - 10px * 2);
	margin: 0 10px 40px 10px;
  }
  @media only screen and (min-width: 640px) and (max-width: 1023px) {
	body.event .eventlist .teaserlist-container .item {
	  width: calc(100% / 3 - 10px * 2);
	  margin: 0 10px 40px 10px;
	}
  }
  @media only screen and (min-width: 1024px) {
	body.event .eventlist .teaserlist-container .item {
	  width: calc(100% / 3 - 10px * 2);
	  margin: 0 10px 40px 10px;
	}
  }
  

/** Events détails **/

div#bd div#bd_bg .detail.object .block{
	margin-bottom:60px;
}


div#bd .object.event li.date{
	font-weight: 700;
	text-transform: uppercase;

	display: flex;
	display: -ms-flexbox; 
	display: -webkit-flex;
	flex-wrap: wrap;
	-ms-flex-wrap: wrap;
}

div#bd .object.event li.date .eventDateEnd{
	margin-left: 10px;
}

div#bd .object.event .eventDateStart .year{
	display: none;
}

div#bd .object.event .title a {
    font-weight: 700;
   	font-style:normal;
    color: #DB3640;
    font-size: 1.125rem;
    text-decoration: none;
    background-color: transparent;
    padding: 0 5px;
    display: block;
}

div#bd .object.event .title a:hover{
	opacity: 0.5;
}

.event .dates{
	padding-bottom: 0;
}

div#bd .object.event .eventDateStart >span.day{
	text-transform: uppercase;
	font-weight: 700;
	box-sizing: border-box;
}

div#bd .object.event .place{
	color:#848484;
}

div#bd .object.event .title a::before, div#bd .object.event .place::before{
	content: '-';
	margin-right: 5px;
	font-weight:400;
}

div#bd .object.event .eventDateStart .time{
	display: none;
}

div#bd .object.event .map p{
	margin-top:10px;
}

div#bd .object.event #kamGallery{
	margin-top:60px;
}

.event_details div#bd .object .wrapimg{
	width:100%;
	margin-bottom: 30px;
	text-align: center;
}

.addthis_sharing_toolbox{
	padding-top:70px;
	padding-bottom:10px;
}

.event_details div#bd #mainContent .object.first{
	padding-top:0;
}

.event_details .wrapinfos{
	text-align: center;
}

.event_details .wrapinfos .item-place{
	margin-bottom: 20px;
}

.event_details .wrapinfos .item-date{
	text-transform: uppercase;
}

.event_details div#bd #mainContent .object .wrapobject{
	width: 100%;
}

/***** 10. Gallery *****/

#kamGallery{
	width: 100%;
    margin: 0 auto 100px auto;
    max-width: 1240px;
}

#kamGallery ul{
	display: flex;
	display: -ms-flexbox; 
	display: -webkit-flex; 
	flex-wrap:wrap;
	-webkit-flex-wrap: wrap;
	-ms-flex-flow: row wrap;

	margin:0;
	padding:0 10px 0 10px;
}

#kamGallery ul li{
	width: calc(25% - 24px);
	margin:0 12px 24px 12px;
	display: inline-block;
	float: none;
}

#kamGallery ul li a{
	display:block;
	position: relative;
	line-height: 0;
}

#kamGallery ul li a::before{
	content:'';
	position: absolute;
	top:0;
	left:0;
	right:0;
	bottom:0;
	background-color:#000;
	opacity: 0;

	-webkit-transition: opacity 0.2s linear;
	-moz-transition: opacity 0.2s linear;
	-ms-transition: opacity 0.2s linear;
	-o-transition: opacity 0.2s linear;
	transition: opacity 0.2s linear;
}

#kamGallery ul li:hover a::before{
	background-color: #000;
	opacity: 0.3;
}

.event.detail.object #kamGallery ul{
	margin-left: -12px;
}

#kamGallery ul li img{
	width: 100%;
	height: auto;
	margin: 0;
	max-width: 100%;
}

/***** 11. Shop *****/

/* -- basket button -- */

#hd .panier{
	position:absolute;
	right:20px;
	top:15px;
	height:75px;
	max-width:135px;
	display:block;
	z-index:50;
}

#kScart{
	cursor:pointer;	
	background:url(../img/panier.png) right 16px no-repeat;
	height:116px;
}

#kScart li div.Im img{ 
	margin-left: 4px;
    width: auto;
    max-width: 95%;
    max-height: 90px;
}

#kScart ul{
	border:none;
	background: url(../img/arrow_nav.png) 20px top no-repeat;
	padding:0;
	margin:0;
}

#kScart ul strong, #kScart ul em{
	font-size:0.8em;	
}

#kScart ul li{
	border-bottom:1px solid #e0256a;
	color:#e0256a;
	background-color:rgba(255,255,255,1);
	padding:10px 0 10px 0;

}

#kScart li div{
	padding-left:70px;
	display:inherit;
}

#kScart h2.scart span{
	margin:0;
	background:none;
}

#kScart h2{
	text-transform: uppercase;
    font-size: 1.1rem;
    text-decoration: none;
    color: #fff;
    padding: 24px 60px 0 0px;
    text-align:right;
    line-height: 20px;
    visibility:hidden;
}

#hd .panier p{
	 top:-22px;
	 margin:0;
}

#hd .panier p span, #hd .panier .emptyBasket{
	display:none;	
}

#hd .panier p span.totart{
	display: inline-block;
    background:url(../img/scart_number_bg.png)center center no-repeat;
    padding: 7px 8px 9px 8px;
    color:#fff;
    font-weight:700;
    position:absolute;
    top:0;
    right:-12px;
    font-size:0.7em;
}

#kScart li div.Im{
	padding:0 10px 0 5px;
	width:55px;
	height:auto;
}

#kScart a.sCartOrder{
	position: absolute;
    top: 0px;
    overflow: hidden;
    width: 0px;
    height: 0px;
    display: none;
    padding: 75px 0px 0px 155px;
    margin: 0px;
    background:none;
}

#kShopScart{
	width:100%;
}


/* -- Shop page general -- */
	
.kShop{
	max-width:960px;
	margin:60px auto 60px auto;
}
	
/* -- shop listing with link to details pages -- */

.kProductInfos, .kProductDetailMore{
	background:none;
	text-align:left;
}

.kProduct{
	padding-bottom:30px;
	margin-bottom:40px;
	border-bottom:3px solid rgba(0,0,0,.1);
	-webkit-transition: all 0.3s ease-in;
	-moz-transition: all 0.3s ease-in;
	-ms-transition: all 0.3s ease-in;
	-o-transition: all 0.3s ease-in;
	transition: all 0.3s ease-in;
}

.kProduct:hover{
	border-bottom:3px solid #a12c30;
	cursor:pointer;
	box-shadow:none;
}

.kProduct a:link{
	display:inline-block;
	width:auto;
}

.kProduct img{
	max-width:100%;
	height:auto;
	max-height:150px;
	width:auto;
	float:none;
	display:inline-block;
}

.kProduct u.new{
	margin-left: 90%;
}

.kProductDetail{
	width:100%;
}


#cn .kProductInfos h3, #cn .kProductDetail .kProductDetailInfos h1{
    font-weight: normal;
    font-style: normal;
    font-size: 1.250rem;
    color: #c14142;
    margin-bottom: 20px;
    text-transform: uppercase;
}

.kProduct p.price span, .kProductDetail p.price span,
.kProduct a:link p.price.action .normal, .kProductDetail p.price.action .normal{
    font-weight: normal;
    font-style: normal;
    font-size: 1.4rem;
    color: #c14142;
    margin-bottom: 35px;
    text-transform: uppercase;
    margin-top:5px;
    display:inline-block;
}

/* -- shop product details page -- */

.shop_product .kProductDetailImg{
	width:25%;
	margin-right:5%;
	float:left;
	text-align:left;
}

.shop_product .kProductDetailInfos{
	width:20%;
	float:right;
}

.kProductDetailInfos .mark {
    padding-right:3px;
}

.shop_product .kProductInfos, .shop_product .kProductDetailMore{
	background: none;
    width: 40%;
    float: left;
    margin:0;
    padding:0;
}

/* -- shop listing with all details (without link to see the product details) -- */

/* -- basket pages -- */

.basket h3{
	font-size:1.2em;
	margin:20px 0 20px 0;
}

.messageToSeller textarea#messageOrder{
	width:100%;
}

.basket .content02{
	display:none;
}

.basket a.kButton.continue{
	text-decoration:none;
}

.basket .gender{
	display:inline-block;
	vertical-align:top;
	margin:0 20px 10px 0;
}

.basket label{
	font-weight:400;
}

.basket .container{
	margin-bottom:10px;
}

#content #klikandpay a{
	display:none;
}

/* -- shop confirmation page --*/


/***** 12. Specific pages styles *****/

/* -- homepage (for homepage different from the other pages) -- */  

.home div#hd {
	height:auto;
	border-bottom: 1px solid #dddddd;
}

/* comment this to remove the full height image-background : */

.home div#hd{
	height:100%;
}


.home div#header_image_container .header_image_backgroundImage{
	padding:0 0;
	display:flex;
} 

/*/

/* for FIXED BACKGROUND uncomment this :

	.home div#header_image_container .header_image_backgroundImage{
		position:fixed;
		background-position:right top;
	}

*/

/****/

/***** 13. Powered *****/

/* -- copyright -- */

div#copyright {
	font-size: 0.8125rem;
	color:#474747;
	width: auto;
	border: none;
	float: none;
	display: inline-block;
	vertical-align: middle;
	line-height: 1.375rem;
}

/* -- login kameleo -- */

div#loginAndPowered {
	float: none;
	display: inline-block;
	margin:5px 0 5px 0;
}

a#kPowered {
	padding: 14px 0 0 130px;
}

div#ft div#kLogin {
	padding: 14px 0 0 30px;
	margin: 0;
}

div#kLogin:hover {
	background-color: rgba(0,0,0, .3);
	-moz-box-shadow: 0 0 5px rgba(255,255,255, .5); /* shadow on image */
	-webkit-box-shadow: 0 0 5px rgba(255,255,255, .5);
	box-shadow: 0 0 5px rgba(255,255,255, .5);
}

/* Login light color */

	a#kPowered {
		background: transparent url(../../../../standards/img/login_w.png)  -31px top no-repeat;
	}
	
	div#ft div#kLogin {
		background: transparent url(../../../../standards/img/login_w.png) top left no-repeat;
	}

/* or */

/* Login dark color (comment or uncomment) */
	a#kPowered {
		background: transparent url(../../../../standards/img/login_b.png)  -31px top no-repeat;
	}
	
	div#ft div#kLogin {
		background: transparent url(../../../../standards/img/login_b.png) top left no-repeat;
	}

/**/


/** Formulaires **/

div#confirmationModal{
	max-width: 900px;
	width: calc(100% - 60px);
	margin:0!important;
	transform: translateX(-50%);
}

	
/***** 14. Social medias  *****/

.social{
	text-align: left;
    width: auto;
    display:inline-block;
    vertical-align:middle;
}

#ft .social{
	margin-bottom: 20px;
}

.social ul li{
	display:inline-block;
	vertical-align:middle;
	max-width:40px;
	line-height: 0;
	padding:0px 10px;
	opacity:1;
	-webkit-transition: opacity 0.2s linear;
	-moz-transition: opacity  0.2s linear;
	-ms-transition: opacity  0.2s  linear;
	-o-transition: opacity  0.2s  linear;
	transition: opacity  0.2s  linear;
}

.social ul li:hover{
	opacity:0.5;
}

.social ul li img{
	max-width:100%;
	height:auto;
}

/***** 15. Mobiles version *****/

.mobile #logomobile a {
    background-image: url(../img/ps_fr_ville_logo_fr.png);
    background-position: 20px center;
    background-repeat: no-repeat;
    margin-left: 0px;
    margin-top: 0px;
    height: auto;
    background-size: auto 70px;
    padding: 20px 0 0 200px;
}

.mobile.de #logomobile a{
	background-image: url(../img/ps_fr_ville_logo_de.png);
}

/* -- Mobile navigation --*/

.mobile div#mobile-nav div#top-bar{
	background-color:transparent;
	position: relative;
	padding:0;
	height: 80px;
}

.mobile a#togglemenu{
	background-image: url(../img/menu_btn_grey.png);
    background-position: center right 20px;
    background-size: 30px auto;
    background-repeat: no-repeat;
    display: block;
    padding: 80px 0 0 70px;
    width: 0;
    height: 0;
    overflow: hidden;
    background-color: transparent;
}

.mobile div#mobile-nav{
	padding:0;
}

.mobile #annexe{
	display: none;
}

.mobile ul#mobileNav{
	top: 80px;
}

.mobile ul#mobileNav, .mobile #mobile-secnav{
	background-color:#DB3640;
	padding:0;
}

.mobile div#bd div#bd_bg #secNav{
	display:none;
}

.mobile #mobile-secnav{
	margin:0;
}

.mobile ul#mobileNav li a, .mobile #mobile-secnav li a{
    text-transform: none;
    font-size: 1rem;
    font-weight: 400;
    color: #fff;
    padding: 12px 20px;
    font-style: normal;
    display: block;
    border-bottom:1px solid #fff;
}

.mobile ul#mobileNav li a:hover, .mobile ul#mobileNav li.on a{
	background-color:rgba(0,0,0,0.2);
}

.mobile #mobile-secnav a.showNav{
	padding:10px 20px;
    text-transform: uppercase;
    font-size: 0.8rem;
    margin:0;
    font-weight: 700;
    color: #fff;
    font-style: normal;
}

.mobile #annexNavCt a.button{
	min-width: 120px;
    padding: 10px;
    text-align: center;
}

.mobile #annexNavCt{
	padding-top: 0;
	right: 10px;
}

.mobile .secNavCt{
	display: none;
}

.mobile #hd .reseaux_sociaux{
	margin: 0;
}

.mobile #hd .reseaux_sociaux a{
	padding: 0;
	padding: 5px;
    margin: 5px 5px;
}


/* -- languages mobile -- */

.mobile ul#mobileNav li.lan li, .mobile ul#mobileNav li.lan li a{
	display:inline-block;
	line-height:20px;
	border-bottom:none;
	text-transform: uppercase;
}

.mobile ul#mobileNav li.active a{
	opacity: 0.5;
	line-height: 1.25rem;
}

.mobile ul#mobileNav li.lan li{
	border-right: 1px solid #d3d3d3;
}


/* -- titles mobile -- */

.home #cn .slider_container h1, .home #cn .slider_container h2, div#bd #highlightContent .object .wrapobject h2{
	font-size: 1.5rem;
    line-height: 2rem;
    margin-bottom: 20px;
}

.mobile #cn h1 br, .mobile #cn h2 br{
	display:none;
}

.mobile #cn #bd h2, .blog.mobile #cn h1{
	font-size:1.25rem;
	line-height: 28px;
	margin-bottom:8px;
}

.mobile #cn h2::before, .mobile #ft h2::before {
    content: '';
    width: 24px;
    height: 30px;
    top: 0;
}

/* -- structures global mobile -- */


.mobile div.cn, .mobile div#ft div.cn, .mobile div#bd div.cn{
	padding: 0;
	min-width: 100%;
}

.home.mobile div#bd div#bd_bg #introContent div.cn{
	justify-content:space-between;
	-ms-flex-pack: justify;
}

.mobile div#hd{
	display:block;
	height:auto;
	margin: 0;
}

.mobile.blog #bd #introContent .cn{
	padding-bottom: 0;
}

.home.mobile #bd #introContent .cn .object.first::after{
	display: none;
}

.mobile #hd .topbar{
	display:block;
	background-color: transparent;
	position:absolute;
	top:20px;
	top: 20px!important;
    right: 80px;
    z-index: 2000;
    width: auto;
    font-size: 0.85rem;
}

.mobile #hd #topNav .bottomNav, .mobile #topNav .localisation_top, .mobile #topNav .email_top{
	display: none;
}

.mobile #hd .topbar #logo, .mobile #hd #dateEvent, .mobile #hd .topbar .langAndCurrency{
	display:none;
}

.mobile #topNav {
    background-color: transparent;
    padding: 5px;
}

.mobile #hd div.cn{
	padding: 0;
	margin:0;
}

.mobile div#bd .object .wrapobject, .mobile div#bd .object .wrapimg{
	width:100%;
	margin:0;
}

.mobile div#bd .object .wrapimg{
	order:1;
	margin-bottom: 15px;
}

.mobile div#bd .object .wrapobject{
	order:2;
}

.mobile div#bd .object .wrapimg img{
	max-width:100%;
	height:auto;
	width:auto;
	max-height:300px;
}

.mobile div#bd .object{
	margin:0 20px;
	padding:0 0 30px 0;
	box-sizing:border-box;
}

.mobile div#bd .image.object.mainColorBg{
	height: 270px;
}

.mobile #colorBgContent{
	border-top:1px solid #d3d3d3;
}

.mobile #colorBgContent .texte_sur_fond_blanc .text.object{
	padding:30px 0;
}

.mobile #cn div#bd .image.object.porteCTA h2{
	left: 0;
	margin-bottom: 0;
	padding: 30px;
    text-align: left;
}

.mobile div#bd .image.object.column_demi img{
	max-width: calc(100% - 20px);
}

.mobile div#bd .object.porteCTA .wrapimg{
	width:100%;
}

/* column */

.mobile div#bd .object.quart, .mobile div#ft .object.quart{
	width: calc(50% - 40px);
	max-width: calc(50% - 40px);
}

.mobile div#bd .object.column{
	margin-bottom: 40px;
}

.mobile.home div#bd .object.column, .home.mobile div#bd .bloglist-container .item{
	margin:0 auto 40px auto;
}

.mobile div#bd .object.tiers, div#ft .object.tiers, .home.mobile div#bd .bloglist-container .item{
	width: calc(100% - 40px);
	max-width: 500px;
}

.home.mobile div#bd #mainContent .object.porteCTA .wrapimg, 
.home.mobile div#bd #mainContent .object.porteCTA .wrapimg img,
.home.mobile div#bd .bloglist .wrapimg {
    height: auto;
    max-height: 290px;
}

/* accordeon mobile */

.mobile #cn div#bd #mainContent div.object.hasaccordion{
	padding:5px 0;
	box-sizing: border-box;
}

.mobile #cn div#bd .object.hasaccordion h2{
	margin:0;
	font-size: 1.125rem;
    line-height: 1.5rem;
}

.mobile div#bd .object.hasaccordion .content{
	padding: 0;
}

/**/

.mobile .anchorList li a{
	padding: 5px 10px;
	font-size:0.9rem;
}

.mobile .anchorList{
	padding: 10px 20px 40px 20px;
    box-sizing: border-box;
}

.mobile .topbar #header_right{
	display: flex;
	display: -ms-flexbox; 
	display: -webkit-flex; 

	right: 10px;
	top: -5px;
}


/****/

.mobile #bd #prefooterContent{
	margin: 0;
	bottom:0;
}

.mobile #bd #prefooterContent .text.object >div{
	padding: 0;
}

.mobile #bd #prefooterContent .object h2{
	padding: 0;
}


.home.mobile .readmore-container{
	text-align: center;
}

/***/

.home.mobile div#hd .slider .object >div, .home.mobile  #hd .slider{
	height: auto;
}

.home.mobile div#bd #mainContent .object.porteCTA a.button{
	min-width: 0px;
}

/* -- regions mobile -- */

/***/

.mobile #header_image_container h1{
	top: 0px;
    box-sizing: border-box;
    padding: 0 20px;
    left: 0;
    margin: 0 0 10px 0;
    line-height: 28px;
    font-size: 1.5rem;
}

.mobile div#header_image_container .header_image_backgroundImage{
	background-position: right center;
}

.mobile div#header_image_container{
	padding-top:0;
	margin:0;
	height: auto;
}

/***/


.mobile #cn .slider_container .left-col, .mobile div#bd #highlightContent .object{
	width: calc(60% - 20px);
}

/* slider mobile */

.mobile div#bd div#bd_bg .slider_container div.cn, .mobile div#bd div#bd_bg #highlightContent .wrapobject{
	padding: 40px 0 80px 0;
}

/****/


.mobile .navPost-back a{
	color:#DB3640;
}

.mobile .navPost-prev a, .mobile .navPost-next a{
	float:left;
	padding:8px 20px;
	font-size: 0.8rem
}

.mobile .navPost-back a, .mobile .navPost-prev a, .mobile .navPost-next a{
	color: #DB3640;
}

.mobile .navPost-back a:hover{
	text-decoration: underline;
}

.mobile .navPost-prev a:hover, .mobile .navPost-next a:hover{
	text-decoration: underline;
}

.mobile .navPost-prev{
	float:left;
	padding:0;
}

.mobile .navPost-next{
	float:right;
	padding:0;
}

/** Homepage mobile **/

.mobile div#bd div#bd_bg .container_first_object >div.smallSize{
	width:100%;
}

.mobile.home div#header_image_container, .mobile.home div#header_image_container .header_image_backgroundImage{
	height:auto;
	min-height:100px;
}

.mobile .header_image_backgroundImage .object{
	color: #fff;
    position: static;
    padding: 0;
    margin: 0;
    width: 100%;
    font-size: 1.1rem;
    line-height: 24px;
    max-width: 100%;
    max-width:100%;
}

.mobile #cn #header_image_container h1{
	font-size: 1.5rem;
	line-height: 2rem;
}

.home.mobile div#bd #mainContent{
	padding-bottom:0;
}

.mobile.home #header_image_container {
	padding: 15px 20px;
	font-size: 1rem;
}

.home.mobile div#bd #mainContent .cn::after{
	width:calc(100% - 220px);
}

.mobile #cn h1{
	font-size: 1.25rem;
	line-height: 1.5rem;
}

.mobile #cn #introContent h1{
	margin-bottom: 40px;
	padding-top: 0;
}

.mobile #cn #introContent h4{
	font-size: 1.125rem;
    line-height: 1.5rem;
}

.home.mobile div#bd .object.column_demi{
	width: 100%;
	text-align: center;
	padding:0 0 20px 0;
}

.home.mobile div#bd .object.column_demi >div{
	margin: 0 auto;
    width: auto;
    display: inline-block;
}

/** Shop **/

.mobile .kShop{
	width:100%;
	box-sizing:border-box;
	padding:0 20px;
}

/** formulaire **/
	
.mobile .container.buttons #btSubmit{
	width:auto!important;
	height:auto!important;
	padding:8px 20px!important;
}

.mobile form .container.buttons::after{
	top:-5px;
}

.mobile form .container.buttons{
	position:relative;
}

/* -- Footer mobile -- */

.mobile div#ft #footerContent div.cn, .mobile div#ft div#poweredContent .cn{
	padding:20px 0;
}

.mobile div#ft #footerContent{
	padding:10px 0;
}

.mobile div#ft #footerContent .cn .object{
    width: calc(100%/3 - 40px);
	box-sizing:border-box;
	max-width: 100%;
}

.mobile div#ft #footerContent .cn .object img{
	max-height: 70px;
}

.mobile div#ft #footerContent .cn .text.object{
	width: 100%;
}

.mobile div#ft #footerContent .cn .object h2{
	margin-bottom: 0;
}


.mobile div#ft .footerNav{
	width:100%;
	float: right;
	text-align:left;
}

.mobile strong#logo_footer{
	width:100%;
	display:inline-block;
	vertical-align:top;
}

.mobile strong#logo_footer a{
	position:relative;
	margin:0;
	background-position:center; top;
	background-size: 100% auto;
	float:left;
}

.mobile div#ft #footerContent .cn .object.powered{
	margin:20px 0 0 0;
	padding: 20px 0 20px 0;
	border-top: 1px solid #aaaaaa;
	text-align: left;
    width: 100%;
    float: left;
    min-height: 10px;
}

.mobile div#ft .footerNav ul li a{
	font-size: 0.8rem;
}

.mobile .social{
	text-align: right;
    width: 100%;
    float: left;
    display: block;
    box-sizing: border-box;
    padding: 0;
}

.mobile div#ft #goTop{
	z-index: 20;
	top: 0px;
	bottom:auto;
}

.mobile div#ft #footerBg{
	padding:30px 0 40px 0;
}

/* -- blog mobile -- */

.blog.mobile div#bd #mainContent{
	padding-top:0;
}

.blog.mobile .blog a.readmore{
	padding: 10px 20px;
}

.blog.mobile #cn div#bd .object.blog{
	padding:20px;
}

.blog_details.mobile div.detail{
	width:100%;
}

.blog.mobile #cn div.blog .details{
	float:none;
	width:100%;
	text-align:left;
}

.blog.mobile #cn div.blog h2 {
    margin-bottom: 10px;
    float: none;
    width: 100%;
}

.blog.mobile #cn div.blog img{
	margin-bottom:20px;
	margin-right: 20px;
	max-width:50%;
}

.blog.mobile #cn .blog a.readmore{
	margin-left:0;
}

.blog.mobile div#bd .object.blog .content img{
	max-width: 100%;
	margin: 0 0 20px 0;
	float:none;
}

.blog.mobile div#bd .object.blog .content{
	width:100%;
}


/* blog details mobile */

.blog_details.mobile div#bd .object .wrapimg{
	width:100%;
	margin-bottom:0px;
}

.blog_details.mobile .blog.detail.object div.detail{
	padding:0;
}

.blog_details.mobile div#bd .object.blog .content .wrapimg img{
	max-height:500px;
	max-width:100%;
	margin: 0;
}

.blog_details.mobile .multimedia.object iframe{
	max-height: 470px;
}

/** home blog list **/

.mobile div#bd #mainContent .bloglist.object.first{
	padding-top:40px;
}

.home.mobile .bloglist.object .blog img{
	max-height: 27vw;
	width:auto;
}

/** event **/

.event_details.mobile div#bd .object .wrapimg{
	width:100%;
}

.addthis_sharing_toolbox{
	padding-top: 40px;
}

/* Slider mobile */

.mobile .slider{
	display:block;
	width:100%;
}

.mobile #cn .slider h2{
	font-size: 1.625rem;
	line-height: 32px;
}

.mobile #hd .slider .object .wrapobject{
	font-size: 1.25rem;
}

.mobile div#bd .slider .object{
	width:100%;
	box-sizing: initial;
	margin:0;
}

.mobile div#bd .slider .object >div{
	width:auto;
	max-width:100%;
}

.mobile.home .bloglist.object .blog .header{
	text-align: left;
}

.mobile div#bd .slider_sponsors .object{
	padding:0;
}

/* table */

.mobile div#bd #mainContent table{
	width:100%;
}

.mobile div#bd #mainContent .table_scroll{
	overflow-x:auto;
	overflow-y:hidden;
}

/** mobile newsletter **/

.mobile .newsletterContent .form.object fieldset{
	float:left!important;
}

.mobile .newsletterContent .container.buttons #btSubmit{
	padding: 5px 12px!important;
    height: 42px!important;
}

.mobile .newsletterContent form.kSiteForm input.text{
	height: 42px!important;
}

.mobile .newsletterContent{
	margin-bottom:20px;
}

/** blue circle header **/

.mobile #hd .object .wrapobject::after{
	width: 80vw;
	height: 80vw;
	background-size: 100% auto;
	min-width: 600px;
	min-height: 600px;
}

.mobile #hd .slider .object .wrapobject{
	max-width: 50vw;
	min-width: 300px;
}

/***/

/** Mediaqueries **/

@media only screen and (max-width:1440px){
	.home div#bd .bloglist .wrapimg{
		height: 15vw;
	}


	#mainNav li a{
		padding: 48px 7px 30px 7px;
		font-size: 1rem;
	}

	div#mainNavCt{
		margin: 0;
	}

/*	strong#logo a{
		padding: 80px 0 0 74px;
		background-size: 54px auto;
	}
*/
	ul#lang{
		margin:0 15px 0 0 ;
	}

	ul#lang li a{
		padding: 48px 5px 30px 5px;
		font-size: 1rem;
	}

	#hd div.cn {
	    padding: 0 0;
	}

	#hd .langAndCurrency{
		width: auto;
	}

	.reseaux_sociaux a{
		margin:0 5px;
	}

	#hd .reseaux_sociaux{
		margin: 0 20px;
	}

}

@media only screen and (max-width:1240px){

	div.cn, #bd div.cn.titlePage, #introContent div.cn, #mainContent div.cn, #prefooterContent div.cn, div#ft #promesseContent div.cn{
		max-width: 100%;
		width: 100%;
		margin:0;
	}

	#cn h1, div#bd .object.textdivided h2{
		width: 100%;
		max-width: 1200px;
	}

	div#bd .object >div, .slider_sponsors{
		width: 100%;
	}

	div#bd .slider .object >div{
		padding:0 70px;
	}

	ul.slick-dots{
		box-sizing: border-box;
		left: 0;
		right: 0;
		transform: none;
		padding: 0px 60px;
	}

	div#bd .object.column_demi >div, div#bd .object.porteCTA >div,
	div#ft .object.column_demi >div, div#ft .object.porteCTA >div{
		max-width: 100%;
		margin: 0;
	}

	 div#bd .object .event-list-container,.home div#bd .bloglist.object >div{
	 	margin:0;
	 	max-width: 100%;
	 }

	#cn div.accordion{
		max-width: calc(100% - 40px);
		margin:0 20px 40px 20px;
	}

	.home .slider_container{
		height: auto;
	}

	.home div#bd .slider .object{
		height:100%;
	}

	.slider_container div.cn, .home #highlightContent .wrapobject {
	    padding: 80px 0 120px 0;
	}

	div#bd .object.quart, div#ft .object.quart{
		width: calc(33.33% - 40px);
    	max-width: calc(33.33% - 40px);
	}

	.home div#bd .bloglist-container .item{
		padding: 20px 20px 50px 20px;
		width: calc(33.33% - 30px);
    	margin: 0 15px 40px 15px;
	}

	div#bd .object.porteCTA >div, div#bd .object.porteCTA.column.demi >div{
		padding: 20px 20px 20px 20px;
	}

	div#bd .standard.object.porteCTA h2{
		font-size: 1.125rem;
		line-height: 1.5rem;
	}

	div#bd .standard.object.porteCTA .wrapobject{
		font-size: 1rem;
		line-height: 1.5rem;
	}

}

@media only screen and (max-width: 1200px){

	#mainNav li a {
	    padding: 48px 7px 30px 7px;
	    font-size: 0.875rem;
	}
}

@media only screen and (max-width: 1080px){

	#mainNav li a, ul#lang li a{
		font-size:0.75rem;
	}

	.reseaux_sociaux a {
	    margin: 0;
	}
}

@media only screen and (max-height: 900px){
	div#bd{
		background-position: center top 100px;
	}
}


@media only screen and (max-width: 800px){
	
	.mobile #topNav .contact_info span{
		display: none;
	}

	.mobile #topNav .contact_info i{
	    font-size: 1.3125rem;
	}

	.mobile div#ft .footerNav{
		float:none;
		width:100%;
		text-align:left;
	}

	.mobile div#ft #footerContent .cn #stayConnected{
		width: 100%;
	}

	.mobile .social, .mobile div#ft #footerContent .cn #stayConnected{
		text-align: left;
	}

	.mobile div#bd .object.textdivided >div {
	    -webkit-columns: 1;
	    -moz-columns: 1;
	    columns: 1;
	    -webkit-column-gap: 0;
	    -moz-column-gap: 0;
	    column-gap: 0;
	}

	.home .bloglist.object .blog, .home.mobile .bloglist.object .blog .blogListTitle,
	.event-list-container .event{
		width:100%;
		padding:0;
		max-width: 500px;
	}

	.home div#bd .bloglist-container .item {
	    width: calc(50% - 40px);
	    margin: 0 20px 40px 20px;
	}
}
	
@media only screen and (max-width: 650px){

	.mobile.home .bloglist.object .blog .header, .home .bloglist.object .blog .content,
	.home.mobile #cn .bloglist.object .blog .blogListTitle em, .home.mobile #cn .bloglist.object .blog .blogListTitle h3{
		text-align: center;
		padding:0;
	}

	.home.mobile #cn .bloglist.object .blog .blogListTitle h3{
		width: 100%;
	}

	.mobile #cn #header_image_container .object h2{
		font-size: 1.25rem;
    	margin:0px;
    	line-height: 30px;
    	padding: 0;
	}

	.mobile div#bd .image.object.column_demi img{
		max-width:100%;
	}

	.home.mobile #bd #introContent .cn .first.object{
		font-size: 1rem;
		line-height: 1.5rem;
	}

	.mobile div#bd #mainContent .object.column_demi, .mobile div#bd #mainContent .object.porteCTA,
	.mobile div#ft .object.column_demi, .mobile  div#ft .object.porteCTA{
		width:calc(100% - 40px);
		max-width:500px;
		padding:0 0;
		box-sizing:border-box;
		vertical-align:top;
	}

	.blog.mobile #cn div#bd .object.blog{
		width: calc(100% - 40px)
	}

	.home div#bd .bloglist-container .item {
	    width: calc(100% - 40px);
	    margin: 0 20px 40px 20px;
	}

}

@media only screen and (max-width: 550px){
	.mobile div#bd .object .wrapimg{
		width:100%;
	}
	
	.wrapobject{
		width:100%;
		float:none;
	}
	
	.mobile div#bd .object.textdivided >div {
	    -webkit-columns:1;
	    -moz-columns: 1;
	    columns: 1;
	    -webkit-column-gap:0;
	    -moz-column-gap: 0;
	    column-gap:0;
	    text-align: left;
	}

	.mobile div#bd .image.object.mainColorBg{
		margin-bottom:40px;
	}

	.mobile .multimedia.object iframe{
		height:240px;
	}

	div#ft #goTop a{
		background-image: none;
		padding:10px 0;
		font-size: 0.75rem;
	}

	.home #bd #introContent .cn .object.first::after{
		display: none;
	}

	.home #bd #introContent .cn .standard.object .wrapobject, .home #bd #introContent .cn .standard.object .wrapobject h2,
	.home #bd #introContent .cn .standard.object .wrapimg{
		text-align: left;
		padding: 0;
	}
}


@media only screen and (max-width: 490px){
	
	.blog.mobile #cn div.blog img{
		margin-bottom:0;
		margin-right: 0;
		max-width:100%;
		width:auto;
		float:none;
	}

	.mobile .newsletterContent{
		width:100%;
	}

	.mobile .navPost-prev, .mobile .navPost-next{
		width: 100%;
		display: block;
	}

	.mobile .navPost-prev{
		margin-bottom: 15px;
	}

	.mobile div#ft #footerContent .cn .object h2{
		font-size: 1.0625rem;
    	line-height: 1.875rem;
    	text-align: center;
	}

	.mobile div#ft #footerContent .cn .object img{
		height: 60px;
		width: auto;
	}

	.home #cn .slider_container h1, .home #cn .slider_container h2, div#bd #highlightContent .object .wrapobject h2{
		font-size: 1.25rem;
	    line-height: 1.625rem;
	    margin-bottom: 20px;
	}

	.home #cn .slider_container .object, div#bd #highlightContent .object .wrapobject {
	    font-size: 1rem;
	    line-height: 1.375rem;
	}

	#bd #introContent .object {
	    font-size: 1.125rem;
	    line-height: 1.5rem;
	}

	.mobile #cn .slider_container .left-col, .mobile div#bd #highlightContent .object,
	div#bd #highlightContent .object .wrapimg{
		width: 100%;
	}

	.mobile #bd .slider{
		width: 100%;
	}

	.mobile .slider_container::after, .mobile #highlightContent::after{
		background: linear-gradient(270deg, rgba(155,39,47,0.5) 0%, #9B272F 80%, #9B272F 100%);
	}

	.mobile div#bd .object.quart .wrapimg img, .mobile div#ft .object.quart .wrapimg img{
		height: 200px;
	}

	#bd #header_image_container .object{
		height: 60px;
	}
}

@media only screen and (max-width: 470px){
	.mobile div#ft #footerContent .cn .object{
		width: 100%;
		padding: 20px 0 0 0;
	}

	.mobile div#ft #goTop{
		top:30px;
		bottom:auto;
	}

	#ft .newsletterContent h2{
		margin-bottom:10px;
	}
	
	.mobile .social{
		text-align: left;
	}

}

@media only screen and (max-width: 400px){
	.mobile #logomobile a, .mobile.de #logomobile a{
		background-size: auto 55px;
    	padding: 20px 0 0 130px;
		background-position: 10px center;
	}
}