body {
    overflow-x: hidden;
}
@media (max-width: 767px) {
  .logorow .mp_top3 p,
  .logorow .mp_top4 p {
    margin-bottom: 0 !important;
    font-size: 15px !important;
  }
}

@media (max-width: 767px) {
    body .toprow {
        display: none !important;
        visibility: hidden !important;
        height: 0 !important;
        overflow: hidden !important;
    }
}

.excavator-card {
  position: relative;
  z-index: 1;
  width: 520px;
  max-width: 100%;
  margin: 10px auto;
  padding: 18px;
  border-radius: 42px;
  overflow: visible !important;

}

.excavator-card::after {
  content: "";
  position: absolute;
  inset: 8px;
  border-radius: 34px;
  pointer-events: none;

}

.excavator-img {
  display: block;
  width: 100%;
  
  object-fit: cover;
  object-position: center;
  border-radius: 28px;
  position: relative;
  z-index: 1;
}

.excavator-badge {
    position: absolute;
    left: -30px;
    top: 220px;
    width: 220px;
    background: #f3f3f3;
    border-radius: 22px 22px 22px 22px;
    padding: 18px 16px;
    z-index: 999999 !important;
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.15);
    transform: translateZ(0);
}

.badge-number {
  margin: 0 0 8px;
  font-size: 20px;
  line-height: 1;
  font-weight: 800;
  color: #4a5cff;
}

.badge-text {
  margin: 0;
  font-size: 15px;
  line-height: 1.35;
  font-weight: 500;
  color: #33408f;
}

.sppb-addon,
.sppb-addon-content,
.sppb-row,
.sppb-column {
  overflow: visible !important;
}

@media (max-width: 767px) {
  .excavator-card {
    width: 100%;
    padding: 14px;
    border-radius: 32px;
  }

  .excavator-img {
    height: 500px;
    border-radius: 22px;
  }

  .excavator-badge {
    left: -10px;
    top: 290px;
    width: 136px;
    padding: 14px 12px;
    border-radius: 0 18px 18px 0;
  }

  .badge-number {
    font-size: 18px;
  }

  .badge-text {
    font-size: 14px;
  }
}












.sparky_inner h1{
  color:#000 !important;
}
.hot_swipe_carousel_slides .contents h1 {
    font-size: 36px !important;
    font-weight: 500;
    margin-top: -45px;
    line-height: 43px !important;
}
.products_row h3{
      font-size: 16px !important;
    line-height: 1.2 !important;
    font-family: 'Poppins', sans-serif !important;
    font-weight: 700 !important;
    font-style: normal !important;
  text-transform:uppercase;
  color:#33387d !important;
}
/* SECTION GENERIQUE */
.image-card-section{
  position:relative;
  max-width:1100px;
  margin:20px auto;
  display:flex;
  align-items:center;
  padding:0 16px;           /* marge mobile */
  box-sizing:border-box;
}

/* IMAGE */
.image-card-media{
  width:60%;
}

.image-card-media img{
  width:100%;
  display:block;
  border-radius: 20px;
}

/* CARD TEXTE (desktop/tablette) */
.image-card-content{
  position:absolute;
  right:0;

  /* décale le bloc vers la gauche */
  transform:translateX(-120px);

  width:520px;
  max-width:calc(100% - 32px);

  background:#eeeeee;
  padding:30px;

  border:2px solid #5a63ff;
  border-radius:14px;
  box-shadow:0 10px 20px rgba(0,0,0,0.15);

  box-sizing:border-box;
}

/* TITRE */
.image-card-content h3{
  margin:0 0 12px 0;
  font-size:22px;
  font-weight:700;
}

/* TEXTE */
.image-card-content p{
  font-size:14px;
  line-height:1.6;
  margin:0 0 14px 0;
}

/* LISTE */
.image-card-content ul{
  margin:0;
  padding-left:18px;
}
.image-card-content li{
  margin-bottom:8px;
  font-size:14px;
}

/* ---------- RESPONSIVE ---------- */

/* Tablette : moins de décalage + card un peu plus petite */
@media (max-width: 980px){
  .image-card-media{ width:70%; }
  .image-card-content{
    transform:translateX(-70px);
    width:480px;
    padding:26px;
  }
}

/* Mobile : on enlève le position:absolute, tout se stack */
@media (max-width: 720px){
  .image-card-section{
    display:block;
    margin:30px auto;
    padding:0 14px;
  }

  .image-card-media{
    width:100%;
  }

  .image-card-content{
    position:static;        /* IMPORTANT */
    transform:none;         /* IMPORTANT */
    width:100%;
    max-width:100%;
    margin-top:14px;
    padding:18px;
  }

  .image-card-content h3{
    font-size:20px;
  }
}

