:root {
    --color-primario: #7b3339;
    --color-primario-hover: #0e4200;
    --color-secundario: #35af45;
    --color-acento: #a9d858;
    --color-enlace: #1b3a7dff;
    --color-enlace-hover: #2a4fa0;
    --color-pago: #fd0;
    --color-rojo: #900;
    --color-blanco: #fff;
    --color-negro: #000;
    --color-texto-principal: #666;
    --color-borde-claro: #ababab;
    --color-borde-muy-claro: #ebebeb;
    --color-fondo-blanco-transparente: rgba(255, 255, 255, 0.9);
    --color-fondo-negro-transparente: rgba(0, 0, 0, .9)
}

#cuerpo02 {
    position: relative;
    width: 100%;
    float: left;
    margin-top: 50px
}

#contenido02 {
    position: relative;
    height: auto;
    margin-right: auto;
    margin-left: auto;
    max-width: 1300px;
    min-width: 320px
}

#viajes_populares {
    position: relative;
    z-index: 1;
    float: left;
    width: calc(100%)
}

#viajes_populares h1 {
    font-size: 32px;
    text-align: center;
    line-height: 35px;
    color: var(--color-primario);
    border-bottom: none;
    margin-top: 20px
}

.tabla02 {
    -moz-border-radius: 5px;
    -webkit-border-radius: 5px;
    border-radius: 5px;
    font-size: 15px;
    color: var(--color-blanco);
    padding-top: 2px;
    padding-right: 10px;
    padding-bottom: 2px;
    padding-left: 10px;
    background-color: var(--color-primario);
    font-weight: 400
}

.ui-widget {
    font-size: 14px
}

table tr td {
    border: 1px solid var(--color-primario)
}

.tabla02 {
    background-color: var(--color-primario) !important;
    border-radius: 0 !important
}

div#datos_miembros table input {
    border: none !important
}

div#datos_miembros {
    margin-bottom: 30px !important
}

.cajon5 tr:nth-child(1) td {
    border: none
}

.cajon5 table select {
    background: 0 0;
    border: none
}

.cajon4 td br {
    display: none
}

div#datos_miembros table {
    border: 2px solid var(--color-primario)
}

.cajon5 table {
    border: none
}

div#datos_miembros br {
    display: none
}

.detts {
    background-color: transparent;
    border: solid 1px var(--color-rojo);
    padding: 3px 8px;
    margin-left: 240px;
    border-radius: 15px;
    text-align: center;
    margin-top: 15px;
    margin-bottom: 15px
}

.tabla02tours {
    font-size: 17px
}

.contenido1 {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    width: 47%;
    margin: 0
}

svg#Capa_1 {
    margin-right: 10px
}

.contenido1 div {
    width: 50%;
    display: grid
}

.contenido1 div label {
    color: var(--color-primario);
    font-weight: 700
}

input#fecha_salida_campo {
    width: 87%;
    border: 1px solid var(--color-primario);
    border-radius: 5px
}

input#fecha_retorno_campo {
    width: 98%;
    border: 1px solid var(--color-primario);
    border-radius: 5px
}

.contenidoflex {
    margin-top: 20px
}

.cajon2 label, .cajon3 label {
    color: var(--color-primario);
    font-weight: 700
}

.contenidoflex {
    margin-top: 20px;
    display: flex;
    justify-content: space-between
}

.cajon2 {
    width: 100%;
    margin-bottom: 20px
}

.cajon3 {
    width: 38%
}

.contenido2 {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    width: 100%
}

.contenido2 div {
    width: 33%;
    display: grid
}

input#nombres {
    width: 100%
}

input#apellidos, input#nombres, input#telf_movil {
    width: 100%;
    border: 1px solid var(--color-primario);
    border-radius: 5px;
    box-sizing: border-box;
    outline: 0
}

.contenido2_1 {
    display: flex;
    justify-content: space-between;
    width: 100%;
    margin-top: 10px
}

.contenido2_1 div {
    width: 48%
}

select#pais {
    width: 100% !important
}

select#pais {
    width: 100% !important;
    border: 1px solid var(--color-primario);
    background: 0 0;
    color: var(--color-primario);
    outline: 0;
    border-radius: 5px
}

