/*
	Theme Name: Valbo
	Theme URI: http://valbo.work
	Description: HTML5 Blank WordPress Theme
	Version: 1.4.3
	Author: ValBo
	Author URI: http://valbo.work
	Tags: Blank, HTML5, CSS3

	License: MIT
	License URI: http://opensource.org/licenses/mit-license.php
*/


/*------------------------------------*\
	TYPOGRAPHY
\*------------------------------------*/


@font-face {
    font-family: 'script-regular';
    src: 
         url('fonts/BrushScript-Regular.otf') format('opentype');
    font-weight: normal;
    font-style: normal;
}

/*------------------------------------*\
    MAIN
\*------------------------------------*/

/* global box-sizing */

/* width */
::-webkit-scrollbar {
	width: 15px;
	display: none;
  }
  
  /* Track */
  ::-webkit-scrollbar-track {
	background: #252325;
	display: none;
  }
   
  /* Handle */
  ::-webkit-scrollbar-thumb {
	background: #000; 
	display: none;
  }
  
  /* Handle on hover */
  ::-webkit-scrollbar-thumb:hover {
	background: #fff; 
	display: none;
  }

*,
*:after,
*:before {
	-moz-box-sizing:border-box;
	box-sizing:border-box;
	-webkit-font-smoothing:antialiased;
	font-smoothing:antialiased;
	text-rendering:optimizeLegibility;
}

/* html element 62.5% font-size for REM use */
html {
	font-size:62.5%;
}

body {
    font-family: 'script-regular';
	font:300 11px/1.4 'Helvetica Neue', Helvetica, Arial, sans-serif;
	font-size: 5vh;
	
}

/* clear */
.clear:before,
.clear:after {
    content:' ';
    display:table;
}

.clear:after {
    clear:both;
}
.clear {
    *zoom:1;
}
img {
	max-width:100%;
	vertical-align:bottom;
}
a {
	text-decoration:none;
}
a:hover {
	color:#444;
}
a:focus {
	outline:0;
}

a:hover,
a:active {
	outline:0;
}

input:focus {
	outline:0;
	border:1px solid #04A4CC;
}

h1,h2,h3{
	text-align:center;
	width:100%;
}

h1{
	font-size: 7vh;
}

h2{
	margin-bottom: 33px;
	font-size: 7vh;
	position:relative;
}

h3{
    font-size:5vh;
}


.hidden{
    display:none;
}


.font-script {
    font-family: 'script-regular';
    animation: fadeUp 10s ease forwards;
    animation-delay: 5s;
}

@keyframes traqueteoVan {
  0%, 100% { transform: translateY(0) rotate(0deg); }
  25% { transform: translateY(2px) rotate(-0.5deg); }
  50% { transform: translateY(-2px) rotate(0.5deg); }
  75% { transform: translateY(1px) rotate(-0.2deg); }
}

@keyframes shake {
  0%   { transform: translateY(0px) rotate(0.2deg); }
  25%  { transform: translateY(-0.31px) rotate(-0.12deg); }
  50%  { transform: translateY(0.5px) rotate(0.13deg); }
  75%  { transform: translateY(-0.5px) rotate(-0.1deg); }
  100% { transform: translateY(0px) rotate(0.2deg); }
}

@keyframes desenfoqueVelocidad {
  0%, 100% { filter: blur(0px); }
  50% { filter: blur(0.5px); } /* Ligeramente borroso en el punto medio del movimiento */
}

.van {
  animation: shake .215s ease-in-out infinite;
  position: absolute;
  top: 50%;
}

#van-section {
    background: url('./img/bg-road.svg');

    display: flex;
    height: 100vh;
    justify-content: center;
    
    background-repeat: repeat-x;
    background-size: cover;
    background-position: left center;
    
    animation: moverFondo 6s linear infinite;
    transition: opacity 0.5s ease;
}

.loading-slogan {
    color: white;
    font-size: 150%;
    position: absolute;
    top: 20%;
    z-index:2;
}

