*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

body{
    background:black;
    overflow:hidden;
    font-family:Georgia, serif;
}

#opening{
    position:relative;
    width:100vw;
    height:100vh;
    overflow:hidden;
}

/* Mountain image */

.hero-image{
    position:absolute;
    width:100%;
    height:100%;
    object-fit:cover;
    z-index:1;
}

/* Black panels */

.panel{
    position:absolute;
    top:0;
    width:50%;
    height:100%;
    background:black;
    z-index:5;
    transition:transform 5s cubic-bezier(0.22,1,0.36,1);
}

.left{
    left:0;
}

.right{
    right:0;
}

/* Opening animation */

.open .left{
    transform:translateX(-100%);
}

.open .right{
    transform:translateX(100%);
}

/* Text */

/* Hero text */

.hero-content{
    position:absolute;
    top:50%;
    left:50%;
    transform:translate(-50%,-50%);
    text-align:center;
    color:white;
    z-index:10;
    opacity:0;
    transition:opacity 2s ease;
    width:90%;
}

.show-content{
    opacity:1;
}

.hero-content h1{
    font-size:6rem;
    font-weight:300;
    letter-spacing:12px;
    margin-bottom:20px;
    text-shadow:0 0 20px rgba(0,0,0,0.6);
}

.hero-content p{
    font-size:1.4rem;
    font-style:italic;
    letter-spacing:2px;
    margin-bottom:50px;
    opacity:0.9;
}

/* Buttons */

.buttons{
    display:flex;
    justify-content:center;
    gap:20px;
}

button{
    background:rgba(0,0,0,0.4);
    border:1px solid rgba(255,255,255,0.7);
    color:white;
    padding:15px 40px;
    font-size:18px;
    letter-spacing:3px;
    cursor:pointer;
    transition:0.3s;
}

button:hover{
    background:white;
    color:black;
    transform:translateY(-3px);
}