/*** --- 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
	12. Specific pages styles
		-- homepage
		-- color pages
	13. Powered
		-- copyright
		-- login kameleo
	14. Social medias
	15. Mobiles version
	16.	Mediaqueries

*/

/* ------------------------------------------------- VARIABLES ----------------------------------------------------- */

:root {
  --color-white: #ffffff;
  --color-black: #282828;
  --color-primary: #1d62be;
  --color-secondary: #383c46;
  --color-darkgray: #414042;
  --color-mediumgray: #acacac;
  --color-lightgray: #f6f6f6;

  --color-bg: #f3f7fc;
  --color-border: #dfdfdf;
  --color-text: var(--color-black);
  --color-textneg: var(--color-white);
  --color-pagetitle: var(--color-primary);
  --color-paragraphtitle: var(--color-primary);
  --color-secondarytitle: var(--color-mediumgray);

  --links-color: var(--color-primary);
  --links-hovercolor: var(--color-secondary);
  --links-hovermenu: var(--color-bg);
  --links-activecolor: var(--color-primary);

  --button-color: var(--color-primary);
  --button-hovercolor: var(--color-secondary);

  --font-main: "Rubik", sans-serif;
  --font-secondary: "Rubik", sans-serif;

  --weight-light: 300;
  --weight-normal: 400;
  --weight-medium: 500;
  --weight-semibold: 500;
  --weight-bold: 700;

  --size-smalltext: 14px;
  --lineheight-smalltext: 20px;

  --size-maincoltext: 18px;
  --lineheight-maincoltext: 26px;

  --size-maintext: 22px;
  --lineheight-maintext: 34px;

  --size-bigtext: 22px;
  --lineheight-bigtext: 27px;

  --size-titleh1-mobile: 30px;
  --lineheight-titleh1-mobile: 30px;
  --size-titleh1-medium: 40px;
  --lineheight-titleh1-medium: 40px;
  --size-titleh1-large: 65px;
  --lineheight-titleh1-large: 65px;

  --size-titleh2-mobile: 20px;
  --lineheight-titleh2-mobile: 26px;
  --size-titleh2-medium: 26px;
  --lineheight-titleh2-medium: 33px;
  --size-titleh2-large: 36px;
  --lineheight-titleh2-large: 43px;

  --size-titleh3-mobile: 24px;
  --lineheight-titleh3-mobile: 29px;
  --size-titleh3-medium: 26px;
  --lineheight-titleh3-medium: 31px;
  --size-titleh3-large: 28px;
  --lineheight-titleh3-large: 33px;

  --size-titleh4-mobile: 18px;
  --lineheight-titleh4-mobile: 30px;
  --size-titleh4-medium: 20px;
  --lineheight-titleh4-medium: 32px;
  --size-titleh4-large: 22px;
  --lineheight-titleh4-large: 34px;

  --size-titleh5-mobile: 18px;
  --lineheight-titleh5-mobile: 23px;
  --size-titleh5-medium: 20px;
  --lineheight-titleh5-medium: 30px;
  --size-titleh5-large: 20px;
  --lineheight-titleh5-large: 30px;

  --gap-small: 10px;
  --gap-large: 15px;

  --global-box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.12);
  --global-radius: 2px;
  --global-transition: 0.2s all ease-in-out;
}

/* ---------------------------------------------- VALEUR DE BASE PAR DEFAUT ---------------------------------------- */

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

body {
  height: 100%;
  background-color: var(--color-white);
  color: var(--color-text);
  font-family: var(--font-main);
  font-size: 18px;
  line-height: 30px;
  font-weight: var(--weight-light);

  -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-position: center center;
    background-size: cover;
  */
}

body .object.column.quart,
body .object.column.tiers {
  font-size: 16px;
  line-height: 24px;
}

@media only screen and (min-width: 640px) and (max-width: 1023px) {
  body {
    font-size: 20px;
    line-height: 32px;
  }
  body .object.column.quart,
  body .object.column.tiers {
    font-size: 17px;
    line-height: 25px;
  }
}
@media only screen and (min-width: 1024px) {
  body {
    font-size: var(--size-maintext);
    line-height: var(--lineheight-maintext);
  }
  body .object.column.quart,
  body .object.column.tiers {
    font-size: var(--size-maincoltext);
    line-height: var(--lineheight-maincoltext);
  }
}

#w0 {
  height: 100%;
}

#w1 {
  height: 100%;
}

#w2 {
  height: 100%;
}

/* ---------------------------------------------- CLR DISPLAY NONE ------------------------------------------------- */

.object .clr {
  display: none;
}
#kamGallery .clr {
  display: none;
}

/* ---------------------------------------------- CONTAINER DE GRILLE ---------------------------------------------- */

.object:not(.slick-slide):not(.bloglist):not(.eventlist),
.teaserlist .teaserlist-title,
.teaserlist .teaserlist-readmore,
.teaserlist .teaserlist-container .item,
.teaserlist #paging,
.teaserfull-container > *,
#kamGallery ul li,
.pagetitles,
.anchorList {
  margin: 0 var(--gap-small) calc(var(--gap-small) * 2) var(--gap-small);
  /* width: calc(100% - var(--gap-large)); */
  /* padding: 0; */
  box-sizing: border-box;
}

@media only screen and (min-width: 640px) and (max-width: 1023px) {
  .object:not(.slick-slide):not(.bloglist):not(.eventlist),
  .teaserlist .teaserlist-title,
  .teaserlist .teaserlist-readmore,
  .teaserlist .teaserlist-container .item,
  .teaserlist #paging,
  .teaserfull-container > *,
  #kamGallery ul li,
  .pagetitles,
  .anchorList {
    margin: 0 var(--gap-small) calc(var(--gap-small) * 2) var(--gap-small);
  }
}

@media only screen and (min-width: 1024px) {
  .object:not(.slick-slide):not(.bloglist):not(.eventlist),
  .teaserlist .teaserlist-title,
  .teaserlist .teaserlist-readmore,
  .teaserlist .teaserlist-container .item,
  .teaserlist #paging,
  .teaserfull-container > *,
  #kamGallery ul li,
  .pagetitles,
  .anchorList {
    margin: 0 var(--gap-large) calc(var(--gap-large) * 2) var(--gap-large);
  }
}

/* ---------------------------------------------- GRILLE & COLONNES ------------------------------------------------ */

.object.noColumn:not(.slick-slide),
.object.form,
.object.map,
.object.separator,
.object.files,
.object.code,
.intranet .object,
.teaserlist .teaserlist-title,
.teaserlist .teaserlist-readmore,
.teaserlist #paging,
.pagetitles,
.titleblock,
.anchorList {
  width: calc(100% - var(--gap-small) * 2);
}

.object.demi:not(.slick-slide) {
  width: calc(100% - var(--gap-small) * 2);
}

.object.tiers:not(.slick-slide),
.bloglist .teaserlist-container .item {
  width: calc(100% - var(--gap-small) * 2);
}

.object.quart:not(.slick-slide),
#kamGallery ul li {
  width: calc(100% / 2 - var(--gap-small) * 2);
}

/* ---------------------- Exception ---------------------- */

#introContent .object.column.demi {
  width: calc(100% - var(--gap-small) * 2);
}

@media only screen and (min-width: 640px) and (max-width: 1023px) {
  .object.noColumn:not(.slick-slide),
  .object.form,
  .object.map,
  .object.separator,
  .object.files,
  .object.code,
  .intranet .object,
  .teaserlist .teaserlist-title,
  .teaserlist .teaserlist-readmore,
  .teaserlist #paging,
  .pagetitles,
  .titleblock,
  .anchorList {
    width: calc(100% - var(--gap-small) * 2);
  }

  .object.demi:not(.slick-slide) {
    width: calc(100% / 2 - var(--gap-small) * 2);
  }

  .object.tiers:not(.slick-slide),
  .bloglist .teaserlist-container .item {
    width: calc(100% / 3 - var(--gap-small) * 2);
  }

  .object.quart:not(.slick-slide),
  #kamGallery ul li {
    width: calc(100% / 4 - var(--gap-small) * 2);
  }

  /* --------------- Exception --------------- */

  #introContent .object.column.demi {
    width: calc(100% / 3 * 2 - var(--gap-small) * 2);
  }
}

