.cabecera {
	position: relative;
	padding: 30px 0;
	background: #8a2432;
	z-index: 2
}

.imagen img, .logo img, .img img{
	display: block;
	width: auto;
	height: auto;
	max-width: 100%;
	max-height: 100%;
}

.foto{
	display: block;
	overflow: hidden; 
}

.cabecera .izquierda{
	float: left;
}

.cabecera .izquierda .logo{
	display: block;
	max-width: 389px;
}

.cabecera .derecha{
	float: right;
}

.cabecera .derecha .idiomas_redes, .cabecera .derecha .menu  {
    text-align: right;
    margin-top: 10px;
}

.cabecera .derecha .menu {
	margin-top: 108px;
	/*margin-top: 50px;*/
}

.cabecera .derecha .menu ul, .cabecera .derecha .idiomas_redes .desplegable_idiomas{
    padding: 0;
    margin: 0;
}

.cabecera .derecha .menu li, .cabecera .derecha .idiomas_redes .desplegable_idiomas li {
    display: inline-block;
    position: relative;
    vertical-align: top;
    margin-right: 60px;
    color: #ffffff;
    line-height: 1.6;
}

.cabecera .derecha .menu li:last-child, .cabecera .derecha .idiomas_redes .desplegable_idiomas li:last-child{
	margin-right: 0;
	padding-right: 0;
}

.cabecera .derecha .menu li a, .cabecera .derecha .idiomas_redes .desplegable_idiomas li a {
    position: relative;
    font-size: 1.667em;
    font-weight: 400;
    color: currentColor;
    text-decoration: none;
}

.cabecera .derecha .idiomas_redes .desplegable_idiomas li{
	margin-right: 15px;
	padding-right: 15px;
}

.cabecera .derecha .idiomas_redes .desplegable_idiomas li a{
	display: inline-block;
	position: relative;
	width: 45px;
	height: 45px;
	line-height: 45px;
	text-align: center;
	font-weight: 600;
}

.cabecera .derecha .menu li a:after{
	content: '';
	position: absolute;
	bottom: 0;
	left: 0;
	width: 0;
	height: 2px;
	background: #ffffff;
	transition: all 250ms linear;
}

.cabecera .derecha .menu li.sel a:after{
	width: 100%;
}

.cabecera .derecha .idiomas_redes .desplegable_idiomas li.sel a{
	background: #776d4e;
}

.cabecera .derecha .idiomas_redes .desplegable_idiomas li:after {
    content: '';
    position: absolute;
    right: 0;
    top: 13px;
    width: 2px;
    height: 18px;
    background: #ffffff;
    transform: rotate(25deg);
}

.cabecera .derecha .idiomas_redes .desplegable_idiomas li:last-child:after{
	display: none;
}

.cont_banners, .banners, .migas {
    position: relative;
    z-index: 1;
}

.banners .banner {
    position: relative;
    display: none;
    height: calc(100vh);
    height: calc(var(--vh, 1vh) * 100 - 200px);
    max-height: 750px;
    min-height: 750px;
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    z-index: 1;
}

.banners .banner:first-child {
    display: block;
}

.banners .banner:before{
	content: '';
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
}

.banners .banner .texto, .migas .miga .texto {
    position: absolute;
    text-align: center;
    left: 0;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    z-index: 1;
    max-width: 1150px;
}

.banners .owl-dots, .ficha.habitacion.gallery .inferior .secs .owl-dots {
    position: absolute;
    left: 0;
    right: 0;
    top: 65%;
    transform: translateY(-50%);
    margin: 0 auto;
    text-align: center;
}

.banners .owl-dots .owl-dot{
    position: relative;
    display: inline-block;
    vertical-align: middle;
    width: 10px;
    height: 10px;
    margin-right: 15px;
    border-radius: 50%;
    background: #ffffff;
    transition: all 250ms linear;
}

.banners .owl-dots .owl-dot.active{
    width: 20px;
    height: 20px;
}

.banners .owl-dots .owl-dot:last-child{
	margin-right: 0;
}

.banners .banner .texto .titulo, .migas .miga .texto .titulo{
	font-size: 5em;
	line-height: 1.3;
	color: #ffffff;
	letter-spacing: .5px;
	text-wrap: pretty;
}

.titulo a, .tit a{
	color: currentColor;
	text-decoration: none
}

.ancla{
	position: absolute;
	left: 0;
	right: 0;
	bottom: 30px;
	margin: 0 auto;
	text-align: center;
	width: 70px;
	height: 70px; 
	background: url('../img/web/flecha-down.svg') no-repeat center;
	background-size: 35px;
	background-color: #8a2432;
	border-radius: 50%;
	z-index: 3;
	text-indent: -9999px;
	overflow: hidden;
	filter: grayscale(0);
}

.contenido .titulo, .contenido .texto .subtitulo{
	font-size: 5em;
	line-height: 1.3;
	color: #8a2432;
	text-wrap: pretty;
}

