/* Add here all your CSS customizations */

/* Icon Size */
.custom-icon-size-1 {
    font-size: 2em;
}
.custom-icon-size-2 {
    font-size: 2.8em;
}
.custom-icon-size-3 {
    font-size: 3.5em;
}
/* Dividers */
.custom-hr-color-light {
    background: rgba(255,255,255,0.3)!important;
	background-image: -webkit-linear-gradient(left, transparent, #fff, transparent)!important;
	background-image: linear-gradient(to right, transparent, #fff, transparent)!important;
	border: 0;
	height: 1px;
	margin: 22px 0;
}

hr.personal-gradient {
	background: rgba(255,255,255,0.3)!important;
	background-image: -webkit-linear-gradient(left, transparent, #DBDBDB, transparent)!important;
	background-image: linear-gradient(to right, transparent, #DBDBDB, transparent)!important;
	border: 0;
	height: 1px;
	margin: 22px 0;
}
html .text-color-grey,
html .text-grey {
	color: #ffffff  !important;
}
.page-link {
    position: relative;
    display: inline-block !important;
    padding: .5rem .75rem;
    margin-left: -1px;
    line-height: 1.25;
    color: #333333 !important;
    background-color: #fff;
    border: 1px solid #dee2e6;
}


/* Hace que el header flote sobre la imagen */
#header {
    position: absolute;
    width: 100%;
    top: 0;
    left: 0;
    z-index: 1000;
    background: transparent !important;
}

/* Hace el cuerpo del header transparente y lo fusiona con la imagen */
.header-body {
    background: linear-gradient(
        to bottom,
        rgba(0,0,0,0.0) 0%,
        rgba(0,0,0,0.25) 40%,
        rgba(0,0,0,0.55) 100%
    ) !important;

    border-bottom: none !important;
}

/* Quitar la línea gris del theme */
.header-body-bottom-border {
    border-bottom: none !important;
}

/* Links en blanco para que se vean sobre la imagen */
.header-nav-main nav > ul > li > a {
    color: #fff !important;
}

/* Ajuste del logo para verse sobre fondo oscuro/claro */
.header-logo img {
    filter: drop-shadow(0px 0px 2px rgba(0,0,0,0.5));
}


/* Estilo para las clases de VIDEO */
.video-container {
    position: relative;
    width: 100%;
    max-width: 100%;
    overflow: hidden;
}

.video-container video {
    width: 100%;
    height: auto;
    display: block;
}

.video-background video {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
.video-bg-wrapper {
    position: relative;
    width: 100%;
    height: 100vh;      /* video ocupa toda la altura de la pantalla */
    overflow: hidden;
    z-index: 1;
}

.video-bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;   /* recorta el video sin deformarlo */
    object-position: center;
}

@media (max-width: 991px) {
    .video-bg-wrapper {
        height: 80vh;        /* Reduce altura en tablets */
    }
}

@media (max-width: 768px) {
    .video-bg-wrapper {
        height: 70vh;        /* Reduce un poco más en móviles */
    }
}

@media (max-width: 480px) {
    .video-bg-wrapper {
        height: 60vh;        /* Altura óptima para pantallas pequeñas */
    }
}



/*PRE LOADER PRE LOADER PRE LOADER PRE LOADER */

/* --- PRELOADER FULLSCREEN --- */
#preloader {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #000; /* fondo negro – puedes cambiarlo */
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 999999; /* siempre encima */
    transition: opacity 0.7s ease, visibility 0.7s ease;
}

#preloader-logo {
    width: 140px;
    animation: logoPulse 1.4s infinite ease-in-out;
}

/* Animación suave tipo zoom in / zoom out */
@keyframes logoPulse {
    0%   { transform: scale(1);     opacity: 0.9; }
    50%  { transform: scale(1.07);  opacity: 1; }
    100% { transform: scale(1);     opacity: 0.9; }
}

/* Cuando se oculta */
#preloader.hide {
    opacity: 0;
    visibility: hidden;
}
#preloader {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: radial-gradient(circle at center, #08242D 0%, #000000 100%);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 999999;
    transition: opacity 0.7s ease, visibility 0.7s ease;
}