@media only screen and (min-width: 1024px) {
  .object.noColumn:not(.slick-slide),
  .object.form,
  .object.map,
  .object.separator,
  .object.files,
  .object.code,
  .intranet .object,
  .teaserlist .teaserlist-title,
  .teaserlist .teaserlist-readmore,
  .teaserlist #paging,
  .pagetitles,
  .titleblock,
  .anchorList {
    width: calc(100% - var(--gap-large) * 2);
  }

  .object.demi:not(.slick-slide) {
    width: calc(100% / 2 - var(--gap-large) * 2);
  }

  .object.tiers:not(.slick-slide),
  .bloglist .teaserlist-container .item {
    width: calc(100% / 3 - var(--gap-large) * 2);
  }

  .object.quart:not(.slick-slide),
  #kamGallery ul li {
    width: calc(100% / 4 - var(--gap-large) * 2);
  }

  /* --------------- Exception --------------- */

  #introContent .object.column.demi {
    width: calc(100% / 3 * 2 - var(--gap-large) * 2);
  }
}

/* ---------------------------------------------- SEPARATOR --------------------------------------------- */

.separator {
  /* border-bottom: 1px solid var(--color-border); */
  margin-top: 30px !important;
}

/* ---------------------------------------------- TITRES & TYPOGRAPHIE --------------------------------------------- */

.titles {
  width: 100%;
}

.pagetitles {
  text-align: left;
}
.home .pagetitles {
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0;
}

h1,
h2,
h3,
h3 a,
.event h2 a,
h2 {
  margin-bottom: var(--gap-large);
  padding: 0;
  box-sizing: border-box;
  color: var(--color-text);
  font-weight: var(--weight-medium);
  text-decoration: none;
  text-transform: none;
}

h2 {
  color: var(--color-paragraphtitle);
  font-size: var(--size-titleh2-mobile);
  line-height: var(--lineheight-titleh2-mobile);
  font-weight: var(--weight-normal);
}

body .object.column.tiers.text.default h2 {
  font-size: var(--size-titleh3-mobile);
  line-height: var(--lineheight-titleh3-mobile);
}
body .object.column.quart h2,
body .object.column.tiers.porteCTA h2 {
  margin-bottom: 5px;
  color: var(--color-text);
  font-size: var(--size-titleh5-mobile);
  line-height: var(--lineheight-titleh5-mobile);
  font-weight: var(--weight-medium);
}

h3,
h3 a,
.event h2 a {
  color: var(--color-paragraphtitle);
  font-size: var(--size-titleh3-mobile);
  line-height: var(--lineheight-titleh3-mobile);
  font-weight: var(--weight-medium);
}

h4 {
  width: 100%;
  margin: 0;
  border: none;
  color: var(--color-primary);
  font-size: var(--size-titleh4-mobile);
  line-height: var(--lineheight-titleh4-mobile);
  font-weight: var(--weight-light);
}

/* ---------------------- TITRES DE PAGE ---------------------- */

h1,
.headerSlider h2 {
  color: var(--color-pagetitle);
  font-size: var(--size-titleh1-mobile);
  line-height: var(--lineheight-titleh1-mobile);
  font-weight: var(--weight-light);
}

.blog_details .pagetitles h1,
.event_details .pagetitles h1 {
  text-align: center;
}

/* ---------------------- AUTRES TITRES ----------------------- */

.title.object {
  padding-bottom: 0;
}

.title.object h2 {
  margin-bottom: 0;
}

.titleblock h2 {
  margin-bottom: 0 !important;
}

/* Si les block titre sont centré décommenter ça
.titleblock .wrap-content {
  display: flex;
  justify-content: center;
}

.titleblock .wrap-content h2 {
  text-align: center;
}

@media only screen and (min-width: 640px) and (max-width: 1023px) {
  .titleblock .wrap-content h2 {
    width: calc(100% / 12 * 10);
  }
}

@media only screen and (min-width: 1024px) {
  .titleblock .wrap-content h2 {
    width: calc(100% / 12 * 8);
  }
}
*/

@media only screen and (min-width: 640px) and (max-width: 1023px) {
  h2 {
    font-size: var(--size-titleh2-medium);
    line-height: var(--lineheight-titleh2-medium);
  }

  body .object.column.tiers.text.default h2 {
    font-size: var(--size-titleh3-medium);
    line-height: var(--lineheight-titleh3-medium);
  }
  body .object.column.quart h2,
  body .object.column.tiers.porteCTA h2 {
    font-size: var(--size-titleh5-medium);
    line-height: var(--lineheight-titleh5-medium);
  }

  h3,
  h3 a,
  .event h2 a {
    font-size: var(--size-titleh3-medium);
    line-height: var(--lineheight-titleh3-medium);
  }

  h4 {
    font-size: var(--size-titleh4-medium);
    line-height: var(--lineheight-titleh4-medium);
  }

  /* ---------------------- TITRES DE PAGE ---------------------- */

  h1,
  .headerSlider h2 {
    font-size: var(--size-titleh1-medium);
    line-height: var(--lineheight-titleh1-medium);
  }
}

@media only screen and (min-width: 1024px) {
  h2 {
    font-size: var(--size-titleh2-large);
    line-height: var(--lineheight-titleh2-large);
  }

  body .object.column.tiers.text.default h2 {
    font-size: var(--size-titleh3-large);
    line-height: var(--lineheight-titleh3-large);
  }
  body .object.column.quart h2,
  body .object.column.tiers.porteCTA h2 {
    font-size: var(--size-titleh5-large);
    line-height: var(--lineheight-titleh5-large);
  }

  h3,
  h3 a,
  .event h2 a {
    font-size: var(--size-titleh3-large);
    line-height: var(--lineheight-titleh3-large);
  }

  h4 {
    font-size: var(--size-titleh4-large);
    line-height: var(--lineheight-titleh4-large);
  }

  /* ---------------------- TITRES DE PAGE ---------------------- */

  h1,
  .headerSlider h2 {
    font-size: var(--size-titleh1-large);
    line-height: var(--lineheight-titleh1-large);
  }

  .home .headerSlider h2 {
    margin-bottom: 30px;
  }
}

/* ---------------------------------------------- TEXTES ------------------------------------------------------------ */

.wrap-content p {
  width: 100%;
}

.object u {
  background-color: transparent;
  color: var(--color-primary);
  font-size: var(--size-bigtext);
  line-height: var(--lineheight-bigtext);
  font-weight: var(--weight-light);
  text-decoration: none;
}

.object strong {
  font-weight: var(--weight-medium);
}

.object em {
  font-style: italic;
}

p {
  margin: 0 0 var(--gap-large) 0;
}

.object ul {
  margin-bottom: var(--gap-large);
  margin-left: 18px;
  list-style-type: disc;
  list-style-position: initial;
}

/* -- Tables -- */

.object .table {
  width: 100%;
  margin: calc(var(--gap-large) * 2) 0;
}

.object .table table {
  width: 100%;
}

.object .table table tr td {
  border: 1px solid var(--color-border);
  padding: calc(var(--gap-small) / 2) var(--gap-small);
}

.object .table table tr:first-of-type td {
  /* styles of the first line of the table */
  background-color: var(--color-mediumgray);
  font-weight: var(--weight-medium);
}

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

/* tables mobiles */

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

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

/* ---------------------------------------------- FORMULAIRES ------------------------------------------------------- */

form.kSiteForm {
  width: 100%;
  margin: calc(var(--gap-large) * 2) 0;
}

form.kSiteForm fieldset {
  margin-bottom: calc(var(--gap-large) * 2);
}

form.kSiteForm fieldset .clr {
  display: none;
}

.ui-datepicker {
  z-index: 50 !important;
}

form.kSiteForm label {
  font-weight: var(--weight-medium);
  padding-bottom: calc(var(--gap-small) / 2);
}

#mc_embed_signup input.email,
form.kSiteForm .captcha input,
form.kSiteForm input.text,
form.kSiteForm select,
form.kSiteForm textarea {
  height: initial;
  width: 100%;
  padding: var(--gap-small);
  box-sizing: border-box;
  background-color: var(--color-white);
  border: 1px solid var(--color-border);
  border-radius: var(--global-radius);

  color: var(--color-text);
  font-family: var(--font-main);
  font-size: var(--size-maintext);

  transition: var(--global-transition);
}

form.kSiteForm input.text.error,
form.kSiteForm select.error,
form.kSiteForm textarea.error {
  box-shadow: none;
}

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: var(--color-secondary);
}

.mobile .container.buttons #btSubmit {
  height: auto !important;
}

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

/* ---------------------------------------------- LIENS & BOUTONS ------------------------------------------------ */

