/*!**************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[10].use[2]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[10].use[3]!./global/style.css ***!
  \**************************************************************************************************************************************************************************************************************************************************************/
/* =======================
   Fractul 폰트
   ======================= */
@font-face {
  font-family: "Fractul";
  src: url("/assets/fonts/Fractul/Fractul-Thin.otf") format("opentype");
  font-weight: 200;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Fractul";
  src: url("/assets/fonts/Fractul/Fractul-Hairline.otf") format("opentype");
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Fractul";
  src: url("/assets/fonts/Fractul/Fractul-Light.otf") format("opentype");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Fractul";
  src: url("/assets/fonts/Fractul/Fractul-Regular.otf") format("opentype");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Fractul";
  src: url("/assets/fonts/Fractul/Fractul-Medium.otf") format("opentype");
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Fractul";
  src: url("/assets/fonts/Fractul/Fractul-SemiBold.otf") format("opentype");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Fractul";
  src: url("/assets/fonts/Fractul/Fractul-Bold.otf") format("opentype");
  font-weight: 800;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Fractul";
  src: url("/assets/fonts/Fractul/Fractul-ExtraBold.otf") format("opentype");
  font-weight: 900;
  font-style: normal;
  font-display: swap;
}

/* =======================
   Pretendard 폰트
   ======================= */
@font-face {
  font-family: "Pretendard";
  src: url("/assets/fonts/Pretendard/Pretendard-Thin.otf") format("opentype");
  font-weight: 100;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Pretendard";
  src: url("/assets/fonts/Pretendard/Pretendard-ExtraLight.otf")
    format("opentype");
  font-weight: 200;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Pretendard";
  src: url("/assets/fonts/Pretendard/Pretendard-Light.otf") format("opentype");
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Pretendard";
  src: url("/assets/fonts/Pretendard/Pretendard-Regular.otf") format("opentype");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Pretendard";
  src: url("/assets/fonts/Pretendard/Pretendard-Medium.otf") format("opentype");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Pretendard";
  src: url("/assets/fonts/Pretendard/Pretendard-SemiBold.otf")
    format("opentype");
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Pretendard";
  src: url("/assets/fonts/Pretendard/Pretendard-Bold.otf") format("opentype");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Pretendard";
  src: url("/assets/fonts/Pretendard/Pretendard-ExtraBold.otf")
    format("opentype");
  font-weight: 800;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Pretendard";
  src: url("/assets/fonts/Pretendard/Pretendard-Black.otf") format("opentype");
  font-weight: 900;
  font-style: normal;
  font-display: swap;
}

/* =======================
   기본 폰트 설정
   ======================= */
html,
body {
  font-family: "Fractul", "Pretendard", -apple-system, BlinkMacSystemFont,
    "Helvetica Neue", Arial, sans-serif;
  line-height: 1.5;
  max-width: 100vw;
  overflow-x: hidden;
}
body.loading {
  height: 100svh;
  overflow: hidden;
  background: white;
}
h2 {
  line-height: 1.4;
}
a {
  text-decoration: none;
  color: black;
}
:root {
  --bg: white;
  --fg: #121212;
  --dimgray: #6c6c6c;
  --keyCol: #ce2e2e;

  --bgdim: rgba(255, 255, 255, 0.95);
  --fgdim: rgba(18, 18, 18, 0.95);

  --icon-size: clamp(11px, 0.7vw, 16px);
  --icon-wrapper: calc(var(--icon-size) * 2);
  --icon-stroke: 2px;
  --playbtn-size: clamp(44px, 2.8vw, 64px);
  --chip-gap: clamp(5px, 0.1vw, 8px);

  /* 텍스트 */
  --font-size-base: clamp(16px, 0.9vw, 16px);
  --font-size-small: clamp(12px, 0.45vw, 12px);
  --font-size-tiny: clamp(7px, 0.5vw, 11px);
  --font-size-large: clamp(18px, 1.5vw, 26px);
  --font-size-medium: clamp(16px, 1.4vw, 20px);
  --font-size-mediumlarge: clamp(18px, 1.25vw, 25px);
  --padding-base: clamp(25px, 1.5vw, 40px);
  --skeleton-base: rgba(224, 224, 224, 1);
  --skeleton-highlight: rgba(245, 245, 245, 1);
  --overlay-h: calc(
    var(--font-size-small) * 1.2 + var(--font-size-tiny) + 10px
  );
}

