/***************************************************************************/
/********** Styles EI ******************************************************/
/***************************************************************************/
/* Description :                                                           */
/*  - Styles e-i.com	              	                                   */
/* Responsabilité :                                                        */
/*  - 5440/AM      						                                   */
/* Historique :                                                            */
/*  - 09/08/2021 : création (fusion des styles CSD-CM et CSD/EI            */
/***************************************************************************/
/*********************************************************s******************/
.cc.main .body code.insert {
  display: block;
  background: #000 !important;
  color: #fff !important;
  border-left: 0 !important;
  border-radius: 0;
  white-space: pre;
  line-height: 1;
  overflow: scroll;
  /*px*/ padding: 0 20px 20px;
  /*rem*/ padding: 0 1.25rem 1.25rem;
  /*px*/ margin: 20px 0 20px;
  /*rem*/ margin: 1.25rem 0 1.25rem;
  /*px*/ font-size: 14px;
  /*rem*/ font-size: 0.875rem;
}
.cc.main .body code.insert .tag {
  color: #f92c47;
}
.cc.main .body code.insert .property {
  color: #83e22e;
}
.cc.main .body code.insert .value {
  color: #e6db74;
}
.cc.main .body strong.ctxt-featured {
  color: #c31c1c;
  /*px*/ font-size: 18px;
  /*rem*/ font-size: 1.125rem;
}
.cc.main .body .disposition .flex > div {
  height: 30px;
  background: #d15462;
  color: #97C8FF;
}
.cc.main .body .disposition .flex > div:nth-child(2n) {
  background: #4471a8;
}
.cc.main .body .more.summary:before {
  font-family: fts_commun;
  content: "\E605";
  padding-right: 5px;
  font-size: 10px;
}
.cc.main .body .more.summary:after {
  content: none;
}
/*==============================================
. Break
============================================== */
/*==============================================
. Fonts
============================================== */
/* Blanc */
/* Noir */
/* Gris très très clair */
/* Gris très clair */
/* Gris */
/* Gris foncé */
/* Gris noir */
/* Bleu - BASE */
/* Bleu foncé */
/* Bleu moyen */
/* Bleu clair */
/* Bleu pastel */
/* Rouge - BASE */
/*#c6a699 Rouge foncé */
/* Rouge moyen */
/* Rouge clair */
/* Rouge pastel */
/* Vert fluo */
/* Jaune */
/* Rouge fluo */
/* Rouge foncé */
/* Vert  foncé */
/* IE10 + IE11 */
@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {
  body {
    -ms-overflow-x: hidden;
  }
  .ctxt-home.main.cc article header.intro .tiles {
    /*px*/ padding: 30px 0 0;
    /*rem*/ padding: 1.875rem 0 0;
  }
  .ctxt-home.main.cc article header {
    /*px*/ padding: 30px 30px 0 30px;
    /*rem*/ padding: 1.875rem 1.875rem 0 1.875rem;
  }
  .ctxt-home.main.cc article header .tiles :first-child.column-tiles > :last-child.tile {
    padding-bottom: 0;
  }
  .cc .social a,
  .cc .social a:hover {
    text-decoration: none;
  }
  /*.cc.main .entity > div figure img {
		width: 100%;
	}
	
	.cc.main .entity > div figure {
		height: 210px;
	}*/
  .cc.main abbr[title] {
    border: 1px dotted;
  }
  .cc .tiles > div > .tile > div.tile figure {
    height: auto;
    overflow: hidden;
  }
  .cc.main .more:after {
    top: 10px;
  }
  .main.cc .team > div .banner {
    min-height: 150px;
  }
  .cc figure.tile img {
    width: 100%;
  }
  .cc .team > div figure img {
    margin-right: 0 !important;
    margin-left: 0 !important;
  }
  .cc.main article .body aside[role='complementary'].rebound > div > .tile.bgtile > div.tile > div figure + div {
    height: auto !important;
  }
}
@media screen and (max-width: 768px) and (-ms-high-contrast: none), (-ms-high-contrast: active) {
  .main.cc article header.hero.intro div.banner {
    transform: none;
  }
  .main.cc .team > div .banner {
    min-height: 0;
  }
}
/* Feuille de style pour impression */
@media print {
  .ei_header,
  .header_container,
  .ei_footer,
  #ei_tpl_footerlegal {
    display: none !important;
  }
  html,
  body {
    margin: 0 !important;
    padding: 0 !important;
  }
  figure {
    break-inside: avoid;
    page-break-inside: avoid;
  }
  aside.sidebar,
  form {
    display: none !important;
  }
  .body.flex > div {
    width: 100% !important;
  }
  .soft,
  .smaller {
    font-size: 8pt !important;
  }
  .border {
    border: 1px solid #000 !important;
  }
  .social {
    display: none !important;
  }
  .bigger {
    font-size: 10pt !important;
  }
  .bigger p {
    font-size: 10pt !important;
  }
  .bigger h3,
  .bigger h4 {
    font-size: 12pt !important;
  }
  .flex {
    display: block !important;
  }
  .flex .flex10,
  .flex .flex20,
  .flex .flex25,
  .flex .flex30,
  .flex .flex33,
  .flex .flex40,
  .flex .flex50,
  .flex .flex60,
  .flex .flex70,
  .flex .flex80,
  .flex .flex90 {
    width: 100% !important;
    display: block !important;
  }
  .flex .flex10 div.insert,
  .flex .flex20 div.insert,
  .flex .flex25 div.insert,
  .flex .flex30 div.insert,
  .flex .flex33 div.insert,
  .flex .flex40 div.insert,
  .flex .flex50 div.insert,
  .flex .flex60 div.insert,
  .flex .flex70 div.insert,
  .flex .flex80 div.insert,
  .flex .flex90 div.insert,
  .flex .flex10.insert,
  .flex .flex20.insert,
  .flex .flex25.insert,
  .flex .flex30.insert,
  .flex .flex33.insert,
  .flex .flex40.insert,
  .flex .flex50.insert,
  .flex .flex60.insert,
  .flex .flex70.insert,
  .flex .flex80.insert,
  .flex .flex90.insert {
    margin-top: 15px !important;
  }
  .info {
    color: #000 !important;
  }
  .actions {
    margin-top: 5px !important;
  }
  .padding-top {
    padding-top: 5px !important;
  }
  .right,
  .center {
    text-align: left !important;
  }
  nav.pagination {
    display: none !important;
  }
  h1 {
    color: #000 !important;
    font-size: 14pt !important;
  }
  h2 {
    font-size: 12pt !important;
  }
  .body h2 {
    color: #000 !important;
  }
  h3 {
    color: #000 !important;
    font-size: 10pt !important;
  }
  h4 {
    color: #000 !important;
    font-size: 8pt !important;
    font-weight: 700 !important;
  }
  p {
    font-size: 8pt !important;
    line-height: 12pt !important;
    orphans: 3;
    widows: 4;
  }
  a {
    color: #000 !important;
    text-decoration: underline !important;
    font-weight: 700 !important;
  }
  a[href]:after {
    content: " (" attr(href) ")" !important;
    font-size: 8pt !important;
  }
  .button {
    background: #fff !important;
    border: 1px solid #000 !important;
    color: #000 !important;
    font-size: 8pt !important;
    width: 100% !important;
  }
  .button.btn-info {
    font-size: 8pt !important;
    padding: 15px !important;
    width: 100% !important;
  }
  .button.btn-info:after {
    transform: translateY(50%) !important;
    left: 0 !important;
  }
  .button.btn-info:before {
    content: none !important;
  }
  .button.more {
    font-size: 8pt !important;
  }
  .more {
    font-size: 8pt !important;
  }
  iframe[frameborder="0"] {
    min-height: 0px !important;
  }
  figure figcaption {
    font-size: 8pt !important;
    background: #fff !important;
    color: #000 !important;
  }
  figure.border figcaption {
    border-top: 1px dashed #000 !important;
  }
  ul,
  ol {
    font-size: 8pt !important;
    margin: 10px 0 !important;
  }
  ul li,
  ol li {
    font-size: 8pt !important;
    margin-bottom: 5px !important;
  }
  ul.tabs {
    display: none !important;
  }
  .main div.tab {
    border-bottom: 1px solid #000;
  }
  .main div.tab[aria-hidden="true"] {
    display: block;
  }
  .main div.tab .flex {
    display: flex !important;
  }
  .main div.tab .flex .flex10 {
    width: 10% !important;
  }
  .main div.tab .flex .flex20 {
    width: 20% !important;
  }
  .main div.tab .flex .flex25 {
    width: 25% !important;
  }
  .main div.tab .flex .flex30 {
    width: 30% !important;
  }
  .main div.tab .flex .flex33 {
    width: 33.3% !important;
  }
  .main div.tab .flex .flex40 {
    width: 40% !important;
  }
  .main div.tab .flex .flex50 {
    width: 50% !important;
  }
  .main div.tab .flex .flex60 {
    width: 60% !important;
  }
  .main div.tab .flex .flex70 {
    width: 70% !important;
  }
  .main div.tab .flex .flex80 {
    width: 80% !important;
  }
  .main div.tab .flex .flex90 {
    width: 90% !important;
  }
  .main div.tab .flex .flex100 {
    width: 100% !important;
  }
  blockquote {
    background: #fff !important;
    border: 1px solid #000 !important;
    padding: 30px !important;
  }
  blockquote:after {
    color: #000 !important;
    font-size: 14pt !important;
    bottom: 0 !important;
  }
  blockquote:before {
    color: #000 !important;
    font-size: 14pt !important;
    top: 40px !important;
  }
  blockquote p {
    width: 100% !important;
    font-size: 8pt !important;
    font-weight: 400 !important;
  }
  blockquote p cite {
    font-size: 8pt !important;
  }
  .slider div[aria-hidden="true"] {
    display: block !important;
  }
  .insert {
    clear: both !important;
    display: block !important;
    width: 100% !important;
    background: #fff !important;
    padding: 20px !important;
    border: 1px solid rgba(89, 89, 89, 0.2) !important;
  }
  .insert.tile {
    -webkit-box-shadow: none !important;
    -moz-box-shadow: none !important;
    box-shadow: none !important;
  }
  [data-collapse][role="tablist"] [role="tab"][data-collapsed] {
    font-size: 8pt !important;
    padding: 10px !important;
  }
  [data-collapse][role="tablist"] [role="tab"][data-collapsed="yes"] + dd {
    display: block !important;
    font-size: 8pt !important;
    padding: 10px !important;
  }
  [data-collapse][role="tablist"] [role="tab"][data-collapsed="yes"] + dd p,
  [data-collapse][role="tablist"] [role="tab"][data-collapsed="yes"] + dd ul li,
  [data-collapse][role="tablist"] [role="tab"][data-collapsed="yes"] + dd ol li {
    font-size: 8pt !important;
  }
  [data-collapse][role="tablist"] [role="tab"][data-collapsed="no"] + dd {
    padding: 10px !important;
  }
  .cc.main article {
    max-width: none !important;
  }
  .cc.main article header div.img {
    display: none !important;
  }
  .cc.main article header div.banner {
    position: static !important;
    -webkit-transform: none !important;
    transform: none !important;
    color: #000 !important;
    padding: 0 !important;
  }
  .cc.main article header div.banner h1 {
    color: #000 !important;
    width: 100% !important;
  }
  .cc.main article header div.banner p {
    color: #000 !important;
    width: 100% !important;
  }
  .cc.main article header div.banner img[src$=".png"],
  .cc.main article header div.banner img[src$=".jpg"] {
    max-width: 100px !important;
  }
  .cc.main article header + .social {
    display: none !important;
  }
  .cc.main article .body {
    padding: 0 !important;
    max-width: none !important;
  }
  .cc.main article .body section {
    padding: 10px 0 !important;
  }
  .cc.main article .body section > div {
    padding: 0 !important;
    max-width: none !important;
  }
  .cc.main article .body section > div h2 {
    margin-bottom: 10px !important;
  }
  .cc.main article .body section > div p {
    margin-bottom: 10px !important;
  }
  .cc.main article .body section .orientation figure {
    display: none !important;
  }
  .cc.main article .body section.bg {
    background: #fff !important;
  }
  .cc.main article .body.media:before {
    font-family: fts_commun;
    content: "\EC7F";
    border: 1px solid rgba(89, 89, 89, 0.2);
    padding: 10px 20px !important;
    font-size: 10pt !important;
  }
  .cc.main article .body.media div {
    display: none !important;
  }
  .cc.main article .body aside.sticky {
    display: none !important;
  }
  .cc.main article .body aside.sticky + div {
    width: 100% !important;
    padding-left: 0 !important;
  }
  .cc.main.ctxt-list article .tiles > div {
    padding: 0 !important;
    max-width: none !important;
  }
  .cc.main.ctxt-list article .tiles .tile {
    width: 100% !important;
  }
  .cc.main.ctxt-list article .tiles .tile > .tile {
    display: block !important;
    margin-bottom: 15px !important;
    height: initial !important;
    border: 1px solid rgba(89, 89, 89, 0.2) !important;
    -webkit-box-shadow: none !important;
    -moz-box-shadow: none !important;
    box-shadow: none !important;
    padding: 0 !important;
  }
  .cc.main.ctxt-list article .tiles .tile > .tile figure {
    width: auto !important;
  }
  .cc.main.ctxt-list article .tiles .tile > .tile figure img {
    max-width: 200px !important;
  }
  .cc.main.ctxt-list article .tiles .tile > .tile > div {
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
    justify-content: initial !important;
  }
  .cc.main.ctxt-list article .tiles .tile > .tile > div figure {
    display: none !important;
  }
  .cc.main.ctxt-list article .tiles .tile > .tile > div figure + .banner {
    padding: 0 !important;
  }
  .cc.main.ctxt-list article .tiles .tile > .tile > div .actions {
    margin: 0 !important;
    padding: 0 !important;
  }
  .cc.main.ctxt-list article .tiles .tile > .tile > div .banner {
    min-height: 0 !important;
    padding: 0 !important;
  }
  .cc.main.ctxt-list article .tiles .tile > .tile > div .div {
    margin: 0 !important;
  }
  .cc.main.ctxt-list article .tiles .tile > .tile > div h1 {
    margin-top: 0 !important;
  }
  .cc.main.ctxt-list article .tiles .tile .actions {
    margin-top: 0 !important;
  }
  .cc.main.ctxt-list article .tiles .tile .actions a.more {
    padding-left: 0 !important;
  }
  .cc.main.ctxt-list article .tiles .tile.ei_cardboarditem .tile figure {
    display: none !important;
  }
  .cc.main.ctxt-list article .tiles .tile.ei_cardboarditem .tile div {
    width: 100% !important;
  }
  .cc.main.ctxt-list article .tiles #filters .filter p.sel {
    border: 1px solid rgba(89, 89, 89, 0.3) !important;
  }
  .cc.main .key-figure {
    display: flex !important;
  }
  .cc.main .key-figure > div {
    width: 33% !important;
  }
  .cc.main .key-figure > div > div {
    padding: 0 !important;
    -webkit-box-shadow: none !important;
    -moz-box-shadow: none !important;
    box-shadow: none !important;
    border: 1px solid rgba(89, 89, 89, 0.2) !important;
    padding: 10px !important;
    text-align: center !important;
  }
  .cc.main .key-figure > div > div figure {
    display: none !important;
  }
  .cc.main .key-figure > div > div p {
    font-size: 8pt !important;
    margin: 0 !important;
    padding: 0 !important;
    width: 100% !important;
  }
  .cc.main .key-figure > div > div p strong {
    font-size: 8pt !important;
    color: #000 !important;
    display: inline !important;
  }
  .cc.main .resume {
    width: 100% !important;
    padding: 0 !important;
    max-width: none !important;
  }
  .cc.main .team {
    padding: 5px !important;
    width: 33% !important;
  }
  .cc.main .team > div {
    border: 1px solid rgba(89, 89, 89, 0.2) !important;
    -webkit-box-shadow: none !important;
    -moz-box-shadow: none !important;
    box-shadow: none !important;
  }
  .cc.main .team > div .banner p strong {
    color: #000 !important;
  }
  .cc.main .entity {
    padding: 5px !important;
    width: 33% !important;
  }
  .cc.main .entity > div {
    border: 1px solid rgba(89, 89, 89, 0.2) !important;
    -webkit-box-shadow: none !important;
    -moz-box-shadow: none !important;
    box-shadow: none !important;
  }
  .cc.main .entity > div .banner p strong {
    color: #000 !important;
  }
  .cc.main .entity.infoscompl > div .banner + div {
    border: 1px solid rgba(89, 89, 89, 0.2);
  }
  .cc.main .entity.infoscompl > div .banner + div p {
    color: #000 !important;
    font-weight: 400 !important;
  }
  .cc.main .entity.infoscompl > div .banner + div p strong {
    color: #000 !important;
  }
}
/****************************************/
/********** Styles CNCM 2019 ************/
/****************************************/
/* Description :                        */
/*  - Styles CNCM/Forms              	*/
/* Responsabilité :                     */
/*  - SB        						*/
/* Historique :                         */
/*  - 04/04/2019 : création             */
/****************************************/
/****************************************/
.cc .mandatory {
  color: #c42a2a;
}
.cc #keypoints form {
  width: 100%;
}
.cc form {
  text-align: left;
  width: 60%;
  margin: 0 auto;
  /*p {
      text-align: left !important;
    }*/
}
.cc form #retour-note-de-bas-de-page {
  margin-top: 30px;
  text-align: center;
}
@media only screen and (max-width: 992px) {
  .cc form {
    width: 80%;
  }
}
@media only screen and (max-width: 768px) {
  .cc form {
    width: 100%;
  }
}
.cc form bloc fieldset {
  background: #fff;
  -webkit-box-shadow: 0 5px 10px 2px rgba(0, 0, 0, 0.1);
  -moz-box-shadow: 0 5px 10px 2px rgba(0, 0, 0, 0.1);
  box-shadow: 0 5px 10px 2px rgba(0, 0, 0, 0.1);
  border: none;
  /*px*/ padding: 10px 30px;
  /*rem*/ padding: 0.625rem 1.875rem;
  /*px*/ margin-top: 80px;
  /*rem*/ margin-top: 5rem;
  position: relative;
}
@media only screen and (max-width: 768px) {
  .cc form bloc fieldset {
    /*px*/ margin-top: 70px;
    /*rem*/ margin-top: 4.375rem;
  }
}
@media only screen and (max-width: 480px) {
  .cc form bloc fieldset {
    padding: 0;
    -webkit-box-shadow: none;
    -moz-box-shadow: none;
    box-shadow: none;
    /*px*/ margin-top: 10px;
    /*rem*/ margin-top: 0.625rem;
  }
}
.cc form legend {
  font-weight: 700;
  position: absolute;
  /*px*/ top: -35px;
  /*rem*/ top: -2.1875rem;
  left: 0;
}
@media only screen and (max-width: 480px) {
  .cc form legend {
    position: static;
  }
}
.cc form .err-msg {
  color: #c42a2a;
  display: block;
  text-align: left;
}
.cc form .form-group {
  /*px*/ margin: 20px 0;
  /*rem*/ margin: 1.25rem 0;
}
.cc form .form-group label {
  font-weight: 600;
}
.cc form .form-group label,
.cc form .form-group .form-label {
  /*px*/ margin-bottom: 10px;
  /*rem*/ margin-bottom: 0.625rem;
  display: block;
  color: #595959;
}
@media only screen and (max-width: 768px) {
  .cc form .form-group label,
  .cc form .form-group .form-label {
    width: 100% !important;
    text-align: left;
  }
}
@media only screen and (max-width: 480px) {
  .cc form .form-group label,
  .cc form .form-group .form-label {
    /*px*/ margin-bottom: 5px;
    /*rem*/ margin-bottom: 0.3125rem;
  }
}
.cc form .form-group > [id^="rd"],
.cc form .form-group [id^="chk"] {
  display: block;
  /*px*/ margin-right: 5px;
  /*rem*/ margin-right: 0.3125rem;
  margin-bottom: 0;
}
.cc form .form-group > [id^="rd"] + div,
.cc form .form-group [id^="chk"] + div {
  display: inline-block;
  /*px*/ margin: 10px 0 0 0;
  /*rem*/ margin: 0.625rem 0 0 0;
}
.cc form .form-group > [id^="rd"] + div label,
.cc form .form-group [id^="chk"] + div label {
  /*px*/ margin-right: 15px;
  /*rem*/ margin-right: 0.9375rem;
}
.cc form .form-group > [id^="rd"] + div > div,
.cc form .form-group [id^="chk"] + div > div {
  display: block;
  /*px*/ margin-right: 15px;
  /*rem*/ margin-right: 0.9375rem;
}
.cc form .form-group.inline {
  display: block;
}
.cc form .form-group.inline > [id^="chk"] + .form-control {
  width: auto !important;
}
.cc form .form-group.inline > [id^="chk"] + .form-control .chk-group {
  border: 2px solid rgba(0, 68, 148, 0.3);
  -webkit-border-radius: 20px;
  -moz-border-radius: 20px;
  border-radius: 20px;
}
.cc form .form-group.inline > [id^="chk"] + .form-control .chk-group input {
  /*px*/ margin-left: 16px;
  /*rem*/ margin-left: 1rem;
  display: inline-block;
}
.cc form .form-group.inline > [id^="chk"] + .form-control .chk-group input + label {
  /*px*/ padding: 8px 16px 8px 8px;
  /*rem*/ padding: 0.5rem 1rem 0.5rem 0.5rem;
  display: inline-block;
  margin: 0;
  width: auto !important;
}
.cc form .form-group.inline > [id^="chk"] + .form-control .chk-group input:checked {
  background: #fff;
  color: #fff;
}
.cc form .form-group.inline > [id^="chk"] + .form-control .chk-group input:checked:before {
  color: #004494;
}
.cc form .form-group.inline > [id^="chk"] + div > div {
  display: inline-block;
}
.cc form .form-group.inline > [id^="rd"] {
  display: inline-block;
}
.cc form .form-group.toggle > [id^="rd"] {
  display: block;
  /*px*/ padding-bottom: 10px;
  /*rem*/ padding-bottom: 0.625rem;
}
.cc form .form-group.toggle > [id^="rd"] + .form-control {
  width: auto !important;
  border: 2px solid rgba(0, 68, 148, 0.3);
  -webkit-border-radius: 20px;
  -moz-border-radius: 20px;
  border-radius: 20px;
  /*px*/ padding: 7px 0;
  /*rem*/ padding: 0.4375rem 0;
  /*px*/ margin-top: -3px;
  /*rem*/ margin-top: -0.1875rem;
}
.cc form .form-group.toggle > [id^="rd"] + .form-control input {
  position: absolute !important;
  clip: rect(0, 0, 0, 0);
  height: 1px;
  width: 1px;
  border: 0;
  overflow: hidden;
}
.cc form .form-group.toggle > [id^="rd"] + .form-control input[type="radio"] {
  box-sizing: border-box;
  padding: 0;
}
.cc form .form-group.toggle > [id^="rd"] + .form-control input + label {
  width: auto !important;
}
.cc form .form-group.toggle > [id^="rd"] + .form-control input:checked + label {
  color: #fff;
  /*px*/ padding-top: 8px;
  /*rem*/ padding-top: 0.5rem;
  /*px*/ padding-bottom: 8px;
  /*rem*/ padding-bottom: 0.5rem;
}
.cc form .form-group.toggle > [id^="rd"] + .form-control label {
  text-align: center;
  /*px*/ padding: 7px 16px;
  /*rem*/ padding: 0.4375rem 1rem;
  margin: 0;
  -webkit-transition: all 0.1s ease 0s;
  -o-transition: all 0.1s ease 0s;
  transition: all 0.1s ease 0s;
  border-right: 2px solid rgba(0, 68, 148, 0.3);
  border-left: 2px solid rgba(0, 68, 148, 0.3);
}
.cc form .form-group.toggle > [id^="rd"] + .form-control label:first-of-type {
  margin-right: -5px;
  -webkit-border-radius: 20px 0 0 20px;
  -moz-border-radius: 20px 0 0 20px;
  border-radius: 20px 0 0 20px;
  border: none;
}
.cc form .form-group.toggle > [id^="rd"] + .form-control label:last-of-type {
  -webkit-border-radius: 0 20px 20px 0;
  -moz-border-radius: 0 20px 20px 0;
  border-radius: 0 20px 20px 0;
  border: none;
  margin-left: -5px;
}
@media only screen and (max-width: 768px) {
  .cc form .form-group .form-control {
    width: 100% !important;
  }
}
.cc form .form-group .form-control.invalid {
  margin-bottom: 0;
}
.cc form .form-group .form-control.invalid input,
.cc form .form-group .form-control.invalid textarea,
.cc form .form-group .form-control.invalid select {
  border-color: #c42a2a;
  background: rgba(196, 42, 42, 0.05);
  color: #c42a2a;
}
.cc form .form-group .form-control.valid input,
.cc form .form-group .form-control.valid textarea,
.cc form .form-group .form-control.valid select {
  border-color: #088459;
  background: #f5fbf9;
}
.cc form .form-group .form-control[role="radiogroup"] label,
.cc form .form-group .form-control[role="radiogroup"] .form-label {
  display: inline;
}
.cc form .form-group .form-control input {
  width: 100%;
  /*px*/ padding: 10px;
  /*rem*/ padding: 0.625rem;
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  border-radius: 5px;
  border: 2px solid #004494;
  color: #004494;
  font-weight: 600;
}
.cc form .form-group .form-control input[type="radio"] {
  -webkit-border-radius: 50px;
  -moz-border-radius: 50px;
  border-radius: 50px;
}
.cc form .form-group .form-control input[type="radio"]:checked {
  box-shadow: 0px 0px 0px 3px #fff inset;
  outline: 0 none !important;
}
.cc form .form-group .form-control input[type="checkbox"] {
  -webkit-border-radius: 0;
  -moz-border-radius: 0;
  border-radius: 0;
  position: relative;
}
.cc form .form-group .form-control input[type="checkbox"]:checked {
  position: relative;
  outline: 0 none !important;
}
.cc form .form-group .form-control input[type="checkbox"]:checked:before {
  content: "✔";
  font-size: 15px;
  text-align: center;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.cc form .form-group .form-control input[type="radio"],
.cc form .form-group .form-control input[type="checkbox"] {
  -webkit-appearance: none;
  -moz-appearance: none;
  -ms-appearance: none;
  height: 16px;
  width: 16px;
  background: #fff;
  border: 1px solid #004494;
  transition: all 0.2s linear;
  padding: 0;
  display: inline-block;
  vertical-align: -2px;
  cursor: pointer;
}
.cc form .form-group .form-control input[type="radio"] + label,
.cc form .form-group .form-control input[type="checkbox"] + label {
  cursor: pointer;
}
.cc form .form-group .form-control textarea {
  width: 100%;
  min-height: 150px;
  /*px*/ padding: 10px;
  /*rem*/ padding: 0.625rem;
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  border-radius: 5px;
  border: 2px solid rgba(0, 68, 148, 0.3);
  color: #004494;
  font-weight: 600;
}
.cc form .form-group .form-control select {
  width: 100%;
  border: 2px solid rgba(0, 68, 148, 0.3);
  /*px*/ padding: 10px;
  /*rem*/ padding: 0.625rem;
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  border-radius: 5px;
}
.cc form .form-group .form-control > div {
  /*px*/ margin-bottom: 10px;
  /*rem*/ margin-bottom: 0.625rem;
}
.cc form .form-group .form-control > div:last-child {
  margin-bottom: 0;
}
.cc form .form-group #rdCookieReseaux,
.cc form .form-group #rdCookieMarketing,
.cc form .form-group #rdCookieAudience {
  width: 100%;
  text-align: center;
}
.cc form .form-group #rdCookieReseaux + .form-control,
.cc form .form-group #rdCookieMarketing + .form-control,
.cc form .form-group #rdCookieAudience + .form-control {
  width: 100%;
  /*px*/ margin-top: 15px;
  /*rem*/ margin-top: 0.9375rem;
}
.cc form .button {
  /*px*/ margin: 40px auto 0;
  /*rem*/ margin: 2.5rem auto 0;
  display: block;
  -webkit-transition: all 1s ease 0s;
  -o-transition: all 1s ease 0s;
  transition: all 1s ease 0s;
}
.cc form .flex {
  /*px*/ margin-top: -10px;
  /*rem*/ margin-top: -0.625rem;
}
.cc form .flex .form-group {
  /*px*/ padding: 0 20px 0 0;
  /*rem*/ padding: 0 1.25rem 0 0;
  /*px*/ margin: 10px 0;
  /*rem*/ margin: 0.625rem 0;
}
@media only screen and (max-width: 768px) {
  .cc form .flex .form-group {
    padding: 0;
  }
}
.cc form .flex .form-group.flex50:nth-child(even) {
  padding: 0;
}
.cc form .flex .form-group.flex100 {
  padding: 0;
}
.cc form fieldset.flex {
  /*px*/ margin-top: 80px;
  /*rem*/ margin-top: 5rem;
}
@media only screen and (max-width: 768px) {
  .cc form fieldset.flex {
    /*px*/ margin-top: 70px;
    /*rem*/ margin-top: 4.375rem;
  }
}
@media only screen and (max-width: 480px) {
  .cc form fieldset.flex {
    /*px*/ margin-top: 10px;
    /*rem*/ margin-top: 0.625rem;
  }
}
.cc form div[aria-labelledby="rdCookieAudience"],
.cc form div[aria-labelledby="rdCookieMarketing"],
.cc form div[aria-labelledby="rdCookieReseaux"] {
  text-align: center;
}
.cc form #cookiesMsg-audience,
.cc form #cookiesMsg-marketing,
.cc form #cookiesMsg-reseaux {
  text-align: center;
}
.cc form #cookiesMsg-audience + .msg.info p,
.cc form #cookiesMsg-marketing + .msg.info p,
.cc form #cookiesMsg-reseaux + .msg.info p {
  text-align: center !important;
  font-weight: 600;
}
/****************************************/
/********** Styles CSD 2020 ************ /
/****************************************/
/* Description :                        */
/*  - Styles CSD/Tiles              	*/
/* Responsabilité :                     */
/*  - SB        						*/
/* Historique :                         */
/*  - 04/03/2020 : création             */
/****************************************/
/****************************************/
.cc section.tuiles-flex-quatre .tiles > div {
  justify-content: center;
}
.cc section.tuiles-flex-quatre .tiles > div > .tile {
  width: 25%;
}
@media only screen and (max-width: 992px) {
  .cc section.tuiles-flex-quatre .tiles > div > .tile {
    width: 50%;
  }
}
@media only screen and (max-width: 576px) {
  .cc section.tuiles-flex-quatre .tiles > div > .tile {
    width: 100%;
    /*px*/ padding: 5px 0;
    /*rem*/ padding: 0.3125rem 0;
  }
}
.cc .tiles-33 .tiles > div {
  justify-content: space-between;
}
.cc .tile {
  margin: 0;
  padding: 0;
}
.cc .tiles > div {
  display: flex;
  flex-wrap: wrap;
}
.cc .tiles > div #filters {
  width: 100%;
}
.cc .tiles > div > .tile {
  /*px*/ padding: 15px;
  /*rem*/ padding: 0.9375rem;
  width: 33%;
  position: relative;
  z-index: 50;
  margin: 0;
}
@media only screen and (max-width: 992px) {
  .cc .tiles > div > .tile {
    width: 50%;
  }
}
@media only screen and (max-width: 576px) {
  .cc .tiles > div > .tile {
    width: 100%;
    /*px*/ padding: 5px 0;
    /*rem*/ padding: 0.3125rem 0;
  }
}
.cc .tiles > div > .tile > div.tile {
  background: #fff;
  -webkit-box-shadow: 0 5px 10px 2px rgba(0, 0, 0, 0.1);
  -moz-box-shadow: 0 5px 10px 2px rgba(0, 0, 0, 0.1);
  box-shadow: 0 5px 10px 2px rgba(0, 0, 0, 0.1);
  /*px*/ padding: 0 0 30px;
  /*rem*/ padding: 0 0 1.875rem;
  height: 100%;
  position: relative;
  z-index: 50;
}
@media only screen and (max-width: 768px) {
  .cc .tiles > div > .tile > div.tile {
    /*px*/ padding: 0 0 20px;
    /*rem*/ padding: 0 0 1.25rem;
  }
}
.cc .tiles > div > .tile > div.tile figure {
  margin: 0;
}
.cc .tiles > div > .tile > div.tile figure img {
  width: 100%;
  height: auto;
}
.cc .tiles > div > .tile > div.tile picture img {
  width: 100%;
  height: auto;
}
.cc .tiles > div > .tile > div.tile > div {
  display: flex;
  flex-direction: column;
  height: 100%;
}
@media only screen and (max-width: 768px) {
  .cc .tiles > div > .tile > div.tile > div {
    min-height: 0;
  }
}
.cc .tiles > div > .tile > div.tile > div .banner {
  /*px*/ padding: 20px 20px 0;
  /*rem*/ padding: 1.25rem 1.25rem 0;
}
@media only screen and (max-width: 768px) {
  .cc .tiles > div > .tile > div.tile > div .banner {
    /*px*/ padding: 20px 20px 0;
    /*rem*/ padding: 1.25rem 1.25rem 0;
  }
}
.cc .tiles > div > .tile > div.tile > div .banner h2,
.cc .tiles > div > .tile > div.tile > div .banner h3,
.cc .tiles > div > .tile > div.tile > div .banner h4 {
  color: #004494;
  /*px*/ margin: 0 0 10px 0;
  /*rem*/ margin: 0 0 0.625rem 0;
}
.cc .tiles > div > .tile > div.tile > div .banner p {
  /*px*/ margin-bottom: 5px;
  /*rem*/ margin-bottom: 0.3125rem;
}
.cc .tiles > div > .tile > div.tile > div .banner p:last-child {
  margin-bottom: 0;
}
.cc .tiles > div > .tile > div.tile > div .banner p time {
  display: inline;
}
.cc .tiles > div > .tile > div.tile > div .banner time {
  font-weight: 600;
  /*px*/ margin-bottom: 10px;
  /*rem*/ margin-bottom: 0.625rem;
  display: block;
}
.cc .tiles > div > .tile > div.tile > div .actions {
  /*px*/ padding: 20px 20px 0;
  /*rem*/ padding: 1.25rem 1.25rem 0;
  bottom: 0;
  margin-top: auto;
}
@media only screen and (max-width: 768px) {
  .cc .tiles > div > .tile > div.tile > div .actions {
    position: static;
    /*px*/ padding: 20px 20px 0;
    /*rem*/ padding: 1.25rem 1.25rem 0;
  }
}
.cc .tiles > div > .tile > div.tile > div .actions .button {
  background: #fff;
  color: #004494;
  border: 2px solid rgba(0, 68, 148, 0.3);
  /*px*/ padding: 6px 40px 6px 20px;
  /*rem*/ padding: 0.375rem 2.5rem 0.375rem 1.25rem;
}
@media only screen and (max-width: 768px) {
  .cc .tiles > div > .tile > div.tile > div .actions .button {
    /*px*/ padding: 10px 40px 10px 20px;
    /*rem*/ padding: 0.625rem 2.5rem 0.625rem 1.25rem;
  }
}
.cc .tiles > div > .tile > div.tile > div .actions .button:focus {
  border-color: #0069E0;
  color: #0069E0;
  background: rgba(0, 105, 224, 0.1);
}
.cc .tiles > div > .tile > div.tile > div .actions .button.more::after {
  -webkit-transition: all 1s ease 0s;
  -o-transition: all 1s ease 0s;
  transition: all 1s ease 0s;
  background-color: #004494;
}
.cc .tiles > div > .tile > div.tile > div .actions .button.more:hover::after {
  background-color: #fff;
}
.cc .tiles > div > .tile > div.tile > div .actions .button.more:focus::after {
  background-color: #0069E0;
}
.cc .tiles > div > .tile > div.tile > div figure + .banner {
  /*px*/ padding-top: 15px;
  /*rem*/ padding-top: 0.9375rem;
}
.cc .tiles > div > .tile.logo .banner img {
  max-width: 150px;
}
.cc .tiles > div > .tile.bgtile {
  overflow: hidden;
}
@media only screen and (max-width: 768px) {
  .cc .tiles > div > .tile.bgtile {
    width: 50%;
    /*px*/ padding: 10px;
    /*rem*/ padding: 0.625rem;
  }
}
@media only screen and (max-width: 480px) {
  .cc .tiles > div > .tile.bgtile {
    width: 100%;
    /*px*/ padding: 5px 0;
    /*rem*/ padding: 0.3125rem 0;
  }
}
.cc .tiles > div > .tile.bgtile > div.tile {
  overflow: hidden;
  padding: 0;
  height: initial;
}
.cc .tiles > div > .tile.bgtile > div.tile > div {
  min-height: 400px;
  height: 100%;
  flex-direction: row;
}
@media only screen and (max-width: 1200px) {
  .cc .tiles > div > .tile.bgtile > div.tile > div {
    min-height: 330px;
  }
}
@media only screen and (max-width: 992px) {
  .cc .tiles > div > .tile.bgtile > div.tile > div {
    min-height: 380px;
  }
}
@media only screen and (max-width: 768px) {
  .cc .tiles > div > .tile.bgtile > div.tile > div {
    min-height: 260px;
  }
}
@media only screen and (max-width: 480px) {
  .cc .tiles > div > .tile.bgtile > div.tile > div {
    min-height: 280px;
  }
}
.cc .tiles > div > .tile.bgtile > div.tile > div figure:before {
  background: rgba(0, 68, 148, 0.65);
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
  content: "";
  z-index: 10;
}
.cc .tiles > div > .tile.bgtile > div.tile > div figure img {
  position: absolute;
  top: 0;
  left: 0;
  padding: 0;
  min-height: 100%;
  height: auto;
  width: auto;
  min-width: 100%;
}
.cc .tiles > div > .tile.bgtile > div.tile > div figure + div {
  position: relative;
  align-self: flex-end;
  z-index: 70;
  /*px*/ margin: 40px;
  /*rem*/ margin: 2.5rem;
}
@media only screen and (max-width: 768px) {
  .cc .tiles > div > .tile.bgtile > div.tile > div figure + div {
    /*px*/ margin: 20px;
    /*rem*/ margin: 1.25rem;
  }
}
.cc .tiles > div > .tile.bgtile > div.tile > div figure + div .banner {
  padding: 0;
  min-height: 0;
}
.cc .tiles > div > .tile.bgtile > div.tile > div figure + div .banner p {
  color: #fff;
}
.cc .tiles > div > .tile.bgtile > div.tile > div figure + div .actions {
  padding: 0;
  margin-top: 0;
}
.cc .tiles > div > .tile.bgtile > div.tile > div figure + div .actions a {
  border-color: #fff;
}
.cc .tiles > div > .tile.bgtile > div.tile > div figure + div .actions a:focus {
  border-color: #fff;
  color: #fff;
}
.cc .tiles.horizontiles > div {
  display: block;
}
.cc .tiles.horizontiles > div > .tile {
  width: 100%;
}
.cc .tiles.horizontiles > div > .tile > div.tile {
  padding: 0;
}
.cc .tiles.horizontiles > div > .tile > div.tile > div {
  display: block;
  min-height: 0;
  /*px*/ padding: 30px;
  /*rem*/ padding: 1.875rem;
}
.cc .tiles.horizontiles > div > .tile > div.tile > div .banner {
  padding: 0;
  min-height: 0;
}
.cc .tiles.horizontiles > div > .tile > div.tile > div .banner p time {
  display: inline;
}
.cc .tiles.horizontiles > div > .tile > div.tile > div .banner time {
  font-weight: bold;
  /*px*/ margin-bottom: 10px;
  /*rem*/ margin-bottom: 0.625rem;
  display: inline-block;
}
.cc .tiles.horizontiles > div > .tile > div.tile > div .actions {
  padding: 0;
  /*px*/ margin-top: 10px;
  /*rem*/ margin-top: 0.625rem;
}
.cc .tiles.horizontiles > div > .tile > div.tile > div.hero {
  display: flex;
  flex-direction: row;
  padding: 0;
  align-items: center;
}
@media only screen and (max-width: 768px) {
  .cc .tiles.horizontiles > div > .tile > div.tile > div.hero {
    display: block;
  }
}
.cc .tiles.horizontiles > div > .tile > div.tile > div.hero > figure {
  width: 30%;
  overflow: hidden;
  margin-bottom: -5px;
}
@media only screen and (max-width: 768px) {
  .cc .tiles.horizontiles > div > .tile > div.tile > div.hero > figure {
    width: 100%;
  }
}
.cc .tiles.horizontiles > div > .tile > div.tile > div.hero > figure + div {
  width: 70%;
  /*px*/ padding: 30px;
  /*rem*/ padding: 1.875rem;
}
@media only screen and (max-width: 768px) {
  .cc .tiles.horizontiles > div > .tile > div.tile > div.hero > figure + div {
    width: 100%;
  }
}
.cc .tiles.horizontiles > div > .tile > div.tile > div.hero > figure img {
  position: relative;
  left: 100%;
  margin-left: -125%;
  max-width: 150%;
  width: auto;
  height: 100%;
}
@media only screen and (max-width: 768px) {
  .cc .tiles.horizontiles > div > .tile > div.tile > div.hero > figure img {
    position: static;
    margin-left: 0;
    max-width: 100%;
    width: 100%;
    height: auto;
  }
}
.cc .tiles .team {
  width: 25%;
  position: relative;
  /*px*/ padding: 15px;
  /*rem*/ padding: 0.9375rem;
}
@media only screen and (max-width: 992px) {
  .cc .tiles .team {
    width: 33%;
  }
}
@media only screen and (max-width: 768px) {
  .cc .tiles .team {
    width: 50%;
  }
}
@media only screen and (max-width: 480px) {
  .cc .tiles .team {
    width: 100%;
  }
}
/****************************************/
/********** Styles CSD 2020 ************/
/****************************************/
/* Description :                        */
/*  - Styles CSD/Core		            */
/* Responsabilité :                     */
/*  - SB        						*/
/* Historique :                         */
/*  - 13/03/2020 : création             */
/****************************************/
/****************************************/
html,
body,
main {
  height: 100%;
}
.cc {
  color: #414141;
}
.cc * {
  box-sizing: border-box;
}
.cc .border {
  border: 1px solid #f2efed;
}
.cc .soft {
  color: #595959;
}
.cc .example {
  color: #414141;
}
.cc .teaser {
  font-weight: 700;
}
.cc .all-caps,
.cc .uppercase {
  text-transform: uppercase;
}
.cc .italic {
  font-style: italic;
}
.cc .clickable {
  cursor: pointer;
}
.cc .height100 {
  height: 100%;
}
@media only screen and (max-width: 768px) {
  .cc .height100 {
    height: auto;
  }
}
.cc .width100 {
  width: 100% !important;
}
@media only screen and (max-width: 768px) {
  .cc .width100 {
    width: auto;
  }
}
.cc .relative {
  position: relative;
}
.cc .invisible,
.cc .hide,
.cc .hidden {
  position: absolute !important;
  overflow: hidden !important;
  padding: 0 !important;
  border: 0 !important;
  clip: rect(0, 0, 0, 0) !important;
  -webkit-clip-path: circle(0) !important;
  clip-path: circle(0) !important;
  width: 1px !important;
  height: 1px !important;
  margin: -1px !important;
  white-space: nowrap !important;
}
.cc .light {
  font-weight: 300;
}
.cc .regular {
  font-weight: 400;
}
.cc .semibold {
  font-weight: 600;
}
.cc .bold {
  font-weight: 700;
}
.cc .extrabold {
  font-weight: 800;
}
.cc abbr[title] {
  border: none;
}
.cc .marginauto {
  margin-right: auto;
  margin-left: auto;
}
.cc .center-align {
  align-self: center;
}
.cc .justify-center {
  justify-content: center;
}
.cc .vertical-align-bottom {
  vertical-align: bottom;
}
.cc .flex {
  display: flex;
  flex-wrap: wrap;
  clear: both;
  /*px*/ margin-bottom: 20px;
  /*rem*/ margin-bottom: 1.25rem;
}
@media only screen and (max-width: 768px) {
  .cc .flex {
    display: block;
    /*px*/ margin-bottom: 15px;
    /*rem*/ margin-bottom: 0.9375rem;
  }
  .cc .flex .flex10,
  .cc .flex .flex15,
  .cc .flex .flex20,
  .cc .flex .flex25,
  .cc .flex .flex30,
  .cc .flex .flex33,
  .cc .flex .flex40,
  .cc .flex .flex50,
  .cc .flex .flex60,
  .cc .flex .flex66,
  .cc .flex .flex70,
  .cc .flex .flex80,
  .cc .flex .flex90 {
    width: 100% !important;
  }
}
.cc .flex.justify-center {
  justify-content: center;
}
.cc .flex .center-align {
  align-self: center;
}
.cc .flex .flex10 > div.insert,
.cc .flex .flex15 > div.insert,
.cc .flex .flex20 > div.insert,
.cc .flex .flex25 > div.insert,
.cc .flex .flex30 > div.insert,
.cc .flex .flex33 > div.insert,
.cc .flex .flex40 > div.insert,
.cc .flex .flex50 > div.insert,
.cc .flex .flex60 > div.insert,
.cc .flex .flex66 > div.insert,
.cc .flex .flex70 > div.insert,
.cc .flex .flex80 > div.insert,
.cc .flex .flex90 > div.insert {
  width: 94%;
}
@media only screen and (max-width: 768px) {
  .cc .flex .flex10 > div.insert,
  .cc .flex .flex15 > div.insert,
  .cc .flex .flex20 > div.insert,
  .cc .flex .flex25 > div.insert,
  .cc .flex .flex30 > div.insert,
  .cc .flex .flex33 > div.insert,
  .cc .flex .flex40 > div.insert,
  .cc .flex .flex50 > div.insert,
  .cc .flex .flex60 > div.insert,
  .cc .flex .flex66 > div.insert,
  .cc .flex .flex70 > div.insert,
  .cc .flex .flex80 > div.insert,
  .cc .flex .flex90 > div.insert {
    width: 100%;
    /*px*/ margin-top: 10px;
    /*rem*/ margin-top: 0.625rem;
  }
}
@media only screen and (max-width: 768px) {
  .cc .flex .flex10.padding-left,
  .cc .flex .flex15.padding-left,
  .cc .flex .flex20.padding-left,
  .cc .flex .flex25.padding-left,
  .cc .flex .flex30.padding-left,
  .cc .flex .flex33.padding-left,
  .cc .flex .flex40.padding-left,
  .cc .flex .flex50.padding-left,
  .cc .flex .flex60.padding-left,
  .cc .flex .flex66.padding-left,
  .cc .flex .flex70.padding-left,
  .cc .flex .flex80.padding-left,
  .cc .flex .flex90.padding-left {
    padding-left: 0;
  }
}
@media only screen and (max-width: 768px) {
  .cc .flex .flex10.padding-right,
  .cc .flex .flex15.padding-right,
  .cc .flex .flex20.padding-right,
  .cc .flex .flex25.padding-right,
  .cc .flex .flex30.padding-right,
  .cc .flex .flex33.padding-right,
  .cc .flex .flex40.padding-right,
  .cc .flex .flex50.padding-right,
  .cc .flex .flex60.padding-right,
  .cc .flex .flex66.padding-right,
  .cc .flex .flex70.padding-right,
  .cc .flex .flex80.padding-right,
  .cc .flex .flex90.padding-right {
    padding-right: 0;
  }
}
.cc .flex .flex10 {
  width: 10%;
}
.cc .flex .flex15 {
  width: 15%;
}
.cc .flex .flex20 {
  width: 20%;
}
.cc .flex .flex25 {
  width: 25%;
}
.cc .flex .flex30 {
  width: 30%;
}
.cc .flex .flex33 {
  width: 33.3%;
}
.cc .flex .flex40 {
  width: 40%;
}
.cc .flex .flex50 {
  width: 50%;
}
.cc .flex .flex60 {
  width: 60%;
}
.cc .flex .flex66 {
  width: 66%;
}
.cc .flex .flex70 {
  width: 70%;
}
.cc .flex .flex80 {
  width: 80%;
}
.cc .flex .flex90 {
  width: 90%;
}
.cc .flex .flex100 {
  width: 100%;
}
.cc .inline {
  display: inline;
}
.cc .block {
  display: block;
}
.cc .inline-block {
  display: inline-block;
}
.cc p {
  color: #414141;
}
.cc .center {
  text-align: center !important;
}
.cc .center p {
  text-align: center !important;
}
.cc .left {
  text-align: left !important;
}
.cc .left p {
  text-align: left !important;
}
.cc .right {
  text-align: right !important;
}
@media only screen and (max-width: 768px) {
  .cc .right {
    text-align: left !important;
  }
}
.cc .right p {
  text-align: right !important;
}
@media only screen and (max-width: 768px) {
  .cc .right p {
    text-align: left !important;
  }
}
.cc .float-right {
  float: right;
}
@media only screen and (max-width: 768px) {
  .cc .float-right {
    float: none;
  }
}
.cc .float-left {
  float: left;
}
@media only screen and (max-width: 768px) {
  .cc .float-left {
    float: none;
  }
}
.cc .clear {
  clear: both;
}
.cc .clearR {
  clear: right;
}
.cc .clearL {
  clear: left;
}
.cc .margins {
  /*px*/ margin: 15px;
  /*rem*/ margin: 0.9375rem;
}
.cc .margin-top {
  /*px*/ margin-top: 15px;
  /*rem*/ margin-top: 0.9375rem;
}
.cc .margin-right {
  /*px*/ margin-right: 15px;
  /*rem*/ margin-right: 0.9375rem;
}
@media only screen and (max-width: 480px) {
  .cc .margin-right {
    margin-right: 0;
  }
}
.cc .margin-left {
  /*px*/ margin-left: 15px;
  /*rem*/ margin-left: 0.9375rem;
}
@media only screen and (max-width: 480px) {
  .cc .margin-left {
    margin-left: 0;
  }
}
.cc .margin-bottom {
  /*px*/ margin-bottom: 15px;
  /*rem*/ margin-bottom: 0.9375rem;
}
.cc .medium-margins {
  /*px*/ margin: 50px;
  /*rem*/ margin: 3.125rem;
}
@media only screen and (max-width: 768px) {
  .cc .medium-margins {
    /*px*/ margin: 30px;
    /*rem*/ margin: 1.875rem;
  }
}
.cc .medium-margin-top {
  /*px*/ margin-top: 50px;
  /*rem*/ margin-top: 3.125rem;
}
@media only screen and (max-width: 768px) {
  .cc .medium-margin-top {
    /*px*/ margin-top: 30px;
    /*rem*/ margin-top: 1.875rem;
  }
}
.cc .medium-margin-right {
  /*px*/ margin-right: 50px;
  /*rem*/ margin-right: 3.125rem;
}
@media only screen and (max-width: 768px) {
  .cc .medium-margin-right {
    /*px*/ margin-right: 30px;
    /*rem*/ margin-right: 1.875rem;
  }
}
@media only screen and (max-width: 480px) {
  .cc .medium-margin-right {
    margin-right: 0;
  }
}
.cc .medium-margin-left {
  /*px*/ margin-left: 50px;
  /*rem*/ margin-left: 3.125rem;
}
@media only screen and (max-width: 768px) {
  .cc .medium-margin-left {
    /*px*/ margin-left: 30px;
    /*rem*/ margin-left: 1.875rem;
  }
}
@media only screen and (max-width: 480px) {
  .cc .medium-margin-left {
    margin-left: 0;
  }
}
.cc .medium-margin-bottom {
  /*px*/ margin-bottom: 50px;
  /*rem*/ margin-bottom: 3.125rem;
}
@media only screen and (max-width: 768px) {
  .cc .medium-margin-bottom {
    /*px*/ margin-bottom: 30px;
    /*rem*/ margin-bottom: 1.875rem;
  }
}
.cc .big-margins {
  /*px*/ margin: 150px;
  /*rem*/ margin: 9.375rem;
}
@media only screen and (max-width: 992px) {
  .cc .big-margins {
    /*px*/ margin: 50px;
    /*rem*/ margin: 3.125rem;
  }
}
@media only screen and (max-width: 768px) {
  .cc .big-margins {
    /*px*/ margin: 30px;
    /*rem*/ margin: 1.875rem;
  }
}
.cc .big-margin-top {
  /*px*/ margin-top: 150px;
  /*rem*/ margin-top: 9.375rem;
}
@media only screen and (max-width: 992px) {
  .cc .big-margin-top {
    /*px*/ margin-top: 50px;
    /*rem*/ margin-top: 3.125rem;
  }
}
@media only screen and (max-width: 768px) {
  .cc .big-margin-top {
    /*px*/ margin-top: 30px;
    /*rem*/ margin-top: 1.875rem;
  }
}
.cc .big-margin-right {
  /*px*/ margin-right: 150px;
  /*rem*/ margin-right: 9.375rem;
}
@media only screen and (max-width: 992px) {
  .cc .big-margin-right {
    /*px*/ margin-right: 50px;
    /*rem*/ margin-right: 3.125rem;
  }
}
@media only screen and (max-width: 768px) {
  .cc .big-margin-right {
    /*px*/ margin-right: 30px;
    /*rem*/ margin-right: 1.875rem;
  }
}
@media only screen and (max-width: 480px) {
  .cc .big-margin-right {
    margin-right: 0;
  }
}
.cc .big-margin-left {
  /*px*/ margin-left: 150px;
  /*rem*/ margin-left: 9.375rem;
}
@media only screen and (max-width: 992px) {
  .cc .big-margin-left {
    /*px*/ margin-left: 50px;
    /*rem*/ margin-left: 3.125rem;
  }
}
@media only screen and (max-width: 768px) {
  .cc .big-margin-left {
    /*px*/ margin-left: 30px;
    /*rem*/ margin-left: 1.875rem;
  }
}
@media only screen and (max-width: 480px) {
  .cc .big-margin-left {
    margin-left: 0;
  }
}
.cc .big-margin-bottom {
  /*px*/ margin-bottom: 150px;
  /*rem*/ margin-bottom: 9.375rem;
}
@media only screen and (max-width: 992px) {
  .cc .big-margin-bottom {
    /*px*/ margin-bottom: 50px;
    /*rem*/ margin-bottom: 3.125rem;
  }
}
@media only screen and (max-width: 768px) {
  .cc .big-margin-bottom {
    /*px*/ margin-bottom: 30px;
    /*rem*/ margin-bottom: 1.875rem;
  }
}
.cc .nomargin {
  margin: 0 !important;
}
.cc .nomargin-top {
  margin-top: 0 !important;
}
.cc .nomargin-bottom {
  margin-bottom: 0 !important;
}
.cc .nomargin-right {
  margin-right: 0 !important;
}
.cc .nomargin-left {
  margin-left: 0 !important;
}
.cc .paddings {
  /*px*/ padding: 15px;
  /*rem*/ padding: 0.9375rem;
}
.cc .padding-top {
  /*px*/ padding-top: 15px;
  /*rem*/ padding-top: 0.9375rem;
}
.cc .padding-right {
  /*px*/ padding-right: 15px;
  /*rem*/ padding-right: 0.9375rem;
}
@media only screen and (max-width: 480px) {
  .cc .padding-right {
    padding-right: 0;
  }
}
.cc .padding-left {
  /*px*/ padding-left: 15px;
  /*rem*/ padding-left: 0.9375rem;
}
@media only screen and (max-width: 480px) {
  .cc .padding-left {
    padding-left: 0;
  }
}
.cc .padding-bottom {
  /*px*/ padding-bottom: 15px;
  /*rem*/ padding-bottom: 0.9375rem;
}
.cc .medium-paddings {
  /*px*/ padding: 50px;
  /*rem*/ padding: 3.125rem;
}
@media only screen and (max-width: 768px) {
  .cc .medium-paddings {
    /*px*/ padding: 30px;
    /*rem*/ padding: 1.875rem;
  }
}
.cc .medium-padding-top {
  /*px*/ padding-top: 50px;
  /*rem*/ padding-top: 3.125rem;
}
@media only screen and (max-width: 768px) {
  .cc .medium-padding-top {
    /*px*/ padding-top: 30px;
    /*rem*/ padding-top: 1.875rem;
  }
}
.cc .medium-padding-right {
  /*px*/ padding-right: 50px;
  /*rem*/ padding-right: 3.125rem;
}
@media only screen and (max-width: 768px) {
  .cc .medium-padding-right {
    /*px*/ padding-right: 30px;
    /*rem*/ padding-right: 1.875rem;
  }
}
@media only screen and (max-width: 480px) {
  .cc .medium-padding-right {
    padding-right: 0;
  }
}
.cc .medium-padding-left {
  /*px*/ padding-left: 50px;
  /*rem*/ padding-left: 3.125rem;
}
@media only screen and (max-width: 768px) {
  .cc .medium-padding-left {
    /*px*/ padding-left: 30px;
    /*rem*/ padding-left: 1.875rem;
  }
}
@media only screen and (max-width: 480px) {
  .cc .medium-padding-left {
    padding-left: 0;
  }
}
.cc .medium-padding-bottom {
  /*px*/ padding-bottom: 50px;
  /*rem*/ padding-bottom: 3.125rem;
}
@media only screen and (max-width: 768px) {
  .cc .medium-padding-bottom {
    /*px*/ padding-bottom: 30px;
    /*rem*/ padding-bottom: 1.875rem;
  }
}
.cc .big-paddings {
  /*px*/ padding: 150px;
  /*rem*/ padding: 9.375rem;
}
@media only screen and (max-width: 992px) {
  .cc .big-paddings {
    /*px*/ padding: 50px;
    /*rem*/ padding: 3.125rem;
  }
}
@media only screen and (max-width: 768px) {
  .cc .big-paddings {
    /*px*/ padding: 30px;
    /*rem*/ padding: 1.875rem;
  }
}
.cc .big-padding-top {
  /*px*/ padding-top: 150px;
  /*rem*/ padding-top: 9.375rem;
}
@media only screen and (max-width: 992px) {
  .cc .big-padding-top {
    /*px*/ padding-top: 50px;
    /*rem*/ padding-top: 3.125rem;
  }
}
@media only screen and (max-width: 768px) {
  .cc .big-padding-top {
    /*px*/ padding-top: 30px;
    /*rem*/ padding-top: 1.875rem;
  }
}
.cc .big-padding-right {
  /*px*/ padding-right: 150px;
  /*rem*/ padding-right: 9.375rem;
}
@media only screen and (max-width: 992px) {
  .cc .big-padding-right {
    /*px*/ padding-right: 50px;
    /*rem*/ padding-right: 3.125rem;
  }
}
@media only screen and (max-width: 768px) {
  .cc .big-padding-right {
    /*px*/ padding-right: 30px;
    /*rem*/ padding-right: 1.875rem;
  }
}
@media only screen and (max-width: 480px) {
  .cc .big-padding-right {
    padding-right: 0;
  }
}
.cc .big-padding-left {
  /*px*/ padding-left: 150px;
  /*rem*/ padding-left: 9.375rem;
}
@media only screen and (max-width: 992px) {
  .cc .big-padding-left {
    /*px*/ padding-left: 50px;
    /*rem*/ padding-left: 3.125rem;
  }
}
@media only screen and (max-width: 768px) {
  .cc .big-padding-left {
    /*px*/ padding-left: 30px;
    /*rem*/ padding-left: 1.875rem;
  }
}
@media only screen and (max-width: 480px) {
  .cc .big-padding-left {
    padding-left: 0;
  }
}
.cc .big-padding-bottom {
  /*px*/ padding-bottom: 150px;
  /*rem*/ padding-bottom: 9.375rem;
}
@media only screen and (max-width: 992px) {
  .cc .big-padding-bottom {
    /*px*/ padding-bottom: 50px;
    /*rem*/ padding-bottom: 3.125rem;
  }
}
@media only screen and (max-width: 768px) {
  .cc .big-padding-bottom {
    /*px*/ padding-bottom: 30px;
    /*rem*/ padding-bottom: 1.875rem;
  }
}
.cc .nopadding {
  padding: 0 !important;
}
.cc .nopadding-top {
  padding-top: 0 !important;
}
.cc .nopadding-bottom {
  padding-bottom: 0 !important;
}
.cc .nopadding-right {
  padding-right: 0 !important;
}
.cc .nopadding-left {
  padding-left: 0 !important;
}
.cc .font,
.cc .picto,
.cc .ei_card_ico {
  display: inline-block;
  color: #414141;
}
.cc .font:before,
.cc .picto:before,
.cc .ei_card_ico:before {
  /*px*/ font-size: 30px;
  /*rem*/ font-size: 1.875rem;
}
.cc .font.cross:before,
.cc .picto.cross:before,
.cc .ei_card_ico.cross:before {
  font-family: "fts_commun";
  content: "\E629";
}
.cc .font.check,
.cc .picto.check,
.cc .ei_card_ico.check {
  position: relative;
}
.cc .font.check:before,
.cc .picto.check:before,
.cc .ei_card_ico.check:before {
  content: '';
  display: block;
  width: 5px;
  height: 15px;
  border: solid #004494;
  border-width: 0 3px 3px 0;
  transform: rotate(45deg);
  position: absolute;
  top: -2px;
  left: 10px;
  z-index: 1;
}
.cc .font.check:after,
.cc .picto.check:after,
.cc .ei_card_ico.check:after {
  content: '';
  display: block;
  border: 1px solid rgba(89, 89, 89, 0.3);
  width: 20px;
  height: 20px;
  border-radius: 50%;
  -moz-border-radius: 50%;
  -webkit-border-radius: 50%;
  background: white;
}
.cc .button {
  background: #004494;
  color: #fff;
  /*px*/ padding: 10px 18px;
  /*rem*/ padding: 0.625rem 1.125rem;
  display: inline-block;
  text-decoration: none;
  cursor: pointer;
  /*px*/ border-radius: 50px;
  /*rem*/ border-radius: 3.125rem;
}
.cc .button[disabled],
.cc .button[disabled].more {
  background: #f2efed;
  border-color: #f2efed;
  color: #595959;
  cursor: default;
}
.cc .button[disabled]:hover,
.cc .button[disabled].more:hover,
.cc .button[disabled]:focus,
.cc .button[disabled].more:focus {
  background: #f2efed;
  border-color: #f2efed;
  color: #595959;
  -webkit-box-shadow: none;
  -moz-box-shadow: none;
  box-shadow: none;
}
.cc .button.more {
  font-weight: 400;
  /*px*/ padding: 10px 40px 10px 18px;
  /*rem*/ padding: 0.625rem 2.5rem 0.625rem 1.125rem;
  /*px*/ font-size: 14px;
  /*rem*/ font-size: 0.875rem;
}
.cc .button.more::after {
  right: 15px;
  background-color: #fff;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}
.cc .button.more:focus {
  color: #004494;
}
.cc .button.more:focus::after {
  background-color: #004494;
}
.cc .button:hover {
  text-decoration: none;
}
.cc .more {
  font-weight: 600;
  position: relative;
  /*px*/ font-size: 15px;
  /*rem*/ font-size: 0.9375rem;
}
.cc .more:after {
  content: "";
  background-color: #004494;
  min-width: 1.125rem;
  min-height: 1.125rem;
  position: relative;
  top: 4px;
  margin-left: 5px;
  display: inline-block;
  /*px*/ padding-left: 5px;
  /*rem*/ padding-left: 0.3125rem;
  -webkit-mask-size: 1.125rem;
  -webkit-mask-position: center;
  -webkit-mask-repeat: no-repeat;
}
.cc .more:hover,
.cc .more:focus {
  color: #0069E0;
}
.cc ul .button,
.cc ol .button {
  /*px*/ padding: 10px 20px;
  /*rem*/ padding: 0.625rem 1.25rem;
  /*px*/ margin: 10px;
  /*rem*/ margin: 0.625rem;
}
.cc .actions {
  /*px*/ margin-top: 20px;
  /*rem*/ margin-top: 1.25rem;
}
.cc a {
  -webkit-transition: all 1s ease 0s;
  -o-transition: all 1s ease 0s;
  transition: all 1s ease 0s;
  color: #004494;
}
.cc a:hover {
  color: #0069E0;
  text-decoration: underline;
}
.cc a.more {
  text-decoration: none;
}
.cc img {
  max-width: 100%;
  height: auto;
  width: 100%;
  display: block;
}
.cc .flex-logos {
  margin: 15px 0;
  display: flex;
  flex-wrap: wrap;
  gap: 15px;
}
.cc .flex-logos img {
  max-width: 250px;
}
.cc figure {
  margin: 1em 40px;
}
@media only screen and (max-width: 768px) {
  .cc figure {
    margin: 0;
  }
}
.cc figure figcaption {
  /*px*/ padding-top: 10px;
  /*rem*/ padding-top: 0.625rem;
  /*px*/ margin-top: 10px;
  /*rem*/ margin-top: 0.625rem;
}
.cc figure.border {
  border: 1px solid rgba(89, 89, 89, 0.3);
}
.cc figure.border img {
  /*px*/ padding: 20px;
  /*rem*/ padding: 1.25rem;
}
.cc figure.border figcaption {
  border-top: 1px dashed rgba(89, 89, 89, 0.3);
  /*px*/ padding: 10px 20px;
  /*rem*/ padding: 0.625rem 1.25rem;
  margin: 0;
}
.cc figure.smallimg {
  display: table;
  /*px*/ margin: 30px auto;
  /*rem*/ margin: 1.875rem auto;
  width: 300px;
}
.cc figure.smallimg img {
  margin: 0 auto;
  display: block;
  max-width: none;
}
@media only screen and (max-width: 768px) {
  .cc figure.smallimg img {
    max-width: 100%;
  }
}
.cc figure.tile.float-left {
  display: table;
  width: 300px;
}
.cc figure.tile.float-left img {
  background: #fff;
  -webkit-box-shadow: 0 5px 10px 2px rgba(0, 0, 0, 0.1);
  -moz-box-shadow: 0 5px 10px 2px rgba(0, 0, 0, 0.1);
  box-shadow: 0 5px 10px 2px rgba(0, 0, 0, 0.1);
  width: 100%;
  height: auto;
  max-width: 200px;
  margin: 0;
}
.cc figure.tile.float-left figcaption {
  /*px*/ padding: 10px 20px 20px 0;
  /*rem*/ padding: 0.625rem 1.25rem 1.25rem 0;
  /*px*/ font-size: 16px;
  /*rem*/ font-size: 1rem;
}
.cc figure.flex10,
.cc figure.flex15,
.cc figure.flex20,
.cc figure.flex25,
.cc figure.flex30,
.cc figure.flex33,
.cc figure.flex40,
.cc figure.flex50,
.cc figure.flex60,
.cc figure.flex66,
.cc figure.flex70,
.cc figure.flex80,
.cc figure.flex90 {
  margin: 0;
}
.cc iframe {
  width: 100%;
  min-height: 400px;
  margin: 0 auto;
  display: block;
}
.cc iframe[frameborder="0"] {
  min-height: 480px;
}
.cc video {
  cursor: pointer;
  max-width: 100%;
  border-radius: 25px;
  display: block;
}
@media only screen and (max-width: 768px) {
  .cc video {
    max-width: 100%;
  }
}
.cc aside.sticky + div iframe {
  width: 100%;
}
.cc aside.sticky + div video {
  max-width: 100%;
}
.cc header .actions ul {
  padding: 0;
}
.cc header .actions ul li::before {
  content: none;
}
.cc ul,
.cc ol {
  /*px*/ margin: 20px 0;
  /*rem*/ margin: 1.25rem 0;
  list-style: none;
}
.cc ul.adresse li,
.cc ol.adresse li {
  margin: 0;
}
.cc ul li,
.cc ol li {
  list-style-position: outside;
  /*px*/ margin-bottom: 10px;
  /*rem*/ margin-bottom: 0.625rem;
}
.cc ul li:last-child,
.cc ol li:last-child {
  margin-bottom: 0;
}
.cc ul li h1,
.cc ol li h1,
.cc ul li h2,
.cc ol li h2,
.cc ul li h3,
.cc ol li h3,
.cc ul li h4,
.cc ol li h4 {
  margin: 0 !important;
  display: inline;
  /*px*/ font-size: 22px;
  /*rem*/ font-size: 1.375rem;
}
@media only screen and (max-width: 768px) {
  .cc ul li h1,
  .cc ol li h1,
  .cc ul li h2,
  .cc ol li h2,
  .cc ul li h3,
  .cc ol li h3,
  .cc ul li h4,
  .cc ol li h4 {
    /*px*/ font-size: 20px;
    /*rem*/ font-size: 1.25rem;
  }
}
.cc ul > li ul li,
.cc ol > li ul li {
  list-style: none;
}
.cc ul > li ul li:before,
.cc ol > li ul li:before {
  font-weight: bold;
  display: inline-block;
  width: 1em;
  margin-left: -1em;
  color: #004494;
}
.cc ul > li:not(.svg):before {
  content: "\2022";
}
.cc ul > li.check:before {
  content: "";
}
.cc ul li.font,
.cc ul li.picto,
.cc ul li.ei_card_ico {
  display: block;
}
.cc ul ul,
.cc ul ol {
  /*px*/ margin: 10px 30px;
  /*rem*/ margin: 0.625rem 1.875rem;
  padding-left: 0;
}
.cc ul.flex span.flex10,
.cc ul.flex span.flex15,
.cc ul.flex span.flex20,
.cc ul.flex span.flex25,
.cc ul.flex span.flex30,
.cc ul.flex span.flex33,
.cc ul.flex span.flex40,
.cc ul.flex span.flex50,
.cc ul.flex span.flex60,
.cc ul.flex span.flex66,
.cc ul.flex span.flex70,
.cc ul.flex span.flex80,
.cc ul.flex span.flex90 {
  /*px*/ padding-right: 60px;
  /*rem*/ padding-right: 3.75rem;
}
@media only screen and (max-width: 768px) {
  .cc ul.flex span.flex10,
  .cc ul.flex span.flex15,
  .cc ul.flex span.flex20,
  .cc ul.flex span.flex25,
  .cc ul.flex span.flex30,
  .cc ul.flex span.flex33,
  .cc ul.flex span.flex40,
  .cc ul.flex span.flex50,
  .cc ul.flex span.flex60,
  .cc ul.flex span.flex66,
  .cc ul.flex span.flex70,
  .cc ul.flex span.flex80,
  .cc ul.flex span.flex90 {
    padding-right: 0;
  }
}
.cc ul.flex span.flex10 li,
.cc ul.flex span.flex15 li,
.cc ul.flex span.flex20 li,
.cc ul.flex span.flex25 li,
.cc ul.flex span.flex30 li,
.cc ul.flex span.flex33 li,
.cc ul.flex span.flex40 li,
.cc ul.flex span.flex50 li,
.cc ul.flex span.flex60 li,
.cc ul.flex span.flex66 li,
.cc ul.flex span.flex70 li,
.cc ul.flex span.flex80 li,
.cc ul.flex span.flex90 li {
  /*px*/ margin-bottom: 30px;
  /*rem*/ margin-bottom: 1.875rem;
}
.cc ul {
  list-style: none;
  padding-left: 0;
  /*px*/ padding-left: 40px;
  /*rem*/ padding-left: 2.5rem;
}
@media only screen and (max-width: 768px) {
  .cc ul {
    /*px*/ padding-left: 30px;
    /*rem*/ padding-left: 1.875rem;
  }
}
.cc ul > li:before {
  font-weight: bold;
  display: inline-block;
  width: 1em;
  margin-left: -1em;
  color: #004494;
}
.cc ul > li.check {
  /*px*/ padding-left: 5px;
  /*rem*/ padding-left: 0.3125rem;
}
@media only screen and (max-width: 768px) {
  .cc ul > li.check {
    /*px*/ margin-bottom: 15px;
    /*rem*/ margin-bottom: 0.9375rem;
  }
}
.cc ul > li.check:after {
  position: absolute;
  left: -30px;
  top: 0px;
}
.cc ul > li.svg [class*=ei_gly_] {
  color: #fff;
  background: #004494;
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  border-radius: 50%;
  position: absolute;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
}
.cc ul > li.svg [class*=ei_gly_]::before {
  background: #fff;
  -webkit-mask-size: 24px;
  min-width: 24px;
  min-height: 24px;
}
@media only screen and (max-width: 768px) {
  .cc ul.key-words {
    text-align: center;
    padding-left: 0;
  }
}
.cc ul.key-words li {
  /*px*/ padding-left: 50px;
  /*rem*/ padding-left: 3.125rem;
  /*px*/ margin-bottom: 40px;
  /*rem*/ margin-bottom: 2.5rem;
  position: relative;
}
@media only screen and (max-width: 768px) {
  .cc ul.key-words li {
    padding-left: 0;
    /*px*/ margin-bottom: 20px;
    /*rem*/ margin-bottom: 1.25rem;
  }
}
.cc ul.key-words li.svg [class*=ei_gly_] {
  top: 50%;
  left: -22px;
  /*px*/ padding: 12px;
  /*rem*/ padding: 0.75rem;
}
@media only screen and (max-width: 768px) {
  .cc ul.key-words li.svg [class*=ei_gly_] {
    position: relative;
    display: block;
    width: 50px;
    height: 50px;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    /*px*/ margin-bottom: 20px;
    /*rem*/ margin-bottom: 1.25rem;
  }
}
.cc ul.key-words li:last-child div {
  margin-bottom: 20%;
}
.cc ul.key-words li ul {
  /*px*/ margin: 15px 0 0;
  /*rem*/ margin: 0.9375rem 0 0;
}
.cc ul.key-words li ul li {
  /*px*/ padding-left: 0;
  /*rem*/ padding-left: 0;
  /*px*/ margin: 0 0 10px 0;
  /*rem*/ margin: 0 0 0.625rem 0;
}
.cc ul.key-words li ul li:before {
  content: "\2022";
  color: #004494;
  background: none;
  padding: 0;
  -webkit-border-radius: 0;
  -moz-border-radius: 0;
  border-radius: 0;
  /*px*/ font-size: 16px;
  /*rem*/ font-size: 1rem;
}
.cc ul.key-words li ul li:last-child {
  margin-bottom: 0;
}
.cc ul.key-words li h1,
.cc ul.key-words li h2,
.cc ul.key-words li h3,
.cc ul.key-words li h4 {
  /*px*/ padding-bottom: 15px;
  /*rem*/ padding-bottom: 0.9375rem;
}
.cc ul.key-words.secteurs-activites {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1rem;
  align-items: center;
  padding: 0;
}
@media only screen and (max-width: 768px) {
  .cc ul.key-words.secteurs-activites {
    grid-template-columns: auto;
    gap: 1rem;
  }
}
.cc ul.key-words.secteurs-activites li {
  padding-left: 70px;
}
@media only screen and (max-width: 768px) {
  .cc ul.key-words.secteurs-activites li {
    padding-left: 0;
  }
}
@media only screen and (max-width: 768px) {
  .cc ul.key-words.secteurs-activites li:nth-child(even) {
    margin-left: 0;
  }
}
.cc ul.key-words.secteurs-activites li span[class*="ei_gly_"] {
  left: 0;
}
@media only screen and (max-width: 768px) {
  .cc ul.key-words.secteurs-activites li span[class*="ei_gly_"] {
    left: 50%;
    transform: translateX(-50%);
  }
}
.cc ul.key-words.keypoint {
  column-count: 2;
  column-gap: 2.5rem;
  padding: 0 2rem;
}
@media only screen and (max-width: 768px) {
  .cc ul.key-words.keypoint {
    column-count: auto;
  }
}
.cc ul.key-words.keypoint li {
  display: flex;
  align-items: start;
  margin: 0;
  padding: 0;
  break-inside: avoid;
  gap: 0.85rem;
  margin-bottom: 1.5rem;
}
.cc ul.key-words.keypoint li .w-3 {
  min-width: 2rem;
  position: relative;
}
.cc ul.key-words.keypoint li p {
  width: 100%;
}
@media only screen and (max-width: 768px) {
  .cc ul.key-words.keypoint li {
    flex-direction: column;
    /*px*/ margin-bottom: 20px;
    /*rem*/ margin-bottom: 1.25rem;
  }
  .cc ul.key-words.keypoint li > .w-3 {
    width: 100%;
    flex-shrink: 0;
  }
}
.cc ul.key-words.keypoint li.svg [class*=ei_gly_] {
  position: relative;
  display: block;
  width: 3rem;
  height: 3rem;
  transform: none;
}
.cc ul.key-words.keypoint li:last-child {
  break-after: always;
}
.cc ul.key-words.editable {
  column-count: 1;
}
.cc ul.key-words.editable li:last-child div {
  margin-bottom: auto;
}
.cc ol {
  list-style-position: inside;
  /*px*/ padding-left: 40px;
  /*rem*/ padding-left: 2.5rem;
  counter-reset: li;
}
@media only screen and (max-width: 768px) {
  .cc ol {
    /*px*/ padding-left: 30px;
    /*rem*/ padding-left: 1.875rem;
  }
}
.cc ol > li,
.cc ol span > li {
  position: relative;
  /*px*/ margin-bottom: 16px;
  /*rem*/ margin-bottom: 1rem;
  /*px*/ padding-left: 5px;
  /*rem*/ padding-left: 0.3125rem;
  counter-increment: li;
}
@media only screen and (max-width: 768px) {
  .cc ol > li,
  .cc ol span > li {
    /*px*/ padding-left: 10px;
    /*rem*/ padding-left: 0.625rem;
  }
}
.cc ol > li:before,
.cc ol span > li:before {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  text-align: right;
  background-color: #004494;
  color: #fff;
  content: counter(li);
  margin-left: -50px;
  margin-right: 0.5em;
  direction: rtl;
  font-size: 20px;
  font-size: 1.25rem;
  font-weight: 600;
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  border-radius: 50%;
  width: 40px;
  height: 40px;
}
@media only screen and (max-width: 768px) {
  .cc ol > li:before,
  .cc ol span > li:before {
    /*px*/ font-size: 14px;
    /*rem*/ font-size: 0.875rem;
    width: 30px;
    height: 30px;
    position: absolute;
    margin-left: -42px;
  }
}
.cc ol.horizontal {
  display: flex;
  flex-wrap: wrap;
  position: relative;
  padding-left: 0;
}
@media only screen and (max-width: 992px) {
  .cc ol.horizontal {
    display: block;
  }
}
.cc ol.horizontal:before {
  content: "";
  width: 90%;
  height: 10px;
  background: #fff;
  display: block;
  position: absolute;
  /*px*/ top: 65px;
  /*rem*/ top: 4.0625rem;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  -webkit-box-shadow: 0 0px 10px 2px rgba(0, 0, 0, 0.05);
  -moz-box-shadow: 0 0px 10px 2px rgba(0, 0, 0, 0.05);
  box-shadow: 0 0px 10px 2px rgba(0, 0, 0, 0.05);
  -webkit-border-radius: 20px;
  -moz-border-radius: 20px;
  border-radius: 20px;
}
.cc ol.horizontal li {
  flex: 1;
  display: block;
  position: relative;
  /*px*/ margin: 120px 0 0 0;
  /*rem*/ margin: 7.5rem 0 0 0;
  /*px*/ padding: 10px;
  /*rem*/ padding: 0.625rem;
}
.cc ol.horizontal li:before {
  margin: 0;
  position: absolute;
  /*px*/ top: -60px;
  /*rem*/ top: -3.75rem;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  background: #fff;
  -webkit-box-shadow: 0 5px 10px 2px rgba(0, 0, 0, 0.1);
  -moz-box-shadow: 0 5px 10px 2px rgba(0, 0, 0, 0.1);
  box-shadow: 0 5px 10px 2px rgba(0, 0, 0, 0.1);
  color: #004494;
  /*px*/ font-size: 36px;
  /*rem*/ font-size: 2.25rem;
  /*px*/ padding: 34px 36px;
  /*rem*/ padding: 2.125rem 2.25rem;
  font-weight: 700;
  width: 20px;
  height: 20px;
}
.cc ol.horizontal li div {
  background: #fff;
  -webkit-box-shadow: 0 5px 10px 2px rgba(0, 0, 0, 0.1);
  -moz-box-shadow: 0 5px 10px 2px rgba(0, 0, 0, 0.1);
  box-shadow: 0 5px 10px 2px rgba(0, 0, 0, 0.1);
  /*px*/ padding: 20px;
  /*rem*/ padding: 1.25rem;
  height: 100%;
  -webkit-border-radius: 10px;
  -moz-border-radius: 10px;
  border-radius: 10px;
}
.cc ol.horizontal li div p {
  /*px*/ margin-bottom: 5px;
  /*rem*/ margin-bottom: 0.3125rem;
}
.cc ol.horizontal li div p:last-child {
  margin-bottom: 0;
}
.cc .timeline {
  max-width: 800px;
}
.cc .timeline > ul {
  display: inline-block;
  padding-left: 0;
}
.cc .timeline > ul > li:not(.svg):before {
  content: "";
}
.cc .timeline > ul > li {
  border-left: 1px dashed #004494;
  /*px*/ padding: 0 0 30px 30px;
  /*rem*/ padding: 0 0 1.875rem 1.875rem;
  /*px*/ margin-left: 200px;
  /*rem*/ margin-left: 12.5rem;
  position: relative;
}
@media only screen and (max-width: 768px) {
  .cc .timeline > ul > li {
    margin-left: 0;
  }
}
.cc .timeline > ul > li:before {
  position: absolute;
  width: 9px;
  height: 9px;
  background-color: #004494;
  border-radius: 9px;
  box-shadow: 0 0 2px 8px #fff;
  top: 0;
  left: -5px;
  margin-left: 0;
  font-weight: 400;
}
.cc .timeline > ul > li.svg [class*=ei_gly_] {
  left: -26px;
  top: 5px;
  /*px*/ padding: 6px;
  /*rem*/ padding: 0.375rem;
  border: 8px solid #fff;
}
.cc .timeline > ul > li:first-child {
  /*px*/ padding-top: 30px;
  /*rem*/ padding-top: 1.875rem;
}
.cc .timeline > ul > li:first-child:before {
  top: 35px;
}
.cc .timeline > ul > li:first-child.svg [class*=ei_gly_] {
  top: 40px;
}
.cc .timeline > ul > li:first-child > div {
  position: relative;
  top: -1px;
}
.cc .timeline > ul > li:first-child > div:first-child {
  top: 30px;
}
@media only screen and (max-width: 768px) {
  .cc .timeline > ul > li:first-child > div:first-child {
    top: -2px;
  }
}
.cc .timeline > ul > li:last-child {
  /*px*/ padding-bottom: 10px;
  /*rem*/ padding-bottom: 0.625rem;
}
.cc .timeline > ul > li > div {
  position: relative;
  top: -6px;
}
.cc .timeline > ul > li > div:first-child {
  /*px*/ font-size: 16px;
  /*rem*/ font-size: 1rem;
  color: #004494;
  position: absolute;
  width: 150px;
  left: -185px;
  top: -5px;
  text-align: right;
  font-weight: 600;
}
@media only screen and (max-width: 768px) {
  .cc .timeline > ul > li > div:first-child {
    position: relative;
    left: 0;
    text-align: left;
    /*px*/ padding-bottom: 8px;
    /*rem*/ padding-bottom: 0.5rem;
    top: -7px;
  }
}
.cc .timeline > ul > li > div h2 {
  /*px*/ font-size: 20px;
  /*rem*/ font-size: 1.25rem;
  line-height: initial;
}
.cc .timeline > ul > li > div h2:before {
  content: none !important;
}
.cc .timeline > ul > li > div h3 {
  color: #222222 !important;
  /*px*/ font-size: 16px;
  /*rem*/ font-size: 1rem;
  line-height: initial;
}
.cc .timeline > ul > li > div p {
  /*px*/ margin-top: 10px;
  /*rem*/ margin-top: 0.625rem;
  /*px*/ margin-bottom: 10px;
  /*rem*/ margin-bottom: 0.625rem;
}
.cc .timeline > ul > li > div p:first-child {
  margin-top: 0;
}
.cc .timeline > ul > li > div p small {
  display: block;
}
.cc .timeline > ul > li > div .actions {
  /*px*/ margin-top: 10px;
  /*rem*/ margin-top: 0.625rem;
}
.cc .accordion {
  box-shadow: 0 5px 10px 2px rgba(0, 0, 0, 0.1);
  background: #fff;
  border-radius: 20px;
  padding: 2.25rem 2.5rem 2.5rem;
  margin: 0 auto;
  width: 80%;
}
.cc .accordion img {
  max-width: 700px;
  margin: 20px auto;
}
.cc .accordion button {
  all: unset;
  box-sizing: border-box;
  width: 100%;
  padding: 0.9375rem;
  border-bottom: 1px solid rgba(89, 89, 89, 0.2);
  position: relative;
  cursor: pointer;
  font-weight: 700;
}
.cc .accordion button:hover,
.cc .accordion button:focus {
  box-shadow: 0 0 0 0.2rem rgba(38, 143, 255, 0.5);
  background: rgba(38, 143, 128, 0.2);
}
.cc .accordion button:focus {
  outline: 0.125rem dashed;
}
.cc .accordion button[aria-expanded="true"]::after {
  background-color: #004494;
}
.cc .accordion button:after {
  content: "";
  padding-right: 5px;
  background-color: rgba(89, 89, 89, 0.2);
  min-width: 1.125rem;
  min-height: 1.125rem;
  vertical-align: middle;
  -webkit-mask-size: 1.125rem;
  -webkit-mask-position: center;
  -webkit-mask-repeat: no-repeat;
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
}
.cc .accordion dd {
  padding: 0.9375rem;
}
.cc .key-figure > div,
.cc .key-figure .values-container {
  /*px*/ padding: 10px;
  /*rem*/ padding: 0.625rem;
}
.cc .key-figure > div > div,
.cc .key-figure .values-container > div {
  background: #fff;
  -webkit-box-shadow: 0 5px 10px 2px rgba(0, 0, 0, 0.1);
  -moz-box-shadow: 0 5px 10px 2px rgba(0, 0, 0, 0.1);
  box-shadow: 0 5px 10px 2px rgba(0, 0, 0, 0.1);
  /*px*/ padding: 20px;
  /*rem*/ padding: 1.25rem;
  height: 100%;
  display: flex;
  flex-wrap: wrap;
}
@media only screen and (max-width: 768px) {
  .cc .key-figure > div > div,
  .cc .key-figure .values-container > div {
    display: block;
  }
}
.cc .key-figure > div > div .svg::before,
.cc .key-figure .values-container > div .svg::before {
  content: "";
  background-color: #004494;
  -webkit-mask-size: 1.5rem;
  min-width: 1.5rem;
  min-height: 1.5rem;
}
.cc .key-figure > div > div p,
.cc .key-figure .values-container > div p {
  /*px*/ font-size: 15px;
  /*rem*/ font-size: 0.9375rem;
  font-weight: 700;
  margin-bottom: 0;
  max-width: calc(100% - 55px);
}
@media only screen and (max-width: 768px) {
  .cc .key-figure > div > div p,
  .cc .key-figure .values-container > div p {
    /*px*/ padding-top: 10px;
    /*rem*/ padding-top: 0.625rem;
  }
}
.cc .key-figure > div > div p.smaller,
.cc .key-figure .values-container > div p.smaller {
  font-weight: 400;
}
.cc .key-figure > div > div p strong,
.cc .key-figure .values-container > div p strong {
  /*px*/ font-size: 30px;
  /*rem*/ font-size: 1.875rem;
  display: block;
  color: #004494;
  /*px*/ margin-bottom: 3px;
  /*rem*/ margin-bottom: 0.1875rem;
}
@media only screen and (max-width: 768px) {
  .cc .key-figure > div > div p strong,
  .cc .key-figure .values-container > div p strong {
    /*px*/ font-size: 18px;
    /*rem*/ font-size: 1.125rem;
  }
}
.cc .key-figure > div > div p strong .bigger,
.cc .key-figure .values-container > div p strong .bigger {
  color: #E2001A;
  /*px*/ font-size: 30px;
  /*rem*/ font-size: 1.875rem;
}
@media only screen and (max-width: 768px) {
  .cc .key-figure > div > div p strong .bigger,
  .cc .key-figure .values-container > div p strong .bigger {
    /*px*/ font-size: 18px;
    /*rem*/ font-size: 1.125rem;
  }
}
.cc .key-figure.block {
  display: flex;
  flex-wrap: wrap;
}
@media only screen and (max-width: 768px) {
  .cc .key-figure.block {
    display: block;
  }
}
.cc .key-figure.block > div,
.cc .key-figure.block .values-container {
  flex: 33%;
}
.cc .key-figure.block > div > div,
.cc .key-figure.block .values-container > div {
  display: block;
  background: rgba(0, 68, 148, 0.05);
  -webkit-box-shadow: none;
  -moz-box-shadow: none;
  box-shadow: none;
}
.cc .key-figure.block > div > div figure,
.cc .key-figure.block .values-container > div figure {
  padding-right: 0;
  /*px*/ margin-bottom: 10px;
  /*rem*/ margin-bottom: 0.625rem;
}
.cc .key-figure.block > div > div p,
.cc .key-figure.block .values-container > div p {
  max-width: initial;
  line-height: 1.2;
}
.cc .key-figure.block > div > div .svg,
.cc .key-figure.block .values-container > div .svg {
  border: 1px solid #004494;
  -webkit-border-radius: 100%;
  -moz-border-radius: 100%;
  border-radius: 100%;
  background: none;
  position: relative;
  display: inline-block;
}
.cc .key-figure.block > div > div .svg::before,
.cc .key-figure.block .values-container > div .svg::before {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
}
.cc .accordion {
  box-shadow: 0 5px 10px 2px rgba(0, 0, 0, 0.1);
  background: #fff;
}
.cc .accordion dd img {
  max-width: 700px;
  margin: 20px auto;
}
.cc.main .body aside + div .insert {
  width: 100%;
}
.cc.main .body .insert {
  /*px*/ padding: 36px 40px 40px;
  /*rem*/ padding: 2.25rem 2.5rem 2.5rem;
  background: rgba(0, 68, 148, 0.05);
  width: 70%;
  margin: 0 auto;
}
@media only screen and (max-width: 768px) {
  .cc.main .body .insert {
    /*px*/ padding: 20px;
    /*rem*/ padding: 1.25rem;
    width: 100%;
  }
}
.cc.main .body .insert.margin-top {
  /*px*/ margin-top: 15px;
  /*rem*/ margin-top: 0.9375rem;
}
.cc.main .body .insert.margin-bottom {
  /*px*/ margin-bottom: 15px;
  /*rem*/ margin-bottom: 0.9375rem;
}
.cc.main .body .insert.border {
  border-top: 1px solid #004494;
}
.cc.main .body .insert h1,
.cc.main .body .insert h2,
.cc.main .body .insert h3,
.cc.main .body .insert h4 {
  color: #004494;
  /*px*/ margin: 0 0 10px;
  /*rem*/ margin: 0 0 0.625rem;
}
.cc.main .body .insert h1:before,
.cc.main .body .insert h2:before,
.cc.main .body .insert h3:before,
.cc.main .body .insert h4:before {
  content: none !important;
}
.cc.main .body .insert ul li:last-child {
  margin-bottom: 0;
}
.cc.main .body .insert [data-collapse] {
  padding: 0;
  border-top: 1px solid rgba(89, 89, 89, 0.2);
}
.cc.main .body .insert.flex {
  padding: 0;
}
.cc.main .body .insert.flex > figure {
  overflow: hidden;
}
.cc.main .body .insert.flex > figure img {
  height: auto;
  min-height: 100%;
  width: auto;
}
@media only screen and (max-width: 992px) {
  .cc.main .body .insert.flex > figure img {
    max-width: none;
  }
}
@media only screen and (max-width: 768px) {
  .cc.main .body .insert.flex > figure img {
    display: none;
  }
}
.cc.main .body .insert.flex > figure + div {
  /*px*/ padding: 20px;
  /*rem*/ padding: 1.25rem;
}
.cc.main .body .center .insert ul {
  padding-left: 0;
}
.cc .quote-img {
  max-width: 315px;
}
.cc blockquote {
  background: rgba(0, 68, 148, 0.05);
  border-left: 5px solid #004494;
  width: 80%;
  margin: 0 auto;
  /*px*/ padding: 20px 20px 20px 40px;
  /*rem*/ padding: 1.25rem 1.25rem 1.25rem 2.5rem;
  position: relative;
  quotes: "“" "”";
  /*px*/ margin-bottom: 20px;
  /*rem*/ margin-bottom: 1.25rem;
}
@media only screen and (max-width: 480px) {
  .cc blockquote {
    width: 100%;
  }
}
.cc blockquote:before {
  content: open-quote;
  color: #004494;
  /*px*/ font-size: 50px;
  /*rem*/ font-size: 3.125rem;
  position: absolute;
  top: 0;
  left: 15px;
}
.cc blockquote.flex {
  align-items: center;
}
@media only screen and (max-width: 768px) {
  .cc blockquote.flex {
    display: flex;
  }
}
@media only screen and (max-width: 480px) {
  .cc blockquote.flex {
    display: block;
  }
}
.cc blockquote.flex > div:first-child {
  width: 20%;
}
@media only screen and (max-width: 480px) {
  .cc blockquote.flex > div:first-child {
    width: 100%;
  }
}
.cc blockquote.flex > div:last-child {
  width: 70%;
  /*px*/ padding-left: 40px;
  /*rem*/ padding-left: 2.5rem;
}
@media only screen and (max-width: 480px) {
  .cc blockquote.flex > div:last-child {
    /*px*/ margin-top: 15px;
    /*rem*/ margin-top: 0.9375rem;
    width: 100%;
    padding-left: 0;
  }
}
.cc blockquote.flex > div img {
  max-width: 80px;
  border-radius: 50%;
  display: block;
  margin: 0 auto;
}
.cc blockquote.flex > div cite {
  /*px*/ margin-top: 10px;
  /*rem*/ margin-top: 0.625rem;
  text-align: center;
  display: block;
  font-style: initial;
}
.cc blockquote.flex > div cite strong {
  display: block;
}
.cc blockquote p {
  /*px*/ font-size: 16px;
  /*rem*/ font-size: 1rem;
  /*px*/ line-height: 24px;
  /*rem*/ line-height: 1.5rem;
  font-style: italic;
}
.cc blockquote p cite {
  display: block;
  font-style: initial;
  /*px*/ font-size: 14px;
  /*rem*/ font-size: 0.875rem;
  text-transform: uppercase;
  /*px*/ margin-top: 20px;
  /*rem*/ margin-top: 1.25rem;
  text-align: right;
}
.cc blockquote p cite strong {
  display: block;
  text-transform: initial;
}
.cc [data-collapse] {
  /*px*/ padding: 0 30px;
  /*rem*/ padding: 0 1.875rem;
}
@media only screen and (max-width: 768px) {
  .cc [data-collapse] {
    padding: 0;
  }
}
.cc [data-collapse] [role="tabpanel"][aria-hidden="false"] {
  display: block;
}
.cc [data-collapse] [role="tabpanel"][aria-hidden="true"] {
  display: none;
}
.cc [data-collapse][role="tablist"] [role="tab"][data-collapsed] {
  cursor: pointer;
  /*px*/ padding: 15px;
  /*rem*/ padding: 0.9375rem;
  font-weight: 700;
  border-bottom: 1px solid rgba(89, 89, 89, 0.2);
  position: relative;
}
.cc [data-collapse][role="tablist"] [role="tab"][data-collapsed]:after {
  content: "";
  padding-right: 5px;
  background-color: rgba(89, 89, 89, 0.2);
  min-width: 1.125rem;
  min-height: 1.125rem;
  vertical-align: middle;
  -webkit-mask-size: 1.125rem;
  -webkit-mask-position: center;
  -webkit-mask-repeat: no-repeat;
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
}
.cc [data-collapse][role="tablist"] [role="tab"][data-collapsed] + dd {
  /*px*/ padding: 15px;
  /*rem*/ padding: 0.9375rem;
}
@media only screen and (max-width: 768px) {
  .cc [data-collapse][role="tablist"] [role="tab"][data-collapsed] + dd {
    /*px*/ padding: 15px;
    /*rem*/ padding: 0.9375rem;
  }
}
.cc [data-collapse][role="tablist"] [role="tab"][data-collapsed] + dd p:last-child {
  margin-bottom: 0;
}
.cc [data-collapse][role="tablist"] [role="tab"][data-collapsed] + dd dl dd {
  background: #fff;
}
.cc [data-collapse][role="tablist"] [role="tab"][data-collapsed="yes"] + dd {
  display: none;
}
.cc [data-collapse][role="tablist"] [role="tab"][data-collapsed="no"]:after {
  content: "";
  background-color: #004494;
  min-width: 1.125rem;
  min-height: 1.125rem;
  vertical-align: middle;
  -webkit-mask-size: 1.125rem;
  -webkit-mask-position: center;
  -webkit-mask-repeat: no-repeat;
}
.cc [data-collapse][role="tablist"] [role="tab"][data-collapsed="no"] + dd {
  display: block;
}
.cc [data-collapse][role="tablist"] [role="tab"]:hover,
.cc [data-collapse][role="tablist"] [role="tab"]:focus {
  box-shadow: 0 0 0 0.2rem rgba(38, 143, 255, 0.5);
  background: rgba(38, 143, 128, 0.2);
}
.cc.main article header {
  /*px*/ padding: 40px;
  /*rem*/ padding: 2.5rem;
  margin: 0 auto;
  max-width: 1280px;
}
@media only screen and (max-width: 768px) {
  .cc.main article header {
    /*px*/ padding: 25px;
    /*rem*/ padding: 1.5625rem;
  }
}
.cc.main article header h1 {
  /*px*/ margin: 0 0 15px;
  /*rem*/ margin: 0 0 0.9375rem;
}
.cc.main article header p {
  margin: 0;
}
.cc.main article header div.img img {
  display: block;
  max-width: 100%;
  height: auto;
}
.cc.main article header .banner h1 {
  margin: 0;
  color: #004494;
}
.cc.main article header .banner a.cat {
  color: #fff;
}
.cc.main article header .banner a.cat:hover {
  font-weight: 600;
}
.cc.main article header .banner a.cat:focus {
  color: #E2001A;
}
.cc.main article header .banner .actions {
  /*px*/ margin: 25px 0 0 0;
  /*rem*/ margin: 1.5625rem 0 0 0;
}
@media only screen and (max-width: 992px) {
  .cc.main article header .banner .actions {
    /*px*/ margin: 15px 0 0 0;
    /*rem*/ margin: 0.9375rem 0 0 0;
  }
}
@media only screen and (max-width: 480px) {
  .cc.main article header .banner .actions {
    text-align: center;
  }
}
.cc.main article header .banner .actions .button.more {
  /*px*/ padding: 13px 40px 13px 18px;
  /*rem*/ padding: 0.8125rem 2.5rem 0.8125rem 1.125rem;
}
@media only screen and (max-width: 480px) {
  .cc.main article header .banner .actions .button.more {
    /*px*/ padding: 10px 20px;
    /*rem*/ padding: 0.625rem 1.25rem;
  }
}
@media only screen and (max-width: 480px) {
  .cc.main article header .banner .actions .button.more:after {
    content: none;
  }
}
.cc.main article header.hero {
  position: relative;
  padding: 0;
  max-width: none;
  background: transparent;
}
.cc.main article header.hero div.img {
  position: relative;
}
.cc.main article header.hero div.img img {
  display: block;
  max-width: 100%;
  height: auto;
  width: 100%;
}
.cc.main article header.hero div.banner {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  text-align: left;
  color: #fff;
  /*px*/ padding: 0 30px;
  /*rem*/ padding: 0 1.875rem;
  margin: 0 auto;
  max-width: 1280px;
}
@media only screen and (max-width: 768px) {
  .cc.main article header.hero div.banner {
    position: static;
    -webkit-transform: initial;
    transform: initial;
    color: #414141;
    text-align: left;
    /*px*/ padding: 10px 20px 5px;
    /*rem*/ padding: 0.625rem 1.25rem 0.3125rem;
  }
}
.cc.main article header.hero div.banner h1 {
  color: #fff;
}
@media only screen and (max-width: 768px) {
  .cc.main article header.hero div.banner h1 {
    color: #004494;
  }
}
.cc.main article header.hero div.banner p {
  color: #fff;
}
@media only screen and (max-width: 992px) {
  .cc.main article header.hero div.banner p {
    /*px*/ font-size: 16px;
    /*rem*/ font-size: 1rem;
  }
}
@media only screen and (max-width: 768px) {
  .cc.main article header.hero div.banner p {
    color: #595959;
  }
}
.cc.main article header.hero div.banner .actions a:focus {
  border-color: #fff;
  color: #fff;
  background: transparent;
}
.cc.main article header.hero div.banner .actions a:focus::after {
  background-color: #fff;
}
.cc.main article footer {
  /*px*/ padding: 40px;
  /*rem*/ padding: 2.5rem;
  margin: 0 auto;
  max-width: 1180px;
}
@media only screen and (max-width: 768px) {
  .cc.main article footer {
    /*px*/ padding: 20px;
    /*rem*/ padding: 1.25rem;
  }
}
.cc.main article footer h1,
.cc.main article footer h2,
.cc.main article footer h3,
.cc.main article footer h4,
.cc.main article footer h5,
.cc.main article footer p,
.cc.main article footer li {
  font-style: italic;
}
.cc.main article .body {
  background: #fff;
}
.cc.main article .body h2 {
  /*px*/ margin: 15px 0 45px;
  /*rem*/ margin: 0.9375rem 0 2.8125rem;
  position: relative;
}
@media only screen and (max-width: 992px) {
  .cc.main article .body h2 {
    /*px*/ margin: 0 0 15px;
    /*rem*/ margin: 0 0 0.9375rem;
  }
}
.cc.main article .body h3 {
  /*px*/ margin: 15px 0;
  /*rem*/ margin: 0.9375rem 0;
}
.cc.main article .body h4 {
  /*px*/ margin: 15px 0;
  /*rem*/ margin: 0.9375rem 0;
}
.cc.main article .body.flex {
  /*px*/ padding: 40px;
  /*rem*/ padding: 2.5rem;
  margin: 0 auto;
  max-width: 1280px;
}
@media only screen and (max-width: 992px) {
  .cc.main article .body.flex {
    /*px*/ padding: 30px;
    /*rem*/ padding: 1.875rem;
  }
}
@media only screen and (max-width: 768px) {
  .cc.main article .body.flex {
    /*px*/ padding: 20px;
    /*rem*/ padding: 1.25rem;
    display: flex;
  }
}
@media only screen and (max-width: 480px) {
  .cc.main article .body.flex {
    /*px*/ padding: 10px 20px 10px 20px;
    /*rem*/ padding: 0.625rem 1.25rem 0.625rem 1.25rem;
  }
}
.cc.main article .body > div section > div {
  /*px*/ padding: 20px 0;
  /*rem*/ padding: 1.25rem 0;
  margin: 0;
  max-width: none;
}
@media only screen and (max-width: 768px) {
  .cc.main article .body > div section > div {
    /*px*/ padding: 0 0 20px;
    /*rem*/ padding: 0 0 1.25rem;
  }
}
.cc.main article .body > div section.bg {
  background: #fff;
}
.cc.main article .body > div footer {
  /*px*/ padding: 20px 0;
  /*rem*/ padding: 1.25rem 0;
  margin: 0;
  max-width: none;
}
.cc.main article .body section.bg {
  background: rgba(0, 68, 148, 0.05);
  /*px*/ padding-bottom: 10px;
  /*rem*/ padding-bottom: 0.625rem;
}
@media only screen and (max-width: 768px) {
  .cc.main article .body section.bg {
    padding-bottom: 0;
  }
}
@media only screen and (max-width: 480px) {
  .cc.main article .body section.bg {
    background: #fff;
  }
}
.cc.main article .body section#teaser p.teaser {
  font-weight: 700;
}
.cc.main article .body section#teaser ul.teaser {
  font-weight: 700;
  padding: 0;
}
.cc.main article .body section > div {
  /*px*/ padding: 40px;
  /*rem*/ padding: 2.5rem;
  margin: 0 auto;
  max-width: 1180px;
  overflow: hidden;
}
@media only screen and (max-width: 992px) {
  .cc.main article .body section > div {
    /*px*/ padding: 30px;
    /*rem*/ padding: 1.875rem;
  }
}
@media only screen and (max-width: 768px) {
  .cc.main article .body section > div {
    /*px*/ padding: 20px;
    /*rem*/ padding: 1.25rem;
  }
}
@media only screen and (max-width: 480px) {
  .cc.main article .body section > div {
    /*px*/ padding: 10px 20px 10px 20px;
    /*rem*/ padding: 0.625rem 1.25rem 0.625rem 1.25rem;
  }
}
.cc.main article .body section > div p:last-child {
  margin-bottom: 0;
}
@media only screen and (max-width: 768px) {
  .cc.main article .body section > div > div.flex.orientation {
    display: flex;
    margin-bottom: 0;
  }
}
.cc.main article .body section > div > div.flex.orientation ol li:last-child,
.cc.main article .body section > div > div.flex.orientation ul li:last-child {
  margin-bottom: 0;
}
.cc.main article .body section > div > div.flex.orientation.orientation-droite figure {
  max-width: 520px;
}
@media (min-width: 1200px) {
  .cc.main article .body section > div > div.flex.orientation.orientation-droite figure {
    margin: 0;
  }
}
@media only screen and (max-width: 768px) {
  .cc.main article .body section > div > div.flex.orientation.orientation-droite > div.flex50 {
    padding: 0;
  }
}
.cc.main article .body section > div > div.flex.orientation.orientation-droite > div.flex50:first-child {
  /*px*/ padding-right: 30px;
  /*rem*/ padding-right: 1.875rem;
}
@media only screen and (max-width: 768px) {
  .cc.main article .body section > div > div.flex.orientation.orientation-droite > div.flex50:first-child {
    padding: 0;
  }
}
.cc.main article .body section > div > div.flex.orientation.orientation-droite > div.flex50:last-child {
  /*px*/ padding-left: 30px;
  /*rem*/ padding-left: 1.875rem;
}
@media only screen and (max-width: 768px) {
  .cc.main article .body section > div > div.flex.orientation.orientation-droite > div.flex50:last-child {
    padding: 0;
  }
}
.cc.main article .body section > div > div.flex.orientation.orientation-gauche figure {
  max-width: 520px;
}
@media (min-width: 1200px) {
  .cc.main article .body section > div > div.flex.orientation.orientation-gauche figure {
    margin: 0;
  }
}
@media only screen and (max-width: 768px) {
  .cc.main article .body section > div > div.flex.orientation.orientation-gauche > div.flex50 {
    padding: 0;
  }
}
.cc.main article .body section > div > div.flex.orientation.orientation-gauche > div.flex50:last-child {
  /*px*/ padding-left: 30px;
  /*rem*/ padding-left: 1.875rem;
}
@media only screen and (max-width: 768px) {
  .cc.main article .body section > div > div.flex.orientation.orientation-gauche > div.flex50:last-child {
    padding: 0;
  }
}
.cc.main article .body section > div > div.flex.orientation > div.flex50.center-align p {
  /*px*/ margin-bottom: 20px;
  /*rem*/ margin-bottom: 1.25rem;
}
.cc.main article .body section > div > div.flex.orientation > div.flex50.center-align p:last-child {
  margin-bottom: 0;
}
@media only screen and (max-width: 768px) {
  .cc.main article .body section > div > div.flex.orientation > .flex50 {
    order: 2;
  }
}
@media only screen and (max-width: 768px) {
  .cc.main article .body section > div > div.flex.orientation > .flex50.infos {
    order: 1;
    /*px*/ margin-bottom: 20px;
    /*rem*/ margin-bottom: 1.25rem;
  }
}
@media only screen and (max-width: 768px) {
  .cc.main article .body section .orientation > div:first-child {
    /*px*/ margin-bottom: 20px;
    /*rem*/ margin-bottom: 1.25rem;
  }
}
@media only screen and (max-width: 768px) {
  .cc.main.ctxt-list article header .banner h1,
  .cc.main.ctxt-list article header .banner .actions {
    text-align: center;
  }
}
.cc.main.ctxt-list article .body h2 {
  text-align: center;
}
.cc.main.ctxt-list article .body h2:before {
  content: none;
}
.cc.main.ctxt-list article .body .insert h1,
.cc.main.ctxt-list article .body .insert h2,
.cc.main.ctxt-list article .body .insert h3,
.cc.main.ctxt-list article .body .insert h4 {
  text-align: left;
}
.cc ul li.flex .svg {
  height: 40px;
}
.cc ul li.flex .svg:before {
  width: 40px;
  height: 40px;
}
.cc ul li.flex p {
  padding: 8px;
}
@media only screen and (max-width: 768px) {
  .cc ul li.flex p {
    padding: 0;
  }
}
.cc .flex > .insert .svg {
  justify-content: center;
  margin: 1em 40px;
  height: 70px;
}
.cc .flex > .insert .svg::before {
  width: 70px;
  height: 70px;
}
.cc .key-figure > div .svg,
.cc .key-figure .values-container .svg {
  width: 52px;
  height: 50px;
  background: rgba(0, 68, 148, 0.1);
  padding: 5px;
  padding: 0.3125rem;
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  border-radius: 5px;
  margin-bottom: 0;
  margin-right: 5px;
}
.cc .key-figure > div .svg::before,
.cc .key-figure .values-container .svg::before {
  width: 42px;
  height: 42px;
}
iframe.noborder {
  border: none;
}
/****************************************/
/********** Styles CSD 2020 ************/
/****************************************/
/* Description :                        */
/*  - Styles CSD/Core		            */
/* Responsabilité :                     */
/*  - SB        						*/
/* Historique :                         */
/*  - 13/03/2020 : création             */
/****************************************/
/****************************************/
.cc {
  /*px*/ font-size: 14px;
  /*rem*/ font-size: 0.875rem;
  /*:not(.timeline) {

		> ul,
		> ol {
			li {
				.px-to-rem(line-height, 22);

				strong.bigger {
					.px-to-rem(font-size, 36);
				}
			}


			>li {
				ul {
					li {
						&:before {
							content: "\2022";
							color: @C2;
						}
					}
				}
			}

			&.tile {

				//overflow: hidden;
				>li {
					overflow: hidden;
					-webkit-border-radius: 20px;
					-moz-border-radius: 20px;
					border-radius: 20px;

					&:nth-child(even) {
						&:before {
							.px-to-rem(right, -70);
							.px-to-rem(top, -55);
							.px-to-rem(padding, 80 80 30 30);

							@media @small {
								.px-to-rem(padding, 65 75 20 20);
							}
						}
					}

					&:nth-child(odd) {
						&:before {
							.px-to-rem(left, -10);
							.px-to-rem(top, -55);
							.px-to-rem(padding, 80 30 30 80);

							@media @small {
								.px-to-rem(padding, 65 20 20 65);
							}
						}
					}
				}
			}

		}

		> ul {

			>li {
				&:not(.svg):not(.check) {
					&:before {
						content: "\2022";
					}
				}
			}

		}

		> ol {

			>li {
				&:before {
					.px-to-rem(padding, 9 14);
					-webkit-border-radius: 50%;
					-moz-border-radius: 50%;
					border-radius: 50%;

					@media @small {
						position: absolute;
						.px-to-rem(padding, 6 13);
					}
				}
			}

		}
	}*/
}
.cc .soft {
  /*px*/ font-size: 12px;
  /*rem*/ font-size: 0.75rem;
}
.cc .teaser {
  /*px*/ font-size: 16px;
  /*rem*/ font-size: 1rem;
  /*px*/ line-height: 24px;
  /*rem*/ line-height: 1.5rem;
}
.cc .bigger {
  /*px*/ font-size: 18px;
  /*rem*/ font-size: 1.125rem;
  /*px*/ line-height: 26px;
  /*rem*/ line-height: 1.625rem;
}
.cc .smaller {
  /*px*/ font-size: 12px;
  /*rem*/ font-size: 0.75rem;
}
.cc h1 {
  /*px*/ font-size: 52px;
  /*rem*/ font-size: 3.25rem;
  line-height: 1.2;
}
@media only screen and (max-width: 1200px) {
  .cc h1 {
    /*px*/ font-size: 35px;
    /*rem*/ font-size: 2.1875rem;
  }
}
@media only screen and (max-width: 992px) {
  .cc h1 {
    /*px*/ font-size: 26px;
    /*rem*/ font-size: 1.625rem;
  }
}
.cc h2 {
  /*px*/ font-size: 32px;
  /*rem*/ font-size: 2rem;
  /*px*/ line-height: 36px;
  /*rem*/ line-height: 2.25rem;
  color: #004494;
}
@media only screen and (max-width: 992px) {
  .cc h2 {
    /*px*/ font-size: 28px;
    /*rem*/ font-size: 1.75rem;
    /*px*/ line-height: 32px;
    /*rem*/ line-height: 2rem;
  }
}
@media only screen and (max-width: 768px) {
  .cc h2 {
    /*px*/ font-size: 22px;
    /*rem*/ font-size: 1.375rem;
    /*px*/ line-height: 26px;
    /*rem*/ line-height: 1.625rem;
  }
}
.cc h3 {
  /*px*/ font-size: 26px;
  /*rem*/ font-size: 1.625rem;
  /*px*/ line-height: 30px;
  /*rem*/ line-height: 1.875rem;
}
@media only screen and (max-width: 768px) {
  .cc h3 {
    /*px*/ font-size: 20px;
    /*rem*/ font-size: 1.25rem;
    /*px*/ line-height: 24px;
    /*rem*/ line-height: 1.5rem;
  }
}
.cc h4 {
  /*px*/ font-size: 20px;
  /*rem*/ font-size: 1.25rem;
}
.cc p {
  /*px*/ font-size: 14px;
  /*rem*/ font-size: 0.875rem;
  /*px*/ line-height: 22px;
  /*rem*/ line-height: 1.375rem;
  /*px*/ margin-bottom: 20px;
  /*rem*/ margin-bottom: 1.25rem;
}
.cc .button {
  -webkit-border-radius: 50px;
  -moz-border-radius: 50px;
  border-radius: 50px;
  /*px*/ font-size: 16px;
  /*rem*/ font-size: 1rem;
  border: 2px solid #004494;
}
.cc .button:hover {
  -webkit-box-shadow: 0 5px 10px 2px rgba(0, 0, 0, 0.3);
  -moz-box-shadow: 0 5px 10px 2px rgba(0, 0, 0, 0.3);
  box-shadow: 0 5px 10px 2px rgba(0, 0, 0, 0.3);
  color: #fff;
  border-color: #0069E0;
  background: #0069E0;
}
.cc .button:focus {
  background: #0069E0;
  color: #0069E0;
  background: rgba(0, 105, 224, 0.1);
}
.cc ul li {
  /*px*/ line-height: 22px;
  /*rem*/ line-height: 1.375rem;
}
.cc ul li strong.bigger {
  /*px*/ font-size: 36px;
  /*rem*/ font-size: 2.25rem;
}
.cc dl ul {
  /*px*/ padding-left: 40px;
  /*rem*/ padding-left: 2.5rem;
}
@media only screen and (max-width: 768px) {
  .cc dl ul {
    /*px*/ padding-left: 30px;
    /*rem*/ padding-left: 1.875rem;
  }
}
.cc table.plan-action tbody th {
  background-color: #f2efed;
  padding: 0.9375rem;
  border: 1px solid #f2efed;
  text-align: left;
}
.cc table.plan-action tbody tr td:first-child {
  text-align: left;
}
.cc table caption {
  /*px*/ font-size: 20px;
  /*rem*/ font-size: 1.25rem;
}
.cc table thead th {
  background-color: #438DE0;
}
.cc table thead th:first-child {
  -webkit-border-radius: 10px 0 0 0;
  -moz-border-radius: 10px 0 0 0;
  border-radius: 10px 0 0 0;
}
.cc table thead th:last-child {
  -webkit-border-radius: 0 10px 0 0;
  -moz-border-radius: 0 10px 0 0;
  border-radius: 0 10px 0 0;
}
.cc table thead th p,
.cc table thead th li {
  /*px*/ font-size: 13px;
  /*rem*/ font-size: 0.8125rem;
}
.cc table tbody td.group {
  /*px*/ font-size: 16px;
  /*rem*/ font-size: 1rem;
}
.cc table tbody td p,
.cc table tbody td li {
  /*px*/ font-size: 13px;
  /*rem*/ font-size: 0.8125rem;
}
.cc table.two-entry thead th:nth-child(2) {
  -webkit-border-radius: 10px 0 0 0;
  -moz-border-radius: 10px 0 0 0;
  border-radius: 10px 0 0 0;
}
.cc table.doublethead thead th:first-child,
.cc table.doublethead thead th:last-child {
  -webkit-border-radius: 0;
  -moz-border-radius: 0;
  border-radius: 0;
}
.cc table.doublethead thead tr:first-child td + th {
  -webkit-border-radius: 10px 0 0 0;
  -moz-border-radius: 10px 0 0 0;
  border-radius: 10px 0 0 0;
}
.cc table.doublethead thead tr:first-child th:first-child {
  -webkit-border-radius: 10px 0 0 0;
  -moz-border-radius: 10px 0 0 0;
  border-radius: 10px 0 0 0;
}
.cc table.doublethead thead tr:first-child th:last-child {
  -webkit-border-radius: 0 10px 0 0;
  -moz-border-radius: 0 10px 0 0;
  border-radius: 0 10px 0 0;
}
.cc video {
  background-color: black;
}
.cc.main .body .insert {
  -webkit-border-radius: 20px;
  -moz-border-radius: 20px;
  border-radius: 20px;
}
.cc.main .body .insert.flex50 .banner p {
  /*px*/ font-size: 14px;
  /*rem*/ font-size: 0.875rem;
}
.cc.main .body .insert.flex33 .banner p {
  /*px*/ font-size: 14px;
  /*rem*/ font-size: 0.875rem;
}
.cc.main .body .insert > figure {
  margin: 0;
}
.cc.main .body .insert .banner p.note {
  /*px*/ font-size: 18px;
  /*rem*/ font-size: 1.125rem;
  font-weight: bold;
}
.cc.main .body .insert h1,
.cc.main .body .insert h2,
.cc.main .body .insert h3 {
  /*px*/ margin: 0 0 10px;
  /*rem*/ margin: 0 0 0.625rem;
}
@media only screen and (max-width: 768px) {
  .cc.main .body .insert h1,
  .cc.main .body .insert h2,
  .cc.main .body .insert h3 {
    /*px*/ font-size: 18px;
    /*rem*/ font-size: 1.125rem;
  }
}
.cc.main .body .insert.flex > figure img {
  -webkit-border-radius: 20px 0 0 20px;
  -moz-border-radius: 20px 0 0 20px;
  border-radius: 20px 0 0 20px;
}
.cc .banner .event .alt[data-end] p {
  margin: 0 0 15px;
}
.cc div[class="count"] {
  display: none;
}
.cc .alt {
  display: none;
  background: #004494;
  border-radius: 10px;
}
.cc .alt p {
  font-weight: 700;
  font-size: 20px;
  color: #fff;
  text-align: center;
  padding: 20px;
}
.cc .description .box-compteur,
.cc .box-compteur {
  background: #004494;
  padding-right: 10px;
  border-radius: 0 0 10px;
  margin-bottom: 20px;
  display: inline-flex;
  align-items: flex-start;
}
@media only screen and (max-width: 480px) {
  .cc .description .box-compteur,
  .cc .box-compteur {
    flex-direction: column;
    border-radius: 0;
    padding-right: 0;
    width: 100%;
  }
}
.cc .description .box-compteur p,
.cc .box-compteur p {
  color: #fff;
}
.cc .description .box-compteur .annonce,
.cc .box-compteur .annonce {
  padding: 0 10px;
  width: 30%;
}
@media only screen and (max-width: 480px) {
  .cc .description .box-compteur .annonce,
  .cc .box-compteur .annonce {
    width: 100%;
  }
}
.cc .description .box-compteur .annonce p,
.cc .box-compteur .annonce p {
  margin: 15px 0 0;
}
.cc .description .box-compteur .count-container,
.cc .box-compteur .count-container {
  display: flex;
  width: 70%;
}
@media only screen and (max-width: 480px) {
  .cc .description .box-compteur .count-container,
  .cc .box-compteur .count-container {
    width: 100%;
  }
}
.cc .description .box-compteur .count-container .item,
.cc .box-compteur .count-container .item {
  padding: 10px 10px 0;
  width: 25%;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.cc .description .box-compteur .count-container .item .teaser,
.cc .box-compteur .count-container .item .teaser {
  color: #004494;
  background: #fff;
  padding: 7px;
  font-weight: 700;
  border-radius: 5px;
  text-align: center;
  width: 100%;
}
.cc .description .box-compteur .count-container .item p,
.cc .box-compteur .count-container .item p {
  font-size: 12px;
  margin: 0;
  text-align: center;
}
.cc blockquote {
  border-radius: 0 20px 20px 0;
}
.cc .key-figure > div > div,
.cc .key-figure .values-container > div {
  -webkit-border-radius: 10px;
  -moz-border-radius: 10px;
  border-radius: 10px;
}
.cc .resume p,
.cc .resume ul {
  /*px*/ font-size: 16px;
  /*rem*/ font-size: 1rem;
  /*px*/ line-height: 26px;
  /*rem*/ line-height: 1.625rem;
}
@media only screen and (max-width: 768px) {
  .cc .resume p,
  .cc .resume ul {
    /*px*/ font-size: 14px;
    /*rem*/ font-size: 0.875rem;
    /*px*/ line-height: 22px;
    /*rem*/ line-height: 1.375rem;
  }
}
.cc .resume p.teaser,
.cc .resume ul.teaser {
  /*px*/ font-size: 20px;
  /*rem*/ font-size: 1.25rem;
}
@media only screen and (max-width: 768px) {
  .cc .resume p.teaser,
  .cc .resume ul.teaser {
    /*px*/ font-size: 18px;
    /*rem*/ font-size: 1.125rem;
    /*px*/ line-height: 26px;
    /*rem*/ line-height: 1.625rem;
  }
}
.cc .resume .insert p {
  /*px*/ font-size: 16px;
  /*rem*/ font-size: 1rem;
}
.cc .entity > div {
  -webkit-border-radius: 10px;
  -moz-border-radius: 10px;
  border-radius: 10px;
}
.cc [data-slider="yes"] {
  -webkit-border-radius: 20px;
  -moz-border-radius: 20px;
  border-radius: 20px;
}
.cc .slider h2:before {
  content: none !important;
}
.cc .slider-buttons button {
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  border-radius: 5px;
}
.cc .team > div {
  -webkit-border-radius: 20px;
  -moz-border-radius: 20px;
  border-radius: 20px;
}
.cc .team > div figure img {
  -webkit-border-radius: 20px;
  -moz-border-radius: 20px;
  border-radius: 20px;
}
@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
  .cc .team > div figure img {
    width: calc(100% - 2px) !important;
    margin: 1px;
  }
}
.cc .team > div .banner {
  -webkit-border-radius: 0 0 20px 20px;
  -moz-border-radius: 0 0 20px 20px;
  border-radius: 0 0 20px 20px;
}
.cc .team > div .banner p {
  /*px*/ font-size: 14px;
  /*rem*/ font-size: 0.875rem;
}
.cc .team > div .banner p strong {
  /*px*/ font-size: 16px;
  /*rem*/ font-size: 1rem;
}
.cc .team > div .banner p.soft {
  /*px*/ font-size: 12px;
  /*rem*/ font-size: 0.75rem;
}
.cc ul.tabs li a {
  /*px*/ font-size: 15px;
  /*rem*/ font-size: 0.9375rem;
}
.cc.main article header p {
  /*px*/ font-size: 22px;
  /*rem*/ font-size: 1.375rem;
}
.cc.main article header .banner p {
  /*px*/ font-size: 20px;
  /*rem*/ font-size: 1.25rem;
  /*px*/ line-height: 24px;
  /*rem*/ line-height: 1.5rem;
  /*px*/ margin: 15px 0 0 0;
  /*rem*/ margin: 0.9375rem 0 0 0;
}
@media only screen and (max-width: 992px) {
  .cc.main article header .banner p {
    /*px*/ font-size: 18px;
    /*rem*/ font-size: 1.125rem;
    /*px*/ line-height: 22px;
    /*rem*/ line-height: 1.375rem;
    /*px*/ margin: 10px 0 0 0;
    /*rem*/ margin: 0.625rem 0 0 0;
  }
}
@media only screen and (max-width: 768px) {
  .cc.main article header .banner p {
    /*px*/ font-size: 14px;
    /*rem*/ font-size: 0.875rem;
    /*px*/ margin: 5px 0 0 0;
    /*rem*/ margin: 0.3125rem 0 0 0;
    /*px*/ line-height: 20px;
    /*rem*/ line-height: 1.25rem;
  }
}
.cc.main article header .banner p.surtitle {
  /*px*/ font-size: 18px;
  /*rem*/ font-size: 1.125rem;
  font-weight: 600;
}
@media only screen and (max-width: 768px) {
  .cc.main article header .banner p.surtitle {
    /*px*/ font-size: 16px;
    /*rem*/ font-size: 1rem;
  }
}
@media only screen and (max-width: 480px) {
  .cc.main article header .banner .actions .button.more {
    /*px*/ font-size: 14px;
    /*rem*/ font-size: 0.875rem;
  }
}
.cc.main article header.hero div.img:before {
  background: rgba(65, 65, 65, 0.7);
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
  content: "";
}
.cc.main article header.hero div.banner .actions a {
  /*px*/ font-size: 16px;
  /*rem*/ font-size: 1rem;
}
.cc.main article .body h2 {
  color: #004494;
}
.cc.main article .body h2:before {
  content: "";
  background: #E2001A;
  display: block;
  height: 4px;
  width: 30px;
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  border-radius: 5px;
  position: absolute;
  /*px*/ top: 30px;
  /*rem*/ top: 1.875rem;
  /*px*/ left: -45px;
  /*rem*/ left: -2.8125rem;
}
@media only screen and (max-width: 992px) {
  .cc.main article .body h2:before {
    width: 20px;
    /*px*/ left: -24px;
    /*rem*/ left: -1.5rem;
    /*px*/ top: 23px;
    /*rem*/ top: 1.4375rem;
  }
}
@media only screen and (max-width: 768px) {
  .cc.main article .body h2:before {
    width: 30px;
    /*px*/ top: 18px;
    /*rem*/ top: 1.125rem;
    /*px*/ left: -35px;
    /*rem*/ left: -2.1875rem;
  }
}
.cc.main article .body h2.center:before {
  content: none;
}
@media only screen and (max-width: 768px) {
  .cc.main article .body h2.center {
    text-align: left !important;
  }
  .cc.main article .body h2.center:before {
    content: "";
    background: #E2001A;
    display: block;
    height: 4px;
    width: 30px;
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    border-radius: 5px;
    position: absolute;
    /*px*/ top: 18px;
    /*rem*/ top: 1.125rem;
    /*px*/ left: -35px;
    /*rem*/ left: -2.1875rem;
  }
}
.cc.main article .body h3 {
  color: #004494;
}
.cc.main article .body section#teaser p,
.cc.main article .body section#teaser ul {
  /*px*/ font-size: 16px;
  /*rem*/ font-size: 1rem;
  /*px*/ line-height: 26px;
  /*rem*/ line-height: 1.625rem;
}
@media only screen and (max-width: 768px) {
  .cc.main article .body section#teaser p,
  .cc.main article .body section#teaser ul {
    /*px*/ font-size: 14px;
    /*rem*/ font-size: 0.875rem;
    /*px*/ line-height: 22px;
    /*rem*/ line-height: 1.375rem;
  }
}
.cc.main article .body section#teaser p.teaser,
.cc.main article .body section#teaser ul.teaser {
  /*px*/ font-size: 20px;
  /*rem*/ font-size: 1.25rem;
}
@media only screen and (max-width: 768px) {
  .cc.main article .body section#teaser p.teaser,
  .cc.main article .body section#teaser ul.teaser {
    /*px*/ font-size: 18px;
    /*rem*/ font-size: 1.125rem;
    /*px*/ line-height: 26px;
    /*rem*/ line-height: 1.625rem;
  }
}
.cc.main article .body section#teaser .insert p {
  /*px*/ font-size: 16px;
  /*rem*/ font-size: 1rem;
}
.cc.main article .body section .orientation .flex50 > figure img {
  -webkit-border-radius: 10px;
  -moz-border-radius: 10px;
  border-radius: 10px;
}
.cc.main article .body aside.sticky nav {
  /*px*/ top: 100px;
  /*rem*/ top: 6.25rem;
}
.cc.main article .body aside.sidebar .insert.button-insert > a.button {
  border-radius: 20px;
}
.cc.main article .body aside.sidebar .insert > figure img {
  border-radius: 20px 20px 0 0;
}
.cc.main.ctxt-list article .content-with-sidebar > .sidebar .insert {
  border-radius: 20px;
}
.cc.main.ctxt-list article .content-with-sidebar > .sidebar .insert.button-insert > a.button {
  border-radius: 20px;
}
.cc.main.ctxt-list article .content-with-sidebar > .sidebar .insert > figure img {
  border-radius: 20px 20px 0 0;
}
.cc.main.ctxt-list article .tiles #filters > ul li a {
  /*px*/ font-size: 18px;
  /*rem*/ font-size: 1.125rem;
}
@media only screen and (max-width: 992px) {
  .cc.main.ctxt-list article .tiles #filters > ul li a {
    /*px*/ font-size: 16px;
    /*rem*/ font-size: 1rem;
  }
}
@media only screen and (max-width: 768px) {
  .cc.main.ctxt-list article .tiles #filters > ul li a {
    /*px*/ font-size: 14px;
    /*rem*/ font-size: 0.875rem;
  }
}
.cc.main.ctxt-list article .body h2:before {
  content: none;
}
.cc .blocmsg.info {
  max-width: 1290px;
  margin: auto;
  margin-bottom: 50px;
}
.cc .blocmsg.info p {
  margin-bottom: 0;
}
.cc .adel {
  display: block;
  /*px*/ width: 225px;
  /*rem*/ width: 14.0625rem;
}
.cc img.sem {
  max-width: 350px;
}
.cc .text-blue {
  color: #0069E0;
}
.cc mark.blue {
  background-color: #004494;
  color: white;
  font-weight: bold;
  padding: 2px;
}
.cc#-CSD-EIRH-Article-Concours-de-code-Euro-Information-2025 article header.hero div.img:before {
  background: none;
}
/****************************************/
/********** Styles CSD 2020 ************ /
/****************************************/
/* Description :                        */
/*  - Styles CSD/Tiles              	*/
/* Responsabilité :                     */
/*  - SB        						*/
/* Historique :                         */
/*  - 04/03/2020 : création             */
/****************************************/
/****************************************/
.cc .tiles > div > .tile > div.tile {
  -webkit-border-radius: 20px;
  -moz-border-radius: 20px;
  border-radius: 20px;
}
.cc .tiles > div > .tile > div.tile > div .banner h1 {
  /*px*/ font-size: 22px;
  /*rem*/ font-size: 1.375rem;
}
@media only screen and (max-width: 992px) {
  .cc .tiles > div > .tile > div.tile > div .banner h1 {
    /*px*/ font-size: 20px;
    /*rem*/ font-size: 1.25rem;
  }
}
.cc .tiles > div > .tile > div.tile > div .banner h3 {
  /*px*/ font-size: 22px;
  /*rem*/ font-size: 1.375rem;
  line-height: 1.2;
}
@media only screen and (max-width: 992px) {
  .cc .tiles > div > .tile > div.tile > div .banner h3 {
    /*px*/ font-size: 20px;
    /*rem*/ font-size: 1.25rem;
  }
}
@media only screen and (max-width: 768px) {
  .cc .tiles > div > .tile > div.tile > div .actions .button {
    /*px*/ font-size: 14px;
    /*rem*/ font-size: 0.875rem;
  }
}
.cc .tiles > div > .tile > div.tile > div .actions .button:hover {
  border-color: #0069E0;
  background: #0069E0;
  color: #fff;
}
.cc .tiles > div > .tile > div.tile > div figure img {
  -webkit-border-radius: 20px 20px 0 0;
  -moz-border-radius: 20px 20px 0 0;
  border-radius: 20px 20px 0 0;
}
.cc .tiles > div > .tile > div.tile > div picture img {
  -webkit-border-radius: 20px 20px 0 0;
  -moz-border-radius: 20px 20px 0 0;
  border-radius: 20px 20px 0 0;
}
/****************************************/
/********** Styles CNCM 2019 ************/
/****************************************/
/* Description :                        */
/*  - Styles CNCM/Forms              	*/
/* Responsabilité :                     */
/*  - SB        						*/
/* Historique :                         */
/*  - 04/04/2019 : création             */
/****************************************/
/****************************************/
.cc form bloc fieldset {
  -webkit-border-radius: 10px;
  -moz-border-radius: 10px;
  border-radius: 10px;
}
.cc form legend {
  /*px*/ font-size: 16px;
  /*rem*/ font-size: 1rem;
  color: #004494;
}
.cc form .err-msg {
  /*px*/ font-size: 12px;
  /*rem*/ font-size: 0.75rem;
}
.cc form .form-group.toggle > [id^="rd"] + .form-control input:checked + label {
  background-color: #0069E0;
}
.cc form .form-group .form-control.valid input,
.cc form .form-group .form-control.valid textarea,
.cc form .form-group .form-control.valid select {
  color: #088459;
}
.cc form .form-group .form-control input {
  width: 100%;
}
.cc form .form-group .form-control input[type="radio"]:checked {
  border-color: #0069E0;
  background-color: #0069E0;
}
.cc form .form-group .form-control input[type="checkbox"]:checked {
  border-color: #0069E0;
}
.cc form .form-group .form-control input[type="radio"] + label:hover,
.cc form .form-group .form-control input[type="checkbox"] + label:hover {
  color: #0069E0;
}
/****************************************/
/********** Styles CSD 2020 ************ /
/****************************************/
/* Description :                        */
/*  - Styles CSD/Slider          	*/
/* Responsabilité :                     */
/*  - 5440        						*/
/* Historique :                         */
/*  - 20/12/2022 : création             */
/****************************************/
/****************************************/
/* Utils */
.flex-50 {
  width: 50%;
}
.transition {
  transition: transform 2.7s ease-in-out 0.5s;
}
.hidden {
  visibility: hidden;
  transition: 0.2s;
}
.row-reverse {
  flex-direction: row-reverse;
}
.row {
  flex-direction: row;
}
.justify-center {
  justify-content: center;
}
.justify-right {
  justify-content: right;
}
@media only screen and (min-device-width: 320px) and (max-device-width: 480px) {
  .banner {
    flex-direction: column;
  }
  .flex-50 {
    width: 100%;
    margin-bottom: 3rem;
  }
}
#slider-hero .slider-item[aria-hidden="true"] {
  display: flex;
}
#slider-hero .slider-item[aria-hidden="true"] a.button.more {
  display: none;
}
#slider-hero .slider-item.active a.button.more {
  display: inline-block;
}
#slider-hero .slider-item[aria-hidden="false"] a.button.more {
  display: inline-block;
}
#slider-hero .slider-item .event {
  display: flex;
  flex-direction: column;
  height: 100%;
}
#slider-hero .slider-item .event .description {
  flex-grow: 2;
}
#slider-hero .description {
  padding: 10px 20px 30px 20px;
}
#slider-hero .title,
#slider-hero .surligne {
  color: #004494;
  font-size: 1.625rem;
  line-height: 1.875rem;
  font-weight: 600;
  margin: 0 0 1.85rem;
}
@media only screen and (max-width: 576px) {
  #slider-hero .title,
  #slider-hero .surligne {
    font-size: 1.45rem;
  }
}
#slider-hero .pagination {
  margin-top: 1rem;
}
#slider-hero .pagination-bullet {
  width: calc(100%/3);
}
#slider-hero .event {
  box-shadow: none;
}
#slider-hero .overlay,
#slider-hero .overlay .img-container,
#slider-hero .overlay .img-container img {
  width: 100%;
  height: 100%;
  border-radius: 10px;
}
#slider-hero .overlay img {
  filter: saturate(0.8);
}
#slider-hero .overlay .description {
  position: absolute;
  top: 0;
  left: 0;
  display: flex;
  justify-content: center;
  width: 100%;
  height: 100%;
  background: transparent;
  border-radius: 10px;
}
#slider-hero .align-center {
  align-items: center;
}
#slider-hero .align-start {
  align-items: start;
}
#slider-hero .align-end {
  align-items: end;
}
#slider-hero .overlay h3 .surligne,
#slider-hero .overlay p .surligne {
  width: 75%;
  -webkit-box-decoration-break: clone;
  box-decoration-break: clone;
  padding: 7px;
  line-height: 40px;
}
#slider-hero .overlay .bleu h3 .surligne,
#slider-hero .overlay .bleu p .surligne {
  color: white;
  background: #004494;
  -webkit-box-decoration-break: clone;
  box-decoration-break: clone;
}
#slider-hero .overlay .blanc h3 .surligne,
#slider-hero .overlay .blanc p .surligne {
  background: rgba(255, 255, 255, 0.9);
  color: #023572;
  mix-blend-mode: normal;
  backdrop-filter: blur(10px);
  -webkit-box-decoration-break: clone;
  box-decoration-break: clone;
}
#slider-hero .overlay .blanc .clickable:hover img,
#slider-hero .overlay .blanc .clickable:focus img {
  filter: saturate(1);
}
#slider-hero .overlay .blanc .clickable:hover h3 .surligne,
#slider-hero .overlay .blanc .clickable:focus h3 .surligne,
#slider-hero .overlay .blanc .clickable:hover p .surligne,
#slider-hero .overlay .blanc .clickable:focus p .surligne {
  width: 75%;
  mix-blend-mode: normal;
  backdrop-filter: grayscale(1) blur(10px) brightness(1.5) contrast(1.5);
  transition: all 0.75s ease-in;
}
#slider-hero .overlay .bleu .clickable:hover img,
#slider-hero .overlay .bleu .clickable:focus img {
  filter: saturate(1);
}
#slider-hero .overlay .bleu .clickable:hover h3 .surligne,
#slider-hero .overlay .bleu .clickable:focus h3 .surligne,
#slider-hero .overlay .bleu .clickable:hover p .surligne,
#slider-hero .overlay .bleu .clickable:focus p .surligne {
  width: 75%;
  color: white;
  mix-blend-mode: normal;
  backdrop-filter: grayscale(1) blur(10px) brightness(1.5) contrast(1.5);
  transition: all 0.75s ease-in;
  -webkit-box-decoration-break: clone;
  box-decoration-break: clone;
}
.navigation {
  display: flex;
  justify-content: center;
  width: 100%;
  color: white;
  font-size: 12px;
}
.navigation span {
  font-size: 13px;
  padding-bottom: 10px;
}
.navigation .next,
.navigation .prev {
  appearance: none;
  cursor: pointer;
  background: none;
  border: none;
  position: absolute;
  top: 0;
  height: 100%;
}
.navigation .next {
  right: 0;
}
.navigation .prev {
  left: 0;
}
@media only screen and (max-width: 576px) {
  .navigation .next {
    right: 30px;
  }
  .navigation .prev {
    left: 30px;
  }
}
.navigation .next:before,
.navigation .prev:before {
  content: "";
  appearance: none;
  height: 2.5rem;
  width: 2.5rem;
  cursor: pointer;
  border: solid white 2px;
  background-color: #004494;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  border-radius: 100%;
}
.navigation .next:after,
.navigation .prev:after {
  content: "";
  background-color: #fff;
  min-width: 33px;
  min-height: 33px;
  -webkit-mask-size: 33px;
  -webkit-mask-position: center;
  -webkit-mask-repeat: no-repeat;
  position: absolute;
  display: inline-block;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 1;
}
.navigation .next:after {
  padding-left: 2px;
}
.navigation .prev:after {
  padding-right: 3px;
}
.navigation .next:hover:before,
.navigation .prev:hover:before,
.navigation .next:focus:before,
.navigation .prev:focus:before {
  transition: 0.2s ease-in;
  background: #0069E0;
}
.navigation .next:before:focus,
.navigation .prev:before:focus {
  transition: 0.2s ease-in;
  background: #0069E0;
}
.pagination {
  overflow: hidden;
  position: relative;
  display: flex;
  border-radius: 10px;
  border: solid white 2px;
  background: white;
}
.pagination .indicator {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  border-radius: 10px;
  background: #438DE0;
  transition: left 0.2s ease-in-out;
}
.pagination .indicator-transition {
  padding-left: 50px;
}
.pagination .pagination-bullet {
  padding: 5px;
  background: none;
  border: none;
}
.pagination .pagination-bullet:focus {
  border: solid 2px #004494;
  border-radius: 10px;
  padding: 2px;
}
.slider-wrapper {
  position: relative;
}
.slider-container {
  overflow: hidden;
  margin: auto;
  position: relative;
}
.slide-list {
  display: flex;
  flex-wrap: nowrap;
  justify-content: center;
  width: 100%;
  padding-bottom: 2rem;
}
.slider-item {
  /* base */
  justify-content: center;
  flex-direction: column;
  flex-shrink: 0;
  position: relative;
  border-radius: 10px;
  transition: 0.3s;
}
.slider-item p {
  position: absolute;
  left: 50%;
  top: 50%;
  font-size: 4rem;
  transform: translate(-50%, -50%);
  z-index: 1;
}
.slider-item img {
  width: 100%;
  object-fit: cover;
  border-radius: 10px 10px 0 0;
}
.slider-item.active {
  opacity: 1;
  visibility: visible;
  filter: brightness(1);
  transition: 0.3s;
}
.slider-item.active a {
  display: inline-block;
}
.slider-container-transition {
  transition: transform 0.3s ease-in-out;
}
.no-slide.slider-container {
  overflow: visible;
}
.no-slide .navigation {
  display: none;
}
.no-slide .pagination {
  display: none;
}
.no-slide .scrollContainer {
  display: none;
}
@media only screen and (max-width: 576px) {
  #slider-hero {
    padding: 0 2rem;
  }
  #slider-hero .slide-list {
    gap: 2rem;
  }
  #slider-hero .next {
    right: 30px;
  }
  #slider-hero .prev {
    left: 30px;
  }
}
#slider-hero.editable .slider-container {
  overflow: visible;
}
#slider-hero.editable .le-block-container[_ngcontent-prf-c101] {
  margin-bottom: 2rem;
}
#slider-hero.editable .slider-item {
  margin-bottom: 5rem;
}
#slider-hero.editable .slider-item[aria-hidden="true"] a.button.more {
  display: block;
}
#slider-hero.editable .navigation,
#slider-hero.editable .pagination {
  display: none;
}
/****************************************/
/********** Styles CSD 2020 ************/
/****************************************/
/* Description :                        */
/*  - Styles CSD/Core		            */
/* Responsabilité :                     */
/*  - SB        						*/
/* Historique :                         */
/*  - 13/03/2020 : création             */
/****************************************/
/****************************************/
.cc section div > .youtube-consent-txt {
  background: #002D61;
  border-radius: 25px;
  position: relative;
  padding: 25px;
}
.cc section div > .youtube-consent-txt p {
  color: #fff;
}
.cc dd .youtube-player,
.cc dd .player {
  /*px*/ margin: 20px 0;
  /*rem*/ margin: 1.25rem 0;
  min-height: 430px;
}
.cc .youtube-player,
.cc .player {
  position: relative;
  max-width: 880px;
  margin: 0 auto;
  min-height: 480px;
}
.cc .youtube-player img,
.cc .player img {
  position: absolute;
  top: 0;
  left: 0;
  border-radius: 25px;
}
.cc .youtube-player.tiny,
.cc .player.tiny {
  min-height: initial;
}
.cc .youtube-player.tiny img,
.cc .player.tiny img {
  position: static;
  border-radius: 0;
}
.cc .youtube-player .youtube-consent-txt,
.cc .player .youtube-consent-txt {
  background: rgba(0, 45, 97, 0.4);
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  padding: 10px;
  z-index: 10;
}
.cc .youtube-player .youtube-consent-txt .consent,
.cc .player .youtube-consent-txt .consent {
  background: rgba(0, 45, 97, 0.9);
  /*px*/ padding: 15px;
  /*rem*/ padding: 0.9375rem;
  border-radius: 25px;
  /*px*/ margin: 10px 20px;
  /*rem*/ margin: 0.625rem 1.25rem;
  border: 1px solid #fff;
  width: 100%;
}
.cc .youtube-player button,
.cc .player button {
  display: flex;
  align-items: center;
  justify-content: center;
  padding-left: 50px;
  border: 2px solid #fff;
  transition: all 1s ease 0s;
}
.cc .youtube-player button:hover,
.cc .player button:hover {
  border: 2px solid #fff;
}
.cc .youtube-player button:focus,
.cc .player button:focus {
  background: #0069E0;
  color: #fff;
  border: 2px solid #fff;
}
.cc .youtube-player button::before,
.cc .player button::before {
  content: "";
  position: relative;
  left: -20px;
  border-color: transparent transparent transparent #fff;
  border-style: solid;
  border-width: 10px 0 10px 15px;
  top: 0;
}
.cc .youtube-player button::after,
.cc .player button::after {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}
.cc .youtube-player img,
.cc .player img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  max-width: 100%;
  margin: 0 auto;
}
.cc .youtube-player .playbutton:before,
.cc .player .playbutton:before {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  display: block;
  content: '';
  width: 70px;
  height: 70px;
  background-color: #002d61;
  opacity: 0.7;
  border-radius: 50%;
  z-index: 1;
  transition: all 0.5s ease 0s;
}
.cc .youtube-player .playbutton:after,
.cc .player .playbutton:after {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  display: block;
  content: '';
  border-color: transparent transparent transparent #fff;
  border-style: solid;
  border-width: 15px 0 15px 25px;
  z-index: 2;
  transition: all 0.5s ease 0s;
}
.cc .youtube-player .lightbox:hover .playbutton:before,
.cc .player .lightbox:hover .playbutton:before,
.cc .youtube-player .lightbox:focus .playbutton:before,
.cc .player .lightbox:focus .playbutton:before {
  background-color: #fff;
}
.cc .youtube-player .lightbox:hover .playbutton:after,
.cc .player .lightbox:hover .playbutton:after,
.cc .youtube-player .lightbox:focus .playbutton:after,
.cc .player .lightbox:focus .playbutton:after {
  border-color: transparent transparent transparent #002d61;
}
#lightbox {
  z-index: 2000;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  background: #fff;
  border-radius: 15px;
  border: none;
  padding: 40px 20px 20px;
  position: fixed;
  width: 70%;
  max-height: calc(100vh - 100px);
  display: block;
}
@media screen and (max-width: 768px) {
  #lightbox {
    width: 95%;
  }
}
#lightbox.pdf {
  max-height: none;
  height: calc(100% - 200px);
}
@media screen and (max-width: 768px) {
  #lightbox.pdf {
    height: calc(100vh - 40%);
  }
}
#lightbox.pdf iframe {
  height: 100%;
  max-height: none;
}
#lightbox button#close-lightbox {
  all: unset;
  position: absolute;
  top: 5px;
  right: 25px;
  width: 30px;
  height: 30px;
  cursor: pointer;
}
#lightbox button#close-lightbox::before,
#lightbox button#close-lightbox::after {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  translate: -50% -50%;
  height: 25px;
  width: 2px;
  background-color: #004494;
  transition: all 0.3s ease-in-out;
}
#lightbox button#close-lightbox:before {
  rotate: 45deg;
}
#lightbox button#close-lightbox::after {
  rotate: -45deg;
}
#lightbox button#close-lightbox:hover::before,
#lightbox button#close-lightbox:focus::before,
#lightbox button#close-lightbox:hover::after,
#lightbox button#close-lightbox:focus::after {
  background-color: #0069E0;
  opacity: 1px solid #0069E0;
}
#lightbox button#close-lightbox:focus {
  outline: 0.125rem dashed #0069E0;
}
iframe {
  border: none;
  width: 100%;
  max-height: calc(100vh - 160px);
  aspect-ratio: 16/9;
}
#back-lightbox {
  background: #000;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1999;
  display: block;
  opacity: 0.6;
}
.cc.main article .body section#teaser .key-figure p {
  /*px*/ font-size: 14px;
  /*rem*/ font-size: 0.875rem;
  /*px*/ line-height: 20px;
  /*rem*/ line-height: 1.25rem;
}
.cc.main article .body section#teaser + #keypoints > div {
  padding-top: 0;
}
.cc.main article .body section.bg blockquote {
  background: #fff;
  -webkit-box-shadow: 0 5px 10px 2px rgba(0, 0, 0, 0.1);
  -moz-box-shadow: 0 5px 10px 2px rgba(0, 0, 0, 0.1);
  box-shadow: 0 5px 10px 2px rgba(0, 0, 0, 0.1);
}
.cc.main article .body section blockquote {
  width: 90%;
}
@media only screen and (max-width: 768px) {
  .cc.main article .body section blockquote {
    width: 100%;
  }
}
.cc.main article .body section blockquote p,
.cc.main article .body section blockquote li {
  /*px*/ font-size: 14px;
  /*rem*/ font-size: 0.875rem;
  /*px*/ line-height: 22px;
  /*rem*/ line-height: 1.375rem;
  font-style: italic;
}
.cc.main article .body section .values {
  width: 80%;
  /*px*/
  margin: 0 auto 30px;
  /*rem*/
  margin: 0 auto 1.875rem;
}
@media only screen and (max-width: 768px) {
  .cc.main article .body section .values {
    width: 100%;
  }
}
.cc.main article .body section .video {
  /*px*/ margin: 10px 0 30px;
  /*rem*/ margin: 0.625rem 0 1.875rem;
}
@media only screen and (max-width: 768px) {
  .cc.main article .body section .video {
    /*px*/ margin: 20px 0;
    /*rem*/ margin: 1.25rem 0;
  }
}
.cc.main article .body section fieldset .form-group.toggle > [id^="rd"] + .form-control label {
  /*px*/ padding-left: 40px;
  /*rem*/ padding-left: 2.5rem;
}
.cc.main article .body section fieldset .form-group.toggle > [id^="rd"] + .form-control label:last-child {
  /*px*/ padding-left: 35px;
  /*rem*/ padding-left: 2.1875rem;
}
.cc.main article .body section fieldset .form-group.toggle > [id^="rd"] + .form-control input {
  position: absolute !important;
  border: 1px solid #004494;
  width: 16px;
  height: 16px;
  clip: auto;
  box-shadow: none;
}
.cc.main article .body section fieldset .form-group.toggle > [id^="rd"] + .form-control input:checked + label {
  background-color: #0069e0;
}
.cc.main article .body section fieldset .form-group.toggle > [id^="rd"] + .form-control input#rdCivilite-M {
  left: 10px;
  top: 50%;
  margin: 0 !important;
  transform: translateY(-50%);
}
.cc.main article .body section fieldset .form-group.toggle > [id^="rd"] + .form-control input#rdCivilite-Mme {
  left: 55%;
  margin: 0 !important;
  transform: translate(-50%, -50%);
  top: 50%;
}
.cc.main article .body section fieldset .form-group.toggle > [id^="rd"] + .form-control input:focus + label {
  outline: dashed #004494;
}
.cc.main article .body section fieldset .form-group .valid input {
  color: #088459 !important;
}
.cc.main article .body section fieldset .form-group .form-control.radiobutton {
  position: relative;
}
.cc.main article .body section fieldset .form-group .form-control.radiobutton input[type="radio"]:checked {
  background-color: #000;
  border: 4px solid #fff;
}
.cc.main article .body .key-figure > div > div,
.cc.main article .body .key-figure .values-container > div {
  display: block;
}
.cc.main article .body .key-figure > div > div p,
.cc.main article .body .key-figure .values-container > div p {
  /*px*/ margin-top: 10px;
  /*rem*/ margin-top: 0.625rem;
  /*px*/ font-size: 14px;
  /*rem*/ font-size: 0.875rem;
  /*px*/ line-height: 18px;
  /*rem*/ line-height: 1.125rem;
  width: 100%;
  max-width: none;
  font-weight: initial;
}
.cc.main article .body .key-figure > div > div p strong,
.cc.main article .body .key-figure .values-container > div p strong {
  /*px*/ margin-bottom: 5px;
  /*rem*/ margin-bottom: 0.3125rem;
  /*px*/ font-size: 20px;
  /*rem*/ font-size: 1.25rem;
  /*px*/ line-height: 24px;
  /*rem*/ line-height: 1.5rem;
}
.cc.main article .body [data-collapse].insert {
  width: 80%;
}
@media only screen and (max-width: 768px) {
  .cc.main article .body [data-collapse].insert {
    width: 100%;
  }
}
.cc.main article .body [data-collapse] dd h2 {
  /*px*/ font-size: 24px;
  /*rem*/ font-size: 1.5rem;
  /*px*/ line-height: 30px;
  /*rem*/ line-height: 1.875rem;
}
.cc.main article .body [data-collapse] dd h2:before {
  content: none;
}
.cc.main article .body [data-collapse] dd h3 {
  /*px*/ font-size: 18px;
  /*rem*/ font-size: 1.125rem;
  /*px*/ line-height: 22px;
  /*rem*/ line-height: 1.375rem;
}
.cc.main article .body [data-collapse] dd h4 {
  /*px*/ font-size: 16px;
  /*rem*/ font-size: 1rem;
  /*px*/ line-height: 20px;
  /*rem*/ line-height: 1.25rem;
  color: #414141;
}
.cc.main article .body [data-collapse] .youtube-player {
  width: 100%;
}
.cc.main article .tiles > div > .tile > div.tile > div .banner {
  min-height: 90px;
}
@media only screen and (max-width: 768px) {
  .cc.main article .tiles > div > .tile > div.tile > div .banner {
    min-height: 0;
  }
}
.cc.main ol {
  /*px*/ padding-left: 70px;
  /*rem*/ padding-left: 4.375rem;
}
@media only screen and (max-width: 992px) {
  .cc.main ol {
    /*px*/ padding-left: 40px;
    /*rem*/ padding-left: 2.5rem;
  }
}
.cc.main figure.border-radius img {
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  border-radius: 5px;
}
.cc.main.ctxt-home article header {
  background-repeat: no-repeat;
  background-size: cover;
  /*px*/ padding: 50px 0;
  /*rem*/ padding: 3.125rem 0;
  max-width: 100%;
  position: relative;
  z-index: 0;
}
.cc.main.ctxt-home article header:before {
  background: rgba(0, 45, 97, 0.85);
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
  content: "";
  z-index: -1;
}
@media only screen and (min-width: 769px) and (-webkit-min-device-pixel-ratio: 2), only screen and (min-width: 769px) and (min-resolution: 192dpi) {
  .cc.main.ctxt-home article header {
    background-image: url(https://cdnwmii.e-i.com/SITW/wm/global/1.0.0/WEBA/EI/assets/articles/accueil/1.0/header-desktop-2x.webp);
  }
}
@media only screen and (min-width: 769px) and (-webkit-max-device-pixel-ratio: 1.9), only screen and (min-width: 769px) and (max-resolution: 191dpi) {
  .cc.main.ctxt-home article header {
    background-image: url(https://cdnwmii.e-i.com/SITW/wm/global/1.0.0/WEBA/EI/assets/articles/accueil/1.0/header-desktop.webp);
  }
}
@media only screen and (max-width: 768px) and (-webkit-min-device-pixel-ratio: 2), only screen and (max-width: 768px) and (min-resolution: 192dpi) {
  .cc.main.ctxt-home article header {
    padding: 20px 0;
    background-image: url(https://cdnwmii.e-i.com/SITW/wm/global/1.0.0/WEBA/EI/assets/articles/accueil/1.0/header-mobile-2x.webp);
  }
}
@media only screen and (max-width: 768px) and (-webkit-max-device-pixel-ratio: 1.9), only screen and (max-width: 768px) and (max-resolution: 191dpi) {
  .cc.main.ctxt-home article header {
    padding: 20px 0;
    background-image: url(https://cdnwmii.e-i.com/SITW/wm/global/1.0.0/WEBA/EI/assets/articles/accueil/1.0/header-mobile.webp);
  }
}
.cc.main.ctxt-home article header p {
  position: relative;
  /*px*/ font-size: 16px;
  /*rem*/ font-size: 1rem;
  color: #fff;
}
@media only screen and (max-width: 768px) {
  .cc.main.ctxt-home article header p {
    line-height: 22px;
  }
}
.cc.main.ctxt-home article header p br {
  /*px*/ margin-bottom: 15px;
  /*rem*/ margin-bottom: 0.9375rem;
}
.cc.main.ctxt-home article header div.banner {
  margin: 0 auto;
  max-width: 1180px;
  /*px*/ padding: 0 40px;
  /*rem*/ padding: 0 2.5rem;
}
@media only screen and (min-width: 992px) {
  .cc.main.ctxt-home article header div.banner {
    /*px*/ padding: 0 120px;
    /*rem*/ padding: 0 7.5rem;
  }
}
.cc.main.ctxt-home article header div.banner .youtube-consent-txt p {
  position: initial;
}
.cc.main.ctxt-home article header div.banner .actions {
  text-align: inherit;
}
.cc.main.ctxt-home article header div.banner .actions a.button {
  background-color: #fff;
  color: #004494;
  left: calc(50% - 10px);
  transform: translateX(-50%);
  position: relative;
  border: 2px solid rgba(0, 68, 148, 0.3);
}
.cc.main.ctxt-home article header div.banner .actions a.button:hover {
  background: #0069E0;
  color: #fff;
}
.cc.main.ctxt-home article header div.banner .actions a.button:focus {
  border-color: #0069E0;
  color: #0069E0;
  background: #e5f0fc;
}
.cc.main.ctxt-home article header div.banner h1 {
  width: 100%;
  position: relative;
  text-transform: uppercase;
  color: #fff;
  /*px*/ font-size: 32px;
  /*rem*/ font-size: 2rem;
  /*px*/ line-height: 36px;
  /*rem*/ line-height: 2.25rem;
  /*px*/ margin-bottom: 25px;
  /*rem*/ margin-bottom: 1.5625rem;
}
@media only screen and (max-width: 992px) {
  .cc.main.ctxt-home article header div.banner h1 {
    /*px*/ font-size: 28px;
    /*rem*/ font-size: 1.75rem;
    /*px*/ line-height: 32px;
    /*rem*/ line-height: 2rem;
  }
}
@media only screen and (max-width: 768px) {
  .cc.main.ctxt-home article header div.banner h1 {
    /*px*/ margin-bottom: 20px;
    /*rem*/ margin-bottom: 1.25rem;
  }
}
.cc.main.ctxt-home article header div.banner h3 {
  color: #fff;
}
.cc.main.ctxt-home article header div.banner .youtube-player {
  width: 100%;
}
.cc.main.ctxt-home article header div.banner .youtube-player iframe {
  min-height: 330px;
  margin: 0;
  width: 100%;
}
.cc.main.ctxt-home article header div.banner .flex .flex50:first-child {
  /*px*/ padding-right: 40px;
  /*rem*/ padding-right: 2.5rem;
  /*px*/ padding-top: 25px;
  /*rem*/ padding-top: 1.5625rem;
  /*px*/ margin-bottom: 20px;
  /*rem*/ margin-bottom: 1.25rem;
}
@media only screen and (max-width: 768px) {
  .cc.main.ctxt-home article header div.banner .flex .flex50:first-child {
    padding-right: 0;
  }
}
@media only screen and (max-width: 768px) {
  .cc.main.ctxt-home article header div.banner .flex .flex50:last-child {
    /*px*/ margin-bottom: 50px;
    /*rem*/ margin-bottom: 3.125rem;
  }
}
@media only screen and (max-width: 992px) {
  .cc.main.ctxt-home article header div.banner .flex .flex50 {
    width: 75%;
    margin: 2rem auto;
  }
}
@media 992px {
  .cc.main.ctxt-home article header div.banner .flex {
    flex-direction: column;
    align-items: center;
    justify-content: center;
  }
}
.cc.main.ctxt-home article header div.banner .event {
  position: relative;
  box-shadow: 1px 1px 70px 11px #00000038;
  transition: ease-in-out 0.5s;
  opacity: 0.95;
  border-radius: 10px 10px 0 0;
}
@media only screen and (min-width: 769px) {
  .cc.main.ctxt-home article header div.banner .event.clickable:hover img {
    transform: scale(1.2);
    -webkit-transform: scale(1.2);
    -moz-transform: scale(1.2);
    -o-transform: scale(1.2);
    -ms-transform: scale(1.2);
  }
  .cc.main.ctxt-home article header div.banner .event.clickable:hover .button {
    background: #0069E0;
  }
}
.cc.main.ctxt-home article header div.banner .event .img-container {
  overflow: hidden;
  border-radius: 10px 10px 0 0;
}
.cc.main.ctxt-home article header div.banner .event .img-container img {
  width: 100%;
  height: auto;
  aspect-ratio: 16/9;
  object-fit: cover;
  max-width: 100%;
  display: block;
  transition: ease-in-out 0.5s;
  margin-top: auto;
  border: none;
}
.cc.main.ctxt-home article header div.banner .event .date {
  position: absolute;
  top: 0;
  left: 0;
  background: #fff;
  padding: 15px;
  border-radius: 10px 0;
  max-width: 70%;
}
.cc.main.ctxt-home article header div.banner .event .description {
  background: #fff;
  padding: 20px 20px 30px 20px;
  border-radius: 0 0 10px 10px;
  position: relative;
  /*@media @small{
									padding: 15px 20px 30px 20px;
								}*/
}
.cc.main.ctxt-home article header div.banner .event .description div[data-count] {
  margin-top: -20px;
  margin-left: -20px;
  margin-right: -20px;
}
.cc.main.ctxt-home article header div.banner .event .description h3 {
  color: #004494;
  margin-bottom: 10px;
}
.cc.main.ctxt-home article header div.banner .event .description a.button.more {
  position: absolute;
  bottom: -25px;
  left: 50%;
  transform: translateX(-50%);
  border: 2px solid #fff;
  text-align: center;
}
@media only screen and (max-width: 480px) {
  .cc.main.ctxt-home article header div.banner .event .description a.button.more {
    width: 100%;
  }
}
.cc.main.ctxt-home article header div.banner .event .description a.button.more:focus {
  background: #e5f0fc;
  border: 2px solid #004494;
}
.cc.main.ctxt-home article header div.banner .video {
  position: relative;
}
.cc.main.ctxt-home article header div.banner .video video {
  max-width: 100%;
}
.cc.main.ctxt-home article header div.banner div.transcript {
  /*px*/ margin-top: 20px;
  /*rem*/ margin-top: 1.25rem;
  position: relative;
}
.cc.main.ctxt-home article header div.banner div.transcript h3 {
  /*px*/ font-size: 18px;
  /*rem*/ font-size: 1.125rem;
}
.cc.main.ctxt-home article header div.banner div.transcript p {
  /*px*/ font-size: 12px;
  /*rem*/ font-size: 0.75rem;
  /*px*/ line-height: 16px;
  /*rem*/ line-height: 1rem;
  /*px*/ margin-top: 10px;
  /*rem*/ margin-top: 0.625rem;
}
.cc.main.ctxt-home article header div.banner div.transcript p:first-child {
  /*px*/ height: 35px;
  /*rem*/ height: 2.1875rem;
  overflow: hidden;
  /*									white-space: nowrap;
									text-overflow: ellipsis; */
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}
.cc.main.ctxt-home article header div.banner div.transcript .opened p:first-child {
  display: block;
  height: auto;
  /*									white-space: normal; */
}
.cc.main.ctxt-home article header div.banner div.transcript a.more {
  color: #fff;
  /*px*/ margin-top: 10px;
  /*rem*/ margin-top: 0.625rem;
  display: block;
  aria-hidden: true;
}
.cc.main.ctxt-home article header div.banner div.transcript a.more .txtless {
  display: none;
}
.cc.main.ctxt-home article header div.banner div.transcript a.more.less .txtmore {
  display: none;
}
.cc.main.ctxt-home article header div.banner div.transcript a.more.less .txtless {
  display: inline;
}
@media only screen and (max-width: 768px) {
  .cc.main.ctxt-home article header div.banner div.transcript .morecontent {
    display: inline;
  }
}
.cc.main.ctxt-home article .body .orientation figure img {
  padding: 0;
  -webkit-border-radius: 10px;
  -moz-border-radius: 10px;
  border-radius: 10px;
}
.cc.main.ctxt-home article .body section > div h2 {
  text-align: center;
}
.cc.main.ctxt-home article .body section > div h2:before {
  content: none;
}
.all-caps {
  text-transform: uppercase;
}
