:root {
    --c1: #f18e04;
    /*--c2: #689B3F;*/
    --c2: #659830;
    /*--bg1: #689B3F;*/
    --bg1: #659830;
    --bg2: #F4F4F4;
    --bg3: #E4E4E4;
    --bg4: #A1AB9A;
    --ancho-main: 1100px;
    --ancho-nav: 1180px;
}

*, *:before, *:after {
    box-sizing: border-box;
}

body {
    background: #FFF;
    margin: 0 auto;
    font-family: 'Source Sans Pro', sans-serif;
    font-weight: 400;
    font-size: 16px;
    font-style: normal;
    height: 100%;
    min-height: 100%;
    color: #666;
}

a {
    color:var(--c1);
}

h1 {
    font-size: 1.875rem;
    font-weight: 300;
}

.cont_max {
    max-width:var(--ancho-nav);
}

.btn {
    text-transform: uppercase;
    border-radius: 3px;
    border: none;
    padding: 10px 30px;
    text-align: center;
    text-decoration: none;
    display: inline-block;
    background-color:var(--c1);
    color: #FFF;
    cursor: pointer;
}

strong, b {
    font-weight: 600;
}

p {
    margin: 0 0 1rem 0;
    line-height: 1.4;
}

/*MENSAJES*/
.msg {
    --msg_color: #66CC00;
    --msg_bg: #EAFFD5;
}

.msg .cont {
    display: inline-block;
    border-radius: 3px;
    padding: 15px 20px 15px 50px;
    text-align: left;
    font-size: 0.9rem;
    background-color: ;
    background:url(/imgs/check.svg) 10px / 30px no-repeat var(--msg_bg);
    border:1px solid var(--msg_color);
}

.msg p {
    margin: 0;
    color: #000;
}

.msg header {
    color:var(--msg_color);
    font-weight: bold;
    letter-spacing: 0.5px;
}

.msg.error .cont {
    --msg_color: #be1615;
    background: url(/imgs/atencion.svg) 10px / 30px no-repeat #FFDDDC;
}

/*CABECERA*/
.pHeader {
    text-align: center;
    margin-bottom: 40px;
}

#logo {
    padding: 10px 0 0;
    display: inline-block;
}

#logo img {
    height: 50px;
}

.pHeader .bienvenida {
    margin-bottom: 30px;
}

/*header nav a:last-child {
  float: right;
  text-align: right;
}*/
header .info_pago {
    background:url('/imgs/info.png') 50% 20px no-repeat var(--bg2);
    color: #333333;
    text-align: left;
    max-width:var(--ancho-main);
    padding: 100px 20px 20px;
    margin: 0 auto;
}

.pHeader .totalv {
    color:var(--c1);
    font-size: 1.3rem;
}

/*Menú hamburguesa*/
@media only screen and (max-width: 1199px) {
    .pHeader nav {
        background: #FFF;
        /*padding: 5px 20px;*/
        padding: 0 10px 10px 0;
        text-align: left;
        margin-top: -25px;
        display: flex;
        justify-content: flex-end;
        align-items: center;
        border-bottom:5px solid var(--bg1);
    }
    
    #botonMenu {
        width: 25px;
        height: 20px;
        cursor: pointer;
        border:4px solid var(--bg1);
        border-width: 4px 0;
        position: relative;
    }
    
    #botonMenu::before {
        display: block;
        height: 4px;
        content: ' ';
        margin-top: 4px;
        background:var(--bg1);
    }
    
    #botonMenu::after {
        /*Para que el area de tocar sea mas grande*/
        content: ' ';
        position: absolute;
        top: -10px;
        left: -5px;
        right: -5px;
        bottom: -10px;
    }
    
    #menu {
        display: none;
        font-weight: 300;
        /*position: relative;*/
    }
    
    #menu .cerrar {
        position: absolute;
        right: 5px;
        font-size: 4rem;
        top: -13px;
        cursor: pointer;
    }
    
    body.ham {
        overflow-y: hidden;
    }
    
    .ham .apagon {
        opacity: 0.4;
        background: #000;
        display: block;
        position: fixed;
        width: 100vw;
        height: 100vh;
        top: 0;
        left: 0;
        z-index: 99998;
    }
    
    .ham #menu {
        position: fixed;
        display: block;
        top: 0;
        left: 0;
        bottom: 0;
        background:var(--bg1);
        color: #FFF;
        z-index: 99999;
        padding: 45px 0 20px;
        box-shadow: 0 0 17px #444;
        width: 300px;
        overflow-y: scroll;
        animation: menuIn 0.6s;
    }
    
    .ham #cerrarMenu {
        display: block;
        position: absolute;
        right: 10px;
        top: 5px;
        font-size: 40px;
        cursor: pointer;
    }
    
    .ham #menu a {
        display: block;
        font-size: 1.1rem;
        padding: 20px 0 20px 20px;
        font-weight: 300;
        border-bottom: 1px solid #FFF;
        text-transform: uppercase;
        color: #FFF;
        text-decoration: none;
    }
    
    .ham #menu a:last-of-type {
        border-bottom: none;
    }
    
    @keyframes menuIn {
        from {
            left: -300px;
        }
        
        to {
            left: 0;
        }
    }
}

