@import url("normalize.css");
@import url("reset.css");

:root {
  /* Layout */
  --base-unit: 20px;
  --base-font: 16px;
  --base-letter-spacing: -0.05em;

  /* Color styles */
  --purple: rgb(138, 56, 245, 1);
  --yellow: rgb(255, 187, 39, 1);
  --white: rgb(241, 241, 241, 1);
  --gray: rgb(89, 89, 89, 1);
  --super-gray: rgb(46, 46, 46, 1);
  --black: rgb(15, 15, 15, 1);
  --super-black: rgb(0, 0, 0, 1);

  /* Text-size styles */
  /* 타이틀 계열 */
  --header: calc(var(--base-font) * 3.55);
  --h1: calc(var(--base-font) * 2.22);
  --serve: calc(var(--base-font) * 2);
  --h2-100: calc(var(--base-font) * 1.33);
  --h2-125: calc(var(--base-font) * 1.33);
  --h2-150: calc(var(--base-font) * 1.33);
  --h3: calc(var(--base-font) * 1.11);
  /* 본문 및 기타 */
  --qna: calc(var(--base-font) * 1.33);
  --body: var(--base-font);
  --body-b: var(--base-font);
  --content: calc(var(--base-font) * 0.88);
  --footer: calc(var(--base-font) * 0.66);
}

html {
scroll-behavior: smooth;
} 

body {
  font-family: "Pretendard", sans-serif;
  letter-spacing: var(--base-letter-spacing);
  color: var(--white);
}

/* 타이포그래피 */
.text-header {
  font-size: var(--header);
  line-height: calc(var(--header) * 1);
  font-weight: 700;
}
.text-h1 {
  font-size: var(--h1);
  line-height: calc(var(--h1) * 1.25);
  font-weight: 700;
}
.text-serve {
  font-size: var(--serve);
  line-height: calc(var(--serve) * 1);
  font-weight: 700;
}
.text-h2-100 {
  font-size: var(--h2-100);
  line-height: calc(var(--h2-100) * 1);
  font-weight: 700;
}
.text-h2-125 {
  font-size: var(--h2-125);
  line-height: calc(var(--h2-125) * 1.25);
  font-weight: 700;
}
.text-h2-150 {
  font-size: var(--h2-150);
  line-height: calc(var(--h2-150) * 1.5);
  font-weight: 700;
}
.text-h3 {
  font-size: var(--h3);
  line-height: calc(var(--serve) * 1);
  font-weight: 700;
}
.text-qna {
  font-size: var(--qna);
  line-height: calc(var(--qna) * 1.5);
}
.text-body {
  font-size: var(--body);
  line-height: calc(var(--body) * 1.5);
}
.text-body-b {
  font-size: var(--body-b);
  line-height: calc(var(--body-b) * 1.5);
  font-weight: 700;
}
.text-content {
  font-size: var(--content);
  line-height: calc(var(--content) * 1.5);
}
.text-footer {
  font-size: var(--footer);
  line-height: calc(var(--footer) * 1);
}
/* 링크 버튼 */
.btn-big {
  background: var(--yellow);
  border-radius: 36px;
  display: inline-flex;
  padding: 15px 70px;
  font-size: var(--h2-100);
  font-weight: bold;
  gap: 10px;
  color: var(--black);
  align-items: center;
}

/* 
.material-symbols-rounded {
  font-size: 32px;
  display: inline-block;
  margin-top: 1.5px;
}
 
*/

.btn-small {
  background: var(--purple);
  border-radius: 36px;
  display: inline-flex;
  padding: 7px 19px 7px 28px;
  font-size: var(--h3);
  font-weight: bold;
  gap: 5px;
  color: var(--white);
  align-items: center;
}
/* 레이아웃 */
.inner {
  width: 1280px;
  margin: 0 auto;
}

.inner-pd {
  padding: calc(var(--base-unit) * 5) 0;
}

.hidden {
  position: absolute;
  clip-path: inset(50%);
  width: 1px;
  height: 1px;
  overflow: hidden;
}

/* 로고 */
.estcamp-logo {
  background: url(../images/estcamp_logo.png) center / cover no-repeat;
}

/* flex */
.d-flex {
  display: flex;
}
.flex-column {
  flex-direction: column;
}
.justify-content-center {
  justify-content: center;
}
.justify-content-between {
  justify-content: space-between;
}
.align-items-center {
  align-items: center;
}
.g-1 {
  gap: var(--base-unit);
}
.g-2 {
  gap: calc(var(--base-unit) * 2);
}
.g-3 {
  gap: calc(var(--base-unit) * 3);
}
.g-4 {
  gap: calc(var(--base-unit) * 4);
}
.g-5 {
  gap: calc(var(--base-unit) * 5);
}
.text-center {
  text-align: center;
}

/* 헤더 - 문송연 */

