/*
 Theme Name:   Mearas - byCrofte
 Template:     Divi
 Text Domain:  Mearas
 Description:  Divi Child Theme for Mearas.fr website
 Author:       Gaëlle Parent & Michaël Crofte
 Author URI:   https://www.bycrofte.fr/
 Version:      0.1
*/

:root  {
    /****** Useful colors *****/
    --green-nh:         #759858; --compl-violet: #7b5898; --triade-blue: #587598; --triade-purple: #985875;
    --dark-gold:        #643a16;
    --medium-gold:      #b48043; --compl-blue: #4477b3; --triade-cyan: #44b380; --triade-violet: #8044b3;
    --light-gold:       #ebbf78;
    --bg-darkblue:      #18161b;
     
    /*******************************************/
}

.facebook-icon span:before {
    content: "\e0aa"!important;
    margin-right: 0!important;
}

.instagram-icon span:before {
    content: "\e09a"!important;
    margin-right: 10px !important;
}

.et_left_sidebar #sidebar {
    padding-right: 15px;
}

#logo {
    margin-top: 0.5em;
    max-height: 229%;
}

.et-fixed-header #logo {
    margin-top: 0;
    max-height: 80%;
}

.et_left_sidebar #sidebar {
    margin-top: 2.5em;
}

.et_pb_tab_content {
    text-align: left;
}

#comment {
    width: 100%;
}

.current_page_parent a,
.current_page_item a {
    font-weight: bolder;
    text-decoration: underline!important;
}

.et_pb_blog_grid .et_pb_image_container img {
    /*max-height: 200px;*/
}
/* remplace le code précédent qui écrasait l'image */
.et_pb_blog_0 .et_pb_post .entry-featured-image-url, .et_pb_blog_0 .et_pb_post .et_pb_slides, .et_pb_blog_0 .et_pb_post .et_pb_video_overlay {
    max-height: 230px;
}

.woocommerce #content div.product div.summary, .woocommerce div.product div.summary, .woocommerce-page #content div.product div.summary, .woocommerce-page div.product div.summary {
    width: 70%;
}

.phyto-marque-image div.et_pb_testimonial_portrait {
    margin-left: 0px;
}


/**************************************************************************************/
/**************************************************************************************/
/**************************************************************************************/
/**************************************************************************************/
/**************************************************************************************/
/*******************************   BYCROFTE CUSTOMS   *********************************/
/**************************************************************************************/
/**************************************************************************************/
/**************************************************************************************/
/**************************************************************************************/
/**************************************************************************************/


/* HEADER */
#main-header {
    background-color: transparent;
}
.logo_container a {
    z-index: 100000;
    position: relative;
}
#main-header #et-top-navigation {
    position: relative;
    top: -9px;
}
#et-main-area {
    margin-top: -110px; /*Gère la transparence du menu et sa superposition avec la hero section*/
}

#mega-menu-wrap-primary-menu #mega-menu-primary-menu > li.mega-menu-item > a.mega-menu-link {
    font-size: 15px;
    font-weight: 400;
    color: #ebbf78;
    transition: .3s ease-in-out;
}
#mega-menu-wrap-primary-menu #mega-menu-primary-menu > li.mega-menu-item > a.mega-menu-link:hover,
#mega-menu-wrap-primary-menu #mega-menu-primary-menu > li.mega-menu-item > a.mega-menu-link:active,
#mega-menu-wrap-primary-menu #mega-menu-primary-menu > li.mega-menu-item > a.mega-menu-link:focus {
    font-weight: 600;
    color: #759858;
}
#mega-menu-wrap-primary-menu #mega-menu-primary-menu > li.mega-menu-item.mega-current-menu-item > a.mega-menu-link,
#mega-menu-wrap-primary-menu #mega-menu-primary-menu > li.mega-menu-item.mega-current-menu-ancestor > a.mega-menu-link,
#mega-menu-wrap-primary-menu #mega-menu-primary-menu > li.mega-menu-item.mega-current-page-ancestor > a.mega-menu-link {
    color: #fff;
    font-weight: normal;
}
#mega-menu-wrap-primary-menu #mega-menu-primary-menu > li.mega-menu-item.mega-toggle-on > a.mega-menu-link {
    color: #fff;
    font-weight: normal;
}

nav#top-menu-nav {
    position: relative;
    top: -8px;
}
#main-header {
    -webkit-box-shadow: 0 1px 0 rgba(0,0,0,0);
    box-shadow: 0 1px 0 rgba(0,0,0,0);
}

/* MEGAMENU */
/*.mega-sub-menu {display:block !important; visibility:visible !important;}*/
#mega-menu-wrap-primary-menu #mega-menu-primary-menu > li.mega-menu-megamenu > ul.mega-sub-menu {
    width: 95vw;
    left: -96%;
    box-shadow: 0 10px 5px 0px rgba(0,0,0,0.3);
    background-image: linear-gradient(39deg,#18161b 0%,#18161b 64%,#63492d 100%);
    background-color: #18161b;
}


/* MegaMenu PROMO Animation*/
li.mega-promo {
    display: block !important;
    background: #020305 url('images/megamenu-promo-line-bg-forest.png') no-repeat center center !important;
    text-align: center !important;
    font-weight: bold;
    height: 100% !important;
    width: 100% !important;
}
li.mega-promo a {
    color: white;
    display: block;
    text-align: center;
    font-size: 1.5em;
    animation: shake 3s ease infinite;
}
@keyframes shake {
    0% { transform: translate(0, 0) rotate(0); }
    2% { transform: translate(-2px, 2px) rotate(-2deg); }
    4% { transform: translate(2px, -2px) rotate(2deg); }
    6% { transform: translate(-2px, 2px) rotate(-2deg); }
    8% { transform: translate(2px, -2px) rotate(2deg); }
    10% { transform: translate(-2px, 2px) rotate(-2deg); }
    12% { transform: translate(2px, -2px) rotate(2deg); }
    14% { transform: translate(-2px, 2px) rotate(-2deg); }
    16% { transform: translate(2px, -2px) rotate(2deg); }
    18% { transform: translate(-2px, 2px) rotate(-2deg); }
    20% { transform: translate(0, 0) rotate(0); }
    100% { transform: translate(0, 0) rotate(0); }
}

/*particles animation*/
.glow {
  position: absolute;
  top: 50%;
  left: 50%;
  border-radius: 50%;
  -webkit-animation: glow 3s linear 0s infinite alternate;
}
.particles {
  position: absolute;
  top: calc(50% - 50px);
  left: calc(50% - 50px);
  width: 100px;
  height: 100px;
  pointer-events: none;
}
.rotate {
  position: absolute;
  top: calc(50% - 5px);
  left: calc(50% - 5px);
  width: 10px;
  height: 10px;
}
.angle {
  position: absolute;
  top: 0;
  left: 0;
}
.size {
  position: absolute;
  top: 0;
  left: 0;
}
.position {
  position: absolute;
  top: 0;
  left: 0;
}
.pulse {
  position: absolute;
  top: 0;
  left: 0;
}
.particle {
  position: absolute;
  top: calc(50% - 5px);
  left: calc(50% - 5px);
  width: 10px;
  height: 10px;
  border-radius: 50%;
}
.rotate {
  -webkit-animation: rotate 20s linear 0s infinite alternate;
}
.pulse{
  -webkit-animation: pulse 1.5s linear 0s infinite alternate;
}

@-webkit-keyframes glow {
  0% {
    transform: rotate(0deg);
    box-shadow: 0 0 60px 20px #f99f56, 25px 15px 50px 10px #fff, -5px -25px 30px 5px #fff;
  }
  100% {
        transform: rotate(5deg);
    box-shadow: 0 0 90px 20px #f99f56, 35px 20px 40px 10px #fff, -30px -30px 40px 5px #fff;
  }
}

@-webkit-keyframes rotate {
  0% {
    -webkit-transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
  }
}

@-webkit-keyframes angle {
  0% {
    -webkit-transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
  }
}