/* VERSION INVERSEE */
.image-card-section.reverse{
  flex-direction: row-reverse;
}

/* Ajustement position de la card */
.image-card-section.reverse .image-card-content{
  right:auto;
  left:0;

  /* on inverse le décalage */
  transform:translateX(120px);
}

/* ---------- TABLETTE ---------- */
@media (max-width: 980px){
  .image-card-section.reverse .image-card-content{
    transform:translateX(70px);
  }
}

@media (max-width: 720px){

  .image-card-content{
    position: static;
    transform: none;
    width: 100%;
    max-width: 100%;
    margin: 14px auto 0 auto; /* centre horizontalement */
    padding: 18px;
  }

  /* 🔥 IMPORTANT : reset du mode reverse */
  .image-card-section.reverse .image-card-content{
    left: auto;
    right: auto;
    transform: none;
  }

}



#row_69019210 img{
  border: 1px solid #33387d;
  border-radius:20px;
}
#row_43981874 a.sparky_button{
  background:#fff !important;
  color:#4b4ffb !important;
}
#row_43981874 a.sparky_button:hover{
  background:#000 !important;
  color:#fff !important;
}
.footerrow p {
   color:#fff;
   text-align:center;
}
@media (max-width: 768px) {

    #row_57614235,#row_24905666 {
        margin-left: -185px;
        display: flex; /* important pour justify-content */
    }
    .products_row #spacer{
      height:250px !important;
    }
}

.bottomrow a,.bottomrow h3 ,.footerrow a{
  color:#fff !important;
}
.bottomrow a:hover,.footerrow a:hover{
  color:#000 !important;
}
#row_55154678 h2,
#row_6985175 h2{
  color:#fff;
}
#row_6985175 p{
  color:#fff;
}
.sparky_cell.mp_logo {
    display: flex;
    justify-content: center; /* centre horizontalement */
    align-items: center;     /* centre verticalement */
}

.sparky_logo_link {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
}

.sparky_logo_image {
    text-align: center;
}

.sparky_logo_image img {
    display: block;
    margin: 0 auto;
}



.carouselrow .contents p {
    color: #fff !important;
}
#row_29792257 p,#row_29792257 h4,.products_row p,.products_row h4{
   color: #33387d !important;
}
#row_43981874 p{
  color: #f3f3f1;
  font-weight: 400;
  font-family: "Poppins";
}
#row_43981874 h2{
  color: #f3f3f1;
  
}
/* typography */

h4 {
    text-transform: uppercase;
}

hr {
    opacity: 1;
    border-top: 0;
}

.has-small-font-size {
    font-size: 14px;
}

.has-huge-font-size {
    font-size: 100px;
    font-weight: 700;
    line-height: 1;
}

.nopaddingbottom {
    padding-bottom: 0 !important;
}

.colored {
    color: #33387d;
}

/* form */

input, input.form-control, textarea, textarea.form-control {
    width: 100%;
    border: 1px solid #777;
    border-radius: 3px;
    padding: 10px 20px;
    margin-bottom: 25px;
}

input::placeholder, textarea::placeholder {
    color: #888;
}

.input-group input.form-control {
    padding: 7.5px 20px;
}

button, button.btn, input.button, a.btn, p.readmore a.btn, a.sparky_button {
    background: #4b4ffb;
    border:1px solid #4b4ffb;
    border-radius: 28px;
    color: #fff;
    font-weight: 400;
    line-height: 35px;
    padding: 5px 25px;
    transition: all 0.3s;
}

button:hover, button.btn:hover, button.btn-primary:hover, input.button:hover, a.btn:hover,
button:active, button.btn:active, button.btn-primary:active, input.button:active, a.btn:active,
button:focus, button.btn:focus, button.btn-primary:focus, input.button:focus, a.btn:focus,
p.readmore a.btn:hover, p.readmore a.btn:active, p.readmore a.btn:focus,
a.sparky_button:hover, a.sparky_button:active, a.sparky_button:focus {
    background: #151515;
    border:1px solid #151515;
    color: #fff !important;
    text-decoration: none;
    transition: all 0.3s;
}

a.sparky_button.outline {
    background: transparent;
    border:1px solid #33387d;
    color: #33387d;
}

a.sparky_button.outline:hover {
    background: transparent;
    border:1px solid #151515;
    color: #151515 !important;
}

