/*
Theme Name: Hello Elementor XF Child
Theme URI: https://xenonfactory.es
Template: hello-elementor
Author: Elementor Team & XenonFactory.es
Author URI: https://xenonfactory.es
Description: Versión básica de theme compatible con Elementor y editado por XenonFactory.es
Tags: flexible-header,custom-colors,custom-menu,custom-logo,featured-images,rtl-language-support,threaded-comments,translation-ready
Version: 2.3.1.1613047641
Updated: 2021-02-11 13:47:21

*/

/* XF BASICS */

/* QUITAR MARGEN INFERIOR <P> */
.elementor-text-editor p:last-child,
.elementor-widget-container p:last-child
{ 
	margin-bottom:0px;
}

/* BOTÓN BARRA COOKIES */
#cn-notice-buttons .button
{
	padding: 5px 10px;
	border: 1px solid #fff;
	color: #fff
}


/* INVERTIR TEXTO CORREO */
.ltrText
{
	unicode-bidi: bidi-override;
	direction: rtl
}

html, label, input[type=checkbox]
{
	cursor: default;
}


/* LISTAS RGPD */
ol {
	padding-inline-start: 15px !important;
}

ul {
	margin-block-start: -0.5em !important;
	margin-block-end: 1em !important;
	padding-left: 20px !important;
}

	ul.elementor-icon-list-items {
		margin-block-start: 0 !important;
		margin-block-end: 0 !important;
		padding-left: 0 !important;
	}

#cmplz-document {
	max-width: 100%;
	text-align: justify;
}

.lstxf ul li {
	line-height: 1.5em !important;
    margin-bottom: 15px !important;
}
/*  */


/* MENÚ */
.elementor-nav-menu__align-center .elementor-nav-menu {
	margin-block-start: 0 !important;
	margin-block-end: 0 !important;
	padding-left: 0 !important;
}

#barnav ul li:nth-child(4n) a {
	color: #fa8304 !important;
	text-shadow: 0px 0px 2px #FFFFFF;
}

/*
#mnusticky .elementor-element:nth-child(2) {
	margin-right: -20px;
}

.elementor-invisible {
    will-change: opacity, transform;
}

.elementor-sticky {
    will-change: position, top;
}
/* MENÚ */

/* CURSOR RATÓN */
@media (min-width: 1279px) {
	#custom-cursor {
	  position: fixed;
	  pointer-events: none; 
	  width: 10px;
	  height: 10px;
	  background-color: #0878ab; 
	  border-radius: 50%; 
	  transform: translate(-50%, -50%);
	  z-index: 9999;
	  transition: background-color 0.2s ease;
	}
}
/* CURSOR RATÓN */


/* HOME */
#h1home {
    width: 0px;
    height: 0px;
    overflow: hidden;
}

.txt-indx strong,
.bluexf {
	color: #0878ab;
}
.astxf {
	color: #a8d0e6;
	font-size: 45px;
}
/* HOME */