@media only screen and (min-width: 1200px) {
    .pHeader nav {
        background:var(--bg1);
        padding: 5px 20px;
        display: flex;
        align-items: center;
        margin-top: 5px;
    }
    
    .pHeader nav .cont_max {
        margin: 0 auto;
    }
    
    .pHeader nav a {
        color: #FFF;
        text-decoration: none;
        line-height: 2.6rem;
        display: inline-block;
        border-right: 1px solid;
        text-transform: uppercase;
        padding: 0px 15px;
    }
    
    .pHeader nav a[sel] {
        font-weight: bold;
    }
    
    .pHeader nav a:first-child {
        border-left: 1px solid;
    }
    
    #botonMenu, #menu .cerrar {
        display: none;
    }
}

/*CUERPO*/
main {
    padding: 0 20px;
    max-width:var(--ancho-main);
    margin: 0 auto 40px;
}

/* PIE*/
footer #ContenedorUltima {
    background: none repeat scroll 0 0 #659A40;
    bottom: 0;
    padding: 12px 0;
    position: fixed;
    width: 100%;
}

footer address #telefonos_horarios {
    float: left;
}

footer address #telefonos_contacto {
    width: 13em;
    border-right: 1px solid #D2E2C8;
    float: left;
    background: url("/imgs/icoPieTfno.png") no-repeat scroll left top rgba(0, 0, 0, 0);
    padding-right: 15px;
}

footer address #telefonos_contacto p.otrostfnos {
    display: none;
    float: right;
    font-size: 0.875rem;
    margin-right: 3px;
    padding-bottom: 3px;
    text-align: right;
    margin: 0;
    line-height: 1.5em;
    border-bottom: 1px solid #D2E2C8;
    clear: right;
    padding: 4px 0;
    width: 65%;
    color: #FFF;
}

footer address #telefonos_contacto a#mastfnos {
    clear: right;
}

footer address #horarios_contacto {
    /*border: 1px solid red;*/
    padding-left: 15px;
    float: left;
    /*width: 20em;*/
}

footer address #horarios_contacto a#Horario {
    float: left;
    display: inline-block;
    font-size: 0.875rem;
    padding-top: 4px;
}

footer address #horarios_contacto a#CurrentTime {
    clear: left;
    display: block;
    float: left;
    font-size: 0.7em;
    padding-top: 12px;
}

footer address #horarios_contacto a {
    font-size: 0.875rem;
}

footer address {
    font-style: normal;
}

footer address #enlaces_contacto {
    float: right;
    padding-top: 8px;
}

footer address a {
    font-size: 0.875rem;
    color: #FFF;
    text-decoration: none;
}

footer address #telefonos_contacto #PieTelefono {
    float: right;
    font-size: 1.3rem;
    padding-left: 53px;
    font-weight: 300;
}

footer address a.peque {
    float: right;
    clear: right display: inline-block;
    font-size: 0.875rem;
    padding-right: 18px;
    padding-bottom: 3px;
    margin-right: 3px;
    background: url("/imgs/flecha_mas_tfn.png") no-repeat scroll right center rgba(0, 0, 0, 0);
}

footer address a.claro {
    color: #D2E2C8;
}

footer address #enlaces_contacto #PieSkype {
    background: url("/imgs/icoPieSkype.png") no-repeat scroll left center rgba(0, 0, 0, 0);
    padding: 10px 0 10px 33px;
}

footer address #enlaces_contacto #PieChat {
    background: url("/imgs/icoPieChat.png") no-repeat scroll left center rgba(0, 0, 0, 0);
    padding: 10px 0 10px 33px;
}

footer address #enlaces_contacto #PieEmail {
    background: url("/imgs/icoPieEmail.png") no-repeat scroll left center rgba(0, 0, 0, 0);
    padding: 10px 0 10px 33px;
}

/*LOGIN*/
.mLogin {
    text-align: center;
}

.mLogin #logoinfo {
    margin: 0 auto 30px;
}

.mLogin #logoinfo img {
    height: 60px;
}