.contenido .texto .subtitulo{
	font-size: 1.667em;
	color: #776d4e;
}

.contenido .texto .descripcion, .contenido .txt .descripcion{
	font-size: 2.083em;
	line-height: 1.8;
	color: #8a2432;
	letter-spacing: .5px;
	margin-top: 70px;
}

.contenido.presentacion{
	position: relative; 
	overflow-x: hidden;
}

.contenido.presentacion .imagen, .contenido.presentacion .texto{
	position: relative;
	display: inline-block;
	vertical-align: top;
	width: calc(55% - 17px);
	margin-right: 100px;
	z-index: 1;
}

.contenido.presentacion .texto{
	width: calc(45% - 83px);
	margin-top: 105px;
	margin-right: 0;
	padding-right: 10%;
	float: right;
}

.contenido.presentacion:after, .listado .item:after{
	content: '';
	position: absolute;
	bottom: 0;
	right: 0;
	width: 886px;
	height: 92px;
	background: url('../img/web/trama-color.svg') no-repeat bottom center;
	background-size: cover;
}

.contenido.presentacion .texto .enlace{
	margin: 80px 0 120px;
}

.boton {
    position: relative;
    display: inline-block;
    vertical-align: top;
    text-align: center;
    color: #ffffff;
    background: #8a2432;
    min-width: 140px;
    font-weight: 400;
    font-size: 2.083em;
    height: 40px;
    line-height: 40px;
    padding: 0 20px;
    border: 1px solid #8a2432;
    border-top-right-radius: 20px;
    border-bottom-right-radius: 20px;
}

.boton.inverso{
	color: #8a2432;
    background: #ffffff;
    border: 1px solid #ffffff;
}

.boton:after{
	content: '';
	position: absolute;
	top: 50%;
	right: 0;
	transform: translate(42px, -50%);
	width: 34px;
	height: 27px;
	background: url('../img/web/flecha-right.svg') no-repeat center;
	background-size: 34px;
	transition: all 250ms linear;
}

.boton.inverso:after{
	background-image: url('../img/web/flecha-right-w.svg');
}

.contenido.habitaciones{
	padding: 50px 0;
}

.contenido.habitaciones .texto{
	max-width: 860px;
	margin-left: 50px;
}

.contenido.habitaciones .habs{
	margin-top: 40px;
}

.contenido.habitaciones .habs .item, .ficha.habitacion.gallery .inferior .imagenes .imagen,
.ficha.habitacion.gallery .inferior .secs .img{
	display: none;
	position: relative;
	vertical-align: top;
	width: calc(70% - 70px);
	margin-right: 35px;
}

.contenido.habitaciones .habs .item:first-child, .ficha.habitacion.gallery .inferior .imagenes .imagen:first-child{
	display: inline-block;
}

.contenido.habitaciones .habs .item .imagen, 
.contenido.habitaciones .habs .item .txt{
	display: inline-block;
	position: relative;
	vertical-align: top;
	width: calc(75% + 10px);
}

.contenido.habitaciones .habs .item .txt{
	width: calc(25% - 10px);
	background: #8a2432;
	padding: 0 35px;
}

.contenido.habitaciones .habs .item .txt:before{
	content: '';
	position: absolute;
	top: 30px;
	left: 35px;
	width: 80px;
	height: 84px;
	background: url('../img/web/grafica.svg') no-repeat left center;
	background-size: 80px;
}

.contenido.habitaciones .habs .item .txt .tit{
	font-size: 2.5em;
	line-height: 1.6;
	color: #ffffff;
	text-wrap: pretty;
	margin-top: 185px;
	letter-spacing: .5px;
}

.contenido.habitaciones .habs .item .txt .enlace{
	margin-top: 80px;
}

.contenido.habitaciones .habs.owl-loaded .item, .ficha.habitacion.gallery .inferior .imagenes.owl-loaded .imagen,
.ficha.habitacion.gallery .inferior .secs.owl-loaded .img{
	display: block;
	width: auto;
	margin-right: 0;
}

.contenido.habitaciones .habs.owl-loaded .owl-stage,
.ficha.habitacion .inferior .secundarias.owl-loaded .owl-stage,
.contenido.galeria .imagenes.owl-loaded .owl-stage,
.ficha.habitacion.gallery .inferior .imagenes.owl-loaded .owl-stage{
    padding-left: 0 !important;
}

.contenido.habitaciones .habs .owl-nav [class^="owl-"],
.habitacion.ficha .inferior .secundarias .owl-nav [class^="owl-"],
.contenido.galeria .imagenes .owl-nav [class^="owl-"],
.habitacion.ficha.gallery .inferior .imagenes .owl-nav [class^="owl-"]{
    position: absolute;
    left: 0;
    top: 50%;
    width: 40px;
    height: 40px;
    background: url(../img/web/flecha-right-w.svg) no-repeat center;
    background-size: 25px;
    background-color: #8a2432;
    border-radius: 50%;
    border: 1px solid #8a2432;
    transform: scaleX(-1) translate(75px, -50%);
}

