/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
html {
    -webkit-text-size-adjust: 100%;
    line-height: 1.15
}

body {
    margin: 0
}

main {
    display: block
}

h1 {
    font-size: 2em;
    margin: .67em 0
}

hr {
    box-sizing: content-box;
    height: 0;
    overflow: visible
}

pre {
    font-family: monospace, monospace;
    font-size: 1em
}

a {
    background-color: transparent
}

abbr[title] {
    border-bottom: none;
    text-decoration: underline;
    -webkit-text-decoration: underline dotted;
    text-decoration: underline dotted
}

b,
strong {
    font-weight: bolder
}

code,
kbd,
samp {
    font-family: monospace, monospace;
    font-size: 1em
}

small {
    font-size: 80%
}

sub,
sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline
}

sub {
    bottom: -.25em
}

sup {
    top: -.5em
}

img {
    border-style: none
}

button,
input,
optgroup,
select,
textarea {
    font-family: inherit;
    font-size: 100%;
    line-height: 1.15;
    margin: 0
}

button,
input {
    overflow: visible
}

button,
select {
    text-transform: none
}

[type=button],
[type=reset],
[type=submit],
button {
    -webkit-appearance: button
}

[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner,
button::-moz-focus-inner {
    border-style: none;
    padding: 0
}

[type=button]:-moz-focusring,
[type=reset]:-moz-focusring,
[type=submit]:-moz-focusring,
button:-moz-focusring {
    outline: 1px dotted ButtonText
}

fieldset {
    padding: .35em .75em .625em
}

legend {
    box-sizing: border-box;
    color: inherit;
    display: table;
    max-width: 100%;
    padding: 0;
    white-space: normal
}

progress {
    vertical-align: baseline
}

textarea {
    overflow: auto
}

[type=checkbox],
[type=radio] {
    box-sizing: border-box;
    padding: 0
}

[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
    height: auto
}

[type=search] {
    -webkit-appearance: textfield;
    outline-offset: -2px
}

[type=search]::-webkit-search-decoration {
    -webkit-appearance: none
}

::-webkit-file-upload-button {
    -webkit-appearance: button;
    font: inherit
}

details {
    display: block
}

summary {
    display: list-item
}

[hidden],
template {
    display: none
}

html {
    box-sizing: border-box;
    font-size: 62.5%
}

*,
:after,
:before {
    box-sizing: inherit
}

body {
    font-family: Montserrat, sans-serif;
    font-size: 1.6rem
}

body.fijar-body {
    overflow: hidden
}

@media (min-width:768px) {
    body.body-scroll {
        padding-top: 76.8px
    }
}

p {
    color: #000;
    font-size: 2rem
}

.contenedor {
    margin: 0 auto;
    width: min(95%, 120rem)
}

a {
    text-decoration: none
}

h1,
h2,
h3 {
    margin: 0 0 5rem
}

h1 a,
h2 a,
h3 a {
    text-decoration: none
}

h1 h1,
h2 h1,
h3 h1 {
    font-size: 4rem
}

h1 h2,
h2 h2,
h3 h2 {
    font-size: 3.6rem
}

h1 h3,
h2 h3,
h3 h3 {
    font-size: 3rem
}

img {
    display: block;
    height: auto;
    max-width: 100%;
    width: 100%
}

.header {
    background-color: #4cb8b3
}

@media (min-width:768px) {
    .header.fijo {
        box-shadow: .1rem .2rem .3rem #333;
        position: fixed;
        top: 0;
        width: 100%
    }
}

.header h1 {
    color: #fff;
    margin: 0;
    text-align: center
}

@media (min-width:768px) {
    .header .contenido-header {
        display: flex;
        justify-content: space-between;
        padding: 2rem
    }

    .navegacion-principal {
        align-items: center;
        display: flex;
        gap: 2rem
    }
}

.navegacion-principal a {
    color: #fff;
    display: block;
    font-size: 2.4rem;
    padding: 1rem;
    text-align: center
}

@media (min-width:768px) {
    .navegacion-principal a {
        margin: 0;
        padding: 0
    }
}

.navegacion-principal a:hover {
    color: #fef46d
}

.video {
    max-height: 70rem;
    overflow: hidden;
    position: relative
}

.video .overlay {
    background: #d517d7;
    background: linear-gradient(128deg, rgba(213, 23, 215, .7), rgba(0, 255, 76, .3));
    background-attachment: inherit;
    display: flex;
    flex-direction: column;
    height: 100%;
    justify-content: center;
    position: absolute;
    width: 100%;
    z-index: 1;
}

video {
    width: auto;
    display: block;
    max-height: 50rem;
    object-fit: contain;
} 
    @media (min-width:768px) {
        video {
        max-height: unset;
        width: 100%;
    }
}

/* video {
    display: block
}

@media (min-width:768px) {
    video {
        width: 100%
    }
} */

.contenido-video {
    position: absolute;
    
}

.contenido-video h2 {
    color: #fff;
    font-size: 7rem;
    margin: 0
}

.contenido-video p {
    background-color: #f53756;
    border-radius: 20px 20px 70px 20px;
    color: #fff;
    display: inline-block;
    font-weight: 700;
    margin: 0;
    padding: 1rem 2rem
}

.contenido-festival {
    padding: 5rem 0
}

@media (min-width:768px) {
    .contenido-festival {
        display: grid;
        gap: 5rem;
        grid-template-columns: repeat(2, 1fr)
    }
}

.descripcion-festival {
    display: flex;
    flex-direction: column;
    justify-content: center
}

@media (min-width:448px) {
    .descripcion-festival {
        margin-top: 2rem
    }
}

.descripcion-festival h2 {
    margin-bottom: 2rem
}

.descripcion-festival p {
    line-height: 1.5
}

.descripcion-festival_fecha {
    color: #f53756;
    font-weight: 700
}

.lineup {
    background-color: #f53756;
    padding: 5rem 0
}

.lineup h3,
.lineup p {
    color: #fff;
    text-align: center
}

.lineup .dia {
    margin-bottom: 5rem
}

.lineup h3 {
    font-size: 2.8rem
}

.escenarios-contenedor {
    display: grid
}

@media (min-width:768px) {
    .escenarios-contenedor {
        display: grid;
        gap: 5rem;
        grid-template-columns: repeat(2, 1fr)
    }
}

.escenarios-contenedor p {
    color: #000
}

.escenario {
    padding-top: 2rem
}

@media (min-width:448px) {
    .escenario {
        margin-bottom: 2rem
    }
}

.escenario p:after {
    background-position: 50%;
    background-repeat: no-repeat;
    background-size: 15rem;
    content: "";
    display: block;
    height: 10rem;
    margin: 2rem auto 0;
    width: 20rem
}

.edm .nombre-escenario:after,
.rock .nombre-escenario:after {
    background-image: url(../img/icono_rock.png)
}

.bg-amarillo {
    background-color: #fef46d
}

.bg-amarillo li:nth-child(odd) {
    background-color: #eada02
}

.bg-verde {
    background-color: #4cb8b3
}

.bg-verde li:nth-child(odd) {
    background-color: #348380
}

.calendario {
    list-style: none;
    margin: 0;
    padding: 0
}

.calendario li {
    font-weight: 700;
    padding: 2.5rem
}

.calendario li span {
    font-weight: 400
}

.galeria {
    padding: 5rem 0
}

.galeria h3 {
    font-size: 2.8rem;
    text-align: center
}

.galeria-imagenes {
    display: grid;
    gap: 2rem;
    grid-template-columns: repeat(2, 1fr);
    list-style: none;
    margin: 0;
    padding: 0
}

@media (min-width:448px) {
    .galeria-imagenes {
        display: grid;
        gap: 2rem;
        grid-template-columns: repeat(3, 1fr)
    }
}

@media (min-width:768px) {
    .galeria-imagenes {
        display: grid;
        gap: 2rem;
        grid-template-columns: repeat(4, 1fr)
    }
}

@media (min-width:992px) {
    .galeria-imagenes {
        display: grid;
        gap: 2rem;
        grid-template-columns: repeat(6, 1fr)
    }
}

.galeria-imagenes:hover {
    cursor: pointer
}

.overlay {
    background-color: rgba(0, 0, 0, .5);
    bottom: 0;
    display: grid;
    left: 0;
    place-items: center;
    position: fixed;
    right: 0;
    top: 0
}

.overlay picture {
    display: block;
    max-width: 80%
}

.btn-cerrar {
    background-color: #fff;
    border-radius: 50%;
    display: grid;
    font-weight: 700;
    height: 5rem;
    place-items: center;
    width: 5rem
}

.btn-cerrar:hover {
    cursor: pointer
}

.boletos {
    background-color: #4cb8b3;
    padding: 5rem 0
}

.boletos h3 {
    color: #fff;
    font-size: 2.8rem;
    text-align: center
}

@media (min-width:768px) {
    .pases {
        display: grid;
        gap: 3rem;
        grid-template-columns: repeat(2, 1fr)
    }
}

.pase1dia {
    margin-bottom: 5rem
}

.items {
    background-color: #fff;
    border-bottom: .5px solid #752f97;
    color: #7b7878;
    font-size: 1.8rem;
    margin: 0;
    padding: 1rem .5rem
}

.precio {
    background-color: #752f97;
    font-weight: 700;
    margin: 0;
    padding: 1rem 0
}

.paseDias,
.precio {
    color: #fff;
    text-align: center
}

.incluir {
    font-size: 1.5rem;
    margin-bottom: 0;
    text-transform: uppercase
}

.footer,
.incluir {
    background-color: #f53756;
    color: #fff;
    padding: 1rem 0;
    text-align: center
}

.footer {
    font-size: small;
    margin: 0
}