html,body{
	width:100%;
	height:100%;
	margin:0;
	padding:0;
}

@font-face{
    font-family:'Open Sans';
	src:url('../fonts/OpenSans-Regular.woff');
	font-weight:normal;
}
@font-face{
    font-family:'Open Sans';
	src:url('../fonts/OpenSans-Bold.woff');
	font-weight:bold;
}
@font-face{
    font-family:'Open Sans Light';
	src:url('../fonts/OpenSans-Light.woff');
	font-weight:normal;
}

.font-regular{
	font-family:'Open Sans';
}
.font-light{
	font-family:'Open Sans Light';
	font-weight:normal;
}
.font-bold{
	font-weight:bold;
}

.colBg{
	background:#FFBD12;
}
.colText{
	color:#FFBD12;
}
.colText2{
	color:#0175C4;
}

body,td,th,textarea,p,div{
	font-family:'Open Sans';
    font-size:16px;
	color:#333;
}
body{
	background:#ececec;
}
*{
	box-sizing:border-box;
	outline:none;
}

ul{
	margin:10px 0;
}
li{
	margin:5px;
}
img{border:0;}
table{table-layout:fixed;}

h1,h2,h3,h4{
    color:var(--color1);
	margin:0;
	padding:8px 0;
    font-weight: normal;
}

h1{
    padding:0 0 10px;
}
h1.main,
h1.article{
    color:#000;
    font-weight: bold;
}

p{
	line-height:24px;
}
a{
	color:#0175C4;
	text-decoration:none;
}
a:hover{
	text-decoration:underline;
}

a.site{
	color:#0175C4;
	text-decoration:none;
}
a.site:hover{
	text-decoration:underline;
}

input{
	border:1px solid #ddd;
	padding:8px;
	color:#555;
	border-radius:4px;
	font-size:15px;
	box-sizing:border-box;
}

input:focus{
	border-color:#3cf;
}

input[type='number']{
	width:120px;
}
input[type='tel']{
	width:140px;
}
input[class='telInd']{
	width:60px;
}
input[readonly]{
	background:#f0f0f0;
}

select{
	padding:8px;
	border:1px solid #ddd;
	box-sizing:border-box;
	border-radius:4px;
}
select:focus{
	border-color:#3cf;
}
textarea{
	border:1px solid #ddd;
	border-radius:4px;
	padding:8px;
	color:#555;
	font-size:14px;
	line-height:18px;
	box-sizing:border-box;
	overflow:auto;
	width:100%;
	height:80px;
    resize: vertical;
}
textarea:focus{
	border-color:#3cf;
}
button{
	padding:5px 10px;
	color:#222;
	background-color:#e9e9e9;
	border:1px solid #ccc;
}
button:hover{
	background-color:#B9EEFF;
	border:1px solid #3cf;
}

input[type='submit'],input[type='reset'],input[type='button']{
	padding:14px 14px;
	border-radius:4px;
	font-size:14px;
	border:0;
	background:var(--color1);
	color:#fff;
	margin-top:10px;
	cursor:pointer;
}

input:active[type='submit'],input:active[type='reset'],input:active[type='button']{
	background-color:var(--color1-active);
	color:#fff;
	border:0;
}

fieldset{
	border:1px solid #43AB48;
	border-radius:8px;
	margin:5px 0 16px;
	position:relative;
	padding:5px 20px 10px;
}
legend{
	border-radius:3px;
	background:#43AB48;
    padding:8px 12px;
	color:#fff;
	font-weight:bold;
}

.formCheckFloat, .formCheckBlock{
    position:relative;
	display: inline-block;
	width:100%;
}
.formCheckBlock{
	max-height:250px;
	overflow-y:auto;
}
.formCheckBlock > .item{
    float:left;
	clear:both;
    width:100%;
    margin:3px 0;
}

.formCheckFloat > .item{
    float:left;
    margin:3px 3px;
}

/*<a btn*/
.abtn{
	text-decoration:none;
	padding:10px 14px;
	border-radius:4px;
}
.abtn:hover{
	opacity:0.7;
}

.abtn-mini{
	text-decoration:none;
	font-size:80%;
	padding:8px 12px;
	border-radius:4px;
}

