@font-face {
    font-family: 'Matrix';
    font-style: normal;
    font-weight: 400;
    src: local('Matrix'), url('../fonts/matrix.woff') format('woff');
}

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

body {
    background: #000;
    color: #fff;
    line-height: 1.5;
    font-family: 'Matrix', sans-serif;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    overflow: hidden;
}

a {
    background-color: transparent;
    text-decoration: none;
}

canvas {
    display: block;
    position: fixed;
    top: 0;
    left: 0;
    z-index: -1000;
}

.header {
    z-index: 1;
    text-align: center;
    position: absolute;
    width: 80%;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.header .site-title {
    font-size: 35px;
    display: block;
    line-height: 1;
}

.header .site-description {
    font-size: 20px;
    display: block;
    line-height: 1;
    margin-top: 10px;
}

.header-icons {
    display: flex;
    justify-content: center;
    text-align: center;
    margin-top: 20px;
}

.header-icons .icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    height: 44px; 
    width: 44px;
    border-radius: 50%;
    border: 2px solid #fff;
    transition: all 0.5s ease;
    margin: 5px;
}

.header-icons .icon:active, 
.header-icons .icon:hover {
    color: #0f0;
    background: #fff;
    box-shadow: 0 0 10px #0f0;
}

.header-icons .icon svg {
    height: 20px;
    width: auto;
}

@media only screen and (min-width: 550px) {
    .header-icons .icon {
        width: 55px;
        height: 55px;
    }
    .header-icons .icon svg {
        height: 28px;
    }
}

@media only screen and (min-width: 550px) {
    .header .site-title {
        font-size: 100px;
    }
    .header .site-description {
        font-size: 40px;
    }
    .header-icons .icon {
        width: 55px;
        height: 55px;
        line-height: 51px;
        font-size: 28px;
    }
}

body {
    cursor: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="22" height="22" viewBox="0 0 24 24"><path fill="%2300ff00" stroke="black" stroke-width="1.5" d="M4 2l16 11-7 2 4 6-3 2-4-6-5 5z"/></svg>'), auto;
}


a, .header-icons .icon {
    cursor: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path fill="%2300ff00" stroke="black" stroke-width="1.5" d="M10.5 2c.8 0 1.5.7 1.5 1.5v5.8l1.4-1.2c.5-.4 1.3-.4 1.8.1l4.8 5.7c.3.3.4.7.4 1.1v5.5c0 1.9-1.6 3.5-3.5 3.5h-5.9c-1.2 0-2.3-.6-3-1.6l-3.8-5.5c-.3-.4-.2-1 .2-1.3.4-.3 1-.2 1.3.2l2.3 3.3V3.5c0-.8.7-1.5 1.5-1.5z"/></svg>'), pointer;
}