

:root {	
	--style-outline: 1px dashed #f26522;
	--style-shadow: 0 2px 4px rgba(0,0,0,0.3);
	
	--color-point: #f26522;
	--color-marker: rgba(0,255,255,0.3);
	
	--color-primary: rgb(0,84,166);
	--color-primary-tint05: rgba(11,94,215,0.05);
	--color-primary-tint10: rgba(11,94,215,0.1);
	--color-primary-tint20: rgba(11,94,215,0.2);
	--color-primary-tint30: rgba(11,94,215,0.3);
	--color-primary-tint40: rgba(11,94,215,0.4);
	--color-primary-tint50: rgba(11,94,215,0.5);
	--color-primary-tint60: rgba(11,94,215,0.6);
	--color-primary-tint70: rgba(11,94,215,0.7);
	--color-primary-tint80: rgba(11,94,215,0.8);
	--color-primary-tint90: rgba(11,94,215,0.9);
	
	--color-gray: #2e3643;
	--color-gray-tint05: rgba(46,54,67,0.05);
	--color-gray-tint10: rgba(46,54,67,0.1);
	--color-gray-tint20: rgba(46,54,67,0.2);
	--color-gray-tint30: rgba(46,54,67,0.3);
	--color-gray-tint40: rgba(46,54,67,0.4);
	--color-gray-tint50: rgba(46,54,67,0.5);
	--color-gray-tint60: rgba(46,54,67,0.6);
	--color-gray-tint70: rgba(46,54,67,0.7);
	--color-gray-tint80: rgba(46,54,67,0.8);
	--color-gray-tint90: rgba(46,54,67,0.9);
	--color-marker-red: rgba(255,0,0,0.3);
    --color-secondary: rgb(24, 60, 149);
}

* { padding: 0; margin: 0; border: 0; outline: 0; box-sizing: border-box; vertical-align: middle; }

html { width: 100%; height: 100%; -webkit-text-size-adjust: none; }
body { width: 100%; height: 100%; font: 400 16px/1.4 'S-Core Dream', 'Malgun Gothic', 'Dotum', sans-serif; word-break: keep-all; -webkit-overflow-scrolling: touch; }
h1, h2, h3, h4, h5, h6 { display: inline-block; font-weight: 400; }
h5.title { font-size: 15px; font-weight: 500; line-height: 1; }
h6.title {
    font-size: 14px;
    font-weight: 500;
    line-height: 1;
}
button { font-family: 'S-Core Dream'; cursor: pointer; vertical-align: middle; background: none; }
fieldset, img, iframe { border: none; }

/* SCROLLBAR */
::-webkit-scrollbar { width: 16px; height: 16px; }
::-webkit-scrollbar-track { border: 0; background-color: transparent; }
::-webkit-scrollbar-thumb { border: 5px solid transparent; border-radius: 8px; background-color: var(--color-gray-tint10); background-clip: padding-box; }  
::-webkit-scrollbar-thumb:hover { background-color: var(--color-gray-tint20); }
::-webkit-scrollbar-button { display: none; }
::-webkit-scrollbar-corner { border: 0; background-color: transparent; }
::before, ::after { box-sizing: border-box; }

.hide { display: none !important; }
.tl3dLayer > div.headline { background-color: var(--color-primary-tint20);vertical-align: middle;}

.btns { display: flex; justify-content: center; align-items: center; gap: 4px; }

/* BT TOGGLE */
.btToggle { display: inline-flex; justify-content: center; align-items: center; width: 32px; height: 32px; font-size: 0; }
.btToggle::after { content: ""; display: inline-block; width: 24px; height: 24px; font-size: 0; background:  url("../image/ico_toggle.svg") center 50% no-repeat; }
.btToggle.on::after { transform: rotate(-180deg); }

/* BT CLOSE */
.btClose { display: inline-flex; justify-content: center; align-items: center; width: 32px; height: 32px; font-size: 0; }
.btClose::before { content: ""; display: inline-block; width: 24px; height: 24px; font-size: 0; background: url("../image/ico_x.svg") center 50% no-repeat; transition: all 0.3s; }
.btClose:hover::before { transform: rotate(180deg); }