#van-section.hidden{
    opacity: 0;
}

@keyframes moverFondo {
  0% {
    background-position: right center; /* O 0% 50% */
  }
  100% {
    background-position: left center; /* O 100% 50% */
  }
}

#front_wheel,
#back_wheel {
  animation: spin 1.2s linear infinite;
  transform-origin: center;
  transform-box: fill-box; /* MUY IMPORTANTE */
}

@keyframes spin {
  0%   { transform: rotate(360deg); }
  100% { transform: rotate(0); }
}

.img-logo {
        width:80%;
}

/*------------------------------------*\
    STRUCTURE
\*------------------------------------*/

/* wrapper */
.wrapper {
	width:100%;
	margin:0 auto;
	position:relative;
	overflow:hidden;
}

.wrapper section{
	padding:30px 20px;
}

/* header */
.header {
	height: 100vh;
	overflow: hidden;
    background-position: center;
    background-size: cover;
}

.hero-title {
    font-size: 7rem;
    position: relative !important;
}

.hero-tile h2{
    text-align: left;
    text-shadow: 3px 3px 5px #000000c9;
}

.hero-title span{
    background: #7F5AC1;
    font-size: 27px;
    width: 100%;
    display: block;
    text-align: center;
}

.hero-subtitle h3 {
    text-align: left;
    text-shadow: #000000 2px 2px 2px;
    font-size: 3rem;
}

.hero-subtitle {
    position:relative !important;
    text-align:left;
}

.hero-subtitle span.lemon { 
    color: #7F5AC1;
    font-size:3rem;
}

.cta-btn {
    border-radius: 24px;
    color: #fff ;
    cursor: pointer;
    font-size:22px;
    margin:15px;
    padding: 14px 30px;
}

.cta-btn:hover{
    text-decoration:none;
    color: #fff;
}


/* Resplandor de luz que entra desde la derecha */
.header-div::before {
  content: '';
  position: absolute;
  top: 0;
  right: 0;
  width: 150%;
  height:100vh;
  background: #000000a1;
  z-index:1;
}



/* logo */
.logo {
	text-align: center;
	align-self: center;
	position: absolute !important;
	top: inherit !important;
	left: inherit !important;
	z-index: 2;
}

.logo-img {
	width: 223px;
}

.header-logo {
    color: #fff;
    font-size: 39px;
    margin-bottom: 33px;
    z-index: 1;
}


.noise{
	height: 100%;
	width: 100%;
	background-position:center;
	background-size: cover;
	display:flex;
	justify-content:center;
}

.call-to-actions {
    display:flex;
    flex-direction:row;
}

.video-background {
  position: relative;
  width: 100%;
  height: 100vh;
  overflow: hidden;
}

.video-background video {
  position: absolute;
  top: 50%;
  left: 50%;
  min-width: 100%;
  min-height: 100%;
  width: auto;
  height: auto;
  z-index: 0;
  transform: translate(-50%, -50%); /* Centra el video */
}

.video-background video::after {
    background: red;
}

#menu-w {
    background: rgb(48,58,61);
    background: #5a5a5a70;
    backdrop-filter: blur(5px);
    -webkit-backdrop-filter: blur(0px);
    left:200%;
    opacity: 0;
    height: 100%;
    position: fixed;
    transition: opacity ease-out .5s;
    z-index: 2;
    width: 100%;
    
}

#header-container .content {
    align-items: center;
    position: relative;
    color: white;
    display: flex;
    flex-direction: column;
    justify-content: space-evenly;
    padding: 20px;
    text-align: center;
    z-index: 1;
}

.bg-pink {
    background-color: #C8057D;
}

.bg-lightblue {
    background-color: #32BEC7;
}

#menu-w.desplegado {
    backdrop-filter: blur(28px);
    -webkit-backdrop-filter: blur(18px);
    left:0%;
    opacity: 1; /* Inicialmente invisible */    
    transition: opacity ease-out .5s;
}

