@import url("https://fonts.googleapis.com/css?family=PT+Sans:400,400i,700,700i&display=swap");

/* ----------------------------------------------------------
   ----------------------------------------------------------

        CSS proceso reservas

   ----------------------------------------------------------
   ---------------------------------------------------------- */

/* ------------------------------------------------------ Generales ------------------------------------------------------ */

select#ong {
    background: #fff URL(../img/arrow2.png) no-repeat center right !important;
    -moz-appearance: none;
    -webkit-appearance: none;
    appearance: none;
    cursor: pointer;
    color: #333333;
    text-transform: uppercase;
    box-shadow: none !important;
}
body {
    font-family: "Myriad pro", sans-serif;
    font-size: inherit;
    color: #333;
}
ul {
    margin: 0 important;
}
li {
    list-style: none !important;
}
a,
a:hover {
    text-decoration: none;
    -webkit-transition: all 0.3s ease-in-out;
    -moz-transition: all 0.3s ease-in-out;
    -o-transition: all 0.3s ease-in-out;
    transition: all 0.3s ease-in-out;
}
*::-webkit-input-placeholder {
    /* Google Chrome y Safari */
    color: #999 !important;
    text-transform: uppercase;
    font-weight: 400;
    opacity: 1;
    letter-spacing: 2px;
}
*:-moz-placeholder {
    /* Firefox anterior a 19 */
    color: #999 !important;
    text-transform: uppercase;
    font-weight: 400;
    opacity: 1;
    letter-spacing: 2px;
}
*::-moz-placeholder {
    /* Firefox 19 y superior */
    color: #999 !important;
    text-transform: uppercase;
    font-weight: 400;
    opacity: 1;
    letter-spacing: 2px;
}
*:-ms-input-placeholder {
    /* Internet Explorer 10 y superior */
    color: #999 !important;
    text-transform: uppercase;
    font-weight: 400;
    opacity: 1;
    letter-spacing: 2px;
}
/* botones */

.btn-outline-black {
    padding: 14px 40px !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    font-weight: 700 !important;
    font-size: 13px !important;
    background: #812422 !important;
    border: 1px solid #000 !important;
    color: #ffffff !important;
    -webkit-transition: all 0.3s ease-in-out !important;
    -moz-transition: all 0.3s ease-in-out !important;
    -o-transition: all 0.3s ease-in-out !important;
    transition: all 0.3s ease-in-out !important;
    font-family: "Libre Baskerville", Sans-serif !important;

}
.btn-outline-black:hover {
    background-color: #000 !important;
    color: #fff !important;
}
.btn-outline-gray {
    padding: 14px 40px !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    font-weight: 600 !important;
    font-size: 13px !important;
    background: none !important;
    border: 1px solid #bbb !important;
    color: #aaa !important;
    float: left !important;
    -webkit-transition: all 0.3s ease-in-out !important;
    -moz-transition: all 0.3s ease-in-out !important;
    -o-transition: all 0.3s ease-in-out !important;
    transition: all 0.3s ease-in-out !important;
    line-height: 1;
}
.btn-outline-gray:hover {
    background-color: #bbb !important;
    color: #fff !important;
}
.btn-right {
    float: right;
}
.btn-left {
    float: left;
}
/* fin botones */

/* background */

.contenedor-visitas .et_parallax_bg {
    background-position: center 200px !important;
    background-size: 650px !important;
    background-repeat: repeat-x !important;
}
/* fin background */

/* breadcrumb visitas */

#breadcrumb.row-visitas {
    padding: 15px 0 15px 0;
    float: left;
    width: 100%;
}
/* ---------- responsive ----------------------------- */

@media only screen and (max-width: 1024px) {
    /* ···················································································· 1024px*/
    #breadcrumb.row-visitas {
        margin-left: -5px;
    }
}
@media only screen and (max-width: 767px) {
    /* ···················································································· 767px*/
    #breadcrumb.row-visitas {
        margin-left: 0;
    }
}
/* fin breadcrumb visitas */

/* ------------------------------------------------------ PASO 0 - Selección Servicio ------------------------------------------------------ */

/* loader */

.loader {
    background: rgba(247, 247, 247, 0.95);
    position: fixed;
    z-index: 1000;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
}
.loader .cont-loader {
    display: flex;
    height: 100%;
    align-items: center;
}
/* fin loader */

#servicios_posibles {
    margin-bottom: 100px;
}
/* ------------------------------------------------------OPEN: LISTADO DE VISITAS ------------------------------------------------------ */

.contenedor_filtros_visitas {
    display: inline-block;
    width: 100%;
    margin: 0 0 0 0;
    padding: 50px 15px;
    text-align: center;
    background: #fff;
}
.contenedor_filtros_visitas h1 {
    display: inline-block;
    width: 100%;
    margin: 15px 0;
    padding: 0 0 0 0;
    font-family: "Myriad pro", sans-serif;
    font-weight: 700;
    font-size: 22px;
    text-transform: uppercase;
    text-align: center;
    color: #000000;
}
.contenedor_filtros_visitas input {
    display: inline-block;
    width: 100%;
    max-width: 320px;
    margin: 0 0 0 0;
    
    text-align: center;
    border-radius: 0;
    border: none;
   
    font-weight: 700;
    font-size: 22px;
    background: #f5f2eb;
}
.contenedor_filtros_visitas input:focus {
    box-shadow: none;
}
.contenedor-visita-destacado {
    display: inline-block;
    width: calc(100% - 30px);
    margin: 15px;
    padding: 0;
    background: #fff;
}
.servicio_bloque {
    display: inline-block;
    position: relative;
    width: calc(50% - 30px);
    margin: 15px;
    padding: 0;
    line-height: 0;
    background: #fff;
}
.imagen-visita {
    display: inline-block;
    width: 100%;
    height: 320px;
    position: relative;
}
.imagen-visita img {
    display: inline-block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    /*-webkit-filter: grayscale(100%) brightness(1.2) opacity(0.9);*/
    /* Safari 6.0 - 9.0 */
    /*filter: grayscale(100%) brightness(1.2) opacity(0.9);
    -webkit-transition: all 0.3s ease-in-out;
    -moz-transition: all 0.3s ease-in-out;
    -o-transition: all 0.3s ease-in-out;
    transition: all 0.3s ease-in-out;*/
}
.imagen-visita .sombra_img {
    /*background-image: url("/wp-content/uploads/2020/01/sombra-img-visitas-home-top.png"), url("/wp-content/uploads/2019/12/line-white.svg");*/
    background-size: auto 280px, 1px auto;
    background-position: center top, center bottom;
    background-repeat: repeat-x, no-repeat;
    position: absolute;
    width: 100%;
    height: 100%;
    z-index: 1;
}
.info-visita {
    display: flex;
    width: 100%;
    height: 100%;
    min-height: 380px;
    padding: 20px 60px 5px;
    flex-wrap: wrap;
    align-items: center;
    align-content: center;
    text-align: center;
    justify-content: center;
    /*   background-image: url("/wp-content/uploads/2019/12/line-gold.svg");
    background-size: 1px auto;
    background-position: center top;
    background-repeat: no-repeat;*/
    background-color: #f5f2eb;
}
.info-visita .icon-visit {
    display: inline-block;
    width: 100%;
    margin: 40px 0 0;
    text-align: center;
    display: none;
}
.info-visita .icon-visit img {
    display: inline-block;
    width: 8px;
}
.info-visita h1,
.info-visita h2 {
    display: flex;
    align-content: center;
    justify-content: center;
    line-height: normal;
    flex-wrap: wrap;
    width: 100%;
    height: 50px;
    padding: 0;
    margin: 10px 0;
    /*font-family: "Myriad pro", sans-serif;*/
    font-family: Myriad pro,Helvetica,Arial,sans-serif;
    font-weight: 700;
    font-size: 22px;
    text-transform: uppercase;
    text-align: center;
    color: #b39964;
    -webkit-transition: all 0.3s ease-in-out;
    -moz-transition: all 0.3s ease-in-out;
    -o-transition: all 0.3s ease-in-out;
    transition: all 0.3s ease-in-out;
}
.info-visita h3 {
    width: 100%;
    height: 105px;
    margin: 0 0 0 0;
    padding: 0 0 0 0;

    font-weight: normal;
    font-size: 14px;
    line-height: 22px;
    text-align: center;
    color: #000000;
    overflow: hidden;
}
.contenedor-visita-destacado .info-visita h3 {
    max-width: 450px;
}
.info-visita .box-price {
    display: inline-block;
    width: 100%;
    height: 45px;
    margin: 20px 0 0 0;
    padding: 0 0 0 0;
}
.info-visita .box-price h4 {
    display: inline-block;
    width: 100%;
    height: 30px;
    margin: 0 0 0 0;
    padding: 0 0 0 0;
    font-family: "Myriad pro", sans-serif;
    font-size: 24px;
    font-weight: 300;
    color: #b39964;
}
.info-visita .box-price span {
    display: inline-block;
    width: 100%;
    height: 20px;
    margin: 0 0 0 0;
    padding: 0 0 0 0;
    font-family: "Myriad pro", sans-serif;
    font-size: 14px;
    text-transform: uppercase;
}
.info-visita em {
    display: inline-block;
    width: 100%;
    height: 20px;
    margin: 10px 0 0 -70px;
    padding: 0 0 0 0;
    font-family: "Myriad pro", sans-serif;
    font-size: 12px;
    text-align: left;
    color: #999;
}
.servicio_bloque .novedad,
.servicio_bloque .evento,
.enviar_formulario_destacado .novedad,
.enviar_formulario_destacado .evento {
    position: absolute;
    top: 40px;
    right: 40px;
    padding: 5px 15px;
    font-family: "Myriad pro", sans-serif;
    font-weight: 700;
    text-transform: uppercase;
    font-size: 13px;
    color: #fff;
    border: 1px solid #fff;
    line-height: 100%;
    z-index: 1;
}
.info-visita form input.btn-info-visita {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: none;
    cursor: pointer;
    color: transparent;
    background: transparent;
    z-index: 2;
    /*background-image: url("/wp-content/uploads/2019/12/greca-t-l-white.svg"), url("/wp-content/uploads/2019/11/greca-b-r.svg");*/
    background-size: 170px auto;
    background-position: left 25px top 25px, right 25px bottom 25px;
    background-repeat: no-repeat;
}
.servicio_bloque:hover .info-visita h2,
.contenedor-visita-destacado:hover .info-visita h2 {
    color: #000000;
}
.servicio_bloque:hover .imagen-visita img,
.contenedor-visita-destacado:hover .imagen-visita img {
    -webkit-filter: grayscale(100%);
    /* Safari 6.0 - 9.0 */
    filter: grayscale(100%);
}
.elementos_tripadvisor { 
    display: flex;
    justify-content: center;
}
.elementos_tripadvisor #CDSWIDCOE {
      margin: 0 !important;
}
/* ---------- responsive ----------------------------- */