.mLogin form {
    width: 300px;
    margin: 0 auto 20px;
}

.mLogin h2 {
    color:var(--c2);
    font-weight: normal;
    text-transform: uppercase;
    font-size: 1rem;
    margin-bottom: 20px;
}

.mLogin label span {
    color:var(--c3);
    margin-bottom: 3px;
    display: inline-block;
    font-size: 0.9rem;
}

.mLogin label {
    display: block;
    text-align: left;
    margin: 0 0 30px;
}

.mLogin label input {
    display: block;
    width: 100%;
    border: 1px solid #DDD;
    padding: 15px 10px;
    border-radius: 3px;
    font-size: 1.2rem;
}

.mLogin label input:focus {
    border-bottom:2px solid var(--c2);
    padding-bottom: 14px;
    outline: none;
}

.mLogin button {
    display: block;
    width: 100%;
    border: none;
    background:var(--c2);
    color: #FFF;
    padding: 10px;
    width: 300px;
    border-radius: 3px;
    margin: 0 auto 20px;
    cursor: pointer;
}

.mLogin button a {
    color: inherit;
    text-decoration: none;
    display: block;
}

.mLogin button small {
    display: block;
    font-size: 75%;
    margin-top: 15px;
}

.mLogin button[type=button] {
    background:var(--bg4);
}

.mLogin .recuerdame {
	text-align: center;
	margin: -10px 0 0;
}
.mLogin .recuerdame input {
	width: auto;
	display: inline;
	margin-right: 5px;
    accent-color: #659830;
}

.mLogin .botonera {
    margin-top: 50px;
}

.mLogin .banderas {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-around;
	color: #FFF;
	 gap: 20px;
	z-index: 1000;
	 font-size: 0.8rem;
	 margin-bottom: 40px;
}
.mLogin .banderas > * {
	text-align: center;
	flex: 1 calc((100% - 40px) / 3);
	text-decoration: none;
}
.mLogin .banderas img {
	width: 35px;
	height: auto;
	/* margin-bottom: 3px; */
}
.mLogin .banderas span {
	display: block;
	 text-decoration: none;
}

@media only screen and (min-width: 600px) {
    .mLogin .banderas {
        width: 600px;
        margin: 0 auto 30px;
        flex-wrap: nowrap;
        translate: -25% 0;
    }
}

div#div_mensajes_ko_login {
    border-radius: 3px;
    padding: 4px 10px;
    text-align: center;
    color: #C00;
    border: 1px solid #C00;
    background-color: #FFCFCF;
    font-size: 0.9rem;
}

div#div_mensajes_ok_login {
    background: none repeat scroll 0 0 #EAFFD5;
    border: 1px solid #66CC00;
    border-radius: 3px;
    margin-bottom: 20px;
    padding: 4px 10px;
    text-align: center;
    color: #000;
}

/*Lateral*/
aside .ofertasoloint {
    display: none;
}

/*OFERTA*/
.mOferta section {
    margin: 0 0 30px;
    padding-bottom: 20px;
}

.mOferta section:not(:last-of-type) {
    border-bottom: 1px solid #EEE;
}

.mOferta h1 {
    padding-left: 50px;
}

.mOferta .oferta h1 {
    background: url('/imgs/ico/ico1.png') no-repeat;
}

.mOferta .viajeros h1 {
    background: url('/imgs/ico/ico2.png') 0 0 / auto 100% no-repeat;
}

.mOferta .programa h1 {
    background: url('/imgs/ico/ico3.png') 0 0 / auto 100% no-repeat;
}

.mOferta .vuelos h1 {
    background: url('/imgs/ico/avion.png') 0 0 / auto 100% no-repeat;
}

.mOferta .alojamientos h1 {
    background: url('/imgs/ico/alojamientos.png') 0 0 / auto 100% no-repeat;
}

.mOferta .actividades h1 {
    background: url('/imgs/ico/icoact.png') 0 0 / auto 100% no-repeat;
}

.mOferta .otros h1 {
    background: url('/imgs/ico/ico5.png') 0 0 no-repeat;
}

.mOferta .vehiculos h1 {
    background: url('/imgs/ico/coches_de_alquiler.png') 0 0 / auto 100% no-repeat;
}

.mOferta .seguro h1 {
    background: url('/imgs/ico/ico6.png') 0 0 / auto 38px no-repeat;
    min-height: 38px;
}

.mOferta .separador {
    margin: 30px 0;
    border-bottom: 1px solid #EEE;
}

.mOferta .botonera {
    margin: 60px 0 0;
    text-align: center;
}

.mOferta table {
    width: 100%;
    border-collapse: collapse;
    margin-bottom: 20px;
}