/* SCROLL – VARIANTE 1: Azul sobrio (pista azulada, thumb azul sólido) */
::-webkit-scrollbar { width: 8px; }
::-webkit-scrollbar-track { background: #a8d0e6; }
::-webkit-scrollbar-thumb {
  background: linear-gradient(to bottom, #0878ab, #0878ab);
  border-radius: 4px;
}
::-webkit-scrollbar-thumb:hover {
  background: linear-gradient(to bottom, #e65b54, #ff6f61);
}
/* FIN */




/* CARRUSEL */
.elementor-headline-animation-type-clip .elementor-headline-text-wrapper {
	padding: 0 !important;
}

.elementor-headline-dynamic-wrapper.elementor-headline-text-wrapper {
/*.elementor-headline-dynamic-text.elementor-headline-text-active {*/
	display: block !important;
	margin: -75px 0 0 40px !important;
}

.elementor-headline-animation-type-clip .elementor-headline-dynamic-text.elementor-headline-text-active {
	line-height: 1.15em;
}

@media (max-width: 425px) {
	.elementor-headline-dynamic-wrapper.elementor-headline-text-wrapper {
		margin: -55px 0 0 0 !important;
	}
	
	.elementor-headline-animation-type-clip .elementor-headline-dynamic-text.elementor-headline-text-active {
		line-height: 0em;
	}
}

.elementor-headline-animation-type-clip .elementor-headline-dynamic-wrapper:after {
	background-color: #fff !important;
}
/* CARRUSEL */


/* PORTAFOLIOS INDEX */
/* 1) El contenedor de la tarjeta: contexto de posicionamiento y recorte */
.box-port-indx {
  position: relative;   /* asegura contexto para el absoluto del fondo */
  overflow: hidden;     /* ya está en Elementor, se refuerza aquí */
}

/* 2) El widget de imagen se comporta como fondo a pantalla del contenedor */
.box-port-indx .img-port-indx.elementor-widget-image {
  position: absolute !important;
  inset: 0;             /* top/right/bottom/left: 0 */
  z-index: 0;           /* por detrás del resto de widgets */
  width: 100%;
  height: 100%;
  margin: 0;
}

/* 3) Normalizar wrappers para ocupar todo el alto/ancho */
.box-port-indx .img-port-indx .elementor-widget-container,
.box-port-indx .img-port-indx figure,
.box-port-indx .img-port-indx a {
  display: block;
  width: 100%;
  height: 100%;
  margin: 0;
}

/* 4) El <img> rellena como un background cover */
.box-port-indx .img-port-indx img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;              /* clave: rellena sin deformar */
  object-position: center center; /* centrado del recorte */
}

/* 5) Contenido por encima del “fondo” */
.box-port-indx .tit-port-indx,
.box-port-indx .txt-port-indx {
  position: relative;
  z-index: 1;
}


@media (max-width: 1334px) {
	.box-port-indx .img-port-indx img {
		filter: brightness(.4) !important;
		-webkit-filter: brightness(.4) !important;
		transition: filter .25s ease !important;
	}
	
	.box-port-indx .img-port-indx img:hover {
		filter: brightness(.9) !important;
		-webkit-filter: brightness(.9) !important;
		transition: filter .25s ease !important;
	}
}


.caja-text {
	overflow: hidden !important;
}

@media (min-width: 1334px) 
{
	.tit-port-indx,
	.txt-port-indx {
		display: none !important;
	}
}

.box-port-indx:hover .tit-port-indx, 
.box-port-indx:hover .txt-port-indx {
	display: block !important;
}
/* PORTAFOLIOS INDEX */


/* TESTIMONIOS */
#sldr-rvws .swiper-slide {
	box-shadow: rgba(0, 0, 0, 0.1) 0px 0px 5px 0px !important;
}
/* TESTIMONIOS */


/* ACORDEÓN FAQs */
@media (max-width: 425px) {
	.elementor-widget-n-accordion .e-n-accordion-item-title {
		background-color: transparent !important;
		border: 0 !important;
		color: #303330 !important;
	}
	
		.elementor-widget-n-accordion .e-n-accordion-item:not([open]):hover>.e-n-accordion-item-title .e-n-accordion-item-title-icon span>i {
			color: #303330 !important;
		}
		
	
	.elementor-widget-n-accordion .e-n-accordion-item[open]>.e-n-accordion-item-title,
	.elementor-widget-n-accordion .e-n-accordion-item[open]>.e-n-accordion-item-title .e-n-accordion-item-title-icon span>i {
		color: #0878ab !important;
	}
}
/* ACORDEÓN FAQs */


/* CONTACTO */
.elementor-field-group .elementor-field:not(.elementor-select-wrapper):focus {
  background-color: #f0f0f0 !important;
}

.elementor-field-group-RGPD label {
	font-size: 85%;
}

.popup-link {
	color: #303330 !important
}
/* CONTACTO */


.mes {
	font-size: 60% !important;
}


/* POST */
.cntnt-post .elementor-widget-container > p:first-of-type::first-letter {
  text-transform: uppercase;
  font-size: 40px;
}

.cntnt-post h2 {
	margin: 30px 0 0 0 !important;
}

.cntnt-post h3 {
	margin: 30px 0 5px 0 !important;
}

.cntnt-post table {
	margin-top: 20px;
}

@media screen and (max-width: 767px) {
	.cntnt-post table {
	  width: 100% !important;
	  max-width: 100% !important;
	  table-layout: fixed !important;
	  border-collapse: collapse !important;
	}

	.cntnt-post th, td {
	  padding: 0.5em 1em;
	  word-break: break-word !important;
	  text-align: left !important;
	}
}

.cntnt-post h2,
.cntnt-post h3 {
	margin: 48px 0 16px 0 !important;
}

.elementor-toc__header {
	padding: 10px 0 10px 20px !important;
}

.elementor-toc__body {
	padding: 30px 0 0 0 !important;
}

.elementor-toc__list-item-text {
	line-height: 1em;
	margin-top: 5px;
}

@media (max-width: 1280px) {
	.elementor-toc__header {
		padding: 10px 0 10px 10px !important;
	}
}

#elementor-toc__edb82e1 > ol.elementor-toc__list-wrapper {
	padding: 0 !important;
}

.cntnt-post img {
	border-radius: 20px !important;
}
/* POST */


/* CTA POST */
.cta-box {
	background-color: #0878ab;
	border-radius: 25px;
	padding: 40px;
	margin: 35px 0;
	text-align: center;
	color: #fff;
	line-height: 1.5;
}

.cntnt-post .cta-box h2 {
	margin: 0 0 0.5rem !important;
	font-size: 25px !important;
	font-weight: 700;
	color: #fff !important;
}

.cta-box p {
	margin: 30px 0 0 0 !important;
	font-size: 15px !important;
	color: #a8d0e6 !important;
}

.cta-box button a {
	color: #fff;
	text-decoration: none;
	text-transform: uppercase;
	font-size: 15px !important;
}

.cta-box button a:hover {
	color: #fff;
	background-color: #e65b54;
}

@media (max-width: 1280px) {
	.cta-box button a {
		font-size: 13px !important;
	}
}
/* CTA POST */