@-webkit-keyframes size {
  0% {
    -webkit-transform: scale(.2);
  }
  100% {
    -webkit-transform: scale(.6);
  }
}

@-webkit-keyframes position {
  0% {
    -webkit-transform: translate3d(0,0,0);
    opacity: 1;
  }
  50% {
    opacity: 1;
  }
  100% {
    -webkit-transform: translate3d(100px,100px,0);
    opacity: 0;
  }
}

@-webkit-keyframes pulse {
  0% {
    -webkit-transform: scale(1);
  }
  100% {
    -webkit-transform: scale(.5);
  }
}

@-webkit-keyframes particle {
  0% {
    box-shadow: inset 0 0 20px 20px #e88300, 0 0 50px 10px #e85200, inset 0 0 80px 80px #ffa626;
  }
  33.33% {
    box-shadow: inset 0 0 20px 20px #e88300, 0 0 130px 10px #e85200, inset 0 0 50px 50px #ffa626;
  }
  33.34% {
    box-shadow: inset 0 0 20px 20px #ffa626, 0 0 50px 10px #ff8226, inset 0 0 80px 80px #ffac52;
  }
  66.66% {
    box-shadow: inset 0 0 20px 20px #ffa626, 0 0 130px 10px #ff8226, inset 0 0 50px 50px #ffac52;
  }
  66.67% {
    box-shadow: inset 0 0 20px 20px #e8ae48, 0 0 50px 10px #e89f48, inset 0 0 80px 80px #e8d671;
  }
  100% {
    box-shadow: inset 0 0 20px 20px #e8ae48, 0 0 130px 10px #e89f48, inset 0 0 50px 50px #e8d671;
  }
}

.rotate .angle:nth-child(1){
  /* change the angle every 2 seconds */
  -webkit-animation: angle 10s steps(5) 0s infinite;
}
.rotate .angle:nth-child(1) .size{
  /* change the size of the particle every 2 seconds */
  -webkit-animation: size 10s steps(5) 0s infinite;
}
.rotate .angle:nth-child(1) .particle{
  /* animate the glow and change the color every 2 seconds */
  -webkit-animation: particle 6s linear infinite alternate;
}
.rotate .angle:nth-child(1) .position{
  /* animate the fly out of the particle and its fade out at the end */
  -webkit-animation: position 2s linear 0s infinite;
}

.rotate .angle:nth-child(2){
  /* change the angle every 2 seconds */
  -webkit-animation: angle 4.95s steps(3) -1.65s infinite;
}
.rotate .angle:nth-child(2) .size{
  /* change the size of the particle every 2 seconds */
  -webkit-animation: size 4.95s steps(3) -1.65s infinite alternate;
}
.rotate .angle:nth-child(2) .particle{
  /* animate the glow and change the color every 2 seconds */
  -webkit-animation: particle 4.95s linear -3.3s infinite alternate;
}
.rotate .angle:nth-child(2) .position{
  /* animate the fly out of the particle and its fade out at the end */
  -webkit-animation: position 1.65s linear 0s infinite;
}

.rotate .angle:nth-child(3){
  /* change the angle every 2 seconds */
  -webkit-animation: angle 13.76s steps(8) -6.88s infinite;
}
.rotate .angle:nth-child(3) .size{
  /* change the size of the particle every 2 seconds */
  -webkit-animation: size 6.88s steps(4) -5.16s infinite alternate;
}
.rotate .angle:nth-child(3) .particle{
  /* animate the glow and change the color every 2 seconds */
  -webkit-animation: particle 5.16s linear -1.72 infinite alternate;
}
.rotate .angle:nth-child(3) .position{
  /* animate the fly out of the particle and its fade out at the end */
  -webkit-animation: position 1.72s linear 0s infinite;
}

.rotate .angle:nth-child(5) .position{
  /* animate the fly out of the particle and its fade out at the end */
  -webkit-animation: position 2.45s linear 0s infinite;
}

/* END MegaMenu PROMO */



.mega-menu-scd-row {
    margin-top: 13px !important;
}
ul.mega-sub-menu li.categ-more a {
    color: #53b443 !important;
}
/*Grosses colonnes*/
#main-header .mega-naturopathie {
    border-radius: 12px !important;
    background-image: linear-gradient(180deg,rgba(119,179,67,0.15) 0%,rgba(119,179,67,0) 50%) !important;
    margin-right: 10px !important;
    /* ICI la grosse col de couleur verte*/
}
#main-header .mega-cheval {
    border-radius: 12px !important;
    background-image: linear-gradient(180deg,rgba(179,127,67,0.27) 0%,rgba(179,127,67,0) 50%) !important;
    margin-right: 10px !important;
    /* ICI la grosse col de couleur or */
}
#main-header .mega-autre .mega-autre-cavalier {
    border-radius: 12px !important;
    background-image: linear-gradient(180deg,rgba(67,135,178,0.27) 0%,rgba(67,135,178,0) 64%,rgba(67,135,178,0) 100%) !important;
    /* ICI la petite col de couleur multiple*/
}
#main-header .mega-autre .mega-autre-ecurie {
    border-radius: 12px !important;
    background-image: linear-gradient(180deg,rgba(144,67,175,0.27) 0%,rgba(144,67,175,0) 64%,rgba(144,67,175,0)) !important;
    /* ICI la petite col de couleur multiple*/
}
#main-header .mega-autre .mega-autre-chiens {
    border-radius: 12px !important;
    background-image: linear-gradient(180deg,rgba(176,174,66,0.27) 0%,rgba(176,174,66,0) 64%,rgba(176,174,66,0) 100%) !important;
    /* ICI la petite col de couleur multiple*/
}
/* Permet d'admettre la marge de 10px entre la naturo et le cheval imposé sur .mega-naturopathie et .mega-cheval */
#mega-menu-wrap-primary-menu #mega-menu-primary-menu li.mega-menu-megamenu > ul.mega-sub-menu > li.mega-menu-row > ul.mega-sub-menu > li.mega-menu-columns-2-of-5 {
    width: calc( 40% - 10px );
}


#mega-menu-wrap-primary-menu #mega-menu-primary-menu > li.mega-menu-megamenu > ul.mega-sub-menu li.mega-menu-column > ul.mega-sub-menu > li.mega-menu-item h4.mega-block-title,
#main-header .mega-autre .mega-autre-chiens h4,
#main-header .mega-autre .mega-autre-cavalier h4,
#main-header .mega-autre .mega-autre-ecurie h4 {
    color: #c5c5d5;
    font-family: 'Cormorant Garamond',Georgia,"Times New Roman",serif;
    font-size: 35px;
    font-weight: normal;
    text-align: center;
    text-transform: none !important;
    margin-bottom: 18px;
}
#mega-menu-wrap-primary-menu .mega-naturopathie h4.mega-block-title {
    color: #53b443 !important;
}
#mega-menu-wrap-primary-menu .mega-cheval h4.mega-block-title {
    color: #b48043 !important;
}
#main-header .mega-autre .mega-autre-cavalier h4 {
    color: #d8f1ff !important;
    font-size: 32px;
    padding: 14px 0 0 0;
}
#main-header .mega-autre .mega-autre-ecurie h4 {
    color: #8f42ad !important;
    font-size: 32px;
    padding: 14px 0 0 0;
}
#main-header .mega-autre .mega-autre-chiens h4 {
    color: #b0ae42 !important;
    font-size: 32px;
    padding: 14px 0 0 0;
}
#main-header .mega-autre .mega-autre-cavalier,
#main-header .mega-autre .mega-autre-ecurie {
    margin-bottom: 20px;
}
#mega-menu-wrap-primary-menu h5 {
    color: white;
    font-size: 18px;
    font-weight: bold;
    font-family: 'Roboto', Helvetica, Arial, Lucida, sans-serif;
}

