@charset "UTF-8";

:root {
    --bs-blue: #3575d3;
}

.bg-blue {
    background-color: var(--bs-blue);
}


* {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: content-box;
}


.mt-20 {
    margin-top: 20px;
}

.d-none {
    display: none;
}

#navbar {
    background: #fff;
    padding: 0px 0px;
    position: absolute;
    width: 100%;
}

section.intro-detalle-oferta {
    padding: 0px;
}

section.intro-detalle-oferta-der {
    padding: 50px 0px 0px;
}

section.intro-detalle-oferta-izq {
    padding: 50px 0 50px;
}

section.intro-detalle-oferta-izq h1 {
    font-size: 25px;
    line-height: 30px;
    font-weight: 700;
    color: #7fcc31;
    font-style: normal;
    margin-bottom: 24px;
}

section.intro-detalle-oferta-izq p {
    font-size: 16px;
    line-height: 23px;
    font-weight: 500;
    color: #4b4b4b;
    margin-bottom: 8px;
    text-align: justify;
}

section.hoteles-detalle {
    padding-top: 0px;
}

section.que-incluye-que-no .caja {
    box-sizing: border-box;
    padding: 0 0px 0px 0px;
    border: none;
    background: #f7f7f7;
}

.cajasinacordion {
    padding-top: 15px;
}

.segundacaja {
    padding: 10px 30px 30px 30px;
}

section.que-incluye-que-no .caja.margen-top {
    margin-top: 25px;
}

section.que-incluye-que-no .caja .icono {
    text-align: left;
    margin-left: 10px;
    margin-top: 40px;
    display: inline-block;
}

section.que-incluye-que-no .caja h2 {
    font-size: 22px;
    line-height: 30px;
    font-weight: 700;
    color: #4b4b4b;
    font-style: normal;
    text-align: center;
    position: relative;
    margin-top: -50px;
    margin-bottom: 10px;
    font-family: 'Montserrat';
}

.cajaitinerario {
    box-sizing: border-box;
    padding: 0 0px 0px 0px;
    border: none;
    background: #f7f7f7;
    margin-top: 25px;
}

.cajaitinerario h2 {
    font-size: 22px;
    line-height: 30px;
    font-weight: 700;
    color: #4b4b4b;
    font-style: normal;
    text-align: center;
    position: relative;
    margin-top: -40px;
    margin-bottom: 10px;
    font-family: 'Montserrat';
}

.cajaitinerario .icono {
    text-align: left;
    margin-left: 10px;
    margin-top: 0px;
    display: inline-block;
}

section.itinerario-tabs {
    padding-top: 0px;
}

.preciopersona {
    font-size: 14px;
    color: #000;
}

section.hoteles-detalle .caja-hoteles h4 {
    float: right;
    font-size: 24px;
    line-height: 21px;
    font-weight: 900;
    color: #7fcc31;
}

section.hoteles-detalle .caja-hoteles {
    box-sizing: border-box;
    padding: 10px 30px;
    background: #f7f7f7;
    margin-top: 20px;
}

.cajapdf {
    box-sizing: border-box;
    padding: 0 0px 0px 0px;
    border: none;
    background: #f7f7f7;
    margin-top: 25px;
}

.cajapdf h2 {
    font-size: 22px;
    line-height: 30px;
    font-weight: 700;
    color: #4b4b4b;
    font-style: normal;
    text-align: center;
    position: relative;
    margin-top: -40px;
    margin-bottom: 10px;
}

.cajapdf .icono {
    text-align: left;
    margin-left: 10px;
    margin-top: 0px;
    display: inline-block;
}

.cajainfodestino {
    box-sizing: border-box;
    padding: 0 0px 0px 0px;
    border: none;
    background: #f7f7f7;
    margin-top: 25px;
}

.cajainfodestino h2 {
    font-size: 22px;
    line-height: 30px;
    font-weight: 700;
    color: #4b4b4b;
    font-style: normal;
    text-align: center;
    position: relative;
    margin-top: -40px;
    margin-bottom: 10px;
    font-family: 'Montserrat';
}

.cajainfodestino .icono {
    text-align: left;
    margin-left: 10px;
    margin-top: 0px;
    display: inline-block;
}

section.info-destino-detalle {
    padding-top: 0px;
}

