@import url('https://fonts.googleapis.com/css?family=Poppins:300,400,500,600,700,800,900&display=swap');
@keyframes rotateLogo {
    0% {
        transform: rotate(0deg);
    }
    100% {
        transform: rotate(360deg);
    }
}

@keyframes fadeOut {
    to {
        opacity: 0;
        visibility: hidden;
    }
}

@keyframes fadeIn {
    0% {
        opacity: 0;
    }
    100% {
        opacity: 1;
    }
}
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}
.snowflake{color:#fff;font-size:1em;font-family:Arial;text-shadow:0 0 1px #000;position:fixed;top:-10%;z-index:9999;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:default;-webkit-animation-name:snowflakes-fall,snowflakes-shake;-webkit-animation-duration:10s,3s;-webkit-animation-timing-function:linear,ease-in-out;-webkit-animation-iteration-count:infinite,infinite;-webkit-animation-play-state:running,running;animation-name:snowflakes-fall,snowflakes-shake;animation-duration:10s,3s;animation-timing-function:linear,ease-in-out;animation-iteration-count:infinite,infinite;animation-play-state:running,running}@-webkit-keyframes snowflakes-fall{0%{top:-10%}100%{top:100%}}@-webkit-keyframes snowflakes-shake{0%,100%{-webkit-transform:translateX(0);transform:translateX(0)}50%{-webkit-transform:translateX(80px);transform:translateX(80px)}}@keyframes snowflakes-fall{0%{top:-10%}100%{top:100%}}@keyframes snowflakes-shake{0%,100%{transform:translateX(0)}50%{transform:translateX(80px)}}
.preloader {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    background: #2b2d30;
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 1000;
    animation: fadeOut 1s ease 1s forwards;
}

.preloader .logo-container {
    animation: rotateLogo 2s linear infinite;
}

.preloader .logo {
    width: 100px;
    height: 100px;
}
.mobile-menu {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    background: #2b2d30;
    z-index: 1000;
    text-align: center;
    padding-top: 3rem;
    transition: opacity 0.3s ease;
}

.mobile-menu.active {
    display: block;
}

.mobile-menu-content ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.mobile-menu-content ul li {
    margin: 2rem 0;
}

.mobile-menu-content ul li a {
    color: #fff;
    font-size: 2rem;
    text-decoration: none;
}

.social-media {
    position: absolute;
    bottom: 2rem;
    width: 100%;
    display: flex;
    justify-content: center;
}

.social-media a {
    margin: 0 1rem;
    font-size: 2rem;
    color: #fff;
}
.mobile-menu-icon {
    display: block;
    font-size: 1.8rem;
    color: #fff;
    cursor: pointer;
}

@media only screen and (max-width: 768px) {
    .directions {
        display: none;
    }

    body.mobile-menu-open {
        overflow: hidden;
    }
}

body {
    background: #2b2d30;
    color: #fff;
    font-family: 'Poppins', sans-serif;
    padding: 0 0 2rem 0;
}

ul {
    list-style-type: none;
}
a{
    text-decoration: none;
    color: unset;
}

::-webkit-scrollbar {
    width: 5px;
}
::-webkit-scrollbar-thumb {
    background: #445573;
}
::selection{
    background: #f65a5a20;
}

.line {
    width: 0%;
    height: .2rem;
}
.line.loaded {
    animation: onload 0.25s;
}
@keyframes onload {
    0% {
        width: 0%;
    }

    100% {
        width: 100%;
    }
}

.header {
    width: 100%;
    display: flex;
    justify-content: center;
}
.header .content {
    width: 75%;
    padding: 0 2rem;
    height: 5rem;
    display: flex;
}
.header .content .left,
.header .content .left .logo,
.header .content .right,
.header .content .directions{
    display: flex;
    align-items: center;
}
.header .content{
    justify-content: space-between;
}
.header .content .left .logo,
.header .content .right{
    width: 200px;
}

.header .content .right{
    justify-content: flex-end;
}
.header .content .logo img {
    width: 5rem;
    border-radius: 50%;
    margin-right: .75rem;
}
.header .content .logo p {
    font-size: 1.1rem;
    margin-right: 2.25rem;
    font-weight: 500;
}

.header .content .directions ul {
    display: flex;
    align-items: center;
}       
.header .content .directions ul li {
    margin-inline: .2rem;
    font-size: .9rem;
    letter-spacing: .03rem;
    font-weight: 500;
    cursor: pointer;
    padding: .4rem .8rem;
    background: #313244;
    border-radius: .5rem;
}
.header .content .directions ul li:hover{
    background: #ffffff15;
}
.header .content .directions ul li.active{
    background: #ffffff20;
}
.header .content .directions ul li i{
    margin-right: .25rem;
}

.header .content .right a {
    margin-left: 1rem;
    font-size: 1.25rem;
    color: #ffffff;
    transition: color 0.3s ease, transform 0.3s ease;
}

.header .content .right a:hover {
    transform: scale(1.2);
}

.fa-discord:hover {
    color: #7289da;
}

.fa-youtube:hover {
    color: #ff0000;
}

.fa-instagram:hover {
    color: #e1306c;
}

.header .content .right a i {
    display: inline-block;
}

.fa-bars{
    display: none;
    opacity: 0;
    cursor: unset;
}

.main{
    margin-bottom: 12rem;
}
.main .menu{
    display: none;
    text-align: center;
}
.main .menu ul li{
    margin-block:1rem;
}

.footer{
    width: 100%;
    display: grid;
    grid-template-columns: 35% auto;
    justify-content: space-between;
    padding: 0 12rem 4rem 12rem;
}

.footer .left .large{
    font-weight: 500;
    font-size: 1.7rem;
    margin-bottom: .4rem;
}
.footer .left .small{
    font-size: 1.1rem;
    margin-bottom: .4rem;
}

.footer .right{
    display: flex;
    align-items: center;
}
.footer .right ul{
    margin-right: 3rem;
}
.footer .right ul li.name{
    font-size: .9rem;
    margin-bottom: .3rem;
}
.footer .right ul li{
    transition: 150ms opacity;
    cursor: pointer;
}

.note{
    text-align: center;
    margin-inline: 3rem;
}