.object p a {
  transition: var(--global-transition);
}

a,
a:link,
a:visited,
.navPost-prev a,
.navPost-prev a {
  color: var(--links-color);
  text-decoration: none;
}

a:hover,
a:focus,
a:active,
.navPost-prev a:hover,
.navPost-prev a:hover {
  color: var(--links-hovercolor);
  text-decoration: underline;
}

/* ------------- buttons style ------------- */

.object a.button,
a.button,
.container.buttons #btSubmit,
input.kButton.continue,
#mainNav li.contactNav a,
#introContent .object a.button,
#headerSliderContent .object a.button,
#mainNavCt a.button,
.teaserlist .readmore-container a {
  position: relative;
  height: auto;
  width: auto;
  display: inline-block;
  margin: var(--gap-small) var(--gap-small) 0 0;
  padding: var(--gap-small) calc(var(--gap-small) * 2);
  box-sizing: border-box;
  background-color: var(--button-color);
  border-radius: var(--global-radius);
  border: none;
  color: var(--color-textneg);
  font-size: 16px;
  line-height: 24px;
  font-weight: var(--weight-normal);
  text-decoration: none;
  text-transform: none;
  text-align: center;
  cursor: pointer;
  transition: var(--global-transition);
}

.object a.button:hover,
a.button:hover,
.container.buttons #btSubmit:hover,
.container.buttons #btSubmit:focus,
input.kButton.continue:hover,
#introContent .object a.button:hover,
#headerSliderContent .object a.button:hover,
#mainNavCt a.button:hover,
.teaserlist .readmore-container a:hover {
  color: var(--color-textneg);
  background-color: var(--button-hovercolor);
}

/* ----- option: bouton avec flèche ----- */

.object.standard.porteCTA .wrapobject a,
.object.standard.porteCTA .wrapobject a:hover,
.teaserlist .item-readmore a.readmore,
.teaserlist .item-readmore a.readmore:hover,
.headerSlider .object .wrapobject a:not(.button) {
  position: relative;
  padding: calc(var(--gap-small) / 2) 30px calc(var(--gap-small) / 2) 0px;
  background-color: transparent;
  color: var(--links-color);
  font-size: 16px;
  line-height: 24px;
  font-weight: var(--weight-normal);
  text-decoration: none;
  cursor: pointer;
}

.object.standard.porteCTA .wrapobject a:after,
.teaserlist .item-readmore a.readmore:after,
.headerSlider .object .wrapobject a:not(.button):after {
  content: "";
  position: absolute;
  top: 50%;
  right: var(--gap-small);
  transform: rotate(-45deg);

  display: block;
  height: 6px;
  width: 6px;
  margin-top: -3px;

  border: 2px solid var(--links-color);
  border-width: 0 2px 2px 0;
  background-color: transparent;

  transition: var(--global-transition);
}

.object.standard.porteCTA .wrapobject a:hover:after,
.teaserlist .item-readmore a.readmore:hover:after,
.headerSlider .object .wrapobject a:not(.button):hover:after {
  right: calc(var(--gap-small) / 2);
}

@media only screen and (min-width: 640px) and (max-width: 1023px) {
  .object a.button,
  a.button,
  .container.buttons #btSubmit,
  input.kButton.continue,
  #mainNav li.contactNav a,
  #introContent .object a.button,
  #headerSliderContent .object a.button,
  #mainNavCt a.button,
  .teaserlist .readmore-container a {
    font-size: 17px;
    line-height: 24px;
  }
  .object.standard.porteCTA .wrapobject a,
  .object.standard.porteCTA .wrapobject a:hover,
  .teaserlist .item-readmore a.readmore,
  .teaserlist .item-readmore a.readmore:hover,
  .headerSlider .object .wrapobject a:not(.button) {
    font-size: 17px;
    line-height: 24px;
  }
}
@media only screen and (min-width: 1024px) {
  .object a.button,
  a.button,
  .container.buttons #btSubmit,
  input.kButton.continue,
  #mainNav li.contactNav a,
  #introContent .object a.button,
  #headerSliderContent .object a.button,
  #mainNavCt a.button,
  .teaserlist .readmore-container a {
    font-size: 18px;
    line-height: 24px;
  }
  .object.standard.porteCTA .wrapobject a,
  .object.standard.porteCTA .wrapobject a:hover,
  .teaserlist .item-readmore a.readmore,
  .teaserlist .item-readmore a.readmore:hover,
  .headerSlider .object .wrapobject a:not(.button) {
    font-size: 18px;
    line-height: 24px;
  }
}

/* ---------------------------------------------- CN STRUCTURE GLOBALE ----------------------------------- */

.cn {
  position: relative;
  max-width: 1170px;
  width: 100%;
  margin: 0 auto;
  padding: calc(var(--gap-large) * 4) 0;
  box-sizing: border-box;
  display: flex;
  flex-wrap: wrap;
}
.cn-full {
  position: relative;
  width: 100%;
  margin: 0 auto;
  padding: calc(var(--gap-large) * 4) 0;
  box-sizing: border-box;
  display: flex;
  flex-wrap: wrap;

  /* Si besoin de supprimer les marges du bords du container */
  /* width: calc(100% + 20px);
  margin-left: -10px; */
}

#poweredContent .cn {
  padding: var(--gap-large) calc(var(--gap-large) * 2) !important;
  justify-content: space-between;
}

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

@media only screen and (min-width: 640px) and (max-width: 1023px) {
  .cn {
    padding: calc(var(--gap-large) * 4) 0;
  }
  .cn-full {
    position: relative;
    width: 100%;
    margin: 0 auto;
    padding: calc(var(--gap-large) * 4) 0;
    box-sizing: border-box;
    display: flex;
    flex-wrap: wrap;

    /* Si besoin de supprimer les marges du bords du container */
    /* width: calc(100% + 20px);
    margin-left: -10px; */
  }
  #poweredContent .cn {
    padding: var(--gap-large) calc(var(--gap-large) * 2) !important;
  }
}

@media only screen and (min-width: 1024px) {
  .cn {
    padding: calc(var(--gap-large) * 4) 0;
  }
  .cn-full {
    position: relative;
    width: 100%;
    margin: 0 auto;
    padding: calc(var(--gap-large) * 4) 0;
    box-sizing: border-box;
    display: flex;
    flex-wrap: wrap;

    /* Si besoin de supprimer les marges du bords du container */
    /* width: calc(100% + 30px);
    margin-left: -15px; */
  }
  #poweredContent .cn {
    padding: var(--gap-large) 0 !important;
  }
}

/* ---------------------------------------------- COLUMN GRID -------------------------------------------- */

.col_container {
  position: relative;
  display: flex;
  width: 100%;
  z-index: 10;
}

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

.left_column {
  background-color: var(--color-bg);
  padding: 60px 20px 0 20px;
  box-sizing: border-box;
}

.right_column {
  background-color: var(--color-bg);
  padding: 60px 20px 0 20px;
  box-sizing: border-box;
}

/* ---------------------------------------------- REGIONS ------------------------------------------------ */

#hd {
  z-index: 50;
  position: absolute;
  height: 129px;
  width: 100%;
  margin-top: 0;
  background-color: transparent;
}
.mobile #hd {
  display: block;
}

#topNav {
  display: none;
  background-color: transparent;
}

.bottomNav {
  padding-top: 15px;
  background-color: transparent;
}
.bottomNav .cn {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: flex-end;
  padding: 0 var(--gap-large);
}
@media screen and (max-width: 914px) {
  .bottomNav {
    display: none;
  }
}

#breadcrumbContent {
  background-color: var(--color-lightgray);
}

#introContent .cn {
  padding-bottom: 0 !important;
}
#introContent .object.text {
  margin-bottom: 0 !important;
}
#introContent .object.text h2 {
  margin-bottom: 4px;
  color: var(--color-text);
  font-size: 20px;
  line-height: 31px;
  font-weight: var(--weight-medium);
}
#introContent .object.text p {
  margin-bottom: 4px;
  font-size: 20px;
  line-height: 31px;
  font-weight: var(--weight-light);
}
@media only screen and (min-width: 640px) and (max-width: 1023px) {
  #introContent .object.text h2,
  #introContent .object.text p {
    margin-bottom: 7px;
    font-size: 21px;
    line-height: 34px;
  }
}

@media only screen and (min-width: 1024px) {
  #introContent .object.text h2,
  #introContent .object.text p {
    margin-bottom: 10px;
    font-size: 32px;
    line-height: 55px;
  }
}