@media only screen and (max-width: 1024px) {
    /* ···················································································· 1024px*/
    .info-visita {
        padding: 20px 30px 5px;
    }
    .info-visita em {
        margin: 10px 0 -10px -35px;
        font-size: 10px;
    }
    .enviar_formulario_destacado .info-visita em {
        margin-bottom: 0;
    }
}
@media only screen and (max-width: 768px) {
    /* ···················································································· 768px*/
    .info-visita {
        padding: 20px 25px 5px;
    }
    .info-visita h3 {
        height: 130px;
    }
    .info-visita form input.btn-info-visita {
        background-size: 130px auto;
        background-position: left 15px top 15px, right 15px bottom 15px;
    }
}
@media only screen and (max-width: 767px) {
    /* ···················································································· 767px*/
    .contenedor_filtros_visitas {
        padding: 10px 15px 20px;
    }
    .servicio_bloque {
        width: calc(100% - 30px);
        margin-top: 0;
    }
    .info-visita form input.btn-info-visita {
        background-size: 150px auto;
    }
    .imagen-visita {
        height: 200px;
    }
    .info-visita h2 {
        height: auto;
        margin: 20px 0 15px;
    }
    .info-visita h3 {
        height: auto;
    }
    .info-visita em {
        margin: 10px 0 -5px -20px;
        font-size: 10px;
    }
}
/* ------------------------------------------------------CLOSE: LISTADO DE VISITAS ------------------------------------------------------ */

/* ------------------------------------------------------OPEN: PASO 1: Selección Fecha Idioma Número personas  ------------------------------------------------------ */

.info_servicio_cabecera {
    display: flex;
    min-height: 400px;
    margin: 20px 0 0 0;
    padding: 0 0 0 0;
    background: #fff;
    position: relative;
}
.info_servicio_cabecera .imagen-visita-detalle {
    background-position: center center;
    background-size: cover;
}
.info_servicio_cabecera::before {
    /*background-image: url("../img/greca-t-l-white.svg"), url("../img/greca-b-r.svg");*/
    width: 100%;
    position: absolute;
    height: 100%;
    z-index: 1;
    display: block;
    background-size: 225px auto;
    background-position: left 30px top 30px, right 30px bottom 30px;
    background-repeat: no-repeat;
}
.info-visita-detalle {
    padding: 60px 70px 70px;
    position: relative;
    z-index: 2;
    background-color: #f5f2eb;
}
.info-visita-detalle h1,
.info-visita-detalle h4 {
    display: inline-block;
    width: 100%;
    margin: 0 0 0 0;
    padding: 0 0 25px;
    font-family: Myriad pro,Helvetica,Arial,sans-serif;
    font-weight: 800;
    text-transform: uppercase;
    font-size: 36px;
    letter-spacing: 0.03em;
    color: #000;
    line-height: initial;
}
.info-visita-detalle p {
    display: inline-block;
    width: 100%;
    margin: 0 0 10px 0;
    padding: 0;
    font-family: "Libre Baskerville", sans-serif;
    font-weight: normal;
    font-size: 14px;
    line-height: 22px;
    color: #000;
}
.info-visita-detalle ul {
    padding: 0;
    margin: 10px 0 0 0;
}
.info-visita-detalle ul li {
    margin-bottom: 10px;
    line-height: 22px;
    font-weight: normal;
}
.info-visita-detalle ul li:last-child {
    margin-bottom: 0;
}
.info-visita-detalle ul li strong {
    text-transform: uppercase;
    font-size: 13px;
    letter-spacing: 1px;
}
.cuerpo_servicio {
    margin: 20px 0 100px 0;
    padding: 30px 40px;
    background: #fff;
}
.steps {
    display: inline-block;
    width: 100%;
    margin: 0 0 0 0;
    padding: 15px 30px;
    font-family: "Myriad pro", sans-serif;
    font-weight: 500;
    font-size: 16px;
    text-align: right;
    text-transform: uppercase;
    color: #b39964;
    background: #fff;
    letter-spacing: 1px;
}
.steps span {
    color: #e3e3e3;
    font-weight: 600;
}
.confirmacion_servicios {
    display: inline-block;
    width: 100%;
    margin: 0 0 0 0;
    padding: 0 0;
}
.confirmacion_servicios h4,
#paso_2_all .rotulo-compras2,
#paso_3_all .rotulo-compras2,
#paso_resumen_all .rotulo-compras2 {
    display: inline-block;
    width: 100%;
    margin: 0 0 10px 0;
    padding: 0 0 0 0;
    font-family: "Myriad pro", sans-serif;
    font-weight: 800;
    font-size: 27px;
    text-transform: uppercase;
    color: #000;
    letter-spacing: 2px;
}
.confirmacion_servicios p,
#paso_2_all .text-expli,
#paso_3_all .text-expli,
#paso_resumen_all .text-expli {
    display: inline-block;
    max-width: 327px;
    margin: 0 0 0 0;
    padding: 0 0;
    font-family: "Myriad pro", sans-serif;
    font-weight: normal;
    font-size: 14px;
    line-height: 22px;
}
.fechaseleccion,
.usuarios_grupos_disponibles,
.resultados-horarios-posibles {
    margin: 30px 0 0;
}
.confirmacion_servicios #FechaVisita-selected,
.confirmacion_servicios label.tit-options {
    font-family: "Myriad pro", sans-serif;
    font-weight: 500;
    font-size: 16px;
    text-align: left;
    text-transform: uppercase;
    letter-spacing: 2px;
    padding-bottom: 10px;
    color: #b39964;
    margin: 0;
}
/* datepicker */


.datepicker.dropdown-menu{
    z-index: 99999 !important;
    min-width: 320px;
} 

.table-condensed{
    width: 100%;
    border: none;
}

.confirmacion_servicios #FechaVisita-container {
    border: 1px solid #f6f6f6;
    padding: 10px 5px 10px;
    margin-top: 5px;
}
.confirmacion_servicios #FechaVisita-container .datepicker table {
    background: none !important;
    border: none !important;
     font-family: "Myriad pro", sans-serif;
}
.confirmacion_servicios .fechaseleccion .datepicker-inline {
    width: auto;
}
.datepicker table tr th.datepicker-switch {
    font-weight: 700;
    color: #000;
    font-family: "Myriad pro", sans-serif;
    font-size: 15px;
    letter-spacing: 2px;
    text-transform: uppercase;
}
.datepicker table tr th {
    line-height: 40px;
    color: #000;
}
.datepicker table tr .datepicker-switch:hover {
    background: none;
}
.datepicker table tr th.prev:hover,
.datepicker table tr th.next:hover {
    background: none;
    color: #b39964;
}
.datepicker table tr th.dow {
    color: #000;
    font-weight: 500;
    padding: 5px;
    text-transform: uppercase;
    font-size: 12px;
    letter-spacing: 0.05em;
}
.datepicker table tr td.day {
    color: #000;
    font-weight: 700;
}
.datepicker table tr td.day:hover {
    color: #b39964;
    background: none !important;
}
.datepicker table tr td.disabled {
    color: #aaa;
    font-weight: 400;
}
.datepicker table tr td.disabled:hover {
    color: #aaa;
    background: none;
}
.datepicker table tr td.old,
.datepicker table tr td.new {
    color: #eee !important;
    font-weight: 400;
}
.datepicker table tr td.old:hover,
.datepicker table tr td.new:hover {
    color: #eee !important;
    background: none;
}
.datepicker table tr td.day.active,
.datepicker table tr td.day.active:hover {
    background: none !important;
    text-shadow: none;
    color: #b39964 !important;
    border: 1px solid #b39964 !important;
}
/* fin datepicker */

/* seleccion personas */

.confirmacion_servicios .usuarios_grupos_disponibles {
    padding: 0 40px;
}
.confirmacion_servicios .usuarios_grupos_disponibles .adultos,
#FormCompraEvento .usuarios_grupos_disponibles .adultos {
    margin-bottom: 25px;
}
.confirmacion_servicios .usuarios_grupos_disponibles .adultos:last-child {
    margin-bottom: 0;
}
.confirmacion_servicios .usuarios_grupos_disponibles .adultos label,
#FormCompraEvento .usuarios_grupos_disponibles .adultos label {
    text-transform: uppercase;
    font-size: 12px;
    font-weight: 600;
     font-family: "Myriad pro", sans-serif;
}
.confirmacion_servicios .usuarios_grupos_disponibles .adultos .input-group,
#FormCompraEvento .usuarios_grupos_disponibles .adultos .input-group {
    width: 100%;
}
.confirmacion_servicios .usuarios_grupos_disponibles .adultos .usuarios_grupos,
#FormCompraEvento .usuarios_grupos_disponibles .adultos .usuarios_grupos {
    height: 60px;
    padding: 0;
    text-align: center;
    border: none;
    box-shadow: none;
    margin: 0 0px;
    border-top: 1px solid #eee;
    border-bottom: 1px solid #eee;
    font-size: 21px;
    font-weight: 300;
     font-family: "Myriad pro", sans-serif;
}
.confirmacion_servicios .usuarios_grupos_disponibles .adultos .input-group-btn .btn,
#FormCompraEvento .usuarios_grupos_disponibles .adultos .input-group-btn .btn {
    height: 60px;
    width: 60px;
    border: 1px solid #eee;
    font-size: 70px;
    font-weight: 100;
    line-height: 46px;
    padding: 0;
    margin: 0;
    color: #bbb;
    border-radius: 0;
    -webkit-transition: all 0.3s ease-in-out;
    -moz-transition: all 0.3s ease-in-out;
    -o-transition: all 0.3s ease-in-out;
    transition: all 0.3s ease-in-out;
}
.confirmacion_servicios .usuarios_grupos_disponibles .adultos .input-group-btn .btn:hover,
#FormCompraEvento .usuarios_grupos_disponibles .adultos .input-group-btn .btn:hover {
    background-color: #b39964;
}
/* fin seleccion personas */

