/* © Camarade Agency (camarade.agency) */
/* ======================================================== */
/* New breaking point :
  - 1600 (default:1140)
  - 1200 (default:1024)
/* ======================================================== */
:root {
  --header-height-base    : 125px;
  --header-height-shrink  : 50px;
}
/* ======================================================== */
/* wpadminbar
/* ======================================================== */
body.admin-bar .dialog-lightbox-widget { height:100vh !important }
#wpadminbar { top:-22px; opacity:0; -webkit-transition:all .3s ease; -o-transition:all .3s ease; transition:all .3s ease; }
#wpadminbar:hover { top:0; opacity:1; }
@media (max-width:767px) { #wpadminbar { top:-42px }}
/* ======================================================== */
/* Prevent floating header in editor mode
/* ======================================================== */
.elementor-html #header { position:relative !important }
/* ======================================================== */
/* header
/* ======================================================== */
#header { top:0px !important; height:var(--header-height-base); }
.shrink-nav #header { box-shadow:0 0 20px rgba(0,0,0,.05); height:var(--header-height-shrink) }
@media screen and (max-width:1200px) {
	#header { height:var(--header-height-shrink) }
}
/* ======================================================== */
/* logo
/* ======================================================== */
#logo a { width:120px; text-align:left; margin:10px 0; } /* here for custom logo img width */
#logo img { transition:max-height .3s ease-out; max-height:120px; width:auto; }
.shrink-nav #logo img { transform: scale(1); max-height:40px; }
.shrink-nav #logo a { margin:5px; width:50px; }
@media (max-width:1200px) {
  #logo a { margin:5px; width:50px; }
  #logo img { transform: scale(1); max-height:40px; }
}
/* ======================================================== */
/* Footer
/* ======================================================== */
.footer-section:hover .footer-section-title { rotate:5deg }
.footer-section-title { transition:all .3s ease }
/* ======================================================== */
/* mainnav + btn-nav
/* ======================================================== */
.shrink-nav #mainnav { background-color:#fff; }
@media (max-width:1200px) {
  #mainnav { background-color:#fff; }
}
/* ======================================================== */
/* nav
/* ======================================================== */
#nav { box-shadow:0 0 20px rgba(0,0,0,0.1) }
#nav ul.e-n-menu-heading { height:var(--header-height-shrink) }
#nav-btn-menu { display:flex; flex-direction: row-reverse; border-radius:4px 0 0 4px }
#nav-btn-menu .e-n-menu-dropdown-icon { margin-inline-start:0; margin-inline-end: var(--n-menu-dropdown-icon-gap) }
#nav-btn-search .e-n-menu-title-text,
#nav-btn-login .e-n-menu-title-text { display:none }
#nav-btn-jemesyndique { border-radius:0 4px 4px 0; background-color:var(--e-global-color-primary) }
#nav-btn-jemesyndique .e-n-menu-title-text { color:#fff }
.shrink-nav #nav { box-shadow:none }
.shrink-nav #nav .nav-content { border-radius:0 0 4px 4px }
.shrink-nav #nav-btn-jemesyndique { border-radius:0 }
@media (min-width:1200px) {
  #nav .nav-content.e-active { margin-left:-10px }
}
.shrink-nav #nav .nav-content.e-active { margin-left:0 }
@media (max-width:1200px) {
  #nav { box-shadow:none }
  #nav .e-n-menu-content.e-active .e-active {
    width:100% !important;
    left:0 !important;
    max-height:calc(100vh - 50px);
    overflow:auto;
  }
  #nav .nav-content { border-radius:0 0 4px 4px }
  #nav-btn-jemesyndique { border-radius:0 }
}
/* open/closed only on menu */
#nav-btn-search .e-n-menu-dropdown-icon-opened,
#nav-btn-search .e-n-menu-dropdown-icon-closed {
  display:none !important
}
/* when ANY item is open, restyle first and last */
#nav .e-n-menu:has(.e-n-menu-content.e-active) .e-n-menu-item:first-child .e-n-menu-title.e-click {
  border-radius: 4px 0 0 0;
}
#nav .e-n-menu:has(.e-n-menu-content.e-active) .e-n-menu-item:last-child .e-n-menu-title.e-click {
  border-radius: 0 4px 0 0;
}
/* ======================================================== */
/* Menu
/* ======================================================== */
/* icons */
.menu-item i._mi {
	width: 1.25em;
  margin:0 5px 0 0;
  line-height:normal;
  font-size:inherit;
}
.icon_only .menu-item i._mi {
	width:auto;
  margin:0;
  line-height:normal;
  font-size:inherit;
}
.icon_only .menu-item span { display:none }
/* responsive aligns */
@media (max-width:1200px) {
	.tablet_inline_list ul li { display:inline-block; margin-right:10px }
	.tablet_inline_list ul { text-align:center; }
	.tablet_center_list ul { display: flex !important; flex-direction:column; align-items:center; }
	.tablet_center_list ul a { text-align:center }
}
@media (max-width:767px) {
	.smart_inline_list ul li { display:inline-block; margin-right:10px }
	.smart_center_list ul { display: flex !important; flex-direction:column; align-items:center; }
	.smart_center_list ul a { text-align:center }
}
/* ======================================================== */
/* back-to-top
/* ======================================================== */
#back-to-top {
	z-index:2;
	opacity:0;
	display:block;
	height:45px;
	line-height:45px;
	margin:auto;
	position:fixed;
	right:10px;
	bottom:-45px;
	width: 45px;
	text-decoration:none !important;
	-webkit-transition: bottom .3s ease-out, opacity .3s ease-in;
	transition: bottom .3s ease-out, opacity .3s ease-in;
}
#back-to-top a {
	width: 45px;
	height: 45px;
	padding: 0;
	display: flex;
	justify-content: center;
	align-items: center;
}
.shrink-nav #back-to-top { opacity:1; bottom:0; }
/* ======================================================== */
/* FORM
/* ======================================================== */
/* Custom acceptation */
.elementor-field-type-acceptance label { display:none }
.acceptation {
  font-style: italic;
  line-height: 1.4em;
  display: inline-block;
  margin-top: 2px;
  font-size:small;
}
/* Custom message */
.elementor-message {
  padding: 15px;
  border-radius: 4px;
}
.elementor-message:before {
  margin-right:10px;
}
.elementor-message-success        { background:#94D1004D; }
.elementor-message-success:before { color:#94D100; }
.elementor-message-danger         { background:#d100114D; }
.elementor-message-danger:before  { color:#d10011; }
.elementor-message.elementor-message-danger:before { content:"\e900"; }
/* Custom RADIO & CHECKBOX */
form .elementor-field-option {
	position: relative;
  display: inline-flex;
  padding-right: 15px !important;
}
.elementor-form [type="radio"]:not(:checked),
.elementor-form [type="radio"]:checked,
.elementor-form [type="checkbox"]:not(:checked),
.elementor-form [type="checkbox"]:checked {
	position: absolute;
	left: 0;
	opacity: 0.01;
}
.elementor-form [type="radio"]:not(:checked) + label,
.elementor-form [type="radio"]:checked + label,
.elementor-form [type="checkbox"]:not(:checked) + label,
.elementor-form [type="checkbox"]:checked + label {
	position: relative;
	padding-left:25px;
	line-height: 1.6;
	cursor: pointer;
}
/* marker */
.elementor-form [type="radio"]:not(:checked) + label:before,
.elementor-form [type="radio"]:checked + label:before,
.elementor-form [type="checkbox"]:not(:checked) + label:before,
.elementor-form [type="checkbox"]:checked + label:before {
	content: '';
	position: absolute;
	left: 0;
	top: 0.2em;
	width: 1.2em;
	height: 1.2em;
	border: 1px solid #C8D5DC;
	background: #fff;
	border-radius: .2em;
	transition: all .275s;
}
.elementor-form [type="radio"]:not(:checked) + label:after,
.elementor-form [type="radio"]:checked + label:after,
.elementor-form [type="checkbox"]:not(:checked) + label:after,
.elementor-form [type="checkbox"]:checked + label:after {
	position: absolute;
	top: .8em;
	left: .2em;
	font-size: 1em;
	color: #E32929;
	line-height: 0;
	transition: all .2s;
}
.elementor-form [type="checkbox"]:not(:checked) + label:after,
.elementor-form [type="checkbox"]:checked + label:after {
	content: '✔';
}
.elementor-form [type="radio"]:not(:checked) + label:before,
.elementor-form [type="radio"]:checked + label:before {
	border-radius:100%;
}
.elementor-form [type="radio"]:not(:checked) + label:after,
.elementor-form [type="radio"]:checked + label:after {
  content: '●';
  font-size: 19px;
  top: 12px;
}
/* checked state */
.elementor-form [type="radio"]:not(:checked) + label:after,
.elementor-form [type="checkbox"]:not(:checked) + label:after {
	opacity: 0;
	transform: scale(0) rotate(45deg);
}
.elementor-form [type="radio"]:checked + label:after,
.elementor-form [type="checkbox"]:checked + label:after {
	opacity: 1;
	transform: scale(1) rotate(0);
}
/* focus */
.elementor-form [type="radio"]:checked:focus + label:before,
.elementor-form [type="radio"]:not(:checked):focus + label:before,
.elementor-form [type="checkbox"]:checked:focus + label:before,
.elementor-form [type="checkbox"]:not(:checked):focus + label:before {
	background: #fff;
  box-shadow: 0px 0px 0px 3px rgba(200, 213, 220, 0.5);
}
/* ======================================================== */
/* text-editor
/* ======================================================== */
.elementor-widget-text-editor .elementor-widget-container > dl,
.elementor-widget-text-editor .elementor-widget-container > ol,
.elementor-widget-text-editor .elementor-widget-container > ul { margin-block-end:1.5em }
.elementor-widget-text-editor .elementor-widget-container > h1,
.elementor-widget-text-editor .elementor-widget-container > h2,
.elementor-widget-text-editor .elementor-widget-container > h3,
.elementor-widget-text-editor .elementor-widget-container > h4,
.elementor-widget-text-editor .elementor-widget-container > h5,
.elementor-widget-text-editor .elementor-widget-container > h6 { margin-block-start:1.5em }
.elementor-widget-text-editor .elementor-widget-container > h3,
.elementor-widget-text-editor .elementor-widget-container > h4,
.elementor-widget-text-editor .elementor-widget-container > h5,
.elementor-widget-text-editor .elementor-widget-container > h6 { margin-block-end:0.5em }
.elementor-widget-text-editor .elementor-widget-container > :last-child { margin-bottom:0; margin-block-end:0; }
.elementor-widget-text-editor .elementor-widget-container > :first-child { margin-top:0; margin-block-start:0; }
/* Elementor "Columns" (Advanced tab, CSS column-count) : never let a
   heading get orphaned at the bottom of a column, split from the
   paragraph right after it — force the column break before the heading
   instead, pushing the whole heading+paragraph group to the next column */
.elementor-widget-text-editor .elementor-widget-container > h1,
.elementor-widget-text-editor .elementor-widget-container > h2,
.elementor-widget-text-editor .elementor-widget-container > h3,
.elementor-widget-text-editor .elementor-widget-container > h4,
.elementor-widget-text-editor .elementor-widget-container > h5,
.elementor-widget-text-editor .elementor-widget-container > h6 {
	break-after: avoid-column;
	-webkit-column-break-after: avoid;
	page-break-after: avoid;
}
.elementor-widget-theme-post-content > .elementor-widget-container > dl,
.elementor-widget-theme-post-content > .elementor-widget-container > ol,
.elementor-widget-theme-post-content > .elementor-widget-container > ul { margin-block-end:1.5em }
.elementor-widget-theme-post-content > .elementor-widget-container > h1,
.elementor-widget-theme-post-content > .elementor-widget-container > h2,
.elementor-widget-theme-post-content > .elementor-widget-container > h3,
.elementor-widget-theme-post-content > .elementor-widget-container > h4,
.elementor-widget-theme-post-content > .elementor-widget-container > h5,
.elementor-widget-theme-post-content > .elementor-widget-container > h6 { margin-block-start:1.5em }
.elementor-widget-theme-post-content > .elementor-widget-container > :last-child { margin-bottom:0 }
.elementor-widget-theme-post-content > .elementor-widget-container > :first-child { margin-top:0 }
.elementor-widget-theme-post-content > .elementor-widget-container > h1,
.elementor-widget-theme-post-content > .elementor-widget-container > h2,
.elementor-widget-theme-post-content > .elementor-widget-container > h3,
.elementor-widget-theme-post-content > .elementor-widget-container > h4,
.elementor-widget-theme-post-content > .elementor-widget-container > h5,
.elementor-widget-theme-post-content > .elementor-widget-container > h6 {
	break-after: avoid-column;
	-webkit-column-break-after: avoid;
	page-break-after: avoid;
}
.elementor-widget-text-editor .elementor-drop-cap { font-size:inherit }
.elementor-widget-text-editor .elementor-widget-container .boxed {
  padding:5px 10px;
  border:2px solid var(--e-global-color-primary);
  color:var(--e-global-color-primary);
  font-weight:bold;
}
.elementor-widget-text-editor .elementor-widget-container .boxed .elementor-drop-cap {
  margin-block-start:0;
  margin-block-end:0;
}
.elementor-widget-text-editor .main-title {
  color:var(--e-global-color-primary);
  text-transform:uppercase;
}
.elementor-widget-text-editor .main-title small {
  color:var(--e-global-color-text);
  display: block;
}
.elementor-widget-text-editor .box-title {
  position: relative;
}
.elementor-widget-text-editor .box-title small {
  color:var(--e-global-color-primary);
  display: block;
}
.elementor-widget-text-editor .box-title .icon {
  position: absolute;
  color:var(--e-global-color-primary);
  top:3px;
}
.elementor-widget-text-editor h2.box-title { margin-left:40px }
.elementor-widget-text-editor h2.box-title .icon { left:-40px }
.elementor-widget-text-editor h3.box-title { margin-left:30px }
.elementor-widget-text-editor h3.box-title .icon { left:-30px }
/* ======================================================== */
/* LIST
/* ======================================================== */
/* unlist */
.unlist { padding:0 }
.unlist	li { list-style:none; margin:10px 0 }
.unlist	li:first-child { margin-top:0 }
.unlist	li a { color: var(--e-global-color-primary) }
.unlist	li a:hover { color: var(--e-global-color-accent) }
/* nav_link */
.nav_link {
  margin: 0;
  padding: 0;
  list-style: none;
  gap: 3px;
  display: flex;
  flex-wrap: wrap;
}
.nav_link li {
  margin: 0 -5px 0 0;
  padding: 0;
  display: inline-block;
  clip-path: polygon(calc(0% + 5px) 0%, 100% 0%, calc(100% - 5px) 100%, 0% 100%);
  white-space: nowrap;
  line-height:1;
}
.nav_link .elementor-post-info__terms-list { color:#fff }
.nav_link a,
.nav_link .inside_a {
  color: #fff;
  background: var(--e-global-color-accent);
  padding: 5px 15px !important;
  display: inline-block !important;
  font-family: var(--e-global-typography-primary-font-family), Sans-serif;
  font-weight:bold;
  text-transform:uppercase;
	line-height:normal;
}
.nav_link .rubriquage a {
  color: #fff;
  background:var(--e-global-color-secondary);
}
.nav_link .section a,
.nav_link .section a:hover {
  color: #000 !important;
  background:#FDE900;
}
.bg_dark .unlist li a,
.nav_link a:hover { color: #fff !important }
/* ======================================================== */
/* HERO
/* ======================================================== */
/* title */
.hero-title {
  width:auto;
  clip-path: polygon(
    calc(0% + 15px) 0%,
    100% 0%,
    calc(100% - 15px) 100%,
    0% 100%
  );
  margin-left: -15px !important;
  margin-right: -15px !important;
}
.hero-title .elementor-heading-title {
  padding:0 15px;
}
/* bloc */
.hero-bloc {
  width:auto;
  clip-path: polygon(
    calc(0% + 15px) 0%,
    100% 0%,
    calc(100% - 15px) 100%,
    0% 100%
  );
}
/* btn */
.hero-btn {
  clip-path: polygon(
    calc(0% + 15px) 0%,
    100% 0%,
    calc(100% - 15px) 100%,
    0% 100%
  );
}
.hero-btn .elementor-button-wrapper {
  height:100%;
  display:flex;
  align-items:stretch;
  justify-content:center;
}
.hero-btn .elementor-button-wrapper .elementor-button {
  justify-content:center;
  align-items:center;
  display:flex;
}
/* Le 2ème bouton chevauche le 1er de la valeur du biseau */
.hero-btn + .hero-btn {
  margin-left: -15px;
  position: relative;
  z-index: 1; /* passe par-dessus le bord du bouton gauche */
}
/* button goto article */
@keyframes hang {
  0% { transform: translateY(0); }
  100% { transform: translateY(-10px); }
}
.hero-goto-art {
  animation: hang 1s ease-in-out infinite alternate;
}
/* ======================================================== */
/* POPUP info
/* ======================================================== */
.popup-info-parent { position:relative; transition: transform 300ms !important;
  /* --- elementor hack */
  background-position:center center;
  background-repeat:no-repeat;
  background-size:cover;
  /* --- */
 }
.popup-info-parent { aspect-ratio:1 / 1.414; width:100%; }  /*A4 proportions*/
.popup-rubriquage-materiel .popup-info-parent { aspect-ratio:auto; width:100%; }  /*current img proportions for rubriquage-materiel*/
.popup-info-parent:not(.popup-info-parent-show):not(.popup-info-has-img):hover { transform:scale(1.2); }
.popup-info-parent-show	.popup-info-visual { visibility:hidden }
.popup-info { opacity:0; top:100% !important; transition:opacity 300ms, top 300ms; height:0; cursor:default; max-height:100% }
.popup-info::-webkit-scrollbar-track { background-color:transparent }
.popup-info::-webkit-scrollbar { width:5px; background-color:transparent }
.popup-info::-webkit-scrollbar-thumb { background-color:var(--e-global-color-accent)}
.popup-info-show { opacity:1; top:0 !important; height:auto;  }
.popup-switcher i { transition:300ms ease-in-out; }
.popup-switcher-cross i { rotate:45deg; }
/* hack */
.popup-switcher .elementor-button-wrapper,
.read-more .elementor-button-wrapper {
  height:100%;
  display:flex;
  align-items:stretch;
  justify-content:center;
}
.popup-switcher .elementor-button-wrapper .elementor-button,
.read-more .elementor-button-wrapper .elementor-button {
  justify-content:center;
  align-items:center;
  display:flex;
}
/* ======================================================== */
/* MISCELLANEOUS
/* ======================================================== */
.uppercase { text-transform:uppercase }
.icon_btn { line-height:1 }
.block_link { cursor:pointer !important }
.e-n-menu-toggle { cursor:pointer !important }
.icon_accent .elementor-button-icon { color: var(--e-global-color-accent) }
.e-load-more-spinner { font-size:xx-large }
#load-more .elementor-button-icon { color: var(--e-global-color-accent) }
.relative { position:relative }
.nowrap { white-space:nowrap }
@media (max-width:767px) { .smart-center { text-align:center }}
.elementor-heading-title b { color:var(--e-global-color-accent) }
.primary-color { color:var(--e-global-color-primary) }
.elementor-icon-box-title { margin-block-start:0 }
/* ======================================================== */
/* PDF THUMBNAIL (shortcode: pdf_thumb)
/* ======================================================== */
.pdf-thumb {
  width: 100%;
  display: inline-flex;
  height: auto;
  flex-direction: column;
  align-items: center;
  gap: 5px;
  border: 1px solid #C8D5DC;
  border-radius:4px;
  transition: border-color .3s ease, box-shadow .3s ease;
  padding:5px;
}
.pdf-thumb img {
  width:100%;
  border-radius:4px;
}
.pdf-thumb span {
  display: block;
  font-size:.9em;
  font-weight:900;
  font-family: var(--e-global-typography-primary-font-family), Sans-serif;
  text-transform: uppercase;
  color:#FFF;
  background-color: var(--e-global-color-text);
  width: 100%;
  text-align: center;
  padding: 5px;
  border-radius:4px;
  transition: background-color .3s ease;
}
.pdf-thumb:hover {
  border-color: var(--e-global-color-primary);
  box-shadow: 0 0 0 5px color-mix(in srgb, var(--e-global-color-primary) 25%, transparent);
}
.pdf-thumb:hover span {
  background-color:var(--e-global-color-primary);
}
/* ======================================================== */
/* LOADER
/* ======================================================== */
.inload {
  position: relative;
  pointer-events: none;
  opacity: .6;
}
.inload::after {
  content: '';
  position: absolute;
  inset: 0;
  background: rgba(255,255,255,.5);
  z-index: 1000; /*see: .leaflet-control*/
}
.inload::before {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  width: 64px;
  height: 64px;
  margin: -32px 0 0 -32px;
  border: 6px solid color-mix(in srgb, var(--e-global-color-primary) 20%, transparent);
  border-top-color: var(--e-global-color-primary);
  border-radius: 50%;
  animation: inload-spinner .7s linear infinite;
  z-index: 1001;
}
@keyframes inload-spinner {
  to { transform: rotate(360deg); }
}
/* ======================================================== */
/* elementor ee-calendar
/* ======================================================== */
.ee-calendar,
.ee-calendar__table td,
.ee-calendar__events__hide { background-color:transparent !important }
.ee-calendar__events__hide .eicon-close { color:var(--e-global-color-text) !important; }
.ee-calendar__events__event a { color:var(--e-global-color-text) }
.ee-calendar__events__event a:hover { color:var(--e-global-color-accent) }
#home-agenda,
#home-agenda .ee-calendar,
#home-agenda .ee-calendar .clndr { height:100% }
#home-agenda .show-events { height:calc(100% - 55px)}
/* ======================================================== */
/* elementor ee-tooltip
/* ======================================================== */
.ee-tooltip { padding:5px 10px !important; box-shadow: 0px 0px 20px 0px rgba(0, 0, 0, 0.1) !important; }
/* ======================================================== */
/* elementor layout "Conteneur"
/* ======================================================== */
.float-right { float:right; margin:0 0 60px 60px }
.float-left { float:left; margin:0 60px 60px 0 }
.w-25 	{ width:25% }
.w-35 	{ width:35% }
.w-50 	{ width:50% }
.w-65 	{ width:65% }
.w-75 	{ width:75% }
.w-100	{ width:100% }
#art-top    { margin:0 0 60px 0 }
#art-left   { float:left; margin:0 60px 60px 0 }
#art-right  { float:right; margin:0 0 60px 60px }
#art-bottom { margin:60px 0 0 0 }
#art-top:empty,
#art-bottom:empty,
#art-left:empty,
#art-right:empty { display:none }
@media (max-width:1200px) {
  #art-left, #art-right,
  .float-right, .float-left	{ float:none; margin-left:0; margin-right:0 }
  .w-25, .w-50, .w-75 			{ width:100% }
}
/* ======================================================== */
/* elementor custom page transition
/* ======================================================== */
e-page-transition img {
  width: 100px;
  animation: logo-grow 1.5s ease-in-out infinite !important;
}
@keyframes logo-grow {
  0%   { transform: scale(0.90); opacity: 1; }
  50%  { transform: scale(1.1); opacity: 0.05; }
  100% { transform: scale(0.90); opacity: 1; }
}
/* ======================================================== */
/* RGPD (pressidium)
/* ======================================================== */
#cc--main { z-index:9999; } /* must be under page loader (10000) */
#s-c-bn { background:transparent !important }
#s-bl tbody tr:hover { background:inherit }
.act .b-tl { background:var(--cc-cookie-category-block-bg-hover) !important; }
.cc_div  { font-family: var(--e-global-typography-text-font-family), Sans-serif }
.cc_div h2 { font-family: var(--e-global-typography-primary-font-family), Sans-serif !important; }
#cc--main *[role="heading"]  { font-family: var(--e-global-typography-primary-font-family), Sans-serif }
#cc--main button {
  font-family: var(--e-global-typography-accent-font-family), Sans-serif;
  font-weight: var(--e-global-typography-accent-font-weight);
  line-height: var(--e-global-typography-accent-line-height);
}
/* Reject all button */
#s-rall-bn,
#trigger-s-rall-bn {
  background: var(--cc-btn-primary-bg);
  color: var(--cc-btn-primary-text);
}
.pressidium-logo { width:50px; height:auto; float:left !important; margin:.25em 1.5em 0 0 !important; }
@media screen and (max-width: 688px) {
  #s-cnt .b-bn .b-tl { white-space:normal }
  .bns-t #s-bns { height:11.5em }
}
/* button */
#c-bns button span,
#s-bns button {
  text-transform:uppercase;
}
/* ======================================================== */
/* all forms
/* ======================================================== */
/* placeholder */
.elementor-form input::placeholder,
.elementor-form select:has(option[value=""]:checked),
.elementor-form select option[value=""],
.elementor-form select option:not([value]) { font-style: italic; color:#999 }
/* option */
.elementor-form select option { font-style:normal; color:#000 }
/* ======================================================== */
/* #filters_form & #search_form                             */
/* filters_form: in search page                             */
/* search_form: in nav	                                    */
/* ======================================================== */
@media only screen and (min-width: 1200px) {
  .search-form .elementor-field-group { min-width:150px }
	.search-form .elementor-field-group:first-child { flex:1; width:auto; }
	.search-form .elementor-field-group:last-child { width:auto; min-width:auto }
	.search-form .elementor-button-text { display:none }
	.search-form .elementor-button-icon { margin:0 }
    /* first button in last field group */
  .search-form .elementor-field-group:last-child { display:block }
}
/* field group */
.search-form .elementor-field-group:last-child button:first-of-type { flex:1 }
.search-form .elementor-field-group:last-child button:last-of-type { flex:1 }
.search-form .elementor-field-group:last-child button:first-of-type { border-radius:4px 0 0 4px }
.search-form .elementor-field-group:last-child button:last-of-type { border-radius:0 4px 4px 0 }
/* reset form */
.btn-reset-search-form {
  position: relative;
  background-color: var(--e-global-color-secondary) !important;
}
.btn-reset-search-form::after {
  content: 'Vider le formulaire';
  position: absolute;
  bottom: calc(100% + 10px);
  left: 50%;
  transform: translateX(-50%);
  white-space: nowrap;
  padding: 5px 10px;
  box-shadow: 0px 0px 20px 0px rgba(0,0,0,0.1);
  background-color: var(--e-global-color-secondary);
  color: #fff;
  font-family: var(--e-global-typography-primary-font-family), Sans-serif;
  font-size: .8em;
  font-weight: 400;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.2s;
  text-transform: none;
}
.btn-reset-search-form::before {
  content: '';
  position: absolute;
  bottom: calc(100% + 1px);
  left: 50%;
  transform: translateX(-50%);
  border-left: 10px solid transparent;
  border-right: 10px solid transparent;
  border-top: 10px solid var(--e-global-color-secondary);
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.2s;
}
.btn-reset-search-form:hover::after,
.btn-reset-search-form:hover::before {
  opacity: 1;
}
#sections_form .elementor-button[type="submit"] { display:none }
/* ======================================================== */
/* eventsBox
/* ======================================================== */
#eventsBox .elementor-widget .elementor-icon-list-item a { display:inline-flex }
/* ======================================================== */
/* Elementor Call To Action
/* ======================================================== */
.cta { font-size:inherit }
.cta .elementor-icon { rotate: -5deg }
.cta .elementor-icon i { rotate: 5deg; transition:all .3s ease; }
.cta:hover .elementor-icon { rotate: 0deg }
.cta:hover .elementor-icon i { rotate: 0deg }
.cta .elementor-icon { display:inline-flex; align-items:center; justify-content:center }
.cta_120 .elementor-icon { width:120px; height:120px }
/* CTA for icon box widget */
.cta .elementor-icon-box-description b {
  display:block;
  margin-top:15px;
  font-size: 1em;
  text-transform: uppercase;
  font-family: var(--e-global-typography-accent-font-family), Sans-serif;
  font-weight: 900;
}
.cta .elementor-icon-box-wrapper {
  position:relative;
  /* */
  height:100%;
}
.cta .elementor-icon-box-title a::after {
  content: '';
  position: absolute;
  inset: 0;
}
.cta .elementor-icon-box-icon a {
  width:150px;
  height:150px;
  font-size:3.5em;
  padding: 0;
  align-items: center;
  justify-content: center;
  display:inline-flex;
}
.cta .elementor-icon-box-icon a i {
  transform: scale(1);
}
.cta:hover .elementor-icon-box-icon a i {
  transform: scale(1.2);
}
.cta .elementor-icon-box-content {
  max-width:100%;
  padding:30px 30px 30px 105px;
  margin-left:-75px;
  border-radius:8px;
  border:1px solid #C8D5DC;
  transition: box-shadow .3s ease, border-color .3s ease;
  /* */
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.cta_80 .elementor-icon-box-icon a {
  width:80px;
  height:80px;
  font-size:2em;
}
.cta_80 .elementor-icon-box-content {
  padding:15px 15px 15px 55px;
  margin-left:-40px;
}
.cta_100 .elementor-icon-box-icon a {
  width:100px;
  height:100px;
  font-size:2.5em;
}
.cta_100 .elementor-icon-box-content {
  padding:20px 20px 20px 70px;
  margin-left:-50px;
}
.cta_120 .elementor-icon-box-icon a {
  width:120px;
  height:120px;
  font-size:3em;
}
.cta_120 .elementor-icon-box-content {
  padding:30px 30px 30px 90px;
  margin-left:-60px;
}
@media (max-width: 767px) {
  .cta .elementor-icon-box-icon a {
    width:100px;
    height:100px;
    font-size:3em;
  }
  .cta .elementor-icon-box-content {
    max-width:100%;
    padding:65px 15px 15px 15px;
    margin:-50px 0 0 0;
  }
}
.cta:hover .elementor-icon-box-content {
  border-color: var(--e-global-color-primary);
  box-shadow: 0px 0px 0px 10px color-mix(in srgb, var(--e-global-color-primary) 20%, transparent);
}
.cta .elementor-icon-box-title  {
  text-transform: uppercase;
  font-size:1.6em;
  margin-block-end:15px !important;
}
.cta_100 .elementor-icon-box-title,
.cta_80 .elementor-icon-box-title {
  font-size:1.4em;
}
.cta:hover .elementor-icon-box-title,
.cta:hover .elementor-icon-box-description b {
  color: var(--e-global-color-primary) !important;
}
/* CTA in nav */
#nav .cta .elementor-icon-box-icon a {
  width: 80px;
  height: 80px;
  font-size: 1.8em;
}
#nav .cta .elementor-icon-box-description b {
  margin-top:10px;
  font-size: 0.9em;
}
#nav .cta .elementor-icon-box-content {
  max-width:300px;
  padding:15px 15px 15px 65px;
  margin-left:-40px;
}
@media (max-width: 767px) {
  #nav .cta .elementor-icon-box-icon a {
    width: 50px;
    height: 50px;
    font-size: 1.4em;
  }
  #nav .cta .elementor-icon-box-content {
    max-width:100%;
    padding:40px 15px 15px 15px;
    margin:-25px 0 0 0;
  }
}
#nav .cta .elementor-icon-box-title  {
  font-size:1.2em;
  margin-block-end:7.5px !important;
}
#nav .cta .elementor-icon-box-description {
  font-size:0.85em;
  line-height:normal;
}
#nav .cta:hover .elementor-icon-box-title,
#nav .cta:hover .elementor-icon-box-description b {
  color: var(--e-global-color-primary);
}