#mainContent {
}

#highlightContent {
}

#newsContent {
}

#sliderLogoContent {
}

#prefooterContent {
  background-image: url(../img/bg-prefooter.png);
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
}
#prefooterContent .image.default.noColumn {
  display: none;
}
#prefooterContent .wrap-content {
  box-sizing: border-box;
  background-color: transparent;
}

#newsletterContent {
  background-color: var(--color-secondary);
}
#newsletterContent .cn {
  padding: 45px 0;
}

#footerContent {
  border-top: 1px solid var(--color-primary);
}

#poweredContent {
  border-top: 1px solid var(--color-border);
}

@media only screen and (min-width: 640px) and (max-width: 1023px) {
  #prefooterContent .wrap-content {
    padding: 30px 60px;
  }
}

@media only screen and (min-width: 1024px) {
}

/* ---------------------------------------------- LOGO --------------------------------------------------- */

strong#logo a {
  display: block;
  overflow: hidden;
  width: 0;
  height: 0;

  margin: 0;
  padding: 134px 0 0 283px; /* size of your logo here */

  background-image: url(../img/logo_mcmanagement_dark.png);
  background-repeat: no-repeat;
  background-position: center center;
  background-size: contain;
}

strong#logo_footer a {
  display: block;
  overflow: hidden;
  width: 0;
  height: 0;

  padding: 134px 0 0 283px;

  background-image: url(../img/logo_mcmanagement_dark.png);
  background-repeat: no-repeat;
  background-position: left top;
  background-size: contain;
}

.mobile #logomobile a {
  padding: 58px 0 0 180px;
  background-image: url(../img/logo_mcmanagement_dark.png);
  background-repeat: no-repeat;
  background-position: center center;
  background-size: contain;
}

/* ---------------------------------------------- LOGIN / POWERED ---------------------------------------- */

/* ---------------------- COPYRIGHT -------------------- */

#copyright {
  font-size: var(--size-smalltext);
  line-height: var(--lineheight-smalltext);
}

/* ---------------------- LOGIN ------------------------ */

#loginAndPowered {
  display: flex;
  justify-content: flex-end;
  align-items: center;
}
#kLogin {
  height: 0;
  width: 0;
  margin: 0;
  padding: 14px 0 0 30px;
  overflow: hidden;
  border-radius: var(--global-radius);
  font-size: 0;
  cursor: pointer;
  transition: var(--global-transition);
}
#kLogin:hover {
  background-color: rgba(0, 0, 0, 0.3);
}
a#kPowered {
  height: 0;
  width: 0;
  padding: 14px 0 0 130px;
  overflow: hidden;
}

@media screen and (max-width: 639px) {
  #loginAndPowered {
    display: none;
    /* display:block !important */ /* admin responsive */
  }
}

/* --- Si le fond du site est positif --- */
#copyright,
#copyright a {
  color: var(--color-mediumgray);
  text-decoration: none;
}
#copyright a:hover {
  text-decoration: underline;
}
a#kPowered {
  background: transparent url(../../../../standards/img/login_b.png) -31px top no-repeat;
}
#kLogin {
  background: transparent url(../../../../standards/img/login_b.png) top left
    no-repeat;
}

/*  --- Si le fond du site est négatif ---

  a#kPowered {
    background: transparent url(../../../../standards/img/login_w.png) -31px top no-repeat;
  }
  #kLogin {
    background: transparent url(../../../../standards/img/login_w.png) top left
      no-repeat;
  }
  #copyright {
    color: var(--color-textneg);
  }
*/

/* ---------------------------------------------- GO TOP BUTTON ------------------------------------------ */

#goTop {
  z-index: 20;
  position: fixed;
  right: 10px;
  bottom: 10px;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 2px 10px;
  border-radius: var(--global-radius);
  background-color: var(--links-color);
  color: var(--color-textneg);
  font-size: var(--size-smalltext);
  line-height: var(--lineheight-smalltext);
  font-weight: var(--weight-medium);
  text-transform: uppercase;
  text-decoration: none;
  cursor: pointer;
  transition: var(--global-transition);
}
#goTop:hover {
  background-color: var(--links-hovercolor);
}

@media only screen and (min-width: 640px) and (max-width: 1023px) {
  #goTop {
    right: 15px;
    bottom: 20px;
  }
}
@media only screen and (min-width: 1024px) {
  #goTop {
    right: 30px;
    bottom: 20px;
  }
}

/* ---------------------------------------------- RESEAU SOCIAUX HEADER & FOOTER ------------------------- */

.social-networks {
  display: flex;
  flex-wrap: wrap;
  margin-left: 20px;
  padding: 10px 22px;
}
.social-networks a {
  margin: 0 8px;
  line-height: 0;
  text-decoration: none;
}
.social-networks i {
  color: var(--links-color);
  font-size: 23px;
  font-weight: var(--weight-normal);

  -webkit-font-smoothing: antialiased !important;
  -moz-osx-font-smoothing: grayscale !important;

  transition: var(--global-transition);
}
.social-networks i:hover {
  color: var(--links-hovercolor);
}

.social-networks.social-header {
  display: none;
  background-color: var(--color-white);
}

@media only screen and (min-width: 640px) {
  .social-networks.social-header {
    display: flex;
  }
}
@media only screen and (max-width: 914px) {
  .social-networks {
    padding: 10px 0;
  }
}

/* ---------------------------------------------- LANG NAVIGATION ---------------------------------------- */

#langContent {
  z-index: 1;
  position: absolute;
  top: 20px;
  right: 15px;
}

#lang {
  display: flex;
  margin-left: 0;
}

#lang li {
  display: flex;
  align-items: center;
  margin-left: 20px;
}

#lang li a {
  display: block;
  padding: 0 0;
  color: var(--color-secondary);
  font-size: 14px;
  line-height: 14px;
  font-weight: var(--weight-normal);
  text-transform: uppercase;
  letter-spacing: 1px;
  transition: var(--global-transition);
}

#lang li a:hover,
#lang li.active a {
  color: var(--links-activecolor);
  text-decoration: none;
}

/* #lang li:nth-last-child(n + 2):after {
  content: "";
  height: 15px;
  width: 1px;
  margin: 0 10px;
  background-color: var(--color-secondary);
} */

/* ---------------------------------------------- ANNEXE NAVIGATION -------------------------------------- */

#annexe {
  display: flex;
  align-items: center;
}

#annexe li a {
  margin: 0;
  padding: 0 10px;
  color: var(--darkgray);
  font-size: 15px;
  line-height: 18px;
  font-weight: var(--weight-normal);
  transition: var(--global-transition);
}

#annexe li a:hover,
#annexe li.on a {
  color: var(--color-mediumgray);
  text-decoration: none;
}

/* ---------------------------------------------- MAIN NAVIGATION ---------------------------------------- */

/* ---------------------- CONTAINER -------------------- */

#mainNavCt {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  box-sizing: border-box;
}

@media only screen and (min-width: 1024px) {
  #mainNavCt {
    width: 100%;
    max-width: calc(100% - 140px);
  }
}

/* ---------------------- BUTTON NAV ------------------- */

#mainNavCt .buttonNav {
  margin-left: var(--gap-large);
  padding: 10px 25px;
  border-radius: var(--global-radius);
  background-color: var(--color-secondary);
  color: var(--color-white);
  font-size: var(--size-bigtext);
  line-height: var(--lineheight-bigtext);
  transition: var(--global-transition);
}

#mainNavCt .buttonNav:hover {
  background-color: var(--color-primary);
  color: var(--color-white);
  text-decoration: none;
}

/* ---------------------- MAIN NAVIGATION -------------- */

#mainNav {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  padding-bottom: 20px;
}

#mainNav li {
  position: relative;
  padding: 30px 15px;
}
#mainNav li:nth-last-child(1) {
  padding-right: 0;
}

#mainNav li a {
  display: block;
  padding: 10px 0 !important;
  color: var(--color-secondary);
  font-size: var(--size-bigtext);
  line-height: var(--lineheight-bigtext);
  font-weight: var(--weight-normal);
  text-decoration: none;
  transition: var(--global-transition);
}
#mainNav li.current a {
  color: var(--links-color);
  border-bottom: 1px solid var(--links-color);
}

#mainNav li a:hover {
  color: var(--links-color);
  text-decoration: none;
}