section.hoteles-detalle a.boton {
    display: block;
    font-size: 18px;
    line-height: 23px;
    font-weight: 700;
    color: #fff;
    background: var(--bs-blue);
    border: 1px solid var(--bs-blue);
    text-align: center;
    padding: 8px 0;
    margin-top: 40px;
    cursor: pointer;
    width: 60%;
    margin-left: auto;
    margin-right: auto;
}

section.descarga-mas-infor a {
    display: block;
    float: left;
    font-size: 15px;
    line-height: 21px;
    font-weight: 700;
    color: #fff;
    background: var(--bs-blue);
    border: 1px solid var(--bs-blue);
    padding: 10px 32px;
    margin-right: 5px;
    margin-left: 5px;
}

section.descarga-la-oferta {
    padding-top: 0;
}

section.descarga-la-oferta p a {
    color: var(--bs-blue);
}

div.contenido-der .boton-conf-viaje {
    font-family: 'Montserrat', sans-serif !important;
    width: 60%;
    display: block;
    font-size: 18px;
    line-height: 23px;
    font-weight: 700;
    color: #fff;
    text-align: center;
    padding: 8px 0;
    margin-top: 25px;
    margin-left: 20%;
    background: var(--bs-blue);
    border: 1px solid var(--bs-blue);
}

div.contenido-der .configura-tu-viaje select,
div.contenido-der .configura-tu-viaje input {
    background: #fff !important;
    border: none;
    font-size: 18px;
    line-height: 23px;
    font-weight: 500;
    color: #4b4b4b;
    height: 38px;
    width: 100%;
    margin-bottom: 10px;
    border: 1px solid #c5c5c5 !important;
    padding: 5px;
}

div.contenido-der .configura-tu-viaje h2 {
    font-size: 18px;
    line-height: 30px;
    font-weight: 700;
    color: var(--bs-blue);
    font-style: normal;
    margin-bottom: 24px;
}

.active:after {
    content: "\2212";
}

.panel {
    background-color: white;
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.2s ease-out;
}

.accordion {
    cursor: pointer;
    border: none;
    text-align: left;
    outline: none;
    transition: 0.4s;
    position: relative;
    height: 85;
    background: transparent;
    width: 100% !important;
    margin: 0px;
    padding: 0px;
}

.active,
.accordion:hover {
    background-color: #ccc;
}

.accordion:after {
    content: url('../img/flecha-acordeon.png');
    color: #777;
    font-weight: bold;
    float: right;
    margin-left: 5px;
    padding-right: 20px;
    margin-top: -36px;
    font-size: 25px;
}

















/* estilos detalles-oferta-paso-dos */
section.intro-detalle-oferta.aux {
    padding: 20px 0;
}

.subtituloconfig {
    font-size: 18px;
    line-height: 30px;
    font-weight: 700;
    color: var(--bs-blue);
    font-style: normal;
    margin-bottom: 24px;
    margin-top: 24px;
}

.titulooferta {
    font-size: 22px;
    line-height: 30px;
    font-weight: 700;
    color: #7fcc31;
    margin-bottom: 24px;
}

.cajanueva {
    /* border: 3px solid #adadad; */
    box-sizing: border-box;
    position: relative;
    margin-top: 25px;
}

.cajanuevaextra {
    box-sizing: border-box;
    position: relative;
}

.cajap2 h2 {
    font-size: 25px;
    line-height: 30px;
    font-weight: 700;
    color: #4b4b4b;
    font-style: normal;
    text-align: center;
    position: relative;
    margin-top: -38px;
    margin-bottom: 10px;
}

.cajap2 .iconop2 {
    text-align: left;
    margin-left: 10px;
    margin-top: 18px;
    display: inline-block;
}

.cajap2 .margen-top {
    margin-top: 25px;
}

.izqcajap2 {
    float: left;
    width: 30%;
    height: auto;
}

.dercajap2 {
    float: left;
    width: 70%;
    height: auto;
}

.dercajap2 .izqdercajap2 {
    float: left;
    width: 25%;
    height: auto;
}

.dercajap2 .izqdercajap2 h4 {
    margin-top: 0px;
    margin-bottom: 0px;
}

.dercajap2 .centrodercajap2 {
    float: left;
    width: 50%;
    height: auto;
}

