:root {
  --blnc:#fff;
  --bg:#222;
  --blk:#000;
  --hov-link:#6800ce;
  --lred:#fff5f5;
  --bloc15:15px 0;
  --bloc30:30px 0;
  --bloc60:60px 0;
  --space-d30:0 0 30px 0;
  --space-d15:0 0 15px 0;
  --stroke-thick:0.8px;
  --stroke-color:currentColor
}
body {
  margin:0
}
article,
figcaption,
figure,
footer,
header,
main,
nav {
  display:block;
}
a {
  background:0 0
}
a:hover {
  color:var(--hov-link)
}
a:active,
a:hover {
  outline:0
}
b,
strong,
label {
  font-weight:700
}
button,
input {
  font-weight:inherit;
  margin:0
}
img {
  max-width:100%;
  height:auto;
  display: block;
}
figure figcaption {
  caption-side: bottom;
  font-size: 0.875em;
  font-style: italic;
  color: hsl(0, 0%, 40%);
  
}
svg:not(:root) {
  overflow:hidden
}

button,
textarea {
  font:inherit;
  margin:0
}
button {
  overflow:visible;
  border:0;
  font-weight:bolder;
  text-transform:uppercase
}
button,
select {
  text-transform:none
}
button,
html input[type="button"],
input[type="reset"],
input[type="submit"] {
  -webkit-appearance:button;
  cursor:pointer
}
input {
  line-height:normal
}
input[type="search"] {
  -webkit-appearance:textfield;
  -moz-box-sizing:content-box;
  -webkit-box-sizing:content-box;
  box-sizing:content-box
}
input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration {
  -webkit-appearance:none
}
* {
  -webkit-box-sizing:border-box;
  -moz-box-sizing:border-box;
  box-sizing:border-box
}
:after,
:before {
  -webkit-box-sizing:border-box;
  -moz-box-sizing:border-box;
  box-sizing:border-box
}
html {
  overflow-x:hidden
}
button,
input,
select,
textarea {
  font-family:inherit;
  font-size:inherit;
  line-height:inherit
}
a:focus {
  outline:thin dotted;
  outline:5px auto -webkit-focus-ring-color;
  outline-offset:-2px
}
.sr-only {
  position:absolute;
  width:1px;
  height:1px;
  margin:-1px;
  padding:0;
  overflow:hidden;
  clip:rect(0,0,0,0);
  border:0
}
.h4,
h4 {
  margin-top:20px;
  margin-bottom:10px
}
h3,
.h3 {
  font-size:2.1rem
}
h4,
.h4 {
  font-size:1.9rem
}
ul+h2,div + h2, div + h3, img + h3, p + h2, p + h3, h2 + ul, ul + p {
  margin-top:40px;

}
.text-center {
  text-align:center
}
ul {
  margin-top:0;
  margin-bottom:10px
}
address {
  margin-bottom:20px
}
.container {
  margin-right:auto;
  margin-left:auto;
  padding-left:15px;
  padding-right:15px
}
.row {
  margin-left:-15px;
  margin-right:-15px
}
.col-md-4,
.col-md-8,
.col-md-12,
.col-sm-12,
.col-sm-4,
.col-sm-6,
.col-sm-8 {
  position:relative;
  min-height:1px;
  padding-left:15px;
  padding-right:15px;
}
label {
  display:inline-block
}
input[type="search"] {
  -webkit-box-sizing:border-box;
  -moz-box-sizing:border-box;
  box-sizing:border-box
}
input[type="search"] {
  -webkit-appearance:none
}
input[type="button"].btn-block,
input[type="reset"].btn-block,
input[type="submit"].btn-block {
  width:100%
}
::selection {
  background:var(--blk);
  color:var(--blnc)
}
input,
textarea {
  padding:15px;
  max-width:100%
}
.main-navigation a:hover {
  color:var(--main)
}
.main-navigation {
  display:block
}
.main-navigation ul ul {
  background:var(--bg);
  position:absolute;
  top:100%;
  z-index:99999
}
.main-navigation ul ul a {
  padding:8px
}
.main-navigation ul ul li {
  border-bottom:solid 1px #686868
}
.main-navigation ul ul ul {
  position:relative;
  transform:translateX(10px)
}
.screen-reader-text {
  clip:rect(1px,1px,1px,1px);
  position:absolute!important;
  height:1px;
  width:1px;
  overflow:hidden
}
.screen-reader-text:active,
.screen-reader-text:focus {
  background:#f1f1f1;
  clip:auto!important;
  color:#21759b;
  display:block;
  font-size:14px;
  font-weight:700;
  height:auto;
  left:5px;
  line-height:normal;
  padding:15px 23px 14px;
  text-decoration:none;
  top:5px;
  width:auto;
  z-index:100000
}

