.elementor-kit-13{--e-global-color-primary:#002840;--e-global-color-secondary:#F5F8FA;--e-global-color-text:#002840;--e-global-color-accent:#69D6DB;--e-global-color-fd649f6:#F5F8FA;--e-global-color-00d13e2:#F0B439;--e-global-color-5211a25:#32AA8A;--e-global-color-0db5cfb:#002840;--e-global-typography-primary-font-family:"Sora";--e-global-typography-primary-font-weight:600;--e-global-typography-primary-line-height:1.2em;--e-global-typography-primary-letter-spacing:0.5px;--e-global-typography-secondary-font-family:"Sora";--e-global-typography-secondary-font-weight:500;--e-global-typography-secondary-letter-spacing:0.5px;--e-global-typography-text-font-family:"Raleway";--e-global-typography-text-font-weight:500;--e-global-typography-text-letter-spacing:0.5px;--e-global-typography-accent-font-family:"Raleway";--e-global-typography-accent-font-weight:500;--e-global-typography-accent-letter-spacing:0.5px;--e-global-typography-7cfb6ca-font-family:"Sora";--e-global-typography-7cfb6ca-font-size:40px;--e-global-typography-7cfb6ca-font-weight:600;--e-global-typography-7cfb6ca-line-height:1.2em;--e-global-typography-7cfb6ca-letter-spacing:0.5px;--e-global-typography-2d5d99f-font-family:"Raleway";--e-global-typography-2d5d99f-font-size:22px;--e-global-typography-2d5d99f-font-weight:800;--e-global-typography-2d5d99f-text-transform:none;--e-global-typography-2d5d99f-letter-spacing:0.5px;--e-global-typography-f9da0cc-font-size:15px;--e-global-typography-f9da0cc-letter-spacing:0.5px;--e-global-typography-a9b63c6-font-family:"Sora";--e-global-typography-a9b63c6-font-size:22px;--e-global-typography-a9b63c6-font-weight:500;--e-global-typography-a9b63c6-line-height:1.2em;--e-global-typography-a9b63c6-letter-spacing:0.5px;--e-global-typography-9cdcd87-font-family:"Sora";--e-global-typography-9cdcd87-font-size:16px;--e-global-typography-9cdcd87-font-weight:600;--e-global-typography-9cdcd87-text-transform:uppercase;--e-global-typography-9cdcd87-letter-spacing:0.5px;--e-global-typography-33d8811-font-family:"Sora";--e-global-typography-33d8811-font-size:37px;--e-global-typography-33d8811-font-weight:600;--e-global-typography-33d8811-line-height:1.2em;--e-global-typography-33d8811-letter-spacing:0.5px;--e-global-typography-7b415b5-font-family:"Sora";--e-global-typography-7b415b5-font-size:60px;--e-global-typography-7b415b5-font-weight:600;--e-global-typography-7b415b5-line-height:1.2em;--e-global-typography-7b415b5-letter-spacing:0.5px;background-color:var( --e-global-color-fd649f6 );font-size:17px;}.elementor-kit-13 e-page-transition{background-color:#FFBC7D;}.elementor-kit-13 a{color:var( --e-global-color-accent );}.elementor-kit-13 a:hover{color:var( --e-global-color-00d13e2 );}.elementor-kit-13 input:not([type="button"]):not([type="submit"]),.elementor-kit-13 textarea,.elementor-kit-13 .elementor-field-textual{border-style:solid;border-width:0px 0px 1px 0px;border-radius:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1140px;}.e-con{--container-max-width:1140px;--container-default-padding-top:0px;--container-default-padding-right:0px;--container-default-padding-bottom:0px;--container-default-padding-left:0px;}.elementor-widget:not(:last-child){margin-block-end:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:1024px){.elementor-kit-13{--e-global-typography-7cfb6ca-font-size:40px;--e-global-typography-33d8811-font-size:35px;--e-global-typography-7b415b5-font-size:52px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-kit-13{--e-global-typography-7cfb6ca-font-size:34px;--e-global-typography-33d8811-font-size:28px;--e-global-typography-7b415b5-font-size:46px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}/* Start custom CSS */.color-accent {
    color: var( --e-global-color-accent );
}

.scroll-down .elementor-widget-container {
  animation: floatAnimation 2.5s 1s ease-in-out infinite;
}

@keyframes floatAnimation {
  0%, 100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(7px);
  }
}

