/* fonts */
@font-face {
  font-family: 'theatrical';
  src: url('./assets/theatrical.otf') format('opentype');
}
@font-face {
  font-family: 'qanect';
  src: url('./assets/qanect.otf') format('opentype');
}
@font-face {
    font-family: 'braven';
    src: url('./assets/braven.otf') format('opentype');
}



/* animation */
@keyframes fadeUp {
  from { 
    opacity: 0; 
    transform: translateY(20vh); 
    filter: blur(10px) drop-shadow(0px 0px 0px black);
  }
  to { 
    opacity: 1;  
    transform: translateY(0);  
    filter: blur(0px) drop-shadow(3px 2px 2px black);
  }
}

@keyframes starFlicker1 {
    0% { 
        opacity: 1 ; 
        scale: 1;
    } 
    100% { 
        opacity: 0; 
        scale: 0.9;
    }
}


@keyframes starFlicker2 {
    0% { 
        opacity: 0.4; 
        scale: 0.7;
    } 
    35% {
        opacity: 0.8;
        scale: 1;
    }
    100% { 
        opacity: 0.2; 
        scale: 0.9;
    }
}

@keyframes hoverStar {
    0% { transform: scale(1); }
    50% { transform: scale(1.1); }
    100% { transform: scale(1); }
}

@keyframes neonShadowFlicker {
    0%, 100% {
        text-shadow:
            0px 0px 8px rgb(186, 161, 249),
            3px 2px 2px black,
            0px 0px 25px rgb(108, 63, 234); 
    }
    50% {
        text-shadow:
            0px 0px 0px rgb(186, 161, 249),
            3px 2px 2px black,
            0px 0px 5px rgb(108, 63, 234); 
    }
}

@keyframes subtitle {
    from {
        opacity:0;
        filter:brightness(0);
        transform: translateY(-10vh)
    }
    to {
        opacity: 1;
        filter:brightness(1);
        transform: translate3d(0)
    }
}

/* body styles */
body {
    /* background */
    background-color: #221C7E;
    background: url('assets/bg.svg') no-repeat center center fixed;
    background-size: cover;
    height: 100vh;
    margin: 0;
    background-color: rgb(19, 10, 103);

    /* text */
    color: white;
    font-family: 'qanect', sans-serif;
    font-size: 5vh;
    display: flex;
    justify-content: last baseline;
    /* cursor */
    /*cursor: none;*/
}

/* header styles */
header {
    position: absolute;
    text-align: center;
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100vh;
    position: relative;
    z-index: 1;
    margin: auto;
}

header h1 {
    font-family: 'theatrical', sans-serif;
    font-size: 3vw;
    display: flex;
    justify-content: center;
    font-weight: normal;
    animation-name: fadeUp;
    animation-duration: 2s;
    animation-timing-function:  cubic-bezier(0.39, 0.575, 0.565, 1);
    animation-fill-mode: forwards;
    animation-delay: 1s;
    opacity: 0; 
    text-shadow: 0px 0px 14px rgb(64, 4, 230); 
    text-shadow: 0px 0px 9px rgb(141, 99, 246);
    /* start as hidden */
    /* glow + shadow*/
/*    animation-name: neonShadowFlicker;
    animation-duration: 3s;
    animation-timing-function:steps(1);
    animation-fill-mode: forwards;
    animation-iteration-count: infinite;
    animation-direction: alternate;*/
}

section {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 2;
}

/* all stars */
.star {
    position: absolute;
    width: 20vw;
    animation-name: starFlicker1;
    animation-duration: 6s;
    animation-timing-function: ease-in-out;
    animation-iteration-count: infinite;
    animation-direction: alternate;
}

/* each star */
.top-left {
    top: 10vh;
    left: 15vh;
}
.top-right {
    top: 10vh;
    right: 15vh;
    animation-delay: 2s;
}
.bottom-left {
    bottom: 10vh;
    left: 15vh;
    animation-delay: 4s;
}
.bottom-right {
    bottom: 10vh;
    right: 15vh;
    animation-delay: 6s;
}


/* hovering over stars */
.star:hover {
    animation: hoverStar 1s infinite;
} 


/* footer */

footer {
    position: absolute;
    bottom: 10vh;
    width: 100vw;
    text-align: center;
    font-size: 2.5vh;
    color: rgb(198, 230, 245);
    padding-bottom: 8vh;               /*hi*/
    font-family: 'braven', sans-serif;
    

    /* animation */
    animation-name: subtitle;
    animation-duration: 2s;
    animation-timing-function: cubic-bezier(0.39, 0.575, 0.565, 1);
}

.footer-decoration {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-bottom: 2vh;
}

.footer-star {
    width: 2.5vh;
    height: 2.5vh;
    opacity: 0.6;
    animation: starFlicker2 3s infinite;
}

.footer-star:nth-child(3) {
    animation-delay: 1.5s;
}

.footer-line {
    width: 10vh;
    height: 1px;
    background: linear-gradient(90deg, transparent 0%, royalblue, transparent 100%);
    margin-top: 0vh;
    margin-bottom: 0vh;
    margin-right: 1vh;
    margin-left: 1vh;
}

footer b {
    text-shadow: 0.1vh 0.1vh 0.1vh black;
    font-size: 2vh;
}

.footer-subtitle {
    font-size: 2vh;
    color: rgba(195, 220, 232, 0.7);
    margin-top: 2vh;
    font-style: italic;
    text-shadow: 0.0vh 0.2vh 0.2vh black;

}



/*
.contact {
    position: absolute;
    bottom: 3vh;
    right: 0;
    border-radius: 1vh;
    font-family:'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
    background: linear-gradient(135deg, rgba(183, 29, 255, 0.1), rgba(61, 113, 255, 0.03));
    backdrop-filter: blur(10px);}


.email-icon {
    width: 4vh;
    height: 4vh;
}
*/