@charset "utf-8";

/* ==========================================================================
    Reset
   ========================================================================== */
*, *::before, *::after {margin: 0; padding: 0; box-sizing: border-box;}
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 {margin: 0; padding: 0;}
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {display: block;}
html{scroll-behavior: smooth;}
body{-webkit-font-smoothing: antialiased;  -moz-osx-font-smoothing: grayscale; -webkit-tap-highlight-color: transparent;}
input, textarea, select, button, fieldset, img {border: 0;}
h1, h2, h3, h4, h5, h6 {font-weight: normal; font-size: 100%; line-height: normal;}
img {max-width: 100%; vertical-align:middle; -webkit-tap-highlight-color: rgba(0,0,0,0);}
legend, caption {visibility: hidden; overflow: hidden; position: absolute; width: 0; height: 0; line-height: 0;}
blockquote, q {quotes: none;}
blockquote::before, blockquote::after,
q::before, q::after {content: none;}
a, a:hover{color: inherit;}
a:link, a:visited, a:hover, a:active {text-decoration: none;}
select {-webkit-border-radius: 0; appearance:  menulist-text;}
input[type=text], input[type=password], input[type=submit], select {-webkit-border-radius: 0; -webkit-appearance: none;}
input[type="checkbox"], input[type="radio"]{-webkit-appearance: none;}
input[type=checkbox], input[type=radio] {vertical-align: middle;}
input[type=image] {height: auto;}
input[type=file] {border: 0; background: none;}
textarea {overflow-y: auto;}
input[type="checkbox"], input[type="radio"], label{cursor:pointer}
ol, ul, li {padding: 0; margin: 0; list-style: none;}
label, select, input, button {font-family: inherit;}
input, textarea, select {color: inherit; font-family: inherit;}
table {border-collapse: collapse; border-spacing: 0;}
a, button, input, select{line-height: normal;}
button {background: none; border: 0; padding: 0; margin:0; color: inherit; text-align: left; cursor: pointer; overflow:visible; white-space:nowrap;}
iframe, video {max-width: 100%; display: block;}

/* ==========================================================================
    Variable
   ========================================================================== */
:root {
    --main-gap: 40px;
    --main-width: 1300px;
    --sidebar-width: 360px;
    --basic-color: #000;
    --bg-color: #0e0e0e;
    --border-color01: #f4f4f4;
    --border-color02: #e4e4e4;
    --point-color01: #81ff7f;
    --point-color0101: #2c712f;
    --point-color02: #475067;
    --header-height: 76px;
    --topbar-height: 41px;
    --radius01: 8px;
    --radius02: 4px;

    --form-dot: #00a650;
    --form-border: #f5f5f5;
    --form-gray: #f5f5f5;
    --form-focus: #222;
    --form-basic: #222;
    --form-chk: #e20012;
    --form-fontsize : 16px;
    --form-lineheight : 22px;
    --form-fontcolor : #222;
    --form-placeholder : #bbb;
    --form-padding : 16px;
    --form-padding1 : 14px 16px;
    --input-height: 50px;
    --input-gap: 20px;
    --textarea-height: 180px;
}
@media (width <= 1280px) {
    :root {
    }
}
@media (width <= 1024px) {
    :root {
    }
}
@media (width <= 860px) {
    :root {
        --main-gap: 20px;
    }
}
@media (width <= 640px) {
    :root {
        --sidebar-width: 430px;
    }
}

/* ==========================================================================
    Common Text
   ========================================================================== */