#menu-c {
    bottom: 40%;
    display: flex;
    flex-direction: column;
    position: fixed;
    right: 60px;
    z-index: 2;
}

#menu-w.desplegado #menu-c a {
    transform: translateY(0px);
    transition: all ease-out .5s;
}

#menu-c a{
    background: rgb(48,58,61);
    background: #28424029;
    backdrop-filter: blur(28px);
    -webkit-backdrop-filter: blur(28px);
    border-radius: 27px;
    color: #FFC107;
    font-size: 19px;
    margin: 10px;
    padding: 8px 41px;
    text-align: center;
    text-decoration: none;
    transform: translateX(150%);
    transition: all ease-out .5s;
}

#menu-w.desplegado #menu-c a:nth-child(1) {
    left: -13px;
    position: relative;
    top: -13px;
    transition: all ease-out .2s;
}

#menu-c a:nth-child(1) {
    left: -13px;
    position: relative;
    top: -13px;
    transition: all ease-out .2s;
}


#menu-c a:nth-child(2) {
    left: -13px;
    position: relative;
    bottom: -13px;
}

/* Menu Wrapper */

#menu-wrapper {
    border-radius: 50%;
    bottom: 44px;
    height: 5px;
    position: fixed;
    right: 40px;
    width: 5px;
    transition: border-radius .2s, bottom .1s, right .1s, width.8s, height 1s;
}

#menu-wrapper.desplegado { 
    background: rgb(48,58,61);
    background: #28424029;
    backdrop-filter: blur(28px);
    -webkit-backdrop-filter: blur(28px);
    border-radius: 0;
    bottom: 0;
    height: 100vh;
    position: fixed;
    right: 0;
    transition: border-radius .2s, bottom .1s, right .1s, width.8s, height 1s;
    width: 100%;
    z-index: 2;
}

#menu-wrapper a {
    display:none;    
}

#menu-wrapper.desplegado a {
    display: flex;
}

#menu-container {
    align-items: center;
    display: flex;
    flex-direction: column;
    gap: 5%;
    height: 100vh;
    justify-content: center;    
    
}

#menu-container a{
    color: #fff;
    text-decoration: none;
    font-size: 49px;
    text-shadow: 3px 3px rgb(0 0 0 / 33%);
}

/* nav */
.nav {
	position: fixed;
	width: 100%;
	flex-direction: row-reverse;
    align-items: flex-end;
    padding-right: 33px;
}

#nav-container {
	position: fixed;
	top: 0px;
    z-index: 10;
}

.nav ul{
	list-style: none;
}

.nav ul li a{
	background-color:#7F5AC1;
	color: #fff;
	font-size: 14px;
	font-weight: bold;
	padding: 9px 11px;
    border-radius: 7px;
    transition: all ease-out .3s;
    border: 2px solid #7F5AC1;
}

.fade-up {
  opacity: 0;
  transform: translateY(20px);
  animation: fadeUp 2s ease-out forwards;
}

@keyframes fadeUp {
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.fade-up-scroll {
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 2s ease-out, transform 0.9s ease-out;
}

.fade-up-scroll.visible {
  opacity: 1;
  transform: translateY(0);
}

.nav ul li a:hover{
	text-decoration: none;
	color: #7F5AC1;
	background-color: transparent;
  }

#menu-button{
    bottom: 44%;
    display:none;
    position: fixed;
    transition: ease-in .7s;
}

.reposo {
    opacity:.14;
}

/* menu icon */
#menu-icon {
    background: rgb(48,58,61);
    background: #28424029;
    backdrop-filter: blur(28px);
    -webkit-backdrop-filter: blur(28px);
    border-radius: 50%;
    box-shadow: 0 0 7px 0px rgb(0 0 0 / 29%);
    color: #7F5AC1;
    cursor: pointer;
    display: block;
    font-size: 32px;
    height: 55px;
    padding: 11px;
    transition: all .7s;
    width: 55px;
}

#menu-icon:hover {
    text-decoration: none;
    opacity: 1;
}

