@charset "utf-8"; @import url(fonts.css); /* 변수설정 */ :root { --primary1:#02908B; --primary1-rgb: 2, 144, 139; --primary2:#04C2C3; --primary3:#01B3B4; --secondary1:#011C2F; --secondary2 :#122D41; --secondary3 :#0A3F4E; --secondary4 :#7E9796; --secondary4-rgb :126, 151, 150; --secondary5 :#004F4F; --secondary6 :#16586A; --secondary6-rgb :22, 88, 106; --tertiary1: #2C3D4D; --tertiary2: #0A3F4E; --tertiary3: #060C2D; --quaternary:#004F4F; --positive: #51C2AC; --negative: #FF0000; --alert:#FF0000; --dismiss: #666666; /* red */ --red-100: #FF0000; --red-300 :#FF5F6A; --red-400 :#FF2E3C; --red-500 :#FA0011; /* green */ --orange :#FF8B36; /* gray scale - text/icon/bg */ --gray-scale0: #000; --gray-scale1: #040404; --gray-scale2: #222; --gray-scale3: #333; --gray-scale4: #444; --gray-scale5: #555; --gray-scale6: #666; --gray-scale7: #777; --gray-scale8: #888; --gray-scale9: #999; --gray-scaleA: #AAA; --gray-scaleB: #BBB; --gray-scaleD: #DDD; --white: #fff; --white-rgb: 255, 255,255; --bg-dim-white: rgba(255, 255, 255, .8); --bg-dim-gray: rgba(79, 88, 103, .7); --bg-dim-primary : rgba(57, 132, 243, .08); --bg-dim-focusBlue : rgba(56, 130, 245, .1); --bg-readonly: #e9e9e9; --bg-disabled: #e9e9e9; --bx-s-default:0px 2px 4px rgba(15, 57, 97, 0.1); --bx-s-footer:0px -2px 4px rgba(15, 57, 97, 0.1); --input-box-shadow: inset 0 0 0 1px rgba(0, 0, 0, .16); --focused-box-shadow: inset 0 0 0 2px rgba(0, 162, 197, 1); --active-box-shadow: inset 0 0 0 2px rgba(0, 0, 0, .6); --focused-transition: box-shadow .3s ease; /* 폰트사이즈 변수설정 */ --fs-ex:3.4rem; --fs-xxl:2.6rem; --fs-xl:2.2rem; --fs-l:1.8rem; --fs-ml:1.6rem; --fs-m:1.4rem; --fs-ms:1.3rem; --fs-s:1.2rem; --fs-xs:1.0rem; --fs-xxs:.8rem; /* 폰트두께변수설정 */ --fw-regular: 300; --fw-default: 500; --fw-bold: 700; --fw-heavy: 800; } /* 요소(element) 여백 초기화 */ 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{word-wrap:break-word;margin:0;padding:0;} article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block} html,body,#root{width:100%;height:100%;margin:0;} html {-webkit-text-size-adjust: none;font-size: 10px; /* 1rem = 10px */} body {color:var(--white); font-family:'NanumSquare', sans-serif; font-weight: var(--fw-regular); letter-spacing:-.1px;font-size: 1.4rem; background-color: var(--secondary1);} img {border:0; vertical-align:top;} * {margin: 0;padding: 0;color: inherit;} *, :after, :before {-webkit-box-sizing: border-box;box-sizing: border-box;-ms-flex-negative: 0;flex-shrink: 0;} :root {-webkit-tap-highlight-color: transparent;-webkit-text-size-adjust: 100%;-moz-text-size-adjust: 100%;-ms-text-size-adjust: 100%;text-size-adjust: 100%;cursor: default;line-height: 1.5;overflow-wrap: break-word;-moz-tab-size: 4;-o-tab-size: 4;tab-size: 4} html, body {height: 100%; overflow-y: hidden;} img, picture, video {display: block;max-width: 100%;} a {text-decoration: none} table {border-collapse: collapse;border-spacing: 0} /* 목록 */ ol, ul {list-style:none;} /* 텍스트 관련 요소 초기화 */ address, caption, em, cite {font-weight:normal; font-style:normal;} /* 테두리 없애기 */ fieldset, img, abbr, acronym { border:none; margin:0; padding:0;} /* 테이블 - 마크업에 'cellspacing="0"' 지정 함께 필요 */ table { border-collapse:collapse; border-spacing:0;} /* 수평선*/ hr { display:none; } /* 나눔고딕 볼드 설정 */ b, strong {font-weight:600;} /* 윗첨자 아래첨자 */ sup, sub {font-size:10px;} /* button 초기화 */ button {font-family:'NanumSquare', sans-serif;border: 0; background-color: transparent; vertical-align:middle; cursor:pointer; -webkit-appearance:none;appearance: none; letter-spacing:-0.5px;} button::-moz-focus-inner {padding:0; } /* select ie 초기화 */ select:focus::-ms-value {background:none; color:#333;} /* hidden 접근성 관련 */ .blind{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;} /* 전역클래스 */ .hidden {position:absolute; top:-10000em; overflow:hidden; height:0px; width:0px;} .clear_box:after{content:''; display:block; clear:both;} .dp_none {display:none;} .fl {float:left;} .fr {float:right;} .ta_l {text-align:left !important; } .ta_c {text-align:center !important; } .ta_r {text-align:right !important; } .va_t {vertical-align:top !important;} .va_m {vertical-align:middle !important;} .color1 {color:#0475F4} .shadow {box-shadow: 0 2px 4px rgba(0,0,0,0.2);} .htFit {height:calc(100% - 60px) !important} .scrollY {overflow-y: auto;} /* row-설정 */ .row {display: flex; align-items: center;} .rowC {display: flex; flex-direction: column;} .rowSB {display: flex; justify-content: space-between;align-items: center;} .rowSB.flx1 > * {flex:1} .rowL {display: flex; align-items: center; justify-content: flex-start;} .rowR {display: flex; align-items: center; justify-content: flex-end;} /* flex-설정 */ .noFlex {flex: none !important;} .flx{display:flex !important;} .fL {display:flex !important; justify-content:flex-start !important;} .fR {display:flex !important; justify-content:flex-end !important;} .fC {display:flex !important; justify-content:center !important;} .fSB {display:flex !important; justify-content:space-between !important;} .fAt {display:flex !important; align-items:flex-start !important;} .fAb {display:flex !important; align-items:flex-end !important;} .fAc {display:flex !important; align-items:center !important;} .flxCol{flex-direction: column !important;} .flxWrap {flex-wrap: wrap !important;} .nowrap {flex-wrap: nowrap !important;} .flx0 {flex: 0 1 auto;} .flx1 {flex: 1;} /* gap */ .gap5{gap:0.5rem !important;} .gap10{gap:1rem !important;} .gap12{gap:1.2rem !important;} .gap15{gap:1.5rem !important;} .gap20{gap:2rem !important;} /* title */ .tit14 {font-size:var(--fs-m); line-height: 1.2; font-weight: var(--fw-bold);} .tit12 {font-size:var(--fs-s); line-height: 1.2; font-weight: var(--fw-bold);} /*======================== package */ /*margin 제어*/ .m0 {margin:0 !important;} .m10{ margin:10px !important;} .m20{ margin:20px !important;} .m30{ margin:30px !important;} .mt0 {margin-top:0px !important;} .mt5 {margin-top:5px !important;} .mt10 {margin-top:10px !important;} .mt15 {margin-top:15px !important;} .mt20 {margin-top:20px !important;} .mt25 {margin-top:25px !important;} .mt30 {margin-top:30px !important;} .ml0 {margin-left:0px !important;} .ml5 {margin-left:5px !important;} .ml10 {margin-left:10px !important;} .ml15 {margin-left:15px !important;} .ml20 {margin-left:20px !important;} .ml25 {margin-left:25px !important;} .ml30 {margin-left:30px !important;} .mr0 {margin-right:0px !important;} .mr5 {margin-right:5px !important;} .mr10 {margin-right:10px !important;} .mr15 {margin-right:15px !important;} .mr20 {margin-right:20px !important;} .mr25 {margin-right:25px !important;} .mr30 {margin-right:30px !important;} .mb0 {margin-bottom:0px !important;} .mb5 {margin-bottom:5px !important;} .mb10 {margin-bottom:10px !important;} .mb15 {margin-bottom:15px !important;} .mb20 {margin-bottom:20px !important;} .mb25 {margin-bottom:25px !important;} .mb30 {margin-bottom:30px !important;} .mtb24 {margin: 2.4rem 0;} /* padding 제어 */ .p0 {padding:0 !important;} .p10{ padding:10px !important;} .p20{ padding:20px !important;} .p30{ padding:30px !important;} .pt0 {padding-top:0px !important;} .pt5 {padding-top:5px !important;} .pt7 {padding-top:7px !important;} .pt8 {padding-top:8px !important;} .pt10 {padding-top:10px !important;} .pt15 {padding-top:15px !important;} .pt20 {padding-top:20px !important;} .pt25 {padding-top:25px !important;} .pt30 {padding-top:30px !important;} .pl0 {padding-left:0px !important;} .pl5 {padding-left:5px !important;} .pl10 {padding-left:10px !important;} .pl15 {padding-left:15px !important;} .pl20 {padding-left:20px !important;} .pl25 {padding-left:25px !important;} .pl30 {padding-left:30px !important;} .pr0 {padding-right:0px !important;} .pr5 {padding-right:5px !important;} .pr10 {padding-right:10px !important;} .pr15 {padding-right:15px !important;} .pr20 {padding-right:20px !important;} .pr25 {padding-right:25px !important;} .pr30 {padding-right:30px !important;} .pb0 {padding-bottom:0px !important;} .pb5 {padding-bottom:5px !important;} .pb10 {padding-bottom:10px !important;} .pb15 {padding-bottom:15px !important;} .pb20 {padding-bottom:20px !important;} .pb25 {padding-bottom:25px !important;} .pb30 {padding-bottom:30px !important;} /* height 제어 5단위*/ .ht10 {height:10px !important;} /* width 제어 */ .w0 {width:0% !important;} .w10 {width:10% !important;} .w20 {width:20% !important;} .w30 {width:30% !important;} .w40 {width:40% !important;} .w50 {width:50% !important;} .w60 {width:60% !important;} .w70 {width:70% !important;} .w80 {width:80% !important;} .w90 {width:90% !important;} .w100 {width:100% !important;} .w333333 {width:33.3333% !important;} .w666666 {width:66.6666% !important} .w4r {width: 4rem !important;} .w5r {width: 5rem !important;} .w9r {width: 9rem !important;} .w10r {width: 10rem !important;} .w11r {width: 11rem !important;} .w12r {width: 12rem !important;} .w13r {width: 13rem !important;} .w14r {width: 14rem !important;} .w15r {width: 15rem !important;} .w46r {width: 46rem !important;} /* ui-popup small */ .w61r {width: 61rem !important;} /* ui-popup big */ /* input */ textarea { width: 100%; font-family: 'NanumSquare', sans-serif; background-color: var(--secondary2); border: 1px solid var(--secondary4); font-size: var(--fs-m); color: var(--white); font-weight: var(--fw-regular); padding: 1rem 1.2rem; } select{ appearance: none; -webkit-appearance: none; -moz-appearance: none; background:var(--secondary2) url('../images/ico_select.svg')no-repeat right 1.2rem center / 1.2rem; border: 1px solid var(--secondary4); width: 100%; height: 4rem; font-family: 'NanumSquare', sans-serif; font-size: var(--fs-m); color: var(--white); font-weight: var(--fw-regular); padding: 1rem 1.2rem; text-overflow: ellipsis;white-space: nowrap; max-width: 100%; overflow: hidden; } input:not([type="range"]), input:not([type="range"]):disabled{ -webkit-appearance: none; appearance: none; -webkit-text-fill-color: inherit; opacity: 1; } input:not([type="range"]){ appearance: none; -webkit-appearance: none; -moz-appearance: none; width: 100%; height: 4rem; font-family: 'NanumSquare', sans-serif; background-color: var(--secondary2); border: 1px solid var(--secondary4); font-size: var(--fs-m); color: var(--white); font-weight: var(--fw-regular); padding: 0 1.2rem; } input::placeholder { color:rgba(var(--white-rgb),.3); } /* Chrome, Safari, Opera, Microsoft Edge */ ::-webkit-input-placeholder { color:rgba(var(--white-rgb),.3); } /* Firefox 19+ */ ::-moz-placeholder { color:rgba(var(--white-rgb),.3); } /* Firefox 18- */ :-moz-placeholder { color:rgba(var(--white-rgb),.3); } /* Internet Explorer 10-11 */ :-ms-input-placeholder { color:rgba(var(--white-rgb),.3); } /* 파일업로드 */ .fileWrap { display: flex; align-items: center; width: 100%; height: 4rem; gap: 1rem; border: 1px solid var(--secondary4); padding-right: 1rem; } .fileInput { display: none; } .fileLabel { display: inline-flex; padding: 0.3rem 1rem; background-color: var(--secondary1); color: var(--white); cursor: pointer; font-weight: bold; transition: background 0.3s; margin-left: .5rem; } .fileName { flex: 1; color: var(--white); font-size: var(--fs-m); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; } /* input - password */ input[type="password"] { color: var(--white); opacity: 1 !important; } input[type="password"]::placeholder { color: #ccc; } /* checkBox - 초기화 */ input[type="checkbox"] { appearance: none; -webkit-appearance: none; -moz-appearance: none; position: absolute; opacity: 0; width: 0px; height: 0px; cursor: pointer; padding:0; border: 0; } input:disabled {pointer-events: none;} /* checkBox */ .checkbox {display:flex;align-items:center;position:relative;cursor:pointer;} .checkbox input + span::after {content:"";position:absolute;top:50%;right:0;transform:translateY(-50%);width:3.2rem;height:3.2rem;background:url('../images/ico_check_off.svg') no-repeat center/contain;} .checkbox input:checked + span::after {content:"";position:absolute;top:50%;right:0;transform:translateY(-50%);background:url('../images/ico_check_on2.svg') no-repeat center/contain;} .checkbox:focus-within input:focus-visible + span::after {outline: 2px solid var(--white);outline-offset: 2px;border-radius: .4rem;} .checkL {gap: .6rem;} .checkL span {padding-left: 3.6rem;font-weight: var(--fw-bold);} .checkL input + span::after {left: 0; right: auto; width: 2.4rem; height: 2.4rem; background-size: 2.4rem;} /* radio - 초기화 */ input[type="radio"] { appearance: none; -webkit-appearance: none; -moz-appearance: none; position: absolute; opacity: 0; width: 1px; height: 1px; margin: 0; overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap; border: 0; outline: none; } /* radio - 라디오버튼 오른쪽 */ .radio {display:flex;align-items:center;position:relative;cursor:pointer;} .radio input + span::after {content:"";position:absolute;top:50%;right:0;transform:translateY(-50%);width:2rem;height:2rem;background:url('../images/ico_radio_off.svg') no-repeat center/contain;} .radio input:checked + span::after {content:"";position:absolute;top:50%;right:0;transform:translateY(-50%);background:url('../images/ico_radio_on.svg') no-repeat center/contain;} .radio:focus-within input:focus-visible + span::after {outline: 2px solid var(--white);outline-offset: 2px;border-radius: .4rem;} /* radio - 라디오버튼 왼쪽 */ .radioL {flex-direction: row-reverse;} .radioL input + span::after {right: auto;left: 0; } .radioL input + span { padding-left: 3rem; } /* numInput */ .numInput input[type="number"]::-webkit-inner-spin-button, .numInput input[type="number"]::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; } /* Firefox */ .numInput input[type="number"] { -moz-appearance: textfield; } .numInput {position: relative; display: inline-flex;} .numInput input {padding-right: 2rem;} .numInput .spin {position: absolute; top: 50%; right: .5rem;transform: translateY(-50%); display: flex; flex-direction: column;} .numInput .spin button{width: 1.7rem; height: 1.1rem; cursor: pointer;} .numInput .spin .spinUp {background: url(../images/ico_spinup.svg)no-repeat center / contain;} .numInput .spin .spinDown {background: url(../images/ico_spindown.svg)no-repeat center / contain;} /* switch */ .switch { cursor: pointer; position: relative; display: flex; align-items: center; } .switch input { position: absolute; opacity: 0; filter: alpha(opacity=0); } .switch input:checked+span { background-color: var(--primary1); border: .2rem solid var(--primary1); } .switch input:checked+span:after { left: 2.2rem; } .switch span { position: relative; width: 4rem; height: 1.8rem; border-radius: 3rem; background-color: var(--gray-scaleA); border: .2rem solid var(--gray-scaleA); display: inline-block; -webkit-transition: background-color 0.2s; transition: background-color 0.2s; } .switch span::before { content: "ALL"; position: absolute; top: 50%; transform: translateY(-50%); right: .4rem; z-index: 1; pointer-events: none; font-size: 0.9rem; color:var(--white); } .switch input:checked + span::before { right: auto; left: .4rem; } .switch span:after { content: ""; position: absolute; background-color: var(--white); width: 1.2rem; height: 1.2rem; top: .1rem; left: .2rem; border-radius: 3rem; -webkit-box-shadow: 1px 1px 3px rgba(0,0,0,0.25); box-shadow: 1px 1px 3px rgba(0,0,0,0.25); -webkit-transition: left 0.2s; transition: left 0.2s; } .switch:focus-within input:focus-visible + span { outline: 2px solid var(--white); outline-offset: 2px; } .switch.sm input:checked+span {border-width: .1rem;} .switch.sm input:checked+span:after { left: 1.2rem;} .switch.sm span {width: 2.6rem; height: 1.4rem; border-width: .1rem;} .switch.sm span::before {content: none;} .switch.sm span:after {width: 1rem; height: 1rem; top: .1rem;left: .2rem;} /* ========================= 슬라이더 -range ========================= */ /* 래퍼 */ .rangeWrap { width: 15rem; } /* 기본 range 초기화 */ .rangeWrap input[type="range"] { -webkit-appearance: none; appearance: none; width: 100%; height: .6rem; background: transparent; cursor: pointer; padding: 0; margin: 0; border-radius: 1rem; } /* Track - Chrome / Edge / Safari */ .rangeWrap input[type="range"]::-webkit-slider-runnable-track { height: .6rem; background: linear-gradient( to right, var(--primary2) 0%, var(--primary2) var(--percent), var(--secondary4) var(--percent), var(--secondary4) 100% ); border-radius: 1rem; } /* Track - Firefox */ .rangeWrap input[type="range"]::-moz-range-track { height: .6rem; background: var(--secondary4); border-radius: 1rem; } .rangeWrap input[type="range"]::-moz-range-progress { height: .6rem; background: var(--primary2); border-radius: 1rem; } /* Thumb - Chrome / Edge / Safari */ .rangeWrap input[type="range"]::-webkit-slider-thumb { -webkit-appearance: none; width: 2rem; height: 2rem; background: var(--primary2); border-radius: 50%; margin-top: -0.7rem; /* track 중앙 정렬 */ box-shadow: 1px 1px 3px rgba(0,0,0,0.25); } /* Thumb - Firefox */ .rangeWrap input[type="range"]::-moz-range-thumb { width: 2rem; height: 2rem; background: var(--primary2); border: none; border-radius: 50%; box-shadow: 1px 1px 3px rgba(0,0,0,0.25); } /* focus */ .rangeWrap input[type="range"]:focus-visible::-webkit-slider-thumb { outline: 3px solid var(--primary); outline-offset: 3px; } .rangeWrap input[type="range"]:focus-visible::-moz-range-thumb { outline: 3px solid var(--primary); } /* 스크린리더 전용 텍스트 */ .rangeLabel { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }