/* Basic Reset */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box !important;
    font-family: "Karla", system-ui;
    color: #8B8B8B;
}

body {
    background-image: url('./img/ER_FONDO.png');
    background: url("./img/ER_FONDO_VIDEO.gif");
    background-attachment: fixed;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    position: relative;
    margin: 0; /* Ensure no margin */
    padding: 0;
    padding-bottom: 100vh;
    margin-top: -20px;
    width: 100%;
    overflow-x: hidden;
}
a {
    text-decoration: none;
}
p{
    font-size: 18px;
    font-weight: 300;
}
.bold{
    font-weight: 500;
}
#estanque p{
    font-size: 24px;
    font-weight: 100;
}
#estanque p.artist {
    font-weight: 500;
}
h2 {
    font-size: 35px;
    font-weight: 500;
}
h3{
    font-size: 28px;
    font-weight: 300;
}
h4{
    font-size: 24px;
    font-weight: 500;
}
h5{
    font-size: 20px;
    font-weight: 300;
}
h6{
    font-size: 18px;
    font-weight: 300;
}
.title{
    border-bottom: 2px solid #8B8B8B;
    margin-bottom: 10px;
}
/* Navigation Styles */
.navbar {
    position: fixed;
    top: 0;
    width: calc(100% - 40px);
    background-color: #1D1E1C;
    padding: 10px 0 0 0;
    margin: 0 20px;
    z-index: 1000;
}

.nav-container {
    display: flex;
    align-items: center;
    padding: 0 20px;
    justify-content: space-between;
    width: 100%;
}

.logo {
    margin-right: auto; /* Pushes the menu to the right */
}

.logo img {
    width: 108px; /* Set exact width */
    height: auto; /* Height will adjust proportionally */
    padding: 10px 0;
}

.logo-img {
    width: 106px; /* Initial width */
    transition: width 0.6s ease; /* Smooth transition for width change */
}

.nav-menu {
    display: flex;
    list-style: none;
    justify-content: center;
    padding: 1rem 0;
}

.nav-menu li {
    margin: 0 1.5rem;
    position: relative;
}

.nav-menu a {
    text-decoration: none;
    color: #8B8B8B;
    font-size: 1.1rem;
    font-weight: 600;
    position: relative; /* Added for underline positioning */
}

/* Active section underline */
.nav-menu a::after {
    content: '';
    position: absolute;
    width: 0;
    height: 1px;
    bottom: -5px;
    left: 0;
    background-color: #8B8B8B;
    transition: width 0.3s ease;
    z-index: 1000;
}

/* Show underline when section is active or hovered */
.nav-menu a:hover::after,
.nav-menu a.active::after {
    width: 100%;
}

/* Keep submenu items without underline */
.submenu a::after {
    display: none;
}

/* Submenu Styles */
.submenu {
    display: none;
    position: absolute;
    top: calc(100% + 0px);
    left: 0;
    background-color: #1D1E1C;
    min-width: 205px;
    list-style: none;
    padding-top: 10px;
}

.has-submenu:hover .submenu,
.has-submenu.active .submenu {
    display: block; /* Show submenu on hover or when active */
}

.submenu li {
    margin: 0;
    padding: 0.3rem 1rem;
}
.submenu li a{
    font-weight: 500;
    transition: .3s ease;
}
.submenu li a:hover{
    color: #1D1E1C;
    background-color: #8B8B8B;
    transition: .3s ease;
}

/* Section Styles */
#espacios {
    border-color: #1D1E1C;
    border: 24px solid #1D1E1C;
    border-top: 0;
    border-bottom: 20px solid #1D1E1C;
    background-color: #1D1E1C;
    height: calc(100vh - 20px);
    overflow: hidden;
    min-height: unset;
}


section {
    min-height: 100vh;
    padding: 50px 0px 0px 0px;
    margin: 20px;
    margin-bottom: 0;
    max-width: 100% !important;
    overflow-x: hidden !important;
}
#espacios{
    padding-top: 184px;
}
/* Smooth Scrolling */
html {
    scroll-behavior: smooth;
    scroll-padding-top: 100px;
    background-color: #1D1E1C;
} 

/* Logo Container Styles */
.logo-container {
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 20px; /* Optional: adds space below the logos */
}

