html {
    display: flex;
    justify-content: center;
    box-sizing: border-box;
}

body {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    font-family: 'Trebuchet MS', 'Lucida Sans Unicode', 'Lucida Grande', 'Lucida Sans', Arial, sans-serif;
}

.page-header {
    text-align: center;
}

button {
    background-color: black;
    color: white;
    font-family: 'Trebuchet MS', 'Lucida Sans Unicode', 'Lucida Grande', 'Lucida Sans', Arial, sans-serif;
    border: 2px;
    border-radius: 24px;
    padding: 6px 12px;
    margin-bottom: 4px;
}

button>a {
    background-color: black;
    color: white;
    font-family: 'Trebuchet MS', 'Lucida Sans Unicode', 'Lucida Grande', 'Lucida Sans', Arial, sans-serif;
    border: 2px;
    border-radius: 24px;
}

button>a:hover {
    background-color: white;
    color: black;
    border: 2px;
    border-radius: 24px;
    border-color: black;
}

button:hover {
    background-color: white;
    color: black;
    border: 2px;
    border-radius: 24px;
    border-color: black;
    padding: 6px 12px;
}

.linklist {
    width: 223.234275px;
    padding-inline-start: 0;
}

.linklist-li {
    text-align: center;
}

footer {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    margin-top: 30px;
}

nav {
    margin-top: 16px;
    margin-bottom: 32px;
}

nav ul {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
}

nav li {
    list-style: none;
    padding: 0 12px;
}

a,
nav a {
    text-decoration: none;
    color: black
}

a:hover,
.email-container-span:hover,
.linklist-li:hover,
nav li:hover {
    animation: text-animation 1s linear infinite;
    cursor: default;
}

.email-container-span:hover::before,
.email-container-span:hover::after,
a:hover::before,
a:hover::after,
.linklist-li:hover::before,
.linklist-li:hover::after,
nav li:hover::before,
nav li:hover::after {
    content: attr(title);
    position: absolute;
    left: 0;
}

.email-container-span:hover::before,
a:hover::before,
.linklist-li:hover::before,
nav li:hover::before {
    animation: text-animation-top 1s linear infinite;
    clip-path: polygon(0 0, 100% 0, 100% 33%, 0 33%);
    -webkit-clip-path: polygon(0 0, 100% 0, 100% 33%, 0 33%);
}

.email-container-span:hover::after,
a:hover::after,
.linklist-li:hover::after,
nav li:hover::after {
    animation: text-animation-bottom 1.5s linear infinite;
    clip-path: polygon(0 67%, 100% 67%, 100% 100%, 0 100%);
    -webkit-clip-path: polygon(0 67%, 100% 67%, 100% 100%, 0 100%);
}

@keyframes text-animation {

    2%,
    64% {
        transform: translate(2px, 0) skew(0deg);
    }

    4%,
    60% {
        transform: translate(-2px, 0) skew(0deg);
    }

    62% {
        transform: translate(0, 0) skew(5deg);
    }
}

@keyframes text-animation-top {

    2%,
    64% {
        transform: translate(2px, -2px);
    }

    4%,
    60% {
        transform: translate(-2px, 2px);
    }

    62% {
        transform: translate(13px, -1px) skew(-13deg);
    }
}

@keyframes text-animation-bottom {

    2%,
    64% {
        transform: translate(-2px, 0);
    }

    4%,
    60% {
        transform: translate(-2px, 0);
    }

    62% {
        transform: translate(-22px, 5px) skew(21deg);
    }
}

ul {
    list-style: none;
}