#mainNav li ul {
  z-index: 10;
  position: absolute;
  left: 0px;
  top: 82px;
  width: 290px;
  margin: 0;
  padding: 0;
  border-top: 4px solid var(--color-primary);
  background-color: var(--color-white);
  box-shadow: 0px 5px 5px 0px rgba(0, 0, 0, 0.1);
}

#mainNav li ul:after {
  content: "";
  position: absolute;
  top: -19px;
  left: 40px;
  border: 8px solid var(--color-primary);
  border-left: 8px solid transparent;
  border-right: 8px solid transparent;
  border-top: 8px solid transparent;
}
#mainNav li ul:before {
  content: "";
  position: absolute;
  top: -19px;
  left: 0;
  width: 100%;
  height: 16px;
  background-color: transparent;
}

#mainNav li ul li a {
  color: var(--links-color);
  padding: var(--gap-large);
  font-size: var(--size-maintext);
  line-height: var(--lineheight-maintext);
}

#mainNav li ul li:not(.last) a:after {
  content: "";
  z-index: 1;
  position: absolute;
  height: 1px;
  left: var(--gap-large);
  right: var(--gap-large);
  bottom: 0;
  background-color: var(--color-primary);
}

#mainNav > li > ul li a:hover {
  color: var(--links-color);
  background-color: var(--links-hovermenu);
}

#mainNav li ul li.on a,
#mainNav li.on > a {
  color: var(--links-activecolor);
}

@media only screen and (min-width: 1024px) {
  #mainNav li a {
    padding: 30px var(--gap-large);
  }
}

/* ---------------------------------------------- BREADCRUMB --------------------------------------------- */

#breadcrumbContent .cn {
  padding: 0 var(--gap-small);
}
@media only screen and (min-width: 640px) and (max-width: 1023px) {
  #breadcrumbContent .cn {
    padding: 0 var(--gap-small);
  }
}
@media only screen and (min-width: 1024px) {
  #breadcrumbContent .cn {
    padding: 0 var(--gap-large);
  }
}

#breadcrumbContent .breadcrumb {
  padding: 10px 20px;
}

#breadcrumbContent a {
  color: var(--links-color);
  transition: var(--global-transition);
}
#breadcrumbContent a:hover {
  color: var(--links-hovercolor);
  text-decoration: none;
}

#breadcrumbContent .breadcrumb span {
  color: var(--color-darkgray);
}

#breadcrumbContent .breadcrumb i {
  margin: 0 10px;
  color: var(--color-mediumgray);
  font-size: 12px;
}

#breadcrumbContent #home_icon a {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100%;
}

/* ---------------------------------------------- ANCRES ------------------------------------------------- */

ul.anchorList {
  display: flex;
  flex-wrap: wrap;
}

.anchorList li a {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  margin-right: 5px;
  margin-bottom: 10px;
  padding: 5px 15px 5px 30px;
  background-color: transparent;
  color: var(--links-color);
  font-size: var(--size-maintext);
  line-height: var(--lineheight-maintext);
  font-weight: var(--weight-medium);
  text-decoration: none;
  transition: var(--global-transition);
}
.anchorList li a:before {
  content: "";
  position: absolute;
  top: 50%;
  left: 10px;
  transform: rotate(-45deg) translateY(-50%);
  width: 6px;
  height: 6px;
  border: 2px solid var(--color-primary);
  border-width: 0 2px 2px 0;
  background-color: transparent;
}
.anchorList li a:hover {
  background-color: var(--links-hovermenu);
  text-decoration: none;
}

@media only screen and (max-width: 639px) {
  .anchorList li a {
    font-size: var(--size-smalltext);
    line-height: var(--lineheight-smalltext);
  }
  .anchorList li a:before {
    width: 5px;
    height: 5px;
  }
}

/* ---------------------------------------------- PARAGRAPHES --------------------------------------------- */
/* ----------------------------------- OBJECT TYPE --------------------------------------- */
.object > div {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
  margin: 0px auto;
}

/* -------------------- Image -------------------- */
.object.standard .wrapimg img,
.object.image img {
  width: 100%;
  height: auto;
}

/* -------------------- Standard ----------------- */
.object.standard > div {
  justify-content: space-between;
  align-items: center;
}
.object.standard > div h2 {
  width: 100%;
  padding: 0;
}
.object.standard .wrap-content > div {
  box-sizing: border-box;
}
.object.standard .wrapimg {
  width: 100%;
  margin-bottom: var(--gap-large);
}
.object.standard .wrapobject {
  width: 100%;
}

@media only screen and (max-width: 639px) {
  .object.standard .wrapimg img {
    max-height: 350px;
    object-fit: cover;
  }
}

@media only screen and (min-width: 640px) {
  .object.standard.noColumn .wrapimg {
    width: calc(50% - 15px);
    margin: 0;
  }
  .object.standard.noColumn .wrapobject {
    width: calc(50% - 15px);
  }
  /* Si paragraphe text/img inversé */
  .object.standard.noColumn.even .wrapimg {
    order: 2;
  }
  .object.standard.noColumn.even .wrapobject {
    order: 1;
  }

  #prefooterContent .object.standard.noColumn .wrapimg {
    order: 2;
  }
  #prefooterContent .object.standard.noColumn .wrapobject {
    order: 1;
  }
}

/* ----------------------------------- OBJECT STYLE ----------------------------------- */
/* -------------------- Centered -------------------- */
.object.centered {
  text-align: center;
}

/* ---------- Texte ---------- */
@media only screen and (min-width: 640px) and (max-width: 1023px) {
  .object.centered.text.noColumn .wrap-content {
    max-width: calc(100% / 12 * 10);
  }
}

@media only screen and (min-width: 1024px) {
  .object.centered.text.noColumn .wrap-content {
    max-width: calc(100% / 12 * 8);
  }
}

/* ---------- Image ---------- */
.object.centered.image > div {
  justify-content: center;
}

/* ---------- Map ---------- */

.map.object {
  width: 100%;
}

/* -------------------- PorteCTA -------------------- */
.object.porteCTA {
  /* box-shadow: var(--global-box-shadow); */
  background-color: var(--color-bg);
}
.object.porteCTA.standard {
  background-color: transparent;
  border: 1px solid #c6d8ef;
}
.object.porteCTA .wrapimg {
  display: flex;
  overflow: hidden;
}
.object.porteCTA .wrapimg a {
  display: flex;
  width: 100%;
  transition: var(--global-transition);
}
.object.porteCTA .wrapimg a:hover {
  transform: scale(1.1);
}

/* ---------- Standard ---------- */
.object.porteCTA.standard.column {
  padding: 30px 8px 30px 8px;
}

.object.porteCTA.standard.column .wrapobject {
  padding: 0;
  text-align: center;
}
.object.porteCTA.standard.column .wrapobject p:nth-last-of-type(1) {
  margin-bottom: 0;
}

.object.porteCTA.standard.column .wrapimg {
  margin-bottom: 30px;
  display: flex;
  justify-content: center;
  align-items: center;
}

.object.porteCTA.standard.column .wrapimg img {
  max-width: 100px;
  max-height: 80px;
  object-fit: contain;
  object-position: center;
}

@media only screen and (min-width: 1024px) {
  .object.porteCTA.standard.column .wrapimg img {
    max-width: 180px;
    max-height: 130px;
  }
}

/* ---------- Texte ---------- */
.object.porteCTA.text .wrap-content {
  box-sizing: border-box;
  padding: 25px;
}
.object.porteCTA.text .wrap-content p:nth-last-of-type(1) {
  margin-bottom: 0;
}

/* ---------- Image ---------- */
.object.porteCTA.image h2 {
  z-index: 1;
  position: absolute;
  bottom: 0;
  left: 0;
  order: 2;
  height: 60px;
  width: 100%;
  margin: 0;
  padding: var(--gap-large) calc(var(--gap-large) * 2);
  pointer-events: none;
}
.object.porteCTA.image h2:after {
  content: "";
  position: absolute;
  top: 50%;
  left: auto;
  right: 30px;
  transform: rotate(-45deg);
  width: 8px;
  height: 8px;
  margin-top: -5px;
  border: 2px solid var(--color-text);
  border-width: 0 2px 2px 0;
  transition: var(--global-transition);
}
.object.porteCTA.image .content {
  position: relative;
  height: 100%;
}
.object.porteCTA.image img {
  order: 1;
  height: calc(100% - 60px);
  width: 100%;
  object-fit: cover;
}
.object.porteCTA.image a {
  display: flex;
  transition: var(--global-transition);
}
.object.porteCTA.image a:hover {
  box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.25);
}