/* GRAPHIC */
.graphic { position: relative; display: block; width: 100%; }
.graphic img { display: block; width: 100%; }
.graphic canvas { display: block; width: 100%; }
.graphic .btReset { position: absolute; right: 8px; bottom: 8px; width: auto; font-size: 12px; color: #000; font-weight: 500; border-radius: 4px; background-color: #B9CCD9; padding: 0 16px 0 8px; box-shadow: var(--style-shadow); }

.headline { display: flex; align-items: center; }
.headline .title { display: inline-flex; align-items: center; }
.headline .btClose { flex: none; }

.skyline { display: flex; align-items: center; gap: 4px; }
.skyline .graph { flex: 1; }
.skyline .graph img { flex: auto; display: block; width: 100%; height: auto; margin-bottom: 8px; }
.skyline .graph canvas { flex: none; width: 100px; }
.skyline .graph .item ~ .item { padding-top: 0; }
.skyline .graph .minicolors-theme-default.minicolors { width: 24px; height: 24px; }

.graph { display: block; width: 100%; vertical-align: middle; border-radius: 4px; border: 1px solid #ddd; background: #eee; padding: 0px; }
.graph canvas { width: 100% !important; height: 100% !important; background: none; margin: 0 auto; }

.item { position: relative; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-start; gap: 8px; width: 100%; border-radius: 4px; border: 1px solid var(--color-gray-tint10); background-color: #fff; padding: 8px; box-shadow: 0 0 4px var(--color-gray-tint10); }
.item .con { display: flex; align-items: center; font-size: 12px; gap: 4px;}
.item .con span { position: relative; padding-left: 8px; margin-left: 8px; }
.item .con span::before { position: absolute; left: 0; top: 50%; transform: translateY(-50%); content: ""; display: block; width: 1px; height: 8px; background-color: var(--color-gray-tint20); }
.item .con b { font-weight: 600; vertical-align: baseline; }


#sunshine-result-pop{top:52px; left:48px; margin-left: 8px;}
menu, li {
    list-style: none;
}
.data {
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
    gap: 8px 16px;
	margin-top: 5px;
    margin-bottom: 5px;
}
.data > li {
    flex: 1;
    position: relative;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 13px;
}
.data.box > li {
    flex-direction: column;
    align-items: stretch;
    gap: 0;
}
.data b {
    flex: none;
    display: inline-block;
    color: #fff;
    font-size: 12px;
    border-radius: 4px;
    background-color: var(--color-gray);
    padding: 4px 8px;
}
.data.box b {
    text-align: center;
    border-radius: 4px 4px 0 0;
}
.data p {
    display: inline-block;
    font-size: 12px;
    font-weight: 500;
}
.data.box p {
    flex: auto;
    text-align: center;
    border-radius: 0 0 4px 4px;
    border: 1px solid var(--color-gray-tint90);
    padding: 8px;
}
.data.box input {
    font-size: 12px;
    font-weight: 500;
    flex: auto;
    text-align: center;
    border-radius: 0 0 4px 4px;
    border: 1px solid var(--color-gray-tint90);
    padding: 8px;
    background-color: rgba(0, 0, 0, 0.0);
    color: #ffffff;
}
.data b.primary {
    background-color: var(--color-primary);
}
.data.box p.primary {
    border-color: var(--color-primary-tint90);
}
.infoTxt {
	display: inline-block;
    font-size: 12px;
    line-height: 0.5;
    text-align: left;
    margin: 4px 0;
    width: 100%;
}
.resultGuide {
    flex: none;
    display: inline-flex;
    align-items: flex-start;
    gap: 4px;
    color: var(--color-point);
    font-size: 11px;
    font-weight: 300;
    line-height: 1;
    letter-spacing: -0.5px;
}

#Skyline-result-pop{top:52px; left:48px; margin-left: 8px;}
#Visibility-result-pop {
    top: 52px;
    left: 48px;
    margin-left: 8px;
}
#mapMainwrapper { flex: auto; position: absolute; display: block; width: 100%; height: 100%; }
#mapMainwrapper .detail .btPrint::before {filter: invert(100%);}
#mapMainwrapper .detail .btClose::before {filter: invert(100%);} 
#mapMainwrapper .detail .btToggle::after { filter: invert(100%); }
#mapMainwrapper .detail { color: rgba(256,256,256,0.8); background-color: rgba(0,0,0,0.6); backdrop-filter: blur(4px); }
#mapMainwrapper .detail { position: absolute; z-index: 200; display: flex; flex-direction: column; min-width: 240px; max-width: 560px; overflow: hidden; max-height: 560px; border-radius: 8px; box-shadow: var(--style-shadow); }
#mapMainwrapper .detail .headline { flex: none; height: 40px; border-bottom: 1px solid var(--color-gray-tint10); padding: 4px 8px 4px 16px; }
#mapMainwrapper .detail .headline .title { flex: auto; }
#mapMainwrapper .detail .sub_headline { flex: none; height: 20px; border-bottom: 1px solid var(--color-gray-tint10);}
#mapMainwrapper .detail .sub_headline .title { flex: auto; }
#mapMainwrapper .detail .content { flex: auto; display: block; overflow-x: hidden; overflow-y: auto; height: 100%; padding: 16px; padding-top: 5px; margin-top: 0px;}
#mapMainwrapper .detail .content::-webkit-scrollbar-thumb { background-color: rgba(256,256,256,0.1); }  
#mapMainwrapper .detail .content::-webkit-scrollbar-thumb:hover { background-color: rgba(256,256,256,0.3); }
#mapMainwrapper .detail .btns { flex: none; height: 40px; justify-content: space-between; border-top: 1px solid var(--color-gray-tint10); padding: 4px 16px 4px 8px; }
#mapMainwrapper .item { border-color: rgba(256,256,256,0.1); }
#mapMainwrapper .detail .item { background: none; }
#mapMainwrapper .detail .graph { border-color: rgba(256,256,256,0.1); background-color: rgba(0,0,0,0.4); }
#mapMainwrapper .detail .graph .item { border: 0; background: none; }
#mapMainwrapper .detail .graphic { overflow: hidden; border-radius: 4px; margin: 0px; }

#mapMainwrapper .scope {
    display: block;
    min-width: 280px;
    border: 1px solid var(--color-gray-tint10);
    border-radius: 4px;
    padding: 8px;
    padding-top: 4px;
    margin-top: 8px;
    margin-bottom: 30px;
    padding: 8px;
    border-color: rgba(256, 256, 256, 0.1);
}
#mapMainwrapper .scope li {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 11px;
    line-height: 1;
    text-align: left;
    white-space: nowrap;
    border-radius: 4px;
    background-color: var(--color-gray-tint05);
    padding: 8px;
    margin-top: 2px;
    background-color: rgba(0, 0, 0, 0.5);
}
#mapMainwrapper .scope li.th {
    font-weight: 500;
    border: 0;
    background: none;
    margin: 0;
}
#mapMainwrapper .scope b {
    margin-left: auto;
}
#mapMainwrapper .scope span {
    display: inline-block;
    width: 40px;
    height: 16px;
    font-size: 0;
    border: 1px solid rgba(0, 0, 0, 0.1);
    border-radius: 2px;
    width: 16px;
}
#mapMainwrapper .data b {
    width: 80px;
    text-align: center;
}