/*colonne Naturo*/
#naturo-products {
    display: flex;
    gap: 5px;
}
#naturo-products .naturo-col-3 {
    flex: 1;
}
ul#naturo-follow-img-list li > a {
    display: block;
    background-color: #63492d;
    background-size: cover;
    width: 220px;
    height: 90px;
    border-radius: 8px;
    color: white;
    text-align: center;
    font-size: 20px;
    line-height: 90px;
    text-shadow: 0 3px 3px rgba(0,0,0,0.5);
    margin-bottom: 17px;
    transition: all 0.3s ease-in-out;
}
ul#naturo-follow-img-list li > a:hover,
ul#naturo-follow-img-list li > a:focus,
ul#naturo-follow-img-list li > a:active {
    line-height: 80px;
}
ul#naturo-follow-img-list li > a.follow-img-1 {
    background: url('images/mega-bg-btn-naturo-follow-1.jpg') no-repeat center center;
}
ul#naturo-follow-img-list li > a.follow-img-2 {
    background: url('images/mega-bg-btn-naturo-follow-2.jpg') no-repeat center center;
}
ul#naturo-follow-img-list li > a.follow-img-3 {
    background: url('images/mega-bg-btn-naturo-follow-3.jpg') no-repeat center center;
}

#naturo-products .naturo-col-3.col-simple-list ul {
    padding-left: 10px;
}
#naturo-products .naturo-col-3.col-simple-list ul li a {
    color: white;
    font-weight: 400;
    line-height: 1em;
}
#naturo-products-list ul li a {
    color: white;
    font-size: 18px;
    font-weight: bold;
    font-family: 'Roboto', Helvetica, Arial, Lucida, sans-serif;
}
#naturo-products-list ul li ul {
    display: flex;
    gap: 5px;
    flex-wrap: wrap;
    justify-content: flex-start; /* aligne à gauche */
}
#naturo-products-list ul li ul li {
    flex: 0 1 calc(33.333% - 5px); /* 3 colonnes par ligne */
    box-sizing: border-box;
}
#naturo-products-list ul li ul li a {
    display: block;
    background-color: #63492d;
    background-size: cover;
    width: 220px;
    height: 65px;
    border-radius: 8px;
    color: white;
    text-align: center;
    font-size: 15px;
    line-height: 65px;
    text-shadow: 0 3px 3px rgba(0,0,0,0.5);
    margin-bottom: 0px;
    transition: all 0.3s ease-in-out;
}
#naturo-products-list ul li ul li.categ-fleurs-de-bach a {
    background: url('images/mega-bg-btn-naturo-fleurs-de-bach.jpg') no-repeat center center;
}
#naturo-products-list ul li ul li.categ-gemmotherapie-macerats-de-bourgeons a {
    background: url('images/mega-bg-btn-naturo-gemmotherapie.jpg') no-repeat center center;
}
#naturo-products-list ul li ul li.categ-huiles-vegetales a {
    background: url('images/mega-bg-btn-naturo-huiles-vegetales.jpg') no-repeat center center;
}
#naturo-products-list ul li ul li.categ-hydrolats a {
    background: url('images/mega-bg-btn-naturo-hydrolats.jpg') no-repeat center center;
}
#naturo-products-list ul li ul li.categ-plantes-pures-en-vrac a {
    background: url('images/mega-bg-btn-naturo-plantes-pures-en-vrac.jpg') no-repeat center center;
}
#naturo-products-list ul li ul li a:hover,
#naturo-products-list ul li ul li a:focus,
#naturo-products-list ul li ul li a:active {
    line-height: 43px;
}


/* Colonne Equipement du Cheval */
#horse-stuff-products {
    display: flex;
    gap: 5px;
    flex-wrap: wrap;
    justify-content: flex-start; /* aligne à gauche */
}
#horse-stuff-products .horse-stuff-col-3 {
    flex: 0 1 calc(33.333% - 5px); /* 3 colonnes par ligne */
    box-sizing: border-box;
    margin-bottom: 15px;
}
#horse-stuff-products .horse-stuff-col-3 > ul {
    background-image: linear-gradient(180deg,rgba(180, 128, 67,1) 0%,rgba(180, 128, 67,0) 45%);
    padding: 25px 5px 5px 5px;
    border-radius: 8px 8px 0 0;
    margin-top: -5px;
}
#horse-stuff-products .horse-stuff-col-3 ul li a {
    color: white;
    font-weight: 400;
    line-height: 1em;
}
#horse-stuff-products .horse-stuff-col-3.horse-stuff-img01 > ul {
    background: url('images/megamenu-equipement-cheval-bg-col-tapis-amortisseurs.png') no-repeat top center;
}
#horse-stuff-products .horse-stuff-col-3.horse-stuff-img02 > ul {
    background: url('images/megamenu-equipement-cheval-bg-col-protections.png') no-repeat top center;
}
#horse-stuff-products .horse-stuff-col-3.horse-stuff-img03 > ul {
    background: url('images/megamenu-equipement-cheval-bg-col-couvertures.png') no-repeat top center;
}
#horse-stuff-products .horse-stuff-col-3.horse-stuff-img04 > ul {
    background: url('images/megamenu-equipement-cheval-bg-col-selles-briderie.png') no-repeat top center;
}
#horse-stuff-products .horse-stuff-col-3.horse-stuff-img05 > ul {
    background: url('images/megamenu-equipement-cheval-bg-col-longes-licols.png') no-repeat top center;
}

/* Colonne AUTRES */
#autres-products ul.mega-menu-categ-1 > li a {
    display: block;
    text-align: center;
    color: white;
    font-size: 16px;
    font-weight: 500;
    font-family: 'Roboto', Helvetica, Arial, Lucida, sans-serif;
}
li.mega-autre li.widget_custom_html {
    padding: 0 !important;
}


#mega-menu-wrap-primary-menu .mega-menu-toggle .mega-toggle-block-0 .mega-toggle-animated-inner,
#mega-menu-wrap-primary-menu .mega-menu-toggle .mega-toggle-block-0 .mega-toggle-animated-inner::before,
#mega-menu-wrap-primary-menu .mega-menu-toggle .mega-toggle-block-0 .mega-toggle-animated-inner::after {
    width: 27px;
    height: 2px;
    background-color: #ebbf78;
}
#mega-menu-wrap-primary-menu .mega-menu-toggle .mega-toggle-blocks-right .mega-toggle-block:only-child {
    margin-left: 16px;
}
#et-top-navigation #et_mobile_nav_menu {
    visibility: hidden;
    opacity: 0;
} /*Désactive le menu mobile classique*/




/* GENERIC */
.ornament-block {
    position: relative;
    overflow: visible !important;
}
.ornament-block::after,.ornament-block::before {
    display: block;
    content: " ";
    position: absolute;
    pointer-events: none;
}
/** SIMPLE CORNERS **/
.ornament-block.simple-corner-after::after,.ornament-block.simple-corner-before::before {
    width: 150px;
    height: 156px;
    top: -35px;
    right: -20px;
    background: url('images/ui/ui-ornament-gold-simple-angle.png') no-repeat center center;
    background-size: cover;
}
.ornament-block.simple-corner-before::before {
    transform: rotate(180deg);
}
.ornament-block.simple-corner-before::before {
    bottom: -35px;
    left: -20px;
    top: auto;
    right: auto;
}

/** GOLD CENTERED **/
.ornament-block.gold-center-before::before,
.ornament-block.gold-center-after::after {
    width: 251px;
    height: 48px;
    top: -31px;
    left: 50%;
    transform: translateX(-50%);
    background: url('images/ui/ui-ornament-gold-center.png') no-repeat center center;
    background-size: cover;
}
.ornament-block.gold-center-after::after {
    transform: rotate(180deg) translateX(50%);
}
.ornament-block.gold-center-after::after {
    bottom: -31px;
    left: 50%;
    top: auto;
}




/* HOME */
.home-bullet-point img {
    float: left;
}
.home-bullet-point h3 {
    position: relative;
    top: 28px;
    left: 10px;
}

