416 lines
		
	
	
		
			6.3 KiB
		
	
	
	
		
			SCSS
		
	
	
	
			
		
		
	
	
			416 lines
		
	
	
		
			6.3 KiB
		
	
	
	
		
			SCSS
		
	
	
	
| /**
 | |
|  * Fonts
 | |
|  */
 | |
| 
 | |
| body, button, input, select, label, textarea {
 | |
|   font-family: $text;
 | |
| }
 | |
| .Codemirror, pre, #markdown-editor-input, .editor-toolbar, .code-base {
 | |
|   font-family: $mono;
 | |
| }
 | |
| 
 | |
| /*
 | |
|  * Header Styles
 | |
|  */
 | |
| 
 | |
| h1 {
 | |
|   font-size: 3.425em;
 | |
|   line-height: 1.22222222em;
 | |
|   margin-top: 0.48888889em;
 | |
|   margin-bottom: 0.48888889em;
 | |
| }
 | |
| h2 {
 | |
|   font-size: 2.8275em;
 | |
|   line-height: 1.294117647em;
 | |
|   margin-top: 0.8627451em;
 | |
|   margin-bottom: 0.43137255em;
 | |
| }
 | |
| h3 {
 | |
|   font-size: 2.333em;
 | |
|   line-height: 1.221428572em;
 | |
|   margin-top: 0.78571429em;
 | |
|   margin-bottom: 0.43137255em;
 | |
| }
 | |
| h4 {
 | |
|   font-size: 1.666em;
 | |
|   line-height: 1.375em;
 | |
|   margin-top: 0.78571429em;
 | |
|   margin-bottom: 0.43137255em;
 | |
| }
 | |
| 
 | |