.mOferta table tr {
    display: block;
    background:var(--bg2);
    padding: 10px 20px;
    margin: 1px;
}

.mOferta table tr:nth-child(even) {
    background: #E4E4E4;
}

.mOferta table td {
    display: block;
    padding: 4px 0;
}

.mOferta .miniinfo {
    background:var(--bg2);
    padding: 30px;
    border-radius: 5px;
}

.mOferta .miniinfo b {
    color: #484848;
}

.mOferta .tablaDatosMiSpainIsMoreVuelos td {
    text-align: center;
}

/*MI VIAJE*/
.mViaje h1 {
    padding-left: 50px;
}

.mViaje article {
    margin: 0 0 30px;
    padding-bottom: 20px;
}

.mViaje .oferta h1 {
    background: url('/imgs/ico/ico1.png') no-repeat;
}

.mViaje .viajeros h1 {
    background: url('/imgs/ico/ico2.png') 0 0 / auto 100% no-repeat;
}

.mViaje .programa h1 {
    background: url('/imgs/ico/ico3.png') 0 0 / auto 100% no-repeat;
}

.mViaje .vuelos h1 {
    background: url('/imgs/ico/avion.png') 0 0 / auto 100% no-repeat;
}

.mViaje .alojamientos h1 {
    background: url('/imgs/ico/alojamientos.png') 0 0 / auto 100% no-repeat;
}

.mViaje .actividades h1 {
    background: url('/imgs/ico/icoact.png') 0 0 / auto 100% no-repeat;
}

.mViaje .otros h1 {
    background: url('/imgs/ico/ico5.png') 0 0 no-repeat;
}

.mViaje .vehiculos h1 {
    background: url('/imgs/ico/coches_de_alquiler.png') 0 0 / auto 100% no-repeat;
}

.mViaje .seguro h1 {
    background: url('/imgs/ico/ico6.png') 0 0 / auto 38px no-repeat;
    min-height: 38px;
}

.mViaje .documentos h1 {
    background: url('/imgs/ico/ico2a.png') 0 0 / auto 100% no-repeat;
}

.mViaje .noreservado {
    opacity: 0.7;
}

.mViaje .mixav tr:not(.info) td:nth-child(1) img {
    width: 50px;
}

.mViaje .mixav .info:not(.ver), .mViaje #tabla_lista_servicios_caso_actividades .info:not(.ver), .mViaje #tabla_lista_servicios_caso_otros .info:not(.ver) {
    display: none;
}

.mViaje #tabla_lista_servicios_caso_actividades .info_cont, .mViaje #tabla_lista_servicios_caso_otros .info_cont {
    max-width: 600px;
    margin: 0 auto;
}

.mViaje .resp .info {
    background-color: #FBF8E9;
    padding: 0;
}

.mViaje .resp .info td {
    background-color: #FBF8E9;
} 

.mViaje .info td:before {
    content: none;
}

.mViaje .info .texto {
    text-align: left;
    margin: 0 0 30px 0;
}

.mViaje .mixav .info .texto h2 {
    font-size: 1.7rem;
    font-weight: 300;
    margin: 0px 0 10px;
}

.mViaje .mixav .info .texto .btn {
    background:var(--bg1);
    padding: 5px 20px;
    text-transform: none;
    font-size: 0.875rem;
}

.mViaje .mixav .info .imagen img {
    width: 100%;
}

.mViaje .mixav .info .imagenes {
    margin: 20px 0 30px -5px;
    overflow: hidden;
}

.mViaje .mixav .info .imagenes .gallery {
    margin-bottom: 10px;
}

.mViaje .info_cont {
    padding: 20px;
    text-align: left;
}

@media only screen and (max-width: 999px) {
    .mViaje .resp tr {
        background:var(--bg2);
        padding: 10px 20px;
        margin-bottom: 5px;
    }
    
    .mViaje .mixav .resp tr:nth-child(4n+3) {
        background:var(--bg3);
    }
    
    .mViaje .mixav .resp tr:nth-child(4n+3) td {
        border-bottom:1px solid var(--bg2);
    }
}

.mViaje .actividades td:nth-child(1) img {
    width: 50px;
}

.mViaje .otros td:nth-child(1) img {
    width: 50px;
}

.mViaje .documentos table.resp td::before {
    content: none;
}

.mViaje .documentos td {
    justify-content: center;
    text-align: center;
}

.mViaje .localizador {
    display: block;
    opacity: 0.8;
}

/*INFO INTERES*/
.mVariedad a {
    color:var(--c2);
    text-decoration: none;
}

.mVariedad h3 {
    font-weight: normal;
    font-size: 1rem;
    margin-bottom: 5px;
}