.dercajap2 .derdercajap2 {
    float: left;
    width: 25%;
    height: auto;
}

.dercajap2 .derdercajap2 h4 {
    margin-top: 0px;
    margin-bottom: 0px;
}

.accordionp201 {
    cursor: pointer;
    border: none;
    text-align: left;
    outline: none;
    transition: 0.4s;
    position: relative;
    height: 85;
    background: transparent;
    width: 100% !important;
    margin: 0px;
    padding: 0px;
}

.active01,
.accordionp201:hover {
    background-color: #fff;
}

.accordionp201:after {
    content: '\002B';
    color: #777;
    font-weight: bold;
    float: right;
    margin-left: 5px;
    padding-right: 20px;
    margin-top: -42px;
    font-size: 25px;
}

.panelp201 {
    background-color: white;
    max-height: 0;
    overflow: visible;
    transition: max-height 0.2s ease-out;
}

.active01:after {
    content: "\2212";
}

.accordionp2 {
    cursor: pointer;
    border: none;
    text-align: left;
    outline: none;
    transition: 0.4s;
    position: relative;
    height: 85;
    background: transparent;
    width: 100% !important;
    margin: 0px;
    padding: 0px;
}

.accordionp2extra {
    cursor: pointer;
    border: none;
    text-align: left;
    outline: none;
    transition: 0.4s;
    position: relative;
    height: 20px;
    background: transparent;
    width: 100% !important;
    margin: 0px 0px 5px 0px;
    padding: 0px;
}

.active,
.accordionp2:hover {
    background-color: #fff;
}

.accordionp2:after {
    content: '\002B';
    color: #777;
    font-weight: bold;
    float: right;
    margin-left: 5px;
    padding-right: 20px;
    margin-top: -42px;
    font-size: 25px;
}

.active,
.accordionp2extra:hover {
    background-color: #fff;
}

.accordionp2extra:after {
    content: 'Ver hoteles';
    color: var(--bs-blue);
    font-weight: bold;
    float: right;
    margin-left: 5px;
    padding-right: 20px;
    margin-top: -25px;
    font-size: 12px;
}

.accordionp2extraex {
    cursor: pointer;
    border: none;
    text-align: left;
    outline: none;
    transition: 0.4s;
    position: relative;
    height: 20px;
    background: transparent;
    width: 100% !important;
    margin: 0px;
    padding: 0px;
}

.active,
.accordionp2extraex:hover {
    background-color: #fff;
}

.accordionp2extraex:after {
    content: 'Ver detalles';
    color: var(--bs-blue);
    font-weight: bold;
    float: right;
    margin-left: 5px;
    padding-right: 20px;
    margin-top: -25px;
    font-size: 12px;
}

.activeextra:after {
    content: "Ocultar";
}

.panelp2 {
    background-color: white;
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.2s ease-out;
    overflow-y: scroll;
}

section.categorias-elegir {
    padding-top: 0px;
}

section.seguros-elegir {
    padding-top: 0px;
}

.accordion-container {
    width: 100%;
    margin: 0 0 0px;
    clear: both;
}

div.caja-resumen-viaje div:nth-child(3) div div div.accordion-container {
    background-color: #d5d5d591;
}


.accordion-titulo {
    position: inherit;
    display: block;
    padding: 20px;
    font-size: 25px;
    font-weight: 700;
    color: #4b4b4b;
    font-style: normal;
    text-align: center;
    background: #fff;
    text-decoration: none;
    margin-top: -64px;
}

.accordion-titulo.open {
    background: #fff;
    color: #000;
}

.accordion-titulo:hover {
    background: #fff;
}

.accordion-titulo span.toggle-icon:before {
    content: "+";
}

.accordion-titulo.open span.toggle-icon:before {
    content: "-";
}

.accordion-titulo span.toggle-icon {
    position: absolute;
    top: 10px;
    right: 20px;
    font-size: 38px;
    font-weight: bold;
}

.accordion-tituloex {
    position: inherit;
    display: block;
    padding: 20px;
    font-size: 25px;
    font-weight: 700;
    color: #4b4b4b;
    font-style: normal;
    text-align: center;
    background: #fff;
    text-decoration: none;
    margin-top: -64px;
}

.accordion-tituloex.open {
    background: #fff;
    color: #000;
}