.content-area {
  width:720px
}
.fullwidth {
  width:100%
}
.container {
  width:auto!important;
}
.site-logo,
.fltrbrght,
.main-navigation a,
.img-prd img {
  transition:.3s ease
}
.fltrbrght:hover {
  filter:brightness(1.3)
}
:is(.site-logo,
.main-navigation a,
.footer-social a):hover {
  text-decoration:none;
  outline:none;
  filter:brightness(1.5) drop-shadow(0 0 .75rem #ea6301)
}
.main-navigation ul {
  list-style:none;
  margin:0;
  padding-left:0
}
.main-navigation li {
  float:left;
  position:relative;
  margin:4px 8px;
  padding:2px 4px
}
.moesia-search-form {
  color:var(--blk);
  position:relative
}
input.search-submit {
  display:none
}
.chevron_nav {
  width:14px;
  height:12px;
  transition:1s cubic-bezier(.68,-.55,.27,1.55)
}
.chevron_nav.left {
  margin-right:4px
}
.chevron_nav.right {
  margin-left:4px
}
a:hover .hovrotate {
  rotate:-360deg
}
.scrollToTopBtn {
  background:var(--bg);
  cursor:pointer;
  width:60px;
  height:60px;
  position:fixed;
  bottom:20px;
  right:15px;
  z-index:1;
  opacity:0;
  transform:translateY(100px);
  transition:all 0.4s ease;
  display:flex;
  justify-content:center;
  align-items:center;
  border-radius:10px
}
.showBtn {
  opacity:.8;
  transform:translateY(0)
}
.chevron_nav.totop {
  fill:var(--main);
  transform:rotatez(90deg);
  scale:1.5
}
.chevron_nav.down {
  fill:var(--main);
  transform:rotatez(180deg)
}
.bloc-60 {
  margin:var(--bloc60)
}
.bloc-30 {
  margin:var(--bloc30);
}
.bloc-15 {
  margin:var(--bloc15)
}
.space-d30 {
  margin:var(--space-d30)
}
.space-d15 {
  margin:var(--space-d15)
}
.entry-footer {
  margin:30px 0
}
.icon-partage {
  width:35px;
  height:35px
}
.icon-info {
  width:30px;
  height:30px;
  margin:0 4px 0 0;
  position:relative;
  top:6px
}
.share-buttons {
  border-top:var(--brd1);
  border-bottom:var(--brd1);
  padding:10px
}
.gauche-0 {
  padding:0;
  gap:10px;
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(60px,1fr));
  justify-items:center
}
.partage {
  position:relative;
  width:16px;
  height:16px;
  top:3px
}
.boutn {
  background:none;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:5px;
  padding:0
}
.social-name {
  font-size:12px;
  color:inherit
}
.menu-icon-plus {
  vertical-align:sub
}
.icon-plus,
.menu-icon-plus {
  width:20px;
  height:20px;
  transition:transform .3s ease
}
.menu-icon-plus.rotated {
  transform:rotate(45deg)
}
.stroke_thick {
  -webkit-text-stroke:var(--stroke-thick)var(--stroke-color)
}
.menu-item-has-children .sub-menu {
  overflow:hidden;
  max-height:0;
  transition:max-height .3s ease
}
.sub-menu {
  font-size:.875em;
  cursor:pointer;
  width:400px;
  display:flex;
  flex-direction:column
}
.bloc-contact {
  display:grid;
  border-radius:10px;
  box-shadow:0 0 8px 1px #d7d7d7;
  grid-template-columns:1fr auto 1fr;
  gap:2.5em 1.25em
}
.contact-box {
  padding:15px;
  overflow:hidden
}
.contact-content {
  padding:10px;
  text-align:center
}
.contact-title {
  border-bottom:solid 1px #dddada;
  text-align:center;
  font-weight:700;
  border-bottom:solid 1px #eee;
  padding:10px 0
}
.contact-icon,
.contact-icon-mail {
  width:250px;
  max-width:100%;
  margin:0 auto
}
.contact-icon-mail {
  width:140px;
  margin:20px auto
}
.separator {
  display:flex;
  align-items:center;
  justify-content:center;
  width:2px;
  background:var(--brd);
  height:80%;
  position:relative;
  height:calc(100% - 40px);
  margin:20px 0
}
.separator::before {
  content:"\2605";
  position:absolute;
  top:50%;
  left:50%;
  transform:translate(-50%,-50%)rotate(36deg);
  background:#fff;
  padding:5px;
  font-size:1.25em;
  color:royalblue
}
.cards {
  display:grid;
  gap:1rem;
  grid-template-columns:repeat(auto-fit,minmax(160px,1fr))
}
.card {
  display:flex
}
.chxpck {
  font-size:1.25em;
  border-radius:10px;
  text-align:center;
  justify-content:center;
  align-items:center;
  display:flex;
  aspect-ratio:16/13;
  padding:20px;
  min-height:150px
}
a.chxpck {
  background:var(--bg);
  color:var(--main)
}
.chxpck:hover {
  background:var(--main);
  color:var(--bg)
}

