/*
Theme Name: ONLINE VALLES
Template: hello-elementor

*/


/* Theme admin customization starts here
-------------------------------------------------------------- */
.sbi_notice,
.trp-notice.error,
.sbi_notice.sbi_review_notice_step,
.trp-notice.trp-narrow.notice.notice-info,
.trp-notice.trp-narrow {
	display: none;
}

.grecaptcha-badge { 
    visibility: hidden !important;
}



/* Theme customization starts here
-------------------------------------------------------------- */

@font-face {
    font-family: 'Inter';
    src: url('/wp-content/uploads/2024/12/Inter-VariableFont_opszwght.ttf') format('truetype');
    font-display: swap;
}

.elementor-kit-6 {
	background-image: linear-gradient(rgba(255, 255, 255, .025) 1px, transparent 1px), linear-gradient(90deg, rgba(255, 255, 255, .025) 1px, transparent 1px);
    background-size: 80px 80px;
}

.hero-bg {
	position: absolute !important;
    inset: 0;
    background: radial-gradient(ellipse 60% 80% at 80% 50%, rgba(26, 86, 219, .22) 0%, transparent 70%), radial-gradient(ellipse 40% 60% at 10% 80%, rgba(10, 191, 173, .12) 0%, transparent 60%);

}






body {
	
	overflow-x: hidden;
}