/* ======================================================== */
/* Like popover arrow
/* ======================================================== */
.arrow-right {
  position:relative;
}
.arrow-right::after {
  content: '';
  position: absolute;
  top: 50%;
  right: -7.5px;
  transform: translateY(-50%) rotate(45deg);
  width: 15px;
  height: 15px;
  z-index: 1;
}
.arrow-white::after { background:#fff; }
.arrow-primary::after { background:var(--e-global-color-primary); }
.arrow-secondary::after { background:var(--e-global-color-secondary); }
/* ======================================================== */
/* Site map
/* ======================================================== */
#site-map .e-n-tabs-heading { margin-right:-1px }
#site-map button[aria-selected="false"] { box-shadow: inset -15px 0 15px -15px rgba(200, 213, 220, 0.5) }
#site-map button[aria-selected="true"] { border-right-color:#fff; z-index:1 }
#site-map .elementor-sitemap-list { margin:0; padding:0; list-style:none; width:100% }
#site-map .elementor-sitemap-list li { margin:0; padding:0; list-style:none; width:100% }
#site-map .elementor-sitemap-list li a { display:block; padding:15px }
#site-map .elementor-sitemap-list li:nth-child(even) a { background: #F4F7F8 }
#site-map .elementor-sitemap-list li a:hover { background-color:var(--e-global-color-primary); color:#fff !important }
#site-map .elementor-sitemap-list .children { list-style:none !important }
#site-map .elementor-sitemap-list li:has(> ul) > a { font-weight: bold !important }
@media screen and (max-width:1200px) {
  #site-map .e-active,
  #site-map .e-con-inner { padding-top:0; }
  #site-map .e-n-tabs-heading { margin-right:0; margin-bottom:-1px }
  #site-map button[aria-selected="false"] { box-shadow:none }
  #site-map button[aria-selected="true"] {
    border-right-color:#C8D5DC;
    border-bottom-color:#fff;
    z-index:1;
    margin-bottom: -1px;
    border-radius:4px 4px 0 0;
  }
}
/* ======================================================== */
/* JURIDIQUE NAV — Widget_Juridique_Nav
/* ======================================================== */
.jnav-grid {
  margin: 0;
  padding: 0;
  display: grid;
  gap:20px;
  align-items: stretch;
}
.jnav-cols-2 { grid-template-columns: repeat(2, 1fr); }
.jnav-cols-3 { grid-template-columns: repeat(3, 1fr); }
.jnav-cols-4 { grid-template-columns: repeat(4, 1fr); }
@media (max-width: 1024px) {
  .jnav-cols-3,
  .jnav-cols-4 { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 767px) {
  .jnav-cols-2,
  .jnav-cols-3,
  .jnav-cols-4 { grid-template-columns: 1fr; }
}
.jnav-grid li {
  display: flex;
  flex-direction: column;
  background: var(--e-global-color-a96a5a5, #fff);
  border: 1px solid #C8D5DC;
  border-radius:8px;
  overflow: hidden;
}
.jnav-grid li.is-active,
.jnav-grid li:hover {
  border-color: var(--e-global-color-primary);
  box-shadow: 0px 0px 0px 10px rgba(194, 0, 28, 0.2);
}
.jnav-grid li .img {
  width: 40%;
  flex-shrink: 0;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  align-self: stretch;
  background-size: 100%;
  transition: background-size 400ms ease;
}
.jnav-grid li:hover .img {
  background-size: 110%;
}
.jnav-grid li:nth-child(even) a {
  flex-direction: row-reverse;
}
.jnav-grid li a {
  display: flex;
  flex-direction: row;
  flex: 1;
  text-decoration: none;
  color: inherit;
}
.jnav-grid li .content {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  flex: 1;
  gap: 15px;
  padding:60px;
}
.jnav-grid li .content * { margin-block-end:0 }
.jnav-grid li h2 {
  font-family: var(--e-global-typography-text-font-family), sans-serif;
  font-weight: var(--e-global-typography-primary-font-weight);
  margin:0;
}
.jnav-grid li p {
  flex: 1;
  font-family: var(--e-global-typography-text-font-family), sans-serif;
  font-weight: var(--e-global-typography-text-font-weight);
  color: var(--e-global-color-text);
  margin:0;
}
.jnav-grid li b {
  display:block;
  font-size:1em;
  text-transform:uppercase;
  font-family:var(--e-global-typography-accent-font-family), Sans-serif;
}
@media (max-width: 1024px) {
  .jnav-grid li a,
  .jnav-grid li:nth-child(even) a {
    flex-direction: column;
  }
  .jnav-grid li .img {
    width: 100%;
    height: 200px;
    align-self: auto;
  }
  .jnav-grid li .content {
    padding:30px;
  }
}
/* -------------------------------------------------------------------------- */
/* CA-copy-btn — "copy anchor link" button, used next to the glossary entry   */
/* titles and the FAQ questions (see CA_render_copy_btn() in lib/tools.php,   */
/* click handler in assets/fo.js). Tooltip style/markup mirrors .law-tag-     */
/* tooltip (assets/technic.css).                                              */
/* -------------------------------------------------------------------------- */
.ca-copy-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  position: relative;
  flex-shrink: 0;
  padding: 0 !important;
  border:none;
  background: transparent !important;
  color: var(--e-global-color-primary)!important;
  cursor: pointer;
}
.ca-copy-btn:focus-visible {
  outline: 2px solid var(--e-global-color-primary);
  outline-offset: -2px;
}
.ca-copy-btn-tooltip {
  display: none;
  position: absolute;
  bottom: calc(100% + 8px);
  left: 50%;
  transform: translateX(-50%);
  z-index: 200;
  width: max-content;
  max-width: 200px;
  background: #fff;
  border: 1px solid #C8D5DC;
  box-shadow: 0 4px 14px rgba(0,0,0,.1);
  font-size: .75em;
  font-weight: 400;
  color: var(--e-global-color-text);
  padding: 4px 10px;
  line-height: 1.4;
  pointer-events: none;
  text-transform: none;
  letter-spacing: 0;
}
.ca-copy-btn:hover .ca-copy-btn-tooltip,
.ca-copy-btn:focus-visible .ca-copy-btn-tooltip,
.ca-copy-btn.is-copied .ca-copy-btn-tooltip {
  display: block;
}