#home-actu article {
    position: relative;
    overflow: visible;
    padding-bottom: 52px;
}
#home-actu a.more-link {
    background-image: linear-gradient(39deg,#b48043 0%,#b48043 64%,#ebbf78 100%);
    background-color: #B48043;
    color: white !important;
    padding: 8px 12px;
    position: absolute;
    right: -10px;
    bottom: -15px;
    transition: all 0.3s ease-in-out;
}
#home-actu a.more-link:hover,
#home-actu a.more-link:focus,
#home-actu a.more-link:is-active {
    background-image: linear-gradient(39deg,#b48043 0%,#ebbf78 64%,#ebbf78 100%);
    background-color: #ebbf78;
}

#logo-mearas .et_pb_section_video_bg {
    opacity: 0.5;
}
#logo-mearas::before, #logo-mearas::after {
    content: "";
    background: linear-gradient(180deg,#18161B 0%,#18161B00 100%);
    width: 100%;
    display: block;
    height: 150px;
    z-index: 9;
    position: absolute;
    top: 0;
}
#logo-mearas::after {
    background: linear-gradient(0deg,#18161B 0%,#18161B00 100%);
    top: auto;
    bottom: 0;
}

#contact .et_pb_contact_field_checkbox label {
    color: #ebbf78;
}
#contact .et-pb-contact-message p {
    text-align: center;
    color: #fff;
    font-size: 15px;
    font-weight: 300;
}


/* FOOTER */
footer .et_mobile_nav_menu {display: none !important;} /*retrait du menu mobile*/

footer .et_pb_menu__wrap,
footer .et_pb_menu__menu,
footer .et-menu-nav {
    display: block !important;
}
footer nav {
    text-align: center !important;
    width: 100% !important;
    display: block !important;
}
footer nav ul#menu-menu-principal-footer {
    list-style-type: none !important;
    display: block !important;
}
footer nav ul#menu-menu-principal-footer li::before {
    content: none !important;
}
footer nav ul#menu-menu-principal-footer li {
    padding-left: 0px !important;
    margin-left: 0px !important;
    margin-bottom: 0px !important;
    display: block !important;
    margin-top: 0 !important;
}
footer nav ul#menu-menu-principal-footer a {
    color: white !important;
    transition: 0.35s ease-in-out !important;
}
footer nav ul#menu-menu-principal-footer > li a {
    display: block !important;
    padding: 10px 0 10px 0 !important;
    border-bottom: 1px solid rgba(235, 191, 120, 0.2) !important;
}
footer nav ul#menu-menu-principal-footer > li.current_page_item a {
    color: #ebbf78 !important;
}
footer nav ul#menu-menu-principal-footer li.current_page_item > a {
    color: #ebbf78 !important;
}
footer nav ul#menu-menu-principal-footer > li.current_page_item > a {
    background: linear-gradient(90deg, rgba(235, 191, 120, 0) 0% , rgba(235, 191, 120, 0.08) 25% , rgba(235, 191, 120, 0.11) 50% , rgba(235, 191, 120, 0.11) 75% , rgba(235, 191, 120, 0) 100%) !important;
}
footer nav ul#menu-menu-principal-footer > li > a {
    background: linear-gradient(90deg, rgba(235, 191, 120, 0) 0% , rgba(235, 191, 120, 0) 25% , rgba(235, 191, 120, 0) 50% , rgba(235, 191, 120, 0) 75% , rgba(235, 191, 120, 0) 100%) !important;
}
footer nav ul#menu-menu-principal-footer > li > a:hover,
footer nav ul#menu-menu-principal-footer > li > a:focus,
footer nav ul#menu-menu-principal-footer > li > a:active {
    color: #ebbf78 !important;
}
/*sub-menu*/
footer nav ul#menu-menu-principal-footer > li.menu-item-has-children > a:first-child::after {
    display: none !important;
}
footer .et-db #et-boc .et-l .et_pb_menu_0_tb_footer.et_pb_menu .nav li ul{
    background-color: transparent !important;
}

footer nav ul#menu-menu-principal-footer ul.sub-menu {
    position: static !important;
    background-color: transparent !important;
    border: 0px !important;
    box-shadow: inset 0 5px 4px 3px rgba(0,0,0,0.01) !important;
    opacity: 1 !important;
    visibility: visible !important;
    width: 100% !important;
    padding: 10px 0 8px 0 !important;
}
body.et-db #et-boc .et-l .et_pb_menu_0_tb_footer.et_pb_menu .nav li ul,
body.et-db #et-boc .et-l .et_pb_menu_0_tb_footer.et_pb_menu .et_mobile_menu,
body.et-db #et-boc .et-l .et_pb_menu_0_tb_footer.et_pb_menu .et_mobile_menu ul {
    /* Pour le bug en footer sur produit unique */
    background-color: rgba(0,0,0,0) !important;
}
footer nav ul#menu-menu-principal-footer > li > ul.sub-menu {
    background-color: rgba(0,0,0,0) !important;
    background-image: linear-gradient(180deg, rgba(0,0,0,0.3) 0%, rgba(0,0,0,0) 20%, rgba(0,0,0,0) 100%) !important;
}
footer nav ul#menu-menu-principal-footer > li > ul.sub-menu > li {
    padding: 0px !important;
    margin-left: 0px !important;
    line-height: 0.5em !important;
    text-align: center !important;
}
footer nav ul#menu-menu-principal-footer > li > ul.sub-menu > li a {
    color: rgba(255,255,255,.75) !important;
    border-bottom: none !important;
    width: 100% !important;
}
footer nav ul#menu-menu-principal-footer > li > ul.sub-menu > li a:hover,
footer nav ul#menu-menu-principal-footer > li > ul.sub-menu > li a:focus,
footer nav ul#menu-menu-principal-footer > li > ul.sub-menu > li a:active {
    color: rgba(235, 191, 120, .75) !important;
    background: none !important;
}



/* BOUTIQUE / WOOCOMMERCE */
body.woocommerce-shop #et-main-area,
body.woocommerce-cart #et-main-area,
body.woocommerce-checkout #et-main-area,
body.woocommerce.archive #et-main-area {
    background: rgba(0,0,0,0);
    background: linear-gradient(0deg, rgba(24, 22, 27, 0) 75%, rgb(24, 22, 27) 99%, rgb(24, 22, 27) 100%);
    padding-top: 180px;
}
body.woocommerce-shop #main-content,
body.woocommerce-cart #main-content,
body.woocommerce-checkout #main-content,
body.woocommerce.archive #main-content {
    background: #efefef;
    background-image: 
                linear-gradient(180deg, rgba(24, 22, 27,0) 0%, rgba(24, 22, 27,0) 93%, rgba(24, 22, 27,1) 100%),
                linear-gradient(90deg, rgba(239, 239, 239,0) 0%, rgba(239, 239, 239,1) 50%, rgba(239, 239, 239,0) 100%),
                url('images/ui/bg-seamless-old-paper-texture.jpg');
}
body.woocommerce-checkout #main-content {
    padding-bottom: 120px;
}
.woocommerce-breadcrumb {
    text-align: right;
}
.woocommerce nav.woocommerce-pagination ul {
    border: 0;
}
.woocommerce nav.woocommerce-pagination ul li,
.woocommerce nav.woocommerce-pagination ul {
    border-right: 0;
}
.woocommerce nav.woocommerce-pagination ul li {
    width: 28px;
    height: 28px;
    border-radius: 50%;
}

/* Sidebar widgets */
 .et_left_sidebar #main-content .container::before {
    background-color: #b48043;
    background-image: linear-gradient(90deg, #ebbf78 0%,#b48043 50%,#ebbf78 100%);
}
body.woocommerce-shop .widget_search input,
body.woocommerce.archive .widget_search input {
    border: 1px solid #18161b;
    border-radius: 8px;
    background: #18161b;
    color: white;
}
body.woocommerce-shop .widget_search button,
body.woocommerce.archive .widget_search button {
    background: #18161b;
    color: #ebbf78;
    border: 1px solid #18161b;
    border-radius: 0 8px 8px 0;
    font-size: 12px;
}
body.woocommerce-shop h2.wp-block-heading,
body.woocommerce.archive h2.wp-block-heading {
    font-size: 21px;
    font-weight: bold;
}
body.woocommerce-shop h4.widgettitle,
body.woocommerce.archive h4.widgettitle {
    font-size: 21px;
    font-weight: bold;
}
body.woocommerce-shop h3.widgettitle,
body.woocommerce.archive h3.widgettitle,
body.woocommerce-shop h3.wp-block-heading,
body.woocommerce.archive h3.wp-block-heading {
    font-size: 21px;
    font-weight: bold;
}