.abtn:active, .abtn-mini:active{
	opacity:1;
	background-color:#444;
	color:#fff; 
}

a.btnsite{
	background-color:var(--color1);
	color:#fff;
}
a.btnSite2{
	background-color:#FFBD12;
	color:#222;
	font-weight:bold;
}
a.btngris{
	background-color:#e5e5e5;
	color:#222;
	font-weight:bold;
}

.gris11{color:#b1b1b1;font-size:11px;}
.gris12{color:#b1b1b1;font-size:12px;}
.gris13{color:#b1b1b1;font-size:13px;}
.gris14{color:#b1b1b1;font-size:14px;}
.gris16{color:#b1b1b1;font-size:16px;}
.noir12{color:#000;font-size:12px;}
.noir13{color:#000;font-size:13px;}
.noir16{color:#000;font-size:16px;}

.statut{
	display:inline-block;
	padding:5px;
	margin:0 5px 0 0;
	border-radius:50%;
}
.statut0{background:#ccc;}
.statut1{background:#ff9d1a;}
.statut2{background:#06c;}
.statut3{background:#0c0;}

.bgBlanc{background:#fff;}
.bgButtonF0{background:#f0f0f0;}
.bgButtonF2{background:#f2f2f2;}
.bgButtonF5{background:#f5f5f5;}

/*notif*/
.notif{
    position:fixed;
    top:0;
    left:0;
    right:0;
    margin:0 auto;
	width:100%;
    text-align:center;
	box-shadow: 0 0 4px #999;
    padding:12px 20px;
    color:#FFF;
    font-size:16px;
    display:none;
    line-height:22px;
    z-index:1000;
}
.notif0{
	color:#222;
	background:#f7e547;
}
.notif1{
    background-color:#090;
}
.notif2{
    background-color:#d61212;
}

.padMobile{
	padding:5px 18px 0;
}

/*titleMain*/
.titleMain{
	position:relative;
	margin:0;
	font-family:'Bitter';
	font-weight:bold;
	color:#fff;
	font-size:20px;
	line-height:24px;
}
.titleMain:hover{
	text-decoration:underline;
}
.titleMain a{
	text-decoration:none;
}
.titleMainMini{
	position:relative;
	margin:0 15px 20px;
	line-height:21px;
	color:#000;
	font-size:14px;
	font-weight:bold;
}
.titleMainMini a{
	color:#fff;
}
.titleMainMini span{
	background:#f8ce27;
	padding:0 2px;
}
.titleMainMini:hover{
	text-decoration:underline;
}

.subcat{
	display:inline-block;
	width:100%;
	padding:5px 0 5px 20px;
	background:#fff;
}

.hideTag{display:none;}
.openTag{display:inline-block;}

.btnMenuDrop{
	display:none;
}

/*PC*/
@media(min-width: 768px){
	#mainPanel{
		display:block;
		padding:10px 0 0;
		min-height:100%;
	}

	#header-site{
		height:auto;
        position:relative;
		background: var(--color1);
		border-radius:10px 10px 0 0;
		z-index:10;
	}
	.header-items{
		margin:0 auto;
		height:80px;
		position:relative;
		display:flex;
		align-items: center;
		justify-items: center;
	}
	.header-items .full-items{
		flex:1;
	}
	.header-items .left-items{
		flex:1;
	}
	.header-items .center-items{
		flex:1;
	}
	.header-items .right-items{
		flex:1;
		text-align: right;
	}

	#menu-head{
		display:block;
		width:100%;
	}
	#menu-head ul,
	#menu-head li{
		list-style-type:none;
		margin:0;
		padding:0;
		z-index:10;
	}
	#menu-head ul{
		float:left;
		position:relative;
	}

	#menu-head > ul{
		width:100%;
	}
	#menu-head > ul > li{
		width:12.5%;
	}

	#menu-head ul li > ul{
		visibility: hidden;
		opacity: 0;
		position: absolute;
		top: 100%;
		left: 0;
		transform: translateY(-2em);
		transition: all 0.3s ease-in-out 0s, visibility 0s linear 0.3s, z-index 0s linear 0.01s;
		width:200px;
	}
	#menu-head ul li{
		position:relative;
		float:left;
		border-radius:8px 8px 0 0;
    }
    #menu-head ul li:hover{
		background:var(--color1-hover);
    }
	#menu-head ul li:active{ 
		background:var(--color1-active);
	}
    #menu-head ul li:hover a{
        color:#fff;
	}
	#menu-head ul li a{
		padding:0;
		display:block;
		color:#fff;
        font-size:16px;
		text-decoration:none;
		text-align:center;
		font-weight:bold;
		line-height: 100px;
	}
	
	#menu-head ul li:hover > ul{
		visibility: visible; /* shows sub-menu */
		opacity: 1;
		z-index: 1;
		transform: translateY(0%);
		transition-delay: 0s, 0s, 0.2s;
	}
	#menu-head ul li ul li > ul{
		position:absolute;
		margin:0;
		left:100%;
		top:0;
	}
	#menu-head ul li ul li a{
		text-align:left;
		padding:12px;
		font-size:14px;
		display:block;
		text-decoration: none;
		font-weight:normal;
		text-transform: none;
		line-height: 20px;
	}
	#menu-head ul li ul li:hover{
		background:var(--color1-hover);
	}
	/*#menu-head ul li ul li a{
		color:#222;
	}*/
	#menu-head ul li ul li:active{
		background:var(--color1-active);
	}
	#menu-head ul li ul li{
		float:left;
		width:100%;
		border-radius:0;
	}
	#menu-head ul li > ul{
		background:var(--color1);
		box-shadow: 0 2px 4px #222;
	}
	#menu-head ul li ul li:hover > ul{
		display:block;
		/*display:none;*/
	}
	#menu-head ul li:hover > ul li a{
		color:#fff;
	}
	
	.flex100{
		display:flex;
		flex-direction: row;
		width:100%;
	}
	.flexPageLeft{
		width:50%;
	}
	.flexPageRight{
		width:50%;
		padding:0 0 0 30px;
	}
	.flexPageRight img{
		display:block;
		max-width:100%;
		margin:0 0 0 20px;
	}
	
	.blockFlex{
		float:left;
		clear:both;
		width:100%;
		padding:30px 0;
		border-bottom:1px solid #ddd;
	}
	.blockSite .blockFlex h2 {
		text-align:left;
		margin:0 0 10px;
		text-shadow: 0px 1px 0px #fff;
	}

    #apropos{
        background:#0692C6;
    }
    #apropos .blockSite{
        width:800px;
        text-align: center;
    }
    
    /*Flex Map*/
    .flexMapLeft{
        width:800px;
        height:500px;
        background:#ccc;
	}
	.flexMapRight{
		width:250px;
		padding:0 0 0 20px;
	}

	.flexAcBig{
		position:relative;
		width:520px;
		height:360px;
		border:1px solid #3D9C3D;;
	}
	.flexAcBigArticle{
		position:relative;
		float:left;
		width:100%;
		height:100%;
	}
	.flexAcBigArticleTitle{
		position:absolute;
		bottom:0;
		padding:0 25px 50px;
		font-size:22px;
		font-family:'bitter';
		text-align:left;
	}
	.flexAcBigArticleTitle span{
		background:#0072C6;
		color:#fff;
		line-height:34px;
		padding:2px 3px;
	}
	.flexAcMin{
		position:relative;
		width:580px;
		height:360px;
	}
	.flexAcMinArticle{
		position:relative;
		float:left;
		width:290px;
		height:100%;
		border-right:1px solid #f0f0f0;
	}
	.flexAcMinArticleTitle{
		position:absolute;
		bottom:0;
		padding:0 20px 50px;
		font-size:16px;
	}
	.flexAcMinArticleTitle span{
		background:#3D9C3D;
		color:#fff;
		line-height:28px;
		padding:2px 3px;
	}

	#mainHeader{
		float:left;
		clear:both;
		width:100%;
		height:90px;
	}
	#mainHeaderPage{
		margin:0 auto;
		width:1000px;
		line-height:90px;
	}
	#mainHeaderLogo{
		display:block;
		float:left;
		height:280px;
		text-align:center;
	}
	#mainHeaderLogo img{
		margin-top:20px;
		height:50px;
	}

	#mainHeaderSession{
		display:block;
		float:right
	}
	#mainNav{
		float:left;
		clear:both;
		width:100%;
		background:#e6e6e6;
	}

	#menuRightHeader{
		display:block;
		float:right;
	}
	#menuRightHeader a{
		color:#222;
		padding:0 10px;
		float:left;
		text-decoration:none;
	}
	#menuRightHeader a:hover{
		background:#f0f0f0;
	}
	#menuRightHeader a:active{
		background:#e5e5e5;
	}

	#session_cnx,#session_pan{
		display:inline;
	}

	.panel{
		float:left;
		clear:both;
		width:100%;
		border-bottom:1px solid #e5e5e5;
	}
	.panel div{
		float:left;
		min-width:100px;
	}
	.panel div a{
		display:block;
		text-align:center;
		padding:15px 20px;
		color:#666;
		font-size:16px;
		text-decoration:none;
    }
    .panel div a:hover{
        border-bottom:5px solid #0c518a;
        padding:15px 15px 10px;
        color:#0c518a;
	}
    .panel div a:active{
        border-bottom:5px solid #F07F22;
        padding:15px 15px 10px;
	}
	.panel div a.panel_on{
		display:block;
		padding:15px 15px 10px;
		border-bottom:5px solid #0c518a;
		color:#0c518a;
	}
	.panelData{
		float:left;
		clear:both;
        width:100%;
	}

	.blockSiteTextFull{
		margin:0 auto;
		width:900px;
		line-height:26px;
		font-size:16px;
		text-align:center;
	}
	.blockSite{
		margin:0 auto;
		padding:20px 0;
	}
	.blockSite a{
		text-decoration:none;
	}
	.blockSiteIn, .blockIn{
		display:inline-block;
		width:100%;
	}
	.blockSite800{
		margin:40px auto;
        width:800px;
	}
	.textAc{
		font-size:24px;
		line-height: 34px;
	}

	.blockSiteTop{
		margin:0 auto;
		width:1000px;
		height:500px;
	}

	.partSteps{
		margin:0 auto;
		width:1000px;
		text-align:center;
		padding:30px 0;
	}
	.partSteps a{
		text-decoration: none;
	}
	.stepItem{
		display: inline-block;
		width:280px;
		text-align:left;
		border-radius:5px;
	}
	.stepItem:hover{
		background: #338d38;
	}
	.stepItem:active{
		background: #000;
	}
	.stepTitle{
		font-weight:bold;
		line-height:60px;
		color:#fff;
	}
	.stepIco{
		float:left;
		width:60px;
		height:60px;
		border-radius:50%;
		margin:0 10px 0 0;
	}
	
	.blockSite100{
		float:left;
		clear:both;
		width:100%;
	}

	#pageHalf{
		display:inline-block;
		width:50%;
	}
	#page100{
		float:left;
		clear:both;
		width:100%;
	}

	.pageCenter{
		margin:0 auto;
        width:800px;
        padding:20px 0;
	}

	/*Box Trans*/
	#boxTransFolder{
		position:fixed;
		display:none;
		top:0;
		left:0;
		width:100%;
		height:100%;
		background-color:#000;
		filter:opacity(70);
		-moz-opacity:0.7;
		opacity: 0.7;
		z-index:100;
	}
	.boxDiap{
		background:#000;
		border-radius:0px;
	}
	.boxDiapNo{
		border-radius:5px;
		background:#fff;
	}
	#boxTransChild{
		position:fixed;
		display:none;
		margin:0 auto;
		left:0;
		right:0;
		width:100%;
		z-index:110;
	}
	#boxTransChildIn{
		position:relative;
		float:left;
		clear:both;
		width:100%;
		height:100%;
		overflow:none;
	}
	#boxTransTitle{
		font-size:22px;
		padding:12px 20px 14px;
		color:#0072C6;
	}
	#boxTransData{
		padding:0 20px 20px;
		color:#333;
	}
	.boxButtons{
		float:left;
		clear:both;
		width:100%;
		margin-top:20px;
		text-align:right;
	}
	/****/

	#topMobile{
		display:none;
	}

}

