@charset "utf-8";

* {
	margin: 0px;
	padding: 0px;
	box-sizing: border-box;
	-webkit-box-sizing: border-box;
	-moz-box-sizing:border-box;
	-webkit-font-smoothing: antialiased;
  	-moz-osx-font-smoothing: grayscale;
}

html {
	overflow-y: scroll;
}

html, body {
	height: 100%;
}

body {
	-webkit-text-size-adjust:none;
	-ms-text-size-adjust: none;
	text-size-adjust: none;
	min-width: 700px;
	width: 100%;
	background-color: #666666;
	/*-webkit-font-smoothing: antialiased;
	-moz-font-smoothing: antialiased;
	font-smooth: always;
	text-rendering: optimizeLegibility;*/
	font-family: 'Roboto', sans-serif;
	font-weight: 300;
	font-size: 14px;
	line-height: 19px;
	text-align: justify;
	-webkit-hyphens: auto;
	-o-hyphens: auto;
	-moz-hyphens: auto;
	hyphens: auto;	
}

b, strong {font-weight:500}
img {
	border: 0px;
}

.wrapper {
	min-width: 700px;
	max-width: 1000px;
	margin: auto;
	position: relative;
	overflow: auto;
	padding: 0px 30px;
}

ul {
	list-style: none;
}

li {
	display: block;
}

.clear {
	clear: both;
}
.block {display:block}
a {
	color: black;
	outline: 0;
}

a:hover {
	color: #666;	
}

a.selected, li.selected a:first-child {
	font-weight: 500;
}

.debug {
	border: 1px solid cyan;
}

/* columns */
.column {
	float: left;
	margin-right: 3.17%;	
}

.column:last-child,  .column.last {
	margin-right: 0;
}

.line {
	width: 100%;
	clear: both;	
	display: table;
	content: " ";
	position: relative;
}

.size-1 {
	width: 7.147%;	
}

.size-2 {
	width: 17.464%;
}

.size-3 {
	width: 27.781%;
}

.size-4 {
	width: 38.098%;
}

.size-5 {
	width: 48.415%;
}

.size-6 {
	width: 58.732%;
}

.size-7 {
	width: 69.049%;;
}

.size-8 {
	width: 79.366%;
}

.size-9 {
	width: 89.683%;
}

.size-10 {
	width: 100%;
	float: none;
}

.half-size {
	width: 50%;
}

.full-size {
	width: 100%;
}

/* Header */
#header {
	position: fixed;
	left: 0px;
	top: 0px;
	min-width: 700px;
	width: 100%;
	background-color: white;
	height: 47px;
	border-bottom: 2px solid #d9d9d9;
	z-index: 1000;
	font-size: 15px;
}

#header .wrapper {
	overflow: inherit;
}

#header h1 {
	position: absolute;
	width: 9.7%;
	top: 12px;
	left: 15px;
}

#header h1 img {
	width: 100%;
	transition: transform .3s ease-in-out;
}

#header.sticky h1 img {
	transform: translate(0,-45px) scale(.45);
}
.sticky {
	position: fixed !important;
	top: 0 !important;
	width: 100%;
}

#header ul {
	margin-left: 10.317%;
	float: left;
}

#header ul li {
	margin-top: 14px;
	display: inline-block;
	margin-right: 24px;
}

#header ul li  ul{
	display:none
}

#header #searchLink {
	display: none;
}

#header ul li a {
	text-decoration: none;
	color: #333;
}


#header ul li a i.fa {
	display: none;
}

#header ul li a:hover {
	color: #888;
}

#rightButton {
	float: right;
}

#rightButton i {
	margin-top: 12px;
	cursor: pointer;
	font-size: 1.5em;
}

#menuButton {
	display: none;
}

/* Homepage */
.homepage #header {
	position: absolute;
	top: 100%;
}

.homepage #content {
	-moz-min-height: calc(100% - 90px);	
	-webkit-min-height: calc(100% - 90px);	
	min-height: calc(100% - 90px);	
	background-color: #f2f2f2;
}

.homepage #content .wrapper {
	padding-top: 47px;
	min-height: 100%;
	overflow: auto;
}