.toggle-share {
  background:var(--cdrbox);
  border:var(--brd1);
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:10px;
  gap:5px;
  margin-bottom:10px;
  margin:0 auto
}
.icon-plus {
  width:20px;
  height:20px;
  transition:transform .3s ease
}
.toggle-share.rotated .icon-plus {
  transform:rotate(45deg)
}
.partage-content {
  max-height:0;
  overflow:hidden;
  transition:max-height .3s ease-out
}
.gauche-0 {
  margin-top:20px;
  list-style:none
}


.bloc-media {
  display: grid;
  grid-template-columns: 1fr;
  gap: 15px;
}

.bloc-texte {
  align-self: stretch;
}
.bloc-image {
  display: flex;
  align-items: center;
  justify-content: center;

}
.image-ratio {
  width: 100%;
  height: 100%;
  max-height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}
.image-ratio img {
  max-width: 100%;
  max-height: 100%;
  width: auto;
  height: auto;
  object-fit: contain;
  display: block;
  margin: 0 auto;
}
.ratio-1-1  { aspect-ratio: 1 / 1; }
.ratio-4-3  { aspect-ratio: 4 / 3; }
.ratio-16-9 { aspect-ratio: 16 / 9; }

.badge {
  display:inline-flex;
  align-items:center;
  text-align:center;
  gap:6px;
  padding:10px 14px;
  background:#f2f2f2;
  border:1px solid #ddd;
  border-radius:50px;
  color:#333;
  margin-block:1rem
}
.badge-arrow {
  opacity:.5;
  transition:transform .3s ease,opacity .3s
}
.badge:hover {
  background:#000;
  color:var(--main);
  border-color:#000
}
.badge:hover .badge-arrow {
  transform:translateX(3px);
  opacity:1
}