.grid{
	display:grid;
	position:relative;
}
.grid > .item{
	text-align:center;
	overflow:hidden;
}
.grid > .item .photo{
	display:block;
	text-align: center;
}
.grid > .item .photo img{
	display:inline-block;
	max-width:100%;
}

.grid > .item .title{
	display:block;
}
.grid > .item .sub-title{
	display:block;
	color:#999;
}

.btnRoundList{
	float:left;
	clear: both;
	width: 100%;
}
.btnRound{
	float:left;
	margin:0 3px;
}
.btnRound span{
	display:block;
	width:40px;
	height:40px;
	background-color:#f0f0f0;
	background-size:50%;
	border-radius:50%;
	cursor:pointer;
}
.btnRound span:hover{
	background-color:#ddd;
}
.btnRound span:active{
	background-color:#bbb;
}

.formCenter h1, .formLogin h1{
	text-align:center;
	font-size:24px;
	color:#0175C4;
	padding:0 0 10px;
}

.gridItem{
	overflow:hidden;
	width:100%;
	position:relative;
}
.gridThumb{
	display:block;
	text-align:center;
	position:relative;
}
.gridThumb img{
	display:inline-block;
}
.gridTitle{
	display:block;
	font-size:18px;
	text-align:center;
	padding:12px 20px 0;
	position:relative;
}
.gridSubTitle{
	display:block;
	font-size:14px;
	color:#888;
	text-align:center;
	padding:10px 20px;
	position:relative;
}
.gridText{
	display:block;
	font-size:14px;
	padding:10px 20px;
	position:relative;
	line-height:22px;
}
.gridBtn{
	text-align:center;
	padding:15px 0 20px;
}