.degradat-blau {
	
	    background: -webkit-linear-gradient(left, #06d0f9, #8b47eb);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

.degradat-1 {
	
	    background: -webkit-linear-gradient(left, #32a44f, #095ea4);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}


.degradat-2 {
	
	    background: -webkit-linear-gradient(left, #6e4aff, #ffa836);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}




.fixed-header {
  margin-top: 20px !important;
  z-index: 999 !important;
  position: fixed  !important;
}






#megamenu {
	position: absolute;
	top: 80px;
	left: 0;
	right: 0;
	z-index: 90;
	height: 0;
	overflow: hidden;
	opacity: 1;
	visibility: hidden;
	transform: translateY(0); /* Inicialmente desplazado hacia arriba */
	transition: all 0.25s ease-in-out, transform 0.25s ease-in-out;
}


.postid-63 #megamenu,
#megamenu.show {
	height: auto;
	opacity: 1;
	visibility: visible;
	transform: translateY(0); /* Mostrar desplazándose hacia abajo */
}

@keyframes expandMenu {
	from {
		transform: translateY(-180px);
	}
	to {
		transform: translateY(0);
	}
}

@keyframes collapsedMenu {
	from {
		transform: translateY(0);
	}
	to {
		transform: translateY(-180px);
	}
}


.toggle-menu {
	display: flex;
}
.toggle-menu  a {
       padding: 0;
    border-radius: 0;
    outline: 0;
    min-height: 40px;
    position: relative;
	    display: flex;
    align-items: center;
    margin-left: 0;
}

.toggle-menu > a span {
  display: table-cell;
  vertical-align: middle;
}
.toggle-menu > a span em {
  /* this is the menu icon */
  display: block;
  position: relative;
  height: 2px;
  width: 32px;
  background-color: transparent;
  backface-visibility: hidden;
  /* this is the menu central line */
  margin: auto;
  transition: background-color 0.2s;
  background-color: #fff;
}
/*
@media screen and (prefers-color-scheme: dark) {
  .toggle-menu > a span em {
    background-color: transparent;
  }
}
*/
.toggle-menu > a span em::before,
.toggle-menu > a span em::after {
  /* this is the menu icon */
  display: block;
  height: 2px;
  width: 32px;
  background-color: #fff;
  backface-visibility: hidden;
  position: absolute;
  content: "";
  left: 0;
  transition: transform 0.2s;
}

/* Top line */
.toggle-menu > a span em::before {
  top: -10px;
  transform: rotate(0);
}

/* Bottom line */
.toggle-menu > a span em::after {
  top: 10px;
  transform: rotate(0);
}

/* Middle line */
.toggle-menu > a span em {
  display: block;
  position: relative;
  height: 2px;
  width: 32px;
  background-color: #fff;
  backface-visibility: hidden;
  transition: background-color 0.2s;
}

/* Hover state */


.toggle-menu > a.open span em {
  background-color: transparent;
}

.toggle-menu > a.open span em::before {
  transform: translateY(10px) rotate(45deg);
}

.toggle-menu > a.open span em::after {
  width: 30px;
  transform: translateY(-10px) rotate(-45deg);
}

.toggle-menu > a.open, .navbar-toggler:focus {
  box-shadow: none;
  
}










.post-content  .elementor-widget-text-editor > :is(h2,h3,h4,h5,h6):first-child {
  margin-top: 0;
}

.post-content h2, 
.post-content h3, 
.post-content h4, 
.post-content h5, 
.post-content h6 {
    margin-top: 2em; /* Margen por defecto */
    margin-bottom: 0.5em;
}




.post-content ul,
.post-content ol {
	margin-bottom: 2em; 
}

.post-content .wp-block-image,
.post-content .wp-block-embed,
.post-content .wp-block-table {
	margin: 2em auto;
}

.post-content a {
	text-decoration: underline !important;
}


.post-content table td, .post-content table th {
    padding: 6px 6px;
	line-height: 1.2;
	text-align: left;
}

@media (min-width: 1024px) {
	.post-content table td, .post-content table th {
		padding: 8px 16px;
	}
}





.encima {
	position: relative;
	z-index: 10;
}

.overflow-x-h,
.econ.overflow-x-h {
	overflow-x: hidden !important;
}

.relative {
	position: relative;
}

b, strong {
	font-weight: 600 !important;
}

.align-top {
	margin-bottom: auto !important;
}
.align-right {
	margin-left: auto !important;
}
.align-bottom {
	margin-top: auto !important;
}
.align-left {
	margin-right: auto !important;
}





.imagen-avanzada {
    width: 100%;
    overflow: hidden;
}

/* Proporciones aplicadas directamente a la imagen */
.imagen-avanzada.land43  img { aspect-ratio: 4 / 3; }
.imagen-avanzada.land32  img { aspect-ratio: 3 / 2; }
.imagen-avanzada.land169 img { aspect-ratio: 16 / 9; }
.imagen-avanzada.land21  img { aspect-ratio: 2 / 1; }
.imagen-avanzada.land31  img { aspect-ratio: 3 / 1; }
.imagen-avanzada.land41  img { aspect-ratio: 4 / 1; }
.imagen-avanzada.port34  img { aspect-ratio: 3 / 4; }
.imagen-avanzada.port23  img { aspect-ratio: 2 / 3; }
.imagen-avanzada.square  img { aspect-ratio: 1 / 1; }

.imagen-avanzada img {
    width: 100%;
    height: auto;            /* importante */
    object-fit: cover;
    display: block;
    transition: transform 300ms ease-in-out;
}




.imagen-mismo-altura img {
    width: auto;
    height: 100%;            /* importante */
    display: block;
    transition: transform 300ms ease-in-out;
}







/* elementor */
.boton-100 .elementor-button-link {
	width: 100%;
}

.boton-100 .elementor-button-content-wrapper {
	width: 100%;
	display: flex;
	justify-content: space-between;
}







/* formulari */

.drets {
	text-align: left;
	font-size: 12px;
	line-height: 1.1;
	margin: 16px 0;
}
.formulari-footer .drets {
	color: #fff;
}
.formulari-footer .drets a {
	color: #fff !important;
	text-decoration: underline !important;
}

.drets label {
	line-height: 1.1;
	display: flex;
	align-items: center;
	gap: 10px;
}

.drets .wpcf7-list-item {
	margin: 0;
	width: 100%;
}

.drets .wpcf7-list-item-label {
	width: calc(100% - 30px);
	text-align: left;
}






.wpcf7-acceptance [type=checkbox] {
	appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    width: 16px;
    height: 16px;
    border: 1px solid #1e1e1c;
    background: transparent;
    border-radius: 0;
    position: relative;
    cursor: pointer;

}

.wpcf7-acceptance input[type="checkbox"]:checked {
    background-color: transparent;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='20' viewBox='0 0 24 24' width='20' fill='%23000000'%3E%3Cpath d='M0 0h24v24H0V0z' fill='none'/%3E%3Cpath d='M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41L9 16.17z'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: center;
    background-size: 14px;
}

.text-white .wpcf7-acceptance [type=checkbox] {
	border: 1px solid #fff;
}

.text-white .wpcf7-acceptance input[type="checkbox"]:checked {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='20' viewBox='0 0 24 24' width='20' fill='white'%3E%3Cpath d='M0 0h24v24H0V0z' fill='none'/%3E%3Cpath d='M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41L9 16.17z'/%3E%3C/svg%3E");
    
}

.formulari .wpcf7-not-valid-tip {
    display: none !important;
}

.formulari input:focus {
	outline: none;
}








.formulari a {
	color:#000;
	text-decoration: underline !important;
}
.formulari a:hover {
	color:#222;
}
.formulari .form-group {
	display: flex;
	align-items: center;
	flex-direction: column;
}
.formulari .form-group .label {
	display: block;
	white-space: nowrap;
	margin-right: auto;
	font-size: 12px;
	text-align: left;

}

.formulari .form-group .wpcf7-form-control {
	border-radius: 4px;
	border-top: 0;
	border-left: 0;
	border-right: 0;
	border: 1px solid #ccc;
	background-color: #fff;
	padding: 4px 8px;
	font-size: 14px;
	margin-top: 4px;
}

.formulari .form-textarea  {
	width: 100%;
	margin-top: 8px;
}

.formulari .form-textarea .wpcf7-form-control-wrap {
	display: block;
}


.formulari .wpcf7-textarea {
	border-radius: 4px;
	border-top: 0;
	border-left: 0;
	border-right: 0;
	border: 1px solid #ccc;
	background-color: #fff;
}

.formulari .wpcf7-form-control-wrap {
	width: 100%;
}

.formulari .enviar {
	text-align: center;
}
.formulari .enviar p {
	display: flex;
	flex-direction: column;
}

.formulari .enviar .wpcf7-submit {
    background-color: var(--e-global-color-secondary);
    font-size: 16px;
	line-height: 1;
    font-weight: 700;
    fill: #fff;
    color: #fff;
    border-style: none;
    border-radius: 10px;
    padding: 12px 32px;
margin-top: 20px;

}


.elementor-kit-6 a.skip-link {
	color: #000;
}


.formulari-row {
	display: grid;
	grid-template-columns: repeat(1, minmax(0, 1fr));
	column-gap: 10px;
	row-gap: 10px;
}
.formulari-row p {
	margin: 0;
}


@media (min-width: 766px) {
	.formulari-row {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.formulari-col-2 {
		grid-column: span 2;
	}

}






/* botones */
.custom-button {
	color: #ffffff;
	text-transform: uppercase;
	-webkit-user-select: none;
	background-color: transparent;
	cursor: pointer;
	user-select: none;
	font-size: 12px;
	line-height: 1;
	font-weight: 700;
	text-decoration: none;
	display: grid;
	padding: 0;
	width: 100%;
	border: 0;
	text-align: left;

	--elastic-ease-out: linear(
		0,
		0.5737 7.6%,
		0.8382 11.87%,
		0.9463 14.19%,
		1.0292 16.54%,
		1.0886 18.97%,
		1.1258 21.53%,
		1.137 22.97%,
		1.1424 24.48%,
		1.1423 26.1%,
		1.1366 27.86%,
		1.1165 31.01%,
		1.0507 38.62%,
		1.0219 42.57%,
		0.9995 46.99%,
		0.9872 51.63%,
		0.9842 58.77%,
		1.0011 81.26%,
		1
	);

	transition: transform 0.5s var(--elastic-ease-out);
	-webkit-tap-highlight-color: transparent;
}

.custom-button--white {
	color: #090909;
}



.custom-button_bg {
	background-color: #090909;
	grid-area: 1 / 1;
	display: grid;
	height: 100%;
	transition:
		scale 0.15s cubic-bezier(0.59, 1, 0.88, 1.01),
		transform 0.15s cubic-bezier(0.59, 1, 0.88, 1.01);
}

.custom-button--white .custom-button_bg {
	background-color: #fff;
}

.custom-button_inner {
	grid-gap: 0.375rem;
	grid-area: 1 / 1;
	grid-template-columns: 1fr auto;
	align-items: center;
	padding: 14px 12px 14px 14px;
	display: grid;
	position: relative;
	overflow: hidden;
}

.custom-button--secondary .custom-button_inner {
	border: 2px solid;
	padding-block: 12px;
}

.custom-button_icon {
	transition: 0.4s cubic-bezier(0.32, 0.72, 0, 1);
	height: 20px;
	width: 20px;
	overflow: hidden;
	grid-area: 1 / 2 / 1 / 2;
	display: block;
}

.custom-button_icon svg {
	transition: 0.4s cubic-bezier(0.32, 0.72, 0, 1);
	height: 20px;
	width: 20px;
	display: block;
}

.custom-button:is(:hover, :focus-visible) .custom-button_icon svg {
	transform: translateY(-100%);
}

.custom-button_text {
	translate: 0 0 0;
	clip-path: inset(0% 0% 0% 0%);
	transition:
		translate 0.45s cubic-bezier(0.32, 0.72, 0, 1),
		clip-path 0.45s cubic-bezier(0.32, 0.72, 0, 1);

	grid-area: 1 / 1 / 1 / 1;
}

.custom-button_text-tertiary {
	border-bottom: 2px solid;
	padding-bottom: 2px;
}

.custom-button_inner::after {
	content: attr(data-text);
	display: block;
	grid-area: 1 / 1 / 1 / 1;
	translate: 0 125% 0;
	clip-path: inset(-100% 0% 100% 0%);
	transition:
		translate 0.45s cubic-bezier(0.32, 0.72, 0, 1),
		clip-path 0.45s cubic-bezier(0.32, 0.72, 0, 1);
}

.custom-button:is(:hover, :focus-visible) .custom-button_text {
	translate: 0 -125% 0;
	clip-path: inset(100% 0% -100% 0%);
}

.custom-button:is(:hover, :focus-visible) .custom-button_inner::after {
	translate: 0 0 0;
	clip-path: inset(0% 0% 0% 0%);
}