* {
  border: 0 solid;
  /* box-sizing: border-box; */
  color: inherit;
  font: inherit;
  margin: 0;
  padding: 0;
  /* overflow-wrap: break-word; */
}

/* *, :after, :before {
  border: 0 solid;
  box-sizing: border-box;
  color: inherit;
  font: inherit;
  margin: 0;
  padding: 0;
  overflow-wrap: break-word;
} */

img,
video {
  max-width: 100%;
}

a,
a:visited {
  /* color: inherit; */
}

/* table {
  border-collapse: collapse;
  border-spacing: 0;
} */

/* img {
  border-style: none;
} */

:root {
  --default-font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;
  --font-weight: 300;
  --font-weight-strong: 800;
  --font-weight-medium: 700;
  --font-weight-medium-light: 500;
  --max-block-width: 32rem;
  --module-gap: 1.5rem;
  --text-line-height: 1.8;

  --base-font-size: calc(1rem + 0.5vw);
  /* 1.125rem; */

  --color-gray-100: #fafafa;
  --color-gray-200: #f4f4f4;
  --color-gray-300: #E3E3E3;
  --color-gray-500: #ccc;
  --color-gray-600: #a0a0a0;
  --color-gray-700: #7f7e7e;
  --color-gray-800: #424242;
  --color-gray-900: #333;

  --color-blue-300: #eff4f9;

  --color-primary-000: #ffe6d9;
  --color-primary-100: #fcdac9;
  --color-primary-200: #efba9c;
  --color-primary-400: #f36f21;
  --color-primary-450: #de6218;
  --color-primary-500: #cb5015;
  --color-primary-700: #7d300d;
  --color-primary-800: #521f08;

  --box-shadow: 0px 1px 8px rgba(0, 0, 0, 0.1);
}

:root {
  font-family: var(--default-font-family);
  font-size: var(--base-font-size);
}

html,
body {
  height: 100%;
  width: 100%;
}

body {
  color: var(--color-gray-900);
  font-weight: var(--font-weight);
}

i {
  font-style: italic;
}

p,
ul,
tr,
td,
h3,
button,
a {
  line-height: var(--text-line-height);
}

h1,
h2 {
  line-height: 1.5;
}

h1,
h2 {
  font-weight: var(--font-weight-strong);
}

h3,
strong {
  font-weight: var(--font-weight-medium);
}

h1 + p,
h2 + p,
h2 + ul,
p + h3 {
  margin-top: var(--module-gap);
}

p + p,
p + ul,
ul + p,
ul + ul {
  margin-top: 1em;
}

/* 
  RESPONSIVITY 
*/

@media only screen and (min-width: 1200px) {
  :root {
    --base-font-size: calc(1rem + 0.3vw);
  }
}

article {
  margin: auto;
  max-width: 1200px;
  padding: 1rem;
}

header {
  padding: 3rem;
  text-align: center;
}

header img {
  width: 20rem;
}

* + main {
  margin-top: 1.5rem;
}

.selector-headline {
  color: var(--color-primary-400);
  font-size: 1.2rem;
  text-align: center;
}

* + .country-selector-grid {
  margin-top: 2rem;
}

.countries-block-content {
  padding: 1.5rem;
  box-shadow: var(--box-shadow);
  border-radius: 1rem;
}

.country-selector-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 2rem;
  grid-template-areas:
    "europe"
    "america"
    "asia"
    "other";
}

@media only screen and (min-width: 1100px) {
  .country-selector-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: auto auto 1fr;
    gap: 2rem;
    grid-template-areas:
      "europe america"
      "europe asia"
      "europe other";
  }
}

.country-selector-grid .countries-block--america {
  grid-area: america;
}

.country-selector-grid .countries-block--europe {
  grid-area: europe;
}

.country-selector-grid .countries-block--asia {
  grid-area: asia;
}

.country-selector-grid .countries-block--other {
  grid-area: other;
}

nav {
  overflow: auto; /* Fix li:hover bg color  */
}

nav ul {
  list-style: none;
}

nav li a {
  display: grid;
  grid-template-columns: 1.2em 1fr auto;
  align-items: center;
  gap: 1.5rem;
  padding: 0.8em;
  text-decoration: none;
}

nav li:nth-child(2n) a {
  background: var(--color-gray-100);
}

nav li a:hover {
  background: var(--color-gray-200);
  color: inherit;
}

nav li > a > *:nth-child(3) {
  color: var(--color-gray-700);
  font-size: 0.8em;
}

h2 + nav {
  margin-top: 1rem;
}

* + h2 {
  margin-top: 2rem;
}