/* -------- Standard --------- */
.object.porteCTA .wrapobject {
  padding: var(--gap-large) calc(var(--gap-large) * 2);
}

/* ------------ Textdivided - Only 4 text ------------ */
@media only screen and (min-width: 640px) {
  .object.textdivided > div.wrap-content {
    display: block;
    columns: 2;
    column-gap: calc(var(--gap-large) * 2);
  }
}

/* -------------------- Accordion -------------------- */
.accordion {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
}

.accordion {
  margin: 0 var(--gap-small) calc(var(--gap-small) * 2) var(--gap-small);
}

.accordion .hasaccordion.object {
  width: 100% !important;
  margin: 0 !important;
}

@media only screen and (min-width: 640px) and (max-width: 1023px) {
  .accordion {
    margin: 0 var(--gap-small) calc(var(--gap-small) * 2) var(--gap-small);
  }
}

@media only screen and (min-width: 1024px) {
  .accordion {
    margin: 0 var(--gap-large) calc(var(--gap-large) * 3) var(--gap-large);
  }
}

.object.hasaccordion h2 {
  position: relative;
  width: 100%;
  margin: 0px auto;
  padding: 10px 30px 10px 0;
  box-sizing: border-box;
  cursor: pointer;
}
.object.hasaccordion .content {
  padding: 0;
  box-sizing: border-box;
}
.hasaccordion h2:after {
  content: "";
  position: absolute;
  top: calc(50% - 3px);
  right: 0;
  transform: rotate(-45deg) translateY(-50%);
  width: 8px;
  height: 8px;
  border: 2px solid var(--links-color);
  border-width: 0 0 2px 2px;
}
.hasaccordion.open h2:after {
  border-color: var(--links-hovercolor);
}

/* ---------------------------------------------- REGION HEADER SLIDER ----------------------------------- */

.headerSlider {
  overflow: hidden;
  padding-top: 0;
  background-image: url(../img/bg-header-inside.png);
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
}
.home .headerSlider {
  background-image: url(../img/bg-header-home.png);
}
.headerSlider .slick-dots {
  position: absolute;
  bottom: calc(var(--gap-large) * 2);
  width: 100%;
  display: flex;
  justify-content: flex-start;
}
.headerSlider .object .wrapimg {
  width: 100%;
  margin-bottom: 0;
}
.headerSlider .object .wrapimg img {
  object-fit: contain;
}
.headerSlider .object .wrapobject,
.headerSlider .object.image h2 {
  z-index: 1;
  color: var(--color-text);
}
.headerSlider .object .wrapobject p {
  margin-bottom: 0;
  font-size: 18px;
  line-height: 25px;
  font-weight: var(--weight-light);
}

@media only screen and (max-width: 639px) {
  .headerSlider .object .wrapobject,
  .headerSlider .object.image h2 {
    z-index: 1;
    box-sizing: border-box;
    padding: calc(var(--gap-large) * 2);
    color: var(--color-text);
  }
  .headerSlider .slick-dots {
    bottom: 0;
    box-sizing: border-box;
    padding: 0 25px;
  }

  .headerSlider .object.image .wrap-content {
    flex-direction: column-reverse;
  }

  .headerSlider .wrap-content {
    display: flex;
    flex-direction: column-reverse;
  }
}
@media only screen and (min-width: 640px) {
  .headerSlider .object .wrap-content,
  .headerSlider .slick-dots {
    max-width: 1140px;
    padding: 0 var(--gap-large);
    box-sizing: border-box;
  }
  .home .headerSlider .object {
    height: 40vw;
  }
  .headerSlider .object {
    position: relative;
    height: 28vw;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .headerSlider .object .wrapimg {
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    width: calc(100% / 12 * 6) !important;
  }
}
@media only screen and (min-width: 640px) and (max-width: 1023px) {
  .headerSlider {
    padding-top: 60px;
    padding-bottom: 20px;
  }
  .headerSlider .object .wrapobject p {
    font-size: 20px;
    line-height: 30px;
  }
  /* .headerSlider .object .wrapobject h2 {
    font-size: 24px;
    line-height: 32px;
  } */
}
@media only screen and (min-width: 1024px) {
  .headerSlider {
    padding-top: 200px;
  }
  .headerSlider .object .wrapobject p {
    font-size: 28px;
    line-height: 40px;
  }
}

/* ---------------------------------------------- REGION CAROUSEL DE LOGO -------------------------------- */

#sliderLogoContent .cn {
  padding: calc(var(--gap-large) * 4) 30px;
}

#sliderLogoContent .cn .slider_sponsors {
  position: relative;
  width: 100%;
  margin-bottom: calc(var(--gap-large) * 2);
}

#sliderLogoContent .slick-list {
  margin: 0 -15px;
}

#sliderLogoContent .slick-track {
  display: flex;
  justify-content: center;
  box-sizing: border-box;
  width: 100%;
}

#sliderLogoContent .slick-slide {
  margin: 0 15px;
}

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

.slider_sponsors .object .wrap-content {
  height: 100px;
  display: flex;
  text-align: center;
}

.slider_sponsors .object a {
  margin: auto;
  height: 60px;
  width: 100%;
  transition: var(--global-transition);
}

.slider_sponsors .object img {
  margin: auto;
  max-width: 156px;
  max-height: 76px;
  object-fit: contain;
}

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

.mobile .slider_sponsors .object {
  padding: 0;
}

/* ---------------------------------------------- REGION NEWSLETTER -------------------------------------- */

#newsletterContent .newsletter {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
#newsletterContent .newsletter h2 {
  width: calc(50% - 30px / 2);
  margin: 0;
  color: var(--color-textneg);
}
#newsletterContent .newsletter form {
  width: calc(50% - 30px / 2);
}
#newsletterContent .newsletter form input {
  background-color: white;
  border: 0px solid transparent;
  border-radius: var(--global-radius);
  font-size: var(--size-bigtext);
  line-height: var(--lineheight-bigtext);
  outline: none;
  box-sizing: border-box;
}
#newsletterContent .newsletter form input.input {
  width: calc(100% / 3 * 2 - 15px);
  padding: 10px 15px;
}
#newsletterContent .newsletter form input.button {
  width: calc(100% / 3);
  margin-left: 10px;
  padding: 10px 15px;
  background-color: var(--button-color);
  color: var(--color-textneg);
  cursor: pointer;
  transition: var(--global-transition);
}
#newsletterContent .newsletter form input.button:hover {
  background-color: var(--color-mediumgray);
}
input::-webkit-input-placeholder {
  color: var(--color-mediumgray);
}
::-moz-placeholder {
  color: var(--color-mediumgray);
}
:-ms-input-placeholder {
  color: var(--color-mediumgray);
}
::-webkit-input-placeholder {
  color: var(--color-mediumgray);
}
::placeholder {
  color: var(--color-mediumgray);
}

@media only screen and (max-width: 639px) {
  #newsletterContent .newsletter {
    flex-direction: column;
    margin-bottom: 30px;
  }
  #newsletterContent .newsletter h2 {
    width: 100%;
    margin-bottom: var(--gap-large);
  }
  #newsletterContent .newsletter form {
    width: 100%;
  }
}
@media only screen and (min-width: 1024px) {
  #newsletterContent .newsletter {
    margin-bottom: 0;
  }
}

/* ---------------------------------------------- REGION FOOTER ------------------------------------------ */

#footerContent .cn {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  padding: calc(var(--gap-large) * 4) 0 calc(var(--gap-large) * 2) 0;
}
#footerContent .cn > * {
  width: calc(100% - var(--gap-small) * 2);
  margin: 0 var(--gap-small) calc(var(--gap-small) * 2) var(--gap-small);
  padding: 0;
  box-sizing: border-box;
  font-size: 18px;
  line-height: 30px;
  pointer-events: auto;
}
#footerContent h2 {
  margin-bottom: var(--gap-small);
  font-size: var(--size-maintext);
  line-height: var(--lineheight-maintext);
  font-weight: var(--weight-medium);
}
#footerContent p a {
  color: var(--links-color);
  text-decoration: underline;
}
#footerContent p a:hover {
  color: var(--links-hovercolor);
  text-decoration: underline;
}

