.services-tabs{
    position: absolute;
    top: -26px;
    width: 100%;
  }
  .services-tabs{
    visibility: visible;
    animation-name: fadeInUp;
    background: #FFFFFF;
    box-shadow: 7px 7px 25px 0px rgba(220, 220, 220, 0.8);
    border-radius: 0px 0px 30px 0px;
    padding: 0px 30px;
    box-sizing: border-box;
    margin-bottom: 0 !important;
  }
  .bordered-div {
    position: relative; /* Establece la posición relativa para que el pseudo-elemento se ajuste al div *//* Espaciado interno de ejemplo */
  }
  
  .bordered-div::before {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    width: 1px;
    height: 85%;
    box-sizing: border-box;
    background: #bfbfbf; /* Incluye el ancho del borde en el tamaño total */
  }
  
.generation-map-section_locations{
  position: absolute;
  z-index: 1;
  right: 0;
  background-color: white;
}

.testi-card{
  display: flex;
  width: fit-content;
  padding: 12px;
  background: #00833E;
  align-items: center;
}
.testi-card img{
  width: 290px;
}

.testi-card span{
  font-size: 16px;
}

.testi-card .text-grey-60 {
  color: white;
}
.testi-card .subtitle{
  font-size: 24px;
  color: white;
}
.testi-card li{
  font-size: 18px;
  color: white !important;
}

.testi-card .text-secondary-blue {
  color: white !important;
}

.testi-card .btn-primary-red {
  background-color: #95D82B !important;
}
  
  /* tabs */
  .tabs-container {
    display: flex;
    align-items: center;
  }
  
  .tab-btn {
    background-color: transparent;
    border: none;
    color: #000;
    cursor: pointer;
    padding: 5px;
    font-size: 16px;
  }
  
  .tabs {
    display: flex;
    gap: 8px;
    padding: 0 2px;
    white-space: nowrap;
    scroll-behavior: smooth;
    overflow-x: auto;
  }
  
  .tab-btn.prev {
    margin-right: 5px;
  }
  
  .tab-btn.next {
    margin-left: 5px;
  }
  
  .tab-btn i {
    font-size: 24px;
  }
  
  .testimonials.style-9.section-padding{
    padding: 40px 0px;
  }

.generation-map-section{
  display: flex;
  position: relative;
  padding: 0px 70px;
}

.generation-map-container{
  width: fit-content;
  /* border: 1px solid red; */
}

  .map-container {
    position: relative;
    width: 747px; /* Ajusta el tamaño según tus necesidades */
  }

  .map-container img{
    width: 100%;
  }
  
  .info-container {
    position: absolute;
    top: 0;
    left: 0;
    display: none; /* Oculta las imágenes informativas inicialmente */
  }
  
  .info-image {
    position: absolute;
    top: 0;
    left: 0;
  }

  /* Estilos para las áreas de los estados */
.state-area {
  position: absolute;
  cursor: pointer; /* Cambia el cursor al pasar por encima */
  z-index: 1;
  display: flex;
    justify-content: center;
    align-items: center;

}

.state-area img{
  width: 35px;
  height: 35px;
}

.hidden {
  display: none;
}

/* Define las coordenadas y dimensiones de las áreas para cada estado */
.oaxaca-area {
  bottom: 43px;
  right: 177px;
  width: 106px;
  height: 70px;
}

.sonora-area {
  top: 18px;
  left: 118px;
  width: 90px;
  height: 144px;
  display: flex;
  justify-content: center;
  align-items: center;
}
.tamaulipas-area {
  top: 175px;
  right: 265px;
  width: 50px;
  height: 102px;
}
.jalisco-area {
  bottom: 137px;
  left: 294px;
  width: 71px;
  height: 63px;
}
.chihuahua-area {
  top: 32px;
  left: 216px;
  width: 114px;
  height: 150px;
  display: flex;
  justify-content: center;
  align-items: center;
}

