@import url(https://fonts.googleapis.com/css?family=IBM+Plex+Serif:400,700|Montserrat:400,800|Open+Sans:400,800);
.bg-danger {
	background-color: #bc1e2e!important
}

.border-danger {
	border-color: #bc1e2e!important
}

.text-danger {
	color: #bc1e2e!important
}

.bg-light {
	background-color: #f1f2f2!important
}

.border-light {
	border-color: #f1f2f2!important
}

.text-light {
	color: #f1f2f2!important
}

.btn.bg-danger {
	border: #bc1e2e solid 2px
}

.btn.bg-danger:hover {
	background: 0 0!important;
	border: #bc1e2e solid 2px;
	color: #bc1e2e!important
}

.btn-dark {
	border: solid 2px #343a40
}

.btn-dark:hover {
	background: 0 0!important;
	color: #343a40!important
}

.bg-danger .btn-dark:hover,
.carousel .btn.bg-danger:hover {
	color: #fff!important;
	border: solid 2px #fff
}

body {
	font-family: 'Open Sans', sans-serif
}

a {
	color: #bc1e2e !important
}

.bold {
	font-weight: 700
}

a:hover i {
	opacity: .75
}

footer ul.nav a.nav-link,
header ul.nav a.nav-link {
	text-transform: uppercase;
	font-weight: 700;
	color: #000 !important;
}

header ul.nav .logo {
	margin-top: -30px
}

header ul.nav .logo a img {
	max-width: 320px;
	margin-top: -4px
}

header ul.nav .nav-link {
	padding: 2rem 1rem
}

header ul.nav li.active:after,
header ul.nav li:hover:after {
	content: '';
	display: block;
	position: relative;
	bottom: 0;
	width: 60px;
	border-bottom: 8px solid #000;
	margin: 0 auto;
	text-align: center
}

header ul.nav li:hover:after {
	border-bottom: 8px solid #767676
}

header #idiomas {
	position: absolute;
	right: 20px;
	top: 105px
}

header #idiomas button {
	font-weight: 700!important;
	font-size: 16px
}

#slideInicio .carousel-caption {
	bottom: 225px!important
}

#slideInicio h5 {
	line-height: auto
}

#slideInicio p {
	font-size: 40px;
	font-weight: 700;
	line-height: 45px
}

.carousel-indicators .active {
	background-color: #bc1e2e
}

.carousel-indicators li {
	width: 15px;
	height: 15px;
	border-radius: 7px;
	background-color: none;
	border: solid 1px #fff
}

.carousel-footer {
	background-color: rgba(0, 0, 0, .6);
	margin-top: -65px;
	position: relative;
	border-top: solid thin #fff
}

.carousel-footer .contacto a {
	line-height: 18px;
	color: #fff!important;
	font-size: 14px
}

.carousel-footer .social a {
	color: #fff!important;
	font-size: 30px;
	margin: 0 8px
}

.rango {
	background-color: #fff;
	border-radius: 4px;
	padding: 15px
}

.custom-range::-moz-range-thumb {
	background-color: #000!important;
	border: solid 1px #c3c3c3
}

.buscador button {
	font-size: .75em;
	padding: 5px
}

.buscador bt-avanzada {
	background: #fff url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3E%3Cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3E%3C/svg%3E") no-repeat right .75rem center
}

.buscador .ref {
	font-size: .75em
}

.social-top a {
	padding: 0 0 0 12px
}

#slideInicio .carousel-item {
	min-height: 800px
}

#slideInicio .carousel-item img {
	position: absolute;
	object-fit: cover;
	top: 0;
	left: 0;
	min-height: 800px
}

#contact .form-check {
	text-align: center
}

.form-check-label {
	font-size: 14px
}

.propiedad .carousel-item {
	/*height: 225px*/
	height: 300px;
}

.propiedad .card-text {
	line-height: 20px
}

.propiedad .card-text strong,
.propiedad .card-text strong a {
	color: #343a40!important;
	text-transform: uppercase;
	display: block
}

.propiedad .card-text strong a {
	min-height: 45px
}

.propiedad .card-text span {
	font-size: 14px
}

.propiedad .ficTitulo {
	font-size: 18px
}
.precio_down{
	color: #bc1e2e;
}
h4.precio_t,.precio_down {
	font-size: 1.2em!important;
	text-align: right!important
}

h4.ref_t {
	font-size: 1em!important
}

.modal-body {
	padding: 0!important
}

.modal-content {
	border-radius: 0!important
}

.modal-backdrop.show {
	opacity: .7!important
}

.propiedad .text-muted {
	font-size: 16px;
	text-align: center
}

.propiedad .ic {
	display: block;
	width: 54px;
	height: 40px;
	margin-top: -15px;
	background-repeat: no-repeat;
	background-position: top center;
	background-size: contain
}
.icons{
	position: absolute;
	top: 7px;
	right: 0;
	padding-right: 5px;
}
.num {
	padding: 3px 5px 3px 36px;
	text-align: center;
	position: relative;
	display: inline-block;
	z-index: 10;
	vertical-align: top;
	background: url(/assets/camara_icono.png) rgba(255, 255, 255, .6) no-repeat 6px 50%;
	background-size: 37%;
	font-size: 12px;
	font-weight: 700
}
.icontour{
	padding: 3px 5px 3px 36px;
	text-align: center;
	position: relative;
	display: inline-block;
	z-index: 10;
	vertical-align: top;
	background: url(/assets/360.png) rgba(255, 255, 255, .6) no-repeat 6px 50%;
	background-size: 18%;
	font-size: 12px;
	font-weight: 700
}
.icontourpc{
	padding: 12px 20px 12px 20px;
	text-align: center;
	position: relative;
	display: inline-block;
	z-index: 10;
	vertical-align: top;
	background: url(/assets/360.png) rgba(255, 255, 255, .6) no-repeat 6px 50%;
	background-size: 60%;
	font-size: 12px;
	font-weight: 700
}
.iconplano{
	padding: 14px 16px 8px 16px;
	text-align: center;
	position: relative;
	display: inline-block;
	z-index: 10;
	/*right: 200px;*/
	
	background: url(/assets/logo-PLANO.png) rgba(255, 255, 255, .6) no-repeat;
	background-size: 100%;
	font-size: 12px;
	font-weight: 700
}
.iconvideo{
	padding: 14px 16px 8px 16px;
	text-align: center;
	position: relative;
	display: inline-block;
	z-index: 10;
	/*right: 245px;*/
	
	background: url(/assets/logo-VIDEO.png) rgba(255, 255, 255, .6) no-repeat;
	background-size: 100%;
	font-size: 12px;
	font-weight: 700
}
.iconhomestaging{
	padding: 14px 16px 8px 16px;
	text-align: center;
	position: relative;
	display: inline-block;
	z-index: 10;
	/*right: 290px;*/
	
	background: url(/assets/logo-HOMESTAGING.png) rgba(255, 255, 255, .6) no-repeat;
	background-size: 100%;
	font-size: 12px;
	font-weight: 700
}
.iconplanopc{
	padding: 3px 5px 3px 36px;
	text-align: center;
	position: relative;
	display: inline-block;
	z-index: 10;
	/*right: 200px;*/
	vertical-align: top;
	background: url(/assets/logo-PLANO.png) rgba(255, 255, 255, .6) no-repeat 2px 50%;
	background-size: 45%;
	font-size: 12px;
	font-weight: 700
}
.iconvideopc{
	padding: 3px 5px 3px 36px;
	text-align: center;
	position: relative;
	display: inline-block;
	z-index: 10;
	/*right: 245px;*/
	vertical-align: top;
	background: url(/assets/logo-VIDEO.png) rgba(255, 255, 255, .6) no-repeat 2px 50%;
	background-size: 45%;
	font-size: 12px;
	font-weight: 700
}
.iconhomestagingpc{
	padding: 3px 5px 3px 36px;
	text-align: center;
	position: relative;
	display: inline-block;
	z-index: 10;
	/*right: 290px;*/
	vertical-align: top;
	background: url(/assets/logo-HOMESTAGING.png) rgba(255, 255, 255, .6) no-repeat 2px 50%;
	background-size: 30%;
	font-size: 12px;
	font-weight: 700
}
.op-display {
	padding: 3px 5px 3px 5px;
	text-align: center;
	position: absolute;
	z-index: 10;
	left: 7px;
	top: 7px;
	background: rgba(255, 255, 255, .6) no-repeat 6px 50%;
	background-size: 37%;
	font-size: 12px;
	font-weight: 700
}

.custom-user-1 h3 {
	font-family: 'IBM Plex Serif', sans-serif;
	font-weight: 700;
	font-size: 32px
}

.custom-user-1 h3 span {
	font-family: 'Open Sans', sans-serif;
	font-size: 20px;
	font-weight: lighter;
	line-height: 22px
}

.custom-user-1 p {
	font-size: 18px
}

.modulo-varios .varios .card {
	background-color: #000;
	border: none!important
}

.modulo-varios .varios a {
	background-size: cover
}

.modulo-varios .varios a:hover {
	text-decoration: none;
	opacity: .8
}

.modulo-varios .varios a span {
	display: block;
	padding: 45% 0;
	text-shadow: 1px 2px 3px #000;
	font-size: 20px;
	opacity: 1!important
}

.modulo-varios .varios a.varios-1 {
	background-image: url(/assets/altealife_vive_la_experiencia_altea.jpg)
}

.modulo-varios .varios a.varios-2 {
	background-image: url(/assets/altealife_consejos_para_vender_tu_propiedad.jpg)
}

.modulo-varios .varios a.varios-3 {
	background-image: url(/assets/altealife_gastronomia.jpg)
}

.custom-home-1 .titulo,
.custom-home-2 .titulo,
.custom-team-1 .titulo,
.custom-team-3 .titulo,
.custom-team-5 .titulo {
	display: block;
	font-size: 22px;
	font-weight: lighter;
	line-height: 34px;
	margin-top: 17px
}