/* resultados horarios */

.resultados-horarios-posibles .msg_error,
.resultados-horarios-posibles .personas_minimo {
    background-color: #b54b64;
    padding: 15px 20px;
    margin-bottom: 20px;
    color: #fff;
    text-align: center;
    font-weight: 600;
}
.resultados-horarios-posibles .tit-options {
    display: block;
}
.resultados-horarios-posibles .text-select-hour {
    margin-bottom: 20px;
}
.info_servicio .radio.inputs-horas {
    margin: 0;
    padding: 0 0 20px;
}
.info_servicio .radio.inputs-horas label {
    display: inline-block;
    width: calc(100% / 4 - 5px);
    margin: 0 5px 5px 0;
    padding: 10px 5px;
    text-align: center;
    border: 1px solid #666;
    -webkit-transition: all 0.3s ease-in-out;
    -moz-transition: all 0.3s ease-in-out;
    -o-transition: all 0.3s ease-in-out;
    transition: all 0.3s ease-in-out;
}
.info_servicio .radio.inputs-horas label:hover {
    border: 1px solid #b39964;
}
.info_servicio .radio.inputs-horas label.hour-selected,
.info_servicio .radio.inputs-horas label.hour-selected:hover {
    background-color: #b39964;
    border: 1px solid #b39964;
    color: #fff;
}
.info_servicio .radio.inputs-horas label input {
    visibility: hidden;
}
.info_servicio .radio.inputs-horas label span {
    display: block;
    font-family: "Myriad pro", sans-serif;
    font-weight: 400;
    font-size: 18px;
    color: #666;
    -webkit-transition: all 0.3s ease-in-out;
    -moz-transition: all 0.3s ease-in-out;
    -o-transition: all 0.3s ease-in-out;
    transition: all 0.3s ease-in-out;
}
.info_servicio .radio.inputs-horas label:hover span {
    color: #b39964;
}
.info_servicio .radio.inputs-horas label.hour-selected span,
.info_servicio .radio.inputs-horas label.hour-selected:hover span {
    color: #fff;
}
.info_servicio em {
    display: block;
    width: 100%;
    margin: 0 0 20px 0;
    padding: 0 0 0 0;
    text-align: left;
    color: #999;
    font-size: 13px;
}
.info_servicio em a {
    color: #111;
}
.info_servicio em a:hover {
    color: #b39964;
}
.resultados-horarios-posibles .personas_minimo {
    margin-bottom: 20px;
    margin-top: 0;
}
/* fin resultados horarios */

/* ---------- responsive ----------------------------- */

@media only screen and (max-width: 768px) {
    /* ···················································································· 768px*/
    .confirmacion_servicios .usuarios_grupos_disponibles {
        padding: 0 15px 0 40px;
    }
    .info_servicio_cabecera {
        flex-wrap: wrap;
    }
    .info_servicio_cabecera .imagen-visita-detalle {
        min-height: 350px;
    }
    .info-visita-detalle {
        padding: 40px 40px 70px;
    }
    .confirmacion_servicios .resultados-horarios-posibles {
        margin-top: 10px;
    }
    .confirmacion_servicios .resultados-horarios-posibles {
        margin-top: 10px;
        float: left;
        width: 100%;
    }
}
@media only screen and (max-width: 767px) {
    /* ···················································································· 767px*/
    .steps {
        padding: 15px 25px;
    }
    .info_servicio_cabecera {
        margin-top: 15px;
    }
    .info_servicio_cabecera::before {
        background-size: 150px auto;
        background-position: left 15px top 15px, right 15px bottom 15px;
    }
    .info_servicio_cabecera .imagen-visita-detalle {
        min-height: 200px;
        width: 100%;
    }
    .info-visita-detalle {
        padding: 30px 25px 50px;
        width: 100%;
    }
    .info-visita-detalle h4 {
        font-size: 27px;
        line-height: 27px;
    }
    .cuerpo_servicio {
        padding: 30px 15px;
    }
    .confirmacion_servicios h4,
    #paso_2_all .rotulo-compras2,
    #paso_3_all .rotulo-compras2,
    #paso_resumen_all .rotulo-compras2 {
        font-size: 21px;
    }
    .confirmacion_servicios .usuarios_grupos_disponibles {
        padding: 0 15px 0 15px;
    }
    .info_servicio #ValidarRealizarVisita {
        width: 100%;
    }

    .boton-pago-imprimir .btn-right, .boton-pago-imprimir .btn-left{
        float: none;
        margin: auto;
        margin-bottom: auto;
        display: block;
        margin-bottom: 10px;


    } 

    #validar_cupon {
        width: calc(100% - 30px);
        margin: 15px;
    }



}
/* ------------------------------------------------------ CLOSE: PASO 1: Selección Fecha Idioma Número personas  ------------------------------------------------------ */

/* ------------------------------------------------------OPEN: PASO 2: Extras Datos Formas de pago  ------------------------------------------------------ */

/* imagen y titulo visita */

.cabecera-small {
    min-height: 250px;
}
.cabecera-small .info-visita-detalle {
    display: flex;
    align-items: center;
}
.cabecera-small .info-visita-detalle h4 {
    padding-bottom: 0;
    font-size: 32px;
   
}
/* fin imagen y titulo visita */

#paso_2_all,
#paso_3_all,
#paso_resumen_all {
    margin-bottom: 100px;
}
/* cards general */

#paso_2_all .reserva-tramite,
#paso_2_all .tus-extras,
#paso_2_all .tus-datos-personales,
#paso_2_all .forma_pago,
.botones_completar_reserva,
#paso_3_all .datos-reserva,
#paso_3_all .datos-confirmar,
#paso_3_all .condiciones_servicio,
#paso_3_all .formulario-bloque,
#paso_3_all .estado-compra,
#paso_resumen_all .datos-personales-resumen,
#paso_resumen_all .datos-passbook,
#paso_resumen_all .reserva-fin-resumen,
#paso_resumen_all .finalizar_resumen,
#cupones {
    margin: 20px 15px 0;
    padding: 30px 40px;
    background: #fff;
    width: calc(100% - 30px);
}
/* fin cards general */

/* mejora tus visitas */

#mejora-tus-visitas {
    margin: 30px 0 0;
    float: left;
    width: 100%;
    padding: 0;
}
.contenedor_extra {
    border: 1px solid #f6f6f6;
    padding: 0;
    float: left;
    width: 100%;
    display: flex;
    margin-bottom: 15px;
    -webkit-transition: all 0.3s ease-in-out;
    -moz-transition: all 0.3s ease-in-out;
    -o-transition: all 0.3s ease-in-out;
    transition: all 0.3s ease-in-out;
}
.contenedor_extra:hover {
    border: 1px solid #b39964;
}
li:last-child .contenedor_extra {
    margin-bottom: 5px;
}
.mejora-texto {
    font-style: italic;
    align-content: center;
    display: flex;
    align-items: center;
    padding: 20px;
    width: 60%;
    color: #333;
    font-weight: 400;
    -webkit-transition: all 0.3s ease-in-out;
    -moz-transition: all 0.3s ease-in-out;
    -o-transition: all 0.3s ease-in-out;
    transition: all 0.3s ease-in-out;
}
.mejora-cantidades {
    align-items: center;
    display: flex;
    width: 40%;
}
.mejora-precio {
    width: calc(100% - 45px);
    padding: 30px 20px;
    border-right: 1px solid #f6f6f6;
    border-left: 1px solid #f6f6f6;
    -webkit-transition: all 0.3s ease-in-out;
    -moz-transition: all 0.3s ease-in-out;
    -o-transition: all 0.3s ease-in-out;
    transition: all 0.3s ease-in-out;
}
.contenedor_extra:hover .mejora-precio {
    border-right: 1px solid #b39964;
    border-left: 1px solid #b39964;
}
.mejora-precio input {
    border: none;
    border-bottom: 1px solid #eee;
    padding: 8px 10px;
    background-color: #fff;
    margin-right: 10px;
    width: 130px;
}
.mejora-precio span {
    font-style: italic;
    font-weight: 600;
    color: #b39964;
}
.error_anadir_extra {
    font-size: 12px;
    padding-top: 10px;
    display: block;
}
.mejora-enviar {
    align-items: center;
    display: flex;
    padding: 20px;
    width: 85px;
}
.mejora-enviar .enviar_extra {
    border: 1px solid #ccc;
    padding: 0;
    display: block;
    width: 45px;
    height: 45px;
    line-height: 45px;
    background-color: #fff;
    border-radius: 45px;
    color: #ccc;
    -webkit-transition: all 0.3s ease-in-out;
    -moz-transition: all 0.3s ease-in-out;
    -o-transition: all 0.3s ease-in-out;
    transition: all 0.3s ease-in-out;
}
.contenedor_extra:hover .mejora-enviar .enviar_extra {
    border: 1px solid #b39964;
    color: #b39964;
    background-color: #fff;
}
.contenedor_extra:hover .mejora-enviar .enviar_extra:hover {
    border: 1px solid #b39964;
    background-color: #b39964;
    color: #fff;
}
/* fin mejora tus visitas */

/* resumen reserva */

