:root {
	--primary:#6610f2;--secondary:#8897AA;--success:#02BC77;--info:#28c3d7;--warning:#FFD950;--danger:#d9534f;--light:rgba(24,28,33,0.06);--dark:rgba(24,28,33,0.9);
}
* {
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	-webkit-tap-highlight-color: transparent;
}
body {
	font-family: "Roboto",-apple-system,BlinkMacSystemFont,"Segoe UI","Oxygen","Ubuntu","Cantarell","Fira Sans","Droid Sans","Helvetica Neue",sans-serif;
    font-size: .894rem;
    font-weight: 400;
    line-height: 1.47;
    color: #222;
    margin: 0;
    padding: 0; 
}
.d-none {
	display: none!important;
}
.mm-container {
	width: 100%;
	padding-right: .75rem;
	padding-left: .75rem;
	margin-right: auto;
	margin-left: auto;
}
.bb-1 { border-bottom: 1px dashed #EEE!important; }
.bb-2 { border-bottom: 2px solid #EEE!important; }
.bt-1 { border-top: 1px dashed #EEE!important; }
.bt-2 { border-top: 2px solid #EEE!important; }

.mb-0 { margin-bottom:0; } .mb-1 { margin-bottom:0.2em; } .mb-2 { margin-bottom:0.4em; } .mb-3 { margin-bottom:0.8em; }
.mt-0 { margin-top:0; } .mt-1 { margin-top:0.2em; } .mt-2 { margin-top:0.4em; } .mt-3 { margin-top:0.8em; }
.pb-0 { padding-bottom:0; } .pb-1 { padding-bottom:0.2em; } .pb-2 { padding-bottom:0.4em; } .pb-3 { padding-bottom:0.8em; }
.pt-0 { padding-top:0; } .pt-1 { padding-top:0.2em; } .pt-2 { padding-top:0.4em; } .pt-3 { padding-top:0.8em; }
@media (min-width: 576px){ .mm-container { max-width: 540px; }}
@media (min-width: 768px){.mm-container {	max-width: 720px;}}
@media (min-width: 992px){.mm-container {	max-width: 960px;}}
@media (min-width: 1200px){.mm-container {	max-width: 1140px;}}
.colored, c {
	color:var(--color);
}
h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6 {
    margin-bottom: 1rem;
    font-family: inherit;
    font-weight: 500;
    line-height: 1.1;
    color: #222;
    margin:1rem 0 1rem 0;
}
h1, .h1 { font-size: 2.4rem; }
h2, .h2 { font-size: 1.8rem; }
h3, .h3 { font-size: 1.6rem; font-weight: 400; }
a, a:hover, a:visited, a:active {
	text-decoration: none;
	color: var(--color);
}
#mm-main a, #mm-main a:hover, #mm-main a:visited, #mm-main a:active,
#mm-nav a, #mm-nav a:hover, #mm-nav a:visited, #mm-nav a:active {
    text-decoration: none;
}
[href] {
	cursor: pointer;
}
.mm-row {
    display: grid;
    grid-gap: 1rem;
    justify-content: center;
    grid-template-columns: repeat(auto-fit,minmax(300px,1fr));
}
body:not(.device-mobile) .if-mobile { display: none; }
.mm-row-auto-300 { grid-template-columns: 1fr 340px;}
.device-mobile .mm-row-auto-300 { grid-template-columns: 1fr; }
.mm-row-300-auto { grid-template-columns: 340px 1fr;}
.device-mobile .mm-row-300-auto { grid-template-columns: 1fr; }
.device-mobile .mm-col-invert-mobile { grid-row: 1; }
.row-nogap { grid-gap: 0; }
body:not(.device-mobile) .mm-row.list {
	grid-gap: 0;
}
body:not(.device-mobile) .mm-row.list .mm-col {
	grid-column: 1fr;
}
.mm-row-auto-300 .mm-row {
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
}
::-webkit-scrollbar {width: 10px;height: 5px;}
::-webkit-scrollbar-track {background: #f1f1f1; }
::-webkit-scrollbar-thumb {background: var(--color-w); }
::-webkit-scrollbar-thumb:hover {background: #555; }
::placeholder {
  color: #CCC;
  /*font-style: italic;*/
}
*, .switcher-indicator::after, .custom-checkbox .custom-control-label::before {
  border-radius: 0!important;
}
.form-control, input, select { 
	padding: 0.438rem 0.875rem;
	border-width: 1px;
	border-style: solid;
	border-color: rgba(24, 28, 33, 0.1);
	outline: none;
	width: 100%;
	line-height: 2em;
}
.input.list-input {
    line-height: 34px;
    margin-bottom: 0.4em;
    padding: 0 1em;
    border-color: #EEE;
    display: inline-block;
    width: auto;
    cursor: pointer;
}
:not(.checkbox)>input[type=checkbox] {
    background-color: ##FFF;
    border: 1px solid ##EEE;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    width: 20px;
    height: 20px;
    cursor: pointer;
    position: relative;
    top: unset;
    padding: unset;
    min-height: auto;
    vertical-align: middle;
    outline: 0;
    margin: 0em 0.5em 0em 0;
}
:not(.checkbox)>input[type=checkbox]:checked {
    border: 0px;
    background-color: var(--color);
    background: var(--color) url(data:image/gif;base64,R0lGODlhCwAKAIABAP////3cnSH5BAEKAAEALAAAAAALAAoAAAIUjH+AC73WHIsw0UCjglraO20PNhYAOw==) 5px 5px no-repeat;
}
:not(.checkbox)>input[type=checkbox]+span {
    cursor: pointer;
    user-select: none;
    vertical-align: middle;
    line-height: 20px;
    display: inline-block;
    margin: 0.2em;
}
.bg-primary {background: var(--primary);}
.bg-secondary {background: var(--secondary);}
.bg-success {background: var(--success);}
.bg-info {background: var(--info);}
.bg-warning {background: var(--warning);}
.bg-danger {background: var(--danger);}
.bg-light {background: var(--light);}
.bg-dark {background: var(--dark);}
.text-primary{color:var(--color) !important}a.text-primary:hover,a.text-primary:focus{color:#097cfe !important}
.btn-primary{border-color:transparent;background:var(--color);color:#fff}
.btn-primary:hover{border-color:transparent;background:#398ff1;color:#fff}
.btn-primary:focus,.btn-primary.focus{-webkit-box-shadow:0 0 0 2px rgba(60,151,254,0.4);box-shadow:0 0 0 2px rgba(60,151,254,0.4)}
.btn-primary.disabled,.btn-primary:disabled{border-color:transparent !important;background:var(--color) !important;-webkit-box-shadow:none !important;box-shadow:none !important;color:#fff !important}
.btn-primary .badge{background:#fff;color:var(--color)}
.btn-primary:active,.btn-primary.active,.show>.btn-primary.dropdown-toggle{border-color:transparent;background:#3483dd;-webkit-box-shadow:none;box-shadow:none}
/*.form-control:focus,.custom-select:focus{border-color:var(--color)}*/

.branding_nav,
.branding_nav:hover {
    font-weight: 600;
    background: var(--color);
    padding: 10px;
    line-height: 24px;
    color:#FFF;
    text-align: center;
}
.branding_nav:after {
    content: 'VOTRE AGENDA';
}

body.mm-modal-open {
	overflow: hidden;
}
body.mm-modal-open:after {
	content: '';
	background: rgba(0,0,0,0.5);
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	z-index:9998;
}
.mm-modal {
    position: fixed;
    display: none;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    z-index: 9999;
    box-sizing: border-box;
    padding: 0.5em;
	overflow-y: auto;
}
body.mm-modal-open .mm-modal {
	display: block;
}
.mm-modal > div {
    position:absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 600px;
    max-width: 100%;
	padding: 0.5em;
	max-height: 100%;
}
.mm-modal > div > div {
	background:#FFF;
    box-shadow: 0 0 10px rgba(0,0,0,0.2);
    width: 100%;
    position: relative;
    margin-bottom: 0.5em;
}
.mm-modal > div > div > div {
	padding: 1em;
}
.mm-modal > div > div > div + div {
    border-top: 1px solid #EEE;
}
.mm-modal-header {
    font-size: 1.4em;
}
.mm-modal-close {
	position: absolute;
	top: 1em;
	right: 1em;
	color: var(--color);
}
copyright, legend  {
    display: inline-block;
    position: absolute;
    bottom: 6px;
    right: 6px;
    color: #333;
    font-size: 13px;
    background: rgba(255,255,255,0.5);
    border-radius: 13px!important;
    min-width: 10px;
    line-height: 10px;
    text-align: center;
    padding: 3px;
    font-weight: bold;
}
legend {
	right: auto;
	left: 6px;
	border-radius: 0!important;
}
copyright:before  {
	content: '©';
	vertical-align: middle;
}
copyright label, legend label  {
	display: inline-block;
	padding: 0 2px;
    font-size: 10px;
    vertical-align: middle;
}
copyright:not(:hover) label {
	display: none;
}
copyright:hover, legend:hover  {
	background: #FFF;
}
/*[copyright]:not([copyright=""]):after {
	content: '©';
	position: absolute;
	bottom: 6px;
	right: 6px;
	color: #333;
	font-size: 13px;
	background: #FFF;
	border-radius: 100%;
	width: 13px;
	line-height: 13px;
	text-align: center;
	box-shadow: 0 0 2px #000;
}*/
/*h2 {
	font-weight: 600;
	font-size: 1.6em;
}*/
.device-mobile .container.main {
	padding-right: 20px;
	padding-left: 20px;
}
/****** breadcrumb ******/
.breadcrumb {
	display: block;
	padding: 6px 16px 6px 0px;
	/*border-bottom: 4px solid #EEE;*/
	margin-top: -16px;
	/*margin-bottom: 1rem;*/
}
.breadcrumb ul {
	display: block;
	list-style: none;
	white-space: nowrap;
	height: 24px;
	margin: 0;
	padding: 0;
	overflow: hidden;
	line-height: 24px;
	text-overflow: ellipsis;
	color: #CCC;
}
.breadcrumb ul:before {
    content: '';
    background: #EEE;
    width: 6px;
    display: inline-block;
    height: 1.813rem;
    line-height: 0;
    padding: 0;
    margin: 0 10px 0 0;
    vertical-align: top;
}
.breadcrumb ul > li {
	display: inline-block;
}
.breadcrumb ul > li:not(:first-child):before {
	content: "\f101";
	font-family: 'Font Awesome 5 Free';
    font-weight: 900;
    margin: 0 6px;
    color: #CCC;
	font-size: 0.8em;
	vertical-align: middle;
}

/****** mm-carousel ******/
.mm-carousel {
	position: relative;
	/*overflow: hidden;*/
	max-width: 100%;
}
.mm-carousel .overflow {
	position: relative;
	background-color: var(--color);
	padding-top:40%;
	width: 100%;
	margin: 0;
	padding-top: 40%;
	overflow: hidden;
}
.device-mobile .mm-carousel .overflow {
	padding-top: 60%;
}
.mm-carousel .slides {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	white-space: nowrap;
}
.mm-carousel .slides > ul {
	display: block;
	list-style: none;
	margin: 0;
	padding: 0;
	width: 100%;
	height: 100%;
	white-space: nowrap;
	transition: margin 1s;
}
.mm-carousel .slides > ul > li {
	display: inline-block;
	width: 100%;
	height: 100%;
	margin: 0;
    position: relative;
    white-space: normal;
	user-select: none;
}
.mm-carousel > .points {
    display: block;
    left: 0;
    right: 0;
    bottom:0;
    text-align: center;
    padding:1em;
}
.mm-carousel > .points > div {
    display: inline-block;
    background-color: #CCC;
    border-radius: 100%!important;
    width: 0.6em;
    height: 0.6em;
    line-height: 0;
    margin: 0 0.4em;
    cursor: pointer;
}
.mm-carousel > .points > div.active {
	background-color: var(--color);
}

/****** nav ******/
.mm-nav {
	display: grid;
    justify-content: normal;
    grid-template-columns: 1fr 45px;
    padding-top: 16px;
	padding-bottom: 16px;
    gap: 1em;
}
.device-mobile .mm-nav {
	grid-template-columns: 1fr;
}
.mm-nav > .mm-row {
	display: grid;
    grid-gap: 0;
    justify-content: center;
    grid-template-columns: 1fr;
}
.device-desktop .mm-nav > .mm-row {
	grid-template-columns: 160px repeat(auto-fit, minmax(200px, 1fr));
}
body.device-desktop #mm-nav > .mm-row > div:not(:last-child) {
    border-right: 0;
}
body:not(.device-desktop) #mm-nav > .mm-row > div:not(:last-child) {
    border-bottom: 0;
}
.mm-nav > .mm-row > div, .mm-nav > div { 
	position: relative;
}
.mm-nav .mm-select .ico {
    font-size: 1.1em;
    color: var(--color);
    margin-left: -0.6em;
    width: 36px;
    text-align: center;
}
.mm-select {
	display: block;
	min-height: calc(2.25rem + 6px);
	height: 100%;
	padding: .438rem .875rem;
	font-size: .894rem;
	line-height: 1.54;
	color: #4E5155;
	background-color: #fff;
	background-clip: padding-box;
	border: 1px solid rgba(24,28,33,0.1);
	color:#999;
	cursor:pointer;
	position: relative;
}
/*.device-mobile .mm-select {
	border-right: 0;
	border-left: 0;
}*/
.mm-select > .title b {
	color: #222;
    font-weight: 600;
}
.mm-select > .title {
	position: absolute;
	right: 0;
	left: 0;
	top: 0;
	padding-right: 36px;
	padding-left: 16px;
	overflow: hidden;
	line-height: calc(2.25rem + 6px);
	font-size: .994rem;
	font-weight: 300;
	user-select: none;
	text-overflow: ellipsis;
	white-space: nowrap;
}
.mm-select > .title > .value:not(:empty) + span  {
	display: none!important;
}
.mm-select > .title > .value, .mm-select > .title > .value b {
	color:var(--color);
	font-weight: 500;
}
.mm-select > .title > .value {
	text-transform: uppercase;
}
.mm-select > .caret {
	display: block;
	position: absolute;
	right: 14px;
	top: calc((2.25rem + 2px)/2);
	width: 0;
	height: 0;
	margin-left: 2px;
	vertical-align: middle;
	border-top: 4px solid #CCC;
	border-right: 4px solid transparent;
	border-left: 4px solid transparent;
	pointer-events: none;
}
.mm-select .list {
	background: #fff;
	position: absolute;
	right: -1px;
	left: -1px;
	top: 100%;
	border: 1px solid rgba(24,28,33,0.1);
	border-top: 0;
	z-index: 99999;
	display: none;
	max-height: 400px;
	overflow: auto;
	padding:4px 0; 
}
.mm-select.open .list {
	display: block;
	user-select: none;
	border-top: 1px dashed #EEE!important;
}
.mm-select.open > .caret {
	transform: rotate(180deg);
}
.device-mobile .mm-select .list {
    position: static;
    clear: both;
    border: 0;
    margin: calc(2.25rem + 0px) -14px -7px -14px;
}
.mm-select .list > .item {
	display: block;
	padding: 12px 16px;
	line-height: 1em;
}
.mm-select .list > .item.sub {
    font-size: 0.8em;
    padding: 6px 16px 6px 8px;
    border-left: 4px solid #EEE;
    margin-left: 16px;
}
.mm-select .list > .item:hover,
.mm-select .list > .item:focus,
.mm-select .list > .item.active {
	background: var(--color-hh);
}
.mm-select .list > a.item {
	color:var(--color-w);
}
.mm-select .list > a.item.disable {
	user-event:none;
	color: #999;
}
.mm-select .list > a.item:hover {
	color:var(--color-h);
}
.mm-select .search {
	border: 0;
	line-height: 3em;
	padding: 0 1em;
	/*float: right;*/
}
.mm-nav.search {
	grid-template-columns: 1fr;
}
.mm-nav.search > .mm-row {
	display: none;
}
.mm-nav #mm-nav-search .mm-close {
	display: none;
}
.mm-nav.search #mm-nav-search .mm-close {
	display: block;
	font-weight: bold;
	position: absolute;
	z-index: 99;
	color: var(--color);
	top:0;
	right: 0;
	width: calc(2.25rem + 6px);
	line-height: calc(2.25rem + 6px);
	text-align: center;
	font-size: 1.4em;
}
#mm-nav-search {
	border: 1px solid rgba(24, 28, 33, 0.1);
	padding: 0;
	overflow: visible; /* important for search */
}
#mm-nav-search .form-control {
	line-height: calc(2.25rem + 6px);
	height: calc(2.25rem + 6px);
	padding: 0;
	font-size: .894rem;
	border:0;
	padding-left: 43px!important;
}
#mm-nav-search:before {
	text-transform: none;
	font-weight: normal;
	font-style: normal;
	font-variant: normal;
	font-family: "Ionicons";
	content: "\f4a5";
	position: absolute;
	font-size: 1.6em;
	left: 14px;
	top: 3px;
	color: var(--color);
	pointer-events: none;
}
#mm-fullsearch-results {
	display: none;
	position: absolute;
	top: 100%;
	right: -1px;
	left: -1px;
	background: #FFF;
	border: 1px solid #EEE;
	list-style: none;
	margin: 0;
	padding: 0;
	z-index: 99;
}
.mm-nav.search #mm-fullsearch-results {
	display: block;
}
#mm-fullsearch-results li {
    padding: 1em 1.5em;
    border-bottom: 1px dashed #CCC;
    color: #666;
    font-size: 0.9em;
    overflow: hidden;
}
#mm-fullsearch-results li:last-child {
	border-bottom:0;
}
#mm-fullsearch-results .autoComplete_highlighted {
	color: var(--color);
}
#mm-fullsearch-results li .title {
    font-size: 1.2em;
    color:#222;
}
#mm-fullsearch-results li .pic {
    float: left;
    margin: 0.4em 1em 0 0;
}
#mm-fullsearch-results li .pic i {
    font-size: 2.8em;
    width: 80px;
    text-align: center;
    background: #00000011;
    line-height: 60px;
}
#mm-fullsearch-results li .dates {
    color:var(--color);
    font-size:0.9em;
}
#mm-fullsearch-results li .dates d {
    font-weight:bold;
    font-size:1.2em;
}
.device-mobile #mm-nav.search #mm-nav-search {
    position: fixed;
    top: -1px;
    right: -1px;
    left: -1px;
    bottom: -1px;
    background: #FFF;
    display: block;
    z-index: 999999;
    overflow: auto;
}
.device-mobile #mm-nav.search #mm-fullsearch-results {
    position: static;
}
.mm-nav .morelist {
    border-top: 2px solid #EEE;
    padding-top: 0.5em;
    margin-top: 0.5em;
    margin-bottom: 0.5em;
}
.mm-select .list .item.sub {
    font-size: 1em;
    padding: 6px 16px 6px 8px;
    border-left: 4px solid #EEE;
    margin-left: 16px;
    display: block;
}
.mm-nav .no-global-list .morelist {
    border-top: 0;
    padding-top: 0;
    margin-bottom: 0;
}
.mm-select .list.no-global-list .item.sub {
    border-left: 0;
    margin-left: 0.5em;
}
.cursor-pointer {
    cursor: pointer !important;
}