.contenido2_2 {
    display: flex;
    justify-content: space-between;
    width: 100%;
    margin-top: 10px
}

.contenido2_2 div {
    width: 48%
}

input#email, input#email_confirmacion {
    width: 100%;
    border: 1px solid var(--color-primario);
    border-radius: 5px;
    box-sizing: border-box;
    outline: 0
}

select#n_adultos, select#n_estudiantes, select#n_ninos, select#tipo_servicio {
    width: 100% !important;
    border: 1px solid var(--color-primario);
    background: 0 0;
    color: var(--color-primario);
    outline: 0;
    border-radius: 5px
}

.cajon1, .cajon3, .cajon4, .cajon5, .cajon6, .cajon7, .cajon8, .contenidoflex {
    width: 70%;
    margin: 20px auto
}

.cajon3 .contenido2 div {
    margin-bottom: 20px
}

table.primeratabla, table.segundatabla {
    width: 100%;
    margin-bottom: 20px
}

.cajon6.flotante-derecha {
    display: flex;
    align-items: center;
    justify-content: flex-end
}

.cajon8 {
    display: flex
}

.cajon8 div input {
    background: var(--color-primario);
    border: none;
    margin: 0 20px 0 0;
    border-radius: 5px;
    padding: 8px 20px;
    font-size: 14px;
    color: var(--color-blanco);
    cursor: pointer;
    transition: .5s ease all;
    outline: 0
}

.cajon8 div input:hover {
    background: var(--color-rojo)
}

.cajon7.alone a {
    text-decoration: none
}

.cajon7.alone:hover {
    text-decoration: underline
}

@media (max-width:600px) {
    .cajon1, .cajon3, .cajon4, .cajon5, .cajon6, .cajon7, .cajon8, .contenidoflex {
        width: 85%;
        margin: auto;
        margin-bottom: 20px;
        margin-top: 20px
    }

    .cajon1 {
        display: block;
        align-items: flex-end
    }

    .contenido1 {
        display: block;
        justify-content: space-between;
        width: 100%;
        margin: 0
    }

    input#fecha_salida_campo {
        width: 100%;
        border: 1px solid var(--color-primario);
        border-radius: 5px;
        box-sizing: border-box;
        margin-bottom: 20px
    }

    input#fecha_retorno_campo {
        width: 100%;
        border: 1px solid var(--color-primario);
        border-radius: 5px;
        box-sizing: border-box
    }

    .cajon2 {
        width: 100%;
        margin-bottom: 20px
    }

    .contenido2 {
        display: block;
        flex-wrap: wrap;
        justify-content: space-between;
        width: 100%
    }

    input#apellidos, input#nombres, input#telf_movil {
        width: 100%;
        border: 1px solid var(--color-primario);
        border-radius: 5px;
        box-sizing: border-box;
        margin-bottom: 20px
    }

    .contenido2_1 {
        display: block;
        justify-content: space-between;
        width: 100%;
        margin-top: 10px
    }

    select#pais {
        width: 100% !important;
        border: 1px solid var(--color-primario);
        background: 0 0;
        color: var(--color-primario);
        outline: 0;
        margin-bottom: 20px;
        border-radius: 5px
    }

    .contenido2_2 {
        display: block;
        justify-content: space-between;
        width: 100%;
        margin-top: 10px
    }

    input#email, input#email_confirmacion {
        width: 100%;
        border: 1px solid var(--color-primario);
        border-radius: 5px;
        box-sizing: border-box;
        margin-bottom: 20px
    }

    .contenido1 div, .contenido2 div, .contenido2_1 div, .contenido2_2 div {
        width: 100%
    }

    .cajon2 {
        width: 100%;
        margin-bottom: 0
    }

    input#email_confirmacion {
        margin-bottom: 0
    }

    .cajon7.alone a {
        text-decoration: none;
        font-size: 14px
    }

    .cajon8 div input {
        padding: 8px 15px
    }

    table.tabla-derecha {
        width: 100%
    }
}

select#adelanto_forma, select#porcentaje_pago {
    width: 100%;
    outline: 0;
    background: 0 0;
    border: none
}