#menu-icon span {
    display: block;
    color: #fff;
}

#header-logo {
    height:100px;
}

#header-logo-container {
    margin-bottom: 40px;
    position: relative;
}

#navlogo-container {
    position: absolute;
    text-align: center;
    top: 15px;
    right: 15px;
}

#navlogo {
    width:123px;
}

#navlogo-container svg {
  animation: neonFlicker 4s ease-in-out forwards;
  animation-delay: 1s;
  fill: #222; /* Initial plain color of the SVG */
  filter: drop-shadow(0 0 5px rgba(255, 255, 0, 0)) drop-shadow(0 0 20px rgba(255, 255, 0, 0));
  height:66px;
  opacity: .3; /* Initially hidden */
  width:66px;
  display:none;
}


.header .menu-icon {
  color: #7F5AC1;
  cursor: pointer;
  margin: 7px;
  padding: 28px 20px;
  user-select: none;
}

.header .menu-icon .navicon {
  background: #7F5AC1;
  display: block;
  height: 4px;
  position: relative;
  transition: background .2s ease-out;
  width: 27px;
}

.header .menu-icon .navicon:before,
.header .menu-icon .navicon:after {
  background: #7F5AC1;
  content: '';
  display: block;
  height: 100%;
  position: absolute;
  transition: all .2s ease-out;
  width: 100%;
}

.header .menu-icon .navicon:before {
  top: 8px;
}

.header .menu-icon .navicon:after {
  top: -8px;
}

/* menu btn */

.header .menu-btn {
  display: none;
}

.header .menu-btn:checked ~ .menu {
  max-height: 240px;
}

.header .menu-btn:checked ~ .menu-icon .navicon {
  background: transparent;
}

.header .menu-btn:checked ~ .menu-icon .navicon:before {
  transform: rotate(-45deg);
}

.header .menu-btn:checked ~ .menu-icon .navicon:after {
  transform: rotate(45deg);
}

.header .menu-btn:checked ~ .menu-icon:not(.steps) .navicon:before,
.header .menu-btn:checked ~ .menu-icon:not(.steps) .navicon:after {
  top: 0;
}

.btn-nav{
	font-size: 19px;
	background-color:#7F5AC1;
	text-shadow:none;
	color:#fff;
	font-weight: bold;
	position:relative;
	top:-14px;
	transition: all .2s ease-out;
	box-shadow: 0px 1px 7px #777777ba;
	font-size:17px !important;
}

.blurry {
	filter: blur(1px);
}

.btn-nav:hover {
	background-color:#7F5AC1;
	color:#fff;
	/* border-color: #41dcc4; */
  }

/* 48em = 768px */

@media (min-width: 48em) {
    
    .img-logo {
        width:35%;
    }

    #menu-button {
        top: 50%;    
    }
    
    .header li {
        float: right;
        margin: 13px
    }

}

/* sidebar */
.sidebar {

}

