/* Yup, this is horrible and should be reworked at some point. */

:root {
    --main-bg-color: #333;
    --font-color: silver;
    --link-color: #389dc1;
}

@font-face {
    font-family: 'LiberationMono';
    src: local('Liberation Mono'),
         local('LiberationMono-Regular'),
         url('/assets/LiberationMono-Regular-webfont.woff2') format('woff2'),
         url('/assets/LiberationMono-Regular-webfont.woff') format('woff');
}

html {
    font-family: 'LiberationMono', monospace;
    background: var(--main-bg-color);
    color: var(--font-color);
}

body {
    margin: 0px;
    padding: 0px;
    height: auto;
    display: flex;
    flex-direction: column;
    justify-content: center;
    -webkit-align-items: center;
    align-items: center;
}

@media (min-width: 576px) and (min-height: 480px) {
    body {
        height: 72vh;
    }
}


/*
##
## Shadows
##
*/

#avatar img {
    box-shadow: 2px 2px 4px black;
}

div .item {
    box-shadow: 2px 2px 4px black inset;
}

/*
##
## Avatar
##
*/

#avatar {
    display: flex;
    margin: 20px;
}

#avatar img {
    width: 180px;
    height: 180px;
    border-radius: 100%;
    border: 5px solid var(--font-color);
}


/*
##
## Title/Subtitle
##
*/

#namecard {
    display: flex;
    margin-bottom: 30px;
    flex-direction: column;
    text-align: center;
}

h1 {
    letter-spacing: 0.1em;
    @media (max-width: 575.98px) {  /* used on bootstrap size 'xs' */
        letter-spacing: 0;
    }
    font-size: 2em;
    margin-top: 10px;
    margin-bottom: 10px;
}
h3 {
    font-size: 1em;
    margin: 0px;
}


/*
##
## Main links/icons
##
*/

#links {
    display: flex;
    flex-direction: column;
    width: 95%;
}

#links .item {
    border-radius: 10px;
    border: 2px solid var(--link-color);
    margin-bottom: 10px;    
}

#links a {
    display: flex;
    align-items: stretch;
    flex-direction: row;
    font-size: 1.5em;
    line-height: 1em;
}

.nametag {
    display: flex;
    align-items: center;
}

@media (min-width: 576px) {
    .nametag {
        display:none!important;
    }
    #links {
        flex-direction: row;
        justify-content: center!important;
    }
    #links .item {
        border-radius: 100%;
        display: inline-block;
        margin: 10px;
    }
}

div .item:hover,
div .item:active,
div .item:focus {
    background: var(--link-color);
    -webkit-transition: 500ms;
    -moz-transition: 500ms;
    transition: 500ms;
}
div .item:hover .icon,
div .item:active .icon,
div .item:focus .icon {
    fill: var(--main-bg-color);
    -webkit-transition: 500ms;
    -moz-transition: 500ms;
    transition: 500ms;
}
div .item:hover .nametag,
div .item:active .nametag,
div .item:focus .nametag {
    color: var(--main-bg-color);
    -webkit-transition: 500ms;
    -moz-transition: 500ms;
    transition: 500ms;
}

svg {
    height: 30px;
    width: auto;
    margin: 16px 16px;
}
  
.icon {
    display: inline-block;
    width: var(--size);
    height: var(--size);
    fill: var(--link-color);
}

a,
a:visited {
	outline: none;
	color: var(--link-color);
	text-decoration: none;
}


/*
##
## Footer
##
*/

#footer {
    position: static;
    bottom: 0;
    text-align: center;
    margin-top: 20px;
    margin-bottom: 20px;
}

#footer a:hover,
#footer a:active,
#footer a:focus {
    outline: none;
	color: var(--main-bg-color);
	background-color: var(--link-color);
	text-decoration: none;
    -webkit-transition: 500ms;
    -moz-transition: 500ms;
    transition: 500ms;
}

@media (min-width:576px) and (min-height: 480px) {
    #footer {
        position: absolute;
    }
}