.accordion-tituloex:hover {
    background: #fff;
}

.accordion-tituloex span.toggle-icon:before {
    content: "+";
}

.accordion-tituloex.open span.toggle-icon:before {
    content: "-";
}

.accordion-tituloex span.toggle-icon {
    position: absolute;
    top: 10px;
    right: 20px;
    font-size: 38px;
    font-weight: bold;
}

.intro-detalle-oferta-der {
    display: flex;
    justify-content: flex-end;
}

.volver {
    display: flex;
    justify-content: flex-end;
    width: 100%;
}

.recargar-enlace {
    padding: 5px 10px;
    text-decoration: none;
    color: #007BFF;
    font-size: 20px;
    font-weight: 800;
}

.cajap2.margen-top {
    background: #f7f7f7;
}

.accordion-tituloder.open {
    font-size: 25px;
}

table.accordion-contentder {
    color: #4b4b4b;
    border-collapse: collapse;
    border-radius: 8px;
    overflow: hidden;
    font: inherit;
}

table.accordion-contentder thead {
    font-weight: 600;
    font-size: 18px;
    font-weight: 600;
}

table.accordion-contentder thead th,
table.accordion-contentder tbody td {
    padding: 12px;
    text-align: center;
}


table.accordion-contentder thead th:after {
    content: "";
    position: relative;
    height: 3px;
    background: #4b4b4b;
    display: block;
    margin-top: 5px;
    width: 65px;
    margin-left: auto;
    margin-right: auto;
}

table.accordion-contentder tbody tr.total_reserva {
    font-weight: 600;
    font-size: 1.2em;
    color: #4b4b4b;
}

.total_reserva td {
    border-top: 2px solid #000;
}

table.accordion-contentder tbody td:last-child {
    font-weight: 600;
    color: #4b4b4b;
}

.accordion-tituloder {
    position: inherit;
    display: block;
    padding: 20px;
    font-size: 22px;
    font-weight: 700;
    color: #4b4b4b;
    font-style: normal;
    text-align: center;
    text-decoration: none;
    margin-top: -64px;
}


toggle-icon:before {
    content: "+";
}

.accordion-tituloder span.toggle-icon:before {
    content: "+";
}

.accordion-tituloder.open span.toggle-icon:before {
    content: "-";
}

.accordion-tituloder span.toggle-icon {
    position: absolute;
    top: 10px;
    right: 20px;
    font-size: 38px;
    font-weight: bold;
}

.accordion-contentder,
.accordion-content,
.accordion-contentex {
    display: none;
    padding: 20px;
    overflow: auto;
}

section.excursiones-elegir {
    padding-top: 0px;
}

section.seguros-elegir .col-tres {
    float: left;
    width: 100%;
}

.segurosbold {
    font-size: 20px;
    line-height: 21px;
    color: #44cd05;
}

section.seguros-elegir .col-tres.ultimo {
    width: 100% !important;
}

section.excursiones-elegir .caja-excursion2 .izq,
section.excursiones-elegir .caja-extra2 .izq {
    float: left;
    width: 8%;
    margin-right: 3px;
    margin-left: 3px;
    margin-top: 35px;
}

section.excursiones-elegir .caja-excursion2 .der,
section.excursiones-elegir .caja-extra2 .der {
    float: left;
    width: 90%;
    margin-top: 15px;
}

section.infointeres-ficha-informacion-detalle-oferta {
    background: #fff;
}

section.excursiones-elegir .caja-excursion2 .der p,
section.excursiones-elegir .caja-extra2 .der p {
    font-size: 16px;
    line-height: 21px;
    font-weight: 600;
    color: #4b4b4b;
    float: left;
    margin-block: 18px;
    padding-right: 30px;
}

section.excursiones-elegir .caja-excursion2 .panelcajap2 p,
section.excursiones-elegir .caja-extra2 .panelcajap2 p {
    font-size: 16px;
    line-height: 21px;
    color: #4b4b4b;
    font-weight: 400;
    float: left;
    padding-inline: 30px;
}

section.excursiones-elegir .caja-excursion2,
section.excursiones-elegir .caja-extra2 {
    float: left;
    width: 100%;
    min-height: auto;
    margin-bottom: 0px;
    border-bottom: 1px solid #adadad;
}