.form01_testimonios {
    width: 100% !important
}

.titulos {
    background-color: var(--color-primario);
    color: var(--color-blanco) !important;
    margin-bottom: 5px;
    border-radius: 5px;
    padding: 5px 10px 5px 10px !important;
    position: relative;
    float: left;
    width: 100%
}

.titulos img {
    margin-right: 10px;
}

.tabla_adicionales {
    padding: 5px 10px 5px 10px !important
}

.tabla_adicionales_precios {
    color: var(--color-primario);
    font-weight: 700;
    font-size: 18px
}

.detalles_compra {
    position: fixed;
    bottom: 0;
    background-color: var(--color-primario);
    z-index: 999;
    width: 100%;
    padding: 10px 0 0 0
}

.detalles_compra_contenido {
    position: relative;
    max-width: 900px;
    margin-left: auto;
    margin-right: auto
}

.titulos_compra {
    color: var(--color-blanco) !important
}

.monto_pagos {
    background-color: var(--color-blanco);
    border-radius: 5px;
    padding: 5px 10px 5px 10px;
    color: var(--color-primario);
    font-size: 18px
}

.selector_pagos {
    background-color: var(--color-blanco) !important;
    color: var(--color-primario) !important;
    padding: 5px 10px 5px 10px;
    font-size: 16px;
    border-radius: 5px !important;
    border: 1px solid var(--color-primario);
    width: calc(100%);
    font-family: Montserrat, sans-serif
}

.datos_pax {
    background-color: var(--color-blanco) !important;
    color: var(--color-primario) !important;
    padding: 5px 10px 5px 10px;
    font-size: 16px;
    border-radius: 5px !important;
    border: 1px solid var(--color-primario);
    width: calc(100%);
    font-family: Montserrat, sans-serif;
    margin-right: 5px !important
}

.importante {
    position: relative;
    float: left;
    border: 1px solid var(--color-primario);
    border-radius: 5px;
    width: calc(100% - 20px) !important;
    padding: 10px
}

.sinbordes {
    border: 1px solid #ffffff00 !important;
    background-color: var(--color-blanco) !important;
    text-align: left
}

.pagos_subtotal {
    background-color: var(--color-blanco) !important;
    color: var(--color-primario) !important;
    padding: 5px 10px 5px 10px;
    font-size: 18px;
    border-radius: 5px !important;
    border: 1px solid var(--color-primario) !important;
    width: 90px !important;
    font-family: Montserrat, sans-serif;
    font-weight: 700;
    margin-left: 10px;
    position: relative !important;
    float: left !important
}

.pagos_total {
    background-color: var(--color-blanco) !important;
    color: var(--color-primario) !important;
    padding: 5px 10px 5px 10px;
    font-size: 18px;
    border-radius: 5px !important;
    border: 1px solid #ffffff00 !important;
    width: 90px;
    font-family: Montserrat, sans-serif;
    font-weight: 700
}

option {
    font-family: Montserrat, sans-serif !important
}

.corrector {
    position: relative !important;
    float: left !important;
    margin-left: 0 !important;
    margin-top: 10px !important
}

.boton_mapi {
    background-color: var(--color-pago) !important;
    border: none !important;
    font-size: 22px;
    position: relative;
    float: left;
    border-radius: 10px;
    padding: 10px 20px 10px 50px;
    color: var(--color-primario) !important;
    cursor: pointer;
    margin-right: 20px;
    background-image: url(../imagenes/fmp08.png);
    background-position: 5px center;
    background-size: auto 70%;
    background-repeat: no-repeat;
    margin-top: 10px
}

.boton_mapi:hover {
    background-color: var(--color-blanco) !important
}

.aceptar {
    position: relative;
    float: left;
    width: 100%;
    margin-bottom: 20px;
    margin-top: -10px;
    background-color: var(--color-primario) !important;
    padding: 10px 20px;
    border-radius: 10px
}

a.vinculo_aceptar, a.vinculo_aceptar:active, a.vinculo_aceptar:link, a.vinculo_aceptar:visited {
    text-decoration: none;
    color: var(--color-blanco);
    font-size: 20px
}