/* Repite este patrón para los demás estados */

  
/* .generation-map{
  background-image: url(../images/services/mapa.png);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  width: 100%;
  padding: 40px 30px;
} */
  .generation-location{
    background-image: url(../images/services/mapa.png);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    width: 100%;
    padding: 40px 30px;
  }
  
  .generation-location-item{
    transition: 0.3s all ease-out;
    width: auto;
    padding: 25px;
    box-sizing: border-box;
    background: #FFFFFF;
    border: 1px solid #DCDCDC;
    border-radius: 45px 0px 45px 0px;
    width: 200px;
    box-shadow: 1px 5px 17px 0px rgba(220, 220, 220, 0.8);
    color: white
  }
  
  .generation-location-item .text-white{
    display: none;
    font-size: 16px;
    line-height: 18px;
  }
  
  .generation-location-row{
    height: 130px;
  }
  
  .generation-location-item .generation-location-item_content img{
    display: none;
    width: 60px;
  }
  
  .generation-location-item:hover{
    width: 250px;
    background-color: var(--color-primary-green);
    padding: 16px;
  }
  
  .generation-location-item .generation-location-item_content div{
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 18px;
    /* flex-direction: column; */
  }
  .generation-location-item .generation-location-item_content p{
    line-height: 18px;
    display: none;
  }
  
  .generation-location-item:hover .generation-location-item_content img,
  .generation-location-item:hover .generation-location-item_content p, 
  .generation-location-item:hover .generation-location-item_content .text-white{
    display: block;
  }
  
  .generation-location-item:hover .generation-location-item_content .text-black{
    display: none !important;
  }
  .generation-section-locations{
    display: flex;
    justify-content: center;
    gap: 100px;
    padding: 30px 0 100px
  }
  /* TAB energy storage */
  .energy-storage-section{
    background-color: var(--color-grey-10);
    padding: 80px 0px;
  
  }
  .energy-storage-section-content{
    text-align: center;
    padding: 0 190px;
  }
  
  .energy-storage-section-img{
      border-radius: 10px;
  }

  .location-dot{
    border-radius: 50%;
    background: red;
    width: 8px;
    height: 8px;
  }
  
  /* tab ev soluctions */
  .ev-solutions-feature{
    font-size: 18px;
    display: flex;
    grid-gap: 12px;
    align-items: center;
    padding-left: 48px;
  }
  
  .ev-solutions-feature-check{
    width: fit-content;
    background: #e8e9eb;
    border-radius: 50%;
    padding: 4px 8px;
    color: #5d9f6e;    
  }
  
  .ev-solutions-section_charging{
    background-color: var(--color-grey-10);
    background-image: url(../img/testimonials/Trucks-Swipe-Batteries-SPIC.png);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    position: relative;
    background-attachment: fixed;
  }

  .ev-solutions-section_charging::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.4);
    z-index: 0; 
  }

  .ev-solutions-section_charging2{
    background-color: var(--color-grey-10);
    background-image: url(../img/cargadores-para-autos-electricos.png);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    position: relative;
    background-attachment: fixed;
  }

  .ev-solutions-section_charging2::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.4);
    z-index: 0; 
  }
  
  .ev-solutions-section_offer-item{
    width: 330px;
      display: flex;
      flex-direction: column;
      /* box-shadow: 10px 8px 25px 0px rgba(220, 220, 220, 0.8);
      border-bottom: 3px solid red; */
      margin-bottom: 30px;
  }

  .ev-solutions-section_offer-content{
    padding: 30px !important;
  }

.ev-solutions-section_offer-item-content{
    height: 150px;
    padding: 16px;
}

.smart-energy-section_images{
    flex-direction: row;
}

/* background-image: url(../images/services/paneles-solares/panel-anuncio.png); */


.colorful-panels-section-img{
    /* background-image: url(../img/home/businesses/Colorful-Solar-Panels.png); */
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    height: 500px;
    margin-top: 50px;
    background-attachment: fixed;
    background: url(../img/home/businesses/Colorful-Solar-Panels-2.png) center/cover;
}

/* ciruclar progress */