.spanverde {
    color: #44cd05;
    font-size: 24px !important;
}

.precioporpersona {
    font-size: 12px;
}

.caja-resumen-viaje {
    box-sizing: border-box;
    padding: 0px 0px;
    background: transparent;
}

.resumender {
    float: left;
    margin-right: 15%;
}

.abrir01 {
    display: block;
    margin-top: 20px;
    font-size: 20px;
    line-height: 25px;
    font-weight: 600;
    color: #fff;
    text-transform: uppercase;
    background: var(--bs-blue);
    border: 1px solid var(--bs-blue);
    width: 230px;
    height: 50px;
    cursor: pointer;
}

.acorflecha {
    margin-top: -55;
    left: -26px;
}

.acorcentrotitulo {
    margin-top: -60px;
    padding-bottom: 0px;
}

.acoracor {
    border: none;
    border-top: none;
    padding: 0px 0px;
}

.acorinfo {
    background: #fff;
    padding: 0px 0px;
}

.acorcaja {
    border: 3px solid #adadad;
    box-sizing: border-box;
    padding: 0px 0px;
    position: relative;
    margin-top: 50px;
}

.acorpanel {
    padding: 0px;
    border: none;
    border-radius: none;
    -webkit-box-shadow: none;
    box-shadow: none;
}

section.infointeres-ficha-informacion-detalle-oferta .panel {
    box-sizing: border-box;
    width: 100%;
    padding: 0px;
    margin-top: 20px !important;
    display: none;
    border: 1px solid #adadad;
    margin-bottom: -1px;
}

section.infointeres-ficha-informacion-detalle-oferta .panel {
    box-sizing: border-box;
    width: 100%;
    padding: 0px;
    display: none;
    border: none;
    margin-bottom: -1px;
}

section.extras-elegir .caja {
    float: left;
    width: 100%;
    padding-bottom: 20px;
    padding-top: 20px;
    border-bottom: 1px solid #adadad;
}

.imagenextras {
    width: 100%;
    margin-bottom: 20px;
}

.checkextras {
    float: left;
    margin-right: 30px;
}

.nombreextras {
    font-size: 17px;
    line-height: 21px;
    font-weight: 600;
    color: var(--bs-blue);
}

section.extras-elegir .caja p {
    font-size: 16px;
    line-height: 21px;
    font-weight: 600;
    color: #4b4b4b;
    width: 40%;
    float: left;
}

section.extras-elegir {
    padding-top: 0px;
}

.cajas-desplegables.detalles h1 {
    font-size: 25px;
    line-height: 30px;
    font-weight: 700;
    color: #4b4b4b;
    font-style: normal;
    font-family: 'Montserrat' !important;
}

.tituloexcursiones {
    position: inherit;
    display: block;
    padding: 20px;
    font-size: 25px;
    font-weight: 700;
    color: #4b4b4b;
    font-style: normal;
    text-align: center;
    background-color: transparent !important;
    text-decoration: none;
    margin-top: 60px;
    font-family: 'Montserrat' !important;
}

section.infointeres-ficha-informacion-detalle-oferta .accordion img {
    float: right;
    position: relative;
    top: 29px;
}

section.infointeres-ficha-informacion-detalle-oferta .accordion {
    box-sizing: border-box;
    cursor: pointer;
    padding: 14px;
    width: 100%;
    border: none;
    outline: none;
    transition: 0.4s;
    margin-bottom: -1px;
}

.acoricon {
    text-align: left;
    position: relative;
    left: -470px;
    top: -22px;
}

.accordion:hover {
    background-color: #ccc;
}

.coloritinerariolink {
    color: var(--bs-blue);
}

.mh2vuelos {
    font-size: 16px !important;
    line-height: 30px !important;
    font-weight: 700 !important;
    color: #4b4b4b !important;
    padding-top: 30px !important;
    padding-bottom: 10px !important;
    font-style: normal !important;
}

.mh3vuelos {
    margin-bottom: 1px !important;
    margin: 0px 0px !important;
}

.mpvuelos {
    margin-bottom: 20px;
    font-weight: 500;
}

.mresumenvuelos {
    border: 3px solid #adadad;
    padding: 20px;
}

.mizqvuelos {
    float: left;
    width: 10%;
    height: auto;
    text-align: center;
}