.custom-home-1 .subtitulo,
.custom-home-2 .subtitulo,
.custom-team-1 .subtitulo,
.custom-team-3 .subtitulo,
.custom-team-5 .subtitulo {
	display: contents;
	font-size: 32px;
	font-weight: 700;
	font-family: 'IBM plex Serif';
	color: #bc1e2e;
	line-height: 0
}

.custom-home-1 .contenido,
.custom-home-2 .contenido,
.custom-team-1 .contenido,
.custom-team-3 .contenido,
.custom-team-5 .contenido {
	font-size: 30px;
	line-height: 30px;
	font-family: Montserrat
}

.pagination .page-item .page-link {
	border: 0!important
}

.pagination .page-item.active .page-link {
	color: #bc1e2e!important;
	font-weight: 700;
	background-color: #fff!important
}

.pagination .page-item .page-link:hover {
	color: #606060!important;
	background-color: #fff!important
}

.ficha h1 {
	font-size: 1.5rem
}

.ficha .carousel-item {
	/*height: 365px*/
	height: 750px;
}

.ficha .card-text {
	line-height: 24px;
	font-size: 16px
}

.ficha .card-text strong,
.ficha .card-text strong a {
	color: #212529 !important;
	text-transform: uppercase;
	display: block
}

.ficha .card-text span {
	font-size: 16px
}

.ficha .text-muted {
	font-size: 12px;
	padding: 3px 1.4%
}

.ficha h4 {
	text-transform: uppercase;
	font-weight: 700;
	font-size: 14px !important;
	line-height: 20px;
    margin-bottom: 25px !important;
}

.ficha .similares h4 {
	margin-top: 8px
}

.ficha .masinfo h4:first-child {
	margin-top: -35px!important;
	margin-bottom: 8px!important
}

.ficha .similares {
	padding-top: 12px!important
}

.ficha .masinfo p,
.ficha .similares p {
	font-size: .8em
}

.ficha .card-body {
	margin-bottom: 14%
}

.ficha .video {
	margin-top: -7px
}

.ficha .form-check-label {
	font-size: .7em
}

.ficha .comparte span,
.ficha .comparte span i {
	float: left
}

.ficha .comparte i {
	font-size: 30px;
	padding: 0 10px
}

.ficha .iconos .text-muted {
	text-align: center
}

.ficha .iconos i {
	display: block;
	font-size: 26px;
	margin-top: 5px
}

.propiedad-similar .carousel-item {
	height: 180px
}

.form-control,
.form-control-sm,
.propiedad-similar .card {
	border-radius: 0!important
}

.propiedad-similar .text-muted {
	font-size: 11px;
	padding: 0
}

.ficha .ic {
	display: block;
	width: 54px;
	height: 38px;
	background-repeat: no-repeat;
	background-position: top center;
	background-size: contain
}

.ficha .similares .ic {
	height: 40px
}

.ficha .similares .text-muted {
	text-align: center
}

.referencia {
	font-style: normal;
	color: #000;
	font-size: 18px;
	padding-top: 17px
}

.precio {
	background: url(../../assets/iconos/precio.png);
	background-size: 27px!important;
	background-position: 25px 12px!important
}

.casa {
	background: url(../assets/iconos/casa.png)
}

.metroscuadrados {
	background: url(../assets/iconos/metros_cuadrados.png)
}

.parcela {
	background: url(../assets/iconos/parcela.png)
}

.adosado {
	background: url(../assets/iconos/adosado.png)
}

.aireacondicionado {
	background: url(../assets/iconos/aire_acondicionado.png)
}

.ascensor {
	background: url(../assets/iconos/ascensor.png)
}

.bano {
	background: url(../assets/iconos/bano.png)
}

.calefaccion {
	background: url(../assets/iconos/calefaccion.png)
}

.dormitorio {
	background: url(../assets/iconos/dormitorio.png)
}

.garaje {
	background: url(../assets/iconos/garaje.png)
}

.jardin {
	background: url(../assets/iconos/jardin.png)
}

.piscina {
	background: url(../assets/iconos/piscina.png)
}

.piso {
	background: url(../assets/iconos/piso.png)
}

.terraza {
	background: url(../assets/iconos/terraza.png)
}

.trastero {
	background: url(../assets/iconos/trastero.png)
}

.vistasmar {
	background: url(../assets/iconos/vistas_mar.png)
}

.vistasmontana {
	background: url(../assets/iconos/vistas_montana.png)
}

.rustica {
	background: url(../assets/iconos/rustica.png)
}

.urbanizable {
	background: url(../assets/iconos/urbanizable.png)
}

.solar {
	background: url(../assets/iconos/solar.png)
}

.pagination-container {
	max-width: 650px;
	margin: 0 auto
}

.pagination-container nav {
	width: 100%
}

.pagination {
	display: initial
}

.pagination .page-item {
	float: left
}