.section-logo {
    max-width: 500px; /* Adjust this value based on your needs */
    height: auto;
}
.section-logo.left {
    max-width: 50%; /* Adjust this value based on your needs */
    margin-right: auto; /* Pushes the logo to the left */
}

.section-logo.right {
    max-width: 30%;
    margin-left: auto; /* Pushes the logo to the right */
} 

.full-width-image {
    width: 100%;
    background-image: url('./img/ER_PORTADA.png');
    background-position: left;
    background-repeat: no-repeat;
    background-size: cover;
    margin-top: 20px;
}
.full-width-flex-space-between {
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.full-width-flex {
    width: 100%;
    display: flex;
    flex-wrap: wrap; /* Allow items to wrap if necessary */
}
.flex-columns{
    flex-direction: column;
}
.mid-width-flex {
    width: 50%;
    display: flex;
    align-items: center;
}
.align-bottom{
    align-items: flex-end;
}
.link a {
    text-decoration: none;
    color: #1D1E1C;
    display: inline-flex;
    align-items: center;
    gap: 8px; /* Space between text and icon */
    margin-top: 20px;
    background-color: #8B8B8B;
    padding: 5px 10px;
    text-transform: uppercase;
    font-weight: 400;
    font-size: 20px;
    margin-bottom: 20px;
}
img{
    width: 100%;
    height: auto;
}
.link a::after {
    color: #8B8B8B;
    content: '+';
    display: flex;
    align-items: center;
    justify-content: center;
    width: 25px;
    height: 25px;
    background-color: #1D1E1C;
    border-radius: 50%;
    font-size: 18px;
    line-height: 1;
    font-weight: 400;
    margin-left: 7  px;
}
#estanque, #talleres, #festival, #equipo, #contacto, #artistas{
    min-height: calc(100vh - 164px);
    background-color: #1D1E1C;
    border: 24px solid #1D1E1C; /* This creates the padding effect while maintaining the background color */
    border-top: 0; /* Remove top border since we want content to start right after navbar */
    border-bottom: 20px solid #1D1E1C;
}
#artistas{
    margin-top: 130px;
}
.contenido-programa{    
    display: flex;
    flex-direction: row;
    align-items: flex-end;
    justify-content: space-between;
    gap: 5px;
    padding-bottom: 3px;
    border-bottom: 1px solid #8B8B8B;
    margin-bottom: 6px;
}
.full-width{
    width: 100%;
}    
.space-between{
    justify-content: space-between;
}
.gap-50{
    gap: 50px;
}
.gap-30{
    gap: 30px;
}
.gap-20{
    gap: 20px;
}
.gap-10{
    gap: 10px;
}
#estanque p{
    width: 100%;
    text-align: left;
    font-weight: 100;
}

/* Add these new styles */
p.artist {
    position: relative;
    padding-right: 20px;
    font-weight: 400; /* Make space for the circle */
}

.obras p::before{
    content: '';
    position: absolute;
    left: -15px;
    top: 50%;
    transform: translateY(-50%);
    width: 6px;
    height: 6px;
    background-color: #1D1E1C;
    border-radius: 50%;
}
.contenido-contenido p.obra::before{
    content: '';
    position: absolute;
    left: -15px;
    top: 9px;
    transform: translateY(-50%);
    width: 6px;
    height: 6px;
    background-color: #1D1E1C;
    border-radius: 50%;
}
.contenido-contenido p.obra{
    position: relative;
}
.obras p{
    position: relative;
}
.artistas-2 p:nth-of-type(3) {
    width: 100px;
}
.programa h3{
    margin-bottom: 10px;
    font-weight: 500;
}
.programa{
    margin-bottom: 25px;
}

.programa:last-child {
    margin-bottom: 0;
}

#sonometro {
    background-color: #8B8B8B;
    border: 24px solid #8B8B8B;
    border-top: 0;
    border-bottom: 20px solid #8B8B8B;
}

#sonometro h2,
#sonometro h3,
#sonometro h4,
#sonometro h5,
#sonometro h6,
#sonometro p,
#sonometro .contenido-programa p,
#sonometro .title {
    color: #1D1E1C;
}

#sonometro .title {
    border-bottom-color: #1D1E1C;
}

#sonometro .titulo-programa {
    border-bottom-color: #1D1E1C;
}