.device-desktop .mm-rfilters {
	display:block;
	float:left;
	width:300px;
	margin-top: 2rem;
}

.dates d num {
	font-size: 1.4em;
	font-weight: 600;
}
.dates .small {
	font-size: 0.6em;
}
.dates .fas {
	font-size: 0.8em;
}

/* webblock */
.fa-arrow-left:before {
    content: '\f104';
}
.fa-arrow-right:before {
    content: '\f105';
}
.list-inf {
	align-items: center;
}
.list-inf .infos {
	color: #666;
	font-size: 0.9em;
	padding: 1em 0;
}
.list-inf .pages ul {
    display: grid;
    grid-gap: 0.4rem;
    justify-content: right;
    grid-template-columns: repeat(auto-fit,minmax(2rem,auto));
    list-style: none;
	user-select: none;
}
.list-inf .pages ul li a {
    display: block;
    border: 1px solid #EEE;
    text-align: center;
    line-height: 2rem;
}
/*.list-inf .pages ul li:not(.d-none) + li.d-none a {
	display: none;
}
.list-inf .pages ul li.d-none + li:not(.d-none) a:after {
	content: '...';
	display: inline-block;
	margin: 0 0.5em;
}*/
.list-inf .pages ul li a.active {
	background: var(--color);
	border-color: var(--color);
	color: #FFF;
}
.list-inf .pages ul li a:not(.active):hover {
	color: #999;
}
.list-inf .pages ul li a.disable {
	color: #CCC;
	cursor: default;
	pointer-events: none;
}
.webblock {
	display: block;
	width: 100%;
	/*background: #FFF;*/
	position: relative;
	/*box-shadow: 0 0 5px rgba(0,0,0,0.2);*/
}
.webblock > .picture {
	display: block;
	position: relative;
	width: 100%;
	padding-top: 60%;
}
.webblock > .picture > .pic {
	background: url() center center no-repeat var(--color);
	background-size: cover;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
}
.webblock > .picture > .pic > div:not(:empty){
	display: grid;
	align-items: center;
	margin: 0;
	padding: 10px;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	overflow: hidden;
	font-size: 1.2rem;
	line-height: 1.4rem;
	color: #FFF;
	font-weight: 300;
	text-align: center;
	text-transform: uppercase;
	/*box-shadow: inset 0 -4em 4em rgba(0,0,0,0.3);*/
}
.webblock:hover > .picture .pic {
	opacity: 0.8;
}
.webblock .indicators {
	display: inline-block;
    font-size: 0.8em;
    line-height: 1.2em;
    padding: 0.4em 0.8em;
    margin: 0px 2px 5px 0;
    background: #999;
    color: #FFF;
    font-weight: 500;
    text-transform: uppercase;
	position: absolute;
	top: 0;
	right: 0;
	background: transparent;
	width: auto;
	height: auto;
	padding: 0;
	margin: 0;
	min-width: auto;
	text-align: center;
}
.webblock .indicators > i {
	float: left;
}
.webblock .indicators label {
	padding: 0 4px;
	margin: 0;
}
.webblock .indicators:not(:hover) label {
    display: none;
}
.webblock .indicators > div {
    padding: 2px 4px;
    line-height: 1.4em;
    pointer-events: none;
}
.webblock .super-indicators {
    position: absolute;
    top: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
    pointer-events: none;
    text-transform: uppercase;
}
.webblock .super-indicators>div {
    display: inline-block;
    color: #FFF;
    padding: 40px 40px 4px 40px;
    position: absolute;
    transform: rotate(-45deg);
    transform-origin: bottom center;
    top: -22px;
    left: -28px;
    font-size: 12px;
    font-weight: 400;
}
.webblock > .infos {
	display: block;
	padding: 1em 0 1.4em 0;
	height: 180px;
	overflow: hidden;
}
.webblock > .infos .ico {
	margin-right: 4px;
	color: #333;
}
.device-mobile .webblock > .infos {
	height: auto;
}
.webblock > .infos > .category {
	height: 1.4em;
	white-space: nowrap;
	text-overflow: ellipsis;
	overflow: hidden;
	font-size: 0.8em;
	color: #222;
	font-weight: 500;
	margin-bottom: 0.4em;
}
.webblock > .infos > .title {
	font-size: 1.4em;
	color: #222;
	font-weight: 500;
	line-height: 1.2em;
	margin: 0 0 0 0;
	max-height: 50px;
	overflow: hidden;
	text-overflow: ellipsis;
}
.webblock > .infos .dates {
    font-size: 1.2em;
    margin-top: 0.4em;
    font-weight: 400;
    line-height: 18px;
}
.webblock .dates d {
	font-size: 0.7em;
}
.webblock > .infos .dates {
	color: #CCC;
}
.webblock > .infos .dates d {
	color: var(--color);
}
.webblock > .infos .dates .small {
	color: #666;
}
.webblock .picture .dates .small {
	display: block;
}
.webblock .picture .title {
	display: block;
    margin-bottom: 0.2em;
}
.webblock > .infos > .venues {
    font-size: 0.9em;
    height: 16px;
    color: #666;
    white-space: nowrap;
    text-overflow: ellipsis;
    overflow: hidden;
}
.webblock > .infos > .venues > span {
	display: block;
}
.webblock > .infos > .venues b {
    color: #222;
}
.webblock > .infos > .intro {
	font-style: italic;
	margin-top: 8px;
	height: 50px;
	overflow: hidden;
	text-overflow: ellipsis;
	color: #666;
	line-height: 17px;
	font-weight: 500;
    font-size: 0.9em;
}
.intro span:not(:empty):before {
    font-family: 'Font Awesome 5 Free';
    content:'\f10d';
    font-weight: 900;
    margin-right:0.8em;
    color:#666!important;
    font-size: 0.8em;
}
.intro span:not(:empty):after {
    font-family: 'Font Awesome 5 Free';
    content:'\f10e';
    font-weight: 900;
    margin-left:0.8em;
    color:#666!important;
    font-size: 0.8em;
}
.webblock > .agenda {
	display: table-cell;
	width: 80px!important;
    min-width: 80px;
	vertical-align: top;
}
.webblock > .agenda > date {
	display: grid;
	align-items: center;
	width: 100%!important;
    height: auto;
    min-height: 80px;
    background: var(--color);
    color: #FFF;
    padding: 0;
    margin: 0;
    text-align: center;
	font-size: 1.2em;
}
.webblock > .agenda > date .fas {
	display: block;
    margin: 0;
}
.device-mobile .webblock > .infos > .intro {
	height: auto;
}
.mm-row.list {
    grid-template-columns: 1fr;
}
.list .webblock > .infos > .category,
.list .webblock > .infos > .title,
.list .webblock > .infos > .dates,
.list .webblock > .infos > .venues,
.list .webblock > .infos > .intro {
	white-space: normal;
	height: auto;
}
/*body:not(.device-mobile)*/ .list .webblock {
    display: table;
    border-top:1px solid #EEE;
    padding-top:1em;
    padding-bottom:1em;
}
/*body:not(.device-mobile)*/ .list .webblock .picture {
    display: table-cell;
    vertical-align:top;
    float: left;
    width: 250px!important;
}
/*body:not(.device-mobile)*/ .list .webblock > .infos {
    display: table-cell;
    width:100%;
    vertical-align:top;
    padding: 0 0 0 1em;
    height: auto;
}
/*body:not(.device-mobile)*/ .list .webblock > .infos > .intro {
   height:auto!important;
}
body.device-mobile .list .webblock .picture {
	width: 80px!important;
	padding-top: 100%!important;
}
body.device-mobile .list .webblock > .picture > .pic > div:not(:empty) {
	font-size: 0.9em;
	line-height: 1em;
	padding: 0.2em!important;
}
body.device-mobile .list .webblock > .picture > .pic > div:not(:empty) .small,
body.device-mobile .list .webblock > .picture > .pic > div:not(:empty) .title {
	display: none;
}
body.device-mobile .list .webblock > .picture > .pic > div:not(:empty) .fas {
	display: block;
    margin: 0.3em 0;
}
/* calendar */
.mm-calendar {
    max-width: 21em;
    border: 1px solid #EEE;
    text-align: center;
    line-height: 3em;
    cursor: pointer;
    user-select: none;
    position: absolute;
    background: #FFF;
    min-width: 21em;
    margin-top: 2px;
    display: none;
}
.device-mobile .mm-calendar {
	position: fixed;
	left: 0;
	bottom: 0;
	right: 0;
	width: 100%;
	max-width: 100%;
	margin: 0;
	border:0;
	border-top: 1px solid #EEE;
}
.mm-calendar.open {
	display: block;
}
.mm-calendar .months {
	font-weight: bold;
	text-transform: capitalize;
}
.mm-calendar .dates {
	height: 240px;
}
.mm-calendar ul {
    display: grid;
    grid-gap: 0rem;
    justify-content: center;
    grid-template-columns: repeat(7, 1fr);
    list-style: none;
    padding: 0;
    margin: 0;
}
.mm-calendar .months ul {
	grid-template-columns: 1fr 5fr 1fr;
}
.mm-calendar .days ul {
	font-weight: bold;
}
.mm-calendar ul li.today {
	color:var(--color);
	font-weight: bold;
}
.mm-calendar ul li.between {
	background: var(--color-hh);
}
.mm-calendar ul li.active {
	background: var(--color);
	color:#FFF;
}
.mm-calendar ul li.active time {
    color: #FFF;
}
.mm-calendar ul .light {
	color: #CCC;
}
.mm-calendar ul .light time {
    color: #00000033;
}
.mm-calendar .reset, .mm-calendar .close {
	margin-top: 1em;
	width: 50%;
	float: left;
	color: var(--color);
	background: var(--color-hh);
}
.mm-calendar .close {
	background: var(--color);
	color: #FFF;
}