body > header {
  margin: 0;
  box-sizing: border-box;
  background: rgba(0, 0, 0, 0.4);
  backdrop-filter: blur(5px);
  width: 100%;
  height: 80px;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 100;
}
header .inner {
  width: 100%;
  max-width: 1280px;
  height: 100%;
  padding: 0 70px;
  position: relative;
  box-sizing: border-box;
}


header .menu {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
}
header .menu ul {
  gap: 40px;
}
header .menu li ul {
  display: none;
  position: absolute;
  top: 100%;
  left: 0;
  background: rgba(241, 241, 241, 0.7);
  border-radius: 0 30px 30px 30px;
  padding: 20px;
  width: 200px;
}
header .menu > li > ul {
  position: relative;
  height: 80px;
  display: flex;
  align-items: center;
}
header .menu li ul li a {
  color: var(--black);
  padding: 8px 0;
  text-align: left;
  display: block;
}
header .menu > ul > li {
  position: relative;
  height: 80px;
  display: flex;
  align-items: center;
}
header .menu > ul > li > a {
  font-weight: 700;
}
header .menu > ul > li:hover ul {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
header .menu > ul > li a:hover {
  font-weight: 700;
}
header .btn_hamburger {
  display: none;
  border: 0;
  background: none;
  padding: 0;
  cursor: pointer;
  color: var(--white);
}
header .btn_hamburger .material-icons-round{
  font-size: 32px;
  line-height: 1;
}

/* 헤더 태블릿 버전 : 문송연 */

@media (max-width: 768px) {
  header .menu{
    display: none;
  }
  header .inner{
    padding: 0 30px;
    margin: 0;
    max-width: 768px;
  }
  header .menu_m{
    display: flex;
    gap:30px;
  }
  /* 로고 크기 변경 */
  header .inner h1 img{
    width: 150px;
    height: 20px;
  }
  header .btn_hamburger {
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .btn_cta{
    padding: 7px 17px;
    font-size: 12px;
  }
  
}
/* 헤더 모바일 */
@media (max-width: 402px) {
    body > header{
    height: 60px;
  }
  header .inner{
    padding: 12px 20px 12px 26px;
    margin: 0;
    max-width: 402px;
    height: 100%;
    display: flex;
    box-sizing: border-box;
  }
  header .menu_m{
    gap:20px;
  }
  .header_mobile{
    display: flex;
    align-items: center;
  }
  /* 로고 크기 변경 */
  header .inner h1 img{
    width: 140px;
    height: 20px;
  }
  .btn_cta{
    padding: 2px 15px;
    font-size: 10px;
  }
  header .btn_hamburger .material-icons-round{
  font-size: 24px;
  }
  header .btn_cta .material-icons-round{
    font-size: 20px;
  }
}

/* 푸터 : 황시원 */
.footer {
  background: var(--super-black);
  padding: 40px 0;
  overflow: hidden;
}
/* 레이아웃 */
.footer .inner {
  width: 100%;
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 20px;
  box-sizing: border-box;
}

/* 로고 아이콘 */
.footer_logo {
  width: 200px;
  height: auto;
  display: block;
}
.footer_social img, i{
  height: 15px;
}

.footer_divider {
  border: 0;
  border-top: 1px solid var(--super-gray);
  margin: 0;
}
/* 하단영역 */
.footer_bottom .text-footer {
  gap: 10px;
}

.footer_menu .text-footer {
  font-weight: 600;
}

.footer_menu a:hover {
  color: var(--purple);
}

/* 푸터 태블릿 */
@media (max-width: 768px) {
  .footer {
    padding: 20px 0;
    overflow: hidden;
  }
  .footer * {
    box-sizing: border-box;
  }
  /* 로고 크기 축소 */
  .footer_logo {
    width: 160px;
  }
  /* 폰트 크기 */
  .text-footer {
    font-size: 10px;
  }
}

/* 푸터 모바일 */
@media (max-width: 402px) {
  .footer > .inner > div:first-child {
    justify-content: left;
    gap: 20px;
  }
  /* 하단 영역 */
  .footer_bottom {
    flex-direction: column;
    gap: 10px;
  }
  /* 로고 크기 축소 */
  .footer_logo {
    width: 120px;
  }
  /* 텍스트 줄간격 */
  .footer_bottom .text-footer {
    gap: 4px;
  }
  /* 텍스트 크기 */
  .text-footer {
    font-size: 8px;
  }
}

@media (max-width: 768px) {
  html,
  body {
    overflow: visible;
  }
  #popup {
    display: none;
  }
  #nav {
    display: none;
  }
  .inner {
    width: 100%;
    height: auto;
  }
}
@media (max-width: 400px) {
  html,
  body {
    overflow: visible;
  }
  #popup {
    display: none;
  }
  #nav {
    display: none;
  }
  .inner {
    width: 100%;
    height: auto;
  }
}