.custom-contact-1 .telf {
	font-size: 30px;
	line-height: 25px;
	font-family: Montserrat, serif;
	font-weight: 800
}

.custom-contact-1 .mail {
	font-size: 20px;
	line-height: 25px;
	font-family: Montserrat, serif;
	font-weight: 800
}

.custom-contact-1 .soc i {
	font-size: 34px;
	padding: 0 10px
}

.custom-contact-2 p {
	font-size: 31px;
	line-height: 24px
}

.custom-contact-2 p b {
	font-family: Montserrat, serif;
	font-weight: 800
}

.contacto .equipo p {
	font-size: 20px;
	line-height: 22px
}

.contacto .equipo p strong {
	display: block
}

.custom-team .descripcion {
	font-size: 14px
}

.custom-team img {
	outline: 2px solid #fff;
	outline-offset: -10px
}

.custom-team-2 p {
	font-size: 16px;
	line-height: 23px
}

.custom-team-4 img {
	border: solid 8px;
	border-radius: 75px;
	padding: 25px
}

.custom-team-4 h4 {
	text-transform: uppercase;
	font-weight: 700;
	font-size: 20px
}

.custom-team-4 h4:after {
	content: '';
	display: block;
	position: relative;
	bottom: -10px;
	width: 11%;
	left: 45%;
	border-bottom: 5px solid #000
}

div.range-slider {
	position: relative;
	width: 99%;
	height: 31px;
	text-align: center;
	border-radius: 3px;
	background-color: #fff;
	margin-bottom: 4px
}

div.range-slider input[type=range] {
	background-color: #000;
	pointer-events: none;
	position: absolute;
	left: 22%;
	top: 13px;
	width: 57%;
	outline: 0;
	height: 3px;
	padding: 0;
	margin: 0 auto;
	text-align: center;
	-webkit-appearance: none
}

div.range-slider input[type=range]::-webkit-slider-thumb {
	pointer-events: all;
	position: relative;
	z-index: 1;
	background: #000;
	height: 20px;
	width: 5px;
	border-radius: 50%
}

div.range-slider input[type=range]::-moz-range-thumb {
	pointer-events: all;
	position: relative;
	z-index: 10;
	-moz-appearance: none;
	width: 16px;
	background: #000;
	height: 5px
}

div.range-slider input[type=range]::-moz-range-track {
	position: relative;
	z-index: -1;
	background-color: #000;
	border: 0
}

div.range-slider input[type=range]:last-of-type::-moz-range-track {
	-moz-appearance: none;
	background: none transparent;
	border: 0
}

div.range-slider input[type=range]::-moz-focus-outer {
	border: 0
}

div.range-slider .rangeMin {
	font-size: 10px;
	color: #000;
	padding: 7px;
	position: absolute;
	left: 0
}

div.range-slider .rangeMax {
	font-size: 10px;
	color: #000;
	padding: 7px;
	position: absolute;
	right: 0
}

footer .custom-home-3 {
	border-top: solid 17px #f1f2f2
}

footer ul.nav a.nav-link:hover {
	color: #bc1e2e!important
}

footer {
	font-size: 16px
}

footer .contact i {
	width: 25px;
	text-align: center
}

footer .siguenos span {
	text-transform: uppercase;
	color: #000;
	font-size: 12px
}

footer .siguenos i {
	font-size: 30px;
	padding: 0 6px
}

#subir {
	position: fixed;
	bottom: 15px;
	right: 30px;
	font-size: 40px;
	z-index: 20;
	color: #bc1e2e;
	margin-bottom: 50px
}

.outt {
	display: none
}

.leftRs {
	position: absolute;
	margin: auto;
	top: 0;
	bottom: 0;
	z-index: 100;
	left: 0;
	border: none!important;
	padding: 0 !important: margin:0!important;
	background: 0 0!important;
	font-weight: 700
}

.rightRs {
	position: absolute;
	margin: auto;
	top: 0;
	right: 0;
	bottom: 0;
	z-index: 100;
	border: none!important;
	padding: 0 !important: margin:0!important;
	background: 0 0!important;
	font-weight: 700
}

.resCarousel {
	width: 100%;
	padding: 15px 0;
	position: relative
}

.resCarousel-inner {
	overflow-x: hidden;
	white-space: nowrap;
	font-size: 0;
	vertical-align: top;
	width: 230px;
	margin-left: 32px
}

.resCarousel-inner .item {
	display: inline-block;
	font-size: 14px;
	white-space: initial
}

.banner {
	overflow: hidden!important
}

.resCarousel-inner .item .tile {
	background: #fff;
	box-shadow: 0 2px 5px 0 rgba(0, 0, 0, .16), 0 2px 10px 0 rgba(0, 0, 0, .12);
	margin: 5px
}

.resCarousel[data-animator=lazy] .item {
	transition: .6s ease all
}
/*dmancera*/
.ekko-lightbox{
	/*margin-top: 20px !important;
	max-height: 500px !important;
	overflow-y: scroll !important;*/
}

