Home navigation eye candy

Home navigation eye candy

// Global variables
@space: 70px;
@wrapper-width: 750px;
@base-font-size: 24px;
@base-line-height: (20 / 14); // ~ 1.428571429
@link-color: #a212d1;
@background-color: #fff;
@text-color: #000;
@sans-serif: "Helvetica Neue", Arial, "Hiragino Sans GB", sans-serif;
@serif: Georgia, "Hiragino Mincho ProN", serif;

// Invert color switcher for images and videos
// :root { filter: invert(100%); }

.heading {
  font-family: @sans-serif;
  font-size: (@base-font-size * 10/3);
  -webkit-font-smoothing: antialiased;
  font-weight: bold;
  letter-spacing: -.06em;
}

.sub-heading {
  font-family: @sans-serif;
  font-size: (@base-font-size / 2);
  font-weight: normal;
  line-height: (@base-line-height * .9);
  letter-spacing: .45em;
  color: fade(@text-color, 20%);
  text-transform: uppercase;
}

// http://nicolasgallagher.com/micro-clearfix-hack/
//
// For modern browsers
// 1. The use of `table` rather than `block` is only necessary if using `:before` to contain the top-margins of child elements.
// 2. The original space content hack is removed here. No need to support Opera on my personal site.
.cf {

  &:before, &:after {
    display: table; // 1
    content: ""; // 2
  }

  &:after {
    clear: both;
  }
}

// Basic reset
*,
*:before,
*:after {
  padding: 0;
  margin: 0;
  box-sizing: border-box;
}

body {
  padding: 0 8% (@space * 1.5);
  margin: 0 auto 0;
  font-family: @sans-serif;
  font-size: @base-font-size;
  line-height: @base-line-height;
  color: @text-color;
  text-rendering: optimizelegibility;
  background: @background-color;
  image-rendering: optimizequality;

  // A semitranslucent bar at the top of the page
  &:before {
    position: absolute;
    top: 0;
    left: 0;
    z-index: -9999;
    width: 100%;
    height: 8px;
    pointer-events: none;
    background: @link-color;
    content: "";
    opacity: .2;
  }
}

// Reset fonts for relevant elements
input,
button,
select,
textarea {
  font-family: inherit;
  font-size: inherit;
  line-height: inherit;
}

// Reset unusual Firefox-on-Android default style.
//
// See https://github.com/necolas/normalize.css/issues/214
button,
input,
select[multiple],
textarea {
  background-image: none;
}

// Global fixed width wrapper
.wrapper {
  max-width: 860px;
  margin: 0 auto;
}

a, button {

  &:link, &:visited {
    color: @text-color;
    text-decoration: none;
    transition: color .5s ease, border-color .5s ease, background-color .5s ease, opacity 1.5s ease;

    &:focus, &:hover {
      color: @link-color;
      transition: color .1s ease, border-color .1s ease, background-color .1s ease, opacity .1s ease;
    }
  }
}

img, hr {
  border: 0;
}

del {
  text-decoration: line-through;
}

::selection {
  color: @link-color;
  background: fade(@text-color, 2%);
}

// Main site logo
.logo {
  display: block;
  width: 100%;
  height: 8px;
  margin: 0 0 (@space / 5);
  text-indent: -9999em;
  background: @link-color;
  opacity: 0;
  transition: background .3s ease;

  &:hover {
    background: @text-color;
  }
}

body:hover .logo {
  opacity: 1 !important;
}

// Global navigations font styles
nav {
  .sub-heading;
}

// Main navigation
.navigation { // nav.navigation
  margin: 0 0 (@space * 1.5);
  margin-right: -1.1em;
  margin-left: -1.1em;
  .cf;

  li {
    display: inline-block;
    line-height: 2;
    list-style: none;

    a {
      padding: 3px 1.2em;
      font-weight: bold;
    }
  }
}

// Currently activated page or category a post it belongs to
.current { // li.current

  a {
    color: @link-color;
  }
}

// Titles wrapper
.wrapper {

  article { // Define them into .wrapper > article to avoid overriding site main header

    header {
      padding-bottom: (@space * 1.35);

      h1 {
        margin: 0 0 .1em;
        hyphens: auto;
        line-height: 1;

        // Override margin from article img
        img {
          margin-bottom: (@base-font-size * .6);
        }
      }

      h1 {
        .heading;
      }

      small {
        display: block;
        .sub-heading;
      }

      // Used on work page
      & + .txt > :first-child {
        margin-top: 0;
      }
    }
  }
}

// Animate latest work link
.latest {
  transition: color .3s ease;
}

body:hover .latest {
  color: @link-color !important;
}

// Pserson status
.status { // h2.status

  a {

    &:before {
      @size: 9px;
      display: inline-block;
      width: @size;
      height: @size;
      margin-right: @size;
      background: fade(@text-color, 20%);
      border-radius: 50%;
      content: "";
    }
  }
}

.available {

  a {
    color: @text-color;

    &:hover {
      color: fade(green, 80%);
    }

    &:before {
      background: fade(green, 60%);
    }
  }
}
.unavailable {

  a {
    color: fade(@text-color, 50%);

    &:hover {
      color: fade(red, 60%);
    }

    &:before {
      background: fade(red, 20%);
    }
  }
}

// Article wrapper
article {
  max-width: @wrapper-width;
  margin-bottom: (@space * 1.35);
  .cf; // For some specified posts in work category

  img, video, iframe {
    display: block;
    max-width: 100%;
    margin: 0 0 40px;
  }
}

// Basic staff inside article .txt
.txt {
  overflow: hidden;
  hyphens: auto;

  a {
    border-bottom: 1px dotted fade(@text-color, 30%); // Set larger value for invert color
  }

  p {
    margin: 0 0 1.1em;
    line-height: (@base-line-height * 1.2);
  }

  h3 {
    margin: @space 0 1.6em;
    .sub-heading;
  }

  ul, ol {
    margin: 0 0 1em 1.5em;

    li {
      line-height: (@base-line-height * 1.2);
    }
  }

  ol {
    margin-left: 1.75em;
  }

  blockquote {
    position: relative;
    padding-left: (@space * .75);
    font-style: italic;
    .cf;

    &:before {
      position: absolute;
      top: -16px;
      left: -8px;
      z-index: -1;
      font-family: @sans-serif;
      font-size: 120px;
      font-style: normal;
      line-height: 1;
      color: fade(@text-color, 70%);
      pointer-events: none;
      content: "\201c"; // http://www.fileformat.info/info/unicode/char/201c/index.htm
    }

    cite {
      float: right;
      margin: 0 0 2em;
      font-size: 85%;
      color: fade(@text-color, 80%);

      &:before {
        content: "\2500\2500\00a0" // http://www.fileformat.info/info/unicode/char/2500/index.htm
      }
    }
  }

  sup {
    font-size: 75%;
  }

  hr {
    margin: @space 0 1.6em;
    .sub-heading;

    &:before {
      content: attr(data-placeholder);
    }
  }

  abbr:after {
    content: " (" attr(title) ")";
  }

  code, pre {
    font-family: Menlo, monospace;
    color: #68a;
  }

  // Newsletter subscription form in page "store"
  form {

    label {
      display: block;
      margin-bottom: (@space * .1);
      .sub-heading;
    }

    input {
      display: block;
      width: 100%;
      padding: 7px 0;
      margin: 0 0 (@space * .2);
      // .sub-heading;
      border: none;
      border-bottom: 1px solid fade(@text-color, 20%);
      border-radius: 0; // Remove border-radius for ios devices
      outline: none;
      transition: padding .2s ease;
      -webkit-appearance: none; // Remove ios pre-defined style

      &:focus {
        padding: 7px;
        background: fade(@text-color, 2%);
        border-color: @text-color;
      }
    }
  }

  // Rest form validation styles, borrowed from Bootstrap
  input, textarea, select {

    &:focus:required:invalid {

      &:focus {
        background: fade(@link-color, 5%);
        border-color: @link-color;
        box-shadow: none; // Override Firefox default styles
      }
    }
  }

  // Remove extra space for the last element in the container
  & > :last-child {
    margin-bottom: 0;

    & > :last-child {
      margin-bottom: 0;

      & > :last-child {
        margin-bottom: 0;
      }
    }
  }
}

// Posts with Chinese characters
[lang=zh] {
  text-align: justify; // Workaround solution for post with chinese
}

// Fix empty space when a paragraph starts with some asian punctuation marks
.margin-fix:first-letter {
  margin-left: -.6em;
}

// Tweet button margin fix
.tweet {
  margin-top: @space;
}

// Button styles
.btn {
  display: inline-block;
  padding: 7px 20px 6px; // Spacing minor offset since I use uppercased type here
  .sub-heading;
  cursor: pointer;
  background: @text-color;
  outline: none;

  // Redefine overrides here to pass recess syntax check
  &:link, &:visited {
    color: @background-color;

    &:focus, &:hover {
      color: @background-color;
      background: @link-color;
    }
  }
}

// Broser frame for images in category "work"
.browser {
  position: relative;
  padding-top: 20px;
  margin: 0 0 40px !important;
  background: rgba(0, 0, 0, .05);
  border-radius: 5px 5px 0 0;

  &:before {
    position: absolute;
    top: 6px;
    left: 8px;
    display: block;
    width: 8px;
    height: 8px;
    background: rgba(0, 0, 0, .15);
    border-radius: 50%;
    content: "";
  }

  img {
    margin: 0;
    box-shadow: rgba(0, 0, 0, .05) 0 -1px 0 0;
  }
}

// Special paragraph with an icon
.note, .store, .download {
  @iconSize: 40px;
  padding-left: (@iconSize * 1.25);
  background-position: 0 0;
  background-repeat: no-repeat;
  background-size: @iconSize @iconSize;
}