[class*=mm-social-], [class*=mm-social-]:hover {
	font-size: 2.4em;
	color:#CCC;
	margin-left: 0.1em;
	line-height: 0em;
}
a.mm-social-facebook  { color: #3b5998; }
a.mm-social-twitter  { color: #2eaadc; }
a.mm-social-linkedin  { color: #0073b1; }
.mm-content p {
	padding: 0;
	margin: 0;
}
.mm-content h1 {
    margin: initial;
    border: initial;
    line-height: initial;
}
.mm-content h1:before {
    display:none;
}
.mm-tags {
	display: inline-block;
	background: var(--color);
	color: #FFF!important;
	line-height: 0.9em;
	padding: 0.4em;
	margin: 0 0 0.1em 0.1em; 
}
/**** mm-gallery ****/
.mm-gallery {
	grid-template-columns: repeat(auto-fit,minmax(150px,1fr));
}
.mm-gallery .mm-col:nth-child(1n+14){
	display: none;
}
#mm-modal-gallery > div {
	width: 800px;
	line-height: 0;
	cursor: pointer;
	user-select: none;
}
#mm-modal-gallery > div > div {
	background: transparent;
	border: 0.5em inset #00000066;
}
#mm-modal-gallery > div img {
    max-width:100%;
}
#mm-modal-gallery .back,
#mm-modal-gallery .next {
    position: absolute;
    z-index: 999;
    width: 3em;
    height: 3em;
    top: 50%;
    transform: translate(0, -50%);
    text-align: center;
    line-height: 3em;
    color: #FFF;
    text-shadow: 0 0 4px #000;
    font-size: 1.4em;
    cursor: pointer;
}
#mm-modal-gallery .next {
	right: 0;
}