.reserva-tramite .row {
    margin-top: 30px;
}
.reserva-tramite .rotulo,
.datos-reserva .rotulo {
    font-weight: 500;
    font-size: 16px;
    text-transform: uppercase;
    letter-spacing: 2px;
    padding-bottom: 10px;
    color: #b39964;
    margin: 0;
    font-family: "Myriad pro", sans-serif;
}
.info_compra_reserva1 p {
    font-size: 16px;
    font-weight: 600;
     font-family: "Myriad pro", sans-serif;
}
.info_compra_reserva1 p span {
    font-weight: 300;
    color: #666;
    padding: 0 5px;
}
.tabla_encabezadotarifas {
    border: none !important;
    margin: 0 !important;
     font-family: "Myriad pro", sans-serif;
}
.tabla_encabezadotarifas tr th {
    padding: 0;
    border: none;
}
.tabla_encabezadotarifas tr th:nth-child(2) {
    text-align: center;
}
.tabla_encabezadotarifas tr th:nth-child(3) {
    text-align: right;
}
.tabla_encabezadotarifas tr td {
    border: none;
    line-height: 1.4em;
    padding: 3px 0;
}
.tabla_encabezadotarifas tr td .num_usuarios,
.tabla_encabezadotarifas tr td.num_usuarios {
    border: none;
    text-align: center;
    display: block;
    width: 100%;
}
.tabla_encabezadotarifas tr td:first-child,
.info_carrito tr td:first-child {
    width: 50%;
}
.tabla_encabezadotarifas tr td:nth-child(2),
.info_carrito tr td:nth-child(2) {
    width: 23%;
}
#FormCompraEvento .tabla_encabezadotarifas tr td:nth-child(2) {
    width: auto;
}
.tabla_encabezadotarifas tr td.casi-last,
.info_carrito tr td.casi-last {
    width: 20%;
    text-align: right;
    font-weight: 700;
}
.tabla_encabezadotarifas tr td:last-child,
.info_carrito tr td:last-child {
    width: 7%;
    text-align: right;
    font-weight: 700;
}
.tabla_encabezadotarifas tr td label {
    margin: 0;
    text-transform: uppercase;
    font-weight: 600;
    font-size: 12px;
    letter-spacing: 1px;
}
.tabla_encabezadotarifas tr td.delete-mejora .fa {
    color: #bbb;
    cursor: pointer;
    font-size: 19px;
    padding-top: 3px;
}
.tabla_encabezadotarifas tr td.delete-mejora .fa:hover {
    color: #b39964;
}
tr.extra-mejora-tabla td {
    color: #999;
}
tr.extra-mejora-tabla td input {
    text-align: center;
    border: none;
    color: #999;
    width: 100%;
}
.tabla_encabezadotarifas tr.totales td.titulo_total,
.tabla_encabezadotarifas tr.totales td.total_precio {
    color: #000;
    padding-top: 10px;
    text-transform: uppercase;
    font-weight: 800;
    letter-spacing: 1px;
    font-size: 16px;
}
/* fin resumen reserva */

/* tus datos */

.tus-datos-personales .row {
    margin-top: 30px;
}
.tus-datos-personales .linea_datos {
    margin-bottom: 30px;
}
.tus-datos-personales input,
.tus-datos-personales textarea,
.tus-datos-personales select,
#cupon {
    width: 100%;
    margin: 0;
    padding: 15px !important;
    border: 0.5px solid #aaa;
    border-radius: 0;
    -webkit-transition: all 0.3s ease-in-out;
    -moz-transition: all 0.3s ease-in-out;
    -o-transition: all 0.3s ease-in-out;
    transition: all 0.3s ease-in-out;
    -webkit-appearance: none;
    /* WebKit */
    -moz-appearance: none;
    /* Mozilla */
    -o-appearance: none;
    /* Opera */
    -ms-appearance: none;
    /* Internet Explorer */
    appearance: none;
     font-family: "Myriad pro", sans-serif;
}
.tus-datos-personales input:hover,
.tus-datos-personales textarea:hover,
.tus-datos-personales select:hover {
    border-color: #b39964;
}
.tus-datos-personales input:focus,
.tus-datos-personales textarea:focus,
.tus-datos-personales select:focus {
    border-color: #b39964;
    color: #b39964;
}
.tus-datos-personales .linea_datos .caracteres_textarea {
    color: #bbb;
    font-weight: 400;
    font-size: 12px;
    padding-left: 5px;
    display: block;
    margin-top: 0;
    letter-spacing: 0.07em;
}
.tus-datos-personales .linea_datos .caracteres_textarea .max_caracteres {
    color: #666;
}
.tus-datos-personales .linea_datos.linea_obligatorios {
    margin: -10px 0 0;
}
.tus-datos-personales .linea_datos.linea_obligatorios .campos-obligatorios {
    font-size: 12px;
    color: #b39964;
    letter-spacing: 0.03em;
    font-style: italic;
}
label.error,
#error_paso_3,
#error_pago {
    font-size: 14px;
    color: #fff;
    padding: 10px 15px;
    margin: 5px 0 0;
    background-color: #388348;
    font-weight: 600;
    width: 100%;
    text-align: center;
    line-height: normal;
}
/* fin tus datos */

/* forma pago */

.forma_pago #FormasPago {
    margin: 30px 0 20px;
}
.forma_pago #FormasPago .radio.pago {
    margin: 0 10% 0 0;
    display: inline-block;
}
.forma_pago #FormasPago .radio.pago label {
    text-transform: uppercase;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 1px;
     font-family: "Myriad pro", sans-serif;
}
.forma_pago #FormasPago .radio.pago label input {
    margin-top: 2px;
    border: 0.5px solid #aaa;
}
.forma_pago .acepto-condiciones {
    border-top: 1px dotted #eee;
    padding-top: 20px;
}
.forma_pago .checkbox label {
    font-size: 13px;
    font-style: italic;
}
.forma_pago .checkbox label input {
    margin-top: 3px;
}
.forma_pago .checkbox label a {
    color: #000;
    font-weight: 600;
}
.forma_pago .checkbox label a:hover {
    color: #b39964;
}
/* fin forma pago */

/* botones acciones */

.botones_completar_reserva {
    background: none;
    padding: 0;
}
/* fin botones acciones */

/* ---------- responsive ----------------------------- */

@media only screen and (max-width: 768px) {
    /* ···················································································· 768px*/
    .forma_pago #FormasPago .radio.pago {
        margin: 0 5% 0 0;
    }
}
@media only screen and (max-width: 767px) {
    /* ···················································································· 767px*/
    .cabecera-small .info-visita-detalle h4 {
        font-size: 27px;
        line-height: 27px;
    }
    #paso_2_all .reserva-tramite,
    #paso_2_all .tus-extras,
    #paso_2_all .tus-datos-personales,
    #paso_2_all .forma_pago,
    .botones_completar_reserva,
    #paso_3_all .datos-reserva,
    #paso_3_all .datos-confirmar,
    #paso_3_all .condiciones_servicio,
    #paso_3_all .formulario-bloque,
    #paso_resumen_all .datos-personales-resumen,
    #paso_resumen_all .reserva-fin-resumen,
    #paso_resumen_all .finalizar_resumen {
        margin-top: 15px;
        padding: 30px 25px;
    }
    .contenedor_extra {
        display: block;
    }
    .mejora-texto {
        padding: 15px;
        line-height: 18px;
        border-bottom: 1px solid #f6f6f6;
        width: 100%;
    }
    .contenedor_extra:hover .mejora-texto {
        border-bottom: 1px solid #b39964;
    }
    .mejora-cantidades {
        width: 100%;
    }
    .mejora-precio {
        padding: 10px 15px;
        border: none;
        width: calc(100% - 65px);
    }
    .contenedor_extra:hover .mejora-precio {
        border-right: none;
        border-left: none;
    }
    .mejora-enviar {
        padding: 15px;
        width: 65px;
        border-left: 1px solid #f6f6f6;
    }
    .contenedor_extra:hover .mejora-enviar {
        border-left: 1px solid #b39964;
    }
    .mejora-enviar .enviar_extra {
        width: 35px;
        height: 35px;
        line-height: 35px;
    }
    .reserva-tramite .rotulo,
    .datos-reserva .rotulo {
        font-size: 13px;
        letter-spacing: 1px;
    }
    .reserva-tramite .info_compra_reserva1 {
        margin-bottom: 20px;
    }
    .tabla_encabezadotarifas tr th {
        vertical-align: bottom;
    }
    .tabla_encabezadotarifas tr td label {
        font-size: 11px;
        line-height: 12px;
    }
    .tabla_encabezadotarifas tr td:first-child,
    .info_carrito tr td:first-child {
        width: 45%;
        padding: 7px 0;
    }
    .tabla_encabezadotarifas tr td:nth-child(2),
    .info_carrito tr td:nth-child(2) {
        width: 19%;
    }
    .tabla_encabezadotarifas tr td:nth-child(3),
    .info_carrito tr td:nth-child(3) {
        width: 27%;
    }
    .tabla_encabezadotarifas tr td:nth-child(4),
    .info_carrito tr td:nth-child(4) {
        width: 9%;
    }
    .forma_pago #FormasPago .radio.pago {
        margin: 0 0 10px 0;
    }
    .forma_pago #FormasPago .radio.pago:last-child {
        margin: 0 0 0 0;
    }
    .botones_completar_reserva {
        padding: 0;
    }
    .botones_completar_reserva .btn-outline-gray,
    .botones_completar_reserva .btn-outline-black,
    .finalizar_resumen .btn-outline-gray,
    .finalizar_resumen .btn-outline-black {
        width: 100%;
        text-align: center;
    }
    .botones_completar_reserva .cierre-volver,
    .finalizar_resumen .cierre-volver {
        margin-bottom: 15px;
        float: left;
        width: 100%;
    }
}
/* ------------------------------------------------------ CLOSE: PASO 2: Extras Datos Formas de pago  ------------------------------------------------------ */

/* ------------------------------------------------------OPEN: PASO 3: Confirmar compra  ------------------------------------------------------ */

/* datos reserva */