.ekko-lightbox .modal-dialog {
    max-width: 900px !important;
    height: auto !important;
}
.ekko-lightbox-container {
    height: auto;
}
.ekko-lightbox-container img{
	width: 100% !important;
	height: auto !important;
}
.ekko-lightbox-item.fade:not(.show) {
    position: absolute;
}
.ekko-lightbox-nav-overlay{
	padding: 0px 20px;
	/*top: 500px !important;*/

}

@media screen and (min-width:1350px){
	.container{
		width:80%;
		max-width:none;	
	}	
}
@media (max-width:1200px) {
	div.range-slider input {
		width: 50%;
		left: 24%
	}
	.navbar {
		padding-left: 0
	}
}

@media (max-width:1100px) {
	header #idiomas {
		left: 40px;
		top: 5px;
		max-width: 150px
	}
	.navbar-toggle {
		cursor: pointer;
		position: absolute;
		width: 35px;
		border: solid 1px;
		padding: 0 6px;
		right: 0;
		top: 16px;
		font-size: 25px;
		line-height: 34px
	}
	#slideInicio .carousel-item {
		min-height: 400px
	}
	#slideInicio .carousel-item img {
		min-height: 400px
	}
	#slideInicio .carousel-caption {
		bottom: 70px!important
	}
	.carousel-control-next,
	.carousel-control-prev,
	.carousel-footer,
	.carousel-indicators {
		/*display: none*/
	}
	header ul.nav li {
		padding: 10px 25px;
		border-bottom: 1px solid #bb1e2d;
		font-size: 18px
	}
	header ul.nav li.active::after,
	header ul.nav li:hover::after {
		border: none
	}
	header ul.nav li.active {
		border: none;
		background-color: #e7e7e7
	}
	header ul.nav li:hover {
		border: none;
		background-color: #f3f3f3;
		text-decoration: none
	}
	.navbar-mobile {
		display: block!important
	}
	.navbar-mobile .navbar-logo img {
		max-height: 60px;
		float: left;
		padding: 10px
	}
	.nav-main {
		display: none!important
	}
}

@media (max-width:767px) {
	.resCarousel-inner {
		overflow-x: auto
	}
	#slideInicio .carousel-caption {
		display: block!important
	}
	/*dmancera*/
	.ekko-lightbox .modal-dialog {
	    max-width: 100% !important;
	    top: 0px !important;
	    height: auto !important;
	}
	.ekko-lightbox-container img{
		height: auto !important;
	}
	.ekko-lightbox-nav-overlay{
		padding: 0px 5px;
		height: auto !important;
	}
	.ficha .carousel-item{
		height: 356px;
	}
	.custom-user-1 a{
		overflow: hidden;
		white-space: nowrap;
		text-overflow: ellipsis;
	}
	.bt-avanzada{
		margin-left: 0px !important;
	}
}

@media (max-width:575) {
	div.range-slider {
		width: 99%
	}
	.propiedad-similar .carousel-item {
		min-height: 340px
	}
	.propiedad .carousel-item {
		min-height: 325px
	}
	.propiedad .card.mb-4.box-shadow {
		max-height: 665px;
		min-height: 665px
	}
}

@media (max-width:500px) {
	.custom-home-1 .titulo,
	.custom-home-2 .titulo,
	.custom-team-1 .titulo,
	.custom-team-3 .titulo,
	.custom-team-5 .titulo {
		font-size: 22px;
		line-height: 32px
	}
	.custom-contact-2 p {
		font-size: 26px;
		line-height: 26px
	}
	.custom-home-1 .subtitulo,
	.custom-home-2 .subtitulo,
	.custom-team-1 .subtitulo,
	.custom-team-3 .subtitulo,
	.custom-team-5 .subtitulo {
		display: contents;
		font-size: 22px
	}
	.custom-home-1 .contenido,
	.custom-home-2 .contenido,
	.custom-team-1 .contenido,
	.custom-team-3 .contenido,
	.custom-team-5 .contenido {
		font-size: 20px;
		line-height: 22px
	}
	header #idiomas {
		right: 55px
	}
}

.propiedad .card.mb-4.box-shadow {
	max-height: 650px;
	min-height: 650px
}

@media (min-width: 1200px) and (max-width: 1800px){
	.propiedad .card.mb-4.box-shadow {
		max-height: 680px;
		min-height: 680px;
	}
}
@media (min-width: 767px) and (max-width: 1200px){
	.propiedad .card.mb-4.box-shadow {
		max-height: 670px;
		min-height: 670px
	}
}
@media (max-width:767px) {
	.propiedad .card.mb-4.box-shadow {
		max-height: 635px;
		min-height: 635px
	}
	.tourv{
		width: 100%;
	}

}
[type=button] {
	-webkit-appearance: none!important;
	-webkit-border-radius: 0!important
}

.sombra {
	text-shadow: 2px 3px 9px rgba(0, 0, 0, .8)
}

.dmbcap {
	display: none!important
}

.iti.iti--allow-dropdown {
	width: 100%!important
}