/* Accordéon maison */
.mea-products-category-list ul {
    list-style: none;
    margin: 5px 0;
    padding-left: 0;
    background: rgba(24, 22, 27, 0.68);
    color: #ebbf78;
}
/* On cache tous les sous-niveaux par défaut */
.mea-products-category-list ul ul {
    display: none;
    border-left: 1px dotted grey;
}
/* Ligne catégorie */
.mea-products-category-list li {
    position: relative;
    margin-left: 5px !important;
    border-bottom:1px solid #ebbf78;
}
.mea-products-category-list li a {
    display: block;
    padding: 5px 0px 5px 0;
    color: #ebbf78;
    width: calc( 100% - 24px );
}
.mea-products-category-list li a:hover {
    color: #fff !important;
}
/* Bouton + / - */
.mea-cat-toggle {
    position: absolute;
    right: 3px;
    top: 6px;
    width: 20px;
    height: 20px;
    line-height: 19px;
    text-align: center;
    border: 1px solid currentColor;
    font-size: 12px;
    cursor: pointer;
    user-select: none;
}
/* État ouvert */
.mea-products-category-list ul > li.mea-cat-open > ul {
    display: block;
}
.mea-products-category-list ul > li.mea-cat-open > ul > li.mea-cat-open > ul {
    display: block;
}
.mea-cat-open > .mea-cat-toggle::after {
    content: "−";
}
.mea-cat-toggle::after {
    content: "+";
}



/* BOUTIQUE main page*/
.woocommerce-products-header h1 {
    font-size: 50px;
    color: #643a16;
}
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product {
    margin-bottom: 5em;
}
.woocommerce ul.products li.product .woocommerce-loop-category__title,
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product h3 {
    padding: .5em 0;
    margin: 0;
    font-size: 1.35em;
}

.product-type-simple,
.product-type-variable {
    text-align: center;
}
.et_pb_post .related .price {
    text-align: center;
}
body.et-db #et-boc .et-l .et_pb_wc_add_to_cart_0_tb_body.et_pb_module .et_pb_module_inner form.cart .variations td select,
body.et-db #et-boc .et-l .et_pb_wc_add_to_cart_0_tb_body.et_pb_module .et_pb_module_inner form.cart .variations td select::placeholder {
    color: #ebbf78 !important;
    padding:8px;
    font-size: 14px;
}
.et-db #et-boc .et-l .et_pb_wc_add_to_cart form.cart .variations td.value span::after {
    border-top-color: #ebbf78;
    margin-top: 0px;
}
.orderby, .woocommerce div.product form.cart .variations td select,
.woocommerce .quantity input.qty,
.woocommerce-page .quantity input.qty,
.woocommerce #content .quantity input.qty,
.woocommerce-page #content .quantity input.qty,
.woocommerce-cart table.cart td.actions .coupon .input-text,
.woocommerce nav.woocommerce-pagination ul li a:focus,
.woocommerce nav.woocommerce-pagination ul li a:hover,
.woocommerce nav.woocommerce-pagination ul li span.current {
    background-color: #18161b !important;
    color: #ebbf78 !important;
}
.woocommerce ul.products li.product .price,
.woocommerce-page ul.products li.product .price,
.woocommerce ul.products li.product .price del,
.woocommerce-page ul.products li.product .price del {
    color: #ebbf78 !important;
    font-size: 14px;
    background: #18161b;
    max-width: 140px;
    margin: 0 auto !important;
    width: 140px !important;
    display: block;
    border-radius: 8px 8px 0 0;
}
.woocommerce ul.products li.product .button {
    background-image: linear-gradient(25deg,#b48043 0%,#ebbf78 99%,#ebbf78 100%);
    border-radius: 8px;
    margin-top: 0;
}
body.home #homepage-products span.onsale {
    top: -5px;
    left: 0;
    right: auto;
}
body.woocommerce ul.products li.product .onsale, .woocommerce-page ul.products li.product .onsale {
    background: #985875 !important;
    border-radius: 50% !important;
    font-size: 15px;
    font-weight: 600 !important;
    min-height: 60px !important;
    min-width: 50px !important;
    padding: 6px 6px !important;
    top: -10px !important;
    right: -10px !important;
    left: auto !important;
    line-height: 45px !important;
    animation: shake 3s ease infinite;
}
body.single-product span.onsale {
    top: 0px !important;
    right: 60px !important;
}
.woocommerce ul.products li.product a img {
    border-radius: 42px 0;
    border: 2px solid;
}
.woocommerce .widget_price_filter .ui-slider .ui-slider-range, .woocommerce .widget_price_filter .ui-slider .ui-slider-handle {
    background-color: #18161b;
}


/* PRODUIT PAGE */
.et-db #et-boc .et-l .et_pb_wc_add_to_cart_0_tb_body.et_pb_module .et_pb_module_inner form.cart .variations td select,
.et-db #et-boc .et-l .et_pb_wc_add_to_cart_0_tb_body.et_pb_module .et_pb_module_inner form.cart .variations td select::placeholder {
    color: #ebbf78 !important;
}
.ppcp-messages {
    margin-top: 15px;
}



/* CART - PANIER */
.woocommerce table.shop_table {
    background: #18161b;
    color: white;
}
.entry-content thead th, .entry-content tr th {
    color: #ebbf78;
}
.woocommerce a.remove {
    font-size: 2.5em;
}
#add_payment_method table.cart img,
.woocommerce-cart table.cart img,
.woocommerce-checkout table.cart img {
    width: 80px;
    border: 1px solid #ebbf78;
}
.woocommerce-cart .quantity input.qty {
    border: 1px solid #ebbf78;
}
.woocommerce-cart #coupon_code {
    border: 1px solid #ebbf78;
}
.woocommerce-cart h1,
.woocommerce-checkout h1 {
    font-size: 50px;
}
.woocommerce-cart .checkout-button:hover,
.woocommerce-cart #place_order:hover {
    background: rgba(235, 191, 120, .80) !important;
}

/* Jauge free shipping */
.free-shipping-progress {
    margin: 20px 0;
    padding: 16px;
    border-radius: 5px;
    background: #000;
}
.fsp-message {
    margin-bottom: 10px;
    font-size: 22px;
    color: white;
}
.fsp-bar {
    width: 100%;
    height: 10px;
    background: #333;
    border-radius: 20px;
    overflow: hidden;
}
.fsp-bar-inner {
    height: 100%;
    background: linear-gradient(90deg, rgba(235, 191, 120, 0.5), rgba(235, 191, 120, 1));
    width: 0;
    transition: width 0.4s ease;
}


/* CHECKOUT */
.woocommerce-checkout #customer_details {
    margin-bottom: 80px;
}
.woocommerce-checkout #customer_details input {
    background: white;
}
.woocommerce-checkout h3 {
    font-size: 35px;
}



/* ESPACE CLIENT - WOOCOMMERCE*/
.woocommerce-MyAccount-navigation {
    background: #18161b;
    padding: 20px;
    border-radius: 0 0 10px 10px;
    border-top : 4px double #ebbf78;
    border-bottom : 1px solid #ebbf78;
    position: relative;
}
.woocommerce-MyAccount-navigation::after {
    content: "";
    display: block;
    position: absolute;
    width: 251px;
    height: 48px;
    bottom: -31px;
    left: 50%;
    top: auto;
    transform: rotate(180deg) translateX(50%);
    background: url('images/ui/ui-ornament-gold-center.png') no-repeat center center;
    background-size: cover;
}