.datos-reserva .row {
    margin-top: 30px;
}
.datos-reserva .datos-visitas p,
.reserva-fin-resumen .datos-visitas p {
    font-size: 16px;
    font-weight: 600;
     font-family: "Myriad pro", sans-serif;
}
.datos-reserva .datos-visitas p span,
.reserva-fin-resumen .datos-visitas p span {
    font-weight: 300;
    color: #666;
    padding: 0 5px;
}
.datos-reserva .datos-visitas p:last-child,
.reserva-fin-resumen .datos-visitas p:last-child {
    font-size: 14px;
}
/* fin datos reserva */

/* tus datos */

.tus-datos-personales .datos-visitas,
.datos-personales-resumen .datos-resumen {
    margin-bottom: 10px;
     font-family: "Myriad pro", sans-serif;
}
.tus-datos-personales .datos-visitas p,
.datos-personales-resumen .datos-resumen p {
    margin: 0;
}
.tus-datos-personales .datos-visitas .rotulo,
.datos-personales-resumen .datos-resumen .rotulo {
    text-transform: uppercase;
    font-size: 12px;
    color: #b39964;
    font-weight: 600;
    letter-spacing: 1px;
}
.textarea-full {
    width: 100%;
    margin: 10px 0 0 !important;
}
/* fin tus datos */

/* condiciones */

.condiciones_servicio p {
    padding: 0 0 10px;
    margin: 0;
    font-weight: 400;
    line-height: 22px;
     font-family: "Myriad pro", sans-serif;
}
/* fin condiciones */

/* formulario por qué */

.formulario-bloque .row {
    margin-top: 20px;
    margin-bottom: 0;
    padding: 0;
}
.formulario-bloque ul.formulario_preguntas li {
    margin: 5px 0 0;
}
.formulario-bloque ul.formulario_preguntas li label {
    font-size: 13px;
    font-style: italic;
    line-height: 1.4em;
}
.formulario-bloque ul.formulario_preguntas li label input {
    margin-top: 3px;
}
/* fin formulario por qué */

/* mensage sesión caducada */

#session-caducada-msg {
    margin-top: 15px;
}
/* fin mensage sesión caducada */

.wallet-form {
    text-align: center;
}
.wallet-form button[type="submit"] {
    background: #fff url(../img/ico-wallet.png) no-repeat 40px center;
    background-size: 30px;
    color: #000;
    text-align: center;
    text-transform: uppercase;
    font-weight: 700;
    font-size: 13px;
    padding-left: 85px;
    padding-top: 20px;
    margin-top: 30px;
}
.wallet-form button[type="submit"]:hover {
    color: #fff;
    background-color: #000;
}

/* ---------- responsive ----------------------------- */

@media only screen and (max-width: 767px) {
    /* ···················································································· 767px*/
    .datos-visitas.fecha {
        margin-bottom: 20px;
    }
}
/* ------------------------------------------------------ CLOSE: PASO 3: Confirmar compra  ------------------------------------------------------ */

/* ------------------------------------------------------OPEN: RESERVA FINALIZADA: Resumen  ------------------------------------------------------ */

/* datos reserva finalizada */

.reserva-fin-resumen .row,
.datos-personales-resumen .row {
    margin-top: 30px;
}
.reserva-fin-resumen .row:first-child {
    margin-top: 0;
}
.reserva-fin-resumen .rotulo {
    font-weight: 500;
    font-size: 16px;
    text-transform: uppercase;
    letter-spacing: 2px;
    padding-bottom: 10px;
    color: #b39964;
    margin: 0;
    font-family: "Myriad pro", sans-serif;
}
.reserva-fin-resumen .localizador {
    text-align: right;
}
.reserva-fin-resumen .localizador p {
    margin: 5px 0 0;
    border: 0.5px dashed #b39964;
    padding: 15px 20px 10px 25px !important;
    border-right: 5px solid #b39964;
    display: inline-block;
    text-align: right;
    margin-bottom: 10px;
}
.reserva-fin-resumen .localizador p .rotulo-localizador {
    font-size: 16px;
    font-weight: 500;
    color: #b39964;
    display: block;
    line-height: 100%;
    letter-spacing: 1px;
    margin-bottom: 5px;
}
.reserva-fin-resumen .localizador p .cifra-localizador {
    font-size: 42px;
    font-weight: 600;
    color: #000;
    display: block;
    line-height: 100%;
     font-family: "Myriad pro", sans-serif;
}
/* fin reserva finalizada */

/* botones acciones */

#paso_resumen_all .finalizar_resumen {
    background: none;
    padding: 0;
}
/* fin botones acciones */

/* ---------- responsive ----------------------------- */

@media only screen and (max-width: 767px) {
    /* ···················································································· 767px*/
    .reserva-fin-resumen .localizador p {
        width: 100%;
        margin-top: 20px;
        margin-bottom: 0;
        text-align: left;
        border-left: 5px solid #b39964;
        border-right: 0.5px dashed #b39964;
        padding-left: 20px !important;
    }
}
/* ------------------------------------------------------ CLOSE: RESERVA FINALIZADA: Resumen  ------------------------------------------------------ */

/* ------------------------------------------------------OPEN: PANTALLA PAGO OK  ------------------------------------------------------ */

.vuelta-pago {
    margin-bottom: 100px;
}
.textos-pagos {
    text-align: center;
    margin: 0 15px 0;
    width: calc(100% - 30px);
    padding: 50px 85px;
    background-image: url("/wp-content/uploads/2019/11/greca-t-l.svg"), url("/wp-content/uploads/2019/11/greca-b-r.svg");
    background-size: 225px auto;
    background-position: left 30px top 30px, right 30px bottom 30px;
    background-repeat: no-repeat;
    background-color: #fff;
}
/* animacion ok */

.checkmark {
    width: 150px;
    margin: 0 auto;
}
.path {
    stroke-dasharray: 1000;
    stroke-dashoffset: 0;
    animation: dash 2s ease-in-out;
    -webkit-animation: dash 2s ease-in-out;
}
.spin {
    animation: spin 2s;
    -webkit-animation: spin 2s;
    transform-origin: 50% 50%;
    -webkit-transform-origin: 50% 50%;
}
@-webkit-keyframes dash {
    0% {
        stroke-dashoffset: 1000;
    }
    100% {
        stroke-dashoffset: 0;
    }
}
@keyframes dash {
    0% {
        stroke-dashoffset: 1000;
    }
    100% {
        stroke-dashoffset: 0;
    }
}
@-webkit-keyframes spin {
    0% {
        -webkit-transform: rotate(0deg);
    }
    100% {
        -webkit-transform: rotate(360deg);
    }
}
@keyframes spin {
    0% {
        -webkit-transform: rotate(0deg);
    }
    100% {
        -webkit-transform: rotate(360deg);
    }
}
@-webkit-keyframes text {
    0% {
        opacity: 0;
    }
    100% {
        opacity: 1;
    }
}
@keyframes text {
    0% {
        opacity: 0;
    }
    100% {
        opacity: 1;
    }
}
/* fin animacion ok */

/* textos ok */

.textos-pagos h2 {
    text-transform: uppercase;
    font-size: 24px;
    font-weight: 800;
    color: #b39964;
    letter-spacing: 2px;
    margin: 0 0 40px;
}
.textos-pagos h3 {
    font-size: 36px;
    font-weight: 200;
    margin: 15px 0 40px;
    padding-bottom: 0;
}
.textos-pagos p {
    font-size: 21px;
}
.textos-pagos p:last-child {
    margin-top: 50px;
    margin-bottom: 30px;
}
.textos-pagos p strong {
    font-weight: 400;
    font-style: italic;
    font-size: 16px;
}
.textos-pagos .localizador-pago-ok {
    display: block;
    font-weight: 800;
    font-size: 30px;
}
/* fin textos ok */

/* ---------- responsive ----------------------------- */

@media only screen and (max-width: 767px) {
    /* ···················································································· 767px*/
    .textos-pagos {
        background-size: 150px auto;
        background-position: left 15px top 15px, right 15px bottom 15px;
        padding: 50px 25px 30px;
    }
    .checkmark {
        width: 100px;
    }
    .textos-pagos h3 {
        font-size: 30px;
        margin: 15px 0 30px;
    }
    .textos-pagos h2 {
        font-size: 21px;
    }
    .textos-pagos p {
        font-size: 18px;
    }
}
/* ------------------------------------------------------ CLOSE: PANTALLA PAGO OK  ------------------------------------------------------ */

/* ------------------------------------------------------OPEN: PANTALLA PAGO ERROR  ------------------------------------------------------ */

/* animacion error */

.textos-pagos-error .checkmark {
    margin-top: 20px;
    margin-bottom: 20px;
}
.path {
    stroke-dasharray: 1000;
    stroke-dashoffset: 0;
}
.path.circle {
    -webkit-animation: dash 0.9s ease-in-out;
    animation: dash 0.9s ease-in-out;
}
.path.line {
    stroke-dashoffset: 1000;
    -webkit-animation: dash 0.9s 0.35s ease-in-out forwards;
    animation: dash 0.9s 0.35s ease-in-out forwards;
}
.path.check {
    stroke-dashoffset: -100;
    -webkit-animation: dash-check 0.9s 0.35s ease-in-out forwards;
    animation: dash-check 0.9s 0.35s ease-in-out forwards;
}
@-webkit-keyframes dash {
    0% {
        stroke-dashoffset: 1000;
    }
    100% {
        stroke-dashoffset: 0;
    }
}
@keyframes dash {
    0% {
        stroke-dashoffset: 1000;
    }
    100% {
        stroke-dashoffset: 0;
    }
}
@-webkit-keyframes dash-check {
    0% {
        stroke-dashoffset: -100;
    }
    100% {
        stroke-dashoffset: 900;
    }
}
@keyframes dash-check {
    0% {
        stroke-dashoffset: -100;
    }
    100% {
        stroke-dashoffset: 900;
    }
}
@keyframes stroke {
    100% {
        stroke-dashoffset: 0;
    }
}
/* fin animacion error */

/* textos error */

.textos-pagos.textos-pagos-error h2 {
    color: #b54b64;
}
/* fin textos error */