.note     { background-image: url("data:image/svg+xml,<svg width='40' height='40' xmlns='http://www.w3.org/2000/svg'><path d='M27,0H4v40h32V9L27,0z M31,35H9V5h15l7,7V35z'/></svg>"); }
.store    { background-image: url("data:image/svg+xml,<svg width='40' height='40' xmlns='http://www.w3.org/2000/svg'><path d='M20,0C8.954,0,0,8.954,0,20s8.954,20,20,20s20-8.954,20-20S31.046,0,20,0z M5,20c0-7.806,5.964-14.214,13.583-14.929 v3.574c-3.852,0.757-6.083,3.24-6.083,6.407c0,3.492,2.627,5.292,6.479,6.588c2.664,0.899,3.816,1.764,3.816,3.131 c0,1.44-1.404,2.232-3.456,2.232c-2.34,0-4.463-0.756-5.975-1.584l-1.08,4.211c1.368,0.792,3.708,1.44,6.119,1.548v3.734 C10.87,34.115,5,27.744,5,20z M21.931,34.862v-3.936c4.14-0.72,6.407-3.455,6.407-6.659c0-3.239-1.729-5.219-6.012-6.73 c-3.059-1.152-4.319-1.908-4.319-3.096c0-1.008,0.756-2.016,3.095-2.016c2.592,0,4.247,0.827,5.184,1.224l1.044-4.067 c-1.188-0.576-2.808-1.08-5.22-1.188V5.166C29.393,6.194,35,12.434,35,20C35,27.629,29.301,33.912,21.931,34.862z'/></svg>"); }
.download { background-image: url("data:image/svg+xml,<svg width='40' height='40' xmlns='http://www.w3.org/2000/svg'><path d='M29.982,5.825c-0.469,0-0.922,0.074-1.375,0.142C26.867,2.87,23.65,0.808,20,0.808c-3.729,0-6.948,2.093-8.661,5.14 c-0.439-0.059-0.875-0.122-1.321-0.122C4.513,5.825,0,10.468,0,16c0,5.533,4.495,10,10,10h7v6h-5l8,8l8-8h-5v-6h7 c5.508,0,10-4.467,10-10C40,10.469,35.489,5.825,29.982,5.825z M30,21H10c-2.751,0-5-2.398-5-5.167c0-2.749,2.124-5.09,5.051-5.09 c1.73-0.001,2.464,0.587,3.394,1.203c0-1.807,2.229-6.122,6.555-6.122c2.496,0,3.952,2.242,4.441,2.735 c-1.945,1.957-2.845,4.457-2.412,7.752h0.691c0.573-2.291,2.455-5.557,7.279-5.557c2.749,0,5,2.311,5,5.078 C35,18.602,32.749,21,30,21z'/></svg>"); }

// Reference notes and links in post
.reflist {
  font-size: .9em;
  font-style: italic;
}

.cite, .ref {
  border-bottom: none !important;

  &:target {
    color: @link-color;
    text-shadow: 0 2px 15px @link-color;
  }
}

// Post list in "work" and "note"
.list { // ul.list
  list-style: none;

  li {
    margin: 0 0 (@space * .2);

    h2 {
      .heading;

      time {
        font-size: (@base-font-size * 1.5);
        color: fade(@text-color, 30%);
        opacity: 0;
        transition: opacity .5s ease;
      }

      time + a {
        line-height: 0; // An infinite symbol next to the post date, need line-height: 0 to make vertical-align work
        vertical-align: 3px;
      }

      span {
        display: inline-block;
        width: .5em;
        text-align: center;
      }
    }

    h2 {
      font-size: (@base-font-size * 2);
      line-height: 1;
    }

    .txt {
      margin: (@space / 5) 0 @space;
    }

    &:hover,
    &:focus {

      h2 {

        time {
          opacity: 1;
          transition: opacity .1s ease;
        }
      }
    }
  }

  &:last-child {

    li:last-child {
      margin-bottom: 0;
    }
  }
}

.footer {
  .sub-heading;

  & {
    font-size: (@base-font-size / 2 - 1px);
  }
}

// FlexSlider Necessary Styles
.flexslider {

  // Slides
  ul {
    margin: 0;
    list-style: none;
  }

  li {
    display: none;
    cursor: pointer;
    backface-visibility: hidden; // Hide the slides before the JS is loaded, this avoids image flashing

    &:first-child {
      display: block; // Display the first image when scripts are not ready
    }

    .flex-caption {
      margin: -30px 0 30px;
      .sub-heading;
    }
  }
}

// FlexSlider - No JavaScript fallback
.no-js .flexslider ul li:first-child { display: block; }

// Media query stack
@media (max-width: 640px) {
  body {
    padding-left: 4%;
    padding-right: 4%;
    font-size: (@base-font-size * 0.8);
  }

  .wrapper {

    article {

      header {

        h1 {
          font-size: (@base-font-size * 2.4);
        }
      }

      .txt {

        blockquote {
          padding-left: 32.5px;

          &:before {
            top: -2px;
            left: 0px;
            font-size: 60px;
          }
        }
      }
    }
  }

  .list {

    li {

      h2 {
        font-size: (@base-font-size * 1.5);

        time {
          opacity: 1;
          font-size: (@base-font-size * 1.2);
        }
      }
    }
  }
}

@media (max-width: 480px) {
  .navigation li {
    display: block;

    a {
      display: block;
      padding-top: 1em;
      padding-bottom: 1em;
    }
  }
}

// All iOS devices, the easiest way
@media (max-device-width: 480px), (max-device-width: 1024px) {
  .wrapper {
    -webkit-text-size-adjust: none;
  }
}

// Global variables
@space: 70px;
@wrapper-width: 750px;
@base-font-size: 24px;
@base-line-height: (20 / 14); // ~ 1.428571429
@link-color: #a212d1;
@background-color: #fff;
@text-color: #000;
@sans-serif: "Helvetica Neue", Arial, "Hiragino Sans GB", sans-serif;
@serif: Georgia, "Hiragino Mincho ProN", serif;

// Invert color switcher for images and videos
// :root { filter: invert(100%); }

.heading {
  font-family: @sans-serif;
  font-size: (@base-font-size * 10/3);
  -webkit-font-smoothing: antialiased;
  font-weight: bold;
  letter-spacing: -.06em;
}

.sub-heading {
  font-family: @sans-serif;
  font-size: (@base-font-size / 2);
  font-weight: normal;
  line-height: (@base-line-height * .9);
  letter-spacing: .45em;
  color: fade(@text-color, 20%);
  text-transform: uppercase;
}

// http://nicolasgallagher.com/micro-clearfix-hack/
//
// For modern browsers
// 1. The use of `table` rather than `block` is only necessary if using `:before` to contain the top-margins of child elements.
// 2. The original space content hack is removed here. No need to support Opera on my personal site.
.cf {

  &:before, &:after {
    display: table; // 1
    content: ""; // 2
  }

  &:after {
    clear: both;
  }
}

// Basic reset
*,
*:before,
*:after {
  padding: 0;
  margin: 0;
  box-sizing: border-box;
}

body {
  padding: 0 8% (@space * 1.5);
  margin: 0 auto 0;
  font-family: @sans-serif;
  font-size: @base-font-size;
  line-height: @base-line-height;
  color: @text-color;
  text-rendering: optimizelegibility;
  background: @background-color;
  image-rendering: optimizequality;

  // A semitranslucent bar at the top of the page
  &:before {
    position: absolute;
    top: 0;
    left: 0;
    z-index: -9999;
    width: 100%;
    height: 8px;
    pointer-events: none;
    background: @link-color;
    content: "";
    opacity: .2;
  }
}

// Reset fonts for relevant elements
input,
button,
select,
textarea {
  font-family: inherit;
  font-size: inherit;
  line-height: inherit;
}

// Reset unusual Firefox-on-Android default style.
//
// See https://github.com/necolas/normalize.css/issues/214
button,
input,
select[multiple],
textarea {
  background-image: none;
}

// Global fixed width wrapper
.wrapper {
  max-width: 860px;
  margin: 0 auto;
}

a, button {

  &:link, &:visited {
    color: @text-color;
    text-decoration: none;
    transition: color .5s ease, border-color .5s ease, background-color .5s ease, opacity 1.5s ease;

    &:focus, &:hover {
      color: @link-color;
      transition: color .1s ease, border-color .1s ease, background-color .1s ease, opacity .1s ease;
    }
  }
}

img, hr {
  border: 0;
}

del {
  text-decoration: line-through;
}

::selection {
  color: @link-color;
  background: fade(@text-color, 2%);
}

// Main site logo
.logo {
  display: block;
  width: 100%;
  height: 8px;
  margin: 0 0 (@space / 5);
  text-indent: -9999em;
  background: @link-color;

  &:hover {
    background: @text-color;
  }
}

// Global navigations font styles
nav {
  .sub-heading;
}

// Main navigation
.navigation { // nav.navigation
  margin: 0 0 (@space * 1.5);
  margin-right: -1.1em;
  margin-left: -1.1em;
  .cf;

  li {
    display: inline-block;
    line-height: 2;
    list-style: none;

    a {
      padding: 3px 1.2em;
      font-weight: bold;
    }
  }
}

// Currently activated page or category a post it belongs to
.current { // li.current

  a {
    color: @link-color;
  }
}

// Titles wrapper
.wrapper {

  article { // Define them into .wrapper > article to avoid overriding site main header

    header {
      padding-bottom: (@space * 1.35);

      h1 {
        margin: 0 0 .1em;
        hyphens: auto;
        line-height: 1;

        // Override margin from article img
        img {
          margin-bottom: (@base-font-size * .6);
        }
      }

      h1 {
        .heading;
      }

      small {
        display: block;
        .sub-heading;
      }

      // Used on work page
      & + .txt > :first-child {
        margin-top: 0;
      }
    }
  }
}

// Animate latest work link
.latest {
  transition: color .3s ease;
}

:root:hover .latest {
  color: @link-color !important;
}

// Pserson status
.status { // h2.status

  a {

    &:before {
      @size: 9px;
      display: inline-block;
      width: @size;
      height: @size;
      margin-right: @size;
      background: fade(@text-color, 20%);
      border-radius: 50%;
      content: "";
    }
  }
}

.available {

  a {
    color: @text-color;

    &:hover {
      color: fade(green, 80%);
    }

    &:before {
      background: fade(green, 60%);
    }
  }
}
.unavailable {

  a {
    color: fade(@text-color, 50%);

    &:hover {
      color: fade(red, 60%);
    }

    &:before {
      background: fade(red, 20%);
    }
  }
}

// Article wrapper
article {
  max-width: @wrapper-width;
  margin-bottom: (@space * 1.35);
  .cf; // For some specified posts in work category

  img, video, iframe {
    display: block;
    max-width: 100%;
    margin: 0 0 40px;
  }
}