/***********************************************************************************************************************************************************/
/*********************************************************************** SPECIAL VDN ***********************************************************************/
/***********************************************************************************************************************************************************/
:root {
	--color-nav-1:var(--color);
	--color-nav-2:#ffca00;
}
h1, h2 {
    /*border-left: 6px solid var(--color);*/
    padding: 0 1rem!important;
    position: relative;
    line-height: 1em!important;
    font-weight: 700;
}
h1:before, h2:before {
    content: '';
    background: var(--color-nav-2);
    width: 6px;
    position: absolute;
    top: 0.14em;
    bottom: 0.14em;
    left: 0px;
    height: auto!important;
}
h1:before {
    height: 2.4rem;
}

body {
	overflow-x: hidden;
}
body:not(.device-mobile) .on-mobile {
	display: none;
}
body:not(.device-desktop) .on-desktop {
	display: none;
}
nav .right-more, nav .left-more {
	display: inline-block;
	line-height: 1.8em;
	position: absolute;
	right: 0.5em;
}
nav .left-more {
	right: auto;
	left: 0.5em;
}
nav .right-more > a, nav .left-more > a {
	display: block;
	background: #ffca00;
	color: #1d1d1d!important;
	font-weight: bold;
	font-size: 0.9em;
	padding: 0 0.6em;
}
/* nav */
nav {
	user-select: none;
}
nav > .nav {
	top: 0;
	left: 0;
	right: 0;
	z-index: 999;
	margin-left: 0%;
    width: 100vw;
    margin-bottom: 20px;
}
nav ul, footer ul {
	list-style: none;
	margin: 0;
	padding: 0;
	position: relative;
	font-family: "Roboto Condensed","Roboto",-apple-system,BlinkMacSystemFont,"Segoe UI","Oxygen","Ubuntu","Cantarell","Fira Sans","Droid Sans","Helvetica Neue",sans-serif;
    font-weight: 400;
}
nav a, nav a:visited {
	color: #333;
}
nav a:hover, nav a:active, nav .ico {
	color:var(--color-nav-1);
}
nav > .nav > ul {
	display: grid;
	width: 100vw;
	background: #FFF;
	grid-template-columns: 10px 58px 48px 1fr 48px 58px 10px;
	box-shadow: 0 5px 10px #00000011;
}
nav > .nav > ul > li {
	display: table-cell;
	line-height: 68px;
	text-align: center;
	vertical-align: middle;
	min-width: 10px;
}
/*nav > .nav > ul > li:first-child {
	padding-left: 10px;
}
nav > .nav > ul > li:last-child {
	padding-right: 10px;
}*/
/*nav > .nav > ul > li > a {
	width: 48px;
}*/
nav > .nav > ul > li > .ico {
	display: block;
	font-size: 28px;
}
nav > .nav > ul > li.brand {
	width: 100%;
	vertical-align: top;
	padding: 1em 0;
}
nav > .nav > ul > li.brand img {
	height: 78px;
	position: absolute;
	left: 50%;
	transform: translate(-50%,0);
	transition: all 1s;
	z-index: 9999;
	box-shadow: 0px 0px 10px #00000033;
}
/* global-menus */
nav > .nav > ul .global-menus {
	text-align: left;
	height: 68px;
}
nav > .nav > ul .global-menus:before {
    content: '';
    display: inline-block;
    background: var(--color-nav-2);
    width: 6px;
    height: 30px;
    float: left;
    margin: 20px 0 0 0;
}
nav > .nav > ul .global-menus > ul > li {
	display: inline-block;
	font-size: 1.6em;
	line-height: 68px;
	margin: 0 0 0 0.8em;
	vertical-align: top;
	position: relative;
}
nav > .nav > ul .global-menus > ul > li > ul {
	background: #FFF;
	position: absolute;
	left: -1em;
	z-index: 999;
	padding-bottom: 10px;
	min-width: 210px;
	box-shadow: 0 10px 10px #00000022;
	max-height: 400px;
	overflow-y: auto;
}
nav > .nav > ul .global-menus > ul > li:not(:hover) > ul {
	display: none;
}
nav > .nav > ul .global-menus > ul > li > ul > li {
	padding: 0.6em 1em;
	line-height: 1em;
	white-space: nowrap;
	font-size: 0.8em;
}
nav > .nav > div {
	background:#FFF;
	text-align:center;
}
.nav-fix nav > .nav > .not-fix {
	display: none;
}
/* fix */
.nav-fix nav > .nav {
	position: fixed;
	top:0;
	transition: top 0.5s;
}
.nav-fix.nav-show nav > .nav,
.nav-fix[class*="nav-open-"] nav > .nav {
	top:0!important;
	transition: all 0.5s;
}
.nav-fix[class*="nav-open-"] nav .left-more,
.nav-fix[class*="nav-open-"] nav .right-more {
	display: none;
}
nav > div:not(.nav) {
    position: fixed;
    display: none;
    top: 68px;
    bottom: 0;
    left: 0;
	right: 0;
    z-index: 998;
    width: 100%;
    transition: left 0.2s;
    background: rgba(255,255,255,0.95);
   /* border-top: 1px solid #EEE;*/
    box-shadow: 0 10px 10px #00000022;
    /*padding-bottom: 100px;*/
}
nav > div:not(.nav).menus {
	left: -120%;
}
nav > div:not(.nav).account {
	left: 100%;
}
nav > div:not(.nav) > ul {
    height: 100%;
    margin: 0;
    padding: 0.8em 0 68px 0.4em;
    list-style: none;
    overflow-y: auto;
}
body:not(.device-mobile) nav > div:not(.nav):not(.search) {
	max-width: 375px;
}
body[class*='nav-open-']:not(.device-desktop) {
	overflow: hidden;
}
body.nav-open-account nav > .account {
    left: auto;
    transition: left 0.2s;
    display: block;	
}
body.nav-open-menus nav > .menus {
    left: 0;
    transition: left 0.2s;
    display: block;
}
body.nav-open-search nav > .search {
	display: block;
	height: auto;
	bottom: auto;
	left: 0;
	right: 0;
}
nav > div:not(.nav) > ul li {
	position: relative;
}
nav > div:not(.nav) > ul li > a {
	display: block;
	padding: 0.1em 1em;
	line-height: 1.8em;
	font-size: 1.4em;
}
nav > div:not(.nav) > ul li > ul {
	margin-left: 1.4em;
    border-left: 5px solid var(--color-nav-1);
}
nav > div:not(.nav) > ul li > ul:not(.show) {
	display: none;
}
nav > div:not(.nav) a.toggle-menu {
	position: absolute;
	right: 0;
	top: 0;
	font-size: 2em!important;
	line-height: 1em!important;
	padding: 0.1em 0.5em 0.1em 2em!important;
	color: var(--color-nav-1);
}
nav > div:not(.nav) a.toggle-menu:after { content:'+'; }
nav > div:not(.nav) a.toggle-menu.show:after { content:'-';font-size:1.8em; }