/* ------------------------------------------------------ CLOSE: PANTALLA PAGO ERROR  ------------------------------------------------------ */

.servicio_bloque:hover .info-visita a.boton_compra,
.contenedor-visita-destacado:hover .info-visita a.boton_compra {
    color: #fff !important;
    background: #000 !important;
}
.info-visita a.boton_compra {
    margin: 0 0 30px 0;
    line-height: initial;
}

.trip img{
    width: 150px;
}

.google img{
    width: 100px;
}


.google .ti-widget.ti-goog .ti-review-item > .ti-inner , .trip .ti-widget.ti-goog .ti-review-item > .ti-inner{
  background-color: #f5f2eb !important;
  border-color: #f5f2eb !important;
}

 .boton-pago-imprimir {
    text-align: center;
 } 

 .boton-pago-imprimir a{
    text-align: center;
    margin-bottom: 50px;
 } 

 .estado-compra {
    text-align: center;

 } 





/* ------------------------------------------------------ REGALAR ------------------------------------------------------ */

.grid-layout {
  display: grid;
  

  grid-template-columns: 1fr 1fr;
  grid-gap: 30px;
  grid-auto-rows: minmax(350px, auto);
  grid-auto-flow: dense;
  padding: 1px;
  position: relative;
}

.grid-item {
    background-color: #f5f2eb;
    position: relative;
}


.btn-transparent:hover {
    background-color: transparent;
}


.grid-item .info-visita {
  display: inherit;
  height: inherit;

}

.grid-item .footer-card-visita {
    width: 100%;
    float: left;
    text-align: center;
}

.grid-item .footer-card-visita h4{
    font-family: "Myriad pro", sans-serif;
    font-size: 24px;
    font-weight: 300;
    color: #b39964;
}

.grid-item form{
    width: 100%;
    float: left;
    margin-bottom: 30px;
    text-align: center;
}
.grid-item  .btn-info-visita{
    padding: 14px 40px !important;
text-transform: uppercase !important;
letter-spacing: 1px !important;
font-weight: 700 !important;
font-size: 13px !important;
background: none !important;
border: 1px solid #000 !important;
color: #000 !important;
-webkit-transition: all 0.3s ease-in-out !important;
-moz-transition: all 0.3s ease-in-out !important;
-o-transition: all 0.3s ease-in-out !important;
transition: all 0.3s ease-in-out !important;
font-family: "Libre Baskerville", Sans-serif !important;

}

.grid-item  .btn-transparent {
    border: 0px solid transparent !important;
}
/*.grid-item .footer-card-visita .boton_compra.btn-outline-black {
    display: none;

}*/

.grid-item:hover  .btn-info-visita,
.btn-transparent:hover .btn-info-visita {
    background-color: #000 !important;
    color: #fff !important;
 }  

 .grid-item:hover .btn-transparent {
    background-color: transparent !important;
    color: transparent !important;
 }

 .btn-transparent:hover  .btn-info-visita {
     background-color: #000 !important;
     color: #fff !important;
  }  
 
 .grid-item:hover .imagen-visita img,
 .btn-transparent:hover .imagen-visita img {
  -webkit-filter: grayscale(100%);
  filter: grayscale(100%);
} 

 .grid-item:hover .info-visita h2,
 .btn-transparent:hover .info-visita h2  {
    color: #000;

 }


.card-visita.info_servicio_cabecera{
  display: flex;
  
}

.card-visita.info_servicio_cabecera .imagen-visita-detalle {
  width: 50%;
  border-radius: 2px;
  overflow: hidden;
}

.card-visita.info_servicio_cabecera .imagen-visita-detalle img {
  object-fit: cover;
  height: 100%;
  width: 100%;
}

.card-visita.info_servicio_cabecera .info-visita-detalle {
  width: 50%;
  min-height: 350px;
}

.confirmacion_servicios.confirmacion_servicios_regalo .usuarios_grupos_disponibles .adultos {
  width: calc(100%/2 - 64px);
  margin: 16px 32px 16px;
  float: left;
}


.content-card-filtro {
  border: none;
  float: left;
  width: 100%;
}


.linea_datos {
  margin-top: 15px;
  width: calc(100% / 2 - 15px);
}

.cont-datos-personales {
  display: flex;
  align-items: flex-start;
  gap: 0px 30px;
  flex-wrap: wrap;
  align-content: flex-start;
}

.carrito-tabla {
  border-top: 1px dashed #E9E7E5;
  padding-top: 25px;
  margin-top: 15px;
}

.botones_completar_reserva .row {
    display: flex;
    justify-content: space-between;
    width: 100%;

}
.finalizar_compra {
  display: flex;
  justify-content: end;
}


.adultos h4{ 
    text-transform: uppercase;
    font-size: 12px;
    font-weight: 600;
    font-family: "Myriad pro", sans-serif;
} 

h3.title-card-filtro {
    font-family: "Myriad pro", sans-serif;
    font-weight: 500;
    font-size: 16px;
    text-align: left;
    text-transform: uppercase;
    letter-spacing: 2px;
    padding-bottom: 10px;
    color: #b39964;
    margin: 0;
} 

.cuerpo_servicio {
  width: 100%;
  float: left
 } 

 .card-visita.info_servicio_cabecera .info-visita-detalle h2 {  
    display: inline-block;
    width: 100%;
    margin: 0 0 0 0;
    padding: 0 0 25px;
    font-family: Myriad pro,Helvetica,Arial,sans-serif;
    font-weight: 800;
    text-transform: uppercase;
    font-size: 36px;
    letter-spacing: 0.03em;
    color: #000;
    line-height: initial;

} 

.card-visita.info_servicio_cabecera .info-visita-detalle h1 {   
    font-family: "Myriad pro", sans-serif;
    font-weight: 500;
    font-size: 18px;
    text-align: left;
    text-transform: uppercase;
    letter-spacing: 2px;
    padding-bottom: 10px;
    color: #b39964;
    margin: 0;
}

h2.title-no-card { 
    font-family: "Myriad pro", sans-serif;
    font-weight: 800;
    font-size: 20px;
    text-transform: uppercase;
    color: #000;
    letter-spacing: 2px;
} 

#FormCompraRegalo .checkbox.acepto-condiciones {
    margin-left: 25px;

}

.btn-solid-neutral {
    padding: 14px 40px !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    font-weight: 600 !important;
    font-size: 13px !important;
    background: none !important;
    border: 1px solid #bbb !important;
    color: #aaa !important;
    -webkit-transition: all 0.3s ease-in-out !important;
    -moz-transition: all 0.3s ease-in-out !important;
    -o-transition: all 0.3s ease-in-out !important;
    transition: all 0.3s ease-in-out !important;
    line-height: 1;
    margin-bottom: 10px;
    display: inline-block;
      font-family: "Libre Baskerville", Sans-serif !important;


}

.btn-solid-neutral:hover {
    background-color: #bbb !important;
    color: #fff !important;
}    


.btn-solid-main {
      padding: 14px 40px !important;
  text-transform: uppercase !important;
  letter-spacing: 1px !important;
  font-weight: 700 !important;
  font-size: 13px !important;
  background: none !important;
  border: 1px solid #000 !important;
  color: #000 !important;
  -webkit-transition: all 0.3s ease-in-out !important;
  -moz-transition: all 0.3s ease-in-out !important;
  -o-transition: all 0.3s ease-in-out !important;
  transition: all 0.3s ease-in-out !important;
  font-family: "Libre Baskerville", Sans-serif !important;

} 

.btn-solid-main:hover {
    background-color: #000 !important;
    color: #fff !important;
} 


.cont-datos-persona .datos-visitas {
  width: calc(100% / 4 - 25px);
}


.tus-datos-personales .cont-datos-persona {
  display: flex;
  align-items: flex-start;
  gap: 0px 30px;
  flex-wrap: wrap;
  align-content: flex-start;
  padding-top: 10px;
}




#FormCompraRegalo #FormasPago .pago {
  
  margin: 0 15px 0 0 !important;
  width: calc(100% / 4 - 25px);
  padding: 0;
  border: 0.5px solid #aaa;
}

#FormCompraRegalo #FormasPago .pago label {
  padding: 50px 5px 15px;
  text-transform: uppercase;
  font-size: 12px;
  line-height: 16px;
  text-align: center;
  letter-spacing: 0.03em;
  display: block;
  font-weight: 400 !important;
  background-repeat: no-repeat;
  background-position: center top 15px;
  border-radius: 2px;
  border: 0.5px solid #eaeaea;
}

#FormCompraRegalo #FormasPago .pago label input {
  width: 0;
  height: 0;
  opacity: 0;
}

#FormCompraRegalo #FormasPago .pago.selected label {
    color: #b39964;
    background-color: #b3996420;
     border: 2px solid color: #b39964;;
}

#FormCompraRegalo #FormasPago .pago.tarjeta_de_credito label {
  background-image: url(/wp-content/plugins/visitas/modules/visitas/reservas/images/pago-card-icon.svg);
  background-size: 24px;
}

#FormCompraRegalo #FormasPago .pago.pago_en_bodega label {
  background-image: url(/wp-content/plugins/visitas/modules/visitas/reservas/images/pago-instalacion-icon.svg);
  background-size: 24px;
}

#FormCompraRegalo #FormasPago .pago.bizum label {
  background-image: url(/wp-content/plugins/visitas/modules/visitas/reservas/images/pago-bizum-icon.svg);
  background-size: 24px;
}

#FormCompraRegalo #FormasPago .pago.paypal label {
  background-image: url(/wp-content/plugins/visitas/modules/visitas/reservas/images/pago-paypal-icon.svg);
  background-size: 24px;
}


.factura .finalizar_compra {
    display: block;
}