// Basic staff inside article .txt
.txt {
  overflow: hidden;
  hyphens: auto;

  a {
    border-bottom: 1px dotted fade(@text-color, 30%); // Set larger value for invert color
  }

  p {
    margin: 0 0 1.1em;
    line-height: (@base-line-height * 1.2);
  }

  h3 {
    margin: @space 0 1.6em;
    .sub-heading;
  }

  ul, ol {
    margin: 0 0 1em 1.5em;

    li {
      line-height: (@base-line-height * 1.2);
    }
  }

  ol {
    margin-left: 1.75em;
  }

  blockquote {
    position: relative;
    padding-left: (@space * .75);
    font-style: italic;
    .cf;

    &:before {
      position: absolute;
      top: -16px;
      left: -8px;
      z-index: -1;
      font-family: @sans-serif;
      font-size: 120px;
      font-style: normal;
      line-height: 1;
      color: fade(@text-color, 70%);
      pointer-events: none;
      content: "\201c"; // http://www.fileformat.info/info/unicode/char/201c/index.htm
    }

    cite {
      float: right;
      margin: 0 0 2em;
      font-size: 85%;
      color: fade(@text-color, 80%);

      &:before {
        content: "\2500\2500\00a0" // http://www.fileformat.info/info/unicode/char/2500/index.htm
      }
    }
  }

  sup {
    font-size: 75%;
  }

  hr {
    margin: @space 0 1.6em;
    .sub-heading;

    &:before {
      content: attr(data-placeholder);
    }
  }

  abbr:after {
    content: " (" attr(title) ")";
  }

  code, pre {
    font-family: Menlo, monospace;
    color: #68a;
  }

  // Newsletter subscription form in page "store"
  form {

    label {
      display: block;
      margin-bottom: (@space * .1);
      .sub-heading;
    }

    input {
      display: block;
      width: 100%;
      padding: 7px 0;
      margin: 0 0 (@space * .2);
      // .sub-heading;
      border: none;
      border-bottom: 1px solid fade(@text-color, 20%);
      border-radius: 0; // Remove border-radius for ios devices
      outline: none;
      transition: padding .2s ease;
      -webkit-appearance: none; // Remove ios pre-defined style

      &:focus {
        padding: 7px;
        background: fade(@text-color, 2%);
        border-color: @text-color;
      }
    }
  }

  // Rest form validation styles, borrowed from Bootstrap
  input, textarea, select {

    &:focus:required:invalid {

      &:focus {
        background: fade(@link-color, 5%);
        border-color: @link-color;
        box-shadow: none; // Override Firefox default styles
      }
    }
  }

  // Remove extra space for the last element in the container
  & > :last-child {
    margin-bottom: 0;

    & > :last-child {
      margin-bottom: 0;

      & > :last-child {
        margin-bottom: 0;
      }
    }
  }
}

// Posts with Chinese characters
[lang=zh] {
  text-align: justify; // Workaround solution for post with chinese
}

// Fix empty space when a paragraph starts with some asian punctuation marks
.margin-fix:first-letter {
  margin-left: -.6em;
}

// Tweet button margin fix
.tweet {
  margin-top: @space;
}

// Button styles
.btn {
  display: inline-block;
  padding: 7px 20px 6px; // Spacing minor offset since I use uppercased type here
  .sub-heading;
  cursor: pointer;
  background: @text-color;
  outline: none;

  // Redefine overrides here to pass recess syntax check
  &:link, &:visited {
    color: @background-color;

    &:focus, &:hover {
      color: @background-color;
      background: @link-color;
    }
  }
}

// Broser frame for images in category "work"
.browser {
  position: relative;
  padding-top: 20px;
  margin: 0 0 40px !important;
  background: rgba(0, 0, 0, .05);
  border-radius: 5px 5px 0 0;

  &:before {
    position: absolute;
    top: 6px;
    left: 8px;
    display: block;
    width: 8px;
    height: 8px;
    background: rgba(0, 0, 0, .15);
    border-radius: 50%;
    content: "";
  }

  img {
    margin: 0;
    box-shadow: rgba(0, 0, 0, .05) 0 -1px 0 0;
  }
}

// Special paragraph with an icon
.note, .store, .download {
  @iconSize: 40px;
  padding-left: (@iconSize * 1.25);
  background-position: 0 0;
  background-repeat: no-repeat;
  background-size: @iconSize @iconSize;
}

.note     { background-image: url("data:image/svg+xml,<svg width='40' height='40' xmlns='http://www.w3.org/2000/svg'><path d='M27,0H4v40h32V9L27,0z M31,35H9V5h15l7,7V35z'/></svg>"); }
.store    { background-image: url("data:image/svg+xml,<svg width='40' height='40' xmlns='http://www.w3.org/2000/svg'><path d='M20,0C8.954,0,0,8.954,0,20s8.954,20,20,20s20-8.954,20-20S31.046,0,20,0z M5,20c0-7.806,5.964-14.214,13.583-14.929 v3.574c-3.852,0.757-6.083,3.24-6.083,6.407c0,3.492,2.627,5.292,6.479,6.588c2.664,0.899,3.816,1.764,3.816,3.131 c0,1.44-1.404,2.232-3.456,2.232c-2.34,0-4.463-0.756-5.975-1.584l-1.08,4.211c1.368,0.792,3.708,1.44,6.119,1.548v3.734 C10.87,34.115,5,27.744,5,20z M21.931,34.862v-3.936c4.14-0.72,6.407-3.455,6.407-6.659c0-3.239-1.729-5.219-6.012-6.73 c-3.059-1.152-4.319-1.908-4.319-3.096c0-1.008,0.756-2.016,3.095-2.016c2.592,0,4.247,0.827,5.184,1.224l1.044-4.067 c-1.188-0.576-2.808-1.08-5.22-1.188V5.166C29.393,6.194,35,12.434,35,20C35,27.629,29.301,33.912,21.931,34.862z'/></svg>"); }
.download { background-image: url("data:image/svg+xml,<svg width='40' height='40' xmlns='http://www.w3.org/2000/svg'><path d='M29.982,5.825c-0.469,0-0.922,0.074-1.375,0.142C26.867,2.87,23.65,0.808,20,0.808c-3.729,0-6.948,2.093-8.661,5.14 c-0.439-0.059-0.875-0.122-1.321-0.122C4.513,5.825,0,10.468,0,16c0,5.533,4.495,10,10,10h7v6h-5l8,8l8-8h-5v-6h7 c5.508,0,10-4.467,10-10C40,10.469,35.489,5.825,29.982,5.825z M30,21H10c-2.751,0-5-2.398-5-5.167c0-2.749,2.124-5.09,5.051-5.09 c1.73-0.001,2.464,0.587,3.394,1.203c0-1.807,2.229-6.122,6.555-6.122c2.496,0,3.952,2.242,4.441,2.735 c-1.945,1.957-2.845,4.457-2.412,7.752h0.691c0.573-2.291,2.455-5.557,7.279-5.557c2.749,0,5,2.311,5,5.078 C35,18.602,32.749,21,30,21z'/></svg>"); }

// Reference notes and links in post
.reflist {
  font-size: .9em;
  font-style: italic;
}

.cite, .ref {
  border-bottom: none !important;

  &:target {
    color: @link-color;
    text-shadow: 0 2px 15px @link-color;
  }
}

// Post list in "work" and "note"
.list { // ul.list
  list-style: none;

  li {
    margin: 0 0 (@space * .2);

    h2 {
      .heading;

      time {
        font-size: (@base-font-size * 1.5);
        color: fade(@text-color, 30%);
        opacity: 0;
        transition: opacity .5s ease;
      }

      time + a {
        line-height: 0; // An infinite symbol next to the post date, need line-height: 0 to make vertical-align work
        vertical-align: 3px;
      }

      span {
        display: inline-block;
        width: .5em;
        text-align: center;
      }
    }

    h2 {
      font-size: (@base-font-size * 2);
      line-height: 1;
    }

    .txt {
      margin: (@space / 5) 0 @space;
    }

    &:hover,
    &:focus {

      h2 {

        time {
          opacity: 1;
          transition: opacity .1s ease;
        }
      }
    }
  }

  &:last-child {

    li:last-child {
      margin-bottom: 0;
    }
  }
}

.footer {
  .sub-heading;

  & {
    font-size: (@base-font-size / 2 - 1px);
  }
}

// FlexSlider Necessary Styles
.flexslider {

  // Slides
  ul {
    margin: 0;
    list-style: none;
  }

  li {
    display: none;
    cursor: pointer;
    backface-visibility: hidden; // Hide the slides before the JS is loaded, this avoids image flashing

    &:first-child {
      display: block; // Display the first image when scripts are not ready
    }

    .flex-caption {
      margin: -30px 0 30px;
      .sub-heading;
    }
  }
}

// FlexSlider - No JavaScript fallback
.no-js .flexslider ul li:first-child { display: block; }

// Media query stack
@media (max-width: 640px) {
  body {
    padding-left: 4%;
    padding-right: 4%;
    font-size: (@base-font-size * 0.8);
  }

  .wrapper {

    article {

      header {

        h1 {
          font-size: (@base-font-size * 2.4);
        }
      }

      .txt {

        blockquote {
          padding-left: 32.5px;

          &:before {
            top: -2px;
            left: 0px;
            font-size: 60px;
          }
        }
      }
    }
  }

  .list {

    li {

      h2 {
        font-size: (@base-font-size * 1.5);

        time {
          opacity: 1;
          font-size: (@base-font-size * 1.2);
        }
      }
    }
  }
}

@media (max-width: 480px) {
  .navigation li {
    display: block;

    a {
      display: block;
      padding-top: 1em;
      padding-bottom: 1em;
    }
  }
}

// All iOS devices, the easiest way
@media (max-device-width: 480px), (max-device-width: 1024px) {
  .wrapper {
    -webkit-text-size-adjust: none;
  }
}


Fix font URLs

Fix font URLs

