:root{
    --gold:#b89b5e;
    --dark:#171717;
    --light:#f7f5f0;
    --card:rgba(255,255,255,.15);
}

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

html{
    scroll-behavior:smooth;
}

.bgFilms {
    background: url(/images/background-films.jpg);
    background-size: cover;
}

body{
    font-family:'Montserrat',sans-serif;
    background:linear-gradient(
        180deg,
        #f8f6f2,
        #ffffff
    );
    overflow-x:hidden;
}

section{
    padding:100px 8%;
}

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

body{
    background:#f7f4ef;
    color:#333;
    font-family:'Montserrat',sans-serif;
}

.hero{
    height:auto;
    position:relative;
    overflow: hidden;
}

.hero-video {
    width: 100%;
}

.hero-video video {
    max-width: 100%;
}

.overlay{
    position:absolute;
    inset:0;
    background: linear-gradient(rgb(0 0 0 / 33%), rgb(0 0 0 / 24%));
}

.hero-content{
    position: absolute;
    z-index: 999;
    text-align:center;
    color:white;
    max-width:900px;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.hero-logo {
    margin-bottom: 2rem;
}

.hero-logo img {
    width: 100px;
}

.hero h1{
    font-size:6rem;
    font-family:'Cormorant Garamond',serif;
    opacity:0;
    animation:fadeUp 1.2s forwards;
}

.hero p{
    margin-top:25px;
    font-size:1.2rem;
    opacity:0;
    animation:fadeUp 1.6s forwards;
}

.btn{
    margin-top:40px;
    display:inline-block;
    padding:15px 40px;
    border:1px solid white;
    color:white;
    text-decoration:none;
    transition:.4s;
}

.btn:hover{
    background:white;
    color:black;
}

.stats{
    display:flex;
    justify-content:center;
    gap:100px;
    text-align:center;
}

.counter span{
    font-size:4rem;
    color:var(--gold);
    font-weight:bold;
}

.stat{
    text-align:center;
}

.stat h2{
    font-size:3rem;
    color:#8a6d3b;
}

.stat span{
    display:block;
    margin-top:10px;
    letter-spacing:1px;
}

.intro{
    max-width:900px;
    margin: 100px auto 60px;
    padding:0 20px;
    text-align:justify;
}

.intro h2 {
    font-family:'Cormorant Garamond',serif;
    font-size:3rem;
    margin-bottom:20px;
    text-align: center;
}

.intro p {
    line-height:1.8;
    margin-bottom: 1rem;
}

#galeria {
    padding: 0 10rem;
}

.masonry{
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}

.item{
    overflow: hidden;
    border-radius: 10px;
    cursor: pointer;
    position: relative;
    height: 230px;
    width: 32%;
    margin: .5rem;
}

.item img{

    width:100%;
    height:100%;
    object-fit:cover;

    transition:.7s;
}

.item:hover img{

    transform:scale(1.1);
}

.item::after{

    content:'';
    position:absolute;

    inset:0;

    background:
    linear-gradient(
        transparent,
        rgba(0,0,0,.6)
    );

    opacity:0;
    transition:.4s;
}

.item:hover::after{
    opacity:1;
}

.quote{
    max-width:900px;
    margin:80px auto;
    text-align:center;
    padding:0 20px;
}

.quote blockquote{
    font-family:'Cormorant Garamond',serif;
    font-size:2.2rem;
    font-style:italic;
    color:#6c5b3b;
}

.quote span{
    display:block;
    margin-top:20px;
}

.testimonials{
    background:white;
    padding:80px 20px;
}

.testimonials h2{
    text-align:center;
    margin-bottom:50px;
    font-family:'Cormorant Garamond',serif;
    font-size:3rem;
}

.umb-text {
    width: 60%;
    margin: 0 auto 7rem;
}

.umb-text p {
    margin: 1.5rem 0;
    font-size: 1.3rem;
    line-height: 1.9rem;
    text-align: justify;
}

.footer{
    text-align:center;
    padding:50px 20px;
    background:#2e2a24;
    color:white;
}

.mask{
    position:fixed;
    inset:0;
    background:rgba(0,0,0,.92);
    display:none;
    align-items:center;
    justify-content:center;
    z-index:9999;
}

.event{
    width:45%;
    padding:30px;
    margin:40px 0;

    background:white;

    border-radius:15px;

    box-shadow:
    0 10px 30px rgba(0,0,0,.08);
}

.umb-thanks {
    background-color: #2e2a24;
    border-radius: 10px;
    padding: 20px 60px;
    color: #FFF;
}