/****************************** footer ******************************/
footer a, footer a:visited {
	color: #FFF;
}
footer a:hover, footer a:active, footer a.ico {
	color:#CCC;
}
footer .foot > ul {
	grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
	display: grid;
	grid-gap: 1rem;
	justify-content: center;
}
footer .foot > ul > li > a {
	font-size: 1.4em;
}
footer .foot > ul ul > li {
	padding-left: 0.5em;
} 
body.device-mobile footer .brand {
	display:block;
	width: 100%;
	text-align: center;
	margin-bottom: 1em;
}
body:not(.device-mobile) footer .brand {
	float:left;
	margin-right: 3em;
}
@media (min-width: 992px){
	nav > .nav > ul > li.brand {
		text-align: left;
	}
	nav > .nav > ul > li.brand img {
		position: absolute;
		left: initial; 
		transform: translate(0,0); 
		bottom: -20px;
		transition: none!important;
	}
	body:not(.nav-fix) nav > .nav > ul > li.brand img {
		width: 138px;
		height: auto;
	}
	nav > .nav > ul {
	    grid-template-columns: auto 150px 48px minmax(300px,900px) 58px 58px auto;
    	grid-auto-flow: column;
    }
    body.nav-fix nav > .nav > ul {
    	grid-template-columns: auto 88px 48px minmax(300px,900px) 58px 58px auto;
    }
    nav > .nav > ul > li:nth-child(1){  order:1; }
    nav > .nav > ul > li:nth-child(4){  order:2; }
    nav > .nav > ul > li:nth-child(2){  order:3; }
    nav > .nav > ul > li:nth-child(5){  order:4; }
    nav > .nav > ul > li:nth-child(3){  order:5; }
    nav > .nav > ul > li:nth-child(6){  order:6; }
    nav > .nav > ul > li:nth-child(7){  order:7; }
}