/* CONTACTO */
/* 
#contacto{
	padding-bottom:0px;
	margin-top:70px;
}

#contacto h2 {
    font-size: 6vh !important;
    position: relative;
	text-decoration: none !important;
}
.form-contacto .wpforms-field-container .wpforms-field .wpforms-field-large,
.form-contacto .wpforms-field-container .wpforms-field .wpforms-field-medium {
    border: none;
    border-bottom: 1px solid #a4bbc6;
    padding: 23px 35px;
    border-radius: 27px;
}

form.wpforms-validate .wpforms-field-container .wpforms-field .wpforms-field-label{
    cursor: text;
    color: #333;
    font-size: 19px;
    font-weight: normal;
    left: 20px;
    position: absolute;
    transition: all ease-out .3s;
    top: 20px;
}

form.wpforms-validate .wpforms-field-container .wpforms-field input.wpforms-error{
	border:none !important;
	border-bottom:1px solid red !important;

}

form.wpforms-validate .wpforms-field-container .wpforms-has-error{
}

label.wpforms-error{
	display:none !important;
}

form.wpforms-validate .wpforms-field-container .wpforms-field .wpforms-field-label.activo{
	color: #7F5AC1;
	font-size:14px;
	transform: translateY(-33px);
}

form.wpforms-validate .wpforms-field-container .wpforms-field .wpforms-field-label.activo{
	color: #7F5AC1;
	font-size:14px;
	transform: translateY(-33px);
}

form.wpforms-validate .wpforms-field-container .wpforms-field{
	margin-bottom: 20px;
	position: relative;
}


.wpforms-container{
	padding:49px;
	margin-top:33px !important;
}

.wpforms-submit-container{
	text-align:center;
}

form.wpforms-validate div.wpforms-submit-container button.wpforms-submit {
	background-color: #7F5AC1;
	border-radius:27px;
	border:none;
	box-shadow: none;
	color:#fff;
    font-size: 19px;
	margin-top:23px;
	padding: 14px 30px;;
	text-transform: uppercase;
	transition: all .2s ease-out;
}

form.wpforms-validate div.wpforms-submit-container button.wpforms-submit:hover,form.wpforms-validate div.wpforms-submit-container button.wpforms-submit:active,form.wpforms-validate div.wpforms-submit-container button.wpforms-submit:focus {
	background-color:#7F5AC1;
	border:none;
}

#contacto .wpforms-confirmation-container-full, #contacto div[submit-success]>.wpforms-confirmation-container-full:not(.wpforms-redirection-message){
	border:none;
	background:#7F5AC1;
	border-radius: 7px;;
}

#contacto .wpforms-confirmation-container-full, #contacto div[submit-success]>.wpforms-confirmation-container-full {
	color: #fff;
}


*/

/* footer */
.footer {
    background: #0000001a;
    position: relative;
    z-index: 2;
    bottom: 0;
}

#footer-email {
    padding: 14px;
}

#footer-email a h3{
    font-size: 3vh;
    color: #ffffff;
}

.copyright{
    background: #0000002b;
    color: #ffffff;
    font-size: 14px;
    margin: 0;
    padding: 15px;
    text-align: right;
}

/*
.triangulo-r-footer{
	width: 50%;
	clip-path: polygon(0 0%, 0% 100%, 100% 100%);
    height: 50px;
    background-color: #FFCB3B;
    top: 0px;
    float: left;
    position: relative;
}

.triangulo-l-footer{
	width: 50%;
    clip-path: polygon(100% 0%, 0% 100%, 100% 100%);
    height: 50px;
    background-color: #41dcc4;
    top: 0px;
    position: relative;
    float: left;
    right: 0px;
}*/

/*------------------------------------*\
    PAGES
\*------------------------------------*/

/*------------------------------------*\
    IMAGES
\*------------------------------------*/

/*------------------------------------*\
    RESPONSIVE
\*------------------------------------*/

@media only screen and (max-width:768px){
	.van {
        top: 60%;
    }
}

/*------------------------------------*\
    MISC
\*------------------------------------*/

::selection {
	background:#192429;
	color:#FFF;
	text-shadow:none;
}
::-webkit-selection {
	background:#192429;
	color:#FFF;
	text-shadow:none;
}
::-moz-selection {
	background:#192429;
	color:#FFF;
	text-shadow:none;
}

/*------------------------------------*\
    WORDPRESS CORE
\*------------------------------------*/