.homepage #content .size-6 {
	margin-right: 0;
}

.homepage #content .size-4 {
	margin-top: 0;
	width: 41.26%;
	border-left: 3px solid #f2f2f2;
}

.homepage #content .wrapper {
	overflow:visible;
}

.homepage #content .wrapper:after {
	content: " ";
	clear: both;
	display: block;
}

#home {
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
	width: 100%;
	height: 100%;	
}

#home a {
	display: block;
	height: 100%;
	width: 100%;
}

#home .logo {
	position: relative;
	display: block;
	width: 80%;	
	margin: auto;
	max-width: 400px;
	max-height: 400px;
	top: 50%;
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	transform: translateY(-50%);

}

#home .arrow-down {
	position: absolute;
	bottom: 10px;
	left: 50%;
	margin-left: -37px;
}

#content .bloc {
	position: relative;
	border-bottom: 2px solid #c4c4c4;
}

#content .bloc .img {
/*	background-position: center center;		this makes the image blurry?*/
	background-repeat: no-repeat;
	background-size: cover;
}

#content .bloc.full-size .img {
	height: 312px;
}

#content .bloc.half-size .img {
	height: 168px;
}

#content .size-4 .bloc.full-size .img {
	height: 264px;
}

#content .bloc a {
	/*line-height: 60px;*/
	display: block;
	background-color: white;
	text-decoration: none;
	white-space: nowrap;
    overflow: hidden;
    width: 100%;
    text-overflow: ellipsis;
}

#content .bloc h2 {
	margin-left: 15px;
	width: 80%;
}

#content .bloc a i.fa {
	float: right;
	margin: -1.5em 15px 0px 0px;
	font-size: 30px;
}

#content .half-size:nth-of-type(even) {
	border-right: 3px solid #f2f2f2;
}

#content .bloc .more {
	position: absolute;
	width: 100%;
	display: none;
	z-index: 500;
	padding: 15px;
	border-bottom: 2px solid #c4c4c4;
	background-color: #c4c4c4;
}

#content .size-4 .bloc .more {
	position: relative;
}
#content .bloc .more p:last-child {
	margin-bottom: 0px;
}

#content .bloc .more a {
	display: inline;
	min-height: inherit;
	background: transparent;
	text-decoration: underline;
}
#content .bloc .more div div {
	display:none;
}
#content .bloc .more div a {
	font-size:0.8em;
}

#content .bloc .more a:after {
	content: " \00203a";
	/*content: " →";*/
}
#content .bloc .more a[href^="mailto"]:after {
	content: "";
}
/* Content */
#banner {
	height: 50%;
	min-height: 200px;
	max-height: 647px;
	background-color: #aaaaaa;
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
}

#banner.text {max-height:250px;position:relative}
#banner.text div.wrapper{padding-top:160px;color:#fff}

#banner.fixed {
	padding-top: 197px;
	height: 297px;
}

#banner.fixed .wrapper {
	height: 100%;
	overflow: inherit;
 	position: relative;
}

#banner.fixed h2 {
	color: white;
	font-family: 'AB BDot Light';
	font-size: 60px;
	line-height: 40px;
	font-weight: normal;
	text-transform: uppercase;
}

#banner iframe {
	border: 0px;
	width: 100%;
	padding-top: 47px;
	height: 100%;
}

#content {
	background-color: white;
	padding-bottom: 60px;
}

#content > li {
	background-color: #f2f2f2;
	padding-bottom: 24px;
}

#content > li:nth-child(even) {
	display: none;
}

#content > li:nth-child(2) {
	display: block;
}

#content > li:nth-child(odd) {
	background-color: white;
	border-bottom: 2px solid #d9d9d9;
	height: 62px;
	text-align: left;
	cursor: pointer;
}

#content > li.title .wrapper {
	overflow: inherit;
}

#content > li.title i.fa {
	float: right;
	margin-top: -1.5em;
	font-size: 30px;
}

#content > li.title i.fa, #content .bloc i.fa {
	-webkit-transition: 0.3s ease-in-out;
	-moz-transition: 0.3s ease-in-out;
	-o-transition: 0.3s ease-in-out;
	transition: 0.3s ease-in-out;
}

