@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
*/
/*

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*/
: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;
}
.front .loop_grid-apareix_animacio_individual .e-loop-item {
  opacity: 0;
  transform: translateY(30px);
  transition: opacity 0.6s ease, transform 0.6s ease;
}
.front .loop_grid-apareix_animacio_individual .e-loop-item.show {
  opacity: 1;
  transform: translateY(0);
}
/*
Classes a tenir en compte
.background-zoom-on-hover-container > S'aplica a un DIV. Per fer efectes a divs de dins que tinguin imatges de fons
.text_red_on_hover > S'aplica a un DIV. Els titols que hi hagi a dins que tinguin un enllaç es tornaran vermells en passar el ratolí per sobre el div
*/
/*Anchor - per a fixed header*/
/*
.elementor-menu-anchor{
	 position: relative;
	 top: -250px;
}
*/
/*Anchor - per a fixed header*/
/*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;
}
*/
:root {
  --wp--style--global--content-size: 1500px;
}
html {
  font-size: 85%;
}
.slider_container {
  min-height: calc(100vh - 96px);
}
@media (-webkit-device-pixel-ratio: 1.25) {
  :root {
    zoom: 0.9;
  }
}
@media (-webkit-device-pixel-ratio: 1.5) {
  :root {
    zoom: 0.9;
  }
}
/*En fer hover sobre una caixa de l'slider a la home posem fons clar i lletres negres*/
.home-slider-boxes > .elementor-element:hover * {
  color: #000;
  cursor: pointer;
}
.bloc_area_solo .elementor-widget-icon {
  right: 0px;
  transition: all 0.2s ease-in-out;
}
.bloc_area_solo:hover .elementor-widget-icon {
  right: -5px;
}
.bloc_servicio .bloc_servicio_solo {
  cursor: pointer;
}
.bloc_servicio .bloc_servicio_solo .bloc_servicio_solo_overlay {
  transition: all 0.5s ease;
}
.bloc_servicio .bloc_servicio_solo:nth-of-type(odd) .bloc_servicio_solo_overlay {
  opacity: 1;
  top: 0px;
}
.bloc_servicio .bloc_servicio_solo:nth-of-type(even) .bloc_servicio_solo_overlay {
  opacity: 0;
  top: 0px;
}
.bloc_servicio .bloc_servicio_solo:hover:nth-of-type(odd) .bloc_servicio_solo_overlay {
  opacity: 0;
  top: 0px;
}
.bloc_servicio .bloc_servicio_solo:hover:nth-of-type(even) .bloc_servicio_solo_overlay {
  opacity: 1;
  top: 0px;
}
@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);
      }
    }
      */
}
/*elementor carousel fade instead of swipe*/
.bloc_text_with_page_link_make_active a .elementor-heading-title {
  transition: color 0.4s ease;
}
.bloc_text_with_page_link_make_active a:hover .elementor-heading-title {
  color: var(--e-global-color-a8047c1) !important;
}
.bloc_text_with_page_link_make_active .active {
  text-decoration: underline;
  font-weight: 700;
  color: var(--e-global-color-a8047c1) !important;
}
.bloc_text_with_page_link_make_active .active .elementor-heading-title {
  text-decoration: underline;
  font-weight: 700 !important;
  color: var(--e-global-color-a8047c1) !important;
}
html .bloc-area-pagina-area-detalle.amaga-fletxa .elementor-widget-icon {
  display: none;
}
@media screen and (max-width: 1023px) {
  .bloc_servicio .bloc_servicio_solo {
    justify-content: flex-end;
  }
  .bloc_servicio .bloc_servicio_solo .bloc_servicio_solo_overlay {
    min-height: 40%;
    opacity: 1 !important;
    background-color: #EAEAEAdd !important;
  }
}
.bloc-area-pagina-servicios .bloc_area_solo:hover .elementor-heading-title {
  color: var(--e-global-color-a8047c1) !important;
}
.bloc-area-pagina-servicios .bloc_area_solo .elementor-heading-title {
  color: var(--e-global-color-264b5fe);
}
.bloc-area-pagina-servicios.amaga-fletxa .elementor-widget-icon {
  display: none;
}
.proyecto-ubicacion-wysiwyg p {
  margin-block-end: 0;
}
.elementor-field {
  padding: 20px !important;
}
.elementor-field::placeholder {
  color: transparent !important;
}
.anchor_text_red_on_hover .elementor-widget-icon, a.text_red_on_hover .elementor-widget-icon, .text_red_on_hover a .elementor-widget-icon {
  right: 0px;
  transition: all 0.2s ease-in-out;
}
.anchor_text_red_on_hover h1, a.text_red_on_hover h1, .text_red_on_hover a h1, .anchor_text_red_on_hover h2, a.text_red_on_hover h2, .text_red_on_hover a h2, .anchor_text_red_on_hover h3, a.text_red_on_hover h3, .text_red_on_hover a h3, .anchor_text_red_on_hover h4, a.text_red_on_hover h4, .text_red_on_hover a h4, .anchor_text_red_on_hover h5, a.text_red_on_hover h5, .text_red_on_hover a h5, .anchor_text_red_on_hover h6, a.text_red_on_hover h6, .text_red_on_hover a h6, .anchor_text_red_on_hover .elementor-heading-title, a.text_red_on_hover .elementor-heading-title, .text_red_on_hover a .elementor-heading-title {
  transition: color 0.2s ease;
}
.anchor_text_red_on_hover:hover h1, a.text_red_on_hover:hover h1, .text_red_on_hover a:hover h1, .anchor_text_red_on_hover:hover h2, a.text_red_on_hover:hover h2, .text_red_on_hover a:hover h2, .anchor_text_red_on_hover:hover h3, a.text_red_on_hover:hover h3, .text_red_on_hover a:hover h3, .anchor_text_red_on_hover:hover h4, a.text_red_on_hover:hover h4, .text_red_on_hover a:hover h4, .anchor_text_red_on_hover:hover h5, a.text_red_on_hover:hover h5, .text_red_on_hover a:hover h5, .anchor_text_red_on_hover:hover h6, a.text_red_on_hover:hover h6, .text_red_on_hover a:hover h6, .anchor_text_red_on_hover:hover .elementor-heading-title, a.text_red_on_hover:hover .elementor-heading-title, .text_red_on_hover a:hover .elementor-heading-title {
  color: var(--e-global-color-a8047c1) !important;
}
.anchor_text_red_on_hover:hover .elementor-widget-icon, a.text_red_on_hover:hover .elementor-widget-icon, .text_red_on_hover a:hover .elementor-widget-icon {
  right: -5px;
}
.text_red_on_hover .elementor-heading-title a {
  transition: color 0.5s ease;
}
.text_red_on_hover .elementor-heading-title a:hover {
  color: var(--e-global-color-a8047c1) !important;
}
.background-zoom-on-hover-container {
  /*a{
    //transition: transform 0.4s ease, background-size 0.4s ease;   
    transition: all 0.4s ease;   
    &:hover {
      background-size: 110% !important; /* zoom in */
  /*  } 
  }*/
  /*
    a::before {
    content: "";
    position: absolute;
    inset: 0;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    background-image: var(--bg);
    transition: transform 0.5s ease;
    transform: scale(1);
  }

  a:hover::before {
    transform: scale(1.1); /* efecte zoom suau */
}
.background-zoom-on-hover-container a[href] {
  transition: all 0.4s ease;
}
.background-zoom-on-hover-container a[href]:before {
  content: "";
  position: absolute;
  inset: 0;
  transition: background 0.3s ease;
}
.background-zoom-on-hover-container a[href]:hover {
  box-shadow: 0px 0px 10px #999;
}
.background-zoom-on-hover-container a[href]:hover:before {
  background: rgba(0, 0, 0, 0.25);
}