@media screen and (max-width:768px) {
  .bloc-contact {
    grid-template-columns:1fr
  }
  .sidebar-column:nth-child(2) {
    margin:60px 0;
    padding-left:30px
  }
  .separator {
    height:2px;
    width:calc(100% - 25%);
    margin:0 auto
  }
}
.mobile-search-form {
  position:fixed;
  top:0;
  left:0;
  width:100%;
  transform:translateY(-100%);
  transition:transform 0.4s ease;
  background:var(--blnc);
  z-index:10
}
.mobile-search-form.visible {
  transform:translateY(77px)
}
.mobile-search-form .search-wrapper {
  padding:15px;
  min-height:80px
}
.moesia-search-form input {
  border:solid 1px var(--brd);
  background:white;
  width:100vw
}
.search-overlay {
  position:fixed;
  top:0;
  left:0;
  width:100%;
  height:100%;
  background:rgba(0,0,0,0.6);
  z-index:9;
  opacity:0;
  pointer-events:none;
  transition:opacity 0.3s ease
}
.search-overlay.visible {
  opacity:1;
  pointer-events:all
}
#search-toggle {
  background-color:transparent
}
.search-toggle-container {
  display:flex;
  flex-shrink:0
}
.icon-search {
  width:30px;
  height:30px;
  display:flex;
  color:var(--main);
  transition:transform .3s ease
}
#search-toggle.active .icon-search {
  transform:rotate(-20deg) scale(0.85)
}
.wrapper {
  width:100%;
  position:relative
}
.wrapper i {
  top:50%;
  height:50px;
  width:50px;
  cursor:pointer;
  position:absolute;
  background:#fff;
  border-radius:50%;
  transform:translateY(-50%);
  transition:transform 0.1s linear;
  fill:var(--link);
  display:flex;
  align-content:center;
  align-items:center;
  justify-content:center;
  filter:drop-shadow(0px 1px 3px rgba(0,0,0,0.83))
}
.wrapper i:active {
  transform:translateY(-50%) scale(.85)
}
.wrapper i:first-child {
  left:-14px
}
.wrapper i:last-child {
  right:-14px
}
.wrapper .carousel {
  display:grid;
  grid-auto-flow:column;
  grid-auto-columns:calc((100% / 3) - 12px);
  overflow-x:auto;
  scroll-snap-type:x mandatory;
  gap:20px;
  scroll-behavior:smooth;
  scrollbar-width:none;
  position:unset;
  margin-bottom:0
}
ul.carousel {
  padding:0
}
.carousel::-webkit-scrollbar {
  display:none
}
.carousel.no-transition {
  scroll-behavior:auto
}
.carousel.dragging {
  scroll-snap-type:none;
  scroll-behavior:auto
}
.carousel.dragging .card {
  cursor:grab;
  user-select:none
}
.card {
  align-content:unset!important
}
.carousel .card {
  scroll-snap-align:start;
  list-style:none;
  cursor:pointer;
  flex-direction:column;
  height:auto
}
.carousel .card h2 {
  font-weight:500;
  font-size:1.56rem;
  margin:30px 0 5px
}
#derniers-articles img {
  aspect-ratio:16/9;
  object-fit:cover;
  width:100%;
  display:block
}
#derniers-articles h3 {
  font-size:.875em
}
:is(#derniers-articles i) {
  background:rgba(255,255,255,.85)
}
.intro-carousel {
  color:var(--bg);
  font-style:italic;
  margin:0 0 1.5em 0;
  font-size:1.1rem;
  padding:.8em 1.2em;
  border-left:4px solid var(--bg)
}
.card {
  align-content:baseline
}
.articles-left {
  left:-10px
}
.articles-right {
  right:-10px
}
.related-list {
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:1.5rem;
  list-style:none;
  padding:0
}
.related-item {
  overflow:hidden;
  background:#f9f9f9
}
.related-thumb-wrapper {
  position:relative;
  aspect-ratio:4 / 3;
  overflow:hidden
}
.related-thumb {
  display:block;
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform 0.3s ease
}
.related-item:hover .related-thumb {
  transform:scale(1.08)
}
.related-link {
  display:block;
  text-decoration:none;
  color:inherit
}
.related-title {
  font-size:1rem;
  padding:0.75rem;
  margin:0
}
.navig {
  display:block;
  max-width:fit-content
}
.navig a {
  display:block;
  margin:20px 0;
  border:solid 1px black;
  padding:6px 10px;
  fill:var(--link);
  text-align:center;
  width:300px;
  max-width:100%;
}
@media (min-width:768px) {
  .related-list {
    grid-template-columns:repeat(3,1fr)
  }
  .container {
    max-width:750px
  }
}
#site-footer {
  padding:40px 20px;
  background:var(--bg);
  color:var(--main)
}
.footer-title,
.footer-block a {
  color:var(--main);
  margin-top:0
}
.footer-logo img,
.footer-logo span,
.footer-logo p {
  display:flex;
  justify-content:center;
  text-align:center;
  margin:0 auto
}
.footer-logo p {
  margin-bottom:3.125rem
}
.footer-grid {
  display:grid;
  gap:40px;
  max-width:1200px;
  margin:auto;
  grid-template-columns:repeat(3,1fr)
}