| h1, h2, h3, h4, h5, h6 {
 | |
|   font-weight: 400;
 | |
|   position: relative;
 | |
|   display: block;
 | |
|   @include lightDark(color, #222, #BBB);
 | |
|   .subheader {
 | |
|     font-size: 0.5em;
 | |
|     line-height: 1em;
 | |
|     color: lighten($text-dark, 32%);
 | |
|   }
 | |
| }
 | |
| 
 | |
| h5 {
 | |
|   font-size: 1.4em;
 | |
| }
 | |
| 
 | |
| h5, h6 {
 | |
|   line-height: 1.2em;
 | |
|   margin-top: 0.78571429em;
 | |
|   margin-bottom: 0.66em;
 | |
| }
 | |
| 
 | |
| @include smaller-than($s) {
 | |
|   h1 {
 | |
|     font-size: 2.8275em;
 | |
|   }
 | |
|   h2 {
 | |
|     font-size: 2.333em;
 | |
|   }
 | |
|   h3 {
 | |
|     font-size: 1.666em;
 | |
|   }
 | |
|   h4 {
 | |
|     font-size: 1.333em;
 | |
|   }
 | |
|   h5 {
 | |
|     font-size: 1.161616em;
 | |
|   }
 | |
| }
 | |
| 
 | |
| .list-heading {
 | |
|   font-size: 2rem;
 | |
| }
 | |
| 
 | |
| h2.list-heading {
 | |
|   font-size: 1.333rem;
 | |
| }
 | |
| 
 | |
| /*
 | |
|  * Link styling
 | |
|  */
 | |
| a {
 | |
|   color: var(--color-primary);
 | |
|   fill: currentColor;
 | |
|   cursor: pointer;
 | |
|   text-decoration: none;
 | |
|   transition: filter ease-in-out 80ms;
 | |
|   line-height: 1.6;
 | |
|   &:hover {
 | |
|     text-decoration: underline;
 | |
|   }
 | |
|   &.icon {
 | |
|     display: inline-block;
 | |
|   }
 | |
|   svg {
 | |
|     position: relative;
 | |
|     display: inline-block;
 | |
|   }
 | |
|   &:focus img:only-child {
 | |
|     outline: 2px dashed var(--color-primary);
 | |
|     outline-offset: 2px;
 | |
|   }
 | |
| }
 | |
| 
 | |
| a.no-link-style {
 | |
|   color: inherit;
 | |
|   &:hover {
 | |
|     text-decoration: none;
 | |
|   }
 | |
| }
 | |
| 
 | |
| .blended-links a {
 | |
|   color: inherit;
 | |
|   svg {
 | |
|     fill: currentColor;
 | |
|   }
 | |
| }
 | |
| 
 | |
| /*
 | |
|  * Other HTML Text Elements
 | |
|  */
 | |
| p, ul, ol, pre, table, blockquote {
 | |
|   margin-top: 0.3em;
 | |
|   margin-bottom: 1.375em;
 | |
| }
 | |
| 
 | |
| hr {
 | |
|   border: 0;
 | |
|   height: 1px;
 | |
|   @include lightDark(background, #eaeaea, #555);
 | |
|   margin-bottom: $-l;
 | |
|   &.faded {
 | |
|     background-image: linear-gradient(to right, #FFF, #e3e0e0 20%, #e3e0e0 80%, #FFF);
 | |
|   }
 | |
|   &.darker {
 | |
|     @include lightDark(background, #DDD, #666);
 | |
|   }
 | |
|   &.margin-top, &.even {
 | |
|     margin-top: $-l;
 | |
|   }
 | |
| }
 | |
| 
 | |
| strong, b, .bold, .strong {
 | |
|   font-weight: bold;
 | |
|   > strong, > b, > .bold, > .strong {
 | |
|     font-weight: bolder;
 | |
|   }
 | |
| }
 | |
| 
 | |
| em, i, .italic {
 | |
|   font-style: italic;
 | |
| }
 | |
| 
 | |
| small, p.small, span.small, .text-small {
 | |
|   font-size: 0.75rem;
 | |
| }
 | |
| 
 | |
| sup, .superscript {
 | |
|   vertical-align: super;
 | |
|   font-size: 0.8em;
 | |
| }
 | |
| 
 | |
| sub, .subscript {
 | |
|   vertical-align: sub;
 | |
|   font-size: 0.8em;
 | |
| }
 | |
| 
 | |
| pre {
 | |
|   font-size: 12px;
 | |
|   border: 1px solid #DDD;
 | |
|   @include lightDark(background-color, #f5f5f5, #2B2B2B);
 | |
|   @include lightDark(border-color, #DDD, #111);
 | |
|   padding-left: 31px;
 | |
|   position: relative;
 | |
|   padding-top: 3px;
 | |
|   padding-bottom: 3px;
 | |
|   &:after {
 | |
|     content: '';
 | |
|     display: block;
 | |
|     position: absolute;
 | |
|     top: 0;
 | |
|     width: 29px;
 | |
|     left: 0;
 | |
|     height: 100%;
 | |
|     @include lightDark(background-color, #f5f5f5, #313335);
 | |
|     @include lightDark(border-right, 1px solid #DDD, none);
 | |
|   }
 | |
| }
 | |
| 
 | |
| @media print {
 | |
|   pre {
 | |
|     padding-left: 12px;
 | |
|   }
 | |
|   pre:after {
 | |
|     display: none;
 | |
|   }
 | |
| }
 | |
| 
 | |
| blockquote {
 | |
|   display: block;
 | |
|   position: relative;
 | |
|   border-left: 4px solid var(--color-primary);
 | |
|   @include lightDark(background-color, #f8f8f8, #333);
 | |
|   padding: $-s $-m $-s $-xl;
 | |
|   overflow: auto;
 | |
|   &:before {
 | |
|     content: "\201C";
 | |
|     font-size: 2em;
 | |
|     font-weight: bold;
 | |
|     position: absolute;
 | |
|     top: $-s;
 | |
|     left: $-s;
 | |
|     color: lighten($text-dark, 20%);
 | |
|   }
 | |
| }
 | |
| 
 | |
| .text-mono {
 | |
|   font-family: $mono;
 | |
| }
 | |
| 
 | |
| .text-uppercase {
 | |
|   text-transform: uppercase;
 | |
| }
 | |
| 
 | |
| .text-capitals {
 | |
|   text-transform: capitalize;
 | |
| }
 | |
| 
 | |
| .code-base {
 | |
|   font-size: 0.84em;
 | |
|   border: 1px solid #DDD;
 | |
|   border-radius: 3px;
 | |
|   @include lightDark(background-color, #f8f8f8, #2b2b2b);
 | |
|   @include lightDark(border-color, #DDD, #444);
 | |
| }
 | |
| 
 | |
| code {
 | |
|   @extend .code-base;
 | |
|   display: inline;
 | |
|   padding: 1px 3px;
 | |
|   white-space:pre-wrap;
 | |
|   line-height: 1.2em;
 | |
| }
 | |
| 
 | |
| span.code {
 | |
|   @extend .code-base;
 | |
|   padding: 1px $-xs;
 | |
| }
 | |
| 
 | |
| pre code {
 | |
|   background-color: transparent;
 | |
|   border: 0;
 | |
|   font-size: 1em;
 | |
|   display: block;
 | |
|   line-height: 1.6;
 | |
| }
 | |
| 
 | |
| span.highlight {
 | |
|   font-weight: bold;
 | |
|   padding: 2px 4px;
 | |
| }
 | |
| 
 | |
| /*
 | |
|  * Lists
 | |
|  */
 | |
| ul, ol {
 | |
|   padding-left: $-m * 2.0;
 | |
|   padding-right: $-m * 2.0;
 | |
|   display: flow-root;
 | |
|   p {
 | |
|     margin: 0;
 | |
|   }
 | |
| }
 | |
| ul {
 | |
|   list-style: disc;
 | |
|   ul {
 | |
|     list-style: circle;
 | |
|   }
 | |
|   label {
 | |
|     margin: 0;
 | |
|   }
 | |
| }
 | |
| 
 | |
| ol {
 | |
|   list-style: decimal;
 | |
| }
 | |
| 
 | |
| li > ol, li > ul {
 | |
|   margin-top: 0;
 | |
|   margin-bottom: 0;
 | |
|   margin-block-end: 0;
 | |
|   margin-block-start: 0;
 | |
|   padding-block-end: 0;
 | |
|   padding-block-start: 0;
 | |
|   padding-left: $-m * 1.2;
 | |
|   padding-right: $-m * 1.2;
 | |
| }
 | |
| 
 | |
| li.checkbox-item, li.task-list-item {
 | |
|   display: list-item;
 | |
|   list-style: none;
 | |
|   margin-left: -($-m * 1.2);
 | |
|   input[type="checkbox"] {
 | |
|     margin-right: $-xs;
 | |
|   }
 | |
|   li.checkbox-item, li.task-list-item {
 | |
|     margin-left: $-xs;
 | |
|   }
 | |
| }
 | |
| 
 | |
| /*
 | |
|  * Generic text styling classes
 | |
|  */
 | |
| .underlined {
 | |
|   text-decoration: underline;
 | |
| }
 | |
| 
 | |
| .text-center {
 | |
|   text-align: center;
 | |
| }
 | |
| .text-left {
 | |
|   text-align: start;
 | |
| }
 | |
| .text-right {
 | |
|   text-align: end;
 | |
| }
 | |
| 
 | |
| @each $sizeLetter, $size in $screen-sizes {
 | |
|   @include larger-than($size) {
 | |
|     .text-#{$sizeLetter}-center {
 | |
|       text-align: center;
 | |
|     }
 | |
|     .text-#{$sizeLetter}-left {
 | |
|       text-align: start;
 | |
|     }
 | |
|     .text-#{$sizeLetter}-right {
 | |
|       text-align: end;
 | |
|     }
 | |
|   }
 | |
| }
 | |
| 
 | |
| .text-bigger {
 | |
|   font-size: 1.1em;
 | |
| }
 | |
| 
 | |
| .text-large {
 | |
|   font-size: 1.6666em;
 | |
| }
 | |
| 
 | |
| .no-color {
 | |
|   color: inherit;
 | |
| }
 | |
| 
 | |
| .break-text {
 | |
|   word-wrap: break-word;
 | |
|   overflow-wrap: break-word;
 | |
| }
 | |
| 
 | |
| .text-limit-lines-1 {
 | |
|   white-space: nowrap;
 | |
|   overflow: hidden;
 | |
|   text-overflow: ellipsis;
 | |
| }
 | |
| 
 | |
| .text-limit-lines-2 {
 | |
|   // -webkit use here is actually standardised cross-browser:
 | |
|   // https://developer.mozilla.org/en-US/docs/Web/CSS/-webkit-line-clamp
 | |
|   display: -webkit-box;
 | |
|   -webkit-box-orient: vertical;
 | |
|   -webkit-line-clamp: 2;
 | |
|   overflow: hidden;
 | |
| }
 | |
| 
 | |
| /**
 | |
|  * Grouping
 | |
|  */
 | |
| .header-group {
 | |
|   margin: $-m 0;
 | |
|   h1, h2, h3, h4, h5, h6 {
 | |
|     margin: 0;
 | |
|   }
 | |
| }
 | |
| 
 | |
| span.sep {
 | |
|   color: #BBB;
 | |
|   padding: 0 $-xs;
 | |
| }
 | |
| 
 | |
| .list > * {
 | |
|   display: block;
 | |
| }
 | |
| 
 | |
| /**
 | |
|   * Icons
 | |
|   */
 | |
| .svg-icon {
 | |
|   width: 1em;
 | |
|   height: 1em;
 | |
|   display: inline-block;
 | |
|   position: relative;
 | |
|   bottom: -0.105em;
 | |
|   margin-inline-end: $-xs;
 | |
|   pointer-events: none;
 | |
|   fill: currentColor;
 | |
| }
 |