/*
Theme Name: Brabus Child
Theme URI: https://kidoestudio.com/
Template: brabus
Author: Kido
Author URI: https://kidoestudio.com
Description: Brabus | Creative Portfolio for Freelancers &amp; Agencies
Tags: custom-background,custom-logo,custom-menu,featured-images,threaded-comments,translation-ready
Version: 1.3.0.1757575085
Updated: 2025-09-11 07:18:05

*/
/* @import url('https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,100..1000;1,9..40,100..1000&display=swap'); */
@import url('https://fonts.googleapis.com/css2?family=Archivo:ital,wght@0,100..900;1,100..900&display=swap');

* {
   --secondary-font: "Archivo", sans-serif;
}

h1, h2, h3, h4, h5, h6 {
   font-family: "Archivo", sans-serif;
}

.navigation-menu .inner .menu ul li a {
   font-family: "Archivo", sans-serif;
}

.page-loaded header {
   transition-delay: 0.8s;
}

nav.navbar.fixed {
   position: fixed;
   background: #0000005c;
}

.swiper-slider .swiper-slide .slide-inner .container {
   overflow: hidden;
   /* importante para ocultar el texto mientras sube */
}

.swiper-slider .swiper-slide .slide-inner .container h1 {
   text-align: center;
   font-size: 8vw;
   color: var(--color-main);
   overflow: hidden;
   /* oculta el texto mientras sube */
   display: block;
   transform: translateY(100%);
   transition: transform 0.8s cubic-bezier(0.43, 0.41, 0.12, 1.01);
   transition-delay: 1.3s;
}

.swiper-slider .swiper-slide .slide-inner .container h1 span {
   margin-left: 0;
   display: block;
   color: #fff;
   position: relative;
   transform: translateY(100%);
   transition: transform 0.8s cubic-bezier(0.43, 0.41, 0.12, 1.01);
   transition-delay: 1.8s;
   -webkit-text-stroke-width: 0px;
   line-height: normal;
   margin-top: -20px;
   font-family: "Archivo", sans-serif;
   /* entra después */
}

/* 🔥 cuando se quita el loader */
body.page-loaded .swiper-slider .swiper-slide .slide-inner .container h1 {
   transform: none;
   /* transition-delay: 0s; */
}

body.page-loaded .swiper-slider .swiper-slide .slide-inner .container h1 span {
   transform: none;
}


.nav-menu-hamburger .navbar .logo {
   justify-content: flex-start;
}

.nav-menu-hamburger .navbar .left {
   display: none;
}

.swiper-slider .swiper-slide .slide-inner .container .tagline,
.swiper-slider .swiper-slide .slide-inner .container .slide-btn {
   display: none;
}

.animation-home>div {
   background-repeat: no-repeat;
   background-size: contain;
   background-position: 100% 0;
}

.animation-home .section-title h2:before {
   font-size: 17.8vw;
   line-height: 10vw;
   top: 30vh;
   left: -10%;
}

.animation-home .section-title {
   margin-bottom: 0;
}

.animation-home .section-title h2 {
   font-size: 22px;
}

.content-section.noise:has(.testimonial) {
   padding: 90px 0 50px;
}

.testimonial .section-title h2 {
   font-size: 30px;
   font-style: italic;
   font-weight: 600;
   font-family: "Archivo", sans-serif;
}

.testimonial .section-title h6 {
   order: 2;
   margin-top: 20px;
   opacity: 1;
   font-size: 18px;
   text-align: right;
   margin-bottom: 0;
}

.tax-rebate-home .section-title h2:before {
   opacity: 0.15;
}

.tax-rebate-home .text-box.wow {
   color: #FFF;
}

.tax-rebate-home .custom-link a {
   color: #FFF;
}

.tax-rebate-home .custom-link .lines span {
   background-color: #FFF;
}

footer.footer {
   padding-top: 70px;
}

.footer .footer-contact {
   margin-bottom: 0;
}

.footer .footer-quote {
   margin-bottom: 35px;
}

.footer .footer-quote h2 {
   color: #FFF;
   font-size: 1.7vw;
   font-weight: 700;
}

.footer .col-lg-8 {
   -ms-flex: 0 0 83.333333%;
   flex: 0 0 83.333333%;
   max-width: 83.333333%;
}

.preloader svg {
   display: block;
   margin: 0 auto;
}

.preloader .bar {
   fill: #fff;
   animation: pulse 1.2s infinite ease-in-out;
}

.preloader .bar:nth-child(1) {
   animation-delay: 0s;
}

.preloader .bar:nth-child(2) {
   animation-delay: 0.1s;
}

.preloader .bar:nth-child(3) {
   animation-delay: 0.2s;
}