#sonometro p.artist::after {
    background-color: #1D1E1C;
}

#sonometro .link a {
    color: #8B8B8B;
    background-color: #1D1E1C;
}

#sonometro .link a::after {
    color: #1D1E1C;
    background-color: #8B8B8B;
}
.evento{
    width: 100%;
    background-color: #1D1E1C;
    color: #8B8B8B !important;
    padding: 5px;    
}
#sonometro .contenido-programa{
    padding: 5px 5px 5px 5px;
}
.programa .artistas, .programa .obras{
    width: 100%;
}
.artistas-2{
    display: flex;
    flex-direction: row;
}
.contenido-contenido{
    flex-direction: column;
}
.artist, .obra{
    width: 100%;
}
.mb-50{
    margin-bottom: 50px;
} 
.mb-30{
    margin-bottom: 30px;
}
.contenido-programa-workshop{
    flex-direction: column;
    border-bottom: none;
}
.fecha-workshop{
    width: 100%;
    text-align: left;
    border-bottom: 1px solid #8B8B8B;
    font-size: 22px !important;
    font-weight: 500;
}
.flex-column{
    flex-direction: column;
    align-items: flex-start;
}
.flex-start{
    align-items: flex-start;
}
.flex-middle{
    align-items: center;
}
.social-links a{
    text-decoration: none;
    display: block;
}
.flex-end{
    align-items: flex-end;
}
.link-workshop a{
    margin-top: 0px;
    text-transform: capitalize;
    font-size: 19px;
}
#talleres .programa h3{
    margin-bottom: 0px;
}
.workshops-img {
    object-position: left; /* Aligns the contained image to the left */
}

#simposio {
    background-color: #8B8B8B;
    border: 24px solid #8B8B8B;
    border-top: 0;
    border-bottom: 20px solid #8B8B8B;
    min-height: unset;
    position: relative;
}
#festival, #equipo, #contacto{
    min-height: unset;
}
.simposio-img {
    position: absolute;
    bottom: 0;
    left: 0;
    max-width: 50%;
}
#simposio h2,
#simposio h3,
#simposio h4,
#simposio h5,
#simposio h6,
#simposio p,
#simposio .contenido-programa p,
#simposio .title {
    color: #1D1E1C;
}

#simposio .title {
    border-bottom-color: #1D1E1C;
}

#simposio .contenido-programa {
    border-bottom-color: #1D1E1C;
}

#simposio p.artist::after {
    background-color: #1D1E1C;
}

#simposio .link a {
    color: #8B8B8B;
    background-color: #1D1E1C;
}

#simposio .link a::after {
    color: #1D1E1C;
    background-color: #8B8B8B;
}
h3 span{
    font-weight: 700;
    color: inherit
}
.img-sobre-festival {
    width: 100%; /* 100% of the parent container's width */
    height: auto; /* Maintain aspect ratio */
}

.festival-columns {
    display: flex; /* Use flexbox for equal column widths */
    justify-content: space-between; /* Space between columns */
}

.festival-columns > div {
    flex: 1; /* Each child div will take equal space */
}
#festival p, #equipo p, #artistas p {
    font-size: 14px;
    line-height: 1.4;
}
.divider {
    width: 100%;
    height: 2px;
    background-color: #8B8B8B;
    margin: 18px 0;
}
.mt-10{
    margin-top: 10px;
}
.mt-20{
    margin-top: 20px;
}
.mt-50{
    margin-top: 50px;
}
.mb-50{
    margin-bottom: 50px;
}
#equipo .bold {
    width: 194px;
}
h7 {
    font-size: 14px;
}

.hamburger {
    display: none; /* Hidden by default */
    font-size: 30px; /* Size of the hamburger icon */
    cursor: pointer; /* Pointer cursor on hover */
    transition: transform 0.3s ease; /* Smooth transition for rotation */
}

.hamburger.open {
    transform: rotate(90deg); /* Rotate to create a cross effect */
}

.hamburger:before,
.hamburger:after {
    content: '';
    display: block;
    width: 30px; /* Width of the lines */
    height: 3px; /* Height of the lines */
    background-color: #fff; /* Color of the lines */
    margin: 6px 0; /* Space between lines */
    transition: transform 0.3s ease, opacity 0.3s ease; /* Smooth transition for rotation and opacity */
}

