*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

body{
    background:#333333;
    overflow:hidden;
    font-family:Impact, sans-serif;
}

#loading-screen{
    position:fixed;
    inset:0;

    background:#2f2f2f;

    display:flex;
    justify-content:center;
    align-items:center;

    z-index:9999;
}

#loading-screen::before{
    content:"";

    position:absolute;
    inset:0;

    background:
            repeating-linear-gradient(
                    to bottom,
                    rgba(255,255,255,0.03),
                    rgba(255,255,255,0.03) 1px,
                    transparent 1px,
                    transparent 3px
            );

    pointer-events:none;
}

.loading-content{
    text-align:center;
}

.logo-wrapper{
    width:220px;
    margin:auto;
}

.logo{
    width:100%;
    display:block;

    filter:
            drop-shadow(-2px 0 red)
            drop-shadow(2px 0 cyan);

    animation:
            glitch 0.15s infinite,
            flicker 2s infinite;
}

.loading-text{
    margin-top:40px;
    color:white;
    font-size:4rem;
    font-weight: bold;
    letter-spacing:2px;
    text-transform:uppercase;
}

.dots::after{
    content:".";

    animation:dots 1.5s infinite steps(1);
}

@keyframes dots{

    0%{
        content:".";
    }

    33%{
        content:"..";
    }

    66%{
        content:"...";
    }

    100%{
        content:".";
    }
}

@keyframes glitch{

    0%{
        transform:translate(0);
    }

    20%{
        transform:translate(-2px,2px);
    }

    40%{
        transform:translate(-2px,-2px);
    }

    60%{
        transform:translate(2px,2px);
    }

    80%{
        transform:translate(2px,-2px);
    }

    100%{
        transform:translate(0);
    }
}

@keyframes flicker{

    0%,100%{
        opacity:1;
    }

    5%{
        opacity:0.8;
    }

    10%{
        opacity:1;
    }

    15%{
        opacity:0.6;
    }

    20%{
        opacity:1;
    }
}

.fade-out{
    animation:fadeOut 1s forwards;
}

@keyframes fadeOut{

    to{
        opacity:0;
        visibility:hidden;
    }
}


html, body {
    margin: 0;
    padding: 0;
    background-color: #212121;
    font-family: sans-serif;
    color: white;
}

.hero-section {
    width: 100%;
    height: 85vh;
    overflow: hidden;
    position: relative;
}

.hero-logo {
    position: absolute;
    top: 40px;
    left: 40px;
    width: 100px;
    height: auto;
    z-index: 10;
}

.intro-video {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.scroll-arrow {
    display: block;
    text-align: center;
    font-size: 100px;
    color: #ffffff;
    padding: 10px 0;
    animation: hop 1s infinite;
    cursor: pointer;
}

.event-section {
    width: 100%;
    display: flex;
    justify-content: center;
    padding-top: 35px;
    padding-bottom: 80px;
}

.event-poster {
    display: block;
    width: 95%;
    max-width: 1000px;
    height: auto;
}

@keyframes hop {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(10px); }
}

.about-container h1 {
    display: inline-block;
    border-bottom: 3px solid #ffffff;
    padding-bottom: 8px;
    font-size: 3.5rem;
    margin-bottom: 20px;
}

.about-container {
    margin-left: auto;
    margin-right: auto;
    text-align: center;
    font-weight: bold;
    font-size: 20px;
    margin-bottom: 65px;
}


.ticket-section{
    width:100%;
    display:inline-flex;
    justify-content: center;
    align-items: center;
    padding-top:40px;
    padding-bottom:60px;
}

.ticket-button{
    background:#2f2f2f;
    color:white;
    border:none;
    padding:18px 40px;
    font-size:4rem;
    letter-spacing:2px;
    cursor:pointer;
    position:relative;
    overflow:hidden;
    transition:0.3s;
    font-weight: bold;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
}

.resident-advisor {
    width: 125px;
    height: auto;
    margin-left: 45px;
}




.footer-section {
    background-color: #9B9A9A;
    width: 100%;
    padding: 30px 50px;
    display: flex;
    justify-content: center;
    align-items: center;
    box-sizing: border-box;
}

.footer-links {
    display: flex;
    gap: 135px;
}

.footer-item {
    display: flex;
    align-items: center;
    gap: 15px;
    text-decoration: none;
    color: #000000;
    font-weight: bold;
    font-size: 1.5rem;
    letter-spacing: 1px;
}

.footer-item span {
    border-bottom: 2px solid #000000;
    padding-bottom: 2px;
}

.social-icon {
    width: 55px;
    height: auto;
}