.main-navigation a {
	display:block;
  color:var(--main);
  float:left;
  text-decoration:none
}


#menu-overlay {
  position:fixed;
  top:0;
  left:0;
  width:100vw;
  height:100vh;
  background-color:rgba(0,0,0,0.6);
  z-index:99;
  opacity:0;
  pointer-events:none;
  transition:opacity .3s ease
}
body.menu-open #menu-overlay {
  opacity:1;
  pointer-events:auto
}
.menu-btn {
  display:flex;
  align-items:center;
  justify-content:center;
  width:40px;
  height:40px;
  position:relative;
  cursor:pointer;
  z-index:1001;
  background:none
}
.menu-btn__lines {
  display:block;
  position:relative;
  width:24px;
  height:1px;
  background:var(--main);
  transition:all .3s ease-in-out
}
.menu-btn__lines::before,
.menu-btn__lines::after {
  content:"";
  position:absolute;
  width:24px;
  height:1px;
  background:var(--main);
  transition:all 0.3s ease-in-out;
  left:0
}
.menu-btn__lines::before {
  top:-8px
}
.menu-btn__lines::after {
  top:8px
}
.menu-btn.open .menu-btn__lines {
  background:transparent
}
.menu-btn.open .menu-btn__lines::before {
  transform:rotate(45deg);
  top:0
}
.menu-btn.open .menu-btn__lines::after {
  transform:rotate(-45deg);
  top:0
}
.sub-menu .menu-item-has-children>a {
  display:flex;
  align-items:center;
  justify-content:space-between;
  width:100%
}
.menu-arrow {
  font-size:1.25em;
  transition:transform .3s ease;
  display:inline-block;
  min-height:1.1em
}
.menu-item-has-children.is-open>a .menu-arrow {
  transform:rotate(180deg)
}
.cookie-notice {
  position:fixed;
  bottom:0;
  left:0;
  width:100%;
  background-color:rgba(0,0,0,.9);
  color:white;
  padding:12px;
  font-size:1em;
  z-index:9999;
  font-family:trebuchet ms;
  min-height:80px;
  opacity:0;
  visibility:hidden;
  transition:opacity 1s ease-in-out
}
.cookie-notice.show {
  opacity:1;
  visibility:visible
}
.cookie-container {
  display:flex;
  gap:10px 15px;
  align-items:center;
  justify-content:space-between
}
.cookie-button {
  background-color:var(--main);
  color:#000;
  padding:12px 25px;
  /* margin-left: 15px;*/cursor:pointer;
  opacity:1;
  font-size:1em;
  transition:background-color 0.3s ease-in-out;
  border-radius:4px
}
.cookie-button:hover {
  background-color:#48D94E
}
.cookie-button:focus {
  outline:3px solid #f39c12;
  outline-offset:2px
}
@media (max-width: 600px) {
  .cookie-notice,
  .cookie-button {
    font-size:0.875em;
    padding:8px
  }
  .cookie-button {
    padding:10px 16px
  }
}

