/* http://meyerweb.com/eric/tools/css/reset/ 
   v2.0 | 20110126
   License: none (public domain)
*/
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed, 
figure, figcaption, footer, header, hgroup, 
menu, nav, output, ruby, section, summary,
time, mark, audio, video, button {
	margin: 0;
	padding: 0;
	border: 0;
	font: inherit;
	font-size: inherit;
    line-height: inherit;
    background: transparent;
    color: inherit;
	vertical-align: baseline;
    text-decoration: none;
}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section {
	display: block;
}
body {
	line-height: 1;
}
ol, ul {
	list-style: none;
}
blockquote, q {
	quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
	content: '';
	content: none;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}
button {
    cursor: pointer;
}

/* 변수 설정 */
:root {
  /* 색상 변수 */
  --base: #f3f3f3;
  --black100: #2a2a2a;
  --black50: #4d4d4d;
  --gray100: #8b8b8b;
  --gray50: #d5d5d5;
  --main: #e5742c;
  --main-light: #f5e5d5;
  --main-dark: #43311f;
  --shadow: rgba(0, 0, 0, 0.2);
  /* 문자 변수 */
  --display: clamp(30px, 3.6vw, 5.6rem);
  --tit: clamp(26px, 3vw, 4.1rem);
  --subTit: clamp(20px, 2.4vw, 3rem);
  --lead: clamp(18px, 1.4vw, 2rem);
  --text: clamp(16px, 1.2vw, 1.8rem);
  --subText: clamp(15px, 1.1vw, 1.6rem);
  --label: 14px;
  /* 크기 변수 */
  --in: min(96%, 144rem);
  --inPd: clamp(10rem, 12vw, 15rem);
  --margin-sm: clamp(2rem, 3vw, 4rem);
  --margin-md: clamp(4rem, 5vw, 6rem);
  --margin-lg: clamp(6rem, 7vw, 9rem);
  --border-sm: min(8rem, 6vw);
  --border-md: min(12rem, 8vw);
  --border-lg: min(32rem, 20vw);
  /* 그 외 */
  --ease: all .2s ease;
}

/* 기본 레이아웃 및 공통 요소 */
*,
*::before,
*::after {
  box-sizing: border-box;
}
html {
  font-size: 62.5%;
}
body {
  min-height: 100vh;
  color: var(--black100);
  font-size: var(--text);
  word-break: keep-all;
}
p {
  color: var(--black50);
  line-height: 1.4;
}
.d-none {
  display: none;
}
.mbOnly {
  display: none;
}
.inner {
  width: var(--in) !important;
  margin: 0 auto;
  padding-left: 20px;
  padding-right: 20px;
}
.inner-pd {
  padding-top: var(--inPd);
  padding-bottom: var(--inPd);
}
.sec {
  margin-bottom: var(--margin-md);
}
.sec-cate {
  font-size: var(--lead);
  font-weight: 500;
  color: var(--main);
  margin-bottom: 2rem;
  letter-spacing: normal !important;
  text-transform: capitalize;
}
.sec-dp {
  font-size: var(--display);
  font-weight: 700;
  line-height: 1.2;
}
.sec-tit {
  font-size: var(--tit);
  line-height: 1.4;
  font-weight: 700;
  color: var(--black100);
}
.sec-text {
  color: var(--black50);
  margin-top: 2rem;
}
.text-center {
  text-align: center;
}
.bold {
  font-weight: 700;
}
.normal {
  font-weight: normal;
}
.main-color {
  color: var(--main) !important;
}
.flex, .mb-flex {
  display: flex;
  align-items: center;
}
.center {
  display: flex;
  align-items: center;
  justify-content: center;
}
.between {
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.flex-col2 {
  gap: 4rem;
  > * {
    flex: 1 1 calc((100% - 4rem) / 2);
  }
}
.flex-col3 {
  gap: 2.4rem;
  > * {
    flex: 1 1 calc((100% - 2 * 2.4rem) / 3);
  }
}
.flex-col4 {
  gap: 1.2rem;
  > * {
    flex: 1 1 calc((100% - 3 * 1.2rem) / 4);
  }
}
img:not(.oneImg), video {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* 버튼 요소 */
.primaryBtn {
  background: var(--main);
  padding: 1.6rem 2.8rem;
  color: white;
  font-size: var(--subText);
  font-weight: 700;
  border-radius: 100px;
  transition: var(--ease);
}
.primaryBtnSub {
  background: var(--main-dark);
  padding: 1.6rem 2.8rem;
  color: white;
  font-size: var(--subText);
  font-weight: 700;
  border-radius: 100px;
  transition: var(--ease);
}
.primaryBtnLine {
  background: none;
  padding: 1.6rem 2.8rem;
  color: white;
  font-size: var(--subText);
  font-weight: 700;
  border-radius: 100px;
  border: 1px solid white;
  transition: var(--ease);
}
.primaryBtn:hover, .primaryBtnSub:hover, .primaryBtnLine:hover {
  padding: 1.6rem 3.6rem;
}

.subBtnLine {
  border-bottom: 1px solid var(--black100);
  padding: 5px;
  font-size: var(--subText);
  font-weight: 700;

  i {
    transition: var(--ease);
  }
}
.subBtnLine:hover i {
  margin-left: 1rem;
}

.btnWrap {
  display: flex;
  gap: 10px;
}
.prevBtn, .nextBtn {
  font-size: var(--lead);
  color: var(--black50);
  width: 6rem;
  height: 6rem;
  line-height: 5.8rem;
  text-align: center;
  border: 1px solid var(--gray50);
  border-radius: 100%;
  cursor: pointer;
  transition: var(--ease);
}
.prevBtn:hover, .nextBtn:hover {
  background: var(--black100);
  color: white;
  border: 1px solid var(--black100);
}

/* GSAP */
.fadein, .fadeup, .fadedown, .fadeleft, .faderight {
    opacity: 0;
    transition: none;
    will-change: transform, opacity;
}

@media screen and (min-width: 1940px) {
  :root {
    /* 문자 변수 */
    --display: 74px;
    --tit: 56px;
    --subTit: 40px;
    --lead: 28px;
    --text: 22px;
    --subText: 19px;
    --label: 17px;
    /* 크기 변수 */
    --in: 192rem;
    --inPd: 16rem;
    --border-sm: 10rem;
    --border-md: 14rem;
    --border-lg: 36rem;
  }
}

@media screen and (max-width: 1024px) {
  html {font-size: 57%;}
}

@media screen and (max-width: 768px) {
  html {font-size: 55%;}
  .mbNone {display: none !important;}
  .mbOnly {display: block;}
  .flex {flex-direction: column;}
  .between {flex-direction: column; align-items: stretch;}
}