body {
    font-family: "Roboto", sans-serif;
    background-color: rgb(0, 0, 0);
    background-size: cover;
    background-position: center;
    color: #ffffff;
    margin: 0;
    padding: 1cm;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.video-background {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
    z-index: -1; /* Asegura que el video esté detrás del contenido */
}

#background-video {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transform: translate(-50%, -50%);
}

/* Estilos para los íconos de redes sociales */
.social-media-icons {
    display: flex;
    justify-content: center;
    margin-top: 1em;
}

.social-media-icons a {
    display: block;
    width: 40px;
    height: 40px;
    margin: 0 10px;
    background-color: #474747;
    border-radius: 50%;
    overflow: hidden;
    transition: transform 0.3s, background-color 0.3s;
}

.social-media-icons img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.social-media-icons a:hover {
    transform: translateY(-5px);
    
}

.social-media-icons a:hover img {
    filter: brightness(1) invert(0);
}

footer {
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    background-color: #333232;
    color: #0A732F;
    font-weight: bold;
    padding: 1em 0;
    width: 100%;
}

.desarrimg {
    width: 100%;
    max-width: 400px;
    height: auto;
    display: block;
    margin: 0 auto;
}

#img1 {
    filter: drop-shadow(2px 2px 20px rgb(167, 119, 30));
}

#img2 {
    filter: drop-shadow(1px 2px 4px #8b7474);
}
.bold {
    color: #26A639;
    font-weight: bold;
}

.bold1 {
    color: #ffffff;
    font-weight: bold;
}

h1, h2 {
    font-family: "Black Ops One", system-ui;
    letter-spacing: 2px;
}

p {
    text-align: center;
}

html {
    scroll-behavior: smooth;
}

header { /* Barra de menú en general */
    background-color: #000000; /* Fondo del header en negro */
    color: #0A732F; /* Color del título grande en naranja */
    padding: 1em 0;
    text-align: center;
    position: fixed;
    width: 100%;
    top: 0;
    z-index: 1000;
}

header h1 {
    margin: 0;
}

nav ul {
    list-style-type: none;
    padding: 0;
    display: flex;
    justify-content: center;
    margin: 0;
}

nav ul li {
    margin: 0 1em;
}

nav ul li a {
    color: #26A639; /* Color de las opciones de la barra de menú en amarillo */
    text-decoration: none;
    padding-bottom: 5px;
    position: relative;
    transition: color 0.3s;
}

nav ul li a::after { /* Barras que aparecen y desaparecen en barra de menú configuración general */
    content: '';
    position: absolute;
    left: 50%;
    bottom: 0;
    width: 0;
    height: 2px;
    background: linear-gradient(to right, #F2F2F2, #26A639);
    transition: width 0.3s, left 0.3s;
}



  /* Estilo para el contenedor del botón */
  .button-container {
    display: flex;
    justify-content: center; /* Centra el botón horizontalmente */
    align-items: center; /* Centra el botón verticalmente */
    height: 10px; /* Altura completa de la ventana del navegador */
}

/* Estilo para el botón */
button {
    background-color: #2f9754;
    border: none;
    border-radius: 12px;
    padding: 10px 20px;
    display: flex; /* Usa flexbox para alinear el contenido */
    align-items: center;
    cursor: pointer;
    transition: background-color 0.3s, transform 0.3s; /* Transiciones suaves */
    color: white;
    font-size: 16px;
}

/* Estilo para el enlace dentro del botón */
#portafoliolink {
    display: flex; /* Usa flexbox para alinear el texto y el SVG */
    align-items: center; /* Centra verticalmente el contenido */
    text-decoration: none; /* Quita el subrayado del enlace */
    color: inherit; /* Hereda el color del texto del botón */
}

/* Estilo para el SVG */
svg {
    margin-left: 10px; /* Espacio entre el texto y el SVG */
}

/* Estilo para el estado hover del botón */
button:hover {
    transform: scale(1.05); /* Aumenta ligeramente el tamaño del botón */
    
}


a {
    color: #2f4981;
}

a:hover {
    color: #26A639;
}

nav ul li a:hover::after {
    width: 100%;
    left: 0;
}

nav ul li a.active {
    color: #26A639;
}

nav ul li a.active::after {
    width: 100%;
    left: 0;
}

main {
    padding: 7em 1em 2em;
    width: 100%;
    max-width: 1200px;
}

section {
    margin-bottom: 2em;
    display: flex;
    justify-content: center;
    flex-direction: column;
    align-items: center;
    text-align: center;
}

.content-section::before {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 4px;
    background: linear-gradient(to right, #FFA500, #0A732F);
}

.card {
    background-color: #474747; /* Color de las tarjetas fondo de cada sección en negro */
    padding: 1em;
    border-radius: 8px;
    margin: 1em 0;
    max-width: 800px;
    width: 100%;
    padding-bottom: 2em;
}

.card img {
    width: 100%; /* Ajusta el tamaño de la imagen para que ocupe todo el ancho del contenedor */
    height: auto;
    object-fit: cover;
    border-radius: 8px;
    margin-bottom: 1em;
}

.card h3 {
    color: #15be51; /* Títulos de las tarjetas en naranja */
    margin: 0;
}

.card ul {
    padding-left: 20px;
}

/* Estilos para el menú de hamburguesa */
.hamburger {
    display: none;
    background: none;
    border: none;
    font-size: 1.5em;
    color: #205934; /* Color del menú de hamburguesa en naranja */
    cursor: pointer;
}

@media (max-width: 768px) {
    .hamburger {
        display: block;
        position: absolute;
        top: 10px;
        right: 10px;
    }

    nav ul {
        display: none; /* Ocultar el menú por defecto */
        position: absolute;
        top: 60px;
        left: 0;
        width: 100%;
        background-color: #000; /* Color de fondo del menú */
        padding: 1em 0; /* Espaciado interno del menú */
    }

    nav ul.active {
        display: flex;
        flex-direction: column;
        align-items: center;
    }

    nav ul li {
        margin: 0.5em 0;
        text-align: center;
    }
}

/* Efecto de despliegue al bajar por la página */
@keyframes slideDown {
    from {
        opacity: 0;
        transform: translateY(-20px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

section {
    opacity: 0;
    transform: translateY(100px);
    transition: opacity 1.5s, transform 2s;
}

section.visible {
    opacity: 1;
    transform: translateY(0);
}

section.slide {
    animation: slideDown 0.6s ease forwards;
}