.card-visita.tus-datos-personales,.card-visita.datos-reserva{
    width: 100%;
    float: left;
} 
.tus-datos-personales select {
   background: #fafafa; 
   width: 100%;
    margin: 0;
    padding: 15px !important;
    border: 0.5px solid #aaa;
     border-top-color: rgb(170, 170, 170);
    border-right-color: rgb(170, 170, 170);
    border-bottom-color: rgb(170, 170, 170);
    border-left-color: rgb(170, 170, 170);
    border-radius: 0;
    -webkit-transition: all 0.3s ease-in-out;
    -moz-transition: all 0.3s ease-in-out;
    -o-transition: all 0.3s ease-in-out;
    transition: all 0.3s ease-in-out;
    -webkit-appearance: none;
    -moz-appearance: none;
    -o-appearance: none;
    -ms-appearance: none;
    appearance: none;
    font-family: "Myriad pro", sans-serif;
    height: 50px !important;
}




@media only screen and (max-width: 767px) {

    #FormCompraRegalo  #FormasPago .pago {
        width: 100%;
        margin-bottom: 15px !important;
    }
    .grid-layout {
        grid-template-columns: 1fr;
    } 
    
    .card-visita.info_servicio_cabecera {
        display: block;
    }

    .card-visita.info_servicio_cabecera .imagen-visita-detalle {
        width: 100%;
        min-height: initial;

    }
    .card-visita.info_servicio_cabecera .info-visita-detalle {
        width: 100%;
        min-height: initial;
    
    } 
    
    .confirmacion_servicios.confirmacion_servicios_regalo .usuarios_grupos_disponibles .adultos {
        width: 100%;
        margin-right: 0;
        margin-left: 0;
    }
    .cont-datos-personales .linea_datos {
         width: 100%;
        min-width: 100%;
    } 
      
    #FormCompraRegalo .cuerpo_servicio {
        margin: 0 !important;
        margin-bottom: 30px !important;
    }

    #FormCompraRegalo .cuerpo_servicio .cuerpo_servicio {
        
        padding: 0 !important;
    }
    #FormCompraRegalo .forma_pago{
        width: 100%;
        float: left;
        margin: 0;
        padding: 0;
        margin-bottom: 30px;

    }
    .card-visita.botones_completar_reserva {
        clear: both;
    }

    .card-visita.botones_completar_reserva {
        clear: both;
    }

    .botones_completar_reserva .finalizar_compra {
        display: block;
        text-align: center;
    }

    h2.title-no-card {
        font-size: 21px;
    } 
    .card-visita.info_servicio_cabecera .info-visita-detalle h2 {    
        font-size: 28px;
    }  
    .card-visita.info_compra_reserva {
        clear: both;
        width: 100%;
        float: left;
        margin-top: 50px;
    }
    .btn-solid-main {
        margin: auto;
    }

    .forma_pago #FormasPago .radio.pago {
        display: block;
        width: 100%;
    }

    .cont-datos-persona .datos-visitas {
        width: calc(100% / 2 - 15px);
        margin: 5px 0;
    }

}    












/* ------------------------------------------------------ CANJEAR ------------------------------------------------------ */


.card-mis-visitas .tus-datos-personales.regala-fecha-hora .cont-datos-persona {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
  max-width: 300px;
}
.card-visita {
    clear: both;
}


.card-mis-visitas .tus-datos-personales .cont-datos-persona {
  display: flex;
  align-items: flex-start;
  gap: 0px 30px;
  flex-wrap: wrap;
  align-content: flex-start;
  padding-top: 10px;
}


.cont-mis-visitas-regalar .cont-datos-persona .datos-visitas {
    width: calc(100% / 2 - 30px);
    text-align: center;
}


.cont-mis-visitas-regalar .tus-datos-personales.regala-fecha-hora {
  display: flex;
  gap: 32px;
  justify-content: center;
  padding: 0 32px;
}


.cont-mis-visitas-regalar .tus-datos-personales.regala-fecha-hora .cont-datos-persona p {
  display: block;
  width: 100%;
  margin-bottom: 8px;
  text-align: center;
    text-transform: uppercase;
  font-size: 12px;
  color: #b39964;
  font-weight: 600;
  letter-spacing: 1px;
  font-family: "Myriad pro", sans-serif;

}


.form-checkboxes {
    margin-top: 50px;

}



.tus-datos-personales.regala-fecha-hora .cont-datos-persona p select {
  padding: 0 10px !important;
  height: 45px;
  line-height: 35px;
  letter-spacing: 0.03em;
  -webkit-appearance: none;
  font-size: 15px;
  border-radius: 2px;
  text-align: center;
}
.cont-mis-visitas-regalar .card-mis-visitas {
    border: 1px solid #E9E7E5;
}

.cont-mis-visitas-regalar .tus-datos-personales .datos-visitas p {
    text-transform: uppercase;
    font-size: 12px;
    color: #b39964;
    font-weight: 600;
    letter-spacing: 1px;
}


.cont-mis-visitas-regalar .tus-datos-personales .datos-visitas p strong{
    text-transform: initial;
    font-size: 12px;
    color: #333;
    font-weight: 800;
    letter-spacing: 1px;
}

.row {
    clear: both;
}

.cont-mis-visitas-regalar .card-visita.tus-datos-personales.datos-confirmar.datos_personales4.card-mis-visitas {
    margin-right: 0;
    margin-left: 0;
    width: 100%;
}

.card-mis-visitas .text-expli {

} 

.btn-solid-main {
  padding: 14px 40px;
  text-transform: uppercase;
  letter-spacing: 1px;
  font-weight: 700;
  font-size: 13px;
  background: none;
    background-color: rgba(0, 0, 0, 0);
  background-color: rgba(0, 0, 0, 0);
  border: 1px solid #000;
  color: #000;
  -webkit-transition: all 0.3s ease-in-out;
  -moz-transition: all 0.3s ease-in-out;
  -o-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}

.btn-solid-main:hover {
    background-color: #000;
    color: #fff;
}

h5.title-visit {
    text-align: center;
    font-weight: 600;
    font-size: 18px;
    text-transform: uppercase;

}

h5.title-visit .name-visit-resume { 
    font-weight: 800;

}

.card-mis-visitas .text-expli {
    max-width: initial !important;
    text-align: center;
    width: 100%;
}  

.vuelta-pago.vuelta-pago-ok {
    text-align: center;
    padding-top: 50px;
}  

.card-visita.boton-pago-imprimir.botones_completar_reserva form {
        display: flex;
        justify-content: space-between;
}

.fechas-cambio input {
    text-align: center;
}

/*.checkbox.acepto-condiciones {
    margin-left: 30px;
} */

@media only screen and (max-width: 720px) {



    .cont-mis-visitas-regalar .tus-datos-personales.regala-fecha-hora .cont-datos-persona {
        display: flex;
        flex-wrap: wrap;
        width: 100%;
        max-width: 300px;

        align-items: flex-start;
        gap: 0px 30px;
        flex-wrap: wrap;
        align-content: flex-start;
        padding-top: 10px;
    }

    .cont-mis-visitas-regalar .cont-datos-persona .datos-visitas {
        width: 100%;
    }

    .tus-datos-personales.regala-fecha-hora {
        padding: 16px 0 0;
        flex-wrap: wrap;
        gap: 8px;
    }

    .tus-datos-personales.regala-fecha-hora input{
        text-align: center;
    }

    .card-visita.finalizar_compra.botones-mis-visitas {
        flex-wrap: wrap;
        gap: 5px;
        width: 100%;
        flex-flow: column-reverse;
        display: flex;
        text-align: center;
    }

    .btn-solid-main , .btn-solid-neutral {
        width: 100%;
    }


    .card-mis-visitas .linea_datos {
        width: 100%;
    }

    .card-visita.boton-pago-imprimir.botones_completar_reserva form .cierre-volver a{
        display: block;

    }

    .card-visita.boton-pago-imprimir.botones_completar_reserva form , .card-visita.finalizar_compra.finalizar_confirmacion.botones_completar_reserva {
        flex-wrap: wrap;
        gap: 5px;
        
        flex-flow: column-reverse;
        display: flex;
        text-align: center;
    }

}

/* ------------------------------------------------------ CANJEAR ------------------------------------------------------ */

.card-visita {
    clear: both;
}

.cont-mis-visitas-all.cont-mis-visitas-regalar {
    margin-right: 15px !important;
    margin-left: 15px !important;
}

.card-mis-visitas .tus-datos-personales .cont-datos-persona {
    display: flex;
    align-items: flex-start;
    gap: 0px 30px;
    flex-wrap: wrap;
    align-content: flex-start;
    padding-top: 10px;
}

.cont-mis-visitas-regalar .cont-datos-persona .datos-visitas {
    width: calc(100% / 2 - 30px);
    text-align: center;
}

.cont-mis-visitas-regalar .cont-datos-persona .datos-visitas-resumen,
.cont-mis-visitas-regalar .regala-fecha-hora .cont-datos-persona {
    width: calc(100% / 5 - 30px);
    text-align: left;
}

.cont-mis-visitas-regalar .cont-datos-persona .datos-usuario-modificar {
    width: calc(100% / 4 - 30px);
    text-align: left;
}

.cont-mis-visitas-regalar .tus-datos-personales.regala-fecha-hora {
    display: flex;
    gap: 30px;
    justify-content: start;

}


#cupones h2.title-no-card {
    font-size: 16px;
    line-height: 25px;
    font-family: Anton;
    letter-spacing: 0px;
    font-weight: 400;

}


.condiciones_servicio .checkbox {
    margin-left: 20px;
}

.fechas-cambio #FechasCalendario {
    text-align: center;
    background: #f7f7f7;
    color: #000;
    font-weight: 800;
}

.cont-mis-visitas-regalar .cuerpo_servicio {
    background: none;
    padding: 30px;
}

.tus-datos-personales.regala-fecha-hora .cont-datos-persona p select {
    padding: 0 10px !important;
    height: 45px;
    line-height: 35px;
    letter-spacing: 0.03em;
    -webkit-appearance: none;
    font-size: 15px;
    border-radius: 2px;
    text-align: center;
    color: #000;
    font-weight: 800;
    background: #f7f7f7;
    box-shadow: none !important;
}

.cont-mis-visitas-regalar .card-mis-visitas {
    border: 1px solid #E9E7E5;
}

