/* http://meyerweb.com/eric/tools/css/reset/
   v2.0 | 20110126
   License: none (public domain)
*/
@import url("https://fonts.googleapis.com/css?family=Arvo:400,400i,700,700i|Montserrat:100,100i,300,300i,800,900,900i|Rock+Salt");
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline; }

/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
  display: block; }

body {
  line-height: 1; }

ol, ul {
  list-style: none; }

blockquote, q {
  quotes: none; }

blockquote:before, blockquote:after,
q:before, q:after {
  content: '';
  content: none; }

table {
  border-collapse: collapse;
  border-spacing: 0; }

/* Typography */
body {
  font-family: 'Arvo', serif;
  color: #141e28; }

h1, h2, h3, h4, h5, h6 {
  font-family: 'Montserrat', sans-serif; }

h1 {
  font-size: 72px;
  font-weight: 900; }

h2 {
  font-size: 48px; }

h3 {
  font-size: 22px; }

h4 {
  font-size: 18px; }

h5 {
  font-size: 16px; }

.text-center {
  text-align: center; }

a {
  color: #141e28;
  text-decoration: none;
  transition: all 0.25s; }
  a:hover {
    color: #283c50; }

.button {
  background: #141e28;
  padding: 6px 8px;
  color: white;
  border: 1px solid #141e28;
  border-radius: 5px;
  text-transform: uppercase; }
  .button:hover {
    color: #c8c8c8; }

/* Layout */
body {
  background: white; }

header.header {
  background-image: url("../images/cristofer-jeschke-1389566-unsplash.jpg");
  background-size: cover;
  padding: 200px; }
  header.header h1, header.header h2 {
    color: white;
    text-transform: uppercase; }
    header.header h1 span, header.header h2 span {
      font-size: 70%; }
  header.header h2 {
    font-size: 80px; }
  @media screen and (max-width: 1010px) {
    header.header {
      padding: 100px 50px; }
      header.header h1 span, header.header h2 span {
        font-size: 100%; }
      header.header h2 {
        font-size: 60px; } }

#services {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  grid-gap: 15px;
  margin: 0 15px; }
  @media only screen and (max-width: 1010px) {
    #services {
      grid-template-columns: 1fr;
      grid-gap: 0;
      margin: 10px 30px; } }
  #services .service {
    background: white;
    padding: 20px 0;
    margin: 15px 0;
    border: 1px solid #141e28;
    text-align: center;
    transition: all 0.25s; }
    #services .service:hover {
      background: #f0f0f0; }
    #services .service img.img-service {
      width: 80px; }

#about {
  background: #ffc500;
  padding: 120px 120px 120px;
  display: grid;
  grid-template-columns: 2fr 5fr;
  grid-gap: 50px; }
  @media screen and (max-width: 1010px) and (min-width: 770px) {
    #about .photo {
      height: 400px; } }
  #about .photo img {
    width: 100%;
    height: 100%;
    object-fit: cover; }
  #about h2 {
    margin: 0 0 20px; }
  #about p {
    font-size: 24px;
    padding-bottom: 15px;
    line-height: 1.2; }
    #about p.signature {
      font-family: 'Rock Salt', cursive;
      font-size: 36px; }
  @media only screen and (max-width: 1200px) {
    #about {
      grid-template-columns: 1fr 1fr; } }
  @media only screen and (max-width: 1010px) {
    #about {
      grid-template-columns: 1fr;
      padding: 60px 60px 60px; } }

#skills {
  background: #141e28;
  padding: 120px 120px 120px;
  color: white; }
  @media screen and (max-width: 1010px) {
    #skills {
      padding: 60px 60px 60px; } }
  #skills .skill-list {
    margin: 20px 0;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-gap: 20px; }
    @media screen and (max-width: 1220px) {
      #skills .skill-list {
        grid-template-columns: 1fr 1fr; } }
    @media screen and (max-width: 770px) {
      #skills .skill-list {
        grid-template-columns: 1fr; } }
    #skills .skill-list div.skill {
      display: grid;
      grid-template-columns: max-content auto;
      grid-gap: 10px; }
      #skills .skill-list div.skill:hover .skill-text .skill-tags {
        transform: translate(0, -30px);
        opacity: 1; }
      #skills .skill-list div.skill .skill-rating .rating-filled, #skills .skill-list div.skill .skill-rating .rating-empty {
        display: inline-block;
        height: 10px;
        width: 10px;
        border: 2px solid white;
        border-radius: 10px; }
      #skills .skill-list div.skill .skill-rating .rating-filled {
        background: white; }
      #skills .skill-list div.skill .skill-text .skill-title {
        background: #141e28; }
      #skills .skill-list div.skill .skill-text .skill-tags {
        position: absolute;
        opacity: 0;
        transition: all 0.25s; }
        @media screen and (max-width: 1010px) {
          #skills .skill-list div.skill .skill-text .skill-tags {
            display: none; } }
        #skills .skill-list div.skill .skill-text .skill-tags .tag {
          display: inline;
          font-family: 'Montserrat', sans-serif;
          font-size: 10px;
          font-weight: 800;
          text-transform: uppercase;
          color: #141e28;
          padding: 5px;
          margin-left: 5px; }
          #skills .skill-list div.skill .skill-text .skill-tags .tag.graphic-design {
            background: #ff00ba; }
          #skills .skill-list div.skill .skill-text .skill-tags .tag.web-design {
            background: #baff00; }
          #skills .skill-list div.skill .skill-text .skill-tags .tag.motion-design {
            background: #00baff; }
          #skills .skill-list div.skill .skill-text .skill-tags .tag.other {
            background: #ffba00; }

#resume {
  padding: 120px 120px 120px; }
  @media screen and (max-width: 1010px) {
    #resume {
      padding: 60px 60px 60px; } }
  #resume h3 {
    border-bottom: 2px solid #141e28;
    padding-bottom: 5px;
    margin: 30px 0 15px;
    font-size: 0.9rem;
    font-weight: 900; }
  #resume .content {
    display: none;
    grid-template-columns: 1fr 1fr;
    grid-gap: 50px;
    font-size: 1rem;
    opacity: 0;
    transition: opacity 1s; }
    @media screen and (max-width: 1010px) {
      #resume .content {
        grid-template-columns: 1fr; } }
    #resume .content.active {
      display: grid; }
    #resume .content.fade {
      opacity: 1;
      transition: opacity 1s; }
  #resume .resume-feature {
    display: grid;
    grid-template-columns: auto auto;
    grid-gap: 10px;
    font-family: 'Montserrat', sans-serif;
    margin: 20px 0 10px; }
    #resume .resume-feature .feature-title {
      font-weight: 800; }
    #resume .resume-feature .feature-context {
      font-weight: 300;
      text-align: right; }
  #resume ul {
    list-style: disc outside;
    margin: 0 0 0 25px;
    padding: 5px 0; }
    #resume ul li {
      line-height: 1.25;
      padding: 5px 0; }
    #resume ul ul {
      list-style: circle outside;
      padding: 5px 0 0; }
      #resume ul ul li {
        padding: 5px 0 0; }
  #resume p {
    margin: 0 0 10px; }
    #resume p.date {
      font-weight: 700; }

#contact {
  background: #ffc400;
  padding: 120px 120px 120px; }
  #contact .links {
    font-size: 50px; }

footer.footer {
  background: #141e28;
  padding: 40px;
  color: white; }