nav.invertcolor > div > ul a, 
nav.invertcolor > div > ul a:visited {
    color:#FFF;
}
nav.invertcolor > div > ul a:hover, 
nav.invertcolor > div > ul a:active {
	color:#FFFFFF99;
} 
nav.invertcolor > div > ul .ico,
nav.invertcolor > div:not(.nav) a.toggle-menu {
    color:#FFF;
}
nav.invertcolor > .nav > ul,
nav.invertcolor > div:not(.nav):not(.search) {
    background:var(--color-nav-1);
}
nav.invertcolor > div:not(.nav):not(.search) {
	filter: opacity(0.9);
}
nav.invertcolor > .nav > ul .global-menus > ul > li > ul {
    background:var(--color-nav-1);
    color:#FFF;
}
nav.invertcolor > .nav > ul {
    border:0px;
}
.mapboxgl-canvas {
    outline: none;
} 
.marker.pointer {
    cursor: pointer;
    text-shadow: 1px 1px 2px #00000033;
    top: -14px;
    width: 40px;
    height: 40px;
    text-align: center;
    line-height: 40px;
}
.marker.pointer.focus>i {
    color: var(--color-nav-2);
}
[zoom="7"] .marker.pointer .ico,
[zoom="6"] .marker.pointer .ico,
[zoom="5"] .marker.pointer .ico,
[zoom="4"] .marker.pointer .ico,
[zoom="3"] .marker.pointer .ico,
[zoom="2"] .marker.pointer .ico,
[zoom="1"] .marker.pointer .ico {
    font-size: 1.8em;
}

