$columnleft: 12rem; $gap: 1.875rem; $dark: #0b0b0b; $grey: #a1a1a1; $orange: #F39F5A; $pink: #AE445A; $bordeaux: #662549; $purple: #451952; $mainBg: #232323; $defaultColor: #c9c9c9; body { margin: 0; padding: 0.75rem 0.75rem 6.25rem 0; background-color: $mainBg; min-height: 100vh; box-sizing: border-box; font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 1.125rem; line-height: 1.6; color: $defaultColor; a, p, h1, h2, h3, h4 { padding: 0; margin: 0; } a, p { line-height: 1.6; margin: 0.75rem 0; } a { color: $orange; } ul, ol { margin: 0.75rem 0; li { margin: 0.5rem 0; } } .contact { color: $pink; } .contact-middle { color: $bordeaux; } // -------------------------------------------------- // Main page // -------------------------------------------------- .main { max-width: 62.5rem; margin: 3.125rem auto 0; padding-left: 0.75rem; .top { text-align: center; h1.name { font-size: 4.5rem; line-height: 1.1; margin-bottom: 0.5rem; .firstname { color: $orange; } .lastname { color: $pink; } } h2 { font-size: 2rem; line-height: 1.2; color: $defaultColor; margin-bottom: 0.5rem; } .skills { color: $defaultColor; } } h3 { color: rgba($defaultColor, 0.6); margin-bottom: 0.75rem; margin-top: 4.375rem; font-weight: 600; } a { color: $orange; display: inline-block; &.main-link { font-size: 1.25rem; margin-left: 1.125rem; margin-right: 1.125rem; } } .movie { display: flex; flex-direction: row; align-items: center; justify-content: flex-start; margin-top: 2.25rem; p { margin: 0; } img { margin-right: 0.75rem; &.mobile { display: none; } } a { color: $orange; font-size: 0.875rem; opacity: 0.5; } h4 { margin-right: 0.75rem; } .movie-title { margin-bottom: 0.375rem; display: flex; flex-direction: row; align-items: center; h4 { font-size: 1.125rem; font-weight: 600; } } } } // -------------------------------------------------- // Main page — mobile // -------------------------------------------------- @media (max-width: 37.5rem) { .main { .top h1.name { font-size: 3rem; } .movie { img { display: none; &.mobile { display: block; margin: 0 auto 0.75rem; } } .movie-title { flex-direction: column; } } } } // -------------------------------------------------- // Blog // -------------------------------------------------- pre { padding: 0.75rem; border-radius: 0.25rem; overflow: auto; code { padding: 0; background: none; } } code { padding: 0.125rem 0.25rem; background: #383838; font-size: 0.875rem; line-height: 1.8; color: $grey; } a { text-decoration: none; &:hover { text-decoration: underline; } } // -------------------------------------------------- // Blog header // -------------------------------------------------- .header { display: grid; grid-template-columns: $columnleft minmax(0, 1fr); column-gap: $gap; margin-bottom: 1.5rem; a { margin-right: 2rem; } } .logo { display: block; width: $columnleft; padding: 0.3125rem; box-sizing: border-box; text-align: right; color: $orange; font-weight: 600; font-size: 1.25rem; a { .firstname { color: $orange; } .lastname { color: $pink; } &:hover { text-decoration: none; } } } // -------------------------------------------------- // Blog entries // -------------------------------------------------- .blog { margin-top: 1.5rem; max-width: 75rem; p.tag-link { color: rgba($orange, 0.6); margin-top: 0.25rem; } .entry { display: grid; grid-template-columns: $columnleft minmax(0, 1fr); column-gap: $gap; align-items: start; margin-bottom: 2.25rem; .column-left { color: $grey; margin-top: 0.25rem; display: flex; flex-direction: column; align-items: flex-end; line-height: 0; p { margin: 0 0 0.375rem; } } .column-right { min-width: 0; .mobile { display: none; } h1 { font-size: 1.625rem; line-height: 1.3; margin-bottom: 0.375rem; a { color: $defaultColor; } } &.post { min-width: 0; h1 { font-size: 2.5rem; line-height: 1.2; margin-bottom: 1.5rem; } p { font-size: 1.125rem; line-height: 1.7; } h2, h3 { margin-top: 3rem; } } } } } // -------------------------------------------------- // Blog — mobile // -------------------------------------------------- @media (max-width: 37.5rem) { padding-left: 0.75rem; p { margin: 0.75rem 0; } .header { display: block; margin-left: 0; } .logo { text-align: left; width: auto; padding: 0; } .blog { .entry { display: block; .column-left { display: none; } .column-right { .mobile { display: block; .tags { display: flex; flex-direction: row; margin-bottom: 0.75rem; > p { margin: 0 0.75rem 0 0; } } } &.post { h1 { font-size: 2rem; } p { font-size: 1.125rem; line-height: 1.7; } } } } } } }