.progressbar {
	counter-reset: step
}

.progressbar li {
	list-style-type: none;
	width: 50%;
	float: left;
	font-size: 12px;
	position: relative;
	text-align: center;
	text-transform: uppercase;
	color: #7d7d7d
}

.progressbar li:before {
	width: 30px;
	height: 30px;
	content: counter(step);
	counter-increment: step;
	line-height: 30px;
	border: 2px solid #7d7d7d;
	display: block;
	text-align: center;
	margin: 0 auto 10px auto;
	border-radius: 50%;
	background-color: #fff
}

.progressbar li:after {
	width: 100%;
	height: 2px;
	content: '';
	position: absolute;
	background-color: #bc1e2e;
	top: 15px;
	left: 0;
	z-index: -1
}

.progressbar li.active {
	color: #bc1e2e
}

.progressbar li.active:before {
	border-color: #bc1e2e
}

.progressbar li.active+li:after {
	background-color: #7d7d7d
}

ul.fourcolumns {
	columns: 4;
	-webkit-columns: 4;
	-moz-columns: 4
}

.step {
	border: 1px solid #bc1e2e
}

.step h2 {
	border-bottom: 1px solid #000
}

.step label {
	font-weight: 700
}

#step2 {
	display: none
}

.banner-cookies {
	z-index: 10000;
	display: none;
	width: 100%;
	position: fixed;
	bottom: 0;
	background-color: #bc1e2e
}

.botones-cookies a {
	width: 32%;
	text-align: center;
	display: inline-block;
	color: #fff !important;
	text-decoration: none;
	padding-bottom: 20px
}

.banner-cookies p,
.opciones,
.tcookies,
.tiposcookies {
	padding: 10px 30px
}

.botones-cookies {
	margin: 20px auto
}

.cuadro-opciones {
	border: 1px solid #000;
	width: 80%;
	padding-left: 30px;
	display: inline-block;
	padding: 10px
}

.opcion {
	display: inline-block;
	text-align: center;
	width: 16%;
	color: #fff;
	font-size: 12px
}

.btndetalles {
	width: 15%;
	display: inline-block;
	text-align: center;
	font-size: 12px
}

.btndetalles a {
	text-decoration: none;
	color: #fff
}

.tiposcookies h3 {
	color: #fff;
	font-size: 12px
}

.tiposcookies p {
	padding: 0;
	text-align: center;
	color: #fff;
	width: 50%;
	margin: 10px auto;
	font-size: 12px
}

.capa-infoc {
	padding: 10px!important;
	margin: 0 auto!important
}

.tcookies {
	text-align: center
}

.tcookies table {
	width: 60%;
	margin: 5px auto;
	color: #fff;
	font-size: 12px
}

.tablacookies th {
	font-weight: 700;
	padding: 5px;
	background-color: #999
}

.tablacookies td {
	padding: 10px;
	border: 1px solid #ccc
}

.tablacookies p {
	padding: 0
}

.opciones,
.tcookies,
.tiposcookies {
	display: none
}

.botonaceptar {
	text-align: center
}

#btnaceptar {
	text-decoration: none;
	color: #fff
}

.opciones {
	margin-bottom: 60px
}

.etiquetasprecio label,
.labelsocultos {
	font-size: 12px
}

.labelsocultos {
	display: none
}

#precios-r {
	display: none
}

.form-group.required:before {
	content: "*";
	color: red;
	float: left;
	margin-top: 5px;
	margin-left: -15px
}

.form-group.required {
	padding-left: 15px
}

label.required:after {
	content: "*";
	color: red;
	float: left
}

@media (max-width:767px) {
	#rangosprecios1,
	#rangosprecios2,
	#rangosprecios3,
	#rangosprecios4 {
		width: 98%
	}
	#rangosprecios2,
	#rangosprecios4,
	.labelsocultos {
		margin: .25rem!important
	}
	.relleno {
		display: none
	}
	.labelsocultos {
		display: block
	}
	.etiquetasprecio {
		display: none
	}
	.opcion{
		margin-left: 30px;
		width: 100%;
	}
}

@media screen and (-webkit-min-device-pixel-ratio:0) { 
  #contact_form .form-check-input{
  	position: inherit !important;
  	
  }
} 