.contenido.habitaciones .habs .owl-nav .owl-next,
.habitacion.ficha .inferior .secundarias .owl-nav .owl-next,
.contenido.galeria .imagenes .owl-nav .owl-next,
.habitacion.ficha.gallery .inferior .imagenes .owl-nav .owl-next{
	left: unset;
	right: 0;
	transform: translate(75px, -50%);
}

.contenido.barbacana{
	position: relative;
	padding-bottom: 450px;
	z-index: 1;
}

.contenido.barbacana .texto{
	background: #f2f2f2;
	padding: 90px 218px 90px 165px; 
	max-width: 680px;
}

.contenido.barbacana .texto .descripcion{
	margin-top: 35px;
}

.contenido.barbacana .imagen{
	position: absolute;
	right: 0;
	bottom: 0;
	transform: translateY(50px);
}

.contenido.eslogan{
	padding: 90px 0 45px;
	background: #8a2432;
	position: relative;
	z-index: 0;
}

.contenido.eslogan:before, .contenido.eslogan:after{
	content: '';
	position: absolute;
	left: 0;
	bottom: 20px;
	width: 84px;
	height: 273px;
	background: url('../img/web/grafica-mitad.svg') no-repeat bottom left;
	background-size: contain;
}

.contenido.eslogan:after{
	left: unset;
	right: 0;
	transform: scaleX(-1);
}

.contenido.eslogan .texto{
	text-align: center;
}

.contenido.eslogan .texto .titulo{
	color: #ffffff;
}

.contenido.eslogan .texto .enlace{
	margin-top: 60px;
}

.contenido.salones{
	padding: 40px 0;
}

.contenido.salones .texto .titulo, .contenido.salones .texto .descripcion{
	position: relative;
	display: inline-block;
	vertical-align: top;
	margin-right: 80px;
	width: calc(50% - 80px);
}

.contenido.salones .texto .descripcion{
	width: 50%;
	margin-right: 0;
	margin-top: 20px;
}

.contenido.salones .slns{
	margin-top: 45px;
}

.contenido.salones .slns .item{
	display: inline-block;
	position: relative;
	vertical-align: top;
	width: 33.3334%;
}

.contenido.salones .slns .item .txt{
	position: absolute;
	bottom: 0;
	left: 0;
}

.contenido.salones .slns .item .txt .tit, .contenido.servicios .srvs .item .txt .tit{
	font-size: 3.333em;
	color: #ffffff;
}

.contenido.servicios .srvs .item .txt .tit{
	color: #8a2432;
}

.contenido.salones .slns .item .txt .tit a{
	display: inline-block;
	position: relative;
	vertical-align: top;
	height: 100px;
	line-height: 100px;
	min-width: 460px;
	padding: 0 30px;
	background: #8a2432;
	color: currentColor;
	text-decoration: none;
}

.contenido.servicios{
	background: #f2f2f2;
	padding: 45px 0 60px;
}

.contenido.servicios .texto{
	max-width: 970px;
}

.contenido.servicios .srvs{
	margin: 65px 50px 0;
	text-align: center;
}

.contenido.servicios .srvs .item{
	display: inline-block;
	position: relative;
	vertical-align: top;
	width: calc(33.3334% - (120px * 2 / 3));
	margin-right: 120px;
}

.contenido.servicios .srvs .item:nth-child(3n){
	margin-right: 0;
}

.contenido.servicios .srvs .item .txt .descripcion{
	font-weight: 400;
	margin-top: 35px;
}

.contenido.servicios .srvs .item .txt{
	position: relative;
	padding-top: 200px;
}

.contenido.servicios .srvs .item .txt:before, .listado.servs .item .texto:before{
	content: '';
	position: absolute;
	top: 20px;
	left: 0;
	right: 0;
	margin: 0 auto;
	width: 176px;
	height: 140px;
	background: url('../img/web/recepcion.svg') no-repeat top center;
	background-size: 176px;
}

.contenido.servicios .srvs .item:nth-child(2) .txt:before, .listado.servs .item:nth-child(2) .texto:before{
	width: 141px;
	height: 159px;
	background-image: url('../img/web/room-service.svg');
	background-size: 141px;
	top: 0;
}

.contenido.servicios .srvs .item:nth-child(3) .txt:before, .listado.servs .item:nth-child(3) .texto:before{
	width: 162px;
	height: 162px;
	background-image: url('../img/web/parking.svg');
	background-size: 162px;
	top: 0;
}

.contenido.servicios .enlace{
	text-align: center;
	margin-top: 70px;
}

.pie .superior{
	position: relative;
	padding: 65px 0 180px;
	background: url('../img/web/trama-pie.svg') no-repeat bottom center;
	background-size: contain;
	background-color: #8a2432;
}