a.sparky_button.white {
    background: #fff;
    border:1px solid #fff;
    color: #33387d;
}

a.sparky_button.white:hover {
    background: #999;
    border:1px solid #999;
    color: #fff !important;
}

a.sparky_button.white.outline {
    background: transparent;
    border:1px solid #fff;
    color: #fff;
}

a.sparky_button.white.outline:hover {
    background: #999;
    border:1px solid #999;
    color: #fff !important;
}

.input-group .btn {
    height: 41px;
    line-height: 1;
    margin-left: -7px !important;
    padding: 10px 15px;
}

.btn-group {
    margin-bottom: 30px;
}

.btn-group input {
    margin-bottom: 0;
}

/* toprow */

.toprow > .sparky_container > .sparky_cell {
    padding-top: 0;
    padding-bottom: 0;
}

.toprow .sparky_page_container > .sparky_cell {
    padding-top: 7px;
    padding-bottom: 7px;
    font-size: 14px;
    color: #ccc;
}

.toprow p {
    margin-bottom: 0;
}

.toprow a:hover {
    color: #fff;
}

/* logorow */

.logorow {
    background: var(--sparkycolor2);
}

.logorow .mp_top3 img,
.logorow .mp_top4 img {
    max-width: 60px;
    margin-bottom: 0;
}

.logorow .mp_top4 p {
    width: max-content;
    align-self: flex-end;
}

.logorow .mp_top3 p,
.logorow .mp_top4 p {
    margin-bottom: 0;
}

/* menurow */

.menurow {
    background: #33387d;
}

.menurow > .sparky_container > .sparky_cell {
    padding-top: 0;
    padding-bottom: 0;
}

.menurow ul.menu {
    margin-left: -25px;
}

.menurow ul.menu > li {
    text-transform: uppercase;
}

.menurow > .sparky_container > .sparky_cell.mp_search {
    padding-top: 10px;
}

.menurow .input-group {
    justify-content: flex-end;
    margin-bottom: 0;
}

.menurow .input-group > div {
    width: calc(100% - 40px);
}

.menurow input[type="text"] {
    margin-bottom: 0;
    border: 0;
    border-radius: 20px;
    font-size: 14px;
}

.menurow button.btn {
    background: transparent;
    border: 0;
    color: var(--sparkycolor2);
    font-size: 0;
}

.menurow button.btn span {
    font-size: initial;
}

/* carouselrow */

.carouselrow > .sparky_container > .sparky_cell {
    padding: 0;
}

.carouselrow .contents * {
    max-width: 720px;
}

.carouselrow .contents h2 {
    padding-top: 0;
}

.flickity-prev-next-button svg {
    left: 35% !important;
    top: 35% !important;
    width: 30% !important;
    height: 30% !important;
}

/* main content */

.contentrow {
    padding-top: 30px;
    padding-bottom: 30px;
}

/* about row */

.about_row .sparky_page_container {
    gap: 30px;
}

.about_row .sparky_cell {
    display: block;
    background: #fff;
    border-radius: 15px;
}

.about_row h4 {
    padding-top: 10px;
    padding-bottom: 0px;
}

.about_row p {
    margin-bottom: 0;
}

.about_row figure {
    float: left;
    margin-right: 15px;
}

.about_row figure img {
    width: 60px;
    margin-bottom: 0;
}

/* breed row */

.breed_row .sparky_page_container {
    gap: 30px;
}

.breed_row .sparky_cell {
    position: relative;
    min-height: 267px;
    border-radius: 15px;
}

.breed_row .sparky_cell::before {
    content: "";
    position: absolute;
    top: 0; left: 0; right: 0; bottom: 0;
    background-color: rgba(0, 0, 0, 0.4);
    border-radius: 15px;
    z-index: 1;
    transition: all 0.3s;
}

.breed_row .sparky_cell:hover::before {
    background-color: rgba(0, 0, 0, 0.1);
    transition: all 0.3s;
}

.breed_row .sparky_cell > * {
    position: relative;
    z-index: 2;
}

.breed_row h3 {
    padding-bottom: 0;
}

.breed_row hr {
    width: 50px;
    margin-left: auto;
    margin-right: auto;
}

.breed_row a {
    color: #fff;
}

/* products row */

.products_row .sparky_page_container {
    gap: 30px;
}

.products_row .sparky_cell {
    background: #fff;
    border: 1px solid #33387d;
    border-radius: 15px;
}

