*{
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    font-family: consolas;
}
body{
    overflow: hidden;
}
.section{
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 100vh;
    background: radial-gradient(#f00,rgba(0,0,0,0.5)),
    url(psg.jpg);
    background-blend-mode: multiply ;
    animation: bg 5s linear infinite;
}
@keyframes bg {
    0%{
        filter: hue-rotate(0deg);
    }
    100%{
        filter: hue-rotate(360deg);
    }
}
.section::before{
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
    width: 600px;
    height: 600px;
    background: radial-gradient(rgba(255,0,0,0.75),transparent,transparent);
    border-radius: 50%;
}
.section::after{
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
    width: 800px;
    height: 800px;
    background: radial-gradient(rgba(255,0,0,0.75),transparent,transparent);
    border-radius: 50%;
}

.icon{
    position: relative;
    width: 200px;
    height: 200px;
    z-index: 1;
    text-align: center;
}
.icon svg path{
    stroke: #fff;
    stroke-width: 10px;
    fill: transparent;
    filter: drop-shadow(0 20px 10px #000) blur(2px);
}
.icon h2{
    position: relative;
    color: #fff;
    font-size: 2em;
    font-weight: normal;
    display: inline-block;
    text-shadow: 0 10px 10px #000;
    box-shadow: 10px 0 0 #fff;
    overflow: hidden;
    animation: texttype 5s steps(12) alternate infinite ;
}
@keyframes texttype {
    0%{
        width: 0px;
    }
    100%{
        width: 190px;
    }
}