@charset "UTF-8";
/* 
Theme Name: Hello Elementor Child
Theme URI: https://github.com/elementor/hello-theme/
Description: Hello Elementor Child is a child theme of Hello Elementor, created by Elementor team
Author: Elementor Team
Author URI: https://elementor.com/
Template: hello-elementor
Version: 1.0.1
Text Domain: hello-elementor-child
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Tags: flexible-header, custom-colors, custom-menu, custom-logo, editor-style, featured-images, rtl-language-support, threaded-comments, translation-ready
Developer: Dualvic informatica (dualvic.com)
*/
/*
    Add your custom styles here_1
*/
:root {
  --wp--style--global--content-size: 1500px;
  /* o la mida que vulguis */
}
/*

Modificat per utilitzar els següents @mixin:
@include xs
@include sm 
@include md 
@include lg
@include xl 
@include xldown
@include lgDown
@include mdDown
@include smDown
@include xlUp
@include lgUp
@include mdUp
@include smUp


Example: 
@include xs {
    background: blue;
  }
*/
/*from x to y*/
/*// media gt queries*/
/*Display and visibility START*/
.d-none {
  display: none !important;
}
.d-block {
  display: block !important;
}
.d-flex {
  display: flex !important;
}
@media screen and (min-width: 767px) and (max-width: 1023px) {
  .d-sm-none {
    display: none !important;
  }
  .d-sm-block {
    display: block !important;
  }
  .d-sm-flex {
    display: flex !important;
  }
  .d-sm-inline-block {
    display: inline-block !important;
  }
}
@media screen and (min-width: 1024px) and (max-width: 1279px) {
  .d-md-none {
    display: none !important;
  }
  .d-md-block {
    display: block !important;
  }
  .d-md-flex {
    display: flex !important;
  }
  .d-md-inline-block {
    display: inline-block !important;
  }
}
@media screen and (min-width: 1280px) and (max-width: 1919px) {
  .d-lg-none {
    display: none !important;
  }
  .d-lg-block {
    display: block !important;
  }
  .d-lg-flex {
    display: flex !important;
  }
  .d-lg-inline-block {
    display: inline-block !important;
  }
}
@media screen and (min-width: 1920px) and (max-width: 5000px) {
  .d-xl-none {
    display: none !important;
  }
  .d-xl-block {
    display: block !important;
  }
  .d-xl-flex {
    display: flex !important;
  }
  .d-xl-inline-block {
    display: inline-block !important;
  }
}
/*Display and visibility END*/
b, strong {
  font-weight: bold;
}
:root, body {
  overscroll-behavior: none;
}
/*Set elementor gallery images centered vertically & horizontally*/
.elementor-image-gallery .gallery {
  display: flex;
  justify-content: center;
  /* align horizontal */
  align-items: center;
  /* align vertical */
  flex-direction: row;
  flex-wrap: wrap;
}
/*Repara imatges centrades en elementor qu no es mostren centrades*/
.elementor figure.aligncenter {
  margin-left: 0px;
  margin-right: 0px;
}
/* Improved Animations Stylesheet from https://element.how/elementor-improve-entrance-animations/ , works for the 'fade' animations */
@keyframes fadeDown {
  from {
    opacity: 0;
    transform: translate3d(0, -30px, 0);
  }
  to {
    opacity: 1;
    transform: none;
  }
}
.elementor-element.fadeInDown {
  animation-name: fadeDown;
}
@keyframes fadeLeft {
  from {
    opacity: 0;
    transform: translate3d(-30px, 0, 0);
  }
  to {
    opacity: 1;
    transform: none;
  }
}
.elementor-element.fadeInLeft {
  animation-name: fadeLeft;
}
@keyframes fadeRight {
  from {
    opacity: 0;
    transform: translate3d(30px, 0, 0);
  }
  to {
    opacity: 1;
    transform: none;
  }
}
.elementor-element.fadeInRight {
  animation-name: fadeRight;
}
@keyframes fadeUp {
  from {
    opacity: 0;
    transform: translate3d(0, 30px, 0);
  }
  to {
    opacity: 1;
    transform: none;
  }
}
.elementor-element.fadeInUp {
  animation-name: fadeUp;
}
/* END - Improved Animations Stylesheet from https://element.how/elementor-improve-entrance-animations/ , works for the 'fade' animations */
html .elementor-animation-grow:active, html .elementor-animation-grow:focus, html .elementor-animation-grow:hover {
  transform: scale(1.025);
}
/*Version 20250516*/
@keyframes AuxScaleUp {
  from {
    opacity: 0;
    transform: scale(0.9, 0.9);
  }
  to {
    transform: none;
    opacity: 1;
  }
}
.aux-anim-scale-up {
  animation-name: AuxScaleUp;
}
@keyframes AuxScaleUp1 {
  from {
    opacity: 0;
    transform: scale(0.7, 0.7);
  }
  to {
    transform: none;
    opacity: 1;
  }
}
.aux-anim-scale-up-1 {
  animation-name: AuxScaleUp1;
}
@keyframes AuxScaleUp2 {
  from {
    opacity: 0;
    transform: scale(0.6, 0.6);
  }
  to {
    transform: none;
    opacity: 1;
  }
}
.aux-anim-scale-up-2 {
  animation-name: AuxScaleUp2;
}
@keyframes AuxScaleDown {
  from {
    opacity: 0;
    transform: scale(1.1, 1.1);
  }
  to {
    transform: none;
    opacity: 1;
  }
}
.aux-anim-scale-down {
  animation-name: AuxScaleDown;
}
@keyframes AuxScaleDown1 {
  from {
    opacity: 0;
    transform: scale(1.3, 1.3);
  }
  to {
    transform: none;
    opacity: 1;
  }
}
.aux-anim-scale-down-1 {
  animation-name: AuxScaleDown1;
}
@keyframes AuxScaleDown2 {
  from {
    opacity: 0;
    transform: scale(1.4, 1.4);
  }
  to {
    transform: none;
    opacity: 1;
  }
}
.aux-anim-scale-down-2 {
  animation-name: AuxScaleDown2;
}
@keyframes AuxFadeInUp {
  from {
    opacity: 0;
    opacity: 0;
    transform: translate3d(0, 27px, 0);
  }
  to {
    opacity: 1;
    transform: none;
  }
}
.aux-anim-fade-in-up {
  animation-name: AuxFadeInUp;
}
@keyframes AuxFadeInUp1 {
  from {
    opacity: 0;
    opacity: 0;
    transform: translate3d(0, 50px, 0);
  }
  to {
    opacity: 1;
    transform: none;
  }
}
.aux-anim-fade-in-up-1 {
  animation-name: AuxFadeInUp1;
}
@keyframes AuxFadeInUp2 {
  from {
    opacity: 0;
    opacity: 0;
    transform: translate3d(0, 75px, 0);
  }
  to {
    opacity: 1;
    transform: none;
  }
}
.aux-anim-fade-in-up-2 {
  animation-name: AuxFadeInUp2;
}
@keyframes AuxFadeInLeft {
  from {
    opacity: 0;
    opacity: 0;
    transform: translate3d(-27px, 0, 0);
  }
  to {
    opacity: 1;
    transform: none;
  }
}
.aux-anim-fade-in-left {
  animation-name: AuxFadeInLeft;
}
@keyframes AuxFadeInLeft1 {
  from {
    opacity: 0;
    opacity: 0;
    transform: translate3d(-50px, 0, 0);
  }
  to {
    opacity: 1;
    transform: none;
  }
}
.aux-anim-fade-in-left-1 {
  animation-name: AuxFadeInLeft1;
}
@keyframes AuxFadeInLeft2 {
  from {
    opacity: 0;
    opacity: 0;
    transform: translate3d(-75px, 0, 0);
  }
  to {
    opacity: 1;
    transform: none;
  }
}
.aux-anim-fade-in-left-2 {
  animation-name: AuxFadeInLeft2;
}
@keyframes AuxFadeInRight {
  from {
    opacity: 0;
    opacity: 0;
    transform: translate3d(27px, 0, 0);
  }
  to {
    opacity: 1;
    transform: none;
  }
}
.aux-anim-fade-in-right {
  animation-name: AuxFadeInRight;
}
@keyframes AuxFadeInRight1 {
  from {
    opacity: 0;
    opacity: 0;
    transform: translate3d(50px, 0, 0);
  }
  to {
    opacity: 1;
    transform: none;
  }
}
.aux-anim-fade-in-right-1 {
  animation-name: AuxFadeInRight1;
}
@keyframes AuxFadeInRight2 {
  from {
    opacity: 0;
    opacity: 0;
    transform: translate3d(75px, 0, 0);
  }
  to {
    opacity: 1;
    transform: none;
  }
}
.aux-anim-fade-in-right-2 {
  animation-name: AuxFadeInRight2;
}
@keyframes AuxMaskFromLeft {
  from {
    opacity: 0;
    clip-path: inset(0 100% 0 0);
    opacity: 1;
  }
  to {
    clip-path: inset(0 0 0 0);
    opacity: 1;
  }
}
.aux-anim-mask-from-left {
  animation-name: AuxMaskFromLeft;
}
@keyframes AuxMaskFromTop {
  from {
    opacity: 0;
    clip-path: inset(0 0 100% 0);
    opacity: 1;
  }
  to {
    clip-path: inset(0 0 0 0);
    opacity: 1;
  }
}
.aux-anim-mask-from-top {
  animation-name: AuxMaskFromTop;
}
@keyframes AuxMaskFromBot {
  from {
    opacity: 0;
    clip-path: inset(100% 0 0 0);
    opacity: 1;
  }
  to {
    clip-path: inset(0 0 0 0);
    opacity: 1;
  }
}
.aux-anim-mask-from-bot {
  animation-name: AuxMaskFromBot;
}
@keyframes AuxMaskFromRight {
  from {
    opacity: 0;
    clip-path: inset(0 0 0 100%);
    opacity: 1;
  }
  to {
    clip-path: inset(0 0 0 0);
    opacity: 1;
  }
}
.aux-anim-mask-from-right {
  animation-name: AuxMaskFromRight;
}
@keyframes AuxMaskFromLeft {
  from {
    opacity: 0;
    clip-path: inset(0 100% 0 0);
    opacity: 1;
  }
  to {
    clip-path: inset(0 0 0 0);
    opacity: 1;
  }
}
.aux-anim-mask-from-left {
  animation-name: AuxMaskFromLeft;
}
/*-----*/
@keyframes AuxSlideFromRight {
  from {
    transform: translateX(100%);
  }
  to {
    opacity: 1;
    transform: none;
  }
}
.aux-anim-slide-from-right {
  overflow: hidden;
  animation-duration: 1.25s;
  animation-name: AuxSlideFromRight;
}
@keyframes AuxSlideFromLeft {
  from {
    transform: translateX(-100%);
  }
  to {
    opacity: 1;
    transform: none;
  }
}
.aux-anim-slide-from-left {
  overflow: hidden;
  animation-duration: 1.25s;
  animation-name: AuxSlideFromLeft;
}
@keyframes AuxSlideFromTop {
  from {
    transform: translateY(-100%);
  }
  to {
    opacity: 1;
    transform: none;
  }
}
.aux-anim-slide-from-top {
  overflow: hidden;
  animation-duration: 1.25s;
  animation-name: AuxSlideFromTop;
}
@keyframes AuxSlideFromBot {
  from {
    transform: translateY(100%);
  }
  to {
    opacity: 1;
    transform: none;
  }
}
.aux-slide-from-bot {
  overflow: hidden;
  animation-duration: 1.25s;
  animation-name: AuxSlideFromBot;
}
@keyframes AuxSlideFromBotLeft {
  0% {
    transform: translate3d(-100%, 100%, 0);
    visibility: visible;
  }
  100% {
    transform: translate3d(0, 0, 0);
  }
}
.aux-slide-from-bot-left {
  overflow: hidden;
  animation-duration: 1.25s;
  animation-name: AuxSlideFromBotLeft;
}
/*
https://element.how/happy-thanksgiving/?utm_campaign=block-reveal-gift&utm_medium=email&utm_source=acumbamail
AWESOME BLOCK REVEAL ANIMATIONS!
*/
body:not(.elementor-editor-active) .awesome-reveal-not-full-left::after {
  position: absolute;
  content: "";
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background-color: #000;
  z-index: 8;
  -webkit-animation: unclip 1.6s cubic-bezier(1, 0, 0, 1) 0.6s forwards;
  animation: unclip 1.6s cubic-bezier(1, 0, 0, 1) 0.6s forwards;
  -webkit-clip-path: polygon(100% 0, 100% 0, 100% 100%, 100% 100%);
  clip-path: polygon(100% 0, 100% 0, 100% 100%, 100% 100%);
}
body:not(.elementor-editor-active) .awesome-reveal-not-full-left {
  -webkit-animation: uncliptitle 0.9s cubic-bezier(1, 0, 0, 1) 0.9s forwards;
  animation: uncliptitle 0.9s cubic-bezier(1, 0, 0, 1) 0.9s forwards;
  -webkit-clip-path: polygon(100% 0, 100% 0, 100% 100%, 100% 100%);
  clip-path: polygon(100% 0, 100% 0, 100% 100%, 100% 100%);
}
@-webkit-keyframes unclip {
  0% {
    -webkit-clip-path: polygon(100% 0, 100% 0, 100% 100%, 100% 100%);
    clip-path: polygon(100% 0, 100% 0, 100% 100%, 100% 100%);
  }
  49% {
    -webkit-clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
    clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
  }
  100% {
    -webkit-clip-path: polygon(0 0, 0 0, 0 100%, 0 100%);
    clip-path: polygon(0 0, 0 0, 0 100%, 0 100%);
  }
}
@keyframes unclip {
  0% {
    -webkit-clip-path: polygon(100% 0, 100% 0, 100% 100%, 100% 100%);
    clip-path: polygon(100% 0, 100% 0, 100% 100%, 100% 100%);
  }
  49% {
    -webkit-clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
    clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
  }
  100% {
    -webkit-clip-path: polygon(0 0, 0 0, 0 100%, 0 100%);
    clip-path: polygon(0 0, 0 0, 0 100%, 0 100%);
  }
}
@-webkit-keyframes uncliptitle {
  0% {
    -webkit-clip-path: polygon(100% 0, 100% 0, 100% 100%, 100% 100%);
    clip-path: polygon(100% 0, 100% 0, 100% 100%, 100% 100%);
  }
  100% {
    -webkit-clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
    clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
  }
}
@keyframes uncliptitle {
  0% {
    -webkit-clip-path: polygon(100% 0, 100% 0, 100% 100%, 100% 100%);
    clip-path: polygon(100% 0, 100% 0, 100% 100%, 100% 100%);
  }
  100% {
    -webkit-clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
    clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
  }
}
/*Center */
.awesome-reveal-center::before {
  position: absolute;
  content: "";
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background-color: #000;
  z-index: 9;
  -webkit-animation: showText 0.9s cubic-bezier(1, 0, 0, 1) 0.16s forwards;
  animation: showText 0.9s cubic-bezier(1, 0, 0, 1) 0.16s forwards;
  -webkit-transform-origin: 1 0;
  -ms-transform-origin: 1 0;
  transform-origin: 1 0;
}
.awesome-reveal-center::after {
  position: absolute;
  content: "";
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background-color: #666;
  z-index: 8;
  -webkit-animation: showText 0.9s cubic-bezier(1, 0, 0, 1) 1.16s forwards;
  animation: showText 0.9s cubic-bezier(1, 0, 0, 1) 1.16s forwards;
  -webkit-transform-origin: 0 0;
  -ms-transform-origin: 0 0;
  transform-origin: 0 0;
}
@-webkit-keyframes showText {
  0% {
    -webkit-transform: scaleX(1);
    transform: scaleX(1);
  }
  100% {
    -webkit-transform: scaleX(0);
    transform: scaleX(0);
  }
}
@keyframes showText {
  0% {
    -webkit-transform: scaleX(1);
    transform: scaleX(1);
  }
  100% {
    -webkit-transform: scaleX(0);
    transform: scaleX(0);
  }
}
/*left*/
.awesome-reveal-left::before {
  position: absolute;
  content: "";
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background-color: #000;
  z-index: 9;
  -webkit-animation: showText 0.9s cubic-bezier(1, 0, 0, 1) 0.16s forwards;
  animation: showText 0.9s cubic-bezier(1, 0, 0, 1) 0.16s forwards;
  -webkit-transform-origin: 0 0;
  -ms-transform-origin: 0 0;
  transform-origin: 0 0;
}
.awesome-reveal-left::after {
  position: absolute;
  content: "";
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background-color: #666;
  z-index: 8;
  -webkit-animation: showText 0.9s cubic-bezier(1, 0, 0, 1) 0.9s forwards;
  animation: showText 0.9s cubic-bezier(1, 0, 0, 1) 0.9s forwards;
  -webkit-transform-origin: 0 0;
  -ms-transform-origin: 0 0;
  transform-origin: 0 0;
}
/*sliver-left*/
body:not(.elementor-editor-active) .awesome-reveal-sliver-left::after {
  position: absolute;
  content: "";
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background-color: #000;
  z-index: 8;
  -webkit-animation: unclip 1.6s cubic-bezier(1, 0, 0, 1) 0.14s forwards;
  animation: unclip 1.6s cubic-bezier(1, 0, 0, 1) 0.14s forwards;
  -webkit-clip-path: polygon(100% 0, 100% 0, 100% 100%, 100% 100%);
  clip-path: polygon(100% 0, 100% 0, 100% 100%, 100% 100%);
}
body:not(.elementor-editor-active) .awesome-reveal-sliver-left {
  -webkit-animation: uncliptitle 0.9s cubic-bezier(1, 0, 0, 1) 0.84s forwards;
  animation: uncliptitle 0.9s cubic-bezier(1, 0, 0, 1) 0.84s forwards;
  -webkit-clip-path: polygon(100% 0, 100% 0, 100% 100%, 100% 100%);
  clip-path: polygon(100% 0, 100% 0, 100% 100%, 100% 100%);
}
body:not(.elementor-editor-active) .awesome-reveal-not-full-right::after {
  position: absolute;
  content: "";
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background-color: #000;
  z-index: 8;
  -webkit-animation: unclip_right 1.6s cubic-bezier(1, 0, 0, 1) 0.6s forwards;
  animation: unclip_right 1.6s cubic-bezier(1, 0, 0, 1) 0.6s forwards;
  -webkit-clip-path: polygon(0 0, 0 0, 0 100%, 0 100%);
  clip-path: polygon(0 0, 0 0, 0 100%, 0 100%);
}
body:not(.elementor-editor-active) .awesome-reveal-not-full-right {
  -webkit-animation: uncliptitle_right 0.9s cubic-bezier(1, 0, 0, 1) 0.9s forwards;
  animation: uncliptitle_right 0.9s cubic-bezier(1, 0, 0, 1) 0.9s forwards;
  -webkit-clip-path: polygon(0 0, 0 0, 0 100%, 0 100%);
  clip-path: polygon(0 0, 0 0, 0 100%, 0 100%);
}
@-webkit-keyframes unclip_right {
  0% {
    -webkit-clip-path: polygon(0 0, 0 0, 0 100%, 0 100%);
    clip-path: polygon(0 0, 0 0, 0 100%, 0 100%);
  }
  49% {
    -webkit-clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
    clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
  }
  100% {
    -webkit-clip-path: polygon(100% 0, 100% 0, 100% 100%, 100% 100%);
    clip-path: polygon(100% 0, 100% 0, 100% 100%, 100% 100%);
  }
}
@keyframes unclip_right {
  0% {
    -webkit-clip-path: polygon(0 0, 0 0, 0 100%, 0 100%);
    clip-path: polygon(0 0, 0 0, 0 100%, 0 100%);
  }
  49% {
    -webkit-clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
    clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
  }
  100% {
    -webkit-clip-path: polygon(100% 0, 100% 0, 100% 100%, 100% 100%);
    clip-path: polygon(100% 0, 100% 0, 100% 100%, 100% 100%);
  }
}
@-webkit-keyframes uncliptitle_right {
  0% {
    -webkit-clip-path: polygon(0 0, 0 0, 0 100%, 0 100%);
    clip-path: polygon(0 0, 0 0, 0 100%, 0 100%);
  }
  100% {
    -webkit-clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
    clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
  }
}
@keyframes uncliptitle_right {
  0% {
    -webkit-clip-path: polygon(0 0, 0 0, 0 100%, 0 100%);
    clip-path: polygon(0 0, 0 0, 0 100%, 0 100%);
  }
  100% {
    -webkit-clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
    clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
  }
}
/* Not full, right, opacity 0.78 */
body:not(.elementor-editor-active) .awesome-reveal-not-full-right-opacity078::after {
  opacity: 0.78;
  position: absolute;
  content: "";
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background-color: #000;
  z-index: 8;
  -webkit-animation: unclip_right 1.6s cubic-bezier(1, 0, 0, 1) 0.6s forwards;
  animation: unclip_right 1.6s cubic-bezier(1, 0, 0, 1) 0.6s forwards;
  -webkit-clip-path: polygon(0 0, 0 0, 0 100%, 0 100%);
  clip-path: polygon(0 0, 0 0, 0 100%, 0 100%);
}
body:not(.elementor-editor-active) .awesome-reveal-not-full-right-opacity078 {
  -webkit-animation: uncliptitle_right 0.9s cubic-bezier(1, 0, 0, 1) 0.9s forwards;
  animation: uncliptitle_right 0.9s cubic-bezier(1, 0, 0, 1) 0.9s forwards;
  -webkit-clip-path: polygon(0 0, 0 0, 0 100%, 0 100%);
  clip-path: polygon(0 0, 0 0, 0 100%, 0 100%);
}
@-webkit-keyframes unclip_right {
  0% {
    -webkit-clip-path: polygon(0 0, 0 0, 0 100%, 0 100%);
    clip-path: polygon(0 0, 0 0, 0 100%, 0 100%);
  }
  49% {
    -webkit-clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
    clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
  }
  100% {
    -webkit-clip-path: polygon(100% 0, 100% 0, 100% 100%, 100% 100%);
    clip-path: polygon(100% 0, 100% 0, 100% 100%, 100% 100%);
  }
}
@keyframes unclip_right {
  0% {
    -webkit-clip-path: polygon(0 0, 0 0, 0 100%, 0 100%);
    clip-path: polygon(0 0, 0 0, 0 100%, 0 100%);
  }
  49% {
    -webkit-clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
    clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
  }
  100% {
    -webkit-clip-path: polygon(100% 0, 100% 0, 100% 100%, 100% 100%);
    clip-path: polygon(100% 0, 100% 0, 100% 100%, 100% 100%);
  }
}
@-webkit-keyframes uncliptitle_right {
  0% {
    -webkit-clip-path: polygon(0 0, 0 0, 0 100%, 0 100%);
    clip-path: polygon(0 0, 0 0, 0 100%, 0 100%);
  }
  100% {
    -webkit-clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
    clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
  }
}
@keyframes uncliptitle_right {
  0% {
    -webkit-clip-path: polygon(0 0, 0 0, 0 100%, 0 100%);
    clip-path: polygon(0 0, 0 0, 0 100%, 0 100%);
  }
  100% {
    -webkit-clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
    clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
  }
}
/*up-opacity 078*/
.awesome-reveal-up-opacity078::before {
  position: absolute;
  content: "";
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background-color: #000;
  z-index: 9;
  -webkit-animation: yshowText 0.9s cubic-bezier(1, 0, 0, 1) 0.16s forwards;
  animation: yshowText 0.9s cubic-bezier(1, 0, 0, 1) 0.16s forwards;
  -webkit-transform-origin: 0 0;
  -ms-transform-origin: 0 0;
  transform-origin: 0 0;
}
.awesome-reveal-up-opacity078::after {
  position: absolute;
  content: "";
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  opacity: 0.78;
  background-color: #666;
  z-index: 8;
  -webkit-animation: yshowText 0.9s cubic-bezier(1, 0, 0, 1) 0.9s forwards;
  animation: yshowText 0.9s cubic-bezier(1, 0, 0, 1) 0.9s forwards;
  -webkit-transform-origin: 0 0;
  -ms-transform-origin: 0 0;
  transform-origin: 0 0;
}
@-webkit-keyframes yshowText {
  0% {
    -webkit-transform: scaleY(1);
    transform: scaleY(1);
  }
  100% {
    -webkit-transform: scaleY(0);
    transform: scaleY(0);
  }
}
@keyframes yshowText {
  0% {
    -webkit-transform: scaleY(1);
    transform: scaleY(1);
  }
  100% {
    -webkit-transform: scaleY(0);
    transform: scaleY(0);
  }
}
/*Right*/
.awesome-reveal-right::before {
  position: absolute;
  content: "";
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background-color: #000;
  z-index: 9;
  -webkit-animation: showText 0.9s cubic-bezier(1, 0, 0, 1) 0.16s forwards;
  animation: showText 0.9s cubic-bezier(1, 0, 0, 1) 0.16s forwards;
  -webkit-transform-origin: 100% 100%;
  -ms-transform-origin: 100% 100%;
  transform-origin: 100% 100%;
}
.awesome-reveal-right::after {
  position: absolute;
  content: "";
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background-color: #666;
  z-index: 8;
  -webkit-animation: showText 0.9s cubic-bezier(1, 0, 0, 1) 0.9s forwards;
  animation: showText 0.9s cubic-bezier(1, 0, 0, 1) 0.9s forwards;
  -webkit-transform-origin: 100% 100%;
  -ms-transform-origin: 100% 100%;
  transform-origin: 100% 100%;
}
/*Down*/
.awesome-reveal-down::before {
  position: absolute;
  content: "";
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background-color: #000;
  z-index: 9;
  -webkit-animation: yshowText 0.9s cubic-bezier(1, 0, 0, 1) 0.16s forwards;
  animation: yshowText 0.9s cubic-bezier(1, 0, 0, 1) 0.16s forwards;
  -webkit-transform-origin: 100% 100%;
  -ms-transform-origin: 100% 100%;
  transform-origin: 100% 100%;
}
.awesome-reveal-down::after {
  position: absolute;
  content: "";
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background-color: #666;
  z-index: 8;
  -webkit-animation: yshowText 0.9s cubic-bezier(1, 0, 0, 1) 0.9s forwards;
  animation: yshowText 0.9s cubic-bezier(1, 0, 0, 1) 0.9s forwards;
  -webkit-transform-origin: 100% 100%;
  -ms-transform-origin: 100% 100%;
  transform-origin: 100% 100%;
}
/*Right then left*/
.awesome-reveal-right-then-left::before {
  position: absolute;
  content: "";
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background-color: #000;
  z-index: 9;
  -webkit-animation: showText 0.9s cubic-bezier(1, 0, 0, 1) 0.16s forwards;
  animation: showText 0.9s cubic-bezier(1, 0, 0, 1) 0.16s forwards;
  -webkit-transform-origin: 100% 100%;
  -ms-transform-origin: 100% 100%;
  transform-origin: 100% 100%;
}
.awesome-reveal-right-then-left::after {
  position: absolute;
  content: "";
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background-color: #666;
  z-index: 8;
  -webkit-animation: showText 0.9s cubic-bezier(1, 0, 0, 1) 0.9s forwards;
  animation: showText 0.9s cubic-bezier(1, 0, 0, 1) 0.9s forwards;
  -webkit-transform-origin: 0 0;
  -ms-transform-origin: 0 0;
  transform-origin: 0 0;
}
/*Left then right*/
.awesome-reveal-left-then-right::before {
  position: absolute;
  content: "";
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background-color: #000;
  z-index: 9;
  -webkit-animation: showText 0.9s cubic-bezier(1, 0, 0, 1) 0.16s forwards;
  animation: showText 0.9s cubic-bezier(1, 0, 0, 1) 0.16s forwards;
  -webkit-transform-origin: 0 0;
  -ms-transform-origin: 0 0;
  transform-origin: 0 0;
}
.awesome-reveal-left-then-right::after {
  position: absolute;
  content: "";
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background-color: #666;
  z-index: 8;
  -webkit-animation: showText 0.9s cubic-bezier(1, 0, 0, 1) 0.9s forwards;
  animation: showText 0.9s cubic-bezier(1, 0, 0, 1) 0.9s forwards;
  -webkit-transform-origin: 100% 100%;
  -ms-transform-origin: 100% 100%;
  transform-origin: 100% 100%;
}
@keyframes dv-blur {
  0% {
    -webkit-filter: blur(10px);
    opacity: 0;
  }
  50% {
    /*-webkit-filter: blur(5px);*/
    opacity: 0.9;
  }
  100% {
    -webkit-filter: blur(0px);
    opacity: 1;
  }
}
.dv-blur {
  animation-name: dv-blur;
}
.hover_image_container {
  /*	
	*	
	*	Posant dues imatges dins un container, la segona serà invisible per defecte
	*	En fer hover al contenidor es mostrarà la segona imatge
	*
	*	Especificar la classe '.hover_image_container' al contenidor
	*/
}
.hover_image_container img {
  transition: all 0.2s ease-in;
}
.hover_image_container .e-con-inner div:nth-child(1) img {
  opacity: 1;
}
.hover_image_container .e-con-inner div:nth-child(2) {
  position: absolute;
}
.hover_image_container .e-con-inner div:nth-child(2) img {
  opacity: 0;
}
.hover_image_container:hover .e-con-inner div:nth-child(1) img {
  opacity: 0;
}
.hover_image_container:hover .e-con-inner div:nth-child(2) img {
  opacity: 1;
}
.wp-block-image {
  margin-top: 25px;
  margin-bottom: 25px;
}
.gutemberg_blocks_found .container_template_single_page {
  max-width: var(--content-width);
  margin-left: auto;
  margin-right: auto;
}
/*Anchor - per a fixed header*/
/*
.elementor-menu-anchor{
	 position: relative;
	 top: -250px;
}
*/
/*Anchor - per a fixed header*/
@media screen and (max-width: 766px) {
  html {
    font-size: 12px;
    /*
    font-size: clamp(1vw, 1vw + 1vw, 1vw) !important;
    *{
      font-size: clamp(1vw, 1vw + 1rem, 1vw) !important;
    }
      */
  }
}
/*Especifiquem si es gutemberg per gestionar els paddings laterals en css que s'ha d'afegir per a les plantilles Elementor
Quan fem una plantilla i afegim un widget "Post_content", si el contingut és Elementor o Gutemberg apareix amb més o menuys padding.
El que fem és que si és gutemberg li afegim el padding
*/
/*
.is_gutenberg .elementor-widget-theme-post-content {
    padding-left: 10px;
    padding-right: 10px;
}
*/
html body.home header .header_logo img {
  transition: all 0.8s cubic-bezier(0.4, 0, 0.2, 1);
}
html body.home:not(.scrolled) header {
  background: transparent !important;
}
.cpel-switcher__nav li:first-child {
  padding-right: 10px;
}
.cpel-switcher__nav .cpel-switcher__name {
  padding-left: 0px !important;
}
.cpel-switcher__nav .cpel-switcher__lang a span {
  border-bottom: 1px solid transparent;
}
.cpel-switcher__nav .cpel-switcher__lang--active a span {
  border-bottom: 1px solid #fff;
}
@media screen and (min-width: 1024px) {
  #hero_section_title h2 {
    text-shadow: 0px 0px 30px black, 0px 0px 30px black, 0px 0px 80px black, 0px 0px 80px black, 0px 0px 80px black, 0px 0px 80px black, 0px 0px 80px black, 0px 0px 150px black, 0px 0px 150px black, 0px 0px 150px black, 0px 0px 150px black, 0px 0px 150px black, 0px 0px 150px black !important;
  }
}
/*formulari*/
#formulari_dossier input::placeholder {
  color: #000;
  /* Color negre pel placeholder */
  margin-left: 0;
  /* El placeholder no té marge, però ho posem per claredat */
  opacity: 1;
  /* FORÇA el color complet */
}
#formulari_dossier input {
  padding-left: 0;
  /* Elimina l'espai intern a l'esquerra */
  margin-left: 0;
  /* Opcional, si l'input té marge */
}
#formulari_dossier label {
  font-size: 1.4rem;
}
#formulari_dossier .elementor-field-type-acceptance {
  margin-bottom: 1px;
}
#formulari_dossier .elementor-button {
  padding: 0px;
}
#formulari_dossier .elementor-button .elementor-button-icon svg {
  width: 180px;
  margin-top: 50px;
}
@media screen and (min-width: 1024px) {
  #formulari_dossier .elementor-button .elementor-button-icon svg {
    margin-left: -50px;
  }
}
@media screen and (min-width: 767px) {
  .zoom-out-bg {
    position: relative;
    overflow: hidden;
  }
  .zoom-out-bg::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-image: inherit;
    background-size: 110%;
    background-position: center;
    background-repeat: no-repeat;
    z-index: 0;
    animation: zoomOut 30s ease-out forwards;
  }
  @keyframes zoomOut {
    0% {
      transform: scale(1.1);
    }
    100% {
      transform: scale(1);
    }
  }
}
.lang-switcher .lang-link.active {
  text-decoration: underline;
}
