html {
    background-color: #5f45bb;
    color: white;
    background-image: linear-gradient(to bottom right, #180cac, #d054e4);
    min-height: 100vh;
    -moz-osx-font-smoothing: grayscale;
    -webkit-font-smoothing: antialiased;
    min-width: 300px;
    overflow-x: hidden;
    line-height: 1.5;
    text-shadow: 0 0.25em 0.5em rgb(0 0 0 / 10%);
    font-family: Arial, Helvetica, sans-serif;
}

.contact {
    color: white;
    text-decoration: none;
    padding: 3px;
    border-radius: 5px;
}

.contact:hover {
    cursor: pointer;
    transition-duration: 0.25s;
    transition-timing-function: ease-in-out;
    background-color: black;
}

#number {
    color: white;
    text-decoration: none;
    padding: 3px;
    border-radius: 5px;
}

#number:hover {
    cursor: pointer;
    transition-duration: 0.25s;
    transition-timing-function: ease-in-out;
    color: hsl(179, 62%, 49%);
}

.content {
    display: flex;
    min-height: 100vh;
    gap: 3rem;
    align-items: center;
    justify-content: center;
    position: relative;
}

.about {
    max-width: 100%;
}

.side {
    max-height: 20rem;
    max-width: 20rem;
}

.portrait {
    border-radius: 50%;
    box-shadow: 0 2em 2em rgb(0 0 0 / 30%);
    width: 320px; 
    height: 320px;
}

.meme {
    border-radius: 2rem;
    box-shadow: 0 2em 2em rgb(0 0 0 / 30%);
    margin: 0 auto;
}

.meme:hover {
    border: 3px solid hsl(179, 62%, 49%);
    transition-duration: 0.25s;
    transition-timing-function: ease-in-out;
    width: 320px;
    height: 320px;
}

.qr {
    border-radius: 2rem;
    box-shadow: 0 2em 2em rgb(0 0 0 / 30%);
    margin: 0 auto;
}

.qr:hover {
    border: 3px solid hsl(179, 62%, 49%);
    transition-duration: 0.25s;
    transition-timing-function: ease-in-out;
}

#contact-qr {
    border-radius: 2rem;
    box-shadow: 0 2em 2em rgb(0 0 0 / 30%);
    margin: 0 auto;
    max-width: 50%;
}

#contact-qr:hover {
    border: 3px solid magenta;
    transition-duration: 0.25s;
    transition-timing-function: ease-in-out;
}

.about {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
}

.name {
    font-size: 2.25rem;
    line-height: 1.125;
    margin-bottom: -1rem;
    font-weight: 600;
}

.hr {
    background-color: #ff5eb8;
    border: none;
    content: "";
    height: 1px;
    width: 4rem;
}

.profession,
.quote,
button {
    font-weight: 600;
    letter-spacing: 0.3em;
    text-transform: uppercase;
}

.judo-values {
    color: white;
    text-decoration: none;
    padding: 3px;
    font-weight: 600;
}

.audio{
    width: 100%;
    background-color: linear-gradient(#16186ac2, #16186af2);
    border-radius: 10px;
    padding: 5px;
}

.song-container:hover{
    border-radius: 10px;
    padding: 10px;
    animation: glow 3s infinite ease-in-out;
    transition-duration: 0.25s;
    transition-timing-function: ease-in-out;
}

@keyframes glow {
    0% {
        border: 3px solid hsl(179, 62%, 49%);
    }

    50% {
       border: 3px solid #ff5eb8;;
    }

    100% {
        border: 3px solid hsl(179, 62%, 49%);
    }
}

.quote {
    color: hsl(179, 62%, 49%);
    font-size: 1rem;
}

.profession {
    font-size: 0.9rem;
}

.social {
    margin: 0 auto;
    display: flex;
    gap: 0.75rem;
    align-items: center;
    justify-content: center;
}

.social>a {
    display: flex;
    opacity: 0.5;
    transition-duration: 500ms;
    transition-property: opacity;
}

.social>a:hover {
    opacity: 0.8;
    transform: scale(1.25);
    transition-duration: 0.25s;
    transition-timing-function: ease-in-out;
}

button {
    border-radius: 9.375rem;
    box-shadow: 0 1rem 2rem rgb(0 0 0 / 40%);
    inset: 0 1px 0 0 #3c3fb9f2;
    background-image: linear-gradient(#16186ac2, #16186af2);
    display: inline-block;
    font-weight: bold;
    font-size: 0.775rem;
    line-height: 1;
    padding: 1.25em 2em;
    text-shadow: none;
    --webkit-user-select: none;
    vertical-align: top;
    white-space: nowrap;
    text-align: center;
    border: none;
}

button:hover {
    border: 3px solid hsl(179, 62%, 49%);
    transition-duration: 0.25s;
    transition-timing-function: ease-in-out;
    cursor: pointer;
}

button a {
    text-decoration: none;
    color: white;
}

footer {
    text-align: center;
    font-size: 1.2rem;
}

@media screen and (max-width: 960px) {
    .content {
        flex-direction: column;
        padding: 4rem;
        text-align: center;
    }

    .about {
        align-items: center;
        font-size: 0.849rem;

    }

    .contact {
        font-size: 0.775rem;
    }

    .profession {
        font-size: 0.8rem;
    }

    #contact-qr {
        max-width: 80%;
    }
}

@media screen and (min-width: 800px) {
    .side {
        flex-shrink: 0;
        order: 1;
    }
}