.mainVideo {
  width: 100%;
  object-fit: cover;
  aspect-ratio: 3/1;
  margin-top: 10px;
}
* {
  margin: 0;
  padding: 0;
}
main {
  padding: 20px;
  padding-top: 80px;
}
.wrap {
  max-width: 1920px;
  margin: 0 auto;
  padding-bottom: 120px;
}
.wrap .content {
  padding-top: 40px;
}
.SwiperOuter {
  margin-left: -20px;
  margin-right: -20px;
  padding-left: 20px;
  padding-right: 20px;
}

.wrap h2 {
  margin-top: 30px;
  margin-bottom: 20px;
  font-weight: 600;
  text-align: center;
}
.contentWrapper {
  max-width: 1920px;
  margin: 0 auto;
}
.mainVideoWrapper {
  width: 100%;
  text-align: center;
}
.tagLine {
  max-width: 1920px;
  width: 100%;
  margin: 0px auto 10px;
  text-align: right;
  color: var(--dimgray);
  font-size: var(--font-size-small);
}
.divide {
  height: 8vh;
  max-height: 120px;
}
.googleMap {
  height: 800px;
}

.outLink {
  display: inline-block;
  color: white;
  background-color: black;
  border: solid 1px black;

  padding: 8px 16px;
  margin: 20px 0.2em 0 0;
  text-decoration: none;
}
.outLink.ghost {
  display: inline-block;
  color: black;
  background-color: transparent;
  border: solid 1px black;
  padding: 8px 16px;
  margin: 10px 0px;
  text-decoration: none;
}
.underlineLink {
  color: black;
  text-underline-offset: 3px;
  margin: 0px 0.5em 20px 0;
  display: inline-block;
}
.outLink,
.underlineLink {
  transition: opacity ease 0.3s;
}

.outLink:hover,
.underlineLink:hover {
  opacity: 0.6;
}

.underlineLink:hover {
  text-decoration: none;
}
.backtoList {
  display: flex;
  align-items: center;
  gap: 0.5em;
  font-size: 14px;
  margin-bottom: 1em;
  cursor: pointer;
  transition: opacity ease 0.3s;
}
.backtoList img {
  height: 18px;
  width: 18px;
}
.backtoList:hover {
  opacity: 0.3;
}
.wrapBoard {
  border-top: solid 1px black;
  margin: 1em 0;
}
.boardInner {
  width: 100%;
  max-width: 750px;
  margin: 0 auto;
  padding: 20px 0;
}
.boardInner h2 {
  text-align: left;
  margin-top: 15px;
  font-weight: 500;
}
.richtext-content .full-width {
  width: 100%;
  height: auto;
}
.richtext-content .left,
.richtext-content .right {
  width: 100%;
  max-width: 750px;
  height: auto;
  margin: 0 auto;
  display: block;
}
.richtext-content p,
.richtext-content ul,
.richtext-content ol {
  max-width: 750px;

  margin: 2em auto;
}
.richtext-content ul,
.richtext-content ol {
  padding: 0 1em;
}
p,
div {
  font-size: var(--font-size-base);
  word-break: keep-all;
}
span {
  font-size: inherit;
}
h2 {
  font-size: var(--font-size-large);
}
#overlayShell {
  position: fixed;
  inset: 0;
  background: black;
  z-index: 100000000;
}
.detail {
  font-size: 16px;
}
p,
span,
div,
h2 {
  line-height: var(--lineHeight, 1.5);
  letter-spacing: var(--letterSpacing, 0);
}
*::selection {
  color: white;
  background: black;
}
.has-iframe {
  width: 100%;
  padding-bottom: 56.25%; /* 16:9 비율 */
  position: relative;
}
.has-iframe iframe {
  position: absolute;
  width: 100%;
  height: 100%;
}

@media (max-width: 768px) {
  :root {
    --font-size-base: clamp(16px, 0.9vw, 20px);
    --font-size-large: clamp(18px, 1.5vw, 26px);
  }
  *:hover {
    opacity: 1 !important;
  }
  .mainVideo {
    aspect-ratio: 2/3;
    margin-top: 10px;
  }
  .tagLine {
    text-align: left;
  }
  .divide {
    height: 10px;
    max-height: 120px;
  }
  h2 {
    font-size: 20px;
  }
  .wrap .content {
    padding-top: 20px;
  }
  .detail {
    font-size: var(--font-size-small);
  }
  .wrap {
    padding-bottom: 60px;
  }
}

