@import url('/assets/vendor/html5-reset/reset.min.css');
@import url('/assets/vendor/devicons/css/devicons.css');

/* ------------------------------------------
  Devicons
*/

[class*=" devicons-"]
[class^="devicons-"] {
    font-family: 'devicons';
    speak: none;
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    letter-spacing: 0;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

/* ------------------------------------------
   Karla Font-Face
*/

@font-face {
    font-family: 'Karla';
    font-style: normal;
    font-weight: 400;
    src: local('Karla'), local('Karla-Regular'),
        url(/assets/fonts/Karla-Regular.woff2) format('woff2');
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02C6, U+02DA, U+02DC,
        U+2000-206F, U+2074, U+20AC, U+2212, U+2215;
}

@font-face {
    font-family: 'Karla';
    font-style: normal;
    font-weight: 700;
    src: local('Karla Bold'), local('Karla-Bold'),
        url(/assets/fonts/Karla-Bold.woff2) format('woff2');
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02C6, U+02DA, U+02DC,
        U+2000-206F, U+2074, U+20AC, U+2212, U+2215;
}

@font-face {
    font-family: 'Karla';
    font-style: italic;
    font-weight: 400;
    src: local('Karla Italic'), local('Karla-Italic'),
        url(/assets/fonts/Karla-Italic.woff2) format('woff2');
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02C6, U+02DA, U+02DC,
        U+2000-206F, U+2074, U+20AC, U+2212, U+2215;
}

@font-face {
    font-family: 'Karla';
    font-style: italic;
    font-weight: 700;
    src: local('Karla Bold Italic'), local('Karla-BoldItalic'),
        url(/assets/fonts/Karla-BoldItalic.woff2) format('woff2');
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02C6, U+02DA, U+02DC,
        U+2000-206F, U+2074, U+20AC, U+2212, U+2215;
}

@font-face {
    font-family: 'Liberation Sans';
    font-style: normal;
    font-weight: normal;
    src: local('Liberation Sans'),
        url(/assets/fonts/LiberationSans-Regular.woff) format('woff');
}

@font-face {
    font-family: 'Liberation Sans';
    font-style: italic;
    font-weight: normal;
    src: local('Liberation Sans Italic'),
        url(/assets/fonts/LiberationSans-Italic.woff) format('woff');
}

@font-face {
    font-family: 'Liberation Sans';
    font-style: normal;
    font-weight: bold;
    src: local('Liberation Sans Bold'),
        url(/assets/fonts/LiberationSans-Bold.woff) format('woff');
}

@font-face {
    font-family: 'Liberation Sans';
    font-style: italic;
    font-weight: bold;
    src: local('Liberation Sans Bold Italic'),
        url(/assets/fonts/LiberationSans-BoldItalic.woff) format('woff');
}

/* ------------------------------------------
   Global Elements
*/

* {
   -ms-overflow-style: -ms-autohiding-scrollbar;
}

/* MS Flexbox min-height hack, IE >= 10 */
_:-ms-input-placeholder, :root {
    height: 100%;
}

/* IE 8/9 Legacy Support, vertically center content instead of stretch */
html {
    display: table \9 ;
}

body {
    display: table-cell \9 ;
    vertical-align: middle \9 ;
}

html, body {
    width: 100%;
    min-height: 100%;
    position: relative;
    display: flex;
}

body {
    background: #000;
    color: #fff;
    flex-flow: column nowrap;
    font-size: 100%;
    font-family: Karla, sans-serif;
    text-rendering: optimizeLegibility;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    letter-spacing: -.4px;
    letter-spacing: -.025rem;
}

h1, h2, h3, h4, h5, h6 {
    letter-spacing: -2px;
    letter-spacing: -.125rem;
}

::selection {
    color: #fff;
    background: #00fa9a;
}

::-moz-selection {
    color: #fff;
    background: #00fa9a;
}

a {
    color: #fff;
    text-decoration: none;
}

a:hover,
a:active {
    text-decoration: line-through;
}

.accent {
    color: #00fa9a;
}

.accent-background {
    background-color: #00fa9a;
}

.container {
    padding: 0 30px;
    padding: 0 1.875rem;
    margin: 0 auto;
    width: auto;
}

@media (max-width: 480px) {
    .container {
        padding: 0 15px;
        padding: 0 .9375rem;
    }
}

@media (min-width: 1025px) {
    .container {
        max-width: 80%;
    }
}

u {
    text-decoration: none;
    position: relative;
}

u:after {
    content: '';
    border-bottom: 2px solid;
    border-bottom: .125rem solid;
    display: block;
    position: absolute;
    left: 0;
    right: 0;
    bottom: -2px;
    bottom: -.125rem;
}

/* ------------------------------------------
   Global Layout
*/

header {
    flex: none;
}

header nav {
    display: flex;
    justify-content: space-between;
}

header nav > * {
    margin: auto 0;
}

header a.mark {
    background-color: #fff;
    color: #000;
    display: inline-block;
    font-size: 18px;
    font-size: 1.125rem;
    line-height: 40px;
    line-height: 2.5rem;
    min-width: 40px;
    min-width:  2.5rem;
    text-align:center;
    text-transform: uppercase;
    user-select: none;
}

header,
#content,
footer {
    padding-bottom: 30px;
    padding-bottom: 1.25rem;
    padding-top: 30px;
    padding-top: 1.25rem;
}

main,
#content {
    display: flex;
    flex-grow: 1;
    flex-flow: column nowrap;
}