.hamburger.open:before {
    transform: rotate(45deg) translate(2px, 2px); /* Rotate and move the top line */
    opacity: 1; /* Ensure it's fully visible */
}

.hamburger.open:after {
    transform: rotate(-45deg) translate(5px, -5px); /* Rotate and move the bottom line */
    opacity: 1; /* Ensure it's fully visible */
}

.hamburger:before,
.hamburger:after {
    opacity: 1; /* Ensure lines are visible when not open */
}
#contacto{
    padding-bottom: 20px;
}
.titulo-programa .obra {
    font-size: 20px;
    font-weight: 500;
}
.B{
    font-weight: 500;
    color: inherit;
}
.contenido-programa .duration{
    width: 132px;
}
.precaucion {
    background: #1D1E1C;
    padding: 3px;
}
h6 {
    min-width: 60px;
}
.contenido-programa p{
    font-size: 14px;
}
.titulo-programa p{
    font-size: 18px;
}
.estanque-img{
    width: 180px;
}
.estanque-img-2{
    width: 30%;
}
.sonometro-img{
    width: 70%;
}
.artists {
    max-width: 1200px;
    margin: 0 auto;
    padding: 20px;
  }
  
  .artist-row {
    display: flex;
    flex-wrap: wrap;
    margin-bottom: 20px;
    border-bottom: 1px solid #ddd;
    padding-bottom: 20px;
  }
  
  .artist-image {
    flex: 1;
    max-width: 40%;
    padding: 10px;
    text-align: center;
  }
  
  .artist-image img {
    max-width: 100%;
    border-radius: 10px;
  }
  
  .artist-image h3 {
    margin: 10px 0 5px;
  }
  
  .artist-socials a {
    display: inline-block;
    margin: 5px 10px 0 0;
    text-decoration: none;
    color: #8B8B8B;
  }
  
  .artist-description {
    flex: 2;
    max-width: 60%;
    padding: 10px;
    font-size: 1rem;
    line-height: 1.5;
  }
  
  .artist-description p {
    margin: 0;
  }

  .artist-description-1 h3{
    font-weight: 500;
  }
  .artist-description-2 h3{
    font-size: 24px;
  }
  #artistas .B{
    font-weight: 800;
  }
.logo-gam{
    width: 200px;
}
.logo-innova{
    width: 109px;
}
.logo-recoleta{
    width: 200px;
}
.logo-pat, .logo-er{
    width: 100px;
}
.logos-alineados {
    max-width: 100%;
    overflow: hidden;
}
.logo-cce{
    width: 100px;
}
.logo-udl1{
    width: 80px;
}
.logo-udl2, .logo-udl3{
    width: 120px;
}
.logos-alineados img {

    display: block;
}
.resp-logo{
    flex-wrap: wrap;
}
.logos-alineados img {
    max-width: 13%;
}
.flex-wrap{
    flex-wrap: wrap;
}
@media (max-width: 990px) { /* Adjust the breakpoint as needed */
    .nav-menu {
        display: none; /* Hide the menu by default */
        flex-direction: column; /* Stack items vertically */
        position: absolute; /* Position it absolutely */
        top: 60px; /* Adjust based on your navbar height */
        left: 0;
        background-color: #1D1E1C; /* Match the navbar background */
        width: 100%; /* Full width */
        z-index: 1000; /* Ensure it appears above other content */
        gap: 20px;
    }

    .nav-menu.active {
        display: flex; /* Show the menu when active */
    }

    .has-submenu .submenu {
        display: block; /* Show submenus by default on mobile */
    }

    .submenu {
        display: block; /* Ensure submenus are visible */
        padding-left: 20px; 
        position: relative;/* Indent submenus for clarity */
    }

    .hamburger {
        display: block; /* Show the hamburger icon on mobile */
    }
    .logo img{
        width: 40px !important;
    }
    .logo-container {
        flex-direction: column;
        margin-top: 17px;
    }
    .section-logo.left, .section-logo.right{
        max-width: 70%;
    }
    #espacios {
        padding-top: 84px;
    }
    h2{
        font-size: 24px;
    }
    h3{
        font-size: 19px;
    }
    .artist-description-2 h3 {
        font-size: 17px;
    }
    h4{
        font-size: 17px;
    }
    h5{
        font-size: 16px;
    }
    .link a{
        font-size: 17px;
        margin-bottom: 0;
    }
    .subtitle.full-width-flex-space-between {
        flex-direction: column;
        align-items: flex-start;
    }
    #contacto .full-width-flex-space-between.social-links, #estanque .full-width-flex-space-between, #talleres .full-width-flex-space-between, #sonometro .full-width-flex-space-between{
        flex-direction: column;
        align-items: flex-start;

    }
    .mid-width-flex{
        width: 100%;
    }
    section{
        margin: 5px;
        padding: 20px 10px;
        margin-bottom: 10px;
    }
    .estanque-img{
        width: 100px;
    }
    .estanque-img-2{
        width: 90px;
    }
    .programa{
        margin-top: 20px;
    }
    #estanque p{
        font-size: 17px;
    }
    #estanque, #talleres, #festival, #equipo, #contacto, #sonometro, #simposio, #artistas{
        border: none;
    }
    .sonometro-img{
        width: 200px;
    }
    .navbar{
        margin: 0;
        width: 100%;
    }
    .mb-50{
        margin-bottom: 30px;
    }
    .gap-50{
        gap: 30px;
    }
    .title.full-width-flex-space-between{
        flex-direction: row !important;
    }
    p{
        font-size: 14px;
    }
    .simposio-img-2{
        margin-top: 20px;
        max-width: 200px;
    }
    .resp-30{
        width: 30%;
    }
    .simposio-img {
        position: relative;
    }
    .simposio-img img {
        display: none;
    }
    .festival-columns{
        flex-direction: column;
    }
    .img-sobre-festival{
        max-width: 200px;
    }
    #festival p, #equipo p {
        max-width: 450px;
    }
    .resp-gap0{
        gap:0;
        margin-bottom: 20px;
    }   
    .contenido-programa {
        max-width: 559px;
    }
    #contacto .section-logo{
        margin-bottom: 20px;
    }
    .mt-50{
        margin-top: 10px;
    }
    .social-links{
        margin-top: 30px;
    }
}