#content > li.title:nth-child(1) i.fa {
	-webkit-transform: rotate(90deg);
	-moz-transform: rotate(90deg);
	-o-transform: rotate(90deg);
	-ms-transform: rotate(90deg);
	transform: rotate(90deg);
}

#content h2, #banner h1 {
	width: 95%;
	overflow: hidden;
	font-family: 'AB BDot Light';
	font-weight: normal;
	font-size: 40px;
	line-height: 60px;
	text-transform: uppercase;
	text-overflow: ellipsis;
	white-space: nowrap; 
}

/*
#content li.title h2 {transition:margin 0.2s}
#content li.title h2.selected {margin-left:93px}
*/
#banner h1 {font-size:55px}

#content h3 {
	font-size: 21px;
	font-weight: 500;
	margin: 30px 0px 25px 0px;
}

#content li.events h3 {
	line-height:1.2em;
	margin-bottom:20px
}

#content h3.noMargin {
	font-size: 21px;
	font-weight: 500;
	margin: 30px 0px 0px 0px;
}
#content h5{
	font-size: 20px;
	margin: -15px 0px 25px 0px;
	font-weight: 300;
}


#content .dates {
	font-size: 21px;
	font-weight: 300;
	margin: 10px 0px 0px 0px;	
}

#content h4 {
	font-size: 14px;
	font-weight: 500;
	margin: 30px 0px 15px 0px;
}

#content h4.noMargin {
	margin-bottom: 0px;
}

#content p {
	margin-bottom: 15px;
}

#content blockquote {
	margin: 0px 0px 15px 30px;
}


#content .documents .line:first-child, #content .searchResults .line:first-child {
	border-top: 0px;	
}

#content .documents .line, #content .searchResults .line {
	border-top: 2px #999999 dotted;	
}

#content .documents .size-4 {
	text-align: right;
}
#content .documents div.size-6 p:first-child, #content .documents div.size-4 p:first-child  {
	margin-top: 15px;
}


#content .documents .size-4 img, #content .events .size-4 img {
	width:100%;
}


#content .documents .wrapper {
	padding-top: 15px;
}

#content .documents h4 {
	margin-top: 15px;
	margin-bottom:0
}

#content .documents p, #content .documents ul{
	margin-bottom: 15px;
}
#content .documents p + ul{
	margin-top: -5px;
}

#content .documents .size-4 a {
	display: block;
	margin-top: 8px;
	text-decoration: none;	
}

#content .documents a:hover {
	/*font-weight: bold;	*/
	
}

/* events */
#content li.events .line {border-top: 2px #999999 dotted;}
#content li.events .line:first-child {border-top: 0;}
#content .events .size-4 {text-align: right;padding-top:30px}

#content .half-size {
	width: 50%;
	float: left;
}

#content .column.images {
	margin-top: 30px;
}

#content .column.images img {
	display: block;
	margin-bottom: 15px;
	width: 100%;
}

#content .gallery {
	background-color: #333333;
}

#content .gallery a {
	width: 22.61%;
	display: block;
	float: left;
	height: 127px;
	overflow: hidden;
	margin: 1.59%;
}

#content .gallery a:nth-child(4n) {
	margin-right: 0;
}

#content .gallery a:nth-child(4n-3) {
	margin-left: 0;
}

#content .gallery a:nth-child(-n+4) {
	margin-top: 48px;
}

#content .gallery img {
	height: 100%;
	display: block;	
	margin: 0px auto;
}

#content .searchHighlight {
	background-color: #ffffcc;
}

#content .searchResults .line {
	padding-bottom: 15px;
}

/* Gallery */
.fancybox-nav i {
	font-size: 80px;
	position: absolute;
	top: 50%;
	margin-top: -40px;
	color: white;
}

.fancybox-prev {
	left: -50px;
}

.fancybox-next {
	position: absolute;
	right: -50px;
}

.fancybox-next i {
	right: 0px;
}

.fancybox-close {
	right: 0px;
	top: -25px;
	background: none;
	color: white;
	width: 150px;
	font-size: 1.2em;
	text-align: right;
	text-decoration: none;
	text-transform: lowercase;
}

