1
0
mirror of https://github.com/kremalicious/blog.git synced 2024-06-26 03:06:25 +02:00
blog/src/styles/global.scss

374 lines
5.7 KiB
SCSS
Raw Normal View History

2018-07-18 00:24:11 +02:00
@import 'variables';
2018-07-19 02:22:01 +02:00
@import 'mixins';
2018-07-18 00:24:11 +02:00
2018-09-06 19:29:49 +02:00
* {
&,
&::before,
&::after {
box-sizing: border-box;
}
2018-07-18 00:24:11 +02:00
}
html,
body {
margin: 0;
padding: 0;
2018-07-18 02:19:32 +02:00
background: $body-background-color;
2018-07-18 00:24:11 +02:00
}
html {
font-size: $font-size-root;
}
body {
font-family: $font-family-base;
font-weight: $font-weight-base;
font-size: $font-size-base;
line-height: $line-height;
color: $font-color-base;
text-rendering: optimizeLegibility;
2018-07-18 02:19:32 +02:00
letter-spacing: -.01em;
2018-07-18 00:24:11 +02:00
font-feature-settings: 'liga', 'kern';
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
min-height: 100vh;
transition: background .6s $easing;
2018-07-18 02:19:32 +02:00
// handling long text, like URLs
overflow-wrap: break-word;
word-wrap: break-word;
word-break: break-word;
2018-07-18 00:24:11 +02:00
&.dark {
background-color: $body-background-color--dark;
color: $text-color--dark;
}
}
p,
ul,
ol {
margin: 0 0 $spacer;
}
2018-09-29 02:54:31 +02:00
p:last-child {
margin-bottom: 0;
}
2018-07-18 02:19:32 +02:00
// Reset fonts for relevant elements
/////////////////////////////////////
input,
button,
select,
textarea {
font-family: inherit;
font-size: inherit;
line-height: inherit;
}
2018-07-21 22:21:00 +02:00
// Reset default button element
button {
padding: 0;
cursor: pointer;
background: transparent;
border: 0;
-webkit-appearance: none;
&:active {
transition: none;
text-shadow: none;
}
}
2018-07-18 00:24:11 +02:00
// Headings
/////////////////////////////////////
2018-07-18 02:19:32 +02:00
h1,
h2 {
2018-09-29 02:54:31 +02:00
margin-top: $spacer * $line-height;
2018-07-18 02:19:32 +02:00
margin-bottom: $spacer * 2;
}
h3,
h4,
h5,
h6 {
2018-09-29 02:54:31 +02:00
margin-top: $spacer * $line-height;
2018-07-18 02:19:32 +02:00
margin-bottom: $spacer;
}
2018-07-18 00:24:11 +02:00
h1 {
2018-07-18 02:19:32 +02:00
font-size: $font-size-h2;
@media (min-width: $screen-xs) {
font-size: $font-size-h1;
}
2018-07-18 00:24:11 +02:00
}
h2 {
2018-09-29 02:54:31 +02:00
@include heading-band();
2018-07-18 02:19:32 +02:00
font-size: $font-size-h3;
@media (min-width: $screen-xs) {
font-size: $font-size-h2;
}
2018-07-18 00:24:11 +02:00
}
h3 {
2018-07-18 02:19:32 +02:00
font-size: $font-size-h4;
@media (min-width: $screen-xs) {
font-size: $font-size-h3;
}
2018-07-18 00:24:11 +02:00
}
h4 {
2018-07-18 02:19:32 +02:00
font-size: $font-size-h5;
@media (min-width: $screen-xs) {
font-size: $font-size-h4;
}
2018-07-18 00:24:11 +02:00
}
h5 {
2018-07-18 02:19:32 +02:00
font-size: $font-size-h6;
@media (min-width: $screen-xs) {
font-size: $font-size-h5;
}
2018-07-18 00:24:11 +02:00
}
h6 {
font-size: $font-size-h6;
}
h1,
h2,
h3,
h4,
h5,
h6 {
font-family: $font-family-headings;
line-height: $line-height-headings;
color: $color-headings;
font-weight: $font-weight-headings;
letter-spacing: -.02em;
.dark & {
color: $color-headings--dark;
}
}
// Links
/////////////////////////////////////
a {
2018-07-19 02:22:01 +02:00
color: $link-color;
2018-07-18 00:24:11 +02:00
text-decoration: none;
transition: .2s ease-out;
2018-07-18 02:19:32 +02:00
h1 &,
h2 &,
h3 & {
color: $color-headings;
}
2018-07-18 00:24:11 +02:00
&:hover,
&:focus {
2018-07-18 02:19:32 +02:00
outline: 0;
2018-07-19 02:22:01 +02:00
color: lighten($link-color, 10%);
2018-07-18 00:24:11 +02:00
}
2018-07-18 02:19:32 +02:00
&:active {
transition: none;
2018-09-06 19:29:49 +02:00
color: darken($link-color, 10%);
2018-07-18 02:19:32 +02:00
}
2018-07-18 00:24:11 +02:00
}
2018-07-19 00:22:06 +02:00
// Responsive Media
2018-07-18 00:24:11 +02:00
/////////////////////////////////////
2018-07-19 00:22:06 +02:00
figure,
2018-07-18 00:24:11 +02:00
img,
2018-07-18 23:04:31 +02:00
svg,
2018-07-19 00:22:06 +02:00
video,
audio,
embed,
canvas,
picture {
2018-07-18 00:24:11 +02:00
max-width: 100%;
height: auto;
2018-07-19 00:22:06 +02:00
margin: 0 auto;
display: block;
border-radius: $border-radius;
}
img {
vertical-align: middle;
2018-07-18 00:24:11 +02:00
}
2018-09-29 02:54:31 +02:00
figcaption {
font-size: $font-size-small;
color: $brand-grey;
font-style: italic;
text-align: center;
margin-top: -($spacer / $line-height);
}
2018-07-18 02:19:32 +02:00
// Lists
/////////////////////////////////////
ul {
li {
&::before {
content: ' \2015'; // horizontal bar: ― ―
}
}
}
ol {
counter-reset: ol-counter;
li {
&::before {
content: counter(ol-counter) '.';
counter-increment: ol-counter;
}
}
ul li::before {
display: none;
}
}
ul,
ol {
margin-top: 0;
margin-bottom: $spacer;
2018-07-19 02:22:01 +02:00
padding-left: $spacer;
2018-07-18 02:19:32 +02:00
list-style: none;
li {
position: relative;
// stylelint-disable no-descending-specificity
&::before {
position: absolute;
2018-07-19 02:22:01 +02:00
left: -($spacer);
2018-07-18 02:19:32 +02:00
top: -1px;
color: $text-color-light;
user-select: none;
}
// stylelint-enable no-descending-specificity
}
ul,
ol {
margin-bottom: 0;
}
}
// Inline typography
/////////////////////////////////////
b,
strong,
.bold {
font-weight: 700;
font-style: normal;
}
em,
.italic {
font-style: italic;
}
abbr[title],
dfn {
text-transform: none;
font-style: normal;
font-size: inherit;
border-bottom: 1px dashed $brand-grey-dimmed;
cursor: help;
font-feature-settings: inherit;
}
mark {
background: #fffaab;
color: $text-color;
}
hr {
2018-07-19 02:22:01 +02:00
margin: 0;
2018-07-18 02:19:32 +02:00
border: 0;
2018-07-19 02:22:01 +02:00
@include divider();
2018-07-18 02:19:32 +02:00
}
2018-09-29 02:54:31 +02:00
// Quotes
/////////////////////////////////////
q {
font-style: italic;
}
cite {
font-style: normal;
text-transform: uppercase;
}
// stylelint-disable no-descending-specificity
blockquote,
blockquote > p {
font-style: italic;
color: $brand-grey;
}
// stylelint-enable no-descending-specificity
blockquote {
margin: 0 0 $spacer;
position: relative;
padding-left: $spacer * 1.5;
// quotation marks
&::before {
content: '';
font-size: 300%;
color: lighten($brand-grey-light, 20%);
position: absolute;
left: -10px;
top: -20px;
@media (min-width: $screen-xs) {
left: 0;
}
@media (min-width: $screen-lg) {
top: -30px;
}
}
}
2018-07-18 02:19:32 +02:00
// Selection
/////////////////////////////////////
::-moz-selection {
background: #2e4f5c;
color: #fff;
}
::selection {
background: #2e4f5c;
color: #fff;
}
2018-07-18 23:04:31 +02:00
// More basic elements
/////////////////////////////////////
2018-07-18 02:19:32 +02:00
@import 'code';
2018-07-19 16:49:20 +02:00
@import 'buttons';
2018-07-20 15:23:57 +02:00
@import 'alerts';
2018-09-29 02:54:31 +02:00
@import 'content';