.popup-map-infos {
    z-index: 2;
}
.map-sideinfos {
    width: 33%;
    min-width: 300px;
    position: absolute;
    top: 0;
    bottom: 0;
    background: #F8F8F8CC;
    overflow: hidden;
    z-index: 99;
    padding: 10px;
    border-left: 6px solid var(--color);
    box-shadow: 0px 0px 10px #00000033;
}
.device-mobile .map-sideinfos {
    width: 100%;
    position: static;
    height: auto;
    background: #F8F8F8;
    border-left:0;
    border-bottom: 6px solid var(--color);
}
.map-sideinfos:not(.show){
    display: none;
}
.mapscroll {
    position: relative;
    height: 100%;
    overflow: hidden;
}
.mapscroll .map-enable {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 9;
    display: grid;
    align-items: center;
    text-align: center;
}
.mapscroll .map-enable:after {
    content: "Cliquer sur la carte pour la manipuler.";
    display: inline-block;
    background: var(--color);
    color: rgb(255, 255, 255);
    width: auto;
    font-size: 12px;
    margin-top: 50%;
    position: absolute;
    bottom: 10px;
    padding: 2px 20px;
    opacity: 0.8;
}
.mapscroll.active .map-enable {
    display: none;
}
.mapscroll.active .map-disable {
    position: absolute;
    bottom: 10px;
    left: 10px;
    width: 40px;
    height: 40px;
    z-index: 9;
    text-align: center;
    line-height: 34px;
    font-size: 18px;
}
.mapscroll.active .map-disable:after {
    content: "\f103";
    font-family: 'Font Awesome 5 Free';
    font-weight: 900;
}
.mapscroll:not(.active) .map-disable {
    display: none;
}