footer {
    flex: none;
}

footer ul.social-profiles {
    list-style: none;
}

footer ul.social-profiles li {
    display: inline-block;
    margin-right: 20px;
    margin-right: 1.25rem;
}

footer ul.social-profiles li a {
    display: block;
    text-transform: lowercase;
    line-height: 1.5;
}

/* ------------------------------------------
   Home Page
*/

@keyframes home-bg-fade {
    from {
        background: white;
    }
    to {
        background: black;
    }
}

@keyframes home-transform-init {
    from {
        opacity: 0;
    }
    to {
        opacity: 0;
    }
}

@keyframes home-transform-reveal {
    from {
        opacity: 0;
        transform: translate3d(-15px,0, 0);
    }
    to {
        opacity: 1;
        transform: translate3d(0, 0, 0);
    }
}

#home {
    animation: home-bg-fade 750ms ease;
}

#home header {
    animation: home-transform-init 0ms, home-transform-reveal 750ms 750ms ease;
}

#home #content h1 {
    animation: home-transform-init 0ms, home-transform-reveal 750ms 1500ms ease;
}

#home #content p {
    animation: home-transform-init 0ms, home-transform-reveal 750ms 2250ms ease;
}

#home footer {
    animation: home-transform-init 0ms, home-transform-reveal 750ms 3000ms ease;
}

#home header,
#home #content h1,
#home #content p,
#home footer {
    animation-fill-mode: both, both;
}

#home section {
    margin: auto 0;
}

#home #content h1 {
    font-size: 64px;
    font-size: 4rem;
    line-height: 1;
    margin-bottom: 30px;
    margin-bottom: 1.875rem;
    transition: font-size 375ms ease;
}

#home #content p {
    font-size: 20px;
    font-size: 1.25rem;
    line-height: 1.5;
}

@media (max-width: 480px) {
    #home #content h1 {
        font-size: 48px;
        font-size: 3rem;
    }
}

@media (max-width: 370px) {
    #home #content p br {
        display: none;
    }
}

/* ------------------------------------------
    Resume Page
*/

#resume {
    background: #fff;
    color: #000;
    font-family: 'Liberation Sans', sans-serif;
}

#resume h1,
#resume h2,
#resume h3,
#resume h4,
#resume h5,
#resume h6 {
    font-weight: bold;
}

#resume h1,
#resume h2,
#resume h3,
#resume h4,
#resume h5,
#resume h6,
#resume p {
    letter-spacing: 0rem;
}

#resume a {
    color: #000;
}

#resume #content p {
    font-size: 14px;
    font-size: .875rem;
    letter-spacing: 0;
}

#resume header a.mark {
    color: #fff;
    background: #000;
}

#resume h1 {
    font-size: 24px;
    font-size: 1.35rem;
    line-height: 28px;
    line-height: 1.85rem;
    margin-bottom: 30px;
    margin-bottom: 1.875rem;
}

#resume h2,
#resume h3 {
    font-size: 18px;
    font-size: 1.125rem;
    line-height: 1;
}

#resume section {
    display: flex;
    flex-flow: row nowrap;
    margin: auto 0;
    justify-content: space-between;
}

#resume h2,
#resume .section-content {
    border-top: 1px solid;
    border-top: .0625rem solid;
    padding-bottom: 30px;
    padding-bottom: 1.25rem;
    padding-top: 30px;
    padding-top: 1.25rem;
}

#resume h2 {
    width: 23%;
}

#resume .section-content {
    width: 73%;
}

#resume ul.devicons-list {
    font-size: 56px;
    font-size: 3.5rem;
    line-height: 1;
    display: inherit;
    flex-flow: row wrap;
    padding-bottom: 15px;
    padding-bottom: .9375rem;
}

#resume ul.devicons-list li {
    width: 20%;
    text-align: center;
    display: inherit;
    margin: 0;
    padding-bottom: 15px;
    padding-bottom: .9375rem;
}

#resume ul.devicons-list li span {
    display: block;
    margin: auto;
}

#resume #employment-history .section-content {
    padding: 0;
}

#resume #employment-history li {
    padding-bottom: 30px;
    padding-bottom: 1.25rem;
    padding-top: 30px;
    padding-top: 1.25rem;
}

#resume #employment-history li:not(:last-child) {
    border-bottom: 1px solid;
    border-bottom: .0625rem solid;
}


#resume #employment-history li h3 {
    margin-bottom: 5px;
}

#resume #employment-history li .employer-description {
    padding-top: 15px;
    padding-top: .9375rem;
}

#resume footer {
    display: none;
}