.mVariedad .ico:not(:last-of-type) {
    border-bottom: 1px solid #EEE;
    margin: 0px 0 40px;
    padding-bottom: 20px;
}

.mVariedad .ico1a {
    background: url('/imgs/ico/ico1a.png') no-repeat !important;
    padding-left: 58px;
    min-height: 40px;
    margin-top: 10px;
    padding-bottom: 30px;
}

.mVariedad .ico2a h3 {
    padding-left: 58px;
    background: url('/imgs/ico/ico2a.png') no-repeat;
    min-height: 40px;
    margin-bottom: 20px;
}

.mVariedad .ico2a article {
    margin-bottom: 20px;
}

.mVariedad .ico2a figure {
    margin: 0 auto;
    position: relative;
    max-width: 700px;
}

.mVariedad .ico2a figcaption {
    position: absolute;
    color: #FFF;
    font-size: 0.75rem;
    background: rgba(0, 0, 0, 0.687);
    left: 0;
    right: 0;
    bottom: 0;
    padding: 10px;
}

.mVariedad .ico2a img {
    width: 100%;
    display: block;
}

.mVariedad .ico3a {
    background: url('/imgs/ico/ico3a.png') no-repeat;
    padding-left: 58px;
    min-height: 40px;
}

.mVariedad .ico4a {
    background: url('/imgs/ico/ico4a.png') no-repeat;
    padding-left: 58px;
    min-height: 40px;
}

.mVariedad .ico5a {
    background: url('/imgs/ico/ico5a.png') no-repeat;
    padding-left: 58px;
    min-height: 40px;
}

.mVariedad .rrss {
    display: flex;
    justify-content: flex-start;
    flex-wrap: wrap;
}

.mVariedad .rrss h3 {
    width: 100%;
    margin-bottom: 10px;
}

.mVariedad .rrss a {
    margin-right: 20px;
}

/* COMPARTIR*/
.mCompartir input, .mCompartir textarea {
    width: 100%;
    padding: 10px;
    background:var(--bg2);
    border:1px solid var(--c2);
}

.mCompartir h2 {
    font-size: 1.2rem;
    font-weight: 600;
    margin: 0 0 10px 0;
}

.mCompartir form div:first-of-type {
    margin-bottom: 50px;
}

.mCompartir label {
    margin-bottom: 30px;
    display: block;
}

.mCompartir label:last-child {
    margin-bottom: 0;
}

.mCompartir input {
    margin-bottom: 10px;
    display: block;
}

.mCompartir [type=checkbox] {
    width: auto;
    margin: 20px 0 5px;
}

.mCompartir textarea {
    height: 150px;
    margin-bottom: 30px;
}

.mCompartir button {
    background: #FFF;
    color:var(--c2);
    cursor: pointer;
    border: none;
    margin: -60px 0 50px;
}

.mCompartir input[type=button] {
    background:var(--c2);
    color: #FFF;
    cursor: pointer;
    border: none;
    margin-bottom: 20px;
}

.mCompartir input[type=reset] {
    border: none;
    color:var(--c3);
    margin-bottom: 20px;
}

.mCompartir .viajeros input[readonly] {
    pointer-events: none;
}

/*FACTURAS*/
.mFacturas #frm_ficha {
    text-align: center;
    border-bottom: 1px solid #EEE;
    padding-bottom: 60px;
}

.mFacturas #frm_ficha * {
    font-weight: 300 !important;
}

.mFacturas .facturasIzda {
    background:var(--c1);
    padding: 20px;
}

.mFacturas .facturasDcha {
    border:1px solid var(--c1);
    padding: 20px;
}

.mFacturas table.resp tfoot tr {
    background:var(--c1);
}

.mFacturas tfoot th {
    font-weight: 500;
    color: #FFF;
}

.mFacturas .msg {
    text-align: center;
}

.mFacturas .msg header {
    text-transform: uppercase;
    margin-bottom: 5px;
}

/*CASOS*/
.mCasos table.resp tr {
    margin-bottom: 20px;
}

/*ACEPTAR OFERTA*/
.mAceptarOferta .seguro {
    padding: 20px;
    margin: 0 -20px 40px;
    border-top:1px solid var(--bg4);
    border-bottom:1px solid var(--bg4);
    background:var(--bg2);
}

.mAceptarOferta fieldset {
    padding: 0;
    margin: 0;
    border: none;
}

.mAceptarOferta .msg .btn {
    display: inline-block;
    display: block;
    padding: 5px 10px;
    text-transform: none;
    /*margin-left: 10px;*/
    margin-top: 10px;
}

