/*========== BASE ==========*/
html {
   font-size: 62.5%;/* 1REM = 10px*/
   scroll-behavior: smooth;
}
*,
::before,
::after {
   box-sizing: border-box;
}


body {
   font-family: var(--body-font);
   font-size: var(--normal-font-size);
   line-height: 26px;
   font-size: 1.6rem;
}

h1,
h2,
h3,
ul,
p {
   margin: 0;
}


ul {
   padding: 0;
   list-style: none;
}

a {
   text-decoration: none;
}

img {
   max-width: 100%;
   height: auto;
}

/*========== CLASS CSS ==========*/
.section-title,
.section-title-center {
   font-size: var(--h2-font-size);
   color: var(--title-color);
   text-align: center;
   margin-bottom: var(--mb-3);
}


.whatsapp-icon, .icon-phone{
   height: 35px;
   width: 35px;
}

/*NAVBAR*/
._header-old {
   background-color: #000!important;
   padding: 1rem 0;
}

@media (max-width: 768px) {
   .menu-desktop {
      display: none;
   }
}

.redireccion {
   border-right: 2px solid rgb(223, 23, 23) ;
   padding: .5rem 0;
   display: block;
}

@media (min-width: 768px){
   ._header-old {
      display: none;
   }
   .menu-desktop {
      display: block;
   }
   .redireccion{
      display: flex;
      align-items: end;
      padding: 0px 20px;
   }
}
.menu-desktop {
   background-color: #000;
   border-bottom: 1px solid red;
}

.logo-app {
   display: inline-block;
   width: auto;
   height: auto;
}

.logo-app img{
   height: 3.5rem;
   object-fit: cover;
}

.menu-desktop-contenedor {
   padding: 1.5rem 0;
   display: flex;
   justify-content: space-around;
   align-items: center;
}

.menu-desktop .contactanos a{
   display: flex;
   align-items: center;
   justify-content: center;
}
.menu-desktop .contactanos .texto {
   color: #fff;
}

.menu-desktop .txt-telefono{
   font-weight: 600;
   font-size: 2.3rem;
}

@media (max-width:768px) {
   .menu-desktop .contactanos a{
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
   }
   .mdesk-inicio {
      display: none;
   }

   .menu-desktop .texto p{
      display: none;
   }
   .contactanos .txt-telefono {
      font-size: 1.7rem;
   }
}


/* PANTALLA PRINCIPAL FOTOS*/
.portada-main {
   background-image: linear-gradient(
         rgba(7, 7, 7, 0.5), rgba(7, 7, 7, 0.5)
      ), url("../img/update-servicios/destinos/tacna-1.jpg");
   background-repeat: no-repeat;
   background-size: cover;
   background-position: center;
}

.portada-texto h1{
   text-align: left;
   font-size: 5rem;
   font-weight: 800;
}
.portada-texto span{
   color: red;
}
.portada-texto p {
   margin-top: 2rem;
   text-align: left;
   text-transform: capitalize;
}

@media (max-width:768px) {
   .portada-main {
      min-height: 30rem;
      padding: 3rem 2rem;
   }
   .portada-redes {
      display: none;
   }

}
@media (min-width:768px) {
   .portada-main {
      min-height: 42rem;
      padding: 15rem 8rem;
   }

   .portada-texto h1 {
      font-size: 8rem;
   }
}

.contenido-portada {
   display: flex;
   justify-content: space-between;
}

.portada-texto {
   color: white;
}
@media (min-width: 1440px) {
   .portada-main {
      padding: 15rem 25rem;
   }
}

.red{
   height: 3rem;
   width: 3rem;
   margin-top: 2rem ;
}

/***/


/*INFORMACION SECTION BUSES*/
.img-buses {
   padding: 1rem 2rem;
   margin: 5rem 0;
}
.buses-grid {
   width: 100%;
   height: 30rem;
   display: grid;
   grid-template-columns: repeat(2,1fr);
   grid-template-rows: repeat(4, 1fr);
   gap: 1rem;
}
@media (min-width:768px) {
   .indice div {
      display: flex;
      justify-content: left;
   }
   .indice ul {
      margin-right: 4rem;
   }
}

@media (min-width:1024px) {
   .img-buses {
      display: flex;
      justify-content: center;
      align-items: center;
   }
   .buses-grid {
      height: 40rem;
      width: 80rem;
   }
   .buses-grid-contenido {
      padding: 0 2rem;
   }

}