.cont-mis-visitas-regalar .tus-datos-personales .datos-visitas p,
.cont-mis-visitas-regalar .tus-datos-personales.regala-fecha-hora p {
    width: 100%;
    text-transform: uppercase;
    font-size: 14px;
    color: #b39964;
    font-weight: 600;
    letter-spacing: 1px;
}

.cont-mis-visitas-regalar .tus-datos-personales .datos-visitas p strong {
    text-transform: initial;
    font-size: 14px;
    color: #333;
    font-weight: 800;
    letter-spacing: 1px;
}

.cont-mis-visitas-regalar .tus-datos-personales .datos-visitas-resumen p {
    text-transform: uppercase;
    font-size: 14px;
    color: #b39964;
    font-weight: 600;
    letter-spacing: 1px;
}

.cont-mis-visitas-regalar .tus-datos-personales .datos-visitas-resumen p strong {
    text-transform: initial;
    font-size: 14px;
    color: #333;
    font-weight: 800;
    letter-spacing: 1px;
}

.cont-mis-visitas-regalar .tus-datos-personales .datos-usuario-modificar p {
    text-transform: uppercase;
    font-size: 14px;
    color: #b39964;
    font-weight: 600;
    letter-spacing: 1px;
}

.cont-mis-visitas-regalar .tus-datos-personales .datos-usuario-modificar p strong {
    text-transform: initial;
    font-size: 14px;
    color: #333;
    font-weight: 800;
    letter-spacing: 1px;
}

.row {
    clear: both;
}

.cont-mis-visitas-regalar .card-visita.tus-datos-personales.datos-confirmar.datos_personales4.card-mis-visitas {
    margin-right: 0;
    margin-left: 0;
    width: 100%;
}


.cuerpo_servicio.condiciones_servicio .checkbox label,
.cuerpo_servicio.condiciones_servicio .checkbox .radio label {
    padding-left: 4px;
}



.btn-solid-main {
    padding: 14px 40px;
    text-transform: uppercase;
    letter-spacing: 1px;
    font-weight: 700;
    font-size: 13px;
    background: none;
    background-color: rgba(0, 0, 0, 0);
    background-color: rgba(0, 0, 0, 0);
    border: 1px solid #000;
    color: #000;
    -webkit-transition: all 0.3s ease-in-out;
    -moz-transition: all 0.3s ease-in-out;
    -o-transition: all 0.3s ease-in-out;
    transition: all 0.3s ease-in-out;
    border-radius: 30px;
}

.btn-solid-main:hover {
    background-color: #000;
    color: #fff;
}

h5.title-visit {
    /*text-align: center;*/
    font-weight: 600;
    font-size: 18px;
    text-transform: uppercase;
}

h5.title-visit .name-visit-resume {
    font-weight: 800;
}

.card-mis-visitas .text-expli {
    max-width: initial !important;
    text-align: left;
    width: 100%;
}

.vuelta-pago.vuelta-pago-ok {
    text-align: center;
    text-align: center;
    background: white;
    padding: 40px 20px;
    float: left;
    width: 100%;
}

.card-visita.boton-pago-imprimir.botones_completar_reserva form {
    display: flex;
    justify-content: space-between;
}

.card-visita.boton-pago-imprimir.botones_completar_reserva form input {
    border-radius: 30px !important;
    padding: 14px 40px !important;
    font-size: 13px;
}

.fechas-cambio input {
    text-align: center;
}

.card-visita.boton-pago-imprimir.botones_completar_reserva {
    background: none;
}

.text-info-vuelta strong {
    font-family: "Anton", sans-serif;
    color: #c59f4f;
}

.card-mis-visitas .tus-datos-personales.regala-fecha-hora .cont-datos-persona {
    display: flex;
    flex-wrap: wrap;

}

.text-info-vuelta {
    font-size: 25px;
}

.cont-datos-persona.fechas-cambio label {
    display: none;
}

.cuerpo_servicio.condiciones_servicio {
    background: white;
    margin-bottom: 30px;
}

.card-visita.finalizar_compra.botones-mis-visitas {
    background: white;
    padding: 20px;
    margin: 0;
    width: 100%;
}

@media only screen and (max-width: 720px) {
    .cont-mis-visitas-all.cont-mis-visitas-regalar {
        margin-right: 0;
        margin-left: 0;
    }

    .info-visita-detalle h1 {
        text-align: center;
    }

    .card-visita.botones_completar_reserva .finalizar_compra {
        flex-wrap: wrap !important;
        gap: 5px;
        width: 100%;
        flex-flow: column-reverse;
        flex-wrap: nowrap;
    }

    .card-visita.botones_completar_reserva input {
        width: 100%;
        margin-bottom: 20px;
    }

    .cont-mis-visitas-regalar .tus-datos-personales.regala-fecha-hora .cont-datos-persona {
        display: flex;
        flex-wrap: wrap;
        width: 100%;

        align-items: flex-start;
        gap: 0px 30px;
        flex-wrap: wrap;
        align-content: flex-start;
        padding-top: 10px;
    }

    .cont-mis-visitas-regalar .cont-datos-persona .datos-visitas {
        width: 100%;
    }

    .tus-datos-personales.regala-fecha-hora {
        padding: 16px 0 0;
        flex-wrap: wrap;
        gap: 8px;
    }

    .tus-datos-personales.regala-fecha-hora input {
        text-align: center;
    }

    .card-visita.finalizar_compra.botones-mis-visitas {
        flex-wrap: wrap;
        gap: 5px;
        /*width: 100%;*/
        flex-flow: column-reverse;
        display: flex;
        text-align: center;
    }

    .btn-solid-main,
    .btn-solid-neutral {
        width: 100%;
    }

    .card-mis-visitas .linea_datos {
        width: 100%;
    }

    .card-visita.boton-pago-imprimir.botones_completar_reserva form .cierre-volver a {
        display: block;
    }

    .card-visita.boton-pago-imprimir.botones_completar_reserva form {
        flex-wrap: wrap;
        gap: 5px;
        width: 100%;
        flex-flow: column-reverse;
        display: flex;
        text-align: center;
    }

    .botones-mis-visitas input {
        width: 100%;
    }
}






@media only screen and (max-width: 767px) {

    .cont-mis-visitas-regalar .cont-datos-persona .datos-visitas-resumen,
    .cont-mis-visitas-regalar .regala-fecha-hora .cont-datos-persona {
        width: 100%;
    }

}

.servicio_bloque .aviso-no-plazas {
    height: 60px;
    line-height: 37px;
    width: 80% !important;
    margin-left: 10% !important;
    margin-top: -250px !important;
}

/* aviso no hay plazas */

.aviso-no-plazas {
    text-align: center;
    color: #fff;
    font-family: "Anton", sans-serif;
    letter-spacing: 2px;
    font-size: 36px;
    transform: rotate(-20deg);
    display: inline-block;
    padding: 10px !important;
    margin-top: -10px;
    background-color: rgba(179, 153, 100, 0.9) !important;
    margin-top: -200px !important;
    z-index: 99999;
    width: 60% !important;
    margin-left: 15% !important;
    border: 2px solid #fff;
}

/* fin aviso no hay plazas */

.tarifa_oculta{
    display: none;
}


/* banner regala */
#banner-regala {
    transition: var(--transition);
    margin: 60px 0 60px 0;
    text-align: center;
    position: relative;
    cursor: pointer;
    max-height: 350px;
    /* border: 2px solid var(--secondary); */ 
    background-color: #f6f2eb;
    height: 225px;
    border-radius: 10px;

}

#banner-regala:empty {
    display: none;
}

#banner-regala:hover {
    transform: scale(0.99);
}

#banner-regala .img-banner-regala {
    overflow: hidden;
    position: absolute;
    height: 300px;
    width: 300px;
    left: 3.2%;
    border-radius: 50%;
    border: 12px solid #f6f2eb;
    z-index: 3;
    top: -35px;
}

#banner-regala img {
    transition: var(--transition);
    display: inline-block;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover;
    object-position: center;
}

#banner-regala:hover img {
    -webkit-transform: scale(1.02);
    -moz-transform: scale(1.02);
    -ms-transform: scale(1.02);
    -o-transform: scale(1.02);
    transform: scale(1.02);
}

#banner-regala .text-banner-regala {
    position: relative;
    float: right;
    margin: 0;
    width: calc(100% - 322px);
    height: 100%;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    z-index: 2;
}

#banner-regala h3 {
    color: var(--secondary);
    font-family: var(--typo-primary);
    font-size: 45px;
    letter-spacing: 0.1em;
    line-height: 1.1;
    border-bottom: 1px solid var(--secondary);
    border-top: 1px solid var(--secondary);
    margin: 0.5rem;
    padding: 9px 0 3px 0;
}

#banner-regala h3 span {
    display: block;
    font-family: var(--typo-secondary);
    font-size: 16px;
    letter-spacing: 10px;
    text-transform: inherit;
}

#banner-regala .boton-banner {
    position: absolute;
    z-index: 2;
    top: 0;
    left: 0;
    margin: 0;
    width: 100%;
    height: 100%;
    transition: var(--transition);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0px 40px;
}

#banner-regala:hover .boton-banner {
    /*backdrop-filter: blur(2px);*/
    /*background-color: rgba(var(--black-rgb), .4);*/
}


@media only screen and (max-width: 767px) {

    #banner-regala {
        transition: var(--transition);
        margin: 30px 0;
        text-align: center;
        position: relative;
        cursor: pointer;
        max-height: 180px;
        border: 2px solid var(--secondary);
        background-color: #ffffff;
        height: 161px;

    }


    #banner-regala .img-banner-regala {
        height: 200px;
        width: 200px;
        left: 1.2%;
        top: -22px;
    }

    #banner-regala h3 {
        font-size: 1.6em;
    }

    #banner-regala h3 span {
        font-size: 18px;
        letter-spacing: 5px;
    }

    #banner-regala {
        max-height: 261px;
    }

    #banner-regala .text-banner-regala {
        width: calc(100% - 195px);
    }


}



/* fin banner regala */