@import url('https://fonts.googleapis.com/css2?family=Nanum+Gothic:wght@400;700;800&display=swap');

:root {
  --main-color: #292D3E;
  --sub-color: #1B1E2B;
  --border-color: #71726C;
  --title-color: #BFAF70;
  --font-sz: 8px;
  --font-smz: 10px;
  --font-mz: 12px;
  --font-mlz: 14px;
  --font-lz: 16px;
  --font-xlz: 18px;
  --font-xxlz: 20px;
  --font-xxxlz: 22px;
  --font-rw: 400;
  --font-bw: 700;
  --font-ebw: 800;
}

body {
  background-color: var(--sub-color);
}

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  list-style: none;
  font-family: "Nanum Gothic";
  text-decoration: none;
  color: #FFF;
}

button {
  background-color: transparent;
  border: none;
  cursor: pointer;
}

.a11y-hidden {
  clip: rect(1px, 1px, 1px, 1px);
  clip-path: inset(50%);
  width: 1px;
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
}

/* 모바일 */
header, footer {
  width: 100%;
  height: 80px;
  background-color: var(--sub-color);
  position: fixed;
  z-index: 2;
}

header {
  top: 0;
}

main {
  width: 100%;
  min-height: calc(100vh - 160px);
  background-color: var(--main-color);
  margin-top: 80px;
}

main .wrap {
  min-height: calc(100vh - 160px);
}

footer {
  position: relative;
}

.wrap {
  width: 100%;
  height: 100%;
  padding: 0 20px;
}

/* 태블릿 */
@media screen and (min-width: 768px) and (max-width: 991px) {
  .wrap {
    padding: 0 60px;
  }
}

/* 노트북 */
@media screen and (min-width: 992px) and (max-width: 1199px) {
  .wrap {
    padding: 0 80px;
  }
}

/* PC */
@media screen and (min-width: 1200px) {
  header, footer {
    height: 100px;
  }
  
  main {
    min-height: calc(100vh - 200px);
    margin-top: 100px;
  }
  
  main .wrap {
    min-height: calc(100vh - 200px);
  }

  .wrap {
    padding: 0 100px;
  }
}