.preloader .bar:nth-child(4) {
   animation-delay: 0.3s;
}

.preloader .bar:nth-child(5) {
   animation-delay: 0.4s;
}

.preloader .bar:nth-child(6) {
   animation-delay: 0.5s;
}

.preloader .bar:nth-child(7) {
   animation-delay: 0.6s;
}

.preloader .bar:nth-child(8) {
   animation-delay: 0.7s;
}

.preloader .bar:nth-child(9) {
   animation-delay: 0.8s;
}

@keyframes pulse {
   0%, 100% {
      transform: scaleY(1);
      opacity: 0.4;
   }

   50% {
      transform: scaleY(1.8);
      opacity: 1;
   }
}

.header .container h1,
.header .container .slide-btn {
   display: none;
}

.header .video-bg:before {
   z-index: 9;
}

header.hero-header,
.header .video-bg video {
   opacity: 1 !important;
}

.animation-home .wpb_single_image {
   border-radius: 100% !important;
   width: 170px;
   position: absolute;
   right: 0;
}

.image-text-home img {
   border-radius: 100% !important;
}

.vc_row.text-home {
   padding-left: 10vw;
}

.text-home .text-box h3 {
   /* color: #000;
   font-size: 80px;
   text-align: left;
   text-transform: none;
   font-weight: 500;
   margin-top: 40px; */

   color: #000;
   font-size: 100px;
   text-align: left;
   margin-top: 40px;
   margin-right: 10vw;
   line-height: 100px;
}

.text-home .text-box:nth-child(2) p {
   margin-top: 20px
}

.text-home .text-box:last-child {
   flex-direction: column;
   align-content: flex-start;
   padding-left: 8vw;

}

.text-home .text-box:last-child p {
   background: #000;
   color: #FFF;
   width: auto;
   padding-inline: 10px;
}


.pi-ov {
   position: absolute;
   bottom: 0;
   width: 25%;
   background: #fff !important;
   height: 100vh;
   z-index: 1;
   -webkit-transition: height .6s cubic-bezier(.65, .05, .36, 1);
   -o-transition: height .6s cubic-bezier(.65, .05, .36, 1);
   transition: height .6s cubic-bezier(.65, .05, .36, 1);
   -webkit-transform: translate3d(0, 0, 0);
}

.pi-ov-1 {
   left: 0;
   -webkit-transition-delay: 1.03333s;
   -o-transition-delay: 1.03333s;
   transition-delay: 1.03333s;
}

.pi-ov-2 {
   left: 25%;
   -webkit-transition-delay: 1.06666s;
   -o-transition-delay: 1.06666s;
   transition-delay: 1.06666s;
}

.pi-ov-3 {
   left: 50%;
   -webkit-transition-delay: 1.09999s;
   -o-transition-delay: 1.09999s;
   transition-delay: 1.09999s;
}

.pi-ov-4 {
   left: 75%;
   -webkit-transition-delay: 1.13333s;
   -o-transition-delay: 1.13333s;
   transition-delay: 1.13333s;
}

.pi-ov-in.pi-ov-1 {
   height: 17vh;
}

.pi-ov-in.pi-ov-2 {
   height: 7vh;
}

.pi-ov-in.pi-ov-3 {
   height: 2vh;
}

.pi-ov-in.pi-ov-4 {
   height: 22vh;
}


header .scroll-down small {
   color: #000;
   font-size: 12px;
}

header .scroll-down span::before {
   background: #000;
}

@keyframes rotateInUpLeft {
   from {
      opacity: 0;
      -webkit-transform: skewY(5deg) translatey(50%);
      -ms-transform: skewY(5deg) translatey(50%);
      transform: skewY(5deg) translatey(50%);
      -webkit-transform-origin: 0 0;
      -ms-transform-origin: 0 0;
      transform-origin: 0 0;
   }

   to {
      -webkit-transform: skewY(0);
      -ms-transform: skewY(0);
      transform: skewY(0);
      opacity: 1;
   }
}

.rotateInUpLeft {
   -webkit-animation-name: rotateInUpLeft;
   animation-name: rotateInUpLeft;
   -webkit-transition: opacity 0.5s ease, -webkit-transform 1s cubic-bezier(0.215, 0.610, 0.355, 1.000);
   transition: opacity 0.5s ease, -webkit-transform 1s cubic-bezier(0.215, 0.610, 0.355, 1.000);
   -o-transition: transform 1s cubic-bezier(0.215, 0.610, 0.355, 1.000), opacity 0.5s ease;
   transition: transform 1s cubic-bezier(0.215, 0.610, 0.355, 1.000), opacity 0.5s ease;
   transition: transform 1s cubic-bezier(0.215, 0.610, 0.355, 1.000), opacity 0.5s ease, -webkit-transform 1s cubic-bezier(0.215, 0.610, 0.355, 1.000);

}