.progress {
    width: 150px;
    height: 150px !important;
    float: left; 
    line-height: 150px;
    background: none;
    margin: 20px;
    box-shadow: none;
    position: relative;
}
.progress:after {
    content: "";
    width: 100%;
    height: 100%;
    border-radius: 50%;
    border: 12px solid #fff;
    position: absolute;
    top: 0;
    left: 0;
}
.progress>span {
    width: 50%;
    height: 100%;
    overflow: hidden;
    position: absolute;
    top: 0;
    z-index: 1;
}
.progress .progress-left {
    left: 0;
}
.progress .progress-bar {
    width: 100%;
    height: 100%;
    background: none;
    border-width: 12px;
    border-style: solid;
    position: absolute;
    top: 0;
}
.progress .progress-left .progress-bar {
    left: 100%;
    border-top-right-radius: 80px;
    border-bottom-right-radius: 80px;
    border-left: 0;
    -webkit-transform-origin: center left;
    transform-origin: center left;
}
.progress .progress-right {
    right: 0;
}
.progress .progress-right .progress-bar {
    left: -100%;
    border-top-left-radius: 80px;
    border-bottom-left-radius: 80px;
    border-right: 0;
    -webkit-transform-origin: center right;
    transform-origin: center right;
    animation: loading-1 1.8s linear forwards;
    }
    .progress .progress-value {
    width: 90%;
    height: 90%;
    border-radius: 50%;
    background: var(--color-grey-90);
    font-size: 24px;
    color: #fff;
    line-height: 135px;
    text-align: center;
    position: absolute;
    top: 5%;
    left: 5%;
    }
   .progress-bar {
    border-color: var(--color-primary-green);
    }
    .progress.blue .progress-left .progress-bar {
    animation: loading-2 1.5s linear forwards 1.8s;
    }
    .progress.yellow .progress-right .progress-bar {
    animation: loading-3 1.8s linear forwards;
    }
    .progress.red .progress-right .progress-bar {
    animation: loading-4 1.8s linear forwards;
    }
    .progress.yellow .progress-left .progress-bar {
    animation: none;
    }

.smart-energy-section_detail div:not(:last-child){
  border-right: 1px solid var(--color-grey-40);
}

.smart-energy-section_detail-item{
    display: flex;
    padding: 24px !important;
    align-items: center;
    flex-direction: column;
    justify-content: center;
    height: 150px;
}

    @keyframes loading-1 {
    0% {
        -webkit-transform: rotate(0deg);
        transform: rotate(0deg);
    }
    100% {
        -webkit-transform: rotate(180deg);
        transform: rotate(180deg);
    }
    }
    @keyframes loading-2 {
    0% {
        -webkit-transform: rotate(0deg);
        transform: rotate(0deg);
    }
    100% {
        -webkit-transform: rotate(110deg);
        transform: rotate(110deg);
    }
    }
    @keyframes loading-3 {
    0% {
        -webkit-transform: rotate(0deg);
        transform: rotate(0deg);
    }
    100% {
        -webkit-transform: rotate(90deg);
        transform: rotate(90deg);
    }
    }
    @keyframes loading-4 {
    0% {
        -webkit-transform: rotate(0deg);
        transform: rotate(0deg);
    }
    100% {
        -webkit-transform: rotate(30deg);
        transform: rotate(30deg);
    }
}


.thumb-info{
    flex: 1;
    overflow: hidden;
    height: 151px;
    position: relative;
}

.thumb-info img{
    max-width: 100%; /* Ajusta automáticamente al ancho del contenedor */
    height: auto; /* Ajusta automáticamente la altura */
    transition: transform 0.3s ease, opacity 0.3s ease; 
}
.thumb-info:hover img{
    transform: scale(1.1);
}

.thumb-info .thumb-info-wrapper{
        backface-visibility: hidden;
        transform: translate3d(0, 0, 0);
        overflow: hidden;
        display: block;
}

.thumb-info:hover .thumb-info-wrapper:after {
    opacity: 1;
}
.thumb-info .thumb-info-wrapper:after {
    content: "";
    background: rgba(23, 23, 23, 0.7);
    -webkit-transition: all 0.3s;
    -moz-transition: all 0.3s;
    transition: all 0.3s;
    border-radius: 4px;
    bottom: -4px;
    color: #FFF;
    left: -4px;
    position: absolute;
    right: -4px;
    top: -4px;
    display: block;
    opacity: 0;
    z-index: 1;
}