html {overflow-y: scroll; min-width: 320px; -webkit-text-size-adjust: 100%; text-size-adjust: 100%; font-size: 18px;}
html:lang(ko){word-break: keep-all;}
body {font-family: 'Pretendard', 'Malgun Gothic', 'Apple SD Gothic Neo', sans-serif; font-size: 18px; line-height: 22px; color: var(--basic-color); text-rendering: optimizeLegibility; background-color: var(--bg-color); }
::selection {background: #222; color: #fff; }
@media (width <= 640px) {
    body{font-size: 14px; line-height: 20px;}
}
/* ==========================================================================
    Button
   ========================================================================== */
.button01{display: flex; align-items: center; width: 100%; height: 48px; padding: 0 20px; font-size: 21px; color: var(--point-color01); letter-spacing: -1px; border: 1px solid #0E0E0E; background-color: #0E0E0E; transition: .2s ease-out;}
.button01:hover{color: #0E0E0E; background-color: transparent;}
/* ==========================================================================
    Form
   ========================================================================== */
label{height: 44px; line-height: 1.2;}
input{width: 100%; height: 44px; padding: 0 1rem; box-sizing: border-box; font-size: 1rem; outline: none; color: #222; vertical-align: middle; background: #fff; border: 1px solid #dbdbdb; transition: 0.3s;}
select{width: 100%; height: 44px; padding: 0 2.5rem 0 1rem; border: 1px solid #dbdbdb;
    background: #fff url(/assets/newreal/img/common/form_sel_arrow.png) no-repeat right 1rem top 50%; font-size: 1rem; vertical-align: middle;}
textarea{width: 100%; box-sizing: border-box; padding: 1rem; resize: none; border-radius: 0; background-color: #fff; border: 1px solid #dbdbdb; color: #222; transition: 0.3s; font-size: 1rem;}
/*select:focus,*/
/*textarea:focus,*/
/*input[type=text]:focus,*/
/*input[type=password]:focus {outline: none; border: 1px solid #222;; box-shadow: none;}*/
/*input:-webkit-autofill,*/
/*input:-webkit-autofill:hover,*/
/*input:-webkit-autofill:focus,*/
/*input:-webkit-autofill:active {-webkit-box-shadow: 0 0 0px 1000px rgba(0,0,0,0) inset !important;}*/
/*input:focus,*/
/*input:focus + label,*/
/*select:focus,*/
/*textarea:focus{border-color: #222; background-color: #fff;}*/
/*input::placeholder,*/
/*textarea::placeholder{font-weight: 300; color: #bbb;}*/

.form-ip{height: 43px; font-size: 16px; color: var(--basic-color); line-height: 17px; padding: 0; border: 0; border-bottom: 1px solid #131313; background-color: transparent;}
input:-webkit-autofill{
    -webkit-box-shadow: 0 0 0px 1000px transparent inset !important; /* 투명 배경 */
    -webkit-text-fill-color: inherit !important; /* 부모 글자색 따라감 */
    transition: background-color 5000s ease-in-out 0s; /* 깜빡임 방지 */
}
select.form-ip{outline: none; box-shadow: none;}
select.form-ip option{color: #fff; background-color: var(--basic-color);}
textarea.form-ip{height: 113px; border: 0; font-size: 13px; line-height: 17px; padding: 11px 13px; background-color: #63ca61}
textarea.form-ip:focus{outline: none;}
/* ==========================================================================
  BOOTSTRAP & PLUGIN SETTING
   ========================================================================== */
.btn:focus,
button:focus{box-shadow: none !important; outline: none !important;}
.form-check-input:focus,
.form-control:focus,
.form-select:focus{box-shadow:none;}
.tab-pane{outline: 0;}
.accordion-button:not(.collapsed)::after{transform: rotate(-180deg);}
/*Swiper*/
.swiper{user-select: none;}
.swiper-wrapper{transition-timing-function: ease-out;}
.swiper-slide{transform: translateZ(0); backface-visibility: hidden;}
.swiper-button-next:after,
.swiper-button-prev:after{content:""}
.swiper-button-next,
.swiper-button-prev{width: 35px; height: 70px;}
.swiper-button-next{right: var(--main-gap); background: url('/assets/newreal/img/common/mv_arr_next_w.png') no-repeat right center / 25px auto;}
.swiper-button-prev{left: var(--main-gap); background: url('/assets/newreal/img/common/mv_arr_prev_w.png') no-repeat left center / 25px auto;}
.swiper-button-prev:hover,
.swiper-button-prev:focus,
.swiper-button-next:hover,
.swiper-button-next:focus,
.swiper-pagination-bullet,
.swiper-pagination-bullet:hover,
.swiper-pagination-bullet:focus{outline:none}
.swiper-button-next.swiper-button-disabled,
.swiper-button-prev.swiper-button-disabled{opacity: .5;}
.swiper-horizontal>.swiper-pagination-bullets,
.swiper-pagination-bullets.swiper-pagination-horizontal{bottom: 24px; display: flex; justify-content: center; gap: 8px;}
.swiper-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet,
.swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet{margin: 0; width: 13px; height: 13px; border: 1px solid #fff; background-color: transparent; opacity: .6;}
.swiper-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet-active,
.swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet-active{background-color: #fff; opacity: 1;}
/*Aos*/
[data-aos=fade-up]{transform:translate3d(0,50px,0)}
[data-aos=fade-left]{transform:translate3d(50px,0,0)}
[data-aos=fade-right]{transform:translate3d(-50px,0,0)}


/* ==========================================================================
   VIMEO VIDEO BACKGROUND COVER
   ========================================================================== */
.video-background { position:relative; width:100%; height: 100%; overflow:hidden; background:#000; pointer-events: none;}
.video-background-wrap { position:absolute; inset: -1px 0 -1px 0; overflow:hidden; translate: 0 -1px;}  /*음수는 틈이 생긴 문제*/

/* ★ 비율/커버는 이 컨테이너가 담당 (예: 16:9) */
.video-frame {
    position:absolute; top:50%; left:50%; transform:translate(-50%, -50%);
    aspect-ratio: 1000 / 491;   /* ← 여기서 맞춰서 처리 */
}

@media (min-aspect-ratio: 1000 / 491) {
    .video-frame { height:100%; width:auto; }
}
@media (max-aspect-ratio: 1000 / 491) {
    .video-frame { width:auto; height:100%; }
}
.video-frame .vimeo-bg {position:absolute; inset:0; width:100%; height:100%; border:0;}
.video-poster { position:absolute; inset:-2px; z-index:-1; }
.video-poster img { width:100%; height:100%; object-fit:cover; display:block; }
/* ==========================================================================
    Title & Text set
   ========================================================================== */


/* ==========================================================================
   ANIMATION
   ========================================================================== */

@keyframes fadeEffect {
    from {opacity: 0;}
    to {opacity: 1;}
}

@keyframes fadeUp {
    from {opacity: 0; transform: translate(0, 15%);}
    to {opacity: 1; transform: translate(0, 0);}
}

@keyframes move01 {
    from {transform: scale(1)}
    to {transform: scale(1.15)}
}
@keyframes move02 {
    from {transform: scale(1.15)}
    to {transform: scale(1)}
}

/* ==========================================================================
  COMMON RESPONSIVE
   ========================================================================== */
.dsp, .p-dsp, .tl-dsp, .tp-dsp, .m-dsp, .m-dspi{display: none}
.show-mobile{display: none;}

@media only screen and (max-width: 1200px) {
    .p-dsp{display: block}
    .p-dspn{display: none;}
}

@media (width <= 1024px) {
    .tl-dsp{display: block}
    .tl-dspn{display: none;}
}

@media (width <= 860px) {
    .tp-dsp{display: block}
    .tp-dspn{display: none;}
}

@media (width <= 640px) {
    .m-dsp{display: block}
    .m-dspn{display: none;}
    .show-mobile{display: block;}
}

/* ==========================================================================
    Utility Class
   ========================================================================== */
.no-scroll{overflow:hidden; touch-action: none;}
/*Backdrop*/
.ui-backdrop{position:fixed;inset:0;opacity:0;pointer-events:none;transition:.2s;background:rgba(0,0,0,.85); z-index:999;}
.ui-backdrop.show{opacity:1;pointer-events:auto;}
.ellips{text-overflow: ellipsis; white-space: nowrap; overflow: hidden; text-align: left}
.ellips-multi{display: -webkit-box; text-overflow: ellipsis; -webkit-box-orient: vertical; overflow: hidden; /*-webkit-line-clamp: 1;*/}
/*Screen Reader Only*/
.sr-only {position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0, 0, 0, 0) !important; white-space: nowrap !important; border: 0 !important;}
/* scr-none : 모바일 메뉴 사용 시, body scroll 금지 */
.scr-none {overflow-y: hidden; -ms-overflow-style: none; scrollbar-width: none; /* Firefox */}
.scr-none::-webkit-scrollbar {display: none;}
[hidden] {display: none;}
.clearfix::after{ content: ''; display: block; clear: both; }
.pre-box{white-space:pre-wrap; word-break:break-all}
.fit-img{width: 100%; height: 100%; object-fit: cover}
.fit-wimg{width: 100%}
/*유튜브 반응형*/
.video-responsive{position: relative; height: 0; padding-bottom: 56.25%; overflow: hidden;}
.video-responsive iframe{position: absolute; left: 0; top: 0; height: 100%; width: 100%;}

.text_c {text-align:center;}
.text_l {text-align:left;}
.text_r {text-align:right;}
.float_r {float:right;}
.float_l {float:left;}

.clear {clear:both !important;}
.pat0{ padding-top:0 !important;}
.pab0{ padding-bottom:0 !important;}
.mat0{ margin-top:0 !important;}
.mab0{ margin-bottom:0 !important;}

.mat5{ margin-top:5px !important;}
.mar5{ margin-right:5px !important;}
.mab5{ margin-bottom:5px !important;}
.mal5{ margin-left:5px !important;}

.mat10{ margin-top:10px !important;}
.mar10{ margin-right:10px !important;}
.mab10{ margin-bottom:10px !important;}
.mal10{ margin-left:10px !important;}

.mat20{ margin-top:20px !important;}
.mar20{ margin-right:20px !important;}
.mab20{ margin-bottom:20px !important;}
.mal20{ margin-left:20px !important;}

.mat30{ margin-top:30px !important;}
.mar30{ margin-right:30px !important;}
.mab30{ margin-bottom:30px !important;}
.mal30{ margin-left:30px !important;}

.mat40{ margin-top:40px !important;}
.mar40{ margin-right:40px !important;}
.mab40{ margin-bottom:40px !important;}
.mal40{ margin-left:40px !important;}

.mat50{ margin-top:50px !important;}
.mar50{ margin-right:50px !important;}
.mab50{ margin-bottom:50px !important;}
.mal50{ margin-left:50px !important;}

.mat60{ margin-top:60px !important;}
.mar60{ margin-right:60px !important;}
.mab60{ margin-bottom:60px !important;}
.mal60{ margin-left:60px !important;}

.mat70{ margin-top:70px !important}
.mar70{ margin-right:70px !important}
.mab70{ margin-bottom:70px !important}
.mal70{ margin-left:70px !important}

.mat80{ margin-top:80px !important}
.mar80{ margin-right:80px !important}
.mab80{ margin-bottom:80px !important}
.mal80{ margin-left:80px !important}

.mat90{ margin-top:90px !important}
.mar90{ margin-right:90px !important}
.mab90{ margin-bottom:90px !important}
.mal90{ margin-left:90px !important}

.mat100{ margin-top:100px !important}
.mar100{ margin-right:100px !important}
.mab100{ margin-bottom:100px !important}
.mal100{ margin-left:100px !important}
@media screen and (max-width:1024px){
    .mat20{ margin-top:10px !important}
    .mab20{ margin-bottom:10px !important}

    .mat30{ margin-top:15px !important}
    .mab30{ margin-bottom:15px !important}

    .mat40{ margin-top:20px !important}
    .mab40{ margin-bottom:20px !important}

    .mat50{ margin-top:20px !important}
    .mab50{ margin-bottom:20px !important}

    .mat60{ margin-top:30px !important}
    .mab60{ margin-bottom:30px !important}

    .mat70{ margin-top:35px !important}
    .mab70{ margin-bottom:35px !important}

    .mat80{ margin-top:40px !important}
    .mab80{ margin-bottom:40px !important}

    .mat90{ margin-top:45px !important}
    .mab90{ margin-bottom:45px !important}

    .mat100{ margin-top:50px !important}
    .mab100{ margin-bottom:50px !important}
}



/* 너비 */
.w100{width:100% !important;}
.w80{width:80% !important;}
.w75{width:75% !important;}
.w70{width:70% !important;}
.w65{width:65% !important;}
.w60{width:60% !important;}
.w55{width:55% !important;}
.w50{width:50% !important;}
.w45{width:45% !important;}
.w40{width:40% !important;}
.w35{width:35% !important;}
.w30{width:30% !important;}
.w25{width:25% !important;}
.w20{width:20% !important;}
.w15{width:15% !important;}
.w10{width:10% !important;}