.umb-thanks p {
    font-size: 1.2rem;
    line-height: 1.8rem;
}

.galery-video {
    width: 60%;
    margin: 7rem auto;
    text-align: center;
}

.description-grid {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    margin: 40px auto 110px;
}

.description-item {
    width: 30%;
    text-align: center;
    background: rgba(82, 36, 36, 0.08);
    padding: 40px 25px;
    border-radius: 18px;
    backdrop-filter: blur(8px);
    transition: .3s ease;
    border: 1px solid rgba(255, 255, 255, .1);
    cursor: pointer;
    margin: 10px;
    display: flex;
    flex-direction: column;
    justify-content: center
}

.description-item strong {
    display: block;
    font-size: 16px;
    margin-bottom: 10px;
    font-weight: 700;
}

.description-item svg {
    width: 3rem;
    margin: 1rem auto 0;
}

.lightbox {
    position: fixed;
    width: 70%;
    height: auto;
    background-color: #FFF;
    top: 20%;
    left: 50%;
    margin-left: -35%;
    z-index: 9999;
    display: none;
    font-size: 0;
}

.lightbox video {
    width: 100%;
    height: 100%;
}

#vClose {
    position: absolute;
    top: 1rem;
    right: 1rem;
    font-size: 1.5rem;
    color: #FFF;
    z-index: 99999;
    cursor: pointer;
}

.hero-topbar {
    position: absolute;
    top: 3rem;
    left: 50%;
    display: flex;
    align-items: center;
    width: 90%;
    z-index: 999999;
    transform: translate(-50%, -50%);
    justify-content: space-between;
}

.hero-topbar a {
    list-style: none;
    text-decoration: none;
    color: #FFF;
    font-size: 1.2rem;
    margin: 0;
}

.hero-topbar a svg {
    height: 2rem;
}

.hero-topbar a svg path {
    fill: #FFF;
}

.bnn-cineasta {
    padding: 3rem 0;
    text-align: center;
    background-color: #b89b5e;
}

.bnn-cineasta p {
    color: #FFF;
}

.bnn-cineasta p a {
    color: #000;
    text-decoration: none;
}

.bnn-cineasta p a:hover {
    text-decoration: underline;
}

.umb-video-inc {
    width: 70%;
    margin: 0 auto 4rem;
    text-align: center;
}

.umb-video-inc video {
    max-width: 100%;
}

@media(max-width:1370px){
    .item {
        width: 31%;
    }
}

@media(max-width:1024px){
    .hero h1 {
        font-size: 4rem;
        line-height: 4rem;
    }
    
    .hero h2 {
        font-size: 1.2rem;
    }

    .galery-video {
        width: 80%;
    }

    #galeria {
        padding: 0 4rem;
    }

    .umb-text {
        width: 80%;
    }
}

@media(max-width:900px){
    .hero-content {
        width: 90%;
    }

    .hero-logo img {
        width: 70px;
    }

    .hero h1{
        font-size:3rem;
        line-height: 3rem;
    }

    .galery-video {
        width: 90%;
    }

    .intro {
        max-width: 90%;
    }

    .item {
        width: 46%;
    }
}

@media(max-width:640px){
    .hero-topbar a.btn {
        padding: 10px 20px;
    }

    .hero-video video {
        max-width: 153%;
    }

    .hero h1{
        font-size:2.4rem;
        line-height: 2.4rem;
    }

    .description-grid {
        display: block;
    }

    .description-item {
        width: 80%;
        padding: 90px 25px;
        margin: 30px auto;
    }

    .item {
        width: 90%;
    }

    .umb-video-inc {
        width: 90%;
    }
}

@media(max-width:540px){
    .item {
        width: 100%;
    }

    .hero-video {
        height: 70vh;
    }

    .hero-video video {
        max-width: 260%;
        height: 70vh;
    }
}

@media(max-width:420px){
    .description-item {
        width: 90%;
    }
    
    #galeria {
        padding: 0 2rem;
    }

    .umb-text p {
        text-align: left;
    }

    .umb-thanks {
        padding: 20px 30px;
    }

    .umb-thanks p {
        font-size: 1rem !important;
        line-height: 1.5rem !important;
    }
}

@media(max-width:340px){
    .hero-video {
        height: 90vh;
    }

    .hero-video video {
        max-width: 360%;
        height: 90vh;
    }

    .intro h2 {
        font-size: 2.5rem;
    }
}

@keyframes fadeUp{

    from{
        opacity:0;
        transform:translateY(60px);
    }

    to{
        opacity:1;
        transform:translateY(0);
    }

}