/*.carousel-control-prev-icon,
.carousel-control-next-icon {
  height: 100px;
  width: 100px;
  outline: black;
  background-size: 100%, 100%;
  border-radius: 50%;
  background-image: none;
}*/
.carousel-control-prev-icon{
	background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23000' viewBox='0 0 8 8'%3E%3Cpath d='M5.25 0l-4 4 4 4 1.5-1.5-2.5-2.5 2.5-2.5-1.5-1.5z'/%3E%3C/svg%3E")
}
.carousel-control-next-icon{
	background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23000' viewBox='0 0 8 8'%3E%3Cpath d='M2.75 0l-1.5 1.5 2.5 2.5-2.5 2.5 1.5 1.5 4-4-4-4z'/%3E%3C/svg%3E")
}
.carousel-control-next, .carousel-control-prev{
	opacity: 0.7
}
/*.carousel-control-next-icon:after
{
  content: '>';
  font-size: 45px;
  color: black;
  font-weight: bold;
  font-family: cursive;
}

.carousel-control-prev-icon:after {
  content: '<';
  font-size: 45px;
  color: black;
  font-weight: bold;
  font-family: cursive;
}*/
/*Botones de ficha propiedad*/
.card-buttons{
	margin: 15px 0px 5px 0px;
}
.card-buttons div{
	display: inline-block;
	width: 49%;
	text-align: center;
}
.btncontact{
	border-radius: 5px !important;
}
.btncall{
	color: #bc1e2e;
	background-color: #fff;
	border-radius: 5px !important;
	border: 1px solid #bc1e2e;
}
.tourv{
	width: 100%;
	height: 550px;
}
.titles{
	color: #bc1e2e;
}
#slideInicio .carousel-item video{
	position: absolute;
  object-fit: cover;
  top: 0;
  left: 0;
  min-height: 800px;
}
.ficTitulo .card-text strong{
	text-transform: none;
	color: #212529 !important;
	display: initial;
}	
@media screen and (max-width:1050px){
	.ekko-lightbox-nav-overlay a{
		opacity: 1 !important;
		color: #000 !important;
	}
	.ekko-lightbox .modal-content{
		position: relative;
		
		height: auto;
		z-index: 9999;
		overflow: hidden;
		margin: 0px auto;
	}
	.ekko-lightbox-nav-overlay{
		height: fit-content !important;
		top: 40% !important;
	}
	.ekko-lightbox-container > div.ekko-lightbox-item{
		display: flex;
		align-items: center;
	}
}
@media screen and (max-width:550px){
	.ekko-lightbox-nav-overlay a{
		opacity: 1 !important;
	}
	.ekko-lightbox-nav-overlay{
		top: 45% !important;
	}
	.ekko-lightbox .modal-content{
		width: 100% !important;
	}
	
	
}
@media screen and (max-width:768px){
	.carousel-footer .contacto{
		display: none;
	}
	.carousel-footer .social{
		max-width: 100%;
    	width: 100%;
    	flex: 0 0 100%;
	}
	.carousel-footer {
		margin-top: -62px;
	}
	
}
@media screen and (min-width:950px){
	.buscador{
		position: sticky;
		top: 0;
		z-index: 999;
	}
}
#idiomas .dropdown-menu{
	z-index: 999999;
}
.custom-hover-link{
	color: #000 !important;
}
.custom-hover-link:hover {
    color: #000 !important; 
    text-decoration: none;
}

.property-image-wrapper {
    position: relative;
    overflow: hidden; /* por si la cinta sobresale */
}

.ribbon {
    width: 180px;
    height: 200px;
    overflow: hidden;
    position: absolute;
    top: -15px;
    left: -20px;
}

.ribbon span {
    position: absolute;
    display: block;
    width: 200px;
    padding: 10px 0;
    background: #e60000;
    color: #fff;
    font-weight: bold;
    text-align: center;
    text-transform: uppercase;
    transform: rotate(-45deg);
    -webkit-transform: rotate(-45deg);
    
    font-size: 13px;
    left: -25px;
    top: 50px;
}

.ekko-lightbox .modal-dialog {
    max-width: 100% !important;     /* ancho completo */
    height: 100% !important;        /* alto completo */
    
}

/* Imagen adaptada */
.ekko-lightbox .modal-content {
    height: 100% !important;
}

.ekko-lightbox .modal-body {
    
    height: 100%;
    
}
.ekko-lightbox .modal-footer {
	height: 100px;
}
.ekko-lightbox .lightbox-content {
	width: 60%;
	margin: 0px auto;
	
}
.custom-height{
	height: 75vh !important;
}


.custom-height3{
	height: 75vh;
}

@media screen and (max-width: 1050px){
	.custom-height3{
		height: auto;
	}
}
.bg-imgs{
	background-size: cover !important;
}
@media screen and (max-width: 950px){
	
	.custom-height{
		height: 65vh !important;
	}
	.custom-height2{
		height: 50vh;
	}
	.custom-height3{
		height: auto;
	}
	.ekko-lightbox .lightbox-header div a img{
		width: auto;
		height: 30px;
	}
	.ekko-lightbox .lightbox-header div{
		padding: 8px 16px !important;
		width: 20%;
	}
	.custom-padding{
		padding-top: 56.25%;

		
	}
	.ekko-lightbox .lightbox-content{
		width: 100%;
		display: grid;
		align-items: center;
	}
}
.hover-color:hover{
	background-color:#f3f3f3;
}
.hover-btn:hover{
	color: #bc1e2e !important;
	background-color: white;
	text-decoration: none;
}
.hover-btn{
	background-color: #bc1e2e;
	color: white !important;
	text-decoration: none;
}
.hover-btn a{
	color: white !important;
}
.hover-btn a:hover{
	color: #bc1e2e !important;
	text-decoration: none;
}

