*, *:before, *:after {
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

html {
    background: #f3eb02;
}

body {
    margin: 20px;
    padding: 20px;
    color: black;
    border: 2px solid black;
    min-height: calc(100vh - 40px);
    font-family: Arial, Helvetica, sans-serif;
    display: flex;
    align-items: center;
    justify-content: center;
}

.card {
    max-width: 800px;
    margin: 20px;
    margin: 0 auto;
}

.top {
    display: flex;
}

.top img {
    height: 100%;
    margin-top: 20px;
}

.bio {
    width: 100%;
    font-size: 2em;
    margin-left: 30px;
}

.links {
    margin-top: 50px;
    text-align: center;
    margin-bottom: 50px;
}

.links a {
    border: 2px solid black;
    border-radius: 10px;
    padding: 10px;
    display: inline-block;
    margin: 0 20px 20px 20px;
}

.links a img {
    height: 80px;
}

.flags {
    text-align: center;
    margin-bottom: 40px;
}

.flags a {
    text-decoration: none;
    font-size: 2.5em;
    margin: 0 10px;
    position: relative;
    color: black;
}

.flags a img {
    height: 33px;
}

.flags a.active::after {
    content: '●';
    font-size: 0.35em;
    position: absolute;
    bottom: -10px;
    left: 0;
    right: 0;
}

@media screen and (max-width: 650px) {
    .top {
        display: block;
        text-align: center;
    }
    .bio {
        font-size: 1.5em;
        margin-left: 0px;
    }
    .links a {
        padding: 10px;
        margin: 0 5px;
    }
    .links a img {
        height: 50px;
    }
    .flags a img {
        height: 22px;
    }
}