.site-header {
  display: flex;
  text-align: right;
  align-items: flex-end;
  justify-content: flex-end;
  flex-direction: column; }
  @media (min-width: 720px) {
    .site-header {
      flex-direction: row; } }
  .site-header h1 {
    line-height: 0.85em;
    color: #fcca46;
    text-align: right; }
  .site-header .i {
    display: inline-block;
    color: #fe7f2d; }
  .site-header .dot {
    display: inline-block;
    color: #233d4d; }
  .site-header .profile-pic {
    position: relative;
    width: 200px;
    height: 200px;
    margin-right: 0;
    overflow: hidden;
    border: 0.2em solid white;
    border-radius: 1rem; }
    .site-header .profile-pic img {
      position: absolute;
      left: calc(50% - 125px);
      top: calc(50% - 125px);
      width: 250px; }
  .site-header h1,
  .site-header .dot,
  .site-header .i,
  .site-header .profile-pic,
  .site-header .profile-pic img {
    animation-delay: 2.25s;
    animation-duration: 2s;
    animation-timing-function: cubic-bezier(0.28, 0.84, 0.42, 1);
    animation-fill-mode: both; }
  .site-header h1 {
    animation-name: rotate-title; }
  .site-header .i {
    animation-name: bounce;
    animation-iteration-count: 1;
    transform-origin: bottom; }
  .site-header .dot {
    animation-name: rotate-dot; }
  .site-header .profile-pic {
    animation-name: rotate-profile-pic; }
  .site-header .profile-pic img {
    animation-name: rotate-profile-pic-img; }
  .site-header:hover h1,
  .site-header:hover .i,
  .site-header:hover .dot,
  .site-header:hover .profile-pic,
  .site-header:hover .profile-pic img {
    animation-delay: 0s;
    animation-duration: 1s; }
  .site-header:hover h1 {
    animation-name: rotate-title-reverse; }
  .site-header:hover .i {
    animation-name: rotate-i-reverse; }
  .site-header:hover .dot {
    animation-name: rotate-dot-reverse; }
  .site-header:hover .profile-pic {
    animation-name: rotate-profile-pic-reverse; }
  .site-header:hover .profile-pic img {
    animation-name: rotate-profile-pic-img-reverse; }

@keyframes rotate-title {
  0% {
    transform: rotate(0deg); }
  100% {
    transform: rotate(1deg); } }

@keyframes rotate-title-reverse {
  0% {
    transform: rotate(1deg); }
  100% {
    transform: rotate(0deg); } }

@keyframes rotate-dot {
  0% {
    transform: rotate(0deg); }
  100% {
    transform: rotate(2.5deg); } }

@keyframes rotate-dot-reverse {
  0% {
    transform: rotate(2.5deg); }
  100% {
    transform: rotate(0deg); } }

@keyframes rotate-profile-pic {
  0% {
    transform: rotate(0deg); }
  100% {
    transform: rotate(-10deg); } }

@keyframes rotate-profile-pic-reverse {
  0% {
    transform: rotate(-10deg); }
  100% {
    transform: rotate(0deg); } }

@keyframes rotate-profile-pic-img {
  0% {
    transform: rotate(0deg); }
  100% {
    transform: rotate(10deg); } }

@keyframes rotate-profile-pic-img-reverse {
  0% {
    transform: rotate(10deg); }
  100% {
    transform: rotate(0deg); } }

@keyframes bounce {
  0% {
    transform: scale(1, 1) translateY(0) rotate(0deg); }
  10% {
    transform: scale(1.1, 0.9) translateY(0); }
  30% {
    transform: scale(0.9, 1.1) translateY(-0.8em); }
  50% {
    transform: scale(1.05, 0.95) translateY(0); }
  57% {
    transform: scale(1, 1) translateY(-0.05em); }
  64% {
    transform: scale(1, 1) translateY(0); }
  100% {
    transform: scale(1, 1) translateY(0) rotate(-2.5deg); } }

@keyframes rotate-i-reverse {
  0% {
    transform: rotate(-2.5deg); }
  100% {
    transform: rotate(0deg); } }

.site-footer {
  position: relative;
  margin: 0 -5%;
  padding: 5%;
  font-size: 0.75em;
  text-align: right; }

html {
  font-size: 16px; }
  @media (min-width: 500px) {
    html {
      font-size: 18px; } }
  @media (min-width: 720px) {
    html {
      font-size: 21px; } }

body {
  font-family: 'Exo', sans-serif;
  font-weight: 400;
  font-size: 1rem;
  line-height: 1.5em;
  color: #233d4d;
  margin: 5%; }
  @media (min-width: 980px) {
    body {
      max-width: 980px;
      margin: 5% auto;
      padding: 0 5%; } }

h1, h2, h3, h4, h5, h6 {
  max-width: 13em;
  font-weight: 900;
  line-height: 1em;
  color: #233d4d; }

h1 {
  font-size: 3rem; }

h2 {
  font-size: 2.4rem; }

h3 {
  font-size: 2rem;
  color: #fe7f2d; }

h4 {
  font-size: 1.6rem; }

h5 {
  font-size: 1.4rem; }

h6 {
  font-size: 1rem; }

ul {
  padding-left: 1em; }

a {
  font-size: 0.85em;
  color: #233d4d;
  background-color: #fcca46;
  border-radius: 0.3em;
  padding: 0.15em 0.4em;
  text-decoration: none; }
  a:hover {
    background-color: #fe7f2d; }
  a .svg-inline {
    display: inline-block;
    vertical-align: middle;
    width: 1em;
    height: 0.85em;
    margin-right: 0.35em; }

@media (min-width: 720px) {
  .site-content {
    width: 80%; } }

.curriculum-vitae__job {
  margin-bottom: 1.5em; }
  @media (min-width: 720px) {
    .curriculum-vitae__job {
      display: flex; } }
  .curriculum-vitae__job dt {
    flex: 0 0 8em; }
  .curriculum-vitae__job dd {
    margin-left: 0; }
  .curriculum-vitae__job-company, .curriculum-vitae__job-title {
    display: block;
    margin-top: 0;
    margin-bottom: 0.5em; }
  .curriculum-vitae__job-company {
    font-weight: bold; }
  .curriculum-vitae__job-description ul {
    margin-bottom: 0.5em; }

.tag-list {
  font-size: 0.8em;
  list-style: none;
  padding-left: 0; }
  .tag-list li {
    display: inline-block;
    padding: 0.5em;
    margin: 0 0.5em 0.5em 0;
    background-color: #f0f0f0;
    border-radius: 0.8em; }

