body {
font-family:Tahoma, Geneva, sans-serif;
background:#dbdbdb;
}
.uso-extendido-fuente-especial,
.uso-extendido-fuente-especial input,
.uso-extendido-fuente-especial button,
.uso-extendido-fuente-especial select,
.uso-extendido-fuente-especial textarea,
h1, h2, h3, h4,
.paginas_titulo,
.fuente_especial,
.fuente-especial {
font-family:'Quicksand';
}
a, h1, h2, h3, h4,
.spg_listado_titulo a:hover,
.wof_1_precio,
.wof_5_precio,
.wof_6_precio,
.wof_2_precio
{
color :#454545;
}
/*.sof_articulo_descripcion >p a,*/
ul.wfo_1 li:hover a,
ul.wfo_2 li:hover a,
a.wof_2_oferta:hover,
a:hover .wof_1_precio,
a:hover .wof_5_precio,
a:hover .wof_6_precio,
a:hover .wof_1_resumen,
a:hover .wof_6_resumen,
a:hover .wof_2_resumen,
a:hover .wof_2_precio,
a:hover,
.wof_3_precio,
.spg_listado_titulo a {
color:#3559db;
}
nav,
nav li,
.nav-responsive-button,
nav ul li a {
background:#454545;
color:white;
}
.nav-responsive-button:hover,
nav ul li a:hover {
background:#3559db;
color:white;
}
.menu-invertido nav,
.menu-invertido nav li,
.menu-invertido .nav-responsive-button,
.menu-invertido nav ul li a {
background:#3559db;
color:white;
}
.menu-invertido .nav-responsive-button:hover,
.menu-invertido nav ul li a:hover {
background:#454545;
color:white;
}
ul.wfo_2 li:hover,
ul.wfo_1 li:hover,
ul.wof_1 li:hover,
ul.wpg_1 li:hover,
ul.sof_listado li:hover,
ul.spg_listado li:hover,
ul.sfo_listado li:hover,
.wpa_2 a:hover {
border-color: #3559db;
}
.link-boton,
.btn-plano,
.btn-booking,
a.sof_listado_btn_detalles,
.sof_articulo_acciones a,
.sof_articulo_acciones button.btn-pagar,
a.spg_btn_detalles {
color: #FFFFFF;
background:#454545;
}
.link-boton:hover,
.btn-plano:hover,
.btn-booking:hover,
a.sof_listado_btn_detalles:hover,
.sof_articulo_acciones a:hover,
.sof_articulo_acciones button.btn-pagar:hover,
a.spg_btn_detalles:hover {
color: #FFFFFF;
background:#3559db;
}
a:hover .wof_3_titulo {color: #3559db; }
.border_1 {border-color: #454545; }
.border_2 {border-color: #3559db; }
.border_left_1 {border-left-color: #454545; }
.border_left_2 {border-left-color: #3559db; }
.border_right_1 {border-right-color: #454545; }
.border_right_2 {border-right-color: #3559db; }
.border_bottom_1 {border-bottom-color: #454545; }
.border_bottom_2 {border-bottom-color: #3559db; }
.color_1 {color:#454545; }
.color_2 {color:#3559db; }
.color_3 {color:#dbdbdb; }
.fondo_1, .background_1 {background:#454545; }
.fondo_2, .background_2 {background:#3559db; }
.fondo_3, .background_3 {background:#dbdbdb; }
.fondo_2 a, .background_2 a {color:#454545; }
.fondo_2 a:hover, .background_2 a:hover {color:#454545; }
.fondo_1 a, .background_1 a {color:#3559db; }
.fondo_1 a:hover, .background_1 a:hover {color:#3559db; }
.btn_1 {background:#3559db; color: #FFFFFF; }
.btn_1:hover {background:#454545; }
.btn_2 {background:#454545; color: #FFFFFF; }
.btn_2:hover {background:#3559db; }
label.step { color: rgba(53,89,219,.65); }
/* NAV */
nav.current-hilight a.current { background-color: #3559db; }
/* #SLIDERSHOW */
.slider_texto { background-color: #454545; }
.background-inverse .slider_texto { background-color: #3559db; }
/* WOF */
.wof_2_precio,
.wof_3_precio
{
background-color: #454545;
}
.sof_listado_imagen,
.wof_1 li:hover .wof_1_precio,
.wof_5 li:hover .wof_5_precio,
.wof_6 li:hover .wof_6_precio,
.wof_2_imagen,
a:hover .wof_2_imagen,
.wof_2_oferta:hover .wof_2_precio,
.wof_3:hover .wof_3_precio,
.wof_3_contenedor,
.wpa_1 li a
{
background-color: #3559db;
}
#forma_pago label:hover {
background-color: rgba(53,89,219,.1);
}
/* PAGINAS */
.spg_listado .span2:first-child { color: #3559db; }
.spg_listado.wrapper li:hover { background-color: rgba(53,89,219,.15); }
/* RESERVAS Y LISTA-COMPACTA */
.lista-compacta li:hover { background-color: rgba(53,89,219,.15); }
/* FORM */
.form-a .banner_booking_bar label > input,
.form-a .filtros_opciones select[class*="span"],
.form-a select[class*="span"],
.form-a input:not([type="submit"])[class*="span"],
.form-a textarea[class*="span"]
{
color: #454545;
background-color: rgba(53,89,219,.05);
box-shadow: 0 0 0 1px rgba(53,89,219,.25);
border-color: #3559db;
}
.form-a .banner_booking_bar label > input:focus,
.form-a select[class*="span"]:focus,
.form-a input:not([type="submit"])[class*="span"]:focus,
.form-a textarea[class*="span"]:focus
{
box-shadow: 0 0 10px rgba(53,89,219,.25);
}
.form-a label { color: #3559db; }
.form-a label.error { color:inherit; }
.form-a label.step span { color: #454545; }
/*------*/
.form-b .banner_booking_bar label > input,
.form-b .filtros_opciones select[class*="span"],
.form-b select[class*="span"],
.form-b input:not([type="submit"])[class*="span"],
.form-b textarea[class*="span"]
{
color: #3559db;
background-color: rgba(53,89,219,.05);
box-shadow: 0 2px 0 0 rgba(53,89,219,.75);
border-color: #3559db;
}
/*------*/
.form-c .banner_booking_bar label > input,
.form-c .filtros_opciones select[class*="span"],
.form-c select[class*="span"],
.form-c input:not([type="submit"])[class*="span"],
.form-c textarea[class*="span"]
{
color: #3559db;
background-color: rgba(53,89,219,.1);
border-color: #3559db;
}
/* BODY GRADIENTS */
body.body-grad-a {
background: linear-gradient(rgba(53,89,219,.1), rgba(53,89,219,.3));
background-attachment: fixed;
}
body.body-grad-b {
background: linear-gradient(rgba(53,89,219,.3), rgba(53,89,219,.1));
background-attachment: fixed;
}
body.body-grad-c {
background: linear-gradient(rgba(53,89,219,.3), rgba(53,89,219,.0));
background: linear-gradient(rgba(53,89,219,.3), #dbdbdb);
background-attachment: fixed;
}
body.body-grad-d {
background: linear-gradient(rgba(53,89,219,.0), rgba(53,89,219,.3));
background: linear-gradient(#dbdbdb, rgba(53,89,219,.3));
background-attachment: fixed;
}
/* ENCABEZADOS */
.h1-a #contenido >div >h1,
.h1-a .portada >div >h2 { background: #454545; }
.h1-a h1+.breadcrumb {color: white; background: #454545; }
.h1-a h1+.breadcrumb a {color: white; }
.h1-a h1+.breadcrumb > li + li:before {color: rgba(255, 255, 255, 0.5); }
.h1-b #contenido >div >h1,
.h1-b .portada >div >h2 { background: #3559db; }
.h1-b h1+.breadcrumb {color: white; background: #3559db; }
.h1-b h1+.breadcrumb a {color: white; }
.h1-b h1+.breadcrumb > li + li:before {color: rgba(255, 255, 255, 0.5); }
.h1-c #contenido >div >h1,
.h1-c .portada >div >h2 { color: #3559db; border-color: rgba(53,89,219,.25); }
.h1-a h1+.breadcrumb,
.h1-b h1+.breadcrumb { top: -1.75em; margin: 5px -20px -5px -20px; padding: 0 20px 10px; border-radius: 0; }
/* CHECKBOX Y RADIO */
.radio-default input[type="radio"] + label::after { background-color: #3559db; }
.radio-default input[type="radio"]:checked + label::before { border-color: #3559db; }
.radio-default input[type="radio"]:checked + label::after { background-color: #3559db; }
.checkbox-default input[type="checkbox"]:checked + label::before,
.checkbox-default input[type="radio"]:checked + label::before { background-color: #3559db; border-color: #3559db; }
.checkbox-default input[type="checkbox"]:checked + label::after,
.checkbox-default input[type="radio"]:checked + label::after { color: #fff; }
.botones-planos .btn.btn-default { background: #3559db; color: white; }
.botones-planos .btn.btn-default:hover { opacity: .8; }
/*.lista-compacta-categorias .texto_oferta_tags a,
.lista-compacta-categorias .texto_oferta_categorias a { color: #454545; }*/
.lista-compacta-categorias .texto_oferta_tags a:hover,
.lista-compacta-categorias .texto_oferta_categorias a:hover { color: #3559db; box-shadow: 0 0 1px rgba(53,89,219,.75); }
/* CUSTOM SLIDERS */
.ui-widget-header { background: #3559db; }
.noUi-connect { background: #3559db; }
.noUi-handle:after, .noUi-handle:before,
#slider-precio-minimo .noUi-origin,
#slider-precio-maximo .noUi-base { background: #3559db; border-radius:3px; }
#slider-precio-maximo .noUi-origin { background: #fafafa; }
.noUi-handle { border: 1px solid #3559db; }
/* LISTADO OFERTAS PANELES */
.listado-ofertas-paneles .span2.sof_listado_detalles {
background: rgba(53,89,219, 0.4);
}
/* WOF_4 COLOR PRECIO */
.slide p.slide-oferta-precio { background: rgba(53,89,219,1); }
#tema-19 .slide p.slide-oferta-titulo { color: #3559db; }
/* ACORDEON */
.mini-acordeon-header { color: #454545; }
.mini-acordeon-header:hover { color: #3559db; }
.mini-acordeon-header.active { background: #3559db; color: white; }
.mini-acordeon-header.active:hover { background: rgba(53,89,219,.8); }
/* SELECCION DE TEXTO */
::selection { background: rgba(53,89,219,.25); }
/* CUSTOMS DE TEMAS */
/*.menu-agrupado nav ul ul li a:hover { color: #3559db; }*/
/* DATEPICKER COLORS */
.datepicker td.active,
.datepicker td.active:hover,
.datepicker td span.active {
background-color: #3559db;
background-image: linear-gradient(0deg, #3559db, #3559db);
}
/* CUSTOM CSS */
.aviso-edad {
  width: 96% !important;
  float: none;
  clear: both;
  padding: 1.5%;
  color: #000000;
  background: #fff8d9;
  border: 1px solid #c1c1c1;
  border-radius: 3px;
}


/* IMAGE FIT */
.image-fit > p { margin: 0; }
.h-300 { height: 300px; }
.h-400 { height: 400px; }
.h-500 { height: 500px; }
.h-600 { height: 600px; }
.h-700 { height: 700px; }

.bg-tx::before {
  content: '';
  position: absolute;
  background: #3658d4;
  opacity: 0.5;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;  
  z-index:-1; /* quedarÃ­a detras de otros elementos a continuaciÃ³n */
}

.flex-center {
  display: flex;
  justify-content: center;
  align-items: center;
}

.wh-100 {
  width: 100%;
  height: 100%;  
}

.title-white {
  font-size: 45px;
  line-height: 1em;
  color: white;
  text-shadow: 0 0 5px black;
}

.img-square-200.image-fit {
  aspect-ratio: 1 / 1;
  width: 90%;
  height: auto;
  border-radius: 50%;
  border: 6px solid white;
  box-shadow: 0 0 2px rgb(0 0 0 / 15%);  
  margin: auto;
}

.square-img {
  aspect-ratio: 1 / 1;
  border: 10px solid white;
}
.circle-img {
  aspect-ratio: 1 / 1;
  border-radius: 50%;
  border: 10px solid white;
}

.ty-50p {
  transform: translateY(-50%);
  margin-bottom: -50%;
}

.ty-150u { transform: translateY(-150px); }
.ty-150u { transform: translateY(-150px); }
.ty-100u { transform: translateY(-100px); }
.ty-50u  { transform: translateY( -50px); }

/** GRID **/
.grid-4 {
  display: grid;
  grid-template-columns: repeat(4, 250px);
  grid-template-columns: repeat(4, min(300px, 25%));
  grid-gap: 20px;
  max-width: 980px;
  margin: auto;
  justify-content: center;
  /*transform: translateY(-150px);*/
  /*margin-bottom: -130px;  */
}
.grid-4 .item {
  background: white;
  padding: 20px;
  text-align: center;
  border-radius: 10px;
  box-shadow: 0 0 2px rgb(0 0 0 / 15%);

  /* flex space between columns */
  display: flex;
  flex-direction: column;
  justify-content: space-between;  
}
.grid-4 .item strong {
}
.grid-4 .item h2 {
  /*font-family: 'Abril Fatface';*/
  /*font-size: 24px;*/
  /*line-height: 1em;*/
}

@media (max-width:1200px) {
  .grid-4 {
    grid-template-columns: repeat(2, min(300px, 45%));
    
  }
}
@media (max-width:650px) {
  .grid-4 {
    grid-template-columns: repeat(1, min(300px, 95%)) !important;
  }
}

.grid-3 {
  display: grid;
  grid-template-columns: repeat(3, 275px);
  grid-gap: 20px;
  max-width: 980px;
  margin: auto;
  justify-content: center;
  /*transform: translateY(-150px);*/
  /*margin-bottom: -130px;    */
}
.grid-3 .item {
  background: white;
  padding: 20px;
  text-align: center;
  border-radius: 10px;
  box-shadow: 0 0 2px rgb(0 0 0 / 15%);
  /*margin-top: -150px;*/
  /* flex space between columns */
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  /* margin-bottom: 40%; */
}
.grid-3 .item strong {
}
.grid-3 .item h2 {
  /*font-family: 'Abril Fatface';*/
  /*font-size: 30px;*/
  /*line-height: 1em;*/
}

@media (max-width:1200px) {
  .grid-3 {
    grid-template-columns: repeat(3, min(275px, 30%));
  }
}
@media (max-width:750px) {
  .grid-3 {
    grid-template-columns: repeat(1, min(275px, 95%)) !important;
  }
  .grid-3 .item .ty-50p {
    transform: inherit;
    margin-bottom: inherit;
  }
}











/* PERSONALIZAR COLORES DE PRECIOS EN CUSTOM PAGOS CON CLASES */
em.dp-temporada-ultimas,
em.dp-temporada-domingos { background: #f0ffb4; border:1px dashed; border-radius:10px; }
em.dp-temporada-especial { background: #d1ffb4; border:1px dashed; border-radius:10px; }

.active em.dp-temporada-especial,
.active em.dp-temporada-ultimas,
.active em.dp-temporada-domingos { color: #3658d4; text-shadow: none;}

.dia-temporada-especial { font-weight: bold; background: #f5f4fa; color: #3658d4; }

.day.imp { position: relative; font-weight: bold; background: #f5f4fa; color: #3658d4; }
.day.imp:before { content: '!!!'; position: absolute; top: 0; right: 4px; color: #3758d4; letter-spacing: 1px; font-weight: bold; }

.pvp-container .pvp-importe,
.pvp-container .pvp-divisa-container {
  /*opacity:0;*/
  transition: opacity .9s;
}
.divisa-loaded .pvp-container .pvp-importe,
.divisa-loaded .pvp-container .pvp-divisa-container {
  opacity:1;
}

.menu-divisas-container {
    position: absolute;
    left: 20px;
    top: 10px;
}
.menu-divisas {
    margin: 0;
    padding: 0;
}
.menu-divisas-item {
  display: inline-block;
  margin-right: 5px;
  padding: 0px 0px;
  padding-right: 10px;
  font-size: 12px;
  font-weight: bold;
  border-right: 1px dashed #80808054;
}
.menu-divisas-item a {
  opacity: 0.7;
}
.menu-divisas-item a.active {
  opacity: 1;
  color: rgba(53,89,219,1);
}
.menu-divisas-item:last-child {
  border: none;
  margin: 0;
  padding: 0;
}
.menu-divisa-title {
  display: block;
  font-size: 12px;
}

.pvp-divisa-changed {
  background-color:yellow !important;
  color: black !important;
  text-shadow: none !important;
}

.pax.active {
  display: block;
  box-shadow: 0 0 2px #89a2fb;
  /*margin: 0.5%;*/
  background: #89a2fb1a;
  padding: 10px 20px 15px;
  /*width: 48%;*/
  /*float: left;*/
  box-sizing: border-box;
  
  margin: 10px 0;
  width: 100%;
}
.pax.active p {
  /*width: 99%;*/
}

.jsfrm-pago-pax-extras-importe {
  opacity: 0;
  transition: all .3s;
/*   margin-left: .5em; */
  padding: 3px 12px;
/*   border-radius: 20px 3px 3px 20px; */
  transform: rotate(0deg);
  display: inline-block;
  position:absolute;
  top:-3px;
}
input:checked + label .jsfrm-pago-pax-extras-importe,
label:hover .jsfrm-pago-pax-extras-importe {
  opacity: 1;
  margin-left: .5em;
  font-weight: bold;
  color: white;
  background: #89a2fb;
  padding: 3px 12px;
  border-radius: 20px 3px 3px 20px;
  box-shadow: 0 0 0px 4px #b5c6ff;
  transform: rotate(0deg) translateX(10px);
  display: inline-block;
  position:absolute;
  top:-3px;
}

input:checked + label .jsfrm-pago-pax-extras-importe {
  background: #8ebf87;
  box-shadow: 0 0 0px 4px #a9e2a0;  
}


.jsfrm-pago-pax-extras-importe-separador { display:none; }
.jsfrm-pago-pax-extras-importe-cero { opacity: 0; }
.jsfrm-pago-pax-extras-importe-negativo { opacity: 0; /*color:#80b7b3;*/ }


#jsfrm-pago-total {
    background: #89a2fb;
    color: white;
    font-weight: bold;
    font-size: 18px;
    text-align: right;
}

label[for=jsfrm-pago-total] {
    font-weight: bold;
    color: #3559db;
}

#importe-del-viaje {
    background: #80b7b3;
    color: white;
    font-weight: bold;
    font-size: 18px;
    text-align: right;
}

label[for=importe-del-viaje] {
    font-weight: bold;
    color: #80b7b3;
}


/** MENU BUSCAR **/
/* ICONO */
nav ul li a[href="#search"]::before {
  content: "\f002";
  float: left;
  margin-right: 12px;
  position: relative;
  top: 3px;
  
  display: inline;
  width: auto;
  height: auto;
  line-height: normal;
  vertical-align: baseline;
  background-image: none;
  background-position: 0% 0%;
  background-repeat: repeat;
  margin-top: 0;
}

/* MODAL BUSQUEDA */
.modal-opened { overflow: hidden; }

.modal-busqueda {
  display: none;
}

.modal-busqueda.show {
  display: block;
  position: fixed;
  top: 0;
  bottom:0;
  left:0;
  right:0;
  z-index: 9999;
  width: 100%;
  height: 100%;
  background: #1f2b40d1;
  display: flex;
  justify-content: center;
  align-items: center;
}

.modal-busqueda .input-busqueda {
/*   padding: 20px; */
}

input.span.input-busqueda {margin: 0px;}

button.btn-busqueda {
  padding: 18px 30px;
  font-size: 16px;
  border-radius: 0 10px 10px 0 !important;
  border: 3px solid black;
  border-left: none !important;
}
input.input-busqueda {
  font-size: 16px;
  padding: 18px 20px !important;
  border-radius: 10px 0 0 10px !important;
  border: 3px solid black !important;
  border-right: none !important;
}

a.busqueda-cerrar {
  position: fixed;
  top: 0;
  color: white;
  padding: 20px;
  right: 0;
  font-size: 25px;
}

/**
.js-filtrar-ofertas { display: none; }

.js h1+.sof_listado:not(.ready) {
    max-height: 210px;
    height: 210px;
    overflow: hidden;
    position: relative;
}
.js h1 + .sof_listado:not(.ready) + .pagination { display: none; }

.js .sof_listado ~ .alert.alert-info { display:none; }

.js h1+.sof_listado:not(.ready):before {
    content: '';
    background: white url('/img/bx_loader.gif') no-repeat 50% 50%;
    display: block;
    width: 100%;
    height: 210px;
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    z-index: 999;
}
**/


li.ofertas.nueva .span3.sof_listado_imagen::after,
li.ofertas.nuevo .span3.sof_listado_imagen::after,
li.ofertas.cancelada .span3.sof_listado_imagen::after,
li.ofertas.cancelado .span3.sof_listado_imagen::after,
li.ofertas.ultimas .span3.sof_listado_imagen::after,
li.ofertas.ultimas-plazas .span3.sof_listado_imagen::after {
  position: absolute;
  top: 5px;
  right: 5px;
  z-index: 1;
  padding: 10px 20px;
  border-radius: 5px;
  pointer-events: none;
}

li.ofertas.nueva .span3.sof_listado_imagen::after,
li.ofertas.nuevo .span3.sof_listado_imagen::after {
  content: 'NUEVO VIAJE';
  background-color: #0faa5b;
  color: white;
}
li.ofertas.cancelada .span3.sof_listado_imagen::after,
li.ofertas.cancelado .span3.sof_listado_imagen::after {
  content: 'CANCELADO';
  background-color: #908a8a;
  color: white; 
}
li.ofertas.ultimas .span3.sof_listado_imagen::after,
li.ofertas.ultimas-plazas .span3.sof_listado_imagen::after {
  content: 'ÚLTIMAS PLAZAS';
  animation: bg-ultimas 2s infinite linear;
  background-color: #dd4911;
  color: white;
}

@keyframes bg-ultimas {
   0%  { background: #be3000; }
  50%  { background: #fc8700; }
 100%  { background: #be3000; }
}