 $legacy_browser_support: false !default;

 html {
   font-family: sans-serif; /* 1 */
   -ms-text-size-adjust: 100%; /* 2 */
   -webkit-text-size-adjust: 100%; /* 2 */
   @if $legacy_browser_support {
     *font-size: 100%; /* 3 */
   }
 }
 
 
 body {
   margin: 0;
 }
 
 article,
 aside,
 details,
 figcaption,
 figure,
 footer,
 header,
 hgroup,
 main,
 menu,
 nav,
 section,
 summary {
   display: block;
 }
 
 audio,
 canvas,
 progress,
 video {
   display: inline-block; /* 1 */
   vertical-align: baseline; /* 2 */
   @if $legacy_browser_support {
     *display: inline;
     *zoom: 1;
   }
 }
 
 
 audio:not([controls]) {
   display: none;
   height: 0;
 }
 
 
 [hidden],
 template {
   display: none;
 }
 
 a {
   background-color: transparent;
 }
 
 
 a {
   &:active, &:hover {
     outline: 0;
   };
 }
 abbr[title] {
   border-bottom: 1px dotted;
 }
 

 b,
 strong {
   font-weight: bold;
 }
 
 @if $legacy_browser_support {
   blockquote {
     margin: 1em 40px;
   }
 }
 
 
 dfn {
   font-style: italic;
 }
 
 
 h1 {
   font-size: 2em;
   margin: 0.67em 0;
 }
 
 @if $legacy_browser_support {
   h2 {
     font-size: 1.5em;
     margin: 0.83em 0;
   }
 
   h3 {
     font-size: 1.17em;
     margin: 1em 0;
   }
 
   h4 {
     font-size: 1em;
     margin: 1.33em 0;
   }
 
   h5 {
     font-size: 0.83em;
     margin: 1.67em 0;
   }
 
   h6 {
     font-size: 0.67em;
     margin: 2.33em 0;
   }
 }
 
 
 mark {
   background: #ff0;
   color: #000;
 }
 
 @if $legacy_browser_support {
   p,
   pre {
     *margin: 1em 0;
   }
 
   q {
     *quotes: none;
   }
 
 
   q:before,
   q:after {
     content: '';
     content: none;
   }
 }
 
 small {
   font-size: 80%;
 }
 
 sub,
 sup {
   font-size: 75%;
   line-height: 0;
   position: relative;
   vertical-align: baseline;
 }
 
 sup {
   top: -0.5em;
 }
 
 sub {
   bottom: -0.25em;
 }
 
 @if $legacy_browser_support {
 
   dl,
   menu,
   ol,
   ul {
     *margin: 1em 0;
   }
 
   dd {
     *margin: 0 0 0 40px;
   }
 
   menu,
   ol,
   ul {
     *padding: 0 0 0 40px;
   }
 
 
   nav ul,
   nav ol {
     *list-style: none;
     *list-style-image: none;
   }
 
 }
 
 img {
   border: 0;
   @if $legacy_browser_support {
     *-ms-interpolation-mode: bicubic; /* 2 */
   }
 }
 
 svg:not(:root) {
   overflow: hidden;
 }
 
 figure {
   margin: 1em 40px;
 }

 hr {
   box-sizing: content-box;
   height: 0;
 }
 pre {
   overflow: auto;
 }
 
 code,
 kbd,
 pre,
 samp {
   font-family: monospace, monospace;
   @if $legacy_browser_support {
     _font-family: 'courier new', monospace;
   }
   font-size: 1em;
 }

 
 button,
 input,
 optgroup,
 select,
 textarea {
   color: inherit; /* 1 */
   font: inherit; /* 2 */
   margin: 0; /* 3 */
   @if $legacy_browser_support {
     vertical-align: baseline; /* 3 */
     *vertical-align: middle; /* 3 */
   }
 }
 
 
 button {
   overflow: visible;
 }
 button,
 select {
   text-transform: none;
 }
 
 button,
 html input[type="button"], /* 1 */
 input[type="reset"],
 input[type="submit"] {
   -webkit-appearance: button; /* 2 */
   cursor: pointer; /* 3 */
   @if $legacy_browser_support {
     *overflow: visible;  /* 4 */
   }
 }

 button[disabled],
 html input[disabled] {
   cursor: default;
 }
 button::-moz-focus-inner,
 input::-moz-focus-inner {
   border: 0;
   padding: 0;
 }
 input {
   line-height: normal;
 }
 
 
 input[type="checkbox"],
 input[type="radio"] {
   box-sizing: border-box; /* 1 */
   padding: 0; /* 2 */
   @if $legacy_browser_support {
     *height: 13px; /* 3 */
     *width: 13px; /* 3 */
   }
 }
 
 input[type="number"]::-webkit-inner-spin-button,
 input[type="number"]::-webkit-outer-spin-button {
   height: auto;
 }
 input[type="search"] {
   -webkit-appearance: textfield; /* 1 */
   box-sizing: content-box; /* 2 */
 }
 input[type="search"]::-webkit-search-cancel-button,
 input[type="search"]::-webkit-search-decoration {
   -webkit-appearance: none;
 }
 fieldset {
   border: 1px solid #c0c0c0;
   margin: 0 2px;
   padding: 0.35em 0.625em 0.75em;
 }
 legend {
   border: 0; /* 1 */
   padding: 0; /* 2 */
   @if $legacy_browser_support {
     white-space: normal; /* 3 */
     *margin-left: -7px; /* 4 */
   }
 }
 textarea {
   overflow: auto;
 }
 optgroup {
   font-weight: bold;
 }
 table {
   border-collapse: collapse;
   border-spacing: 0;
 }
 
 td,
 th {
   padding: 0;
 }