.pie .superior .contenedorin{
	position: relative;
}

.pie .superior ul{
	margin: 0;
	padding: 0;
}

.pie .superior .logo, .pie .superior .datos, .pie .superior .submenu, .pie .superior .legales{
	display: inline-block;
	position: relative;
	vertical-align: bottom;
	margin-right: 265px;
}

.pie .superior .logo{
	margin-bottom: 10px;
	max-width: 225px;
}

.pie .superior .datos{
	margin-right: 225px;
}

.pie .superior .submenu, .pie .superior .legales{
	margin-right: 0;
}

.pie .superior .legales{
	position: absolute;
	right: 0;
	bottom: 0;
}

.pie .superior .datos li, .pie .superior .submenu li, .pie .superior .legales li{
	display: block;
	color: #ffffff;
}

.pie .superior .datos li a, .pie .superior .submenu li a, .pie .superior .legales li a{
	position: relative;
	color: currentColor;
	text-decoration: none;
	font-size: 1.458em;
	line-height: 44px;
	font-weight: 400;
	letter-spacing: .75px;
}

.pie .superior .submenu li a:after, .pie .superior .legales li a:after{
	content: '';
	position: absolute;
	bottom: 0;
	left: 0;
	width: 0;
	height: 1px;
	background: #ffffff;
	transition: all 250ms linear;
}

.pie .superior .submenu li.sel a:after, .pie .superior .legales li.sel a:after{
	width: 100%;
}

.pie .inferior{
	background: #776d4e;
	line-height: 44px;
	color: #ffffff;
	text-align: center;
	font-size: 1.458em;
}

.pie .inferior .copyright, .pie .inferior a{
	display: inline-block;
	vertical-align: top;
	position: relative;
	margin-right: 10px;
}

.pie .inferior a{
	margin-right: 0;
	color: currentColor;
	text-decoration: none;
}

.pie .inferior a.sel{
	text-decoration: underline;
}

.migas .miga {
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    position: relative;
    height: 620px;
}

.migas .miga:before, .contenido .fondo:before{
	content: '';
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	background: rgba(0,0,0,.3);
}

.contenido.presentacion.hotel{
	padding-top: 65px;
}

.contenido.presentacion.hotel:after{
	width: calc(50% - 175px);
}

.contenido.presentacion.hotel .imagen{
	width: 50%;
	margin-right: 175px;
}

.contenido.presentacion.hotel .imagen:before, .listado .item .imagen:before{
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 473px;
	height: 500px;
	background: #8a2432;
	transform: translate(-125px, -40px);
}

.contenido.presentacion.hotel .texto{
	width: calc(50% - 175px);
	padding-right: 0;
	margin-top: 0;
}

.contenido.presentacion.hotel .texto:before{
	content: '';
	position: absolute;
	top: 150px;
	left: 0;
	width: 207px;
	height: 335px;
	background: url('../img/web/torre.svg') no-repeat left center;
	background-size: 150px;
}

.contenido.presentacion.hotel .texto .descripcion{
	margin-top: 65%;
}

.contenido.habitaciones.lis{
	padding-bottom: 30px;
}

.contenido.habitaciones.lis .texto{
	max-width: 1590px;
	margin-left: auto;
	width: 92%;
}

.contenido.habitaciones.lis .texto .descripcion{
	margin-top: 30px;
}

.contenido.habitaciones.lis .habs .item{
	display: inline-block;
	vertical-align: bottom;
	width: calc(50% - (35px * 1 / 2));
	margin-right: 35px;
	margin-top: 35px;
}

.contenido.habitaciones.lis .habs .item .wrap,
.contenido.habitaciones .habs .item .wrap{
	display: flex;
	flex-wrap: wrap
}

.contenido.habitaciones.lis .habs .item:nth-child(-n+2){
	margin-top: 0;
}

.contenido.habitaciones.lis .habs .item:nth-child(2n){
	margin-right: 0;
}

.contenido.habitaciones.lis .habs .item .imagen{
	width: calc(70% - 27px);
}

.contenido.habitaciones.lis .habs .item .txt {
    width: calc(30% + 27px);
    padding: 0 25px;
}

.contenido.habitaciones.lis .habs .item .txt:before{
	left: 25px;
}

