/*
font-family: 'Inconsolata', monospace;
font-family: 'Montserrat', sans-serif;
font-family: 'Space Mono', monospace;
*/
/* reset */
html,
body,
p,
ol,
ul,
li,
dl,
dt,
dd,
blockquote,
figure,
fieldset,
legend,
textarea,
pre,
iframe,
hr,
h1,
h2,
h3,
h4,
h5,
h6 {
  margin: 0;
  padding: 0;
}
h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: 100%;
  font-weight: normal;
}
ul {
  list-style: none;
}
button,
input,
select {
  margin: 0;
}
html {
  box-sizing: border-box;
}
*,
*::before,
*::after {
  box-sizing: inherit;
}
img,
video {
  height: auto;
  max-width: 100%;
}
iframe {
  border: 0;
}
table {
  border-collapse: collapse;
  border-spacing: 0;
}
td,
th {
  padding: 0;
}

*,
*::after,
*::before {
  box-sizing: inherit;
}
html {
  box-sizing: border-box;
  font-size: 18px;
}
:root {
  --font-primary: "Space Mono", monospace;
  --font-footer: "Montserrat", sans-serif;
  --font-header: "Inconsolata", monospace;
  --color-primary: #333333;
  --color-secondary: #4f4f4f;
  --color-white: #ffffff;
  --color-footer: #bdbdbd;
  --padding-mobile: 6.4vw;
  --padding-desktop: 5.34vw;
}
.container {
  width: 100%;
  height: 100vh;
  display: flex;
  flex-direction: column;
  padding-left: var(--padding-mobile);
}
header {
  font-family: var(--font-header);
  margin-top: 1.11rem;
  margin-bottom: 5.743vh;
}
.title {
  color: var(--color-primary);
  font-weight: 700;
  font-size: 115.2%;
  line-height: 2.63%;
  letter-spacing: -0.08em;
  text-transform: uppercase;
}
main {
  display: flex;
  flex-direction: column;
  gap: 6.32%;
  font-family: var(--font-primary);
  margin-bottom: 2vh;
}
.illustration {
  padding-right: var(--padding-mobile);
  display: flex;
  justify-content: center;
  margin-bottom: 1vh;
}
.illustration img {
  height: 32vh;
  width: auto;
}
.heading {
  color: var(--color-primary);
  font-style: normal;
  font-weight: 700;
  font-size: 230%;
  line-height: 6.48vh;
  letter-spacing: -0.035em;
  width: 100%;
  margin-bottom: 3.161vh;
}
.message {
  color: var(--color-secondary);
  font-weight: 400;
  font-size: 1rem;
  line-height: 1.5rem;
  letter-spacing: -0.035em;
  margin-bottom: 6.954vh;
}
.btn-home {
  display: flex;
  justify-content: center;
  align-items: center;
  text-decoration: none;
  background-color: var(--color-primary);
  color: var(--color-white);
  font-family: var(--font-primary);
  font-size: 0.77rem;
  width: 57.6vw;
  height: 9vh;
}
.btn-home:hover {
  background-color: #4b4b4b;
}
footer {
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: end;
  padding-right: var(--padding-mobile);
  margin-bottom: 2.52vh;
}
.author {
  color: var(--color-footer);
  font-family: var(--font-footer);
  font-style: normal;
  font-weight: 500;
  font-size: 0.77rem;
  line-height: 0.94rem;
  text-align: center;
}
.author a:hover {
  text-decoration: underline;
}
.author a {
  text-decoration: none;
  color: var(--color-footer);
  font-style: normal;
  font-weight: 700;
}
@media screen and (min-width: 768px) {
  .container {
    padding-left: 16vw;
  }
  .illustration {
    padding-right: 16vw;
  }
  .content {
    padding-right: 12vw;
  }
  .heading {
    font-size: 7.8vw;
    line-height: 8.4vh;
  }
  .message {
    font-size: 2.8vw;
    line-height: 4.8vh;
    letter-spacing: -3.5%;
    margin-bottom: 5vh;
  }
  .btn-home {
    width: 28.6vw;
    height: 7vh;
  }
}
@media screen and (min-width: 992px) {
  .container {
    padding-right: var(--padding-desktop);
    padding-left: var(--padding-desktop);
  }
  header {
    margin-top: 3.703vh;
    margin-bottom: 14.518vh;
  }
  main {
    display: grid;
    grid-template-columns: 37.44vw 1fr;
    gap: 8.24vh;
  }
  .illustration {
    padding-right: var(--padding-desktop);
  }
  .illustration img {
    width: 100%;
    height: auto !important;
  }
  .content {
    display: flex;
    flex-direction: column;
  }
  .heading {
    font-size: 3.55rem;
    line-height: 11vh;
    margin-bottom: 3.33vh;
    width: 40.59vw;
  }
  .message {
    font-size: 1.33rem;
    line-height: 2rem;
    letter-spacing: -0.035em;
    margin-bottom: 5.925vh;
    width: 21.16rem;
  }
  .btn-home {
    width: 15vw;
    height: 7.5vh;
  }
  footer {
    padding: none;
  }
}