.thumb-info .title{
    position: absolute;
    color: white;
    z-index: 2;
    top: 65px;
    opacity: 0;
    left: 5%;
    width: 90%;
    text-align: center;
}
.thumb-info:hover .title{
    opacity: 1;
}


@media (max-width: 576px) {
    /* TAB GENERATION */
    .generation-section-locations{
        flex-direction: column;
        gap: 40px;
    }

    /* .progress{
        width: 100px;
        height: 100px !important;
        margin: 0;
    } */

    .progress .progress-value{
        line-height: 95px;
    }

    .generation-location{
        padding: 40px 0px;
    }

    .generation-location-item{
        width: 120px;
    }

    .generation-location-item .generation-location-item_content div{
        flex-direction: column;
    }

    .generation-map-section{
      gap: 30px;
      padding: 0;
      flex-direction: column-reverse;
      margin-top: 60px;
    }
    .generation-map-section_locations{
      position: initial;
      display: flex;
      justify-content: center;
    }

    .map-container{
      width: 100%;
    }

    .state-area img {
      width: 20px;
      height: 20px;
    }

    .oaxaca-area{
      right: 81px;
      bottom: 20px;
      width: 43px;
      height: 34px;
    }
    .sonora-area {
      top: 9px;
      left: 52px;
      width: 40px;
      height: 61px;
    }
    .jalisco-area {
      bottom: 60px;
      left: 124px;
      width: 38px;
      height: 39px;
    }
    .tamaulipas-area {
      top: 79px;
      right: 113px;
      height: 43px;
      width: 26px;
    }
    .chihuahua-area {
      top: 14px;
      left: 95px;
      width: 50px;
      height: 60px;
    }

    .testi-card img{
      width: 190px;
    }

    .smart-energy-section_detail div:not(:last-child){
      border: 0;
    }
    
}

@media (max-width: 768px) {
    .services-tabs {
      position: relative !important;
      top: unset !important;
      width: calc(100% + 30px) !important;
      padding: 0;
      border-radius: 0;
      margin-left: -15px;
    }
  
    .services-tabs .tabs-container ul{
      flex-direction: inherit;
      justify-content: normal;
    }
  
    .choose-us.style-9 .nav .nav-item{
      border-bottom: 0;
    }
  
    .choose-us.style-9 .nav::-webkit-scrollbar {
      width: 0;
    }
    
    /* Opcional: si deseas ocultar también la barra de desplazamiento vertical */
    .choose-us.style-9 .nav::-webkit-scrollbar-thumb {
      display: none;
    }
  
    .choose-us.style-9 .nav .nav-item .nav-link {
      width: 100%;
      text-align: center;
      padding: 10px 0px;
      height: 100%;
      justify-content: center;
    }
  
    .services-tabs.style-9 .nav .nav-item .nav-link img{
      margin: 0;
      width: 40px;
      height: 40px;
    }
  
    .bordered-div::before {
      content: none; /* Elimina el contenido del pseudo-elemento */
    }
    .choose-us.style-9 .feat-content{
      padding: 0;
    }
  
    .testimonials.style-9.section-padding{
      padding: 40px 0px;
    }
  
    .clients.style-5 .content{
      flex-wrap: wrap;
      justify-content: space-between;
    }
  
    .clients.style-5 .content .img.img-card{
      width: calc(50% - 10px);
      margin-bottom: 10px;
      padding: 15px;
    }

    /* TAB energy storage */
    .energy-storage-section-content{
      padding: 0;
    }
  
    .ev-solutions-section_offer-content{
        padding-right: 15px !important;
        padding-left: 15px !important;
    }
    .smart-energy-section_images{
        flex-direction: column;
    }

    .generation-map-section{
      padding: 0px;
      flex-direction: column-reverse;
      /* justify-content: center; */
      align-items: center;
    }

    .generation-map-section_locations{
      position: initial;
    }
}