.alignnone {
	margin:5px 20px 20px 0;
}
.aligncenter,
div.aligncenter {
	display:block;
	margin:5px auto 5px auto;
}
.alignright {
	float:right;
	margin:5px 0 20px 20px;
}
.alignleft {
	float:left;
	margin:5px 20px 20px 0;
}
a img.alignright {
	float:right;
	margin:5px 0 20px 20px;
}
a img.alignnone {
	margin:5px 20px 20px 0;
}
a img.alignleft {
	float:left;
	margin:5px 20px 20px 0;
}
a img.aligncenter {
	display:block;
	margin-left:auto;
	margin-right:auto;
}
.wp-caption {
	background:#FFF;
	border:1px solid #F0F0F0;
	max-width:96%;
	padding:5px 3px 10px;
	text-align:center;
}
.wp-caption.alignnone {
	margin:5px 20px 20px 0;
}
.wp-caption.alignleft {
	margin:5px 20px 20px 0;
}
.wp-caption.alignright {
	margin:5px 0 20px 20px;
}
.wp-caption img {
	border:0 none;
	height:auto;
	margin:0;
	max-width:98.5%;
	padding:0;
	width:auto;
}
.wp-caption .wp-caption-text,
.gallery-caption {
	font-size:11px;
	line-height:17px;
	margin:0;
	padding:0 4px 5px;
}
.sticky {

}
.bypostauthor {

}

/*------------------------------------*\
    PRINT
\*------------------------------------*/

@media print {
	* {
		background:transparent !important;
		color:#000 !important;
		box-shadow:none !important;
		text-shadow:none !important;
	}
	a,
	a:visited {
		text-decoration:underline;
	}
	a[href]:after {
		content:" (" attr(href) ")";
	}
	abbr[title]:after {
		content:" (" attr(title) ")";
	}
	.ir a:after,
	a[href^="javascript:"]:after,
	a[href^="#"]:after {
		content:"";
	}
	pre,blockquote {
		border:1px solid #999;
		page-break-inside:avoid;
	}
	thead {
		display:table-header-group;
	}
	tr,img {
		page-break-inside:avoid;
	}
	img {
		max-width:100% !important;
	}
	@page {
		margin:0.5cm;
	}
	p,
	h2,
	h3 {
		orphans:3;
		widows:3;
	}
	h2,
	h3 {
		page-break-after:avoid;
	}
}

#services {
    padding: 30px 0;
    margin: 200px 0;
}

#services h2 {
    color: #fff0;
    -webkit-text-stroke-width: 1px;
    -webkit-text-stroke-color: #ffffff;
    position: relative;
    font-size: 10vw;
}

.container {
  max-width: 1200px;
  margin: 0 auto;
}

/* Card grid layout */
.card-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 20px;
}

/* Card Styling */
.card {
    background: rgb(48, 58, 61);
    background: #4646463b;
    backdrop-filter: blur(5px);
    -webkit-backdrop-filter: blur(5px);
    border-radius: 10px;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
    overflow: hidden;
    padding: 30px;
    position: relative;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    z-index:4;
}

.card:hover {
  transform: translateY(-10px);
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.15);
}

/* Icon styling inside the card */
.card-icon {
  font-size: 50px;
  color: #007bff;
  margin-bottom: 20px;
}

/* Title of the service */
.card h3 {
  font-size: 24px;
  color: #7F5AC1;
  margin-bottom: 15px;
}

/* Description text */
.card p {
  font-size: 16px;
  color: #fff;
  line-height: 1.6;
}

/* Responsive Adjustments */
@media (max-width: 768px) {
    
    .van{
        width:90%;
    }
    
    .van svg {
        width:100%;
    }
    .cool-text {
        font-size: 8vh;
        max-width: 100%;
    }
    
    #blur-ball {
        width: 47%;
    }

    .card-grid {
        grid-template-columns: 1fr;
    }
}

div.wpforms-container-full .wpforms-form .wpforms-field:not(.wpforms-field-phone):not(.wpforms-field-select-style-modern):not(.wpforms-field-radio):not(.wpforms-field-checkbox):not(.wpforms-field-layout) {
    overflow: inherit !important;
}

.animacion-entradsa {
    animation: slideInFromRight 2s ease-in-out;
}

@keyframes slideInFromRight {
  from {
    transform: translateX(100%);
    opacity: 0;
  }
  to {
    transform: translateX(0);
    opacity: 1;
  }
}

.panel{
    align-items: center;
    display: flex;
    flex-direction: column;
    float: left;
    height: 100vh;
    justify-content: center;
    width: 20%;
}

#slideContainer {
  width: 500%;
  height: 100%;
}