@media only screen and (max-width: 1023px) {
  #footerContent .cn {
    padding-top: 20px !important;
  }
}
@media only screen and (min-width: 640px) and (max-width: 1023px) {
  #footerContent .cn > * {
    width: calc(100% / 2 - var(--gap-small) * 2);
    margin: 0 var(--gap-small) calc(var(--gap-small) * 2) var(--gap-small);
    font-size: 20px;
    line-height: 32px;
  }
  #footerContent .cn > #logo_footer {
    width: calc(100% - var(--gap-small) * 2);
  }
}
@media only screen and (min-width: 1024px) {
  #footerContent .cn > * {
    width: calc(100% / 3 - var(--gap-large) * 2);
    margin: 0 var(--gap-large) calc(var(--gap-large) * 2) var(--gap-large);
    font-size: var(--size-maintext);
    line-height: var(--lineheight-maintext);
  }
}

/* --------------------------------------------------- PAGINATION ---------------------------------------- */

#paging {
  display: flex;
  justify-content: center;
  margin: 0;
  padding: 0;
}
#paging > * {
  padding: 0 var(--gap-small);
}
#paging a {
  color: var(--color-text);
  font-size: var(--size-smalltext);
  transition: var(--global-transition);
}
#paging a:hover {
  color: var(--color-secondary);
  text-decoration: none;
}
#paging span {
  color: var(--color-secondary);
  font-size: var(--size-smalltext);
}

/* ---------------------------------------------- MULTIMEDIA VIDEO PAYER / MUSIC PLAYER ------------------ */

.multimedia .videoWrapper,
.multimedia audio {
  width: 100%;
}
.multimedia .videoWrapper .videoPadding {
  overflow: hidden;
  padding-bottom: 56.25% !important;
  position: relative;
  height: 0;
}
.multimedia .videoWrapper .videoPadding iframe {
  left: 0;
  top: 0;
  height: 100%;
  width: 100%;
  position: absolute;
}

.files ul {
  width: 100%;
}

/* ---------------------------------------------- GALLERY ------------------------------------------------ */

#kamGallery {
  padding: 0;
  margin: 0;
}
#kamGallery ul {
  display: flex;
  flex-wrap: wrap;
}
#kamGallery ul li a {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  aspect-ratio: 9 / 6;
}
#kamGallery ul li a:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  transform: translate(-50%, -50%);
  background-color: var(--color-black);
  opacity: 0;
  transition: var(--global-transition);
}
#kamGallery ul li a:hover:before {
  opacity: 0.3;
}
#kamGallery ul li a img {
  width: 100%;
  height: 100%;
  margin: 0;
  object-fit: cover;
  object-position: center;
}

/* ----------------------------------------- EVENTS & BLOG - PAGE + TEASER --------------------------------- */

.item-date {
  display: inline-block;
}
.item-date * {
  display: inline;
}

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

.eventlist .teaserlist-container .item {
  width: calc(100% - var(--gap-small) * 2);
}
@media only screen and (min-width: 640px) and (max-width: 1023px) {
  .eventlist .teaserlist-container .item {
    width: calc(100% / 3 - var(--gap-small) * 2);
  }
}
@media only screen and (min-width: 1024px) {
  .eventlist .teaserlist-container .item {
    width: calc(100% / 3 - var(--gap-large) * 2);
  }
}

/* -------------------------- EVENTS affichage en grille --------------------- */

/* .eventlist .teaserlist-container .item {
  width: calc(100% - var(--gap-small) * 2);
}

@media only screen and (min-width: 640px) and (max-width: 1023px) {
  .eventlist .teaserlist-container .item {
    width: calc(100% - var(--gap-small) * 2);
  }
}

@media only screen and (min-width: 1024px) {
  .eventlist .teaserlist-container .item {
    width: calc(100% - var(--gap-large) * 2);
  }
}

.eventlist .teaserlist-container .item .wrapimg {
  display: none;
} */

/* -------------------------- Teaserfull-container --------------------------- */

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

.teaserfull-container .wrapinfos {
  display: flex;
  justify-content: space-between;
  margin-bottom: var(--gap-large);
  color: var(--color-darkgray);
  font-size: var(--size-maintext);
  line-height: var(--lineheight-maintext);
  font-weight: var(--weight-normal);
}
.teaserfull-container .wrapinfos .item-taglist {
  display: flex;
  width: 100%;
  margin-bottom: 10px;
}
.teaserfull-container .wrapinfos .item-taglist .item-tagtitle {
  margin-right: 5px;
}
.teaserfull-container .wrapinfos .item-taglist .item-tags .item-tag a {
  color: var(--links-color);
  transition: var(--global-transition);
}
.teaserfull-container .wrapinfos .item-taglist .item-tags .item-tag a:hover {
  color: var(--links-hovercolor);
  text-decoration: none;
}

.teaserfull-container .wrapinfos .item-categorylist {
}
.teaserfull-container .wrapinfos .item-categorylist span:not(.category) {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-bottom: 10px;
  padding: 1px 10px;
  background-color: var(--color-primary);
  color: var(--color-textneg);
}
.teaserfull-container .wrapinfos .item-place {
  display: flex;
  align-items: flex-end;
}
.teaserfull-container .wrapinfos .item-sharebuttons {
  width: 100%;
  display: flex;
  justify-content: flex-end;
  margin-top: 30px;
}

.teaserfull-container .wrapimg {
  margin-bottom: calc(var(--gap-large) * 2);
}
.teaserfull-container .wrapimg a {
  display: flex;
  width: 100%;
}
.teaserfull-container .wrapimg img {
  width: 100%;
}

.teaserfull-container .wrapsubevent {
  margin-bottom: calc(var(--gap-large) * 2);
}

.teaserfull-container .wrapsummary {
  margin-bottom: calc(var(--gap-large) * 2);
}

.teaserfull-container .wrapcontent {
  margin-bottom: calc(var(--gap-large) * 2);
}

.teaserfull-container .wrapvideo .multimedia {
  width: 100%;
  margin: 0 !important;
  padding: 0 var(--gap-small) calc(var(--gap-small) * 2) var(--gap-small);
}
@media only screen and (min-width: 640px) and (max-width: 1023px) {
  .teaserfull-container .wrapvideo .multimedia {
    padding: 0 var(--gap-small) calc(var(--gap-small) * 2) var(--gap-small);
  }
}
@media only screen and (min-width: 1024px) {
  .teaserfull-container .wrapvideo .multimedia {
    padding: 0 var(--gap-large) calc(var(--gap-large) * 2) var(--gap-large);
  }
}

.teaserfull-container .wrapgallery {
}

.teaserfull-container .wrapmap .map {
  width: 100%;
}

.teaserfull-container .wrapform {
}

.teaserfull-container .wrapnav {
  margin-top: calc(var(--gap-large) * 2);
  margin-bottom: calc(var(--gap-large) * 2);
}

.teaserfull-container > *:not(.wrapgallery):not(.wrapvideo) {
  width: calc(100% - var(--gap-small) * 2);
}
@media only screen and (min-width: 640px) and (max-width: 1023px) {
  .teaserfull-container > *:not(.wrapgallery):not(.wrapvideo) {
    width: calc(100% - var(--gap-small) * 2);
  }
}
@media only screen and (min-width: 1024px) {
  .teaserfull-container > *:not(.wrapgallery):not(.wrapvideo) {
    width: calc(100% - var(--gap-large) * 2);
  }
}

/* -------------------------- NAVIGATION BLOG & EVENT ------------------------ */

.navpost-page {
  display: flex;
  width: 100%;
  padding-bottom: 15px;
  margin-bottom: 15px;
  border-bottom: 1px solid var(--color-mediumgray);
}
.navpost-page a {
  color: var(--links-color);
  transition: var(--global-transition);
}
.navpost-page a:hover {
  color: var(--links-hovercolor);
  text-decoration: none;
}
.navpost-page a i {
  font-size: 13px;
}

.navpost-prev,
.navpost-next {
  width: 50%;
}
.navpost-prev {
}
.navpost-next {
  text-align: right;
}

.fa-chevron-left {
  margin-right: 5px;
}
.fa-chevron-right {
  margin-left: 5px;
}

.navpost-back {
  display: flex;
  justify-content: center;
  width: 100%;
}
.navpost-back a {
  color: var(--links-color);
  transition: var(--global-transition);
}
.navpost-back a:hover {
  color: var(--links-hovercolor);
  text-decoration: none;
}

/* -------------------------- TEASERLIST EVENT + BLOG ------------------------ */

.teaserlist {
}

/* ------------ TEASERLIST - TITLE -------------- */

.teaserlist-title {
  display: flex;
  justify-content: center;
}
.teaserlist-title h2 {
  margin: 0;
}