.woocommerce-MyAccount-navigation ul {
    list-style: none;
    padding: 0;
    margin: 0;
}
.woocommerce-MyAccount-navigation ul li {
    margin-bottom: 8px;
    border-radius: 5px;
    transition: background 0.3s ease-in-out;
}
.woocommerce-MyAccount-navigation ul li a {
    display: block;
    padding: 12px 15px;
    color: white;
    font-weight: bold;
    text-decoration: none;
    border-radius: 5px;
    transition: background 0.3s ease-in-out;
}
.woocommerce-MyAccount-navigation ul li:hover,
.woocommerce-MyAccount-navigation ul li.is-active {
    background: rgba(255,255,255,0.2);
}

.woocommerce-account .woocommerce-MyAccount-content {
    background: rgba(255,255,255,0.85);
    padding: 20px;
    border-top: 4px double #ebbf78;
    border-bottom: 1px solid #ebbf78;
}






/***************************************************************/
/***************************************************************/
/*********************        PLUGINS       ********************/
/***************************************************************/
/***************************************************************/

/*popup*/
.adp-popup .adp-popup-container {
    background: #18161b;
    color: #ebbf78;
}
.adp-popup-inner h2 {
    color: #ebbf78;
}
.adp-popup-type-content .adp-popup-content {
    padding: 30px;
}
.adp-popup.adp-popup-open[data-light-close="true"] .adp-popup-close {
    color: #ebbf78;
}
.adp-popup-overlay {
    background: rgba(24, 22, 27,0.8);
}



/* Caddy */
.cc-window-wrapper {
    background: rgba(24, 22, 27,1);
}
.cc-header .cc-inner-container, .cc-pl-info-header .cc-inner-container {
    background: rgba(24, 22, 27,1);
}
.cc-window .cc-header .cc-nav ul li a {
    color: white !important;
}
.cc-window .cc-header .cc-nav ul li a:hover,
.cc-window .cc-header .cc-nav ul li a:focus,
.cc-window .cc-header .cc-nav ul li a:active {
    color: #ebbf78 !important;
}
.cc-nav li a:hover,
.cc-nav li a:focus,
.cc-nav li a:active {
}
.cc-window .cc-nav ul li a[aria-selected="true"] {
    border-bottom: 3px solid #ebbf78;
}
.cc-fs {
    background-color: rgba(24, 22, 27,1);
}
.cc-cart-container, .cc-sfl-container {
    background-color: rgba(24, 22, 27,1);
}
.cc-fs-title, .cc_item_content {
    color: white;
}
.cc-window a, .cc-window a:visited, .cc-cart-product a, .cc-cart-product a:visited, .cc-poweredby a, .cc-poweredby a:visited {
    color: white !important;
}
.cc-fs-icon svg {
    color: white;
}
#cc-cart .save_for_later_btn {
    color: white !important;
}
#cc-cart .save_for_later_btn:hover {
    color: white !important;
    border-bottom: 1px solid rgb(0, 0, 0) !important;
}
.remove_from_cart_button svg, .remove_from_sfl_button svg {
    width: 17px;
    height: 17px;
    color: var(--cc-icon-color);
}
.cc-pl-upsells label { color: #DDD; }
.slick-arrow {
    color: #ebbf78;
}
.cc-pl-upsells .cc-pl-upsells-slider .slide {
    background: #333;
    border: 0;
    color: white;
}
.slick-slide a {
    color: #fff !important;
}
.slick-slide a:hover {
    color: #ebbf78 !important;
}
.cc-coupon-title svg {
    color: white;
}
a.cc-coupon-title {
    color: white;
}
a.cc-coupon-title:hover {
    color: #ebbf78;
}
.cc-total-text {
    color: white;
}
.cc-cart-actions a.cc-button-primary {
    background-color: #ebbf78;
    color: #333 !important;
}
.cc-cart-actions a.cc-button-primary svg {
    color: #333;
}
.cc-row .cc-title, .cc-empty-msg .cc-title {
    color: white;
}
.cc-window a.cc-button {
    background-color: #ebbf78;
    color: #333 !important;
    transition: 0.2s ease-in-out;
}
.cc-empty-msg {color: white;}
.cc-empty img {
    background: #ebbf78;
    border-radius: 100px;
}
.cc-total-amount bdi {
    color: #ebbf78;
}

/***************************************************************/         /******/
/***************************************************************/         /*    */
/*********************      RESPONSIVE      ********************/         /*    */
/***************************************************************/         /*    */
/***************************************************************/         /***°**/

@media screen and (max-width: 1820px) {

    #mega-menu-wrap-primary-menu #mega-menu-primary-menu > li.mega-menu-megamenu > ul.mega-sub-menu {
        left: -93%;
    }
}
@media screen and (max-width: 1740px) {

    #mega-menu-wrap-primary-menu #mega-menu-primary-menu > li.mega-menu-megamenu > ul.mega-sub-menu {
        left: -87%;
    }
}
@media screen and (max-width: 1680px) {

    #mega-menu-wrap-primary-menu #mega-menu-primary-menu > li.mega-menu-megamenu > ul.mega-sub-menu {
        left: -83%;
    }
}
@media screen and (max-width: 1610px) {

    #mega-menu-wrap-primary-menu #mega-menu-primary-menu > li.mega-menu-megamenu > ul.mega-sub-menu {
        left: -78%;
    }
}
@media screen and (max-width: 1520px) {

    #mega-menu-wrap-primary-menu #mega-menu-primary-menu > li.mega-menu-megamenu > ul.mega-sub-menu {
        width: 95vw;
        left: -77%;
    }
}
@media screen and (max-width: 1440px) { /*----------------------------------------------------off breakpoint*/

    #mega-menu-wrap-primary-menu #mega-menu-primary-menu > li.mega-menu-megamenu > ul.mega-sub-menu {
        left: -65%;
    }
}
@media screen and (max-width: 1350px) {

    #mega-menu-wrap-primary-menu #mega-menu-primary-menu > li.mega-menu-megamenu > ul.mega-sub-menu {
        left: -60%;
    }
}
@media screen and (max-width: 1200px) { /*----------------------------------------------------off breakpoint*/

    #mega-menu-wrap-primary-menu #mega-menu-primary-menu > li.mega-menu-megamenu > ul.mega-sub-menu {
        left: -56%;
    }
    #naturo-products {
        display: block;
    }
    #naturo-products .naturo-col-3.col-simple-list {
        display: inline-block;
        width: 47%;
        vertical-align: top;
        margin-right: 1%;
    }
    #horse-stuff-products {
        display: block;
    }
    #horse-stuff-products .horse-stuff-col-3 {
        display: inline-block;
        width: 47%;
        margin-right: 2%;
        vertical-align: top;
    }

}
@media screen and (max-width: 1105px) {

    #mega-menu-wrap-primary-menu #mega-menu-primary-menu > li.mega-menu-megamenu > ul.mega-sub-menu {
        left: -60.8%;
    }

}
@media screen and (max-width: 1024px) { /*----------------------------------------------------off breakpoint*/
    #logo {
        max-height: 160%;
    }
    .mega-toggle-blocks-right {
        margin-top: 15px;
    }
    #mega-menu-wrap-primary-menu .mega-menu-toggle + #mega-menu-primary-menu {
        top: 40px;
    }
    #mega-menu-wrap-primary-menu .mega-menu-toggle + #mega-menu-primary-menu {
        box-shadow: 0px 10px 10px rgba(0,0,0,0.2);
    }
    #mega-menu-wrap-primary-menu #mega-menu-primary-menu > li.mega-menu-item.mega-current-menu-item > a.mega-menu-link,
    #mega-menu-wrap-primary-menu #mega-menu-primary-menu > li.mega-menu-item.mega-current-menu-ancestor > a.mega-menu-link,
    #mega-menu-wrap-primary-menu #mega-menu-primary-menu > li.mega-menu-item.mega-current-page-ancestor > a.mega-menu-link {
        color: #333;
    }
    #mega-menu-wrap-primary-menu .mega-menu-toggle + #mega-menu-primary-menu {
        background: #18161b;
    }

    #mega-menu-wrap-primary-menu #mega-menu-primary-menu li.mega-menu-megamenu > ul.mega-sub-menu > li.mega-menu-row > ul.mega-sub-menu > li.mega-menu-columns-2-of-5 {
        width: calc( 50% - 10px );
        display: inline-block;
        vertical-align: top;
        float: none;
    }
}
@media screen and (max-width: 980px) { /*----------------------------------------------------off breakpoint*/
    #logo {
        max-height: 132%;
    }
    .home-bullet-point {
        display: inline-block;
        width: 290px;
        margin-right: 15px;
        margin-bottom: 5px !important;
    }
    .home-bullet-point img {
        float: left;
        max-width: 50px;
    }
    .home-bullet-point h3 {
        top: 15px;
    }

    body.post-type-archive-product #content-area {
        margin-top: 55px;
    }

}
@media screen and (max-width: 768px) { /*----------------------------------------------------off breakpoint*/
    #logo {
        max-height: 200%;
    }


    #mega-menu-wrap-primary-menu #mega-menu-primary-menu li.mega-menu-megamenu > ul.mega-sub-menu > li.mega-menu-row > ul.mega-sub-menu > li.mega-menu-columns-2-of-5 {
        width: 100%;
        display: block;
        float: none;
    }
}
@media screen and (max-width: 480px) { /*----------------------------------------------------off breakpoint*/
    .et_header_style_left #logo {
        max-width: 70%;
    }
    #main-header #et-top-navigation {
        position: relative;
        top: 15px;
    }
    nav#top-menu-nav {
        position: relative;
        top: 0px;
        margin-bottom: 14px;
    }
    #et-top-navigation .et-cart-info,
    #et-top-navigation #et_mobile_nav_menu {
        float: none;
        display: block;
        font-size: 19px;
    }
    #et-top-navigation .et-cart-info {
        margin-top: 0px;
        margin-bottom: 10px;
    }
    .mobile_menu_bar::before {
        left: 15px;
    }
}
@media screen and (max-width: 320px) {
 
}