.lightbox-header{
	height: 10vh;
}
.lightbox-footer{
	height: 15vh;
}
.lightbox-content{
	height: 75vh;
}

@media screen and (max-width: 1050px){
	.ekko-lightbox .lightbox-header{
		height: 10vh;
	}
	.ekko-lightbox .lightbox-footer{
		height: 25vh;
		font-size: 14px;
	}
	.ekko-lightbox .lightbox-content{
		height: 65vh;
	}
	.bg-imgs{
		background-size: contain !important;
		background-repeat: no-repeat !important;
	}

}

@media screen and (max-width: 900px){
	.ekko-lightbox .lightbox-header div a img{
		width: auto;
		height: 20px;
	}
	.ekko-lightbox .lightbox-header div{
		padding: 5px !important;
		width: 15%;
	}
	.justify-content-end{
		justify-content: normal !important;
		font-size: 13px;
	}
}

@media screen and (max-width: 900px) and (min-width: 600px){
	.letra-tablet{
		font-size: 14px;
		padding: 0px 4px;
	}
	#rangosprecios1,#rangosprecios2,.buscador button{
		width: calc(100% - 8px);
	}
	.custom-padding{
		padding-top: 0px;
	}
	#btnbuscador, #rangosprecios2{
		margin: .25rem !important;
	}
}

.lightbox-footer .fa-phone {
  -webkit-text-stroke: 1px white; 
  color: transparent;
}
/* Fallback fullscreen simulado */
.lightbox-fallback-fullscreen {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 100% !important;
  background: #000; /* Fondo negro para centrar */
  z-index: 9999 !important;
  display: flex;
  justify-content: center;
  align-items: center;
}

.lightbox-fallback-fullscreen img {
  max-width: 100%;
  max-height: 100%;
}
:fullscreen {
  background: white;
}
.fs-close{
	position:absolute; 
	top:10px; 
	right:10px; 
	background:#000; 
	color:#fff; 
	border:none; 
	font-size:20px; 
	padding:5px 10px; 
	cursor:pointer; 
	display:none;
	z-index: 9999;
}
.custom-height-a{
	height: 100vh;
}

.fullscreen-overlay {
    position: fixed;
    top: 0; left: 0;
    width: 100vw; height: 100vh;
    background: rgba(265,265,265,0.95);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 9998;
  }
.fullscreen-overlay img, .fullscreen-overlay .carousel {
    width: 100%;
   
}

.fullscreen-overlay .carousel-item {
  text-align: center;
}

.fullscreen-overlay .carousel-item img,
.fullscreen-overlay .carousel-item div {
  width: 100%;
  margin: auto;
}

@media screen and (max-width: 950px) and (min-width: 550px) {
  .bfaf {
    height: 65vh; 
    display: flex;
    align-items: center;
    justify-content: center;
    width: 50%;
    margin: 0px auto;
  }

  .bfaf img {
    max-height: 100%;
    
  }
   .ekko-lightbox .lightbox-header div {
	    padding: 3px !important;
	    width: 20%;
  }
  .custom-padding{
  	padding-top: 0px;
  }
}

@media screen and (max-width: 950px) and (min-width: 550px) and (max-height: 1300px) and (min-height: 700px){

	.bfaf {
	    height: auto; 
	    display: flex;
	    align-items: center;
	    justify-content: center;
	    width: 70%;
	    margin: 0px auto;
	  }

}

@media (max-width: 768px) {
    .mobile-fixed-buttons {
        position: fixed;
        bottom: 0;
        left: 0;
        width: 100%;
        padding: 10px 60px 10px 60px;
        /*box-shadow: 0 -2px 5px rgba(0,0,0,0.1);*/
        z-index: 9999;
        display: flex;
        justify-content: space-around;
        gap: 10px;
    }
    .mobile-fixed-buttons .btn {
        flex: 1; /* Ocupan todo el ancho proporcional */
    }
    .text-btn{
    	display: none;
    }

}
@media screen and (min-width: 1200px){
	.bfaf{
		height: 75vh;
	}
}
@media screen and (min-width: 1300px){

	.media-block {
	  display: flex;
	  flex-direction: column;
	  justify-content: space-between;
	  height: 300px; /* igual que el carrusel */
	}
	
	.media-block .video-wrapper iframe, .media-block .image-wrapper .carousel-item, .media-block .image-wrapper img{
	  width: auto !important;
	  aspect-ratio: 16 / 9;
	  max-width: 100%;

	}
	.ajust-content{
		display: inline-block; 
		width: auto;
		height: auto;
		max-width: 100%;
	}
	/*.media-block-prop{
		display: flex !important;
		flex-direction: column;
		justify-content: space-between;
	}*/
	.media-block-prop .image-wrapper {
	  height: 50%;
	  
	}
	.media-block-prop .image-wrapper img{
		height: 100%;
	    aspect-ratio: 16/9;
	    max-width: 100%;
	    width: auto;
	    
	}
}