.img-bus img{
   width: 100%;
   height: 100%;
   object-fit: cover;
   border-radius: 1.5rem;
}
.img-bus:nth-child(1) {
   grid-column: 1/3;
   grid-row: 1/4;
}
.img-bus:nth-child(2) {
   grid-column: 1/2;
   grid-row: 4/5;
}
.img-bus:nth-child(3) {
   grid-column:2/3;
   grid-row: 3/5;
}

.buses-grid-contenido {
   text-align: left;
}
.buses-grid-contenido h4 {
   color: red;
   font-size: 2rem;
   font-weight: 800;
   margin-top: 2rem;
   margin-bottom: 1rem;
}
.buses-grid-contenido h3{
   font-size: 4rem;
   font-weight: 800;
}
.buses-grid-contenido p{
   margin: 2rem 0;
}

.indice p {
   text-decoration-line: underline;
   color: #000;
}
.indice p:hover {
   text-decoration-line: underline;
   text-decoration-color: red;
   color: red;
}



/*SECTION LOGROS */
.logros-hallpa{
   margin: 5rem 0;
   padding: 2rem;
   background-color: #e1e1e1;
   display: flex;
   flex-direction: column;
   align-items: center;
   justify-content: center;
}
.logros {
   margin-bottom: 3rem;
   width: 25rem;
   display: flex;
   flex-direction: column;
   align-items: center;
}
@media (min-width:768px) {
   .logros-hallpa {
      flex-direction: row;
      flex-wrap: wrap;
      padding-top: 5rem;
   }
}

.logro-icon {
   background-repeat: no-repeat;
   height: 9rem;
   width: 9rem;
   background-size: cover;
   margin-bottom: 1rem;
}
._icon-reward  {
   background-image: url("../img/update-servicios/ICONOS/reqward.png");
}
._icon-transport  {
   background-image: url("../img/update-servicios/ICONOS/user-icon.png");
}
._icon-sales  {
   background-image: url("../img/update-servicios/ICONOS/sales-icon.png");
}
._icon-point-sale {
   background-image: url("../img/update-servicios/ICONOS/point-icon.png");
}

.logros-texto {
   text-align: center;
}
.logros-texto h2 {
   font-size: 5rem;
   font-weight: 800;
}
.logros-texto span {
   font-size: 2rem;
   font-weight: 500;
   color: red;
   position: relative;
   bottom: 1rem;
   left: .5rem;
}

/*CARDS INFORMACION SERVICIOS*/
.cards-servicios-title {
   margin: 2rem 0;
}
.cards-servicios-title h3{
   text-align: center;
   font-weight: 800;
   font-size: 4rem;
}
.cards-servicios-title p{
   text-align: center;
   padding: 1rem 0;
}

@media (min-width:768px) {
   .cards-servicios {
      display: flex;
      flex-wrap: wrap;
      justify-content: center;
   }
   .card-service {
      width: 30rem;
   }
}

@media (min-width:1024px) {
   .card-service-superior {
      position: relative;
      bottom: 3rem;
   }
}

.card-service-vip {
   background-image: linear-gradient(
      rgba(255, 255, 255, 0.7), rgba(255, 255, 255, 0.7)
   ), url("../img/update-servicios/PLATINUM/PLATINUM CONFORT 1ER PISO/IMG_5459.JPG");
}

.card-service-superior {
   background-image: linear-gradient(
      rgba(255, 255, 255, 0.7), rgba(255, 255, 255, 0.7)
   ), url("../img/update-servicios/PLATINUM/PLATINUM SUPERIOR 2DO PISO/IMG_5394.JPG");
}

.card-service-confort {
   background-image: linear-gradient(
      rgba(255, 255, 255, 0.7), rgba(255, 255, 255, 0.7)
   ), url("../img/update-servicios/PLATINUM/PLATINUM CONFORT 1ER PISO/IMG_5442.JPG");
}

.card-service {
   margin: 1rem 2rem;
   border-radius: 1rem;
   background-repeat: no-repeat;
   background-size: cover;
   padding: 3rem;
   background-position: center;
}

