@charset "utf-8";

/* All */
header, footer, nav, section, article, aside, figure, figcaption {display:block;}
a img {border:0;}

/* reset style */
html, body, div, span, object, iframe, figure,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, address, big, cite, code,
del, dfn, em, font, img, ins, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
caption, tbody, tfoot, thead, tr, th, td 
{margin:0; padding:0; border:0; font-style:normal; font-weight:normal; line-height:1;}

*, *::before, *::after {-webkit-box-sizing:border-box; box-sizing:border-box;}
* {word-wrap:break-word; word-break:break-all;}

/* default style  */
html,body			{width:100%;}
html				{filter: expression(document.execCommand('BackgroundImageCache', false, true)); -webkit-overflow-scrolling:touch; -webkit-tap-highlight-color:transparent; -webkit-user-select:none; -khtml-user-select:none; -moz-user-select:none; -ms-user-select:none; user-select:none;}
body				{margin:0; padding:0; font-weight:400; font-family:'Pretendard Variable', sans-serif; font-size:12px; color:#696e76; background-color:#fff; letter-spacing:-.02em;}
table				{font-size:12px; border-spacing:0; border-collapse:collapse;}
td,th				{vertical-align:middle; font-size:12px;}
dd,dt,ol,dl,ul,li	{list-style:none; margin:0; padding:0;}
button, label		{padding:0; border:none; vertical-align:middle; font-family:'Pretendard Variable'; outline:none;}
address, caption, cite, code, dfn, strong, th, var {font-style:normal;}
legend,caption		{display:none; height:0; width:0; font-size:0;}
p					{margin:0;}
blockquote, q		{quotes:none;}
ins					{text-decoration:none;}
del					{text-decoration:line-through;}
img, fieldset		{border:0 none; vertical-align:middle;}
img					{max-width:100%;}
a					{outline:none; select-dummy:expression(this.hideFocus=true); -webkit-tap-highlight-color:transparent;}
select				{display:inline-block; vertical-align:middle; margin:0; padding:0; width:100%; height:30px; font-family:'Pretendard Variable'; font-size:12px; color:#26282C; border:none; background-color:#fff; outline:none; appearance:none; -moz-appearance:none; -webkit-appearance:none;}
textarea			{display:block; margin:0; padding:0; width:100%; font-family:'Pretendard Variable'; font-size:12px; color:#26282C; border:none; -webkit-appearance:none; resize:none;}
input, textarea		{outline:none;}
input{
	padding:0;
	width:100%;
	font-family:'Pretendard Variable';
	font-weight:500;
	font-size:20px;
	color:#26282c;
	border:none;
	background-color:transparent;
	vertical-align:middle;
	-webkit-appearance:none;
	appearance:none;
}
input[type="radio"], input[type="checkbox"] {
	vertical-align:middle;
	margin:0;
	padding:0;
}
input,textarea, button				{border-radius:0; -webkit-border-radius:0;}
input[readonly]						{background-color:#fff;}

input::-webkit-input-placeholder	{font-weight:500; font-family:'Pretendard Variable'; color:#A5A9B0;}
input:-ms-input-placeholder			{font-weight:500; font-family:'Pretendard Variable'; color:#A5A9B0;}
input::-moz-placeholder				{font-weight:500; font-family:'Pretendard Variable'; color:#A5A9B0;}
input:-moz-placeholder				{font-weight:500; font-family:'Pretendard Variable'; color:#A5A9B0;}

textarea::-webkit-input-placeholder	{font-weight:500; font-family:'Pretendard Variable'; color:#C5C9D6;}
textarea:-ms-input-placeholder		{font-weight:500; font-family:'Pretendard Variable'; color:#C5C9D6;}
textarea::-moz-placeholder			{font-weight:500; font-family:'Pretendard Variable'; color:#C5C9D6;}
textarea:-moz-placeholder			{font-weight:500; font-family:'Pretendard Variable'; color:#C5C9D6;}


* {-webkit-text-size-adjust:none;}/* 폰트 자동 확대 방지 */

::-webkit-scrollbar {display:none;}/* scrollbar hide */


/* Link style */
a:link					{text-decoration:none;}
a:visited				{text-decoration:none;}
a:hover					{text-decoration:none;}
a:active				{text-decoration:none;}
a:focus					{text-decoration:none;}
a.self					{text-decoration:none;}


/* etc define */
.underline {text-decoration:underline;}
.floatLeft {display:inline; float:left;}
.floatRight {display:inline; float:right;}
.clearBoth {clear:both;}
.alignMiddle {vertical-align:middle;}
.alignTop {vertical-align:top;}
.alignBottom {vertical-align:bottom;}
.alignLeft {text-align:left !important;}
.alignCenter {text-align:center !important;}
.alignRight {text-align:right !important;}
.borderTop {border-top:1px solid #eee;}
.borderTopNone {border-top:none !important;}
.borderBtmNone {border-bottom:none !important;}
.borderNone {border:none !important;}
.borderBottom {border-bottom:1px solid #ddd !important;}
.txtspace {letter-spacing:-1px;}
.displayInlineBblock {display:inline-block;}
.boxShadowNone	{box-shadow:none !important;}
.overflowHidden {overflow:hidden;}
.cursorDefault {cursor:default !important;}
.flexColumn {display:flex; flex-direction:column;}
.h-screen {height:100vh;}
.h-screen-header {height:calc(100vh - 54px);}
@supports (-webkit-touch-callout:none) {.h-screen {height:-webkit-fill-available;}}


/* Layout Selector */
.wrap												{display:flex; flex-direction:column; min-width:320px; overflow:hidden;}
.contents::before									{content:""; position:fixed; top:54px; left:0; z-index:-1; width:100%; height:100%; background-color:#F0F2F4;}


/* Header */
header												{position:sticky; top:0; z-index:2; display:flex; align-items:center; padding:0 56px; min-height:54px; background-color:#fff;}
header button,
header a											{position:absolute; top:50%; width:24px; height:24px; text-indent:-9999px; background-color:transparent; background-repeat:no-repeat; background-size:100%; transform:translateY(-50%);}
header button										{left:20px; background-image:url('../../images/top/top_back.png');}
header a											{right:20px; background-image:url('../../images/top/top_close.png');}
header em,
header span											{flex:auto; font-weight:600; font-size:18px; color:#26282C;}
header span											{text-align:center;}


/* Fix Bottom Button */
.bottom_btn											{display:flex; gap:8px; padding:0 16px 16px; width:100%; background-color:#fff; box-shadow:0 -16px 24px 0 #fff;}
.bottom_btn.fixed									{position:fixed; bottom:0; left:0; z-index:100;}
.bottom_btn button									{width:100%; height:56px; font-weight:500; font-size:18px; color:#7C818B; border:1px solid #7C818B; border-radius:12px; background-color:#fff;}
.bottom_btn button:last-child						{color:#fff; border:unset; background-color:#0170E1;}
.bottom_btn button.disabled							{color:#C5C9D6; background-color:#EFF0F5; cursor:default;}
.bottom_btn button.line								{color:#7C818B; border:1px solid #7C818B; background-color:#fff;}


/* Splash */
.splash_screen										{display:flex; flex-direction:column; justify-content:center; height:100vh;}
.splash_screen::before,
.splash_screen::after								{content:""; position:absolute; z-index:0; width:100%; max-width:393px; background-repeat:no-repeat; background-size:100% auto;}
.splash_screen::before								{top:0; left:0; bottom:50%; background-image:url('../../images/splash/splash_top.png'); background-position-y:top;}
.splash_screen::after								{top:50%; bottom:0; right:0; background-image:url('../../images/splash/splash_bottom.png'); background-position-y:bottom;}
.splash												{position:relative; z-index:1; display:block; margin-bottom:60px; padding:160px 0 26px; font-size:20px; color:#26282C; line-height:26px; text-align:center;}
.splash::before,
.splash::after										{content:""; position:absolute; left:50%; z-index:1; background-repeat:no-repeat; background-size:100%; transform:translateX(-50%);}
.splash::before										{top:0; width:138px; height:150px; background-image:url('../../images/splash/i_bi.png');}
.splash::after										{bottom:0; width:120px; height:17px; background-image:url('../../images/splash/snuh.png');}
.splash b											{color:#149BDB;}
.splash span										{color:#71AE67;}
.loading											{position:fixed; bottom:40px; left:50%; z-index:1; display:flex; flex-direction:column; align-items:center; gap:10px; transform:translateX(-50%);}
.loading > span										{position:relative; padding-left:16px; font-size:14px; color:#424242;}
.loading > span::after								{content:""; position:absolute; top:50%; left:0; z-index:1; width:12px; height:12px; background:url('../../images/splash/i_loading.png') no-repeat; background-size:100%; transform:translateY(-50%);}


/* Signal  */
.signal												{padding:3px; border:1px solid #D9D9D9; border-radius:25px; background-color:#fff; box-shadow:0 0 6px rgba(0,0,0,.25);}
.signal ul											{display:flex; align-items:center; gap:4px; padding:0 8px; height:42px; border:1px solid #D9D9D9; border-radius:21px; box-shadow:0 .1px 1px rgba(0,0,0,.25) inset;}
.signal ul li										{position:relative; width:28px; height:28px; text-indent:-9999px; border-color:#EDF0F8; border-width:1px; border-style:solid; border-radius:50%; background-color:#F4F6FB; box-shadow:0 4px 4px rgba(0,0,0,.25) inset; overflow:hidden;}
.signal ul li.on:nth-child(1)						{border-color:#DF4744; background-color:#FC5753;}
.signal ul li.on:nth-child(2)						{border-color:#DE9F34; background-color:#FDBC40;}
.signal ul li.on:nth-child(3)						{border-color:#27AA35; background-color:#36C84B;}


/* Splash Login  */
.splash_login										{display:flex; flex-direction:column; justify-content:center; height:100vh;}
.splash_login::before								{content:""; position:absolute; top:-20px; left:-105px; z-index:0; width:340px; height:340px; border-radius:50%; background:linear-gradient(-45deg, #72DA83, #0980C5);}
.splash_login::after								{content:""; position:absolute; top:50%; bottom:0; right:0; z-index:0; width:100%; max-width:393px; background:url('../../images/splash/splash_bottom.png') no-repeat; background-size:100% auto; background-position-y:bottom;}
.splash_login article								{position:relative; z-index:1; flex:auto; display:flex; flex-direction:column; justify-content:center; align-items:center; gap:20px;}
.splash_login article p								{width:332px; height:332px;}
.splash_login article dl							{display:flex; flex-direction:column; gap:8px; text-align:center;}
.splash_login article dl dt							{font-size:28px; color:#26282C; line-height:34px;}
.splash_login article dl dt strong					{font-weight:600; color:#0170E1;}
.splash_login article dl dd							{font-size:13px; color:#677294; line-height:21px;}
.bottom_login										{flex:none; display:flex; flex-direction:column; align-items:center; gap:24px; padding:0 48px 28px; width:100%;}
.bottom_login span									{font-size:12px; color:#677294;}
.bottom_login button								{width:100%; height:54px; font-weight:500; font-size:18px; color:#fff; border-radius:12px; background-color:#0170E1;}
.bottom_login a										{font-size:14px; color:#0483CA;}


/* Completed  */
.completed											{display:flex; justify-content:center; height:100vh;}
.completed::before									{content:""; position:absolute; top:-20px; right:-105px; z-index:0; width:340px; height:340px; border-radius:50%; background:linear-gradient(-45deg, #72DA83, #0980C5);}
.completed::after									{content:""; position:absolute; top:50%; bottom:0; right:0; z-index:0; width:100%; max-width:393px; background:url('../../images/splash/splash_bottom.png') no-repeat; background-size:100% auto; background-position-y:bottom;}
.completed article									{position:relative; z-index:1; display:flex; flex-direction:column; align-items:center; gap:20px; padding-top:90px;}
.completed article p								{width:332px; height:332px;}
.completed article dl								{display:flex; flex-direction:column; gap:32px; text-align:center;}
.completed article dl dt							{font-size:28px; color:#26282C; line-height:34px;}
.completed article dl dd							{font-weight:500; font-size:16px; color:#26282C; line-height:19px;}
.completed article dl dd span						{display:block; margin-top:24px; color:#9F9F9F;}
.completed .bottom_btn								{background-color:unset; box-shadow:unset;}


/* 약관동의 */
.agreement_container								{display:flex; flex-direction:column; justify-content:space-between; padding:56px 20px 72px; height:100%;}
.agreement_container > em							{font-weight:500; font-size:32px; color:#26282C; line-height:38px;}


/* 약관동의상세 */
.agreement_detail									{display:flex; flex-direction:column; padding:24px;}
.agreement_detail > em								{padding-bottom:12px; font-weight:600; font-size:15px; color:#26282C; border-bottom:1px solid #DFE3E8;}
.agreement_detail ul								{display:flex; flex-direction:column; gap:32px; padding-top:20px;}
.agreement_detail ul li								{display:flex; flex-direction:column; gap:8px;}
.agreement_detail ul li > strong					{font-weight:500; font-size:14px; color:#484B51;}
.agreement_detail ul li > span						{font-size:13px; color:#696E76; line-height:19px;}
.agreement_detail ul li > span b					{display:block; font-weight:600; line-height:21px;}
.agreement_detail ul li ol							{display:flex; flex-direction:column; gap:4px; padding:0 2px;}
.agreement_detail ul li ol li						{gap:8px; font-size:12px; color:#8C949E; line-height:18px;}
.agreement_detail ul li ol li b						{display:block; font-weight:600; color:#26282C;}


/* 약관동의체크 */
.agreement input									{width:0; height:0;}
.agreement > a										{display:flex; padding:0 8px 24px; border-bottom:1px solid #F2F4F6;}
.agreement > a label								{position:relative; display:flex; align-items:center; padding-left:40px; height:32px; font-weight:500; font-size:21px; color:#26282C;}
.agreement > a label::before						{content:""; position:absolute; top:50%; left:0; z-index:1; width:32px; height:32px; background:url('../../images/icon/all_checkbox.png') no-repeat; background-size:auto 100%; transform:translateY(-50%);}
.agreement ul										{display:flex; flex-direction:column; gap:20px; padding:24px 8px;}
.agreement ul li									{display:flex; align-items:center;}
.agreement ul li label								{position:relative; display:flex; align-items:center; padding-left:32px; height:24px; font-size:16px; color:#26282C;}
.agreement ul li label::before						{content:""; position:absolute; top:50%; left:0; z-index:1; width:24px; height:24px; background:url('../../images/icon/i_checkbox.png') no-repeat; background-size:auto 100%; transform:translateY(-50%);}
.agreement input:checked + label::before			{background-position:right 0;}
.agreement ul li a									{margin-left:auto; font-size:15px; color:#696E76; text-decoration-line:underline;}


/* 약관동의 시행날짜 */
.effective											{padding:48px 24px;}
.effective span										{position:relative; display:block; padding-left:16px; height:56px; border:1px solid #EDF0F8; border-radius:8px; overflow:hidden;}
.effective span::after								{content:""; position:absolute; top:50%; right:16px; z-index:1; width:16px; height:16px; background:url('../../images/icon/arrow_select.png') no-repeat; background-size:100%; transform:translateY(-50%);}
.effective span select								{height:100%; font-weight:600; font-size:16px; color:#26282C;}


/* Text Field */
.textfield											{display:flex; flex-direction:column; gap:24px; padding:20px 20px 120px;}
.textfield > em										{padding:8px 0 24px; font-weight:500; font-size:32px; color:#26282C; line-height:38px;}
.textfield > a										{padding:8px 0; font-weight:600; font-size:20px; color:#0EAE50; text-align:center; text-decoration:underline;}
.textfield center									{display:block; padding:8px 0; font-size:20px; color:#26282c;}
.textfield section									{display:flex; flex-direction:column; gap:12px;}
.textfield section em								{display:flex; align-items:center; gap:8px; font-size:16px; color:#26282C;}
.textfield section em sub							{font-weight:500; font-size:12px; color:#AD2424;}
.textfield section span								{display:flex; align-items:center; gap:10px;}
.textfield section span input						{flex:auto; padding:0 16px; height:56px; font-weight:500; font-size:20px; color:#26282c; border-radius:12px; background-color:#F4F4F4;}}
.textfield section span input:focus					{border-color:#26282C;}
.textfield section span button						{flex:none; padding:0 16px; height:56px; font-weight:500; font-size:18px; color:#fff; border-radius:12px; background-color:#0170E1;}
.textfield section a								{position:relative; display:flex; align-items:center; padding:0 32px 0 16px; height:56px; font-weight:500; font-size:20px; color:#A5A9B0; border-radius:12px; background-color:#F4F4F4;}
.textfield section a::after							{content:""; position:absolute; top:20px; right:16px; z-index:1; width:16px; height:16px; background:url('../../images/icon/dropdown_arrow.png') no-repeat; background-size:100%; transition:all .15s;}
.textfield section a:hover::after					{transform:rotate(180deg);}
.textfield aside									{display:flex; align-items:center; height:24px;}
.textfield aside span								{flex:1; display:flex; align-items:center;}
.textfield aside span input							{width:0; height:0;}
.textfield aside span label							{position:relative; display:flex; align-items:center; padding-left:28px; height:20px; font-weight:600; font-size:14px; color:#26282C;}
.textfield aside span label::before					{content:""; position:absolute; top:50%; left:0; z-index:1; width:20px; height:20px; background:url('../../images/icon/field_checkbox.png') no-repeat; background-size:auto 100%; transform:translateY(-50%);}
.textfield aside span input:checked + label::before	{background-position:right 0;}
.textfield .including								{display:flex; flex-direction:column; gap:24px;}


/* 접근권한허용 */
.access												{display:flex; flex-direction:column; padding:28px 20px 120px;}
.access em											{margin-bottom:16px; font-weight:500; font-size:32px; color:#26282C; line-height:38px;}
.access span										{font-size:15px; color:#8C949E; line-height:19px;}
.access article										{display:flex; flex-direction:column; gap:20px; margin-top:40px;}
.access article dt									{margin-bottom:4px; font-weight:500; font-size:16px; color:#26282C;}
.access article dd									{font-size:14px; color:#696E76; line-height:21px;}


/* Layer View */
.layerView											{position:fixed; top:0; left:0; z-index:-1; width:100%; height:100%; font-family:'Pretendard Variable'; opacity:0; transition:all .2s;}
.layerView::before									{content:""; position:absolute; top:0; left:0; z-index:1; width:100%; height:100%; background-color:rgba(0,0,0,.4);}
.layerView.on										{opacity:1; z-index:9998;}
.layerView.on .layer_body							{margin-top:0; opacity:1;}
.layerView.on .bottom_sheet							{bottom:0;}


/* Layer Popup */
.layer_body											{position:absolute; top:50%; left:24px; right:24px; z-index:1; margin-top:15%; padding-top:28px; border-radius:18px; background-color:#fff; transform:translateY(-50%); transition:all .2s; opacity:0;}
.layer_body .popup_container						{padding:0 24px;}
.layer_body .popup_container > em					{display:flex; align-items:center; margin-bottom:32px; font-weight:700; font-size:24px; color:#26282c;}
.layer_body .popup_button							{display:flex; gap:8px; padding:0 24px 24px;}
.layer_body .popup_button button					{width:100%; height:56px; font-weight:500; font-size:18px; color:#696E76; border-radius:12px; background-color:#F4F6FB;}
.layer_body .popup_button button:last-child			{color:#fff; background-color:#0170E1;}
.layer_body .alert_content							{margin-bottom:32px; font-size:20px; color:#26282C; line-height:24px;}
.layer_body .alert_content b						{font-weight:700;}
.layer_body .alert_content em						{font-weight:700; color:#F56971;}


/* Bottom Sheet */
.bottom_sheet										{position:absolute; bottom:-100%; left:0; z-index:1; width:100%; background-color:#fff; border-radius:24px 24px 0 0; transition:all .15s;}
.bottom_sheet > a									{position:fixed; top:0; left:0; z-index:-1; width:100%; height:100%; text-indent:-9999px;}
.bottom_sheet .bs_body								{position:relative; padding:40px 24px 32px;}
.bottom_sheet .bs_body > em							{display:block; margin-bottom:16px; height:36px; font-weight:700; font-size:20px; color:#26282c;}
.bottom_sheet .bs_body > a							{position:absolute; top:16px; right:16px; z-index:1; width:24px; height:24px; text-indent:-9999px; border-radius:50%; background-color:#F4F6FB;}
.bottom_sheet .bs_body > a::after					{content:""; position:absolute; top:50%; left:50%; z-index:1; width:10px; height:10px; background:url('../../images/icon/icon_close.png') no-repeat; background-size:100%; transform:translate(-50%,-50%);}
.bottom_sheet .bs_body .text_title					{margin-bottom:28px;}
.bottom_sheet .bs_body .text_title p				{display:block; margin-bottom:28px; height:80px; text-align:center;}
.bottom_sheet .bs_body .text_title strong			{display:flex; justify-content:center; align-items:center; gap:8px; font-weight:700; font-size:26px; color:#0170E1;}
.bottom_sheet .bs_body .text_title strong img		{height:30px;}
.bottom_sheet .bs_body .text_title span				{display:block; margin-top:16px; font-size:16px; color:#8C949E; line-height:24px; text-align:center;}
.bottom_sheet .auto_body							{position:relative; display:flex; flex-direction:column; height:100vh;}


/* Bottom Header */
.bottom_header										{position:relative; display:flex; align-items:center; padding:0 16px; min-height:54px; background-color:#fff;}
.bottom_header em									{font-weight:500; font-size:20px; color:#26282c;}
.bottom_header a									{position:absolute; top:50%; right:16px; z-index:1; width:24px; height:24px; text-indent:-9999px; background:url('../../images/top/top_close.png') no-repeat; background-size:100%; transform:translateY(-50%);}


/* Bottom 선택 체크 디폴트 */
.selection											{display:flex; flex-direction:column; gap:8px; max-height:60vh; overflow-y:auto;}
.selection a										{display:flex; align-items:center; min-height:48px;}
.selection a label									{position:relative; padding-right:40px; width:100%; font-size:17px; color:#696E76;}
.selection a input									{width:0; height:0;}
.selection a label::before							{content:""; position:absolute; top:50%; right:0; z-index:1; width:24px; height:24px; background:url('../../images/icon/list_checkbox.png') no-repeat; background-position:0 -24px; background-size:auto 100%; transform:translateY(-50%);}
.selection a input:checked + label					{color:#0170E1;}
.selection a input:checked + label::before			{background-position:right 0;}


/* Bottom 병원 통화 */
.hospitalContact									{display:flex; flex-direction:column; gap:24px; padding:30px;}
.hospitalContact article							{display:flex; align-items:center; gap:20px;}
.hospitalContact article p							{flex:0 0 80px; height:80px; text-indent:-9999px; border-radius:50%; border:1px solid #AFB3BA; background-image:url('../../images/icon/i_hospital.png'); background-repeat:no-repeat; background-size:cover;}
.hospitalContact article p.snuh						{background-image:url('../../images/icon/bi_SNUH.png');}
.hospitalContact article dl							{flex:auto; display:flex; flex-direction:column; gap:4px; color:#26282C;}
.hospitalContact article dl dt						{font-weight:500; font-size:18px;}
.hospitalContact article dl dd						{font-weight:700; font-size:24px;}
.hospitalContact .negative							{display:flex; flex-direction:column; gap:20px;}
.hospitalContact .negative strong					{font-weight:700; font-size:24px; color:#9D2D2D;}
.hospitalContact .negative span						{font-size:20px; color:#26282C;}
.hospitalContact .project							{display:flex; flex-direction:column; align-items:center; gap:24px; padding:16px; box-shadow:0 0 10px rgba(0,0,0,.05);}
.hospitalContact .project em						{padding:16px 0; font-weight:700; font-size:18px; color:#26282C;}
.hospitalContact .project p							{border-radius:16px; overflow:hidden;}
.hospitalContact .project .alert					{display:flex; flex-direction:column; gap:6px; padding:12px 10px; border-radius:12px; background-color:#F3F3F3;}
.hospitalContact .project .alert span				{position:relative; padding:0 10px; font-weight:500; font-size:12px; color:#26282C; line-height:16px;}
.hospitalContact .project .alert span::before		{content:""; position:absolute; top:6px; left:0; z-index:1; width:4px; height:4px; border-radius:50%; background-color:#1747AF;}
.hospitalContact .project .alert i					{position:relative; padding-left:24px; font-weight:500; font-size:12px; color:#26282C;}
.hospitalContact .project .alert i::before			{content:""; position:absolute; top:50%; left:10px; z-index:1; width:12px; height:12px; background:url('../../images/icon/i_call.png') no-repeat; background-size:100%; transform:translateY(-50%);}


/* Main Container */
.main_container										{position:relative; display:flex; flex-direction:column; padding:54px 20px 112px;}
.main_container::before								{content:""; position:fixed; top:0; bottom:0; left:0; right:0; z-index:-2; background-color:#F7FBFF;}
.main_container::after								{content:""; position:fixed; top:0; left:0; z-index:-1; width:100%; height:270px; background-image:linear-gradient(to bottom, #0D84C4 0, #72D984 100%); border-radius:0 0 0 72px;}
.main_container section								{display:flex; flex-direction:column; gap:12px;}
.main_container section aside						{display:flex; flex-direction:column; padding:16px 20px; border-radius:12px; background-color:#fff; box-shadow:0 4px 10px rgba(0,0,0,.05);}
.main_container section aside.active_bg				{background-color:#EBF8FF;}
.main_container section aside > a					{position:relative; display:flex; align-items:center; padding:0 30px; height:24px; font-weight:600; font-size:18px; color:#000;}
.main_container section aside > a::before,
.main_container section aside > a::after			{content:""; position:absolute; top:50%; z-index:1; width:24px; height:24px; background-repeat:no-repeat; transform:translateY(-50%);}
.main_container section aside > a::before			{left:0; background-image:url('../../images/icon/i_ambulance.png'); background-size:100%;}
.main_container section aside > a::after			{right:0; background-image:url('../../images/icon/arrow_regional.png'); background-size:auto 100%;}
.main_container section aside > a.on::after			{background-position-x:right;}
.main_container section .region						{display:none; flex-direction:column; gap:12px;}
.main_container .main_banner						{margin:20px 0 74px; border-radius:12px; text-align:center; overflow:hidden;}
.main_container article								{display:flex; flex-direction:column; gap:20px; padding-top:28px;}
.main_container article aside						{display:flex; flex-direction:column; padding:20px; border-radius:16px; background-color:#fff;}


/* Main Header */
.main_head											{display:flex; justify-content:space-between; height:54px;}
.main_head em										{font-weight:300; font-size:20px; color:#fff; line-height:30px;}
.main_head em strong								{display:block; font-weight:600; font-size:25px;}
.main_head .topBtn									{flex:none; display:flex; gap:16px;}
.main_head .topBtn a								{position:relative; width:24px; height:24px; text-indent:-9999px; background-repeat:no-repeat; background-size:100%;}
.main_head .topBtn a.i_push							{background-image:url('../../images/top/i_push.png');}
.main_head .topBtn a.i_slide						{background-image:url('../../images/top/i_slide.png');}
.main_head .topBtn a.on::after						{content:""; position:absolute; top:0; right:-1px; z-index:1; width:5px; height:5px; border-radius:50%; background-color:#ff8094;}


/* Affiliation */
.affiliation										{display:flex; flex-direction:column; gap:8px; padding:16px 0; color:#fff;}
.affiliation em										{display:block; font-weight:500; font-size:16px; text-align:right;}
.affiliation .info_user								{display:flex; justify-content:space-between;}
.affiliation .info_user i							{position:relative; padding-left:56px; font-weight:600; font-size:20px;}
.affiliation .info_user i::before					{content:"TODAY"; position:absolute; top:50%; left:0; z-index:1; display:flex; justify-content:center; align-items:center; width:50px; height:18px; font-weight:500; font-size:12px; color:#fff; border:1px solid #fff; border-radius:9px; transform:translateY(-50%); opacity:.8;}
.affiliation .info_user span						{position:relative; padding-left:30px; font-weight:500; font-size:20px;}
.affiliation .info_user span::before				{content:""; position:absolute; top:50%; left:0; z-index:1; width:24px; height:24px; background:url('../../images/icon/i_profile.png') no-repeat; background-size:100%; transform:translateY(-50%);}


/* Classify */
.classify											{display:flex; justify-content:space-between; align-items:center; gap:6px; padding-bottom:10px; border-bottom:1px solid #F2F4F6;;}
.classify em										{position:relative; flex:auto; padding-left:30px; font-weight:700; font-size:18px; color:#26282c;}
.classify em::before								{content:""; position:absolute; top:50%; left:0; z-index:1; width:24px; height:24px; background:url('../../images/icon/i_ambulance.png') no-repeat; background-size:100%; transform:translateY(-50%);}
.classify span										{flex:none; display:flex; align-items:center; gap:6px; font-size:12px; color:#677294;}
.classify span a									{width:24px; height:24px; text-indent:-9999px; background:url('../../images/icon/i_refresh.png') no-repeat; background-size:100%; overflow:hidden;}


/* 산모/신생아 */
.classification										{display:flex; flex-direction:column;}
.classification > li								{display:flex; flex-direction:column; gap:12px; padding:16px 0; border-bottom:1px solid #F2F4F6;}
.classification > li:last-child						{padding-bottom:unset; border-bottom:none;}
.classification > li strong							{display:flex; align-items:center; gap:10px; font-weight:600; font-size:16px; color:#2B2B2B;}
.classification > li strong i						{width:24px; height:24px;}


/* 전원수정 팝업 */
.modify_class .classification						{gap:16px;}
.modify_class .classification > li					{padding:16px; border-radius:16px; background-color:#F5F8FA;}


/* 전원컨트롤 */
.stable												{display:flex; justify-content:space-between; align-items:center; gap:10px;}
.stable .power										{flex:auto; display:flex; justify-content:center;}
.stable .power button								{width:86px; height:76px; border-radius:16px;}
.stable .power button span							{position:relative; display:flex; justify-content:center; padding-bottom:34px; font-size:14px; color:#fff;}
.stable .power button span::after					{content:""; position:absolute; bottom:0; left:50%; z-index:1; width:26px; height:26px; background:url('../../images/icon/i_power.png') no-repeat; background-size:100%; transform:translateX(-50%);}
.stable .rag										{padding:4px; border-radius:40px; background-color:#fafafa; box-shadow:0 0 6px rgba(0,0,0,.25);}
.stable .rag ul										{display:flex; align-items:center; gap:8px; padding:0 16px; height:72px; border:1px solid #D9D9D9; border-radius:36px; border:1px solid #e6e6e6;}
.stable .rag ul li									{position:relative; width:40px; height:40px; text-indent:-9999px; border:2px solid #e6e6e6; border-radius:20px; background-color:#e0e0e0; box-shadow:0 6px 0 rgba(0,0,0,.25) inset; overflow:hidden;}
.stable .rag ul li::after							{content:""; position:absolute; top:0; left:0; z-index:1; width:36px; height:36px; border:2px solid #fff; border-radius:18px;}
.stable .rag ul li.on:nth-child(1)					{border-color:#DF4744; background-color:#FC5753;}
.stable .rag ul li.on:nth-child(2)					{border-color:#DE9F34; background-color:#FDBC40;}
.stable.clear .power button,
.stable.clear .rag ul li:nth-child(3)				{background-color:#27AE60;}
.stable.busy .power button							{background-color:#D6A100;}
.stable.busy .rag ul li:nth-child(2)				{background-color:#F2C94C;}
.stable.impassable .power button					{background-color:transparent;}
.stable.impassable .power button span				{color:#BC4646;}
.stable.impassable .power button span::after		{content:"0"; font-weight:700; font-size:28px; background:unset;}
.stable.impassable .rag ul li:nth-child(1)			{background-color:#EB5757;}


/* Floating */
.floating											{position:fixed; bottom:112px; right:20px; z-index:5; display:flex; flex-direction:column-reverse; gap:28px;}
.floating button									{position:relative; display:flex; width:126px; height:56px; border-radius:28px 28px 0 28px; background-image:linear-gradient(to bottom, #70D786 10%, #1187C2 90%); box-shadow:0 4px 10px rgba(0,0,0,.4); transition:all .2s;}
.floating button::before,
.floating button::after								{content:""; position:absolute; top:21px; left:28px; z-index:1; width:2px; height:14px; background-color:#fff; transition:all .2s;}
.floating button::before							{transform:rotate(0);}
.floating button::after								{transform:rotate(-90deg);}
.floating button span								{position:relative; width:100%; height:100%; text-indent:-9999px; overflow:hidden;}
.floating button span::after						{content:"전원수정"; position:absolute; top:50%; left:0; z-index:1; display:flex; justify-content:center; align-items:center; width:100%; font-weight:600; font-size:18px; color:#fff; text-indent:26px; transform:translateY(-50%);}
.floating button.on									{background-image:linear-gradient(to bottom, #959595 10%, #959595 90%);}
.floating button.on::before							{transform:rotate(45deg);}
.floating button.on::after							{transform:rotate(-45deg);}
.floating button.on span::after						{content:"취소";}
.floating button.on + .set							{display:flex;}
.floating .set										{display:none; flex-direction:column-reverse; align-items:end; gap:16px;}
.floating .set a									{display:flex; justify-content:center; align-items:center; width:52px; height:52px; font-size:14px; color:#fff; line-height:16px; border:1px solid #E4E5E7; border-radius:50%; box-shadow:0 4px 4px rgba(0,0,0,.25); opacity:0; transition:opacity .2s ease;}
.floating .set a.clear								{background-color:#27AE60;}
.floating .set a.busy								{background-color:#D6A100;}
.floating .set a.impassable							{background-color:#BC4646;}
.floating .set a.show								{opacity:1;}


/* Navigation */
nav													{position:fixed; bottom:0; left:0; z-index:10; display:flex; align-items:center; gap:20px; padding:0 20px; width:100%; height:92px; border-radius:20px 20px 0 0; background-color:#fff; box-shadow:0 -1px 10px rgba(0,0,0,.08);}
nav button											{position:relative; flex:auto; display:flex; justify-content:center; padding-top:32px; font-size:15px; color:#AEB4C6; background-color:transparent;}
nav button::before									{content:""; position:absolute; top:0; left:50%; z-index:1; width:40px; height:26px; background-repeat:no-repeat; background-size:100%; background-position-x:left; background-size:auto 100%; transform:translateX(-50%);}
nav button:first-child::before						{background-image:url('../../images/icon/nav_partnership.png');}
nav button:last-child::before						{background-image:url('../../images/icon/nav_plan.png');}
nav button.on										{color:#26282c;}
nav button.on::before								{background-position-x:right;}
nav button.new::after								{content:""; position:absolute; top:0; left:50%; z-index:1; margin-left:20px; width:6px; height:6px; border-radius:50%; background-color:#ff8094;}
nav a												{flex:0 0 56px; height:56px; text-indent:-9999px; border-radius:50%; background:#7C818B url('../../images/icon/nav_home.png') center no-repeat; background-size:24px; box-shadow:0 4px 4px rgba(0,0,0,.25);}
nav a.on											{background-color:#0EBE7E;}


/* Tab Button */
.tabButton											{display:flex; gap:12px; margin-top:-20px; padding:0 8px; border-bottom:1px solid #F4F6FB;}
.tabButton a										{position:relative; flex:1; display:flex; justify-content:center; align-items:center; height:56px; font-size:18px; color:#9E9E9E;}
.tabButton a.on										{font-weight:600; color:#0271E0;}
.tabButton a.on::after								{content:""; position:absolute; bottom:-1px; left:0; right:0; z-index:1; height:3px; background-color:#0271E0;}


/* Tab Button Board */
.tab_board											{display:flex; gap:12px; padding:0 20px; border-bottom:1px solid #F4F6FB; background-color:#fff;}
.tab_board a										{position:relative; flex:1; display:flex; justify-content:center; align-items:center; height:56px; font-size:18px; color:#9E9E9E;}
.tab_board a.on										{font-weight:600; color:#0271E0;}
.tab_board a.on::after								{content:""; position:absolute; bottom:-1px; left:0; right:0; z-index:1; height:3px; background-color:#0271E0;}


/* 병원목록 */
.medicalCenter										{display:none; flex-direction:column; gap:12px;}
.medicalCenter.active								{display:flex;}
.medicalCenter em									{display:block; padding:32px 0 8px; font-size:18px; color:#26282C; text-align:center;}
.medicalCenter ul									{display:flex; flex-direction:column; padding:0 8px;}
.medicalCenter ul li								{display:flex; flex-direction:column;}
.medicalCenter ul li a								{position:relative;  display:flex; align-items:center; min-height:40px; font-weight:500; font-size:14px; color:#2D58B6; border-bottom:1px solid #EDF0F8;}
.medicalCenter ul li a::after						{content:""; position:absolute; top:12px; right:8px; z-index:1; width:16px; height:16px; background:url('../../images/icon/i_accordion.png') no-repeat; background-size:100%; transition:all .2s;}
.medicalCenter ul li a.on::after					{transform:rotate(-180deg)}
.medicalCenter ul li a.on,
.medicalCenter ul li a.on::before					{color:#0418A3;}
.medicalCenter ul li a.on + .directory				{display:flex;}
.medicalCenter ul li .directory							{display:none; flex-direction:column;}
.medicalCenter ul li .directory dl						{display:flex; flex-direction:column; gap:8px; padding:20px 0;}
.medicalCenter ul li .directory dl dt					{padding-bottom:4px; font-weight:500; font-size:14px; color:#26282C;}
.medicalCenter ul li .directory dl dd					{position:relative; padding-left:18px; font-size:12px; color:#696E76;}
.medicalCenter ul li .directory dl dd::before			{content:""; position:absolute; top:50%; left:0; z-index:1; width:16px; height:16px; background:url('../../images/icon/i_directory.png') no-repeat; background-size:auto 200%; background-position-y:top; transform:translateY(-50%);}
.medicalCenter ul li .directory dl dd.add::before		{background-position-x:0;}
.medicalCenter ul li .directory dl dd.name::before		{background-position-x:-16px;}
.medicalCenter ul li .directory dl dd.capacity::before	{background-position-x:-32px;}
.medicalCenter ul li .directory dl.emphasize			{border-bottom:2px dashed #EDF0F8;}
.medicalCenter ul li .directory dl.emphasize dt			{color:#144ECA;}
.medicalCenter ul li .directory dl.emphasize dd::before	{background-position-y:bottom;}


/* 소식일정 타이틀 */
.more_title											{display:flex; justify-content:space-between; align-items:center; margin-bottom:16px;}
.more_title em										{font-weight:600; font-size:18px; color:#26282C;}
.more_title a										{position:relative; padding-right:12px; font-weight:500; font-size:12px; color:#696E76;}
.more_title a::after								{content:""; position:absolute; top:50%; right:0; z-index:1; width:8px; height:12px; background:url('../../images/icon/more_arrow.png') no-repeat; background-size:100%; transform:translateY(-50%);}


/* 일정내용 */
.timetable a										{display:flex; flex-direction:column; gap:10px; padding:20px; border-radius:16px; background-color:#F4F4F4;}
.timetable a span									{position:relative; padding-left:20px; font-size:14px; color:#5E5E5E;}
.timetable a span::before							{content:""; position:absolute; top:50%; left:0; z-index:1; width:12px; height:12px; border:3px solid #00B383; border-radius:50%; transform:translateY(-50%);}
.timetable a em										{display:block; font-size:18px; color:#26282C; overflow:hidden; white-space:nowrap; text-overflow:ellipsis;}
.timetable a i										{position:relative; padding-left:20px; font-size:14px; color:#707070;}
.timetable a i::before								{content:""; position:absolute; top:50%; left:0; z-index:1; width:16px; height:16px; background:url('../../images/icon/i_location.png') no-repeat; background-size:100%; transform:translateY(-50%);}
.timetable .no_schedule								{display:flex; justify-content:center; align-items:center; height:96px; font-size:16px; color:#8C949E;}


/* 공지사항 리스트 */
.noticeList											{display:flex; flex-direction:column;}
.noticeList a										{display:flex; flex-direction:column; gap:8px; padding:20px 0; border-bottom:1px solid #EFF0F5;}
.noticeList a em									{display:block; font-size:18px; color:#26282C; overflow:hidden; white-space:nowrap; text-overflow:ellipsis;}
.noticeList a sub									{display:block; font-size:14px; color:#8C949E;}
.noticeList a:last-child							{border:none;}
.template.noticeList a								{padding:24px 0;}


/* 일정 리스트 */
.scheduleList a										{display:flex; flex-direction:column; gap:10px; padding:24px 0; border-bottom:1px solid #EFF0F5;}
.scheduleList a span								{position:relative; padding-left:20px; font-size:14px; color:#5E5E5E;}
.scheduleList a span::before						{content:""; position:absolute; top:50%; left:0; z-index:1; width:12px; height:12px; border:3px solid #00B383; border-radius:50%; transform:translateY(-50%);}
.scheduleList a em									{display:block; font-size:18px; color:#26282C; overflow:hidden; white-space:nowrap; text-overflow:ellipsis;}
.scheduleList a i									{position:relative; padding-left:20px; font-size:14px; color:#707070;}
.scheduleList a i::before							{content:""; position:absolute; top:50%; left:0; z-index:1; width:16px; height:16px; background:url('../../images/icon/i_location.png') no-repeat; background-size:100%; transform:translateY(-50%);}


/* Board Template */
.template											{flex:auto; display:none; flex-direction:column; padding:0 24px; overflow-y:auto;}
.template.active									{display:flex;}


/* 게시판 더 보기 버튼 */
.btnMore											{flex:0 0 48px; margin:40px 0; width:100%; font-size:16px; color:#637381; border:1px solid #DFE3E8; border-radius:24px; background-color:#EEF1F4;}


/* 게시판 상세보기 */
.borad_container									{display:flex; flex-direction:column; padding:20px;}
.borad_container .schedule_header,
.borad_container .notice_header						{display:flex; flex-direction:column; gap:10px; padding-bottom:24px; border-bottom:1px solid #EFF0F5;}
.borad_container .schedule_header span				{display:flex; justify-content:space-between; align-items:center; padding-right:16px;}
.borad_container .schedule_header span *			{font-size:14px; color:#5E5E5E;}
.borad_container .schedule_header span strong		{position:relative; padding-left:20px;}
.borad_container .schedule_header span strong::before{content:""; position:absolute; top:50%; left:0; z-index:1; width:12px; height:12px; border:3px solid #00B383; border-radius:50%; transform:translateY(-50%);}
.borad_container .schedule_header em				{display:block; font-size:18px; color:#26282C; line-height:24px;}
.borad_container .schedule_header i					{position:relative; padding-left:20px; font-size:14px; color:#707070;}
.borad_container .schedule_header i::before			{content:""; position:absolute; top:50%; left:0; z-index:1; width:16px; height:16px; background:url('../../images/icon/i_location.png') no-repeat; background-size:100%; transform:translateY(-50%);}
.borad_container .notice_header em					{display:block; font-size:20px; color:#26282C; line-height:24px;}
.borad_container .notice_header sub					{display:block; font-size:14px; color:#8C949E;}
.borad_container .postContent						{display:flex; flex-direction:column; gap:16px; padding-top:20px; font-size:18px; color:#26282C; line-height:24px;}
.borad_container .postContent *						{font-size:18px; color:#26282C; line-height:24px;}


/* No Data */
.noData												{flex:auto; display:flex; justify-content:center; align-items:center; padding-bottom:120px;}
.noData span										{position:relative; padding-top:48px; font-size:16px; color:#8C949E; text-align:center;}
.noData span::before								{content:""; position:absolute; top:0; left:50%; z-index:1; width:32px; height:32px; background:url('../../images/icon/i_nodata.png') no-repeat; background-size:100%; transform:translateX(-50%);}


/* My Page */
.mypage												{display:flex; flex-direction:column;}
.mypage article										{display:flex; align-items:center; gap:16px; padding:24px; border-bottom:1px solid #F0F2F4; background-color:#fff;}
.mypage article p									{flex:0 0 60px; height:60px; text-indent:-9999px; border-radius:50%; border:1px solid #AFB3BA; background-image:url('../../images/icon/i_hospital.png'); background-repeat:no-repeat; background-size:cover;}
.mypage article p.snuh								{background-image:url('../../images/icon/bi_SNUH.png');}
.mypage article dl									{flex:auto; display:flex; flex-direction:column; gap:10px; color:#26282C;}
.mypage article dl dt								{display:flex; align-items:center; font-weight:500; font-size:20px;}
.mypage article dl dt sub							{position:relative; padding-left:24px; font-size:16px;}
.mypage article dl dt sub::before					{content:""; position:absolute; top:50%; left:10px; z-index:1; width:3px; height:3px; border-radius:50%; background-color:#26282C; transform:translateY(-50%);}
.mypage article dl dd								{font-weight:500; font-size:16px;}
.mypage ul											{display:flex; flex-direction:column; background-color:#fff;}
.mypage ul li										{padding:0 24px; border-bottom:1px solid #F0F2F4;}
.mypage ul li a										{position:relative; display:flex; align-items:center; padding:24px 0; font-size:16px; color:#26282C; border-bottom:1px solid #F0F2F4;}
.mypage ul li a::after								{content:""; position:absolute; top:50%; right:0; z-index:1; width:18px; height:18px; background:url('../../images/icon/arrow_right.png') no-repeat; background-size:100%; transform:translateY(-50%);}
.mypage ul li a:last-child							{border:none;}
.mypage ul li span									{display:flex; justify-content:space-between; align-items:center; padding:24px 0;}
.mypage ul li span em								{font-size:16px; color:#26282C;}
.mypage ul li span sub								{font-size:15px; color:#7F8694;}
.mypage footer										{display:flex; flex-direction:column; gap:32px; padding:32px 24px;}
.mypage footer a									{font-size:15px; color:#AD2424;}
.mypage footer span									{font-size:12px; color:#7F8694; line-height:16px;}


/* 개인정보 */
.my_info											{display:flex; flex-direction:column; padding:0 20px;}
.my_info li											{display:flex; flex-direction:column; gap:32px; padding:32px 0; border-bottom:1px solid #F2F4F6;}
.my_info li dl										{display:flex; justify-content:space-between; gap:16px; color:#26282C;}
.my_info li dl dt									{flex:none; padding-top:1px; font-size:16px; line-height:24px;}
.my_info li dl dd									{flex:auto; font-weight:500; font-size:18px; line-height:24px; text-align:right;}



