/* ------------ TEASERLIST - CONTENT ------------ */

.teaserlist-container {
}

.teaserlist-container .item {
  background-color: var(--color-lightgray);
}

.teaserlist-container .item .wrapimg {
  margin-bottom: 0;
}
.teaserlist-container .item .wrapimg img {
  width: 100%;
}
.teaserlist.bloglist .teaserlist-container .item .wrapimg {
  width: 100%;
  height: 250px;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center center;
  cursor: pointer;
}
.teaserlist.bloglist .teaserlist-container .item .wrapimg a {
  display: flex;
  width: 100%;
  height: 100%;
}

.teaserlist-container .item .wrapobject {
  box-sizing: border-box;
  padding: calc(var(--gap-large) * 2);
}

.teaserlist-container .item .wrapobject .item-date {
  color: var(--color-darkgray);
  font-size: var(--size-maintext);
  line-height: var(--lineheight-maintext);
  font-weight: var(--weight-light);
}

.teaserlist-container .item .wrapobject .item-title h2 {
  margin: 5px 0 0 0;
  font-size: var(--size-bigtext);
  line-height: var(--lineheight-bigtext);
  font-weight: var(--weight-normal);
}
.teaserlist-container .item .wrapobject .item-title h2 a {
  color: var(--color-primary);
  transition: var(--global-transition);
}
.teaserlist-container .item .wrapobject .item-title h2 a:hover {
  color: var(--links-hovercolor);
  text-decoration: none;
}

.teaserlist-container .item .wrapobject .item-place {
  margin-top: 5px;
  color: var(--color-darkgray);
  font-size: var(--size-maintext);
  line-height: var(--lineheight-maintext);
  font-weight: var(--weight-light);
}

.teaserlist-container .item .wrapobject .item-author {
  margin-top: 5px;
  color: var(--color-darkgray);
  font-size: var(--size-maintext);
  line-height: var(--lineheight-maintext);
  font-weight: var(--weight-light);
}

.teaserlist-container .item .wrapobject .item-content {
  margin-top: 10px;
  color: var(--color-darkgray);
  font-size: var(--size-maintext);
  line-height: var(--lineheight-maintext);
}
.teaserlist-container .item .wrapobject .item-content p {
  margin-bottom: 0px;
}

.teaserlist-container .item .wrapobject .item-readmore {
  display: flex;
  justify-content: flex-end;
}
.teaserlist-container .item .wrapobject .item-readmore a {
  color: var(--links-color);
  text-align: right;
}
.teaserlist-container .item .wrapobject .item-readmore a:after {
  margin-top: -2px;
  border-color: var(--links-color);
}

/* ------------ TEASERLIST - READMORE ------------ */

.teaserlist-readmore {
  display: flex;
  justify-content: center;
}
.teaserlist-readmore a.button {
  margin: 0;
}

/********************************************************************************************************************************************************/
/************************************************************************ à trier ***********************************************************************/
/********************************************************************************************************************************************************/

/* TOPBAR */

.topbar {
  z-index: 50;
  /* position: fixed; */
  top: 0;

  width: 100%;
  height: auto;
  margin: 0;

  transition: var(--global-transition);
}
.admin .topbar {
  top: 44px !important;
}

.topbar.sticky {
  box-shadow: 0 2px 9px 0 rgba(0, 0, 0, 0.11);
}
.mobile #undefined-sticky-wrapper {
  height: auto !important;
}

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

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

/* TOPNAV */
#topNav .cn {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: flex-end;
  padding: 0 var(--gap-large);
}

.mobile #topNav .cn {
  height: 59px;
  padding: 0;
}

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

#topNav .contact_info {
  margin-right: 20px;
}

.mobile #topNav .contact_info {
  margin-right: 0;
}

#topNav .contact_info a {
  margin: 0 10px 0 0;
  font-size: 15px;
  line-height: 18px;
  text-decoration: none;

  transition: var(--global-transition);
}

#topNav .contact_info a:nth-last-child(1) {
  margin: 0;
}

#topNav .contact_info a i {
  margin-right: 5px;
  color: var(--color-primary);
  font-size: 15px;
  transition: var(--global-transition);
}

#topNav .contact_info a:hover {
  color: var(--links-hovercolor);
}

#topNav .contact_info a:hover i {
  color: var(--links-hovercolor);
}

/* simple sec navigation */
#secNavCt {
  left: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  height: 100%;
  width: 100%;
  overflow: hidden;
}

ul#secNav {
  width: 100%;
  width: 310px;
  margin: 0;
  padding: 0px 25px;
  box-sizing: border-box;
  border-right: 2px solid var(--color-lightgray);
}

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

ul#secNav li a {
  position: relative;
  display: block;
  width: auto;
  padding: 8px 20px;
  color: var(--color-textneg);
  font-size: 1.125rem;
  line-height: 1.375rem;
  font-weight: var(--weight-medium);
  text-decoration: none;
  transition: var(--global-transition);
}

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

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: var(--weight-medium);
  text-decoration: none;
  border: 1px solid var(--color-text);
  padding: 10px 20px;
  transition: var(--global-transition);
}

ul#thirdNav li a:hover {
  background-color: var(--color-text);
  color: var(--color-textneg);
}

/* -- Mobile navigation --*/

.mobile #mobile-nav #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: 58px 0 0 70px;
  width: 0;
  height: 0;
  overflow: hidden;
  background-color: transparent;
}

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

.mobile #annexe {
  display: none;
}

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

.mobile ul#mobileNav,
.mobile #mobile-secnav {
  background-color: var(--color-primary);
  padding: 0;
}

.mobile #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: var(--weight-normal);
  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: var(--weight-medium);
  color: #fff;
  font-style: normal;
}

.mobile .secNavCt {
  display: none;
}
/* -- 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;
}

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

@media only screen and (max-width: 490px) {
  .mobile .navPost-prev,
  .mobile .navPost-next {
    width: 100%;
    display: block;
  }

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

  .mobile .social {
    text-align: left;
  }
}

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

/* -- region highlightContent -- */

#highlightContent .column {
  background-color: #ffffff;
  padding: 40px 30px;
  box-sizing: border-box;
  text-align: center;
}

#highlightContent .column h2 {
  order: 2;
}

#highlightContent .column img {
  order: 1;
  margin: 0 auto 30px auto;
}

/***************************** SLICK SLIDER ***************************/

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

/* slick dots */

.slick-dots {
  z-index: 10;
  position: absolute;
  bottom: -30px;
  left: 50%;
  transform: translateX(-50%);
  display: block;
  margin: 0 auto;
}

.slick-dots li {
  display: inline-block;
}

.slick-dots li button {
  display: block;
  width: 10px;
  height: 10px;
  margin: 0 calc(var(--gap-small) / 2);
  padding: 0;
  background-color: transparent;
  border: 1px solid var(--links-color);
  border-radius: 50px;
  font-size: 0;
  line-height: 0;
  cursor: pointer;
  outline: none;
}

.slick-dots li.slick-active button {
  background-color: var(--links-color);
  border: none;
}

/* slick arrow */

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

.slick-prev {
  left: -30px;
}
.slick-next {
  right: -30px;
}

.slick-prev:after,
.slick-next:after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  display: block;
  width: 12px;
  height: 12px;
  border: 2px solid var(--links-color);
  border-width: 2px 0 0 2px;
  transition: var(--global-transition);
}

.slick-prev:after {
  transform: translate(-50%, -50%) rotate(-45deg);
}
.slick-next:after {
  transform: translate(-50%, -50%) rotate(135deg);
}

.slick-prev:hover:after,
.slick-next:hover:after {
  border-color: var(--links-hovercolor);
}

/*
@media only screen and (max-width: 639px) {
  small
}

@media only screen and (min-width: 640px) and (max-width: 1023px) {
  medium
}

@media only screen and (min-width: 1024px) and (max-width: 1199px) {
  large
}

@media only screen and (min-width: 1200px) and (max-width: 1439px) {
  xlarge
}

@media only screen and (min-width: 1440px) {
  xxlarge
}
*/

/* -------------------------------------- A SUPPRIMER APRES LA SUPPRESSION DU VIEUX CSS  -------------------------------------- */

.mobile div#bd div.cn,
.mobile div#ft div.cn,
.mobile div.cn {
  width: 100%;
}

a.readmore,
a.readmore:hover {
  border: 0px solid transparent;
}

#breadcrumbContent .cn {
  padding-top: 0px !important;
}