@media only screen and (min-width: 500px) {
    .mAceptarOferta .msg .btn {
        display: inline-block;
        margin: 0 0 0 10px;
    }
}

.mAceptarOferta a {
    text-decoration: none;
}

.mAceptarOferta [type=checkbox] {
    margin-right: 5px;
}

.mAceptarOferta {
    max-width: 900px;
}

.mAceptarOferta header {
    text-align: center;
    margin-bottom: 50px;
}

.mAceptarOferta header .datos_completos span {
    font-size: 1.4rem;
    font-weight: 300;
    color:var(--c2);
    display: inline-block;
    padding-left: 50px;
    background: url(/imgs/check.svg) 0 50% / auto 120% no-repeat;
    margin-right: 10px;
}

.mAceptarOferta header .datos_completos a {
    font-weight: 300;
    vertical-align: text-bottom;
    color:var(--c4);
    display: block;
}

.mAceptarOferta header strong {
    font-size: 1.875rem;
    font-weight: 300;
    margin: 30px 0 20px;
    display: block;
}

.mAceptarOferta label + label {
    display: block;
    margin: 20px 0;
}

.mAceptarOferta label a {
    vertical-align: text-top;
}

.mAceptarOferta .condiciones a {
    font-size: 1.2rem;
    font-weight: bold;
    text-decoration: underline;
}

.mAceptarOferta .seguro a {
    text-decoration: underline;
}

.mAceptarOferta input.btn {
    text-transform: none;
    width: 100%;
    font-size: 1.5rem;
    padding: 20px 0;
    margin-top: 30px;
}

.mAceptarOferta [disabled] {
    pointer-events: none;
    opacity: 0.5;
}

.mAceptarOferta .guia_impresa {
    padding: 20px;
    margin: 0 -20px 40px;
    border-top:1px solid var(--bg4);
    border-bottom:1px solid var(--bg4);
}

.mAceptarOferta #ck_guia_impresa:not(:checked) ~ .num_copias{
    display: none;
}

/*DATOS PASAJEROS*/
.mPasajeros .msg {
    text-align: center;
    width: 100%;
}

.fPasajero .msg.error .cont {
    display: none;
    margin-bottom: 20px;
}

.fPasajero {
    border:1px solid var(--bg4);
    max-width: 800px;
    margin: 0 auto 20px;
}

.fPasajero fieldset {
    display: none;
    padding: 20px;
    margin: 0;
    border: none;
}

.fPasajero header {
    padding: 20px 20px 20px 60px;
    background: url(/imgs/check.svg) 10px / 40px no-repeat;
    color: #000;
    display: flex;
    justify-content: space-between;
    position: relative;
    align-items: center;
    cursor: pointer;
    --color: var(--c2);
}

.fPasajero.desplegado header {
    background-color:var(--bg2);
}

.fPasajero.desplegado fieldset {
    display: block;
}

.mPasajeros.__n1.__incompletos .fPasajero fieldset {
    display: block;
}

.fPasajero.nok header {
    background: url(/imgs/atencion.svg) 10px / 40px no-repeat;
    --color: var(--c1);
}

.fPasajero header span:last-child {
    background: url(/imgs/desplegar.svg) 100% 55% / 15px no-repeat;
    display: inline-block;
    padding-right: 25px;
    white-space: nowrap;
    color:var(--color);
}

.fPasajero .copiar_direccion {
    color:var(--c1);
    background: none;
    border: none;
    font-size: 0.875rem;
    display: block;
    margin-bottom: 20px;
    cursor: pointer;
}

.fPasajero .g2.direccion {
    margin-bottom: 30px;
}

.fPasajero .conductor {
    margin-bottom: 30px;
}

.fPasajero .conductor label {
    background: #FFF;
    border: none;
    padding: 0;
}

.fPasajero .conductor small {
    display: block;
    margin: 5px 0 2px;
    font-size: 85%;
}

.fPasajero .botonera {
    margin-top: 30px;
}

.fPasajero .botonera .btn {
    text-transform: none;
    backface-visibility: ;
    background:var(--bg1);
    margin: 0 20px 20px 0;
    padding: 10px 50px;
}

.fPasajero .botonera [type=reset] {
    background: #AFAFAF;
}

.fPasajero:not(:valid) .botonera [type=button] {
    opacity: 0.5;
    /*pointer-events: none;*/
}

.fPasajero:not(:valid) .botonera .miniinfo {
    background: #FFF9E2;
    border: 1px solid #D6C374;
    padding: 5px 10px;
    margin: 0px 0px 15px 0px;
    font-size: 0.8rem;
}

.fPasajero:valid .botonera .miniinfo {
    display: none;
}