.gpt-hide {
    visibility: hidden;
    position: absolute;
}

.ads-top {
    background:#00000006;
    line-height: 0;
}
.ads-top>div {
    display: block;
    text-align: center;
    line-height: 0;
    overflow: hidden;
}
body.nav-fix:not(.nav-fix.nav-show):not(.gpt-ad-top-viewed):not(.gpt-ad-top-es-viewed) .ads-top {
    position: fixed;
    display: block !important;
    z-index: 999;
    top: 0;
    right: 0;
    left: 0;
    background: #EEE !important;
    box-shadow: 0 0 10px #00000011;
}
body.nav-fix:not(.nav-fix.nav-show) .ads-top .ads {
    padding: 0;
    margin: 10px 0 !important;
    background: transparent !important;
}
body:not(.gpt-ad-imu-viewed):not(.gpt-ad-imu-es-viewed) .imu-sticky {
    position: sticky;
    top: 10px;
    text-align: center;
    z-index: 99;
}
body.nav-show .imu-sticky {
    top: 90px !important;
}
[data-share] .icon {
    line-height: 0;
    font-size: 1.4em;
    display:inline-block;
    background: url() center center no-repeat;
    width: 22px;
    height: 22px;
    background-size: contain;
    /* vertical-align: middle; */
}
/* .share-btn [data-share]:hover {
    width: 60px;
} */
.share-btn {
    display: inline-block;
}
.share-btn [data-share] {
    display: block;
    float: left;
    width: 40px;
    height: 40px;
    text-align: center;
    vertical-align: middle;
    line-height: 52px;
    border-radius: 100px!important;
    margin: 2px;
}
[data-share="fb"] .icon { background-image: url(/agenda-evenements/assets/img/social/facebook.svg); }
[data-share="fb"] { background-color: #3b5b99!important;} 
[data-share="messenger"] .icon { background-image: url(/agenda-evenements/assets/img/social/messenger.svg); }
[data-share="messenger"] { background-color: #448aff!important;} 
[data-share="twitter"] .icon { background-image: url(/agenda-evenements/assets/img/social/twitter.svg); }
[data-share="twitter"] { background-color: #00aced!important;}
[data-share="linkedin"] .icon { background-image: url(/agenda-evenements/assets/img/social/linkedin.svg); }
[data-share="linkedin"] { background-color: #0084b1!important;}
[data-share="whatsapp"] .icon { background-image: url(/agenda-evenements/assets/img/social/whatsapp.svg); }
[data-share="whatsapp"] { background-color: #25d366!important;}
[data-share="pinterest"] .icon { background-image: url(/agenda-evenements/assets/img/social/pinterest.svg); }
[data-share="pinterest"] { background-color: #cb2027!important;}
[data-share="sms"] .icon { background-image: url(/agenda-evenements/assets/img/social/sms.svg); }
[data-share="sms"] { background-color: #ffbd00!important;}