@media (max-width: 600px) { /* For screens 600px and below */
   .section-logo.left, .section-logo.right{
        max-width: 100%;
    }
    .section-logo.left{
        margin-bottom: 20px;
    }
    .estanque-img{
        margin-top: 20px;
    }
}

/* Mobile styles */
@media (max-width: 768px) {
    .resp-logo {
        flex-direction: column;
    } /* Adjust the breakpoint as needed */
    .nav-menu {
        display: none; /* Hide the menu by default */
        flex-direction: column; /* Stack items vertically */
    }

    .nav-menu.active {
        display: flex; /* Show the menu when active */
    }

    .has-submenu .submenu {
        display: block; /* Show submenus by default on mobile */
    }

    .submenu {
        display: block; /* Ensure submenus are visible */
        padding-left: 20px; /* Indent submenus for clarity */
    }
    .artist-row{
        flex-direction: column;
    }
    .artist-description, .artist-image{
        max-width: 100%;
    }
    .artistas-sonometro .mid-width-flex{
        width: 100%;
    }
    .resp-colums{
        flex-direction: column;
    }
}

#loading-screen {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: #1D1E1C;
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 9999;
    transition: opacity 0.5s ease-out;
}

.loading-logo {
    width: 200px;
    animation: pulse 2s infinite;
}

@keyframes pulse {
    0% {
        opacity: 0.6;
        transform: scale(0.9);
    }
    50% {
        opacity: 1;
        transform: scale(1);
    }
    100% {
        opacity: 0.6;
        transform: scale(0.9);
    }
}

body.loaded #loading-screen {
    opacity: 0;
    pointer-events: none;
}

#scroll-to-top {
    position: fixed;
    bottom: 30px;
    right: 30px;
    background-color: #1D1E1C;
    border: 1px solid #8B8B8B;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    cursor: pointer;
    opacity: 0;
    visibility: hidden;
    transition: all 0.3s ease;
    z-index: 1000;
}

#scroll-to-top:hover {
    background-color: #2D2E2C;
}

#scroll-to-top.visible {
    opacity: 1;
    visibility: visible;
}

@media (max-width: 768px) {
    #scroll-to-top {
        bottom: 20px;
        right: 20px;
        width: 35px;
        height: 35px;
    }
}
