body {
    width: 100%;
    height: 80vh;
    background-repeat: no-repeat;
    background-size: cover;
    font-family: sans-serif;
}

main {
    margin: 10% auto 0 auto;
    height: fit-content;
    min-height: 500px;
    background-color: rgb(20, 20, 20, 0.5);
    backdrop-filter: blur(10px);
    width: 90%;
    max-width: 600px;
    border-radius: 15px;
    box-shadow: 0px 0px 5px black;
    padding: 10px;
    overflow: scroll;
}


video {
    position: fixed;
  right: 0;
  bottom: 0;
  min-width: 100%;
  min-height: 100%;
  width: auto;
  height: auto;
  z-index: -100;
  object-fit: cover;
  overflow: hidden;
}


@keyframes border {
    0%{border: none}
    25%{border-top: solid 3px rgb(255, 0, 0, 0.4)}
    50%{border-right: solid 3px rgb(255, 0, 0, 0.4)}
    75%{border-bottom: solid 3px rgb(255, 0, 0, 0.4)}
    100%{border-left: solid 3px rgb(255, 0, 0, 0.4)}
    
}

main {
    text-align: center;
    animation-name: bounce;
    animation-duration: 1s;
    animation-iteration-count: infinite;
    position: relative!important;
    z-index: 999;
    animation-name: border;
    animation-duration: 3.5s;
}



main #title {
    min-height: fit-content;
    margin-bottom: 40px;
}



main #title img {
    width: 150px;
    border-radius: 50%;
}

main #title #overlay {
    position: absolute;
    right: 34%;
    width: 200px;
}


@keyframes fliptext {
    0% {transform: rotateX(180deg);}
    5% {transform: rotateX(180deg);}
}

main #title h1 {
    line-height: 0;
    color:white;
    text-shadow: 0px 0px 4px white;
    font-size: 2em;
    animation-name: fliptext;
    animation-duration: 2s;
    animation-iteration-count: infinite;
    z-index: 999    ;
}


@keyframes rotatetext { 
    10% {transform: rotate3d(0, 1, 0, 180deg)}
    100% {transform: rotate3d(0, 0, 1, 180deg)}
}


#about {
    text-align: center;
    color: white;
    animation-name: rotatetext;
    animation-duration: 1s;
    animation-iteration-count: infinite;
}

#embeds {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
}

iframe {
    margin: 30px auto 0 auto;
    max-height: 130px;
}

@keyframes bounce {
    0% {}
    50% {transform: translateY(2px);}
    100% {transform: translateY(-2px);}
}

#links {
    margin-top: 30px;
}

main #title #links img {
    width: 40px;
    background-color: rgb(15, 15, 15, 0.5);
    border-radius: 10px;
    padding: 2px;
    margin-left: 5px;
    margin-right: 5px;
    box-shadow: 0px 0px 3px black;
}

.linksbox {
        background-color: rgb(15, 15, 15, 0.7);
        border-radius: 15px;      
        padding: 20px 10px;
        color: white;
        box-shadow: 0px 0px 5px rgb(13, 13, 13);
}

#snow-box {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    display: grid;
    gap: 30px;
    overflow: hidden;
}

.snow {
width: 9px;
height: 12px;
border-radius: 50%;
background-color: rgb(255, 255, 255, 0.5);
box-shadow: 0px 0px 3px white;
animation-name: fall;
animation-iteration-count: infinite;
animation-fill-mode: both;
animation-timing-function: linear;
animation-duration: 6s;
position: absolute;
}

@keyframes fall {
    0%{transform: translateY(0);}
    100% {transform: translateY(100vh);}
}

@media (max-width: 600px) {
    main {
        margin-top: 0;
        overflow: scroll;
    }
}

@media (max-width: 400px) {
    main #title #overlay {
    position: absolute;
    right: 26%;
    width: 200px;
}

main {
    z-index: 0;
}

}