@media screen and (max-width:1200px) {
  .fullwidth {
    width:100%
  }
}
@media screen and (max-width:991px) {
  .main-navigation a {
    float:none
  }
  .main-navigation li::before {
    content:''
  }
  .main-navigation ul {
    float:none
  }
  .main-navigation li {
    border-bottom:solid 1px #686868;
    margin:0!important;
    padding:6px!important;
    width:100%
  }
  .main-navigation.toggled li:first-child {
    margin-top:0
  }
  .main-navigation ul {
    display:none
  }
  .main-navigation ul ul {
    display:block!important;
    position:static;
    background:#fff0;
    width:100%
  }
  .content-area {
    width:100%
  }
  #site-navigation {
    position:fixed;
    top:77px;
    left:0;
    height:100vh;
    width:80%;
    background-color:rgba(20,20,20,0.9);
    transform:translateX(-100%);
    transition:transform 0.3s ease;
    z-index:9999;
    padding:2rem 1rem;
    overflow-y:auto
  }
  #site-navigation.open {
    transform:translateX(0)
  }
  .main-navigation li a {
    padding:8px 0
  }
  body.menu-open ul {
    display:block
  }
  .top-bar .container {
    display:flex!important;
    justify-content:space-between;
    align-items:center;
    flex-wrap:nowrap;
    gap:8px
  }
  .site-branding {
    flex:1;
    padding-left:0
  }
  .menu-btn {
    display:flex
  }
}
@media (max-width:900px) {
  .wrapper .carousel {
    grid-auto-columns:calc((100% / 2) - 9px)
  }
  #derniers-articles img {
    aspect-ratio:4/3
  }
  .footer-grid {
    grid-template-columns:repeat(2,1fr)
  }
}
@media (max-width:600px) {
  .wrapper .carousel {
    grid-auto-columns:calc((100% / 2) - 9px)
  }
  #derniers-articles img {
    aspect-ratio:4/5
  }
  .footer-grid {
    grid-template-columns:1fr
  }
}
.footer-social-block p {
  margin-block:auto
}
.footer-social {
  margin:0;
  display:flex;
  flex-wrap:wrap;
  list-style:none;
  padding:0;
  gap:6px
}
.footer-social a {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:40px;
  height:40px;
  border-radius:50%;
  border:1px solid var(--main,#333);
  transition:all .3s ease
}
.footer-social svg {
  width:20px;
  height:20px
}
.footer-social a:hover {
  background:var(--main,#333);
  color:var(--bg,#fff)
}
@media (min-width:768px) {
  .container {
    max-width:750px
  }
  .col-sm-6 {
    float:left
  }
  .col-sm-6 {
    width:50%
  }
  
    .bloc-media {
    grid-template-columns: 1fr 1fr;
    align-items: stretch;
  }
  .image-ratio{
    /*! align-items: unset */
  }
  .bloc-media p:first-child{
  margin-top: 0
}
}
@media (min-width:992px) {
  .top-bar .container {
    display:-webkit-flex;
    display:flex;
    -webkit-align-items:center;
    align-items:center;
    padding:0;
    /*! justify-content: space-between; */
  }
  .search-toggle-container {
    order:2
  }
  .cards {
    grid-template-columns:repeat(4,minmax(150px,1fr));
    justify-items:flex-start
  }
  .container {
    max-width:970px
  }
  .col-md-4,
  .col-md-6,
  .col-md-8 {
    /*! float:left; */
  }
  .col-md-6 {
    width:50%
  }
  .col-md-4 {
    width:33.33333333%;
  }
  #site-navigation {
    position:static;
    transform:none!important;
    width:auto;
    height:auto;
    background:none;
    padding:0;
    overflow:visible
  }
  body.menu-open {
    overflow:auto
  }
  .menu-btn {
    display:none
  }
}
@media (min-width:1200px) {
  .container {
    max-width:1170px
  }
  .col-lg-4,
  .col-lg-8 {
    float:left
  }
  .col-lg-8 {
    width:66.66666667%
  }
  .col-lg-4 {
    width:33.33333333%
  }
}