.nombre-servicio {
   text-align: center;
   background-color: red;
   color: #fff;
   padding: 1.5rem 0;
   border-radius: 1rem;
}
.nombre-servicio h3 {
   font-weight: 800;
   font-size: 2rem;
}
.descripcion-servicio {
   border-top: 1px solid #000;
   text-align: center;
   margin-top: 2rem;
   padding-top: 2rem;
}
/*
   RUTAS HALLPA
*/
.rutas-hallpa-section {
   margin: 3rem 2rem;
   padding: 3rem 0;
   border-bottom: 1px solid #e1e1e1;
}
.table-container h2{
   text-align: center;
   font-weight: 800;
   font-size: 4rem;
   margin-bottom: 20px;
}

@media (min-width: 1024px) {
   .table-container {
      margin: 0 15rem;
   }
}


.rutas-hallpa-section table {
   width: 100%;
   border-collapse: collapse;
}

.rutas-hallpa-section thead {
   background-color: rgba(128, 128, 128, 0.212);
}

.rutas-hallpa-section th, .rutas-hallpa-section td {
   border: 1px solid #f9f9f9;
   padding: 20px;
   text-align: center;
}

.rutas-hallpa-section th {
   background-color: #C2230D;
   color: #fff;
   font-weight: bold;
}

.rutas-hallpa-section tr:hover {
   background-color: #f1f1f1;
   cursor: pointer;
}

/*sobre hallpa section */
.sobre-hallpa {
   background-color: #e1e1e1;
}

.contenedor-hallpa {
   margin: 0 3rem;
   padding: 4rem 0;
}
@media (min-width: 1440px) {
   .contenedor-hallpa {
      padding-left: 20rem;
      padding-right: 20rem;
   }

}

.sobre-hallpa-texto{
   text-align: left;
}

.sobre-hallpa-texto h3:nth-child(1) {
   color: red;
   font-size: 2rem;
   font-weight: 800;
   margin-bottom: 1rem;
}

.sobre-hallpa-texto h3:nth-child(2) {
   font-size: 4rem;
   font-weight: 800;
   margin-bottom: 1rem;
}

.mapa-rutas-hallpa {
   background-image: url("../img/update-servicios/PLATINUM/EXTERIOR/mapa rutas2.jpg");
   background-repeat: no-repeat;
   padding: 23rem 0;
   background-position: bottom;
   background-size: cover;
}
@media (min-width:1024px) {
   .sobre-hallpa {
      margin-top: 10rem;
      margin-bottom: 4rem;
      display: flex;
      justify-content: center;
   }
   .img-ruta-hallpa {
      position: relative;
      bottom: 5rem;
   }
   .mapa-rutas-hallpa {
      padding: 27rem 20rem;
      border-radius: 1.5rem;
   }
}

/*FAQ*/
.faq-hallpa {
   margin: 0 1.5rem;
}
.faq-texto {
   text-align: center;
}
.faq-texto h3:nth-child(1) {
   color: red;
   font-size: 2rem;
   font-weight: 600;
   margin: 1rem;
}

.faq-texto h3:nth-child(2) {
   font-size: 4rem;
   font-weight: 800;
   margin-bottom: 3rem;
}
.faq-faq .faq {
   margin: 1rem 0;
   border-radius: 1rem;
   padding: .5rem 0;
   z-index: 10;
   background-color: #e1e1e1;
}

.faq-faq .faq p{
   padding: 0 2rem;
}
@media (min-width:1440px){
   .faq-faq{
      display: grid;
      grid-template-columns: repeat(2, 1fr);
      column-gap: 5rem;
   }
}
.faq-faq summary {
   padding: 2rem 0;
   text-align: center;
}




/*BUS FLOTANTE*/
.bus-flotante{
   position: sticky;
   top: 71rem;
   z-index: 100;
}
.sticky-bus {
   display: flex;
   justify-content: center;
   animation: beat 5s infinite;
}

@keyframes beat {
   0% {
       transform: scale(1);
   }
   25% {
       transform: scale(1.2);
   }
   50% {
       transform: scale(1);
   }
   75% {
       transform: scale(1.2);
   }
   100% {
       transform: scale(1);
   }
}
/*FOOTER*/
.footer_background {
   background-image: linear-gradient(
      rgba(7, 7, 7, 0.8), rgba(7, 7, 7, 0.8)
   ), url("../img/update-servicios/destinos/arequipa-2.jpg");
   background-repeat: no-repeat;
   background-size: cover;
   background-position: center;
   padding: 40rem 0;
}