.fancybox-close i {
	font-size: 20px;
	vertical-align: top;
}

/* Formulaire */
input, textarea {
	width: 100%;	
}

.form {
	padding-bottom: 15px;
}

.form .line {
	padding-top: 10px;
}

.form input, .form select, .form textarea {
	display: block;
	font-family: 'Roboto', sans-serif;
	font-weight: 300;
	font-size: 15px;
	height: 45px;
	border: 0px;
	padding-left: 15px;
	background-color: white;
}

.form select {
	/*-webkit-appearance: none;
 	-moz-appearance: none;
 	appearance: none;*/
 	-webkit-border-radius: 0px;
 	-moz-border-radius: 0px;
 	border-radius: 0px;
 	/*background-image: url(/medias/images/arrow-right.png);
 	background-repeat: no-repeat;
 	background-position: right top;*/
 	text-transform: uppercase;
}

.form input[type=checkbox] {
	-webkit-appearance: none;
 	-moz-appearance: none;
 	appearance: none;
 	-webkit-border-radius: 0px;
 	-moz-border-radius: 0px;
 	border-radius: 0px;
 	width: 25px;
 	height: 25px;
 	border: 5px solid white;
 	float: left;
 	margin-top: 10px;
}

.form input[type=checkbox]:checked {
	background: #666666;
}

.form .checkboxLabel {
	float: left;
	width: auto;
	margin: 14px 0px 0px 15px;
	padding: 0px;
}

.form textarea {
	padding: 15px;
	height: 220px;
}

.form input[type=submit], .form input[type=button] {
	background-color: #666666;
	color: white;
	text-transform: uppercase;
	padding-left: 0px;
	cursor: pointer;
}

.form label {
	display: block;
	width: 100%;
	font-weight: 500;
	padding: 0px 0px 5px 15px;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap; 
/*	height: 29px;*/
}

.form .article {
	line-height:45px;
	}

/* Footer */
#footer {
	height: 90px;
	padding-bottom: 20px;
}

#footer ul {
	margin-top: 20px;
	float: left;
}

#footer ul li {
	display: inline-block;
	margin-right: 30px;
}
#footer ul li.share {
	padding-left: 15px;
	margin-right: 0px;
}

#footer ul li ul {
	display:none
}
/*#footer ul li:nth-last-child(-n+3) {
	margin-right: 15px;
}*/

#footer a {
	color: white;
	text-decoration: none;
}

#footer a:hover {
	color: #aaa;
}

#partners {
	margin-top: 20px;
	float: right;	
}

#partners div {
	float: left;	
	text-align:center;
}

#partners img {
	width: 80px;
	display: inline-block;
	margin-left: 10px;
}

/* File types + icons */
.external-link, .file-word , .column.size-6  a.file-word:hover, .column.size-6  a.external-link:hover  {
	color: #2f42a8;
}

.file-pdf, .column.size-6  a.file-pdf:hover {
	color: #b30008;
}
.column.size-6 .external-link, .column.size-6  .file-word, .column.size-6  .file-pdf {
	color: inherit;
}
.external-link, .file-word, .file-pdf {
	/*padding-left: 2.5em;*/
	text-decoration: none;
	font-weight: 500;
}

[class*="iconmoon-file-"], .iconmoon-external-link {
	font-size:1em;
	vertical-align: -0.15em;
	/*margin: -0.1em 0 0 -1.25em;
    position: absolute;*/
}

/* RSS */

.column.size-6 div div[align="right"] {
    display: none;
}

/* cby */
img.right {float:right;max-width:50%;margin:1em 0 1em 1em}
@media only screen and (max-width: 700px) {
	img.right {float:none;width:100%;max-width:100%;margin:1em 0}

}