/*float list*/
.floatItem{
	float:left;
	overflow:hidden;
	width:100%;
	position:relative;
}
.floatThumb{
	display:block;
	text-align:center;
	position:relative;
}
.floatThumb img{
	display:inline-block;
}
.floatTitle{
	display:block;
	font-size:18px;
	text-align:center;
	padding:12px 20px;
	position:relative;
}
.floatSubTitle{
	display:block;
	font-size:14px;
	color:#888;
	text-align:center;
	padding:10px 20px;
	position:relative;
}
.floatText{
	display:block;
	font-size:14px;
	padding:10px 20px;
	position:relative;
	line-height:22px;
}
.floatBtn{
	text-align:center;
	padding:15px 0 20px;
}

/****/
.flexCenterFull{
	position: fixed;
	display:flex;
	width:100%;
	height:100%;
	top:0;
	left:0;
	align-items: center;
	justify-content: center;
	background:#0175C4;
	z-index:0;
	
}

.btnFull{
	float:left;
	clear: both;
	width: 100%;
}
.btnFull a, .btnsFull button{
	text-align:left;
	margin:5px 0;
	width:100%;
}

.textIconed{
	display:inline-flex;
	align-items:center;
	color:inherit;
	font-size:inherit;
}
.textIconed img{
	height:20px;
	margin:0 10px;
}