.btOut {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    width: auto;
    height: 32px;
    color: #fff;
    font-size: 14px;
    line-height: 1;
    border-radius: 20px;
    background-color: var(--color-primary);
    padding: 0 16px 0 8px;
    position: absolute;
    bottom: 77px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 100;
    box-shadow: var(--style-shadow);
    animation: btOut 0.3s ease forwards;
}

#ViewSurface-result-pop{top:52px; left:48px; margin-left: 8px;}
.grid td {
    height: 26px;
    color: #000;
    font-size: 12px;
    text-align: center;
    line-height: 1.2;
    border-bottom: 1px solid var(--color-gray-tint10);
    padding: 4px 8px;
}
.grid tr {
    display: table-row;
    vertical-align: inherit;
    unicode-bidi: isolate;
    border-color: inherit;
}
.grid :is(th,td) {
    border: 0;
    border: 1px solid #000;
    padding: 8px;
}
.grid td {
    color: #fff;
    border-color: rgba(256, 256, 256, 0.05);
}
.grid tr.point td {
    color: var(--color-point);
    font-weight: 900;
    background-color: var(--color-point-tint10);
}
#ViewSurface-result-pop .field {
    display: block;
    font-size: 14px;
    text-align: left;
    border: 1px solid var(--color-gray-tint10);
    border-radius: 4px;
    padding: 8px;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 8px 0;
    border-color: rgba(256, 256, 256, 0.1);
    background-color: rgba(256, 256, 256, 0.05);
}
#ViewSurface-result-pop .field dl {
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
    width: 100%;
}
#ViewSurface-result-pop .field dt {
    position: relative;
    display: inline-flex;
    align-items: flex-start;
    width: 40%;
    padding: 10px 4px 4px 16px;
    flex: none;
    align-items: center;
    width: 100px;
    min-height: 40px;
    font-size: 14px;
    font-weight: 500;
    padding: 4px;
    width: 100px;
}
#ViewSurface-result-pop .field dd {
    flex: auto;
    display: inline-flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 4px;
    width: calc(100% - 100px);
    min-height: 40px;
    font-size: 12px;
    font-weight: 400;
    padding: 4px;
    width: calc(100% - 100px);
}
#ViewSurface-result-pop .set {
    display: flex;
    align-items: center;
    gap: 4px;
    width: 100%;
}
#ViewSurface-result-pop .input {
    display: inline-block;
    overflow: hidden;
    width: 100px;
    height: 32px;
    line-height: 32px;
    color: #303030;
    font-size: 14px;
    text-overflow: ellipsis;
    border: 1px solid var(--color-gray-tint30);
    border-radius: 4px;
    background-color: #fff;
    padding: 0 16px;
    color: #fff;
    border-color: rgba(256, 256, 256, 0.1);
    background-color: rgba(0, 0, 0, 0.4);
}
#ViewSurface-result-pop .input.num {
    text-align: center;
    padding: 0;
}
#ViewSurface-result-pop .input[type=number] {
    padding-right: 24px;
}
#ViewSurface-result-pop .field .unit {
    display: inline-block;
    color: var(--color-gray-tint60);
    font-size: 12px;
    margin: 0 8px;
    vertical-align: middle;
}
#ViewSurface-result-pop .field .set .unit {
    margin: 0;
}
#ViewSurface-result-pop .field .unit {
    color: rgba(256, 256, 256, 0.6);
}
#ViewSurface-result-pop .bt {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    overflow: hidden;
    min-width: 64px;
    height: 32px;
    color: #000;
    font-size: 14px;
    white-space: nowrap;
    line-height: 1;
    text-align: center;
    border-radius: 4px;
    padding: 0 16px;
}
#ViewSurface-result-pop .bt.bg {
    color: #fff;
    font-weight: 400;
    background-color: var(--color-gray-tint60);
}
#ViewSurface-result-pop .set .bt {
    flex: none;
}
#ViewSurface-result-pop .bt.bg.secondary {
    background-color: var(--color-secondary);
}
/* 단면도 분석결과 */
#mapMainwrapper #measureLine-result-pop {
    max-width: none;
    bottom: 0px;
    width: 100%;
    border-radius: 8px 8px 0 0;
    animation: paper 0.3s ease forwards;
    max-width: none;
    width: auto;
    left: 50%;
    transform: translateX(-50%);
}