/*
*** buttons
*/

.btn-animated a.elementor-button {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  /*width: 12rem;*/
  height: 3rem;
  text-decoration: none;
  cursor: pointer;
  font-size: inherit;
  font-family: inherit;
  overflow: hidden;
  background: transparent;
  border: none;
  padding: 0 1.5rem;
}

/* Círculo como fondo expandible */
.btn-animated a.elementor-button::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 3rem;
  height: 3rem;
  border-radius: 1.625rem;
  transition: width 0.45s cubic-bezier(0.65, 0, 0.076, 1);
  z-index: 1;
}

/* Flecha encima del círculo */
.btn-animated a.elementor-button::after {
  content: "";
  position: absolute;
  left: 1.1rem;
  top: 50%;
  transform: translateY(-50%) rotate(45deg);
  width: 0.625rem;
  height: 0.625rem;
  border-top: 0.125rem solid #F5F8FA;
  border-right: 0.125rem solid #F5F8FA;
  transition: transform 0.45s cubic-bezier(0.65, 0, 0.076, 1);
  z-index: 2;
}

/* Oculta el icono nativo de Elementor */
.btn-animated a.elementor-button .elementor-button-icon {
  display: none !important;
}

/* Texto centrado, permanece en su lugar */
.btn-animated a.elementor-button .elementor-button-text {
  margin-left: 2.5rem; /* espacio para el círculo */
  z-index: 2;
  /*font-weight: 700;
  text-transform: uppercase;
  line-height: 1;*/
  transition: color 0.45s cubic-bezier(0.65, 0, 0.076, 1);
  white-space: nowrap;
}



/* Color primary */

.btn-animated.color-primary a.elementor-button::before {
    background: #002840;
}

.btn-animated.color-primary a.elementor-button .elementor-button-text {
    color: #002840;
}

/* Color accent */

.btn-animated.color-accent a.elementor-button::before {
    background: var( --e-global-color-accent );
}

.btn-animated.color-accent a.elementor-button .elementor-button-text {
    color: var( --e-global-color-accent );
}

/* Color blue */

.btn-animated.color-blue a.elementor-button::before {
    background: #2E62FF;
}

.btn-animated.color-blue a.elementor-button .elementor-button-text {
    color: #2E62FF;
}

/* Color green */

.btn-animated.color-green a.elementor-button::before {
    background: #32AA8A;
}

.btn-animated.color-green a.elementor-button .elementor-button-text {
    color: #32AA8A;
}

/* Color yellow */

.btn-animated.color-yellow a.elementor-button::before {
    background: #F0B439;
}

.btn-animated.color-yellow a.elementor-button .elementor-button-text {
    color: #F0B439;
}


/* Hover Effects */
.btn-animated a.elementor-button:hover::before {
  width: 100%;
}

.btn-animated a.elementor-button:hover::after {
  transform: translate(1rem, -50%) rotate(45deg);
}

.btn-animated a.elementor-button:hover .elementor-button-text {
  color: #F5F8FA;
}


/*
*** projects
*/

.img-cover-fit,
.img-cover-fit img {
    position: absolute;
    left: 0;
    top: 0;
    object-fit: cover;
    width: 100%;
    height: 100%;
}

.project-item .project-img img {
    transition: transform .5s ease-in-out;
}

.project-item:hover .project-img img {
    transform: scale(1.1) rotate(-1deg);    
}




/*
*** Shortcuts
*/
    
.item-shortcut .la-pleca,
.item-shortcut .img-cover-fit {
    transition: all .5s ease-in-out;
}

@media (min-width:1025px) {

.item-shortcut:hover .la-pleca {
    min-height: 100% !important;
}

.item-shortcut:hover .img-cover-fit {
    transform: translateY(10px);
}

}    


/* Improved Animations Stylesheet, works for the 'fade' animations */

@keyframes fadeDown {
    from {
        opacity: 0;
        transform: translate3d(0,-20px,0)
    }

    to {
        opacity: 1;
        transform: none
    }
}

.elementor-element.fadeInDown {
    animation-name: fadeDown
}

@keyframes fadeLeft {
    from {
        opacity: 0;
        transform: translate3d(-10px,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,20px,0)
    }

    to {
        opacity: 1;
        transform: none
    }
}

.elementor-element.fadeInUp {
    animation-name: fadeUp
}/* End custom CSS */