/*MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWWWWWWMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWWWNNNNNNWWMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWWNXKKK00KXNWMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWWNXK0OOOkkkOKWMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWWNXK0OOxolc:cxXWMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWWNK0Okdc;''ccl0NWMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWWWWWWWWMMMMWNXK0Odc''..,odxKNWMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWWNNXXXXXXNNNNXK0Oko,.,'.':xxkXWMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWWXK0000000KK00OOxl'.,'.',okdONWMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWWXOxddxkkOOOOkkd:..'..'';oldKWMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWXkl:::::loxdl;......''',,:ONWMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWXkoo:;,',,........'....;kNWMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWNKkkd:::;:,...',,'....cONWMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWNKO0dcdl::,,::;....'l0NWMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWWWWWWWWWWWNNNWWWWWWWWWWWWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWWWNX0OOOOxlllc;'';;,:dOKNWMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWWWWNNNXXXXXKKKKKKKKKKKKKKKXXXXXNNNNNNWWWWWWWWWWWWWWWWWWWWWWNNNNNNNNXKXNXK0kdl::cl:,:dOKXWMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMWWNNXXXKKK0000000OOOOOOOOOOOOOOOO000000KKKKKKXXXXXXXXXXXXXXXXXKKKKKKXXXXNNNNWWNKd::::::;,lOKXWMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMWWWNXXKK0000OOOOOkkxxddddoooooodddxxxkkkOOOOOOOOOO00000000000000000000KKKKK00KXWMMWXOddddddlcdOKNWMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMWWNXXKK000OOkxolcc:::;;::;;;,,;;,,,,,,,,;;::clloddxxxkkkkkkkkOOOOkkkkxxxxkkOO0XWMMMMMMWWNNWWNKOkkKWMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMWWNXXKK00OxolccclodxkOO00KKK000000Okkxddolcc:;;,,,,,,;;;;;;::::ccccllodxxkO0XNWWMMMMMMMMMMMMMMMMWWWWMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMWWNXXK0OxooodxOKXXNNWWWWWWWWWWWWWWWWWNNNNNXXKKKK0000OOOOOkkkkkkkO00KKXNNNNWWWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMWWNXKOxxxOKXNNWWWWWWMMMMMMMMMMMMMMMMMWWWWWWNNNNNNNWWWWWWWWWWWWWWWWWWWWWMMMMMMMMMMMWWWWWWWWWWWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMWWNKOO0XNWWWWWWWWWWWMMMMMMMMMMMMMWWWNNNNXXXXXXXXNNNWWWWWWMMMMMMMMMMMMMMMMMMWWWNNNNNXXXXXXXXXXNNNWWWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMWXXNWWWMMMWWNNXXXNNWMMMMMMMWWWNNXXKKK00000000000KKKXNNNWWMMMMMMMMMMMMMWWNNXXKKKK00000000000000KKXXNWWWMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMWWWWWWWWNNXXKK00KKXNWMMWWWNNXKK00OOOOOkkkkkkkkkkOOO00KKXNNWMMMMMMMWWWNXXKK00OOOOOkkkkkkkkkkkkOOOO0KKXNWWMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMWWWWNNNNNXXKKK00OOkkkOKXNWWNXKK00OOOkkdolc:;,,,,,,;:cldxkOO00KNNWMMWWWNXXK00OOOkxdolc:;,,,,,,,;;:cldxkOO0KXNWWMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMWWNXKKK00000OOOOkxo:cxk0KXXKK00OOkxoc;,.................,:oxxO0KXNNWNNXK00OOkdl:;'...................';cdkO0KXNWWMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMWWNXK0OOOOkkkxdoc;'.'x0kO0000OOkdc;,'',,;;;;,,''............',lxO0KKXKK00Okdc;,,,;cclc::;;,'..............;oxO0KXNWMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMWNXOdolcc:;;'.....,xNKkkOOOkdc;;;coxk000Okdoc;,...............;dkO000OOxl;,;cdk0KXXKK0Oxo:,'...............;okOKXNWMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMWWKdc;,..........;OWMXkkkdl::ldk0XNNWWWWWNNKOxc,...............'okkOOxc;;cdOKXNWWWWWWWNNKOxc,...............'lkO0XNWMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMWNXKOxl,....'''c0NNWKxlcclxOKXNWWWWMMMMMMMWWNXOl,......''......'lkxl:;lx0XNWWMMMMMMMMMMMWWXOo,........'......lkO0XNWMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMWNXkl'..;::lkOxoccldkKXNWWMMMMMMMMMMMMMMMMWN0l'.',;,,,,'....':c:lx0NWMMMMMMMMMMMMMMMMMMWN0o,..''''','....'oOOKNWMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMWXx::d0KkONN0dokKNWMMMMMMMMMMMMMMMMMMMMMMWNk:,;clc:::,..':dddkKNWMMMMMMMMMMMMMMMMMMMMMWN0l'',;:;,;;....:k00XNWMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMWNXkxKWWXXWMMXk0XWMMMMMMMMMMMMMMMMMMMMMMMMWN0o:ldkxxoldkxOXN00XWMMMMMMMMMMMMMMMMMMMMMMMMWXx:,clol:::'..,x00KNWMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMWX00NNKKXWMMXO0XWMMMMMMMMMMMMMMMMMMMMMMMMMWNKdlxKNXKxkXXKNN00XNMMMMMMMMMMMMMMMMMMMMMMMMMWNOl:oxkxoll;,;dK00XNWMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMWX0KXOdxKWMMXO0XWMMMMMMMMMMMMMMMMMMMMMMMMMMWNKxxXWWWX0XWNWW0OXNWMMMMMMMMMMMMMMMMMMMMMMMMMWNOooOXN0xxxllxKK0KNWMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMWX0KXOoxKWMMXO0XWMMMMMMMMMMMMMMMMMMMMMMMMMMMWX0kKWMMWXKWWMWKOKNWMMMMMMMMMMMMMMMMMMMMMMMMMMWXOdONMWXO0OxONX0KNWMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMWX0KXOoxKWMMXO0XWMMMMMMMMMMMMMMMMMMMMMMMMMMMWNKOKWMMMNXWMMWKOKNWMMMMMMMMMMMMMMMMMMMMMMMMMMWWXOONMMWKKNXNWXOKNWMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMWX0KXOoxKWMMXO0XWMMMMMMMMMMMMMMMMMMMMMMMMMMMMWX00NMMMWXNMMMKOKNWMMMMMMMMMMMMMMMMMMMMMMMMMMMWN0OXMMMNKWMMMXO0NWMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMWX0KXOdxKWMMXO0XWMMMMMMMMMMMMMMMMMMMMMMMMMMMMWNK0XMMMMXNMMMKOKNWMMMMMMMMMMMMMMMMMMMMMMMMMMMWNK0KWMMNXNMMMXO0NWMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMWX0KXOdxKWMMXO0XWMMMMMMMMMMMMMMMMMMMMMMMMMMMMWNK0XWMMWNNMMMKOKNWMMMMMMMMMMMMMMMMMMMMMMMMMMMMNX0KWMMWXNMMMXO0NWMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMWX0KXOdxKWMMXO0XWMMMMMMMMMMMMMMMMMMMMMMMMMMMMWNX0KWWWNXNMMMKOKNWMMMMMMMMMMMMMMMMMMMMMMMMMMMMWX0KNWXXXNMMMKk0NWMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMWX0KXOdxKWMMXO0XWMMMMMMMMMMMMMMMMMMMMMMMMMMMMWNX0KNNXO0NMMMKOKNWMMMMMMMMMMMMMMMMMMMMMMMMMMMMWX0KN0xk0NMMMKkKNWMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMWX0KXOdxXWMMXO0XWMMMMMMMMMMMMMMMMMMMMMMMMMMMMWNX0KNXOdkXMMMKOKNWMMMMMMMMMMMMMMMMMMMMMMMMMMMWNX0KKkloONMMW0kKNWMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMWX0KXOdxXWMMXO0XWMMMMMMMMMMMMMMMMMMMMMMMMMMMMWNX0KNXkdkXMMMKkKNWMMMMMMMMMMMMMMMMMMMMMMMMMMMWNK000dclOWMMWOkXWMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMWX0KXOdxXWMMXO0XWMMMMMMMMMMMMMMMMMMMMMMMMMMMMWNX0KNKkoxXMMWKOKNWMMMMMMMMMMMMMMMMMMMMMMMMMMMWNK00kc;cOWMMXkOXWMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMWX0KX0dxXWMMXO0XWMMMMMMMMMMMMMMMMMMMMMMMMMMMMWNX0KNKxoxXMMW0OKNWMMMMMMMMMMMMMMMMMMMMMMMMMMMWXK0Od:,l0WMM0x0NWMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMWX0KX0dkXWMMXO0XWMMMMMMMMMMMMMMMMMMMMMMMMMMMMWNK0KNKdlkNMMW0OXNMMMMMMMMMMMMMMMMMMMMMMMMMMMWNX0Okc,,oXMMNkxKNWMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMWX0KX0dkXWMMXO0XWMMMMMMMMMMMMMMMMMMMMMMMMMMMMWNK0KN0olkNMMNOOXWMMMMMMMMMMMMMMMMMMMMMMMMMMMWNKOOd;',dNMMKxkXWMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMWX0KX0xkXWMMXO0XWMMMMMMMMMMMMMMMMMMMMMMMMMMMMWNK0KXOolkNMMXkOXWMMMMMMMMMMMMMMMMMMMMMMMMMMWNX0Okc'.;OWMNkd0NWMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMWX0KN0xkXWMMXO0XWMMMMMMMMMMMMMMMMMMMMMMMMMMMMWXK0KKkllOWMWKk0NWMMMMMMMMMMMMMMMMMMMMMMMMMMWNKOko,..c0WN0oxXWMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMWX0KN0xkXWMMXO0XWMMMMMMMMMMMMMMMMMMMMMMMMMMMWNX0000dclOWMWOxKNWMMMMMMMMMMMMMMMMMMMMMMMMMWNX0Ox:..,o0X0doONWMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMWX0KN0xkXMMMXO0XWMMMMMMMMMMMMMMMMMMMMMMMMMMMWNX00Oko:oKWMXxkXWMMMMMMMMMMMMMMMMMMMMMMMMMMWXKOkl,..cxOOdlxXWMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMWX0KN0xkXMMMXO0XWMMMMMMMMMMMMMMMMMMMMMMMMMMMWNKO0koc:dXMWOd0NWMMMMMMMMMMMMMMMMMMMMMMMMMWNK0Od;..;oxxdco0NWMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMWX0KN0xkXWMMXO0XWMMMMMMMMMMMMMMMMMMMMMMMMMMMWXKOOdc::xXWKdxXWMMMMMMMMMMMMMMMMMMMMMMMMMWNX0Oxc'.,codoccONWMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMWX0KN0xkXWMMXO0XWMMMMMMMMMMMMMMMMMMMMMMMMMMWNX0Okl;,ckK0doONWMMMMMMMMMMMMMMMMMMMMMMMMWNXKOkl'.';lll::xXWMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMWX0KN0xkXMMMXO0XWMMMMMMMMMMMMMMMMMMMMMMMMMMWNKOOd;,,lkOdlxXWMMMMMMMMMMMMMMMMMMMMMMMMWWXK0ko,.';ccc;;dXWMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMWX0KN0xkXMMMXO0XWMMMMMMMMMMMMMMMMMMMMMMMMMWNX0Okl,';oxoco0WMMMMMMMMMMMMMMMMMMMMMMMMWWXK0kd;..,::;,;dXWMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMWX0KN0xOXMMMXO0XWMMMMMMMMMMMMMMMMMMMMMMMMMWNKOOd;,;col:cONWMMMMMMMMMMMMMMMMMMMMMMMMWXK0Od:'',;,,';xXWMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMWX0KNKxOXWMMXO0XWMMMMMMMMMMMMMMMMMMMMMMMMWNX0Oxc,;ccc;:kNWMMMMMMMMMMMMMMMMMMMMMMMWWNK0Od:'',,,'':kNWMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMWWX0KNKkOXWMMXO0XWMMMMMMMMMMMMMMMMMMMMMMMWWXKOkl,;:;;,:kNWMMMMMMMMMMMMMMMMMMMMMMMWWXK0Od:'',,'',l0NWMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMWNX0KNKkOXMMMNO0XWMMMMMMMMMMMMMMMMMMMMMMWWNK0kd:,;,',ckNWMMMMMMMMMMMMMMMMMMMMMMMWNXK0Od:',,,',:xXWMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMWNKO0XOdxXWWMN0OKNWMMMMMMMMMMMMMMMMMMMMMWNX0Oxc;;',:l0NWMMMMMMMMMMMMMMMMMMMMMMMWNXK0kd:,,;,,:d0NWMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMWWNX0OOkc;ck0OKNKO0XNWMMMMMMMMMMMMMMMMMMMWNXK0xl:;;cx0XWMMMMMMMMMMMMMMMMMMMMMMMWWNX00ko:,;;;:dONWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMWWNXK0Okd:'',odlokK0O0XNNWMMMMMMMMMMMMMMMMWWNXKkocclxKNWWMMMMMMMMMMMMMMMMMMMMMMMWNNK00ko:;:clx0NWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMWWNXXK0Oko;'''cxdc;;okOO0KXNWWMMMMMMMMMMMMMMMWNX0kdxkKNWMMMMMMMMMMMMMMMMMMMMMMMMMWNNXK0klclodkKNWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMWWNXKK0Oxc,,;coxkkdc;,;lxO0KXNWMMMMMMMMMMMMMMMMWX00KXWWMMMMMMMMMMMMMMMMMMMMMMMMMMWWNXX0kooxO0XWWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMWNXK0kdlloxO000000OOxollok0XNWMMMMMMMMMMMMMMMMWNNWWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWWNKOO0KXNWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMWNXK00KXNNNNNWWNNNNNNNNX0O0KNWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWNXKXNWWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMWWWWWWWWWWWWWWWWWWWWWWWWWWWWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWWWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM*/