/* ============================================================================
   @CORE -> RESET
   ========================================================================= */


/**
 * In addition to normalize.css we also apply a reset which mainly removes all
 * margins, paddings, and borders, from all elements, and applies the nice
 * `border-box` value for `box-sizing` amongst a few other things.
 */


/**
 * Settings.
 */

// Reset the `box-sizing` property to the more friendly `border-box` value
$apply-friendly-box-model: true !default;


/**
 * Remove all margins, paddings, and borders.
 *
 * N.B. the complete list of HTML5 elements
 * https://developer.mozilla.org/en/docs/Web/Guide/HTML/HTML5/HTML5_element_list
 */

html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
s,
samp,
small,
strong,
var,
b,
u,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
sub,
sup,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
time,
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
nav,
section,
summary,
main,
menu {
  margin: 0;
  padding: 0;
  border: 0;
}


/**
 * Reset the `box-sizing` property to the more friendly `border-box` value.
 *
 * @credit
 * http://css-tricks.com/inheriting-box-sizing-probably-slightly-better-best-practice/
 */

@if $apply-friendly-box-model {
  html {box-sizing: border-box;}

  * {
    &,
    &:before,
    &:after {box-sizing: inherit;}
  }
}// endif


/**
 * Reset lists.
 */

ul,
ol {list-style-type: none;}


/**
 * Suppress the focus outline on links that cannot be accessed via a keyboard.
 * This prevents an unwanted focus outline from appearing around elements that
 * might still respond to pointer events.
 *
 * N.B. it is okay to use `!important` here as we're doing it preemptively
 * i.e. you know you will always want the rule it's applied too to take
 * precedence.
 *
 * @credit
 * https://github.com/suitcss/
 */

[tabindex="-1"]:focus {outline: none !important;}


/**
 * Remove underlines from potentially troublesome elements.
 */

u,
ins {text-decoration: none;}


/**
 * Apply faux underlines to inserted text via `border-bottom`.
 */

ins {border-bottom: 1px solid;}