.fonts(@fontpath:'../fonts') {
  @font-face {
    font-family: 'MetaBold';
    src: url('@{fontpath}/MetaWebPro-Bold.eot'); /* IE9 Compat Modes */
    src: url('@{fontpath}/MetaWebPro-Bold.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
    url('@{fontpath}/MetaWebPro-Bold.woff') format('woff'), /* Modern Browsers */
    url('@{fontpath}/MetaWebPro-Bold.ttf')  format('truetype'), /* Safari, Android, iOS */
    url('@{fontpath}/MetaWebPro-Bold.svg#svgFontName') format('svg'); /* Legacy iOS */
  }

  @font-face {
    font-family: 'MetaMedium';
    src: url('@{fontpath}/MetaWebPro-Medium.eot'); /* IE9 Compat Modes */
    src: url('@{fontpath}/MetaWebPro-Medium.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
    url('@{fontpath}/MetaWebPro-Medium.woff') format('woff'), /* Modern Browsers */
    url('@{fontpath}/MetaWebPro-Medium.ttf')  format('truetype'), /* Safari, Android, iOS */
    url('@{fontpath}/MetaWebPro-Medium.svg#svgFontName') format('svg'); /* Legacy iOS */
  }

  @font-face {
    font-family: 'Moz';
    src: url('@{fontpath}/Moz-Regular-webfont.eot'); /* IE9 Compat Modes */
    src: url('@{fontpath}/Moz-Regular-webfont.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
    url('@{fontpath}/Moz-Regular-webfont.woff') format('woff'), /* Modern Browsers */
    url('@{fontpath}/Moz-Regular-webfont.ttf')  format('truetype'), /* Safari, Android, iOS */
    url('@{fontpath}/Moz-Regular-webfont.svg#svgFontName') format('svg'); /* Legacy iOS */
  }

  @font-face {
    font-family: 'Moz';
    font-weight: bold;
    src: url('@{fontpath}/Moz-Medium-webfont.eot'); /* IE9 Compat Modes */
    src: url('@{fontpath}/Moz-Medium-webfont.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
    url('@{fontpath}/Moz-Medium-webfont.woff') format('woff'), /* Modern Browsers */
    url('@{fontpath}/Moz-Medium-webfont.ttf')  format('truetype'), /* Safari, Android, iOS */
    url('@{fontpath}/Moz-Medium-webfont.svg#svgFontName') format('svg'); /* Legacy iOS */
  }
}

@font-face {
  font-family: 'OpenSans';
  src: url('//www.mozilla.org/img/fonts/OpenSans-Regular-webfont.eot'); /* IE9 Compat Modes */
  src: url('//www.mozilla.org/img/fonts/OpenSans-Regular-webfont.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
  url('//www.mozilla.org/img/fonts/OpenSans-Regular-webfont.woff') format('woff'), /* Modern Browsers */
  url('//www.mozilla.org/img/fonts/OpenSans-Regular-webfont.ttf')  format('truetype'), /* Safari, Android, iOS */
  url('//www.mozilla.org/img/fonts/OpenSans-Regular-webfont.svg#svgFontName') format('svg'); /* Legacy iOS */
}

@font-face {
  font-family: 'OpenSans';
  font-weight: 600;
  src: url('//www.mozilla.org/img/fonts/OpenSans-Semibold-webfont.eot'); /* IE9 Compat Modes */
  src: url('//www.mozilla.org/img/fonts/OpenSans-Semibold-webfont.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
  url('//www.mozilla.org/img/fonts/OpenSans-Semibold-webfont.woff') format('woff'), /* Modern Browsers */
  url('//www.mozilla.org/img/fonts/OpenSans-Semibold-webfont.ttf')  format('truetype'), /* Safari, Android, iOS */
  url('//www.mozilla.org/img/fonts/OpenSans-Semibold-webfont.svg#svgFontName') format('svg'); /* Legacy iOS */
}

@font-face {
  font-family: 'OpenSans';
  font-weight: bold;
  src: url('//www.mozilla.org/img/fonts/OpenSans-Bold-webfont.eot'); /* IE9 Compat Modes */
  src: url('//www.mozilla.org/img/fonts/OpenSans-Bold-webfont.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
  url('//www.mozilla.org/img/fonts/OpenSans-Bold-webfont.woff') format('woff'), /* Modern Browsers */
  url('//www.mozilla.org/img/fonts/OpenSans-Bold-webfont.ttf')  format('truetype'), /* Safari, Android, iOS */
  url('//www.mozilla.org/img/fonts/OpenSans-Bold-webfont.svg#svgFontName') format('svg'); /* Legacy iOS */
}

@font-face {
  font-family: 'OpenSansLight';
  src: url('//www.mozilla.org/img/fonts/OpenSans-Light-webfont.eot'); /* IE9 Compat Modes */
  src: url('//www.mozilla.org/img/fonts/OpenSans-Light-webfont.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
  url('//www.mozilla.org/img/fonts/OpenSans-Light-webfont.woff') format('woff'), /* Modern Browsers */
  url('//www.mozilla.org/img/fonts/OpenSans-Light-webfont.ttf')  format('truetype'), /* Safari, Android, iOS */
  url('//www.mozilla.org/img/fonts/OpenSans-Light-webfont.svg#svgFontName') format('svg'); /* Legacy iOS */
}

.fonts(@fontpath:'../fonts') {
  @font-face {
    font-family: 'MetaBold';
    src: url('@{fontpath}/MetaWebPro-Bold.eot'); /* IE9 Compat Modes */
    src: url('@{fontpath}/MetaWebPro-Bold.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
    url('@{fontpath}/MetaWebPro-Bold.woff') format('woff'), /* Modern Browsers */
    url('@{fontpath}/MetaWebPro-Bold.ttf')  format('truetype'), /* Safari, Android, iOS */
    url('@{fontpath}/MetaWebPro-Bold.svg#svgFontName') format('svg'); /* Legacy iOS */
  }

  @font-face {
    font-family: 'MetaMedium';
    src: url('@{fontpath}/MetaWebPro-Medium.eot'); /* IE9 Compat Modes */
    src: url('@{fontpath}/MetaWebPro-Medium.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
    url('@{fontpath}/MetaWebPro-Medium.woff') format('woff'), /* Modern Browsers */
    url('@{fontpath}/MetaWebPro-Medium.ttf')  format('truetype'), /* Safari, Android, iOS */
    url('@{fontpath}/MetaWebPro-Medium.svg#svgFontName') format('svg'); /* Legacy iOS */
  }

  @font-face {
    font-family: 'Moz';
    src: url('@{fontpath}/Moz-Regular-webfont.eot'); /* IE9 Compat Modes */
    src: url('@{fontpath}/Moz-Regular-webfont.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
    url('@{fontpath}/Moz-Regular-webfont.woff') format('woff'), /* Modern Browsers */
    url('@{fontpath}/Moz-Regular-webfont.ttf')  format('truetype'), /* Safari, Android, iOS */
    url('@{fontpath}/Moz-Regular-webfont.svg#svgFontName') format('svg'); /* Legacy iOS */
  }

  @font-face {
    font-family: 'Moz';
    font-weight: bold;
    src: url('@{fontpath}/Moz-Medium-webfont.eot'); /* IE9 Compat Modes */
    src: url('@{fontpath}/Moz-Medium-webfont.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
    url('@{fontpath}/Moz-Medium-webfont.woff') format('woff'), /* Modern Browsers */
    url('@{fontpath}/Moz-Medium-webfont.ttf')  format('truetype'), /* Safari, Android, iOS */
    url('@{fontpath}/Moz-Medium-webfont.svg#svgFontName') format('svg'); /* Legacy iOS */
  }

  /* These fonts are available on mozilla.org so use them */
  @fontpath: '//www.mozilla.org/img/fonts';

  @font-face {
    font-family: 'OpenSans';
    src: url('@{fontpath}/OpenSans-Regular-webfont.eot'); /* IE9 Compat Modes */
    src: url('@{fontpath}/OpenSans-Regular-webfont.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
    url('@{fontpath}/OpenSans-Regular-webfont.woff') format('woff'), /* Modern Browsers */
    url('@{fontpath}/OpenSans-Regular-webfont.ttf')  format('truetype'), /* Safari, Android, iOS */
    url('@{fontpath}/OpenSans-Regular-webfont.svg#svgFontName') format('svg'); /* Legacy iOS */
  }

  @font-face {
    font-family: 'OpenSans';
    font-weight: 600;
    src: url('@{fontpath}/OpenSans-Semibold-webfont.eot'); /* IE9 Compat Modes */
    src: url('@{fontpath}/OpenSans-Semibold-webfont.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
    url('@{fontpath}/OpenSans-Semibold-webfont.woff') format('woff'), /* Modern Browsers */
    url('@{fontpath}/OpenSans-Semibold-webfont.ttf')  format('truetype'), /* Safari, Android, iOS */
    url('@{fontpath}/OpenSans-Semibold-webfont.svg#svgFontName') format('svg'); /* Legacy iOS */
  }

  @font-face {
    font-family: 'OpenSans';
    font-weight: bold;
    src: url('@{fontpath}/OpenSans-Bold-webfont.eot'); /* IE9 Compat Modes */
    src: url('@{fontpath}/OpenSans-Bold-webfont.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
    url('@{fontpath}/OpenSans-Bold-webfont.woff') format('woff'), /* Modern Browsers */
    url('@{fontpath}/OpenSans-Bold-webfont.ttf')  format('truetype'), /* Safari, Android, iOS */
    url('@{fontpath}/OpenSans-Bold-webfont.svg#svgFontName') format('svg'); /* Legacy iOS */
  }

  @font-face {
    font-family: 'OpenSansLight';
    src: url('@{fontpath}/OpenSans-Light-webfont.eot'); /* IE9 Compat Modes */
    src: url('@{fontpath}/OpenSans-Light-webfont.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
    url('@{fontpath}/OpenSans-Light-webfont.woff') format('woff'), /* Modern Browsers */
    url('@{fontpath}/OpenSans-Light-webfont.ttf')  format('truetype'), /* Safari, Android, iOS */
    url('@{fontpath}/OpenSans-Light-webfont.svg#svgFontName') format('svg'); /* Legacy iOS */
  }
}


Update style.less

Update style.less

remote: Support for password authentication was removed on August 13, 2021.
remote: Please see https://docs.github.com/en/get-started/getting-started-with-git/about-remote-repositories#cloning-with-https-urls for information on currently recommended modes of authentication.
fatal: Authentication failed for 'https://github.com/gilt/tech-blog.git/'


Import all kb's less files

Import all kb's less files

remote: Support for password authentication was removed on August 13, 2021.
remote: Please see https://docs.github.com/en/get-started/getting-started-with-git/about-remote-repositories#cloning-with-https-urls for information on currently recommended modes of authentication.
fatal: Authentication failed for 'https://github.com/Det-Kongelige-Bibliotek/rex.git/'


Menu - "in development" color fixed for active item

remote: Support for password authentication was removed on August 13, 2021.
remote: Please see https://docs.github.com/en/get-started/getting-started-with-git/about-remote-repositories#cloning-with-https-urls for information on currently recommended modes of authentication.
fatal: Authentication failed for 'https://github.com/LUI-3/website.git/'


fix(style): remove heading hyphens support

This causes weird appearance for large typography

// Global variables
@base-font-size: 2vw;
@base-line-height: (20 / 14); // ~ 1.428571429
@link-color: #a212d1;
@background-color: #fff;
@text-color: #000;
@sans-serif: "Helvetica Neue", Arial, "Hiragino Sans GB", sans-serif;
@serif: Georgia, "Hiragino Mincho ProN", serif;
@monospace: Menlo, monospace;

// Invert color switcher for images and videos
// :root { filter: invert(100%); }

// http://nicolasgallagher.com/micro-clearfix-hack/
.cf {

  &:before, &:after {
    display: table;
    content: "";
  }

  &:after {
    clear: both;
  }
}

// Basic reset
*,
*:before,
*:after {
  padding: 0;
  margin: 0;
  box-sizing: border-box;
}

body {
  padding: 0 16%;
  margin: 0 auto 0;
  font-family: @sans-serif;
  font-size: @base-font-size;
  line-height: @base-line-height;
  color: @text-color;
  text-rendering: optimizelegibility;
  background: @background-color;
  image-rendering: optimizequality;

  // A semitranslucent bar at the top of the page
  &:before {
    position: absolute;
    top: 0;
    left: 0;
    z-index: -9999;
    width: 100%;
    height: 1vmax;
    pointer-events: none;
    background: @link-color;
    content: "";
    opacity: .2;
  }
}

// Essential mixins
.heading {
  font-family: @sans-serif;
  font-size: 330%;
  -webkit-font-smoothing: antialiased;
  font-weight: bold;
  letter-spacing: -.06em;
}

.sub-heading {
  font-family: @sans-serif;
  font-size: 72%;
  font-weight: normal;
  letter-spacing: .08em;
  opacity: .5;
}

// Reset fonts for relevant elements
input,
button,
select,
textarea {
  font-family: inherit;
  font-size: inherit;
  line-height: inherit;
}

// Reset unusual Firefox-on-Android default style.
// See https://github.com/necolas/normalize.css/issues/214
button,
input,
select[multiple],
textarea {
  background-image: none;
}

// Reset common elements
a, button {
  color: @text-color;
  text-decoration: none;
  transition: color .5s ease, border-color .5s ease, background .5s ease, opacity 1.5s ease;

  &:hover,
  &:focus {
    border-bottom: .1em solid;
    transition: color .1s ease, border-color .1s ease, background .1s ease, opacity .1s ease;
  }
}

img, hr {
  border: 0;
}

del {
  text-decoration: line-through;
}

::selection {
  color: @link-color;
  background: fade(@text-color, 2%);
}

// Site logo
.logo {
  display: block;
  width: 100%;
  height: 1vmax;
  margin: 0 0 1.4vmax;
  background: @link-color;
  opacity: 0;

  &:hover,
  &:focus {
    border-bottom: none !important;
    background: @text-color;
  }

  h1 {
    height: 0;
    text-indent: -99999em;
  }
}

body:hover .logo {
  opacity: 1 !important;
}

// Main navigation
.navigation {
  margin: 0 0 16vmin;
  margin-right: -1.1em;
  margin-left: -1.1em;
  font-size: 50%;
  font-weight: bold;
  letter-spacing: .45em;
  text-transform: uppercase;

  li {
    display: inline-block;
    line-height: 2;
    list-style: none;

    a {
      padding: .5em 1.2em;

      &:hover,
      &:focus {
        color: @link-color;
        border: none;
      }
    }
  }
}

// Currently activated page or category class
.current {

  a {
    color: @link-color;
  }
}

// Latest work link
body:hover .latest {
  color: @link-color !important;
}

// Pserson status
.content .status {
  margin: 1vmin 0 0;
  font-size: 75%;
  font-weight: bold;

  &:before {
    @size: .8em;
    display: inline-block;
    width: @size;
    height: @size;
    margin-right: .8vw;
    background: fade(@text-color, 20%);
    border-radius: 50%;
    content: "";
  }

  &.available {

    &:before {
      background: #0cf;
    }

    a {
      color: #0cf;
    }
  }

  &.unavailable {

    &:before {
      background: #f30;
    }

    a {
      color: #f30;
    }
  }
}

// Main content
.content {
  margin-bottom: 16vmin;
  hyphens: auto;
  // For some specified posts in work category
  .cf;

  // Remove extra space for the last paragraph in the container
  article {

    // article > p
    > *:last-child {
      margin-bottom: 0 !important;

      // article > ul > li, article > .footnotes > ol
      > *:last-child {
        margin-bottom: 0 !important;

        // article > ul > li > p, article > .footnotes > ol > li
        > *:last-child {
          margin-bottom: 0 !important;

          // article > .footnotes > ol > li > p
          > *:last-child {
            margin-bottom: 0 !important;
          }
        }
      }
    }
  }

  a {
    font-weight: bold;
  }

  p {
    margin: 0 0 1.1em;
    line-height: (@base-line-height * 1.2);
  }

  header {
    padding-bottom: 16vmin;

    h2 {
      margin: 0 0 .1em;
      .heading;
      hyphens: none;
      line-height: 1.1;

      svg {
        display: block;
        max-width: 100%;
      }

      // Override margin from article img
      svg,
      img {
        margin-bottom: .3em;
      }
    }

    .latest-post {
      margin-top: 16vmin;
      font-size: 80%;
      font-weight: normal;
      line-height: 1.2;

      a {
        font-weight: bold;
      }
    }

    small {
      display: block;
      margin: 2vmin 0 0;
      letter-spacing: .1em;
    }

    // Used on work page
    & + * {
      margin-top: 0 !important;
    }
  }

  h3, h4, h5, h6 {
    margin: 10vmin 0 1rem;
    .sub-heading;
  }

  ul, ol {
    margin: 0 0 1em 1.5em;

    li {
      line-height: (@base-line-height * 1.2);

      > ul {
        margin-bottom: 0;
      }
    }
  }

  ol {
    margin-left: 1.75em;
  }

  img, video, iframe {
    display: block;
    max-width: 100%;
    margin: 0 0 4vmin;
  }

  blockquote {
    position: relative;
    margin-bottom: 2em;

    > p {
      padding-left: .8em;
      border-left: 2px solid;
    }

    footer {
      .cf;
    }

    cite {
      float: right;
      font-size: 90%;
      font-style: normal;

      &:before {
        // http://www.fileformat.info/info/unicode/char/2500/index.htm
        content: "\2500\2500\00a0"
      }
    }
  }

  sup {
    font-size: 75%;
  }

  abbr:after {
    content: " (" attr(title) ")";
  }

  code, pre {
    font-family: @monospace;
    color: #68a;
  }

  pre {
    padding: 1em;
    margin: 0 0 1em;
    overflow-x: scroll;
    font-size: 90%;
    line-height: (@base-line-height * 1.2);
    background: fade(#08f, 4%);
  }

  // Newsletter subscription form in page "store"
  form {

    input {
      display: block;
      width: 100%;
      padding: 1vmin 0;
      margin: 0 0 1vmin;
      border: none;
      border-bottom: 1px solid fade(@text-color, 20%);
      // Remove border-radius for iOS devices
      border-radius: 0;
      outline: none;
      transition: padding .2s ease;
      // Remove iOS pre-defined style
      -webkit-appearance: none;

      &:focus {
        padding: 1vmin;
        background: fade(@text-color, 2%);
        border-color: @text-color;
      }
    }
  }

  // Rest form validation styles, borrowed from Bootstrap
  input, textarea, select {

    &:focus:required:invalid {

      &:focus {
        background: fade(@link-color, 5%);
        border-color: @link-color;
        // Override Firefox default styles
        box-shadow: none;
      }
    }
  }

  table {
    border-collapse: collapse;
    border-spacing: 0;
    font-size: 90%;
    width: 100%;

    th,
    td {
      padding: .6em;
    }

    th {
      border-bottom: 2px solid fade(@text-color, 6%);
      text-align: left;
    }

    td {
      border-top: 1px solid fade(@text-color, 4%);
    }
  }
}

// Posts with Asian characters
[lang=zh],
[lang=ja] {
  text-align: justify;
}

// Fix empty space when a paragraph starts with some asian punctuation marks
.margin-fix:first-letter {
  margin-left: -.6em;
}

// Tweet button margin fix
.tweet {
  margin-top: 10vmin;
}

// Largetype styles (replaces button styles)
.largetype {
  .heading;
  font-size: 200%;
}

// Broser frame for images in category "work"
.browser {
  position: relative;
  padding-top: 24px;
  margin: 0 0 4vmin !important;
  background: rgba(255, 255, 255, .1);
  border-radius: 5px 5px 0 0;
  box-shadow: 0 0 0 1px rgba(0, 0, 0, .05);

  &:before {
    position: absolute;
    top: 8px;
    left: 10px;
    display: block;
    width: 8px;
    height: 8px;
    background: lighten(#f24e59, 30%);
    border-radius: 50%;
    content: "";
    box-shadow:
        16px 0 0 0   fade(lighten(#fac536, 30%), 96%)
      , 32px 0 0 0   fade(lighten(#26e93d, 30%), 96%)
      ,  0px 0 0 1px fade(darken(#f24e59, 30%), 30%)
      , 16px 0 0 1px fade(darken(#fac536, 30%), 30%)
      , 32px 0 0 1px fade(darken(#26e93d, 30%), 30%)
    ;
  }

  img {
    margin: 0;
    box-shadow: 0 -1px 0 0 rgba(0, 0, 0, .05);
  }
}

// Special paragraph with border line
.note,
.store,
.download {
  padding-left: .8em;
  border-left: 2px solid @link-color;
}

// Reference notes and links in post
.footnotes {
  font-size: 90%;
  font-style: italic;
}

:target {

  [rev=footnote],
  [rel=footnote] {
    color: @link-color;
  }
}

// Post list in "work" and "note"
article .list {
  list-style: none;
  margin: 0;

  > li {
    margin: 0 0 1.4vmin;

    h2 {
      .heading;
      font-size: 200%;
      line-height: 1.2;
    }
  }

  .external {

    &:hover,
    &:focus {
      border: none;
    }
  }
}

.external {
  line-height: 1;

  span {
    display: inline-block;
    width: .2em;
    height: .2em;
    margin: 0 .1em;
    vertical-align: middle;
    background: @text-color;
    border-radius: 50%;
    transition: transform .4s ease;
  }

  &:hover,
  &:focus {

    span {
      transform: scale(1.4);
    }
  }
}

.footer {
  padding: 0 0 16vmin;
  font-size: 72%;
  text-transform: lowercase;

  ul {

    li {
      display: inline;

      &:after {
        padding: 0 .6vw;
        content: " / ";
        opacity: .3;
      }

      &:last-child {

        &:after {
          content: none;
        }
      }
    }
  }
}

// Plugn-Ins
.loaded {

  .intense-wrap {

    article p > img:not(.nointense) {
      cursor: zoom-in;
    }
  }

  &.intense-open {
    cursor: zoom-out;
  }
}

// GitHub Gist reset
.gist {

  code, pre {
    padding: 0;
    color: inherit;
    background-color: transparent;
  }

  .gist-file {
    font-family: @monospace !important;
    font-size: 80% !important;
  }

  .markdown-body {
    padding: 1em;
  }
}

// Media query stack
@media (max-width: 1000px) {

  body {
    padding-left: 8%;
    padding-right: 8%;
    font-size: (@base-font-size * 1.4);
  }
}

@media (max-width: 640px) {

  body {
    padding-left: 4%;
    padding-right: 4%;
    font-size: (@base-font-size * 2);
  }

  // Override viewport units defined in post.html
  article h2 svg,
  article h2 img {
    width: 100% !important;
    height: 100% !important;
  }

  // Hide external link for post list
  .list li h2 .external {
    display: none;
  }
}

@media (max-width: 400px) {

  body {
    font-size: (@base-font-size * 2.8);
  }
}

// All iOS devices, the easiest way
@media (max-device-width: 480px), (max-device-width: 1024px) {

  // Avoid font-size smart alec
  body {
    -webkit-text-size-adjust: none;
  }
}

// Import custom styles
@import "syntax";
@import "custom";

// Global variables
@base-font-size: 2vw;
@base-line-height: (20 / 14); // ~ 1.428571429
@link-color: #a212d1;
@background-color: #fff;
@text-color: #000;
@sans-serif: "Helvetica Neue", Arial, "Hiragino Sans GB", sans-serif;
@serif: Georgia, "Hiragino Mincho ProN", serif;
@monospace: Menlo, monospace;

// Invert color switcher for images and videos
// :root { filter: invert(100%); }

// http://nicolasgallagher.com/micro-clearfix-hack/
.cf {

  &:before, &:after {
    display: table;
    content: "";
  }

  &:after {
    clear: both;
  }
}

// Basic reset
*,
*:before,
*:after {
  padding: 0;
  margin: 0;
  box-sizing: border-box;
}

body {
  padding: 0 16%;
  margin: 0 auto 0;
  font-family: @sans-serif;
  font-size: @base-font-size;
  line-height: @base-line-height;
  color: @text-color;
  text-rendering: optimizelegibility;
  background: @background-color;
  image-rendering: optimizequality;

  // A semitranslucent bar at the top of the page
  &:before {
    position: absolute;
    top: 0;
    left: 0;
    z-index: -9999;
    width: 100%;
    height: 1vmax;
    pointer-events: none;
    background: @link-color;
    content: "";
    opacity: .2;
  }
}

// Essential mixins
.heading {
  font-family: @sans-serif;
  font-size: 330%;
  -webkit-font-smoothing: antialiased;
  font-weight: bold;
  letter-spacing: -.06em;
}

.sub-heading {
  font-family: @sans-serif;
  font-size: 72%;
  font-weight: normal;
  letter-spacing: .08em;
  opacity: .5;
}

// Reset fonts for relevant elements
input,
button,
select,
textarea {
  font-family: inherit;
  font-size: inherit;
  line-height: inherit;
}

// Reset unusual Firefox-on-Android default style.
// See https://github.com/necolas/normalize.css/issues/214
button,
input,
select[multiple],
textarea {
  background-image: none;
}

// Reset common elements
a, button {
  color: @text-color;
  text-decoration: none;
  transition: color .5s ease, border-color .5s ease, background .5s ease, opacity 1.5s ease;

  &:hover,
  &:focus {
    border-bottom: .1em solid;
    transition: color .1s ease, border-color .1s ease, background .1s ease, opacity .1s ease;
  }
}

img, hr {
  border: 0;
}

del {
  text-decoration: line-through;
}

::selection {
  color: @link-color;
  background: fade(@text-color, 2%);
}

// Site logo
.logo {
  display: block;
  width: 100%;
  height: 1vmax;
  margin: 0 0 1.4vmax;
  background: @link-color;
  opacity: 0;

  &:hover,
  &:focus {
    border-bottom: none !important;
    background: @text-color;
  }

  h1 {
    height: 0;
    text-indent: -99999em;
  }
}

body:hover .logo {
  opacity: 1 !important;
}

// Main navigation
.navigation {
  margin: 0 0 16vmin;
  margin-right: -1.1em;
  margin-left: -1.1em;
  font-size: 50%;
  font-weight: bold;
  letter-spacing: .45em;
  text-transform: uppercase;

  li {
    display: inline-block;
    line-height: 2;
    list-style: none;

    a {
      padding: .5em 1.2em;

      &:hover,
      &:focus {
        color: @link-color;
        border: none;
      }
    }
  }
}

// Currently activated page or category class
.current {

  a {
    color: @link-color;
  }
}

// Latest work link
body:hover .latest {
  color: @link-color !important;
}

// Pserson status
.content .status {
  margin: 1vmin 0 0;
  font-size: 75%;
  font-weight: bold;

  &:before {
    @size: .8em;
    display: inline-block;
    width: @size;
    height: @size;
    margin-right: .8vw;
    background: fade(@text-color, 20%);
    border-radius: 50%;
    content: "";
  }

  &.available {

    &:before {
      background: #0cf;
    }

    a {
      color: #0cf;
    }
  }

  &.unavailable {

    &:before {
      background: #f30;
    }

    a {
      color: #f30;
    }
  }
}

// Main content
.content {
  margin-bottom: 16vmin;
  hyphens: auto;
  // For some specified posts in work category
  .cf;

  // Remove extra space for the last paragraph in the container
  article {

    // article > p
    > *:last-child {
      margin-bottom: 0 !important;

      // article > ul > li, article > .footnotes > ol
      > *:last-child {
        margin-bottom: 0 !important;

        // article > ul > li > p, article > .footnotes > ol > li
        > *:last-child {
          margin-bottom: 0 !important;

          // article > .footnotes > ol > li > p
          > *:last-child {
            margin-bottom: 0 !important;
          }
        }
      }
    }
  }

  a {
    font-weight: bold;
  }

  p {
    margin: 0 0 1.1em;
    line-height: (@base-line-height * 1.2);
  }

  header {
    padding-bottom: 16vmin;

    h2 {
      margin: 0 0 .1em;
      .heading;
      hyphens: auto;
      line-height: 1.1;

      svg {
        display: block;
        max-width: 100%;
      }

      // Override margin from article img
      svg,
      img {
        margin-bottom: .3em;
      }
    }

    .latest-post {
      margin-top: 16vmin;
      font-size: 80%;
      font-weight: normal;
      line-height: 1.2;

      a {
        font-weight: bold;
      }
    }

    small {
      display: block;
      margin: 2vmin 0 0;
      letter-spacing: .1em;
    }

    // Used on work page
    & + * {
      margin-top: 0 !important;
    }
  }

  h3, h4, h5, h6 {
    margin: 10vmin 0 1rem;
    .sub-heading;
  }

  ul, ol {
    margin: 0 0 1em 1.5em;

    li {
      line-height: (@base-line-height * 1.2);

      > ul {
        margin-bottom: 0;
      }
    }
  }

  ol {
    margin-left: 1.75em;
  }

  img, video, iframe {
    display: block;
    max-width: 100%;
    margin: 0 0 4vmin;
  }

  blockquote {
    position: relative;
    margin-bottom: 2em;

    > p {
      padding-left: .8em;
      border-left: 2px solid;
    }

    footer {
      .cf;
    }

    cite {
      float: right;
      font-size: 90%;
      font-style: normal;

      &:before {
        // http://www.fileformat.info/info/unicode/char/2500/index.htm
        content: "\2500\2500\00a0"
      }
    }
  }

  sup {
    font-size: 75%;
  }

  abbr:after {
    content: " (" attr(title) ")";
  }

  code, pre {
    font-family: @monospace;
    color: #68a;
  }

  pre {
    padding: 1em;
    margin: 0 0 1em;
    overflow-x: scroll;
    font-size: 90%;
    line-height: (@base-line-height * 1.2);
    background: fade(#08f, 4%);
  }

  // Newsletter subscription form in page "store"
  form {

    input {
      display: block;
      width: 100%;
      padding: 1vmin 0;
      margin: 0 0 1vmin;
      border: none;
      border-bottom: 1px solid fade(@text-color, 20%);
      // Remove border-radius for iOS devices
      border-radius: 0;
      outline: none;
      transition: padding .2s ease;
      // Remove iOS pre-defined style
      -webkit-appearance: none;

      &:focus {
        padding: 1vmin;
        background: fade(@text-color, 2%);
        border-color: @text-color;
      }
    }
  }

  // Rest form validation styles, borrowed from Bootstrap
  input, textarea, select {

    &:focus:required:invalid {

      &:focus {
        background: fade(@link-color, 5%);
        border-color: @link-color;
        // Override Firefox default styles
        box-shadow: none;
      }
    }
  }

  table {
    border-collapse: collapse;
    border-spacing: 0;
    font-size: 90%;
    width: 100%;

    th,
    td {
      padding: .6em;
    }

    th {
      border-bottom: 2px solid fade(@text-color, 6%);
      text-align: left;
    }

    td {
      border-top: 1px solid fade(@text-color, 4%);
    }
  }
}

// Posts with Asian characters
[lang=zh],
[lang=ja] {
  text-align: justify;
}

// Fix empty space when a paragraph starts with some asian punctuation marks
.margin-fix:first-letter {
  margin-left: -.6em;
}

// Tweet button margin fix
.tweet {
  margin-top: 10vmin;
}

// Largetype styles (replaces button styles)
.largetype {
  .heading;
  font-size: 200%;
}

// Broser frame for images in category "work"
.browser {
  position: relative;
  padding-top: 24px;
  margin: 0 0 4vmin !important;
  background: rgba(255, 255, 255, .1);
  border-radius: 5px 5px 0 0;
  box-shadow: 0 0 0 1px rgba(0, 0, 0, .05);

  &:before {
    position: absolute;
    top: 8px;
    left: 10px;
    display: block;
    width: 8px;
    height: 8px;
    background: lighten(#f24e59, 30%);
    border-radius: 50%;
    content: "";
    box-shadow:
        16px 0 0 0   fade(lighten(#fac536, 30%), 96%)
      , 32px 0 0 0   fade(lighten(#26e93d, 30%), 96%)
      ,  0px 0 0 1px fade(darken(#f24e59, 30%), 30%)
      , 16px 0 0 1px fade(darken(#fac536, 30%), 30%)
      , 32px 0 0 1px fade(darken(#26e93d, 30%), 30%)
    ;
  }

  img {
    margin: 0;
    box-shadow: 0 -1px 0 0 rgba(0, 0, 0, .05);
  }
}

// Special paragraph with border line
.note,
.store,
.download {
  padding-left: .8em;
  border-left: 2px solid @link-color;
}

// Reference notes and links in post
.footnotes {
  font-size: 90%;
  font-style: italic;
}

:target {

  [rev=footnote],
  [rel=footnote] {
    color: @link-color;
  }
}

// Post list in "work" and "note"
article .list {
  list-style: none;
  margin: 0;

  > li {
    margin: 0 0 1.4vmin;

    h2 {
      .heading;
      font-size: 200%;
      line-height: 1.2;
    }
  }

  .external {

    &:hover,
    &:focus {
      border: none;
    }
  }
}

.external {
  line-height: 1;

  span {
    display: inline-block;
    width: .2em;
    height: .2em;
    margin: 0 .1em;
    vertical-align: middle;
    background: @text-color;
    border-radius: 50%;
    transition: transform .4s ease;
  }

  &:hover,
  &:focus {

    span {
      transform: scale(1.4);
    }
  }
}

.footer {
  padding: 0 0 16vmin;
  font-size: 72%;
  text-transform: lowercase;

  ul {

    li {
      display: inline;

      &:after {
        padding: 0 .6vw;
        content: " / ";
        opacity: .3;
      }

      &:last-child {

        &:after {
          content: none;
        }
      }
    }
  }
}

// Plugn-Ins
.loaded {

  .intense-wrap {

    article p > img:not(.nointense) {
      cursor: zoom-in;
    }
  }

  &.intense-open {
    cursor: zoom-out;
  }
}

// GitHub Gist reset
.gist {

  code, pre {
    padding: 0;
    color: inherit;
    background-color: transparent;
  }

  .gist-file {
    font-family: @monospace !important;
    font-size: 80% !important;
  }

  .markdown-body {
    padding: 1em;
  }
}

// Media query stack
@media (max-width: 1000px) {

  body {
    padding-left: 8%;
    padding-right: 8%;
    font-size: (@base-font-size * 1.4);
  }
}

@media (max-width: 640px) {

  body {
    padding-left: 4%;
    padding-right: 4%;
    font-size: (@base-font-size * 2);
  }

  // Override viewport units defined in post.html
  article h2 svg,
  article h2 img {
    width: 100% !important;
    height: 100% !important;
  }

  // Hide external link for post list
  .list li h2 .external {
    display: none;
  }
}

@media (max-width: 400px) {

  body {
    font-size: (@base-font-size * 2.8);
  }
}

// All iOS devices, the easiest way
@media (max-device-width: 480px), (max-device-width: 1024px) {

  // Avoid font-size smart alec
  body {
    -webkit-text-size-adjust: none;
  }
}

// Import custom styles
@import "syntax";
@import "custom";


Style new transitions and views in whackamole

remote: Support for password authentication was removed on August 13, 2021.
remote: Please see https://docs.github.com/en/get-started/getting-started-with-git/about-remote-repositories#cloning-with-https-urls for information on currently recommended modes of authentication.
fatal: Authentication failed for 'https://github.com/hevnly/asset-bazaar.git/'


Add placeholder background for images in work list

/*!
  github.com/sparanoid/sparanoid.com
*/
/*!
*/

// variables
@font-face {
  font-family: 'sparanoid.com';
  src: url('font.woff') format('woff'),
       url('font.svg') format('svg');
  font-weight: normal;
  font-style: normal;
}

.font-face {
  font-family: 'sparanoid.com', Helvetica, 'Hiragino Sans GB', Arial, sans-serif;
  text-transform: uppercase;
}

.helvetica {
  .gray;
  font-family: Helvetica, 'Hiragino Sans GB', Arial, sans-serif;
  font-size: 12px;
  font-weight: 100;
  text-transform: uppercase;
  letter-spacing: .25em;
}

.gray { color: rgba(0, 0, 0, .4); }

@txt-width: 620px;

@link-color: #e34;

// basic configurations
* {
  margin: 0;
  padding: 0;
  border: 0;
  font-weight: normal;
  font-style: normal;
  font-size: 100%;
  font-family: inherit;
  line-height: 1;
  text-decoration: none;
}

:root {
  color: #000;
  background: #fff;
  font-size: 14px;
  font-family: Palatino, 'Palatino Linotype', 'Hiragino Mincho ProN', serif;
  line-height: 1.7;
  font-weight: 100;
  max-width: 1080px;
  margin: 0 auto;
  padding: 60px 40px;
  text-rendering: optimizelegibility;
  image-rendering: optimizequality;
}

a {
  color: #000;
  -webkit-transition: color .5s ease, background .5s ease, opacity 1.5s ease;
     -moz-transition: color .5s ease, background .5s ease, opacity 1.5s ease;
}
  .a a, a:hover {
    color: @link-color;
    -webkit-transition: color .1s ease, background .1s ease, opacity .1s ease;
       -moz-transition: color .1s ease, background .1s ease, opacity .1s ease;
  }

ins {
  .gray;
}

del {
  text-decoration: line-through;
}

::selection {
  background: rgba(0, 0, 0, .05);
}

// core styles begin
body:before, body:after {
  position: fixed;
  left: 0;
  width: 100%;
  content: '';
  z-index: 9999;
  pointer-events: none;
}
body:before {
  top: 0;
  height: 12px;
  background: rgba(0, 0, 0, .05);
  border-bottom: 1px solid rgba(0, 0, 0, .02);
}
body:after {
  bottom: 0;
  height: 70px;
  background-image: -webkit-linear-gradient(top, rgba(255, 255, 255, 0), rgba(255, 255, 255, 1));
  background-image:    -moz-linear-gradient(top, rgba(255, 255, 255, 0), rgba(255, 255, 255, 1));
}

header {
  a {
    display: block;
    height: 38px;
    width: 38px;
    margin: 0 auto;
    background: url(logo.svg) no-repeat 0 0;
    background-size: 38px 38px;
    text-indent: -9999em;
  }
}

nav {
  .helvetica;
  font-size: 11px;
  &[role=navigation] {
    padding: 10px 0 15px;
    ul {
      text-align: center;
      li {
        display: inline;
        margin: 0 .8em;
      }
    }
  }
  &[role=pagination] {
    a {
      position: absolute;
      top: 170px;
      display: block;
      padding: 10px;
      font-size: 9px;
      letter-spacing: .2em;
      background: rgba(0, 0, 0, .05);
      z-index: 9999;
      &[role=next] {
        left: 0;
      }
      &[role=previous] {
        right: 0;
      }
    }
  }
}

hgroup {
  .font-face;
  font-size: 24px;
  text-align: center;
  padding-top: 40px;
  max-width: @txt-width;
  margin: auto;
  h2 {
    .helvetica;
    padding-top: .4em;
  }
}

article {
  float: left;
  width: 100%;
  padding-top: 40px;
  a {
    border-bottom: 1px dotted rgba(0, 0, 0, .2);
  }
  img, video {
    display: block;
    margin: 20px auto;
    max-width: 100%;
  }
  p {
  }
  .txt {
    max-width: @txt-width;
    font-size: 18px;
    margin: 0 auto;
    text-align: justify;
    -webkit-hyphens: auto;
       -moz-hyphens: auto;
            hyphens: auto;
    p {
      margin: 1em 0;
      line-height: 2;
    }
    h3 {
      .helvetica;
      padding: 60px 0 0;
      text-align: center;
      &:first-child {
        margin-top: -40px;
      }
    }
    ul, ol {
      margin: 1em 0 1em 20px;
      list-style: square;
      li {
        line-height: 1.8;
      }
    }
    sup {
      line-height: 1;
    }
    abbr:after {
      content: " (" attr(title) ")";
    }
    code, pre {
      font-family: Menlo, Consolas, monospace;
      color: #68a;
    }
  }
  div[role*=announcement] {
    text-align: center;
  }
  .note, .download {
    .helvetica;
    color: #000;
    letter-spacing: 0;
    text-transform: none;
    font-size: 14px;
    padding: 20px;
    border-left: 3px solid rgba(238, 51, 68, .2);
    background: rgba(238, 51, 68, .1);
  }
}

// image list in "work"
@thumb-size: 64px;
@thumb-padding: 8px;

ul[role*=list] {
  max-width: 640px;
  text-align: center;
  margin: 0 auto;
  padding-top: 12px;
  clear: both;
  li {
    position: relative;
    list-style: none;
    float: left;
    line-height: 0;
    text-align: left;
    margin: 8px;
    img {
      width: @thumb-size;
      height: @thumb-size;
      max-width: @thumb-size;
      // override: article img
      margin: 0;
      background: @link-color;
    }
    a {
      position: absolute;
      top: -@thumb-padding;
      left: -@thumb-padding;
      padding: @thumb-padding;
      width: @thumb-size;
      height: @thumb-size;
      .font-face;
      color: #fff;
      font-size: 10px;
      line-height: 1.2;
      opacity: 0;
      border-bottom: none;
      background: rgba(0, 0, 0, .8);
    }
    &:hover a {
      opacity: 1;
    }
  }
}

// image navigation in post page
ul[role$=small] {
  max-width: 640px;
  margin: 100px auto;
  padding: 60px 0 20px;
  li {
    img {
    }
    a {
      &:hover {
      }
    }
    &:hover a {
    }
  }
}

// post list in "note"
dl {
  text-align: center;
  margin-top: -40px;
  dt {
    line-height: 1;
    padding: 60px 0 0;
    .helvetica;
    a {
      border-bottom: none;
    }
  }
  dd {
    margin-bottom: 40px;
  }
}

aside {
  padding: 40px 0 0;
  width: 200px;
  text-align: center;
  margin: 0 auto;
  clear: both;
  .bsap {
    padding: 10px 0 40px;
    .bsa_it_i {
      display: block;
    }
    .bsa_it_t {
      display: block;
      margin: 1em 0;
    }
    .bsa_it_d {
      display: block;
      margin: 1em 0;
      line-height: 1.7;
    }
    .bsa_it_p {
      display: block;
      font-size: 12px;
      a {
        .gray;
        &:hover {
          color: #000;
        }
      }
    }
  }
}

footer {
  padding: 15px 0;
  .helvetica;
  font-size: 11px;
  text-align: center;
}

@media screen and (max-width: 640px) {
  article .txt {
    font-size: 16px;
  }
}

@media screen and (max-device-width: 480px) {
  :root {
    padding: 60px 20px;
    -webkit-text-size-adjust: none;
  }
  article .txt {
    font-size: 14px;
  }
}

/*!
  github.com/sparanoid/sparanoid.com
*/
/*!
*/

// variables
@font-face {
  font-family: 'sparanoid.com';
  src: url('font.woff') format('woff'),
       url('font.svg') format('svg');
  font-weight: normal;
  font-style: normal;
}

.font-face {
  font-family: 'sparanoid.com', Helvetica, 'Hiragino Sans GB', Arial, sans-serif;
  text-transform: uppercase;
}

.helvetica {
  .gray;
  font-family: Helvetica, 'Hiragino Sans GB', Arial, sans-serif;
  font-size: 12px;
  font-weight: 100;
  text-transform: uppercase;
  letter-spacing: .25em;
}

.gray { color: rgba(0, 0, 0, .4); }

@txt-width: 620px;

// basic configurations
* {
  margin: 0;
  padding: 0;
  border: 0;
  font-weight: normal;
  font-style: normal;
  font-size: 100%;
  font-family: inherit;
  line-height: 1;
  text-decoration: none;
}

:root {
  color: #000;
  background: #fff;
  font-size: 14px;
  font-family: Palatino, 'Palatino Linotype', 'Hiragino Mincho ProN', serif;
  line-height: 1.7;
  font-weight: 100;
  max-width: 1080px;
  margin: 0 auto;
  padding: 60px 40px;
  text-rendering: optimizelegibility;
  image-rendering: optimizequality;
}

a {
  color: #000;
  -webkit-transition: color .5s ease, background .5s ease, opacity 1.5s ease;
     -moz-transition: color .5s ease, background .5s ease, opacity 1.5s ease;
}
  .a a, a:hover {
    color: #e34;
    -webkit-transition: color .1s ease, background .1s ease, opacity .1s ease;
       -moz-transition: color .1s ease, background .1s ease, opacity .1s ease;
  }

ins {
  .gray;
}

del {
  text-decoration: line-through;
}

::selection {
  background: rgba(0, 0, 0, .05);
}

// core styles begin
body:before, body:after {
  position: fixed;
  left: 0;
  width: 100%;
  content: '';
  z-index: 9999;
  pointer-events: none;
}
body:before {
  top: 0;
  height: 12px;
  background: rgba(0, 0, 0, .05);
  border-bottom: 1px solid rgba(0, 0, 0, .02);
}
body:after {
  bottom: 0;
  height: 70px;
  background-image: -webkit-linear-gradient(top, rgba(255, 255, 255, 0), rgba(255, 255, 255, 1));
  background-image:    -moz-linear-gradient(top, rgba(255, 255, 255, 0), rgba(255, 255, 255, 1));
}

header {
  a {
    display: block;
    height: 38px;
    width: 38px;
    margin: 0 auto;
    background: url(logo.svg) no-repeat 0 0;
    background-size: 38px 38px;
    text-indent: -9999em;
  }
}

nav {
  .helvetica;
  font-size: 11px;
  &[role=navigation] {
    padding: 10px 0 15px;
    ul {
      text-align: center;
      li {
        display: inline;
        margin: 0 .8em;
      }
    }
  }
  &[role=pagination] {
    a {
      position: absolute;
      top: 170px;
      display: block;
      padding: 10px;
      font-size: 9px;
      letter-spacing: .2em;
      background: rgba(0, 0, 0, .05);
      z-index: 9999;
      &[role=next] {
        left: 0;
      }
      &[role=previous] {
        right: 0;
      }
    }
  }
}

hgroup {
  .font-face;
  font-size: 24px;
  text-align: center;
  padding-top: 40px;
  max-width: @txt-width;
  margin: auto;
  h2 {
    .helvetica;
    padding-top: .4em;
  }
}

article {
  float: left;
  width: 100%;
  padding-top: 40px;
  a {
    border-bottom: 1px dotted rgba(0, 0, 0, .2);
  }
  img, video {
    display: block;
    margin: 20px auto;
    max-width: 100%;
  }
  p {
  }
  .txt {
    max-width: @txt-width;
    font-size: 18px;
    margin: 0 auto;
    text-align: justify;
    -webkit-hyphens: auto;
       -moz-hyphens: auto;
            hyphens: auto;
    p {
      margin: 1em 0;
      line-height: 2;
    }
    h3 {
      .helvetica;
      padding: 60px 0 0;
      text-align: center;
      &:first-child {
        margin-top: -40px;
      }
    }
    ul, ol {
      margin: 1em 0 1em 20px;
      list-style: square;
      li {
        line-height: 1.8;
      }
    }
    sup {
      line-height: 1;
    }
    abbr:after {
      content: " (" attr(title) ")";
    }
    code, pre {
      font-family: Menlo, Consolas, monospace;
      color: #68a;
    }
  }
  div[role*=announcement] {
    text-align: center;
  }
  .note, .download {
    .helvetica;
    color: #000;
    letter-spacing: 0;
    text-transform: none;
    font-size: 14px;
    padding: 20px;
    border-left: 3px solid rgba(238, 51, 68, .2);
    background: rgba(238, 51, 68, .1);
  }
}

// image list in "work"
@thumb-size: 64px;
@thumb-padding: 8px;

ul[role*=list] {
  max-width: 640px;
  text-align: center;
  margin: 0 auto;
  padding-top: 12px;
  clear: both;
  li {
    position: relative;
    list-style: none;
    float: left;
    line-height: 0;
    text-align: left;
    margin: 8px;
    img {
      width: @thumb-size;
      height: @thumb-size;
      max-width: @thumb-size;
      margin: 0;
    }
    a {
      position: absolute;
      top: -@thumb-padding;
      left: -@thumb-padding;
      padding: @thumb-padding;
      width: @thumb-size;
      height: @thumb-size;
      .font-face;
      color: #fff;
      font-size: 10px;
      line-height: 1.2;
      opacity: 0;
      border-bottom: none;
      background: rgba(0, 0, 0, .8);
    }
    &:hover a {
      opacity: 1;
    }
  }
}

// image navigation in post page
ul[role$=small] {
  max-width: 640px;
  margin: 100px auto;
  padding: 60px 0 20px;
  li {
    img {
    }
    a {
      &:hover {
      }
    }
    &:hover a {
    }
  }
}

// post list in "note"
dl {
  text-align: center;
  margin-top: -40px;
  dt {
    line-height: 1;
    padding: 60px 0 0;
    .helvetica;
    a {
      border-bottom: none;
    }
  }
  dd {
    margin-bottom: 40px;
  }
}

aside {
  padding: 40px 0 0;
  width: 200px;
  text-align: center;
  margin: 0 auto;
  clear: both;
  .bsap {
    padding: 10px 0 40px;
    .bsa_it_i {
      display: block;
    }
    .bsa_it_t {
      display: block;
      margin: 1em 0;
    }
    .bsa_it_d {
      display: block;
      margin: 1em 0;
      line-height: 1.7;
    }
    .bsa_it_p {
      display: block;
      font-size: 12px;
      a {
        .gray;
        &:hover {
          color: #000;
        }
      }
    }
  }
}

footer {
  padding: 15px 0;
  .helvetica;
  font-size: 11px;
  text-align: center;
}

@media screen and (max-width: 640px) {
  article .txt {
    font-size: 16px;
  }
}

@media screen and (max-device-width: 480px) {
  :root {
    padding: 60px 20px;
    -webkit-text-size-adjust: none;
  }
  article .txt {
    font-size: 14px;
  }
}


css fixes to post window on mobile screens

remote: Support for password authentication was removed on August 13, 2021.
remote: Please see https://docs.github.com/en/get-started/getting-started-with-git/about-remote-repositories#cloning-with-https-urls for information on currently recommended modes of authentication.
fatal: Authentication failed for 'https://github.com/cablelabs/dev-portal.git/'


Added fact-view styling for client

Added fact-view styling for client

div.factlink-modal div.fact-view {
  margin: 0 -15px;
  padding-left: 15px;
  padding-right: 15px;
}

error: pathspec 'core/app/assets/stylesheets/bubble/fact_view.css.less' did not match any file(s) known to git