.linksLine{
	display:inline-block;
	width:100%;
	text-align:center;
	padding:10px 20px;
	color:#ddd;
}
.linksLine a{
	display:inline-block;
	padding:0 10px;
	font-size:16px;
	font-weight:bold;
	color:#000;
	content: "|";
}

.infosDiner{
	text-align:left;
	line-height:28px;
}
.infosDiner b{
	color:#0175C4;
}

/*******/

.blockTrans{
	position:fixed;
	top:0;
	left:0;
	width:100%;
	height:100%;
	background:rgba(0,0,0,0.4);
	border-radius:0;
	z-index:100;
	display:none;
}
.blockTransFlex{
	display:flex;
	align-items: center;
	justify-content: center;
	width:100%;
	height:100%;
}

.blockIco{
	display:inline-block;
	background-size:contain;
	background-position: center;
}

.diapClose{
	width:32px;
	height:32px;
	border-radius:50%;
	background-size:50%;
	background-color:#666;
}
.diapClose:active{
	background-color:#333;
}

#diapGal{
	position:fixed;
	top:0;
	left:0;
	width:100%;
	height:100%;
	background:#111;
	z-index:100;
}

#diapGalClose{
	position:absolute;
	right:20px;
	top:20px;
	z-index:100;
}

.pageIllus{
	float:left;
	clear:both;
	width:100%;
	height:300px;
	background-color:#fff;
	overflow: hidden;
	text-align: center;
}
.pageIllus img{
	display:inline-block;
	max-width:100%;
}