.mcentrovuelos {
    float: left;
    width: 80%;
    height: auto;
}

.mdervuelos {
    float: left;
    width: 10%;
    height: auto;
    text-align: center;
}

.mgran-cajavuelos {
    background: #f3f3f3;
    padding: 30px;
}

.mimgvuelos {
    float: left;
    width: 5%;
}

.mtitulovuelos {
    vertical-align: middle;
    top: 20px;
    position: relative;
    left: 20px;
}

.mxvuelos {
    font-size: 30px;
    border: none;
    background-color: transparent;
    color: var(--bs-blue);
    top: 35px !important;
    right: 35px !important;
}

button.btn.btn-dynamic-azul {
    border: none;
    color: #fff;
    padding: 15px 15px;
    background: var(--bs-blue);
}

.mbodyvuelos {
    padding: 30px
}

.mtituloizqvuelos {
    position: relative;
    top: -40px;
    left: 30px;
}

.mheadervuelos {
    border-bottom: 3px solid var(--bs-blue);
}

.mciudadvuelos {
    font-weight: 500 !important;
}

.verde {
    color: #a7d961;
    font-size: 24px !important;
    margin-left: 10px;
    font-weight: 600 !important;
}

.azul {
    color: #4B4B4B;
    font-size: 22px !important;
    font-weight: 600 !important;
}

section.excursiones-elegir .caja-excursion2 .der h3,
section.excursiones-elegir .caja-extra2 .der h3 {
    font-size: 17px;
    line-height: 21px;
    font-weight: 600;
    color: #4b4b4b;
}

.botonacordion {
    display: block;
    margin-top: 20px;
    margin-bottom: 20px;
    font-size: 20px;
    line-height: 25px;
    font-weight: 600;
    color: #fff;
    text-transform: uppercase;
    background: var(--bs-blue);
    border: 1px solid var(--bs-blue);
    width: 230px;
    padding-top: 10px;
    padding-bottom: 10px;
}

section.final-poli button {
    display: block;
    margin-top: 30px;
    font-size: 20px;
    line-height: 25px;
    font-weight: 600;
    color: #fff;
    text-transform: uppercase;
    background: var(--bs-blue);
    border: 1px solid var(--bs-blue);
    width: 230px;
    height: 60px;
    cursor: pointer;
}

section.categorias-elegir .der {
    float: left;
    width: 90%;
    margin-left: 10px;
    margin-bottom: 20px;
}

.form-group {
    margin-bottom: 15px;
}

.row {
    margin-right: -15px;
    margin-left: -15px;
}

.form-control {
    display: block;
    width: 100%;
    height: 34px;
    padding: 6px 12px;
    font-size: 14px;
    line-height: 1.42857143;
    color: #555;
    background-color: #fff;
    background-image: none;
    border: 1px solid #ccc;
    border-radius: 4px;
    -webkit-box-shadow: inset 0 1px 1px rgb(0 0 0 / 8%);
    box-shadow: inset 0 1px 1px rgb(0 0 0 / 8%);
    -webkit-transition: border-color ease-in-out .15s, -webkit-box-shadow ease-in-out .15s;
    -o-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
    transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
}

.msg-categorias-paso-unico {
    text-align: center;
    margin-bottom: 5px;
    margin-top: 5px;
    font-size: 18px;
}

@media (min-width: 768px) {
    .col-sm-12 {
        width: 100%;
    }

    .col-sm-4 {
        width: 33.33333333%;
    }

    .col-sm-1,
    .col-sm-10,
    .col-sm-11,
    .col-sm-12,
    .col-sm-2,
    .col-sm-3,
    .col-sm-4,
    .col-sm-5,
    .col-sm-6,
    .col-sm-7,
    .col-sm-8,
    .col-sm-9 {
        float: left;
    }

    .col-sm-8 {
        width: 66.66666667%;
    }
}