/* 
.text-home .text-box:last-child .p1 {
  position: relative;
  display: inline-block;
  font-size: 20px;
  line-height: 37px;
  margin-bottom: 30px;
  color: #000; 
  
  background: linear-gradient(#fff 0 0) no-repeat;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-size: 0% 100%;
  animation: textColor 2s forwards;
}

.text-home .text-box:last-child .p1::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 0; 
  background: #000;
  z-index: -1;
   animation: reveal 2s forwards;
}


@keyframes reveal {
  to {
    width: 100%;
  }
}

@keyframes textColor {
  to {
    background-size: 100% 100%;
  }
} */
body:not(.home) .page-header {
   max-height: 75vh;
}

body:not(.home) header .scroll-down {
   display: none;
}

body:not(.home) .page-header:after {
   content: '';
   display: block;
   width: 100vw;
   position: absolute;
   top: 0;
   left: 0;
   background: #00000087;
   height: 100%;
}

body:not(.home) .page-header .container p {
   text-transform: uppercase;
   font-weight: 600;
}

.page-header .container h1 {
   font-size: 8vw;
}

body:not(.home) .pi-ov-in.pi-ov-1 {
   height: 12vh;
}

body:not(.home) .pi-ov-in.pi-ov-2 {
   height: 7vh;
}

body:not(.home) .pi-ov-in.pi-ov-3 {
   height: 0vh;
}

body:not(.home) .pi-ov-in.pi-ov-4 {
   height: 22vh;
}

/* Contenedor del input */
.wpcf7 .form-group p {
   position: relative;
   margin-bottom: 25px;
}

/* Inputs y textarea */
.wpcf7 .form-group input:not([type=submit]),
.wpcf7 .form-group textarea {
   width: 100%;
   padding: 12px 0 12px 0;
   font-size: 16px;
   border: none;
   border-bottom: 2px solid #ccc;
   background: transparent;
   outline: none;
   transition: border-color 0.3s;
}

.form-group input:focus::placeholder {
   color: transparent;
}

/* Labels flotantes */
.wpcf7 .form-group p label {
   position: absolute;
   left: 0;
   top: 12px;
   font-size: 16px;
   color: #999;
   pointer-events: none;
   transition: all 0.3s ease;
   opacity: 0;
}

/* Si el input está enfocado o tiene valor */
.wpcf7 .form-group p:has(input:focus),
.wpcf7 .form-group p:has(input:not([value=""])) {
   /* Línea inferior animada */
   border-bottom-color: #007bff;
}

/* Mover label hacia arriba */
.wpcf7 .form-group p:has(input:focus) label,
.wpcf7 .form-group p:has(input:not([value=""])) label {
   top: -10px;
   font-size: 12px;
   color: #000;
   opacity: 1;
}

/* Línea inferior animada desde centro (opcional) */
.wpcf7 .form-group input:not([type=submit]):focus,
.wpcf7 .form-group textarea:focus {
   border-bottom-color: #000;
}

.custom-link * {
  -webkit-transition: 0.25s ease-in-out;
  -moz-transition: 0.25s ease-in-out;
  -ms-transition: 0.25s ease-in-out;
  -o-transition: 0.25s ease-in-out;
  transition: 0.25s ease-in-out;
}

.custom-link input[type=submit] {
   display: flex;
   flex-wrap: wrap;
   align-items: center;
   font-size: 14px;
   color: var(--color-dark);
   background: none;
   height: auto;
   padding-inline:0;
   text-transform: uppercase;
}

.custom-link p {
   padding-left: 30px;
  transition: 0.25s ease-in-out;
}

.custom-link input[type=submit]:hover {
   text-decoration: none;
}

.custom-link b {
   font-weight: 600;
   display: inline-block;
   margin-left: 20px;
}

.custom-link .lines {
   width: 42px;
   height: 1px;
   float: left;
   overflow: hidden;
}

.custom-link p:after {
   content:'';
   width: 20px;
   height: 1px;
   position: absolute;
   background: var(--color-dark);
   top: 9px;
   left: 0;
  transition: 0.25s ease-in-out;
}

.custom-link p:before {
   content:'';
   width: 0;
   height: 1px;
   background: var(--color-dark);
   position: absolute;
   top: 9px;
   left: 0;
  transition: 0.25s ease-in-out;
}

.custom-link:hover p {
   padding-left: 62px;
}

.custom-link:hover p:after {
   width: 0;
}

.custom-link:hover p:before {
   width: 42px;
   transition-delay: 0.2s;
}