/* ********** ********** ********** */
/*         ORNN COMMON CSS          */
/* ********** ********** ********** */
h1,
h2,
h3,
h4,
h5,
h6,
p,
li,
tr,
th,
td,
input,
label,
textarea,
.o_title,
.o_h1,
.o_h2,
.o_h3,
.o_h4,
.o_h5,
.o_h6,
.o_h7,
.o_h8 {
  font-family: Pretendard, sans-serif;
  word-break: keep-all;
  font-style: normal;
  letter-spacing: -0.025em;
}

/* ********** ********** ********** */

html.o_html {
  font-size: 15px;
}

/* 1. 와이드 스크린 (> 1800px): 폰트 확대 */
@media all and (min-width: 1800px) {
  html.o_html {
    font-size: 18px;
  }
}

/* 2. 태블릿 가로/큰 노트북 (<= 1280px) */
@media all and (max-width: 1280px) {
  html.o_html {
    font-size: 14px;
  }
}

/* 3. 태블릿 세로 (<= 1140px) */
@media all and (max-width: 1140px) {
  html.o_html {
    font-size: 13px;
  }
}

/* 4. 중소형 태블릿/큰 모바일 가로 (<= 991px) */
@media all and (max-width: 991px) {
  html.o_html {
    font-size: 15px;
  }
}

/* 5. 모바일 가로/폴더블 펼침 (<= 600px) */
@media all and (max-width: 600px) {
  html.o_html {
    font-size: 14px;
  }
}

/* 6. 모바일 세로/폴더블 접힘 (<= 380px) */
@media all and (max-width: 380px) {
  html.o_html {
    font-size: 13px;
  }
}

/* ********** ********** ********** */

.o_hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  border: 0;
  clip: rect(0, 0, 0, 0);
  overflow: hidden;
}

._pc {
  display: block;
}
._mo {
  display: none;
}

.o_section .o_hl {
  position: relative;
  padding: 0 0.1em;
  z-index: 1;
}
.o_section .o_hl::after {
  content: "";
  width: 0;
  height: 70%;
  position: absolute;
  bottom: 0;
  left: 0;
  transition: all 1s;
  z-index: -1;
}
.o_section .o_hl.active::after {
  width: 100%;
}

@media all and (max-width: 767px) {
  ._pc {
    display: none;
  }
  ._mo {
    display: block;
  }
}

/* ********** ********** ********** */

.o_ready {
  --move: clamp(20px, 5vw, 60px);
  /* opacity: 0; */
  transition:
    opacity 1s ease,
    transform 1s ease;
}

.fadeL {
  opacity: 0;
  transform: translateX(var(--move));
}
.fadeR {
  opacity: 0;
  transform: translateX(calc(var(--move) * -1));
}
.fadeU {
  opacity: 0;
  transform: translateY(var(--move));
}
.fadeD {
  opacity: 0;
  transform: translateY(calc(var(--move) * -1));
}

.o_ready.active {
  opacity: 1;
  transform: translate(0, 0);
}

/* ********** ********** ********** */

/* toTopBtn */
#toTopBtn {
  position: fixed;
  bottom: 5%;
  right: 0;
  cursor: pointer;
  z-index: 999;
  opacity: 0;
  transition: 1s;
  transform: translateX(100%);
  background-color: rgba(255, 255, 255, 0.5);
  border-radius: 50%;
  width: 3rem;
  height: 3rem;
  display: flex;
  justify-content: center;
  align-items: center;
}
#toTopBtn .o_img-box {
  width: 80%;
}
#toTopBtn .o_img-box img {
  width: 100%;
}

#toTopBtn.active {
  right: 1%;
  opacity: 1;
  transform: translateX(0);
}

@media all and (max-width: 600px) {
  /* toTopBtn */
  #toTopBtn {
    bottom: 20vmin;
    width: 10vmin;
    height: 10vmin;
  }
}