.products_row .has-huge-font-size {
    color: #33387d;
    margin-top: 30px;
}

/* gallery row */

.gallery_row .sparky_cell {
    padding-left: 0;
    padding-right: 0;
}

.gallery_row figure img {
    margin-bottom: 0;
    filter: brightness(0.5);
    transition: all 0.3s;
}

.gallery_row figure img:hover {
    filter: brightness(1.0);
    transition: all 0.3s;
}

.gallery_row .sparky_cell.sparky_col0 figure {
    border-right:7.5px solid var(--sparkycolor2);
    border-bottom:15px solid var(--sparkycolor2);
}

.gallery_row .sparky_cell.sparky_col1 figure {
    border-left:7.5px solid var(--sparkycolor2);
    border-right:7.5px solid var(--sparkycolor2);
}

.gallery_row .sparky_cell.sparky_col2 figure {
    border-left:7.5px solid var(--sparkycolor2);
    border-bottom:15px solid var(--sparkycolor2);
}

/* blog row */

.blog_row .newsflash {
    display: flex;
    gap: 30px;
}

.blog_row img {
    border-radius: 15px;
}

.newsflash-info {
    color: #33387d;
    font-size: 14px;
}

/* logos row */

.logos_row {
    border-radius: 55px;
}

.logos_row .sparky_page_container {

}

.logos_row figure img {
    margin-bottom: 0;
}

/* team row */

.teamrow img {
    border-radius: 15px;
}

/* testimonial row */

.testimonialrow1 .sparky_col1, .testimonialrow2 .sparky_col0 {
    background: #33387d;
    border-radius: 15px;
}

.testimonialrow1 h3, .testimonialrow2 h3 {
    padding-bottom: 0;
}

.testimonialrow1 h4, .testimonialrow2 h4 {
    padding-top: 0;
}

/* blog */

.blog-items.columns-2 .blog-item {
    width: calc(50% - 30px);
    margin-inline-end: 30px;
}

.blog-items.columns-3 .blog-item {
    width: calc(33.33% - 30px);
    margin-inline-end: 30px;
}

.blog-items.columns-4 .blog-item {
    width: calc(25% - 15px);
    margin-inline-end: 15px;
}

.blog-items.columns-5 .blog-item {
    width: calc(20% - 15px);
    margin-inline-end: 15px;
}

.blog-items.columns-6 .blog-item {
    width: calc(16.66% - 15px);
    margin-inline-end: 15px;
}

.blog-items .blog-item h2,
.blog-items .blog-item h2 a {
    font-size: 32px;
}

.blog-items .blog-item img {
    border-radius: 15px;
}

@media (max-width: 767px) {

    .blog-items.columns-2 .blog-item,
    .blog-items.columns-3 .blog-item,
    .blog-items.columns-4 .blog-item,
    .blog-items.columns-5 .blog-item,
    .blog-items.columns-6 .blog-item {
        width:100%;
        margin-inline-end: 0;
    }

}

/* contact */

.com-contact.contact dt {
    float: inline-start;
    clear: both;
    padding-top: 15px;
    padding-inline-end: 15px;
}

.com-contact.contact dd {
    padding-inline-start: 30px;
}

.com-contact.contact dt + dd {
    padding-top: 15px;
}

.osm-map {
    z-index: 0;
}

@media (min-width: 992px) {

    .com-contact.contact {
        display: flex;
        flex-wrap: wrap;
        margin-bottom: 50px;
    }

    .com-contact.contact .page-header,
    .com-contact.contact h1 {
        width: 100%;
    }

    .com-contact__container {
        width: 34%;
    }

    .com-contact__form.contact-form {
        width: 66%;
        margin-top: 15px;
    }

    .com-contact__form.contact-form legend {
        background: transparent;
        padding: 15px 0;
        font-size: 24px;
        line-height: 1.4;
        font-weight: 700;
        text-transform: uppercase;
    }

    .com-contact.contact > h2 {
        display: none;
    }

}

/* bottomrow */

.bottomrow {
    background: #33387d;
    color: #fff;
    padding: 30px 0;
}

.bottomrow h3 {
    text-transform: uppercase;
}

.bottomrow .sparky_social_icons a:first-child {
    padding-inline-start: 0;
}

.bottomrow a.sparky_button.outline {
    color: #fff;
    border: 1px solid #fff;
}

.bottomrow a.sparky_button.outline:hover {
    color: #151515 !important;
    border: 1px solid #151515;
}

.bottomrow ul.menu {
    margin-top: 15px;
}

/* footerrow */

