/* © Camarade Agency (camarade.agency) */

/* ======================================================== */
/* 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:150px }
	.shrink-nav #header { box-shadow:0 5px 17px 0 rgba(0,0,0,.03); height:50px }
	@media screen and (max-width:1024px) {
		#header { height:50px }
	}

/* ======================================================== */
/* masterheader																							*/
/* ======================================================== */

	#masterheader { transition:top .3s ease-out; top:0; height:30px; overflow:hidden; line-height:1; }
	.shrink-nav #masterheader { top:-30px; position:absolute; }
	@media (max-width:1024px) {
    #masterheader { display:none !important }
  }

/* ======================================================== */
/* logo																											*/
/* ======================================================== */

  #logo a { width:88px; text-align:left } /* 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:50px; }
	@media (max-width:1024px) {
    #logo img { transform: scale(1); max-height:50px; }
  }

/* ======================================================== */
/* mainnav + btn-nav																				*/
/* ======================================================== */

	@media (min-width:1024px) {
		#mainnav nav { transition:height .3s ease-out; height:50px; }
		.shrink-nav #mainnav nav { height:50px; }
	}
	@media (min-width:1024px) {
    .btn-nav { align-self: center; }
    .shrink-nav .btn-nav { align-self:stretch; }
    .shrink-nav .btn-nav * { height:100% }
    .shrink-nav .btn-nav span { align-items:center }
    .shrink-nav .btn-nav .elementor-button-text { display:inline-flex; }
		.shrink-nav .btn-nav .elementor-button { border-radius:0 !important }
  }
	@media (max-width:1024px) {
    .btn-nav { align-self:stretch; }
    .btn-nav * { height:100% }
    .btn-nav span { align-items:center }
    .btn-nav .elementor-button-text { display:inline-flex; }
		.btn-nav .elementor-button { border-radius:0 !important }
		#mainnav { height:100% }
  }

/* ======================================================== */
/* nav																											*/
/* ======================================================== */

	#nav .elementor-menu-toggle { height:50px }
	@media (min-width:1024px) {
	  #nav .elementor-nav-menu > li > ul > li:first-child { margin-top:10px }
	  #nav .elementor-nav-menu > li > ul > li:last-child  { margin-bottom:10px }
	  #nav .elementor-nav-menu a { border:none }
	  #nav .elementor-nav-menu > li > ul > li a { margin:0 !important }
	  #nav .elementor-nav-menu .sub-arrow { font-size:small }
	  #nav .elementor-nav-menu .sub-arrow { padding:0 } /* if no subarow */
	}

/* ======================================================== */
/* 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:1024px) {
		.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;
	}
	/* 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 #F1F3F5;
		background: #F1F3F5;
		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 {
		border: 1px solid #CCDBEA;
		background: #fff;
	}

/* ======================================================== */
/* text-editor      										                    */
/* ======================================================== */

	.elementor-widget-text-editor .elementor-widget-container :last-child { margin-bottom:0 }

/* ======================================================== */
/* 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 }
	.nav_link li { margin:5px 5px 0 0; padding:0; display:inline-block }
	.nav_link .elementor-post-info__terms-list { color:#fff }
	.nav_link a {
	  color: #fff;
	  background: var(--e-global-color-accent);
	  padding: 5px 15px !important;
	  border-radius: 4px;
	  display: inline-block !important;
	  font-family: var(--e-global-typography-primary-font-family), Sans-serif;
	  font-size: 0.8em;
	  font-weight: normal;
	  text-transform: uppercase;
		line-height:1;
	}
	.nav_link .rubriquage a {
	  color: #fff;
	  background:var( --e-global-color-primary);
	}
	.bg_dark .unlist li a,
	.nav_link a:hover { color: #fff !important }

/* ======================================================== */
/* HERO																											*/
/* ======================================================== */

	.hero-img { height:calc(100vh - 150px) !important; }
	@media screen and (max-width:1024px) {
		.hero-img { height:calc(100vh - 50px) !important; }
	}

/* ======================================================== */
/* POPUP info										                            */
/* ======================================================== */

	.popup-info-parent { position:relative; transition: transform 300ms !important; }
	.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; }

/* ======================================================== */
/* MISCELLANEOUS								                            */
/* ======================================================== */

  .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) }

/* ======================================================== */
/* 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 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-50 	{ width:50% }
	.w-75 	{ width:75% }
	.w-100	{ width:100% }
	@media (max-width:1024px) {
	  .float-right, .float-left	{ float:none; margin-left:0; margin-right:0 }
	  .w-25, .w-50, .w-75 			{ width:100% }
	}

/* ======================================================== */
/* cmplz                                                    */
/* ======================================================== */

  #cmplz-document { max-width:none; }
  #cmplz-document { line-height:1.5em }
  #cmplz-document h2 { font-size:1.8em }
  #cmplz-document h3 { font-size:1.6em }
  #cmplz-document h4 { font-size:1.4em }
  #cmplz-document, #cmplz-document p, #cmplz-document td, #cmplz-document li {font-size:1em }
  #cmplz-document a { text-decoration:none }
  .cmplz-cookiebanner .cmplz-title { font-size:inherit !important }

/* ======================================================== */
/* filters_form   							                            */
/* ======================================================== */

  @media only screen and (min-width: 1024px) {
  	#filters_form .elementor-field-group:first-child { flex:1; width:auto; }
  	#filters_form .elementor-field-group:last-child { width:auto }
  	#filters_form .elementor-button-text { display:none }
  	#filters_form .elementor-button-icon { margin:0 }
  }
  #filters_form select option[value=""],
  #filters_form select option:not([value]) { font-style: italic }

/* ======================================================== */
/* eventsBox       							                            */
/* ======================================================== */

  #eventsBox .elementor-widget .elementor-icon-list-item a { display:inline-flex }