.contenido.habitaciones.lis .habs .item .txt .tit{
	min-height: calc(1.6em * 3);
    display: -webkit-box;
    -webkit-line-clamp: 3;
    line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.contenido.habitaciones.lis .habs .item.c_16 .txt{
	display: block;
	width: auto;
	background: #f2f2f2;
	padding: 140px 150px 120px;
}

.contenido.habitaciones.lis .habs .item.c_16 .txt:before{
	display: none;
}

.contenido.habitaciones.lis .habs .item .txt .descripcion{
	color: #ffffff;
	margin-top: 40px;
	min-height: calc(1.8em * 4);
    display: -webkit-box;
    -webkit-line-clamp: 4;
    line-clamp: 4;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.contenido.habitaciones.lis .habs .item.c_16 .txt .descripcion{
	color: #8a2432;
	margin-top: 0;
	display: block;
    min-height: auto;
    overflow: visible;
    -webkit-line-clamp: unset;
    line-clamp: unset;
    -webkit-box-orient: initial;
}

.contenido .fondo {
    position: relative;
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    height: auto;
    padding: 130px 0;
    z-index: 1;
}

.contenido .fondo .texto{
	position: relative;
	max-width: 1120px;
	margin: 0 auto;
	text-align: center;
	z-index: 1;
}

.contenido .fondo .texto .titulo{
	color: #ffffff;
}

.ficha.habitacion{
	padding: 50px 0 0;
}

.ficha.habitacion .superior{
	position: relative;
	background: url('../img/web/trama-completa.svg') no-repeat bottom center;
	background-size: contain;
	padding-bottom: 160px;
}

.ficha.habitacion .texto .titulo{
	max-width: 1024px;
}

.ficha.habitacion .texto .descripcion p{
	display: inline-block;
	position: relative;
	vertical-align: top;
	width: calc(50% - (176px * 1 / 2));
	margin-right: 170px;
}

.ficha.habitacion .texto .descripcion p:nth-child(2n){
	margin-right: 0;
}

.ficha.habitacion .texto .descripcion p:nth-last-child(2n){
	margin-bottom: 0;
}

.ficha.habitacion .texto .enlace{
	text-align: center;
	margin-top: 40px;
}

.ficha.habitacion .inferior{
	margin-top: 30px;
}

.ficha.habitacion .inferior .secundarias .img{
	display: none;
	position: relative;
	vertical-align: top;
	width: calc(70% - 27px);
	margin-right: 40px;
}

.ficha.habitacion .inferior .secundarias .img:first-child{
	display: inline-block;
}

.ficha.habitacion .inferior .secundarias.owl-loaded .img{
	display: block;
	width: auto;
	margin-right: 0;
}

.ficha.habitacion .inferior .caja{
	margin-top: 35px;
	padding: 40px 65px;
	background: #8a2432;
}

.ficha.habitacion .inferior .caja .texto .titulo,
.ficha.habitacion .inferior .caja .texto .descripcion{
	margin-top: 0;
	color: #ffffff;
}

.ficha.habitacion .inferior .caja .texto .descripcion{
	font-weight: 400;
	line-height: 1.6;
	margin-top: 30px;
}

.ficha.habitacion .inferior .caja .texto .descripcion ul{
	margin-left: 0;
}

.ficha.habitacion .inferior .caja .texto .descripcion ul li{
	display: inline-block;
	position: relative;
	vertical-align: top;
	width: calc(33.3334% - (176px * 2 / 3));
	margin-right: 170px;
	padding-left: 10px;
	margin-bottom: 25px;
}

.ficha.habitacion .inferior .caja .texto .descripcion ul li:nth-child(-n+3){
	padding-top: 120px;
	background: url('../img/web/torre-ficha.svg') no-repeat top left;
	background-size: 74px;
}

.ficha.habitacion .inferior .caja .texto .descripcion ul li:before{
	content: '';
	position: absolute;
	top: 13px;
	left: 0;
	width: 5px;
	height: 5px;
	background: #ffffff;
	border-radius: 50%;
}

.ficha.habitacion .inferior .caja .texto .descripcion ul li:nth-child(-n+3):before{
	top: 134px;
}

.ficha.habitacion .inferior .caja .texto .descripcion ul li:nth-child(3n){
	margin-right: 0;
}

.ficha.habitacion .inferior .caja.general{
	background: #ffffff;
	margin-top: 0;
}

.ficha.habitacion .inferior .caja.general .texto .titulo,
.ficha.habitacion .inferior .caja.general .texto .descripcion{
	color: #8a2432;
}

.ficha.habitacion .inferior .caja.general .texto .descripcion ul li:nth-child(-n+3){
	background-image: url('../img/web/torre-ficha-gen.svg');
}

.ficha.habitacion .inferior .caja.general .texto .descripcion ul li:before{
	background: #8a2432;
}

.ficha.habitacion.h_19 .superior .texto .titulo	{
	max-width: 1330px;
}

.ficha.habitacion.h_20 .superior .texto .titulo{
	max-width: 1450px;
}

.ficha.habitacion.h_20 .inferior{
	padding-bottom: 35px;
}

.hotel.restaurante .titulo{
	max-width: 1240px;
	margin: 0 auto 45px;
	text-align: center;
}

.contenido.presentacion.hotel.restaurante .texto{
	float: none;
}

.contenido.presentacion.hotel.restaurante .imagen:before{
	width: 90%;
	height: 50%;
	transform: translate(40px, -80px);
	left: unset;
	right: 0;
}

.contenido.presentacion.hotel.restaurante:after{
	width: calc(45% - 84px);
	right: unset;
	left: 0;
}

.contenido.presentacion.hotel.restaurante .texto:before{
	top: 0;
	left: 125px;
}

.contenido.presentacion.hotel.restaurante .texto{
	width: calc(45% - 84px);
	margin-right: 90px;
	padding-left: 125px;
}

.contenido.presentacion.hotel.restaurante .imagen{
	width: calc(55% - 11px);
	margin-right: 0;
	margin-top: 80px;
}

.contenido.presentacion.carta{
	padding: 75px 0 45px;
}

.contenido.presentacion.carta .imagen{
	width: 50%;
	margin-right: 125px;
}

.contenido.presentacion.carta .texto {
    width: calc(50% - 125px);
}

.contenido.presentacion.carta:after{
	display: none;
}

.contenido.sabores{
	position: relative;
}

.contenido.sabores .texto{
	background: #f2f2f2;
	padding: 70px 125px 90px;
	margin-right: 30.5%;
}

.contenido.sabores .texto:after{
	content: '';
	position: absolute;
	bottom: 0;
	right: 0;
	width: 450px;
	height: 373px;
	background: url('../img/web/corona.svg') no-repeat bottom right;
	background-size: 450px;
}

.contenido.sabores .texto .descripcion{
	margin-top: 0;
}

.contenido.sabores .texto .enlace{
	margin-top: 60px;
}

.contenido.sabores .texto .enlace .boton{
	font-size: 2.917em;
	height: 50px;
	line-height: 50px;
	border-top-right-radius: 26px;
	border-bottom-right-radius: 26px;
}

.contenido.sabores .texto .enlace .boton:after{
	width: 65px;
    height: 53px;
    background-size: 65px;
    transform: translate(80px, -50%);
}

.contenido.galeria{
	padding: 35px 0 45px;
}

.contenido.galeria .imagenes .imagen{
	display: none;
	position: relative;
	vertical-align: top;
	width: calc(70% - 27px);
	margin-right: 40px;
}

.contenido.galeria .imagenes .imagen:first-child{
	display: inline-block;
}

.contenido.galeria .imagenes.owl-loaded .imagen{
	display: block;
	width: auto;
	margin-right: 0;
}

.contenido.barbacana.exclusivo{
	padding-bottom: 0;
}

.contenido.barbacana.exclusivo .titulo{
	max-width: 740px;
	margin: 0 auto;
	width: 95%;
	text-align: center;
	padding-top: 60px;
	background: url('../img/web/detalle.svg') no-repeat top center;
	background-size: 54px;
}

.contenido.barbacana.exclusivo .texto, .contenido.barbacana.exclusivo .imagen{
	position: relative;
	display: inline-block;
	vertical-align: top;
	width: calc(35% - 13px);
	margin-right: 80px;
}

.contenido.barbacana.exclusivo .texto{
	background: none;
	padding: 0 0 0 165px;
	max-width: none;
	margin-top: 160px;
}

.contenido.barbacana.exclusivo .texto .descripcion{
	margin-top: 0;
}

.contenido.barbacana.exclusivo .imagen{
	bottom: unset;
	right: unset;
	margin-right: 0;
	width: calc(65% - 67px);
}

.contenido.eslogan.gastronomia{
	margin-bottom: 30px;
	background: #f2f2f2;
}

.contenido.eslogan.gastronomia:before, .contenido.eslogan.gastronomia:after{
	display: none;
}

.contenido.eslogan.gastronomia .texto{
	max-width: 1260px;
	margin: 0 auto;
}

.contenido.eslogan.gastronomia .texto .titulo{
	color: #8a2432;
}

.contenido.eslogan.gastronomia .texto .descripcion{
	margin-top: 40px;
}

.listado{
	padding: 65px 0 100px;
	overflow-x: hidden;
}

.listado .item{
	margin-top: 120px;
	position: relative;
}

.listado .item:first-child, .listado.servs .item:first-child{
	margin-top: 0;
}

.listado .item .texto, .listado .item .imagen{
	display: inline-block;
	position: relative;
	vertical-align: top;
	width: calc(45% - 84px);
	margin-right: 85px;
	margin-top: 55px;
	padding-left: 125px;
	padding-bottom: 90px;
}

.listado .item .imagen{
	margin-right: 0;
	margin-top: 0;
	padding-left: 0;
	padding-bottom: 0;
	width: calc(55% - 1px);
	z-index: 1;
}

.listado .item:after{
	width: calc(45% - 84px);
	right: unset;
	left: 0;
}

.listado .item .imagen:before{
	width: 70%;
	height: 25%;
	top: unset;
	left: unset;
	bottom: 0;
	right: 0;
	transform: translate(40px, 50px);
}

.listado .item:nth-child(2n) .texto{
	float: right;
	padding-left: 0;
	padding-right: 125px;
	margin-right: 0;
}

.listado .item:nth-child(2n) .imagen{
	margin-right: 85px;
}

.listado .item:nth-child(2n):after{
	left: unset;
	right: 0;
}

.listado .item:nth-child(2n) .imagen:before{
	right: unset;
	left: 0;
	transform: translate(-40px, 50px);
}

.listado.servs .item{
	margin-top: 95px;
}

.listado.servs .item:after{
	display: none;
}

.listado.servs .item .texto{
	padding-top: 200px;
	padding-bottom: 0;
}

.listado.servs .item .texto:before{
	top: 0;
	right: unset;
	left: 125px;
	background-position: top left;
	background-size: 166px;
}

.listado.servs .item:nth-child(2) .texto:before{
	background-size: 133px;
	left: 0;
}

.listado.servs .item:nth-child(3) .texto:before{
	background-size: 152px;
}

.ficha.habitacion.gallery{
	padding: 50px 0 75px;
}

.ficha.habitacion.gallery .superior .titulo{
	max-width: 1400px;
}

.ficha.habitacion.gallery .inferior{
	margin-top: 50px;
}

.ficha.habitacion.gallery .inferior .imagenes .imagen{
	width: calc(85% - 67px);
	margin-right: 20px;
}

.ficha.habitacion.gallery .inferior .secs{
	margin-top: 25px;
	text-align: center;
}

.ficha.habitacion.gallery .inferior .secs .img{
	width: calc(33.3334% - 32px);
	margin-right: 40px;
}

.ficha.habitacion.gallery .inferior .secs .img:nth-child(2),
.ficha.habitacion.gallery .inferior .secs .img:nth-child(3){
	display: inline-block;
}

.ficha.habitacion.gallery .inferior .secs .img:nth-child(3){
	margin-right: 0;
}

.ficha.habitacion.gallery .inferior .secs .owl-dots{
	top: unset;
	transform: none;
	bottom: 0;
	margin: 0;
	text-align: left;
	transform: translateY(30px);
}

.ficha.habitacion.gallery .inferior .secs .owl-dots .owl-dot{
	display: inline-block;
	position: relative;
	vertical-align: top;
	background: rgba(138, 36, 50, .5);
	height: 7px;
	width: 235px;
	transition: all 250ms linear;
}

.ficha.habitacion.gallery .inferior .secs .owl-dots .owl-dot.active{
	background: rgba(138, 36, 50, 1);
}

.reservas{
	padding: 45px 0;
}

.reservas .superior .texto .titulo{
	max-width: 1200px;
}

.reservas .wrapper{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	background: #8a2432;
	margin-top: 25px;
}

.reservas .wrapper .datos_cont{
	padding: 0 50px;
	width: calc(25% - 8px);
	text-align: center;
}

.reservas .wrapper .datos_cont .contactar{
	padding-top: 90px;
	margin-top: 85px;
	background: url('../img/web/telefono.svg') no-repeat top center;
	background-size: 44px;
	color: #ffffff;
}

.reservas .wrapper .datos_cont .contactar a{
	color: currentColor;
	text-decoration: none;
	font-size: 2.083em;
	line-height: 44px;
	font-weight: 400;
	letter-spacing: .75px;
}

.reservas .wrapper .datos_cont .contactar.mail{
	padding-top: 70px;
	background-image: url('../img/web/mail.svg');
	background-size: 73px;
}

.reservas .wrapper .datos_cont .contactar:first-child{
	margin-top: 0;
}

.reservas .wrapper .formulario{
	background: #f2f2f2;
	padding: 20px 55px 55px;
	width: calc(75% + 8px);
}

.reservas .wrapper .formulario .subtitulo{
	position: relative;
	padding: 50px 0;
	text-align: center;
	font-size: 2.083em;
	letter-spacing: .5px;
}

.reservas .wrapper .formulario .subtitulo:before,
.reservas .wrapper .formulario .subtitulo:after{
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	width: 54px;
	height: 41px;
	margin: 0 auto;
	background: url('../img/web/detalle.svg') no-repeat top center;
	background-size: 54px;
}

.reservas .wrapper .formulario .subtitulo:after{
	top: unset;
	bottom: 0;
	transform: rotate(180deg);
}

.reservas .formulario form .campos{
	margin-top: 30px;
}

.reservas .formulario form .campos .campo{
	position: relative;
	margin-top: 35px;
}

.reservas .formulario form .campos .campo:nth-child(-n+4){
	margin-top: 0;
}

.reservas .formulario form .campos .campo.cuarto {
    vertical-align: top;
    display: inline-block;
    width: calc(25% - 45px);
    margin-right: 60px;
}

.reservas .formulario form .campos .campo.cuarto:nth-child(4n){
	margin-right: 0;
}

.campo input {
    display: block;
    width: 100%;
    height: 50px;
    background: none;
    color: #8a2432;
    font-size: 1.667em;
    line-height: 25px;
    padding: 20px 30px 10px 0;
    font-weight: 600;
    letter-spacing: .75px;
}

.campo label {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    display: block;
    font-size: 1.667em;
    font-weight: 400;
    line-height: 50px;
    color: #8a2432;
    z-index: 1;
    letter-spacing: .75px;
    pointer-events: none;
    transition: all 250ms linear;
}

.campo textarea {
    position: relative;
    display: block;
    width: 100%;
    border-width: 0;
    height: 200px;
    color: #8a2432;
    background: none;
    padding: 20px 0;
    font-size: 1.667em;
    font-weight: 600;
    line-height: 25px;
    resize: vertical;
    min-height: 200px;
    max-height: 350px;
}

.campo:not(.especial) input{
	padding-right: 0;
}

.campo input[type="text"].calendario {
    background-image: url(../img/web/calendario.svg);
    background-position: right bottom 10px;
    background-repeat: no-repeat;
    background-size: 25px;
    cursor: pointer;
}

.campos .campo:not(.especial):before {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 2px;
    background: #8a2432;
}

.campos .campo input[type="tel"]:valid ~ label, .campos .campo input[type="tel"]:not(:placeholder-shown) ~ label, 
.campos .campo input[type="email"]:valid ~ label, .campos .campo input[type="email"]:not(:placeholder-shown) ~ label, 
.campos .campo input[type="text"]:valid ~ label, .campos .campo input[type="text"]:not(:placeholder-shown) ~ label, 
.campos .campo input[type="number"]:valid ~ label, .campos .campo input[type="number"]:not(:placeholder-shown) ~ label,
.campos .campo textarea:valid ~ label, .campos .campo textarea:not(:placeholder-shown) ~ label {
    padding-bottom: 5px;
    font-size: 1.4em;
    line-height: 15px;
}

.campos .campo:not(.especial) input:focus ~ label, .campos .campo textarea:focus ~ label {
    padding-bottom: 5px;
    font-size: 1.4em;
    line-height: 15px;
}

.campos .campo *:-webkit-autofill, .campos .campo *:-webkit-autofill:focus {
    -webkit-text-fill-color: rgba(138, 36, 50, 1) !important;
}

.formulario form .checks {
    margin-top: 5px;
    float: left;
}

.formulario form .checks .check {
    position: relative;
    display: block;
    font-size: 1.667em;
    font-weight: 400;
    line-height: 18px;
    text-align: left;
    color: #8a2432;
}

.formulario form .checks .check label {
    position: relative;
    display: block;
    padding-left: 25px;
    cursor: pointer;
    text-wrap: pretty;
}

.formulario form .checks .check label a {
	font-weight: 600;
    text-decoration: underline;
}

.formulario form .checks .check label:before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    height: 15px;
    width: 15px;
    border: 1px solid #ffffff;
    box-shadow: inset 0 0 0 2px #8a2432;
    transition: all 250ms linear;
}

.formulario .checks .check input[type="checkbox"]:checked + label:before {
    box-shadow: 0 0 0 10px #8a2432 inset;
}

.formulario form .boton {
    margin-top: 20px;
    float: right;
    margin-right: 45px;
    min-width: 115px;
}

.reservas.contacto .formulario form .campos{
	margin-top: 0;
}

.reservas.contacto .wrapper .formulario{
	padding: 55px;
}

.reservas.contacto .mapa{
	margin-top: 40px;
}

.reservas.contacto .mapa iframe {
    position: relative;
    display: block;
    width: 100%;
    height: 525px;
}

.contenido.legal{
	padding: 100px 0;
}

.contenido.legal .texto .descripcion{
	margin-top: 40px;
	font-weight: 400;
}

/**/

.descripcion p {
	margin: 0;
	margin-bottom: 20px
}

.descripcion p:last-child,
.descripcion ul:last-child,
.descripcion ol:last-child {
	margin-bottom: 0
}

.descripcion h2,
.descripcion h3,
.descripcion h4 {
	color: #8a2432;
	font-weight: 800;
	font-size: 1.6em;
	margin-top: 40px;
	margin-bottom: 10px
}

.descripcion a {
	color: currentColor
}

.legal .texto .descripcion a {
	word-break: break-all;
	text-decoration: underline
}

.descripcion ul{
	margin-bottom: 25px;
	margin-left: 15px;
	list-style: none;
}
.descripcion ol {
	margin: 0;
	margin-bottom: 20px;
	margin-left: 40px
}

.descripcion ul li{
	position: relative;
	margin-bottom: 10px;
	padding-left: 25px
}

.descripcion ul li:before{
	content: '';
	position: absolute;
	top: 15px;
	left: 0;
	width: 5px;
	height: 5px;
	background: #8a2432;
	border-radius: 50%;
}

.descripcion ol li {
	margin-bottom: 20px
}

.descripcion ul li:last-child {
	margin-bottom: 0
}

.descripcion em {
	font-style: italic
}

.descripcion strong {
	font-weight: 800;
}