.footerrow {
    background: #33387d;
    border-top: 1px solid #33387d;
    color: #151515;
    padding: 15px 0;
}

.footerrow p {
    margin-bottom: 0;
}

/* responsive */

.nav-toggle {
    float: left;
    margin-top: 7px;
    margin-bottom: 7px;
}

@media (max-width: 1199px) {

    .hot_swipe_carousel_slides .contents {
        top: 25% !important;
        margin-left: 130px !important;
    }

    .about_row figure img {
        margin-bottom: 30px;
    }

}

@media (max-width: 991px) {

    .menurow nav:not(.opened) ul.menu {
        display: none;
    }

    .menurow ul.menu {
        margin-left: 0;
    }

    .columns_on_tablet2 .sparky_cell {
        width: calc(50% - 15px);
    }

    .sparky_logo_image {
        margin-top: 15px;
    }

    .about_row figure img {
        margin-bottom: 0;
    }

    .logorow .mp_top3 img, .logorow .mp_top4 img {
        max-width: 100%;
    }

    .hot_swipe_carousel_slides .contents h2 {
        font-size: 36px !important;
    }

}

@media (max-width: 767px) {

    .hot_swipe_carousel_slides .contents {
        top: 15% !important;
        margin-left: 60px !important;
    }

    .footerrow, .footerrow ul.menu {
        text-align: center;
    }

}

@media (max-width: 650px) {

    .hot_swipe_carousel_slides .contents {
        margin-left: auto !important;
        padding: 15px !important;
        background: #151515 !important;
        text-align: center;
    }

    .hot_swipe_carousel_slides .contents a.sparky_button {
        display: inline-block;
    }

    .flickity-prev-next-button {
        top: 30% !important;
    }

    .toprow .has-small-font-size,
    .logorow .has-small-font-size {
        font-size: 10px;
        line-height: 1.3;
    }

    .sparky_logo_image {
        margin-top: 0;
    }

    .blog_row .newsflash {
        display: block;
    }

    .blog_row .newsflash > div {
        margin-bottom: 30px;
    }

}

@media (max-width: 499px) {

    .columns_on_tablet2 .sparky_cell {
        width: 100%;
    }

    .logorow > .sparky_container > .sparky_cell {
        width: 100% !important;
    }

    .logorow .mp_top3 img, .logorow .mp_top4 img {
        max-width: 30px;
    }

    .logorow .mp_top3 {
        padding-bottom: 0;
    }

    .logorow .mp_top4 {
        padding-top: 0;
    }

    .logorow .mp_logo {
        padding-top: 0;
        padding-bottom: 0;
        text-align: center;
    }

    .logorow .sparky_page_container {
        max-width: 200px;
        margin: 0 auto;
    }

    .sparky_logo_image img {
        max-width: 300px;
    }

    .menurow .mp_top5 {
        width: 20% !important;
    }

    .menurow .mp_search {
        width: 80% !important;
    }

    .hot_swipe_carousel_slides .contents h2 {
        font-size: 28px !important;
    }

    .gallery_row .sparky_page_container .sparky_cell {
        margin: 0;
        padding: 0;
    }

    .gallery_row figure {
        border: 0 !important;
        margin-bottom: 15px;
    }

    .gallery_row figure img {
        filter: brightness(1);
    }

}

@media (max-width: 399px) {

    .toprow .sparky_social_icons a {
        padding: 0 5px;
    }

}


/* For DEMO purposes only. Can be safely deleted */

.sparky_settings {
    position: fixed;
    z-index: 9999;
    top:50%;
    padding: 0 5px;
    background: #000;
    border-radius: 0 5px 5px 0;
    cursor: pointer;
    line-height: 1.4;
}

.sparky_settings:hover {
    background: #000;
}

.sparky_settings .sparky_cell {
    padding: 15px;
}

.settings_content {
    display: none;
    float: left;
    padding-right: 15px;
    height: 28px;
}

.settings_content span {
    display: inline-block;
    width: 28px;
    height: 28px;
    border:3px solid #333;
    border-radius: 19px;
}

.settings_content span:hover {
    border:3px solid #fff;
}

.settings_content span.style1 {
    background: #c7a17a;
}

.settings_content span.style2 {
    background: #7a85c7;
}

.settings_content span.style3 {
    background: #c77a9c;
}

.settings_content a {
    text-decoration: none;
}

.settings_cog {
    float: left;
    width: 30px;
    height: 28px;
}

.sparky_settings i {
    font-size: 28px;
    color: #ccc;
}