div.error {color: #f44;margin: 60px 220px;}

/*.cbyboxwrap div.metaform.formulaires {margin:0;padding-bottom:1.5em;min-width:500px;min-height:auto}*/
.cbyboxwrap div.metaform.formulaires {background-color:inherit;margin:17px}
.cbyboxwrap div.metaform.formulaires div.ds-form{padding:0 0 30px 0;max-width:800px}
.cbyboxwrap div.metaform.formulaires div.ds-form-buttons {top:auto;bottom:0}
.cbyboxwrap div.metaform.formulaires input, .cbyboxwrap div.metaform.formulaires select, .cbyboxwrap div.metaform.formulaires textarea {border:0; padding:7px;max-width:none;width:100%}
.cbyboxwrap div.metaform.formulaires input[type="checkbox"] {width:auto;margin:0 7px}
.cbyboxwrap div.metaform.formulaires textarea {height: 4em;min-height: 4em;font-family:sans-serif;font-size:0.9em}
.cbyboxwrap div.metaform.formulaires label {display:block; padding:6px}
.cbyboxwrap div.metaform.formulaires li.ds {padding:0 0 4px 0}
.cbyboxwrap div.metaform.formulaires a.ds-button {padding:7px}

table.list-inscription {border-collapse:collapse}
table.list-inscription td {border:1px solid #999;border-collapse:collapse;padding:3px}
ul.path {padding:5px}
ul.path li.item {display:inline-block;}
ul.path li.item:after {content:"»";display:inline-block;padding:0 0.3em}
ul.path li.item:last-child:after {content:""}
/*ul.path li.item a{display:inline-block;min-width:7em;padding:0.1em;border:1px solid #777;border-radius:7px;background-color:#eee}*/

ul.expos {border-left:3px solid #f2f2f2;border-top:3px solid #f2f2f2;}
ul.expos:after {content:"";display:block;clear:both}
ul.expos li.expo {width:25%;float:left;border-right:3px solid #f2f2f2;border-bottom:3px solid #f2f2f2;position:relative}
ul.expos li.expo div.img {background-size:cover;height:180px}
ul.expos li.expo div.txt {overflow: hidden;text-overflow: ellipsis;white-space: nowrap;padding:5px 2em 5px 10px}
ul.expos li.expo a{text-decoration:none}
ul.expos li.expo i.fa{position:absolute;right:0;bottom:0;font-size:1.7em;padding:0.5em}
@media only screen and (max-width: 770px) {
	ul.expos li.expo {width:50%}
	ul.expos li.expo div.img {height:280px}
}

.cbyboxwrap div.metaform.formulaires  .ds.column.size-10.boutique:after {clear: both;content: "";display: block;}
.cbyboxwrap div.metaform.formulaires  .ds.column.size-10.boutique {padding:2px 0}
.cbyboxwrap div.metaform.formulaires  .ds.column.size-10.boutique:hover {background-color:#ddd;}
.cbyboxwrap div.metaform.formulaires  .ds.column.size-10.boutique label {float:left;width:70%;}
.cbyboxwrap div.metaform.formulaires  .ds.column.size-10.boutique span {float:right;}
.cbyboxwrap div.metaform.formulaires  .ds.column.size-10.boutique div {float:right;}
.cbyboxwrap div.metaform.formulaires  .ds.column.size-10.boutique input {text-align:right;width:40px}
.cbyboxwrap div.metaform.metaform-formulaire2  .ds-layout {margin-top:5px;}


/* new 2019 */

.t-2019 .wrapper {max-width:1280px}
.t-2019 ul.expos li.expo div.img {height: 0px; padding-bottom: 143%;}


.c-home-tile-pict {background-size: cover;background-position:center; background-repeat: no-repeat;}
.c-home-tile-agenda {position:absolute;top:1rem;left:1rem;right:1rem; height: calc(100% - 60px - 1rem);}
.c-home-tile-agenda-detail {height: 20%; width: 90%; position: relative;  font-size: calc(14px + 8 * ((100vw - 750px) / 960)); line-height: initial;}
/* .c-home-tile-agenda-detail::after { content: ""; position: absolute; top: 20%; left: 0; height: 80%; width: 100%; background: linear-gradient(rgba(0,0,0,0), #fff); pointer-events: none;} */
#content .bloc .c-home-tile-agenda a {display:inline-block;padding-bottom:1rem;/*SC*/padding-bottom:0.75rem;margin-bottom:0.25rem;border-bottom:1px dashed #999}

.o-grid-soft-12 .c-home-tile-pict {padding-bottom:33%;}
.o-grid-soft-8 .c-home-tile-pict {padding-bottom:50%;}
.o-grid-soft-4 .c-home-tile-pict {padding-bottom:100%;}

.o-grid {display:block;width:100%}
.o-grid-gutter { margin-left:-1rem; width: calc(100% + 2rem)}
.o-grid-gutter > [class*='o-grid-soft'], .o-grid-gutter > [class*='o-grid-hard'] {padding: 0 1rem;}

[class*='o-grid-soft'], [class*='o-grid-hard'] {  display: inline-block; vertical-align: top; position: relative; }
.o-grid-soft-0, .o-grid-hard-0 { display: none }
.o-grid-soft-1, .o-grid-hard-1 { width: 8.3333% }
.o-grid-soft-2, .o-grid-hard-2 { width: 16.6666% }
.o-grid-soft-3, .o-grid-hard-3 { width: 25%; }
.o-grid-soft-4, .o-grid-hard-4 { width: 33.3333%;}
.o-grid-soft-5, .o-grid-hard-5 { width: 41.6666% }
.o-grid-soft-6, .o-grid-hard-6 { width: 50%; border-top: 1px solid white; }
.o-grid-soft-7, .o-grid-hard-7 { width: 58.333% }
.o-grid-soft-8, .o-grid-hard-8 { width: 66.6666% }
.o-grid-soft-9, .o-grid-hard-9 {  width: 75% }
.o-grid-soft-10, .o-grid-hard-10 { width: 83.3333% }
.o-grid-soft-11, .o-grid-hard-11 { width: 91.6666% }
.o-grid-soft-12, .o-grid-hard-12 { display: block; width: 100%; border-bottom: 1px solid white;}
.o-grid-soft-10-wide { width: 83.3333%; margin-left: 8.3333%;margin-right: 8.3333%}
.o-grid-bottom [class*='o-grid-soft'], .o-grid-bottom [class*='o-grid-hard'] { vertical-align: bottom; }

/* some css voodoo for making right borders only on specific grid elements on landing page */
.o-grid-soft-4:nth-child(1n+7):not(:nth-child(1n+11)):after, .o-grid-soft-12 + .o-grid-soft-8:after  { position: absolute; content: ""; height: 100%; top: 0; width: 3px;right: 0; border-right: 3px solid #f2f2f2; z-index:99; }

.o-memo + footer {display:none}		/* no footer when in cms */
footer {font-size: 110%; line-height: initial; background: #262626; }
footer > div.wrapper { color: #F4F4F4; height: auto; padding-bottom: 3rem; overflow-x: hidden;}
footer [class*='o-grid-soft'], [class*='o-grid-hard'] { padding: 1rem; }
footer ul { font-weight: bold; font-size: 1rem; padding-bottom: 1rem;}
footer div.linehr { width: 100vw; height: 1px; background: white; }
footer li { line-height: 1.8rem;}
footer h1 { padding: .5rem 0; font-size: 1.6rem; font-weight: 400; }
footer a {  color:#f4f4f4; display: block; padding: 0.2rem 0; text-decoration: none;}
footer, footer a.external-link {color:#f4f4f4;}
footer img { max-width: 30%; float: right;}
footer a.inline {display: inline-block;}
@media screen and (max-width: 750px) { /* Mobile */
	[class*='o-grid-soft'] {display:block;width:100% !important;}
	.o-grid-soft-12 .c-home-tile-pict {padding-bottom:50%;}
	.o-grid-soft-8 .c-home-tile-pict {padding-bottom:50%;}
	.o-grid-soft-4 .c-home-tile-pict {padding-bottom:50%;}
	#header.sticky h1 img { transform: translate(0,0px) scale(1); }
	.c-home-tile-agenda { height: 95%;/*SC*/height: 80%;}
	.c-home-tile-agenda-detail {font-size: 1rem; }
	.o-grid-soft-4:after, .o-grid-soft-12 + .o-grid-soft-8:after {
		border-right: 0px !important;
	}
}

@media screen and (min-width:768px) and (max-width : 1024px) {
	#header.sticky h1 img { transform: translate(0,-35px) scale(.5); }
}

@media screen and (min-width: 1920px) {
	.c-home-tile-agenda-detail  { font-size: 1.5rem; }
  }