.mPasajeros .btn.aceptarOferta {
    text-transform: none;
    width: 100%;
    font-size: 1.5rem;
    padding: 20px 0;
    display: block;
    max-width: 800px;
    margin: 40px auto;
}

.fPasajero .alerta_pasaporte {
    color: #000;
}

.fPasajero .alerta_pasaporte:before {
    border-color: #000;
}





.fPasajero .w_prefijo_telefono .select2-container .select2-selection--single {
    height: calc(30px + 1rem);
}

.fPasajero .w_prefijo_telefono .select2-container--default .select2-selection--single .select2-selection__rendered {
    display: flex;
    height: 100%;
    align-items: end;
    border-bottom: 1px solid var(--c_base);
}

.fPasajero .w_prefijo_telefono .select2-container--default .select2-selection--single .select2-selection__arrow {
    height: 100%;
}

.fPasajero .w_prefijo_telefono .select2-container .select2-selection--single .select2-selection__rendered {
    background: var(--bg2);
}

.fPasajero .w_prefijo_telefono .select2-container--default .select2-selection--single {
    border: none;
    color: #000
}
.fPasajero .w_prefijo_telefono .flag {
	color: #000;
	padding-left: 15px;
}



@media only screen and (max-width: 450px) {
    .fPasajero {
        margin-left: -15px;
        margin-right: -15px;
    }
    
    .fPasajero fieldset {
        padding: 20px 10px;
    }
    
    .fPasajero .botonera .btn {
        padding: 10px 35px;
    }
}

/*TABLAS RESPONSIVE*/
table.resp .botonera .btn {
    background:var(--bg1);
    padding: 5px 20px;
    text-transform: none;
    font-size: 0.875rem;
}

@media only screen and (max-width: 999px) {
    table.resp, table.resp thead, table.resp tbody, table.resp tfoot, table.resp th, table.resp td, table.resp tr {
        display: block;
    }
    
    table.resp {
        max-width: 600px;
        margin: 0 auto;
    }
    
    table.resp thead tr {
        display: none;
    }
    
    table.resp tr {
        background:var(--bg2);
        padding: 10px 20px;
        margin-bottom: 5px;
    }
    
    table.resp tr:nth-child(even) {
        background:var(--bg3);
    }
    
    table.resp td {
        text-align: right;
        display: flex;
        padding: 8px 0;
        align-items: center;
        border-bottom:1px solid var(--bg3);
    }
    
    table.resp tr:nth-child(even) td {
        border-bottom:1px solid var(--bg2);
    }
    
    table.resp td:before {
        content: attr(data-title);
        flex: 1 0 30%;
        text-align: left;
        padding: 5px 0;
        font-weight: 600;
    }
    
    table.resp .botonera {
        justify-content: space-around;
        padding: 20px 0;
        border: none;
    }
    
    table.resp .botonera:before {
        content: none;
    }
}

/*INPUTs con placeholder personalizado*/
.fPasajero label {
    display: block;
    margin: 0 0 20px;
    position: relative;
    width: 100%;
    --c_base: #DDD;
    --c_requerido: var(--c1);
    --c_invalido: #E00;
    --c_foco: var(--c2);
}

.fPasajero input, .fPasajero textarea, .fPasajero select {
    width: 100%;
    border: none;
    border-bottom: 1px solid #DDD;
}

.fPasajero input:not([type=checkbox]), .fPasajero textarea, .fPasajero select {
    padding: 20px 5px 5px 15px;
    font-size: 1rem;
    display: block;
    outline: none;
    box-shadow: none;
    background:var(--bg2);
}

.fPasajero input:required, .fPasajero select:required {
    border-bottom:2px solid var(--c_requerido);
    padding-bottom: 4px;
    outline: none;
}

.fPasajero input:not(:focus):required:valid {
    border-bottom:1px solid var(--c_base);
    padding-bottom: 5px;
}

.fPasajero input:not(:focus):required:valid, .fPasajero select:not(:focus):required:valid {
    border-bottom:1px solid var(--c_base);
    padding-bottom: 5px;
}

.fPasajero fieldset:disabled input, .fPasajero fieldset:disabled select {
    border-bottom:1px solid var(--c_base) !important;
    padding-bottom: 5px !important;
}

.fPasajero input:invalid:not(:placeholder-shown) {
    border-bottom:2px solid var(--c_invalido);
    padding-bottom: 4px;
    outline: none;
}

.fPasajero input:focus, .fPasajero textarea:focus, .fPasajero select:focus {
    border-bottom:2px solid var(--c_foco);
    padding-bottom: 4px;
    outline: none;
}

.fPasajero select {
    -moz-appearance: none;
    -webkit-appearance: none;
    appearance: none;
    position: relative;
}

.fPasajero .placeholder {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 15px;
    display: flex;
    align-items: center;
    line-height: 1rem;
    font-size: 0.895rem;
    cursor: text;
    pointer-events: none;
    transform-origin: 0 0;
    transition: all 0.2s ease;
}

.fPasajero .select:after {
    content: "";
    position: absolute;
    pointer-events: none;
    top: 0;
    bottom: 0;
    right: 10px;
    width: 10px;
    background: url(/imgs/desplegar.svg) 100% 50% / 10px no-repeat;
}

/*.fPasajero .tocado:required:invalid, .fPasajero input:not(:required):invalid {
  (*.tocado se pone con js cuando se ha pasado por el campo o escrito en el, con esto se evita que los invalidos salgan marcados al entrar*)
  border-bottom: 2px solid #E00;
  padding-bottom: 4px;
  outline: none;
}*/
/*.fPasajero label:hover .placeholder {
  transform: translate(-10px, -7px) scale(0.75);
  transform-origin: 0 0;
  transition: all 0.2s ease;
}*/
.fPasajero textarea + .placeholder {
    position: absolute;
    top: 10px;
    display: block;
    font-size: 0.895rem;
}

.fPasajero input:not([type=checkbox]):not(:placeholder-shown) + .placeholder, .fPasajero input:focus + .placeholder, .fPasajero .w_prefijo_telefono .placeholder {
    transform: translate(-10px, -7px) scale(0.75);
}

.fPasajero input:-internal-autofill-previewed + .placeholder {
    transform: translate(-10px, -7px) scale(0.75);
}

.fPasajero select:not(.placeholder_fake) + .placeholder {
    transform: translate(-10px, -7px) scale(0.75);
}

.fPasajero textarea:not(:placeholder-shown) + .placeholder, .fPasajero textarea:focus + .placeholder {
    transform: translate(-10px, -7px) scale(0.75);
}

.fPasajero :required:placeholder-shown:not(:focus) + .placeholder:after {
    content: "*";
    margin-left: 5px;
    margin: 2px 0 0 2px;
    font-size: 150%;
}

.fPasajero select.placeholder_fake:required + .placeholder:after {
    content: "*";
    margin-left: 5px;
    margin: 2px 0 0 2px;
    font-size: 150%;
}

/*CHECKs personalizados*/
.ctm_check input {
    display: none;
}

.ctm_check label {
    background: #FFF9E2;
    border: 1px solid #D6C374;
    padding: 10px;
    margin: 0px 0px 10px 0px;
    font-size: 0.875rem;
    position: relative;
    display: flex;
    align-items: flex-start;
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -khtml-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}

.ctm_check label:before {
    content: '';
    font-weight: bold;
    display: inline-flex;
    background: #FFF;
    justify-content: center;
    align-items: center;
    height: 20px;
    flex: 0 0 20px;
    margin-top: -1px;
    border: 1px solid #E5E5E5;
    color: #E5E5E5;
    margin-right: 8px;
}

.ctm_check input:checked + label:before {
    color: #000;
    content: '✓';
}

.ctm_check input:disabled + label:before {
    opacity: 0.7;
}

/*TPV: PAGOS DIRECTOS*/
.bPagoTPV {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
}

.bPagoTPV header {
    background: var(--bg3);
    text-align: center;
    padding: 20px;
    border-bottom: 4px solid var(--c2);
}

.bPagoTPV main {
    flex: 1;
    display: block;
}

.bPagoTPV footer {
    background:var(--c2);
    text-align: center;
    padding: 2px;
}

.mPagoTPV form {
    margin: 40px auto;
    padding: 30px 20px 30px;
    border:2px solid var(--c1);
    border-radius: 10px;
    max-width: 600px;
}

.mPagoTPV button {
    border-radius: 5px;
    border: none;
    background:var(--c2);
    padding: 10px 50px;
    color: #FFF;
    cursor: pointer;
}

.mPagoTPV .botonera {
    text-align: center;
    margin: 20px 0 0;
}

.mPagoTPV h1 {
    margin: 0 0 30px 0;
    text-align: center;
}

.mPagoTPV .documento {
    margin: 10px 0;
}

.mPagoTPV .importe {
    margin: 30px 0;
}

.mPagoTPV .importe strong {
    font-size: 1.2rem;
    color:var(--c2);
}

.mPagoTPV .msg {
    text-align: center;
    margin-bottom: 30px;
}

/**/
.caso_documento {
    background: url(/imgs/clip.svg) 0 / 16px no-repeat;
    padding-left: 20px;
    line-height: 1.5;
}