.col-lg-1,
.col-lg-10,
.col-lg-11,
.col-lg-12,
.col-lg-2,
.col-lg-3,
.col-lg-4,
.col-lg-5,
.col-lg-6,
.col-lg-7,
.col-lg-8,
.col-lg-9,
.col-md-1,
.col-md-10,
.col-md-11,
.col-md-12,
.col-md-2,
.col-md-3,
.col-md-4,
.col-md-5,
.col-md-6,
.col-md-7,
.col-md-8,
.col-md-9,
.col-sm-1,
.col-sm-10,
.col-sm-11,
.col-sm-12,
.col-sm-2,
.col-sm-3,
.col-sm-4,
.col-sm-5,
.col-sm-6,
.col-sm-7,
.col-sm-8,
.col-sm-9,
.col-xs-1,
.col-xs-10,
.col-xs-11,
.col-xs-12,
.col-xs-2,
.col-xs-3,
.col-xs-4,
.col-xs-5,
.col-xs-6,
.col-xs-7,
.col-xs-8,
.col-xs-9 {
    position: relative;
    min-height: 1px;
    padding-right: 15px;
    padding-left: 15px;
}

.enlace {
    border: none !important;
    outline: none !important;
    background: none !important;
    cursor: pointer !important;
    color: var(--bs-blue) !important;
    padding: 0 !important;
    text-decoration: none !important;
    font-family: inherit !important;
    font-size: inherit !important;
    margin-top: 0px !important;
    width: auto !important;
    height: auto !important;
    text-transform: none !important;
    line-height: 20px !important;
    font-weight: 500 !important;
    display: block !important;
    float: right !important;
    padding-left: 5px !important;
    font-size: 15px !important;
}

.custom-spinner {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 0.8rem;
    padding: 1rem;
    /* Espacio entre los spinners */
}

.spinner {
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background-color: var(--bs-blue);
    /* Azul similar al de Bootstrap */
    animation: grow-shrink 1.5s infinite ease-in-out;
}

.spinner:nth-child(2) {
    animation-delay: 0.2s;
}

.spinner:nth-child(3) {
    animation-delay: 0.4s;
}

@keyframes grow-shrink {

    0%,
    100% {
        transform: scale(0.5);
        opacity: 0.7;
    }

    50% {
        transform: scale(1.2);
        opacity: 1;
    }

}

section.infointeres-ficha-informacion-detalle-oferta .panel p {
    font-size: 16px;
    line-height: 21px;
    font-weight: 600;
    color: #4b4b4b;
    margin-bottom: 18px;
    float: left;
    padding-right: 30px;
}

/*CSS MODAL MOTOR DE VUELOS*/
div#modalMotorVuelos {
    display: flex;
}

div#modalError {
    display: flex;
}

table.opcion {
    margin: 1rem;
    border-inline: 1px solid #e6e6e6;
    cursor: pointer;
}

table.opcion.selected {
    background-color: rgb(223, 220, 220);
}

button:hover {
    cursor: pointer;
}

table.opcion:hover {
    background-color: rgb(223, 220, 220);
}

.segmento td {
    padding: 0.5rem;
    font-size: 12px;
}

td.trayecto,
td.duracion,
td.sobreCoste {
    vertical-align: middle;
    border: #e9d3d3cf solid 1px;
}

.cabecera {
    background-color: var(--bs-blue);
    font-weight: 600;
    color: white;
}

.cabecera tr th {
    padding: 1rem;
}

.cuerpo td {
    text-align: center;
    padding: 1rem;
}

.fin-tramo {
    border-bottom: 1px solid #e6e6e6;
    ;
}

.contenedor-btn {
    display: flex;
    justify-content: end;
    margin-right: 2rem;
}

.btn-vuelos {
    padding: 0.5rem;
    background-color: var(--bs-blue);
    color: white;
    cursor: pointer;
    border-radius: 5px;
    border: 1px solid var(--bs-blue);
}

.btn-vuelos:disabled {
    background-color: #fff;
    color: #adadad;
    border: 1px solid #adadad;
    border-radius: 5px;
}

.opcionBarata,
.opcionCorta,
.otros {
    color: var(--bs-blue);
    padding: 10px;
    background: transparent;
    border-radius: 5px;
    border: 1px solid var(--bs-blue);
    width: 29%;
}

.opcionBarata:hover,
.opcionCorta:hover,
.otros:hover {
    color: #eff1f3;
    background: var(--bs-blue);
    border-radius: 5px;
}

/*FIN CSS MODAL MOTOR DE VUELOS*/

/*CSS MODAL ERROR DE VUELOS*/

div#modalError {
    display: flex;
}

.modal-action {
    text-align: center;
    padding: 1rem;
}