/* Reset and base styles */
*,
*::after,
*::before {
  padding: 0;
  margin: 0;
  border: none;
  box-sizing: border-box;
}

a,
a:visited {
  color: inherit;
  text-decoration: none;
}

a:hover,
a:active {
  outline: none;
}

/* Common */
aside,
nav,
footer,
header,
section,
main {
  display: block;
}

/* Style of these elements will be inherit from parental block */
h1,
h2,
h3,
h4,
h5,
h6,
p {
  font-size: inherit;
  font-weight: inherit;
  line-height: inherit;
}
/* 
If font-size of the p tag is 20px, its margin-top also will be 20px(em is relative units, 1em means the same size) .
p + p means : second p (adjacent sibling selector) is element that are placed immediatly after first p element 
*/
p + p {
  margin-top: 1em;
}

ul {
  list-style: none;
}

img,
svg {
  vertical-align: top;
  min-width: 100%;
  height: auto;
}

/* Form */
input,
text-area,
button,
select {
  font-family: inherit;
  font-size: inherit;
}

input::-ms-clear {
  display: none;
}

button,
input[type="submit"] {
  display: inline-block;
  box-shadow: none;
  background-color: transparent;
  background: none;
  cursor: pointer;
}

input:focus,
input:active,
button:focus,
button:active {
  outline: none;
}

button::-moz-focus-inner {
  padding: 0;
  border: 0;
}

label {
  cursor: pointer;
}

legend {
  display: block;
}
