@charset "utf-8";

html{height:100%;}
body{min-width:1200px;height:100%;overflow-y:scroll;}
body.fixed_body{height: 100%;overflow: hidden;}
.label_txt{    overflow: hidden; width: 1px; height: 1px; margin: -1px; padding: 0; clip: rect(0, 0, 0, 0); border: 0;font-size: 0;display: none}

/* header */
header{position: relative;width: 100%;background: #EDF4FD;height: 90px;border-bottom: 1px solid #bfc9d5;
background: linear-gradient(to right,  rgba(228,242,255,1) 0%,rgba(255,255,255,1) 100%);}

.headerDiv{}
.headerDiv::after{content: '';display: block;clear: both;}
.top_aside{display: flex; justify-content: space-between; align-items: center;height: 32px;border-bottom: 1px solid #bfc9d5;background: #fff;padding: 0 20px}
.top_aside ul{display: flex;height: 100%;border-left: 1px solid #D7DBE7}
.top_aside ul li{height: 100%;border-right: 1px solid #D7DBE7}
.top_aside ul li a{display: block;padding:10px 20px;font-weight: bold;}
.top_aside ul li.on a{background: #E4F2FF;}
.top_aside .zoom{}
.top_aside .zoom button{ display: inline-block;  width: 20px; height: 20px;}
.top_aside .zoom .zoom_in{background: url("../../img/land/samll_btn_open.png") no-repeat right center}
.top_aside .zoom .zoom_out{background: url("../../img/land/samll_btn_close.png") no-repeat right center}
.headerDiv h1{float: left;}
.headerDiv h1 a{display: block;width: 170px;height:57px;background: url("../../img/land/top_logo.png") no-repeat center;background-size:155px;font-size: 0}
.headerDiv .gnb_wrap{padding: 0 20px;height: 57px}
.headerDiv .gnb_wrap::after{content: '';display: block;clear: both;}
.headerDiv .gnb_wrap .gnb_util{margin-bottom: 8px;display: flex;align-items: center;justify-content: flex-end;gap: 20px;}
.headerDiv .gnb_wrap .gnb_util ul{display: flex;justify-content: flex-end;;gap: 15px;}
.headerDiv .gnb_wrap .gnb_util ul li a{font-family: 'NotoKrR';color: #000000;}
.headerDiv .gnb_wrap .gnb_menu{margin: 0 auto;  width: 860px;}
.headerDiv .gnb_wrap .gnb_menu > ul{z-index: 55}
.headerDiv .gnb_wrap .gnb_menu > ul > li{position:relative;display:inline-block;padding:20px 45px;}
.headerDiv .gnb_wrap .gnb_menu .menu {font-family: 'NotoKrB';font-size: 18px;color: #000000;}
.headerDiv .gnb_wrap .gnb_menu .search{display: block;width: 28px;height: 28px;background: url('../../img/land/icon_top_search.png') no-repeat center;font-size: 0;background-size: 20px;}
.openurl:after {content: url(../../img/icon_menu_link.png); margin-left: 5px;}

.subDep{
    display:none;
    position: absolute;
    background: #fff;
    padding: 20px !important;
    height: auto !important;
    z-index: 106;
    border-top: 4px solid #048ad4;
    width: 180px;
    top: 55px;
    left:-5px;
    box-shadow:0 0 9px rgba(0,0,0,0.2);
}
.subDep li a{display:block;padding:7px 0;font-size:15px;color:#333;}
.subDep li a:hover{color:#048ad4;}

/* 왼쪽 지도메듀 */
.map_menu_wrpa{position: absolute;left:0;top:90px;height:calc(100% - 90px);display: flex;z-index: 102;background-color:#F8F8F8;
box-shadow: rgba(0, 0, 0, 0.3) 3px 4px 8px 0px}
.map_menu_wrpa nav{display: flex;  position: relative;  z-index: 300; flex-direction: column; height:100%;width: 85px; }
.map_menu_wrpa h2{text-align: center;border-bottom: 1px solid #ccc;padding: 7px 0;display: none}
.map_menu_wrpa h2 span{display: inline-block;width: 50px;height: 46px;background: url(../../img/land/logo_reb.png) no-repeat center;font-size: 0;}
.map_menu_wrpa .list_navbar{}
.list_navbar li{}
.list_navbar li a{display: block;display: flex;    flex-direction: column;    align-items: center;padding: 10px 0;background: #fff;border-bottom: 1px solid #ccc}
.list_navbar li a:before{display:inline-block;content: '';width: 25px;height: 35px;}
.list_navbar li.search a:before{background: url(../../img/land/reb_menu01.png) no-repeat center;}
.list_navbar li.detail a:before{background: url(../../img/land/reb_menu02.png) no-repeat center;}
.list_navbar li.apt a:before{background: url(../../img/land/reb_menu03.png) no-repeat center;}
.list_navbar li.agent a:before{background: url(../../img/land/reb_menu04.png) no-repeat center;}
.list_navbar li.bookmark a:before{background: url(../../img/land/reb_menu05.png) no-repeat center;}
.list_navbar li.addplus a:before{background: url(../../img/land/reb_menu06.png) no-repeat center;}
.list_navbar li a span{color: #595959;font-size: 14px;font-family: 'NotoKrM';display: block;}
.list_navbar li a.on{background: linear-gradient(135deg, rgb(49 108 185) 0%, rgb(14 65 139) 100%);}
.list_navbar li a.on span{color:#fff}
.list_navbar li.search a.on:before{background: url(../../img/land/reb_menu01_on.png) no-repeat center;}
.list_navbar li.detail a.on:before{background: url(../../img/land/reb_menu02_on.png) no-repeat center;}
.list_navbar li.apt a.on:before{background: url(../../img/land/reb_menu03_on.png) no-repeat center;}
.list_navbar li.agent a.on:before{background: url(../../img/land/reb_menu04_on.png) no-repeat center;}
.list_navbar li.bookmark a.on:before{background: url(../../img/land/reb_menu05_on.png) no-repeat center;}
.list_navbar li.addplus a.on:before{background: url(../../img/land/reb_menu06_on.png) no-repeat center;}

/* toast 메세지 */
.toast {position: fixed; bottom: 30px; left: 85%; transform: translateX(-50%); background: rgba(0,0,0,0.8); color: white; padding: 12px 24px; border-radius: 8px; font-size: 16px; z-index: 10000; opacity: 0; transition: opacity 0.3s; pointer-events: none;}
.toast.show { opacity: 0.8; }

/* 로딩바 */
/* 1. 오버레이 컨테이너: 전체 화면 덮기 및 흐림 효과 적용 */
    .loading-overlay {
        position: fixed; /* 뷰포트 기준으로 고정 */
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;

        /* 배경 흐림 효과 (Blur Backdrop) */
        /*backdrop-filter: blur(2px);*/
        /*-webkit-backdrop-filter: blur(2px); !* 웹킷 기반 브라우저 지원 *!*/

        /* 오버레이 배경 색상 (약간 투명한 검은색으로 콘텐츠가 보이도록) */
        /*background-color: rgba(255, 255, 255, 0.5);*/
        background-color: rgba(255, 255, 255,.7);
        /* 메시지를 중앙에 배치하기 위한 Flexbox */
        display: flex;
        justify-content: center;
        align-items: center;

        z-index: 9999; /* 다른 요소 위에 표시 */
    }

    /* 2. 로딩 메시지 컨테이너 스타일 */
    .loading-content {
        background-color: #fff;
        padding: 15px 20px;
        border-radius: 10px;
        text-align: center;min-width: 220px;
       /* box-shadow: 0 4px 10px rgba(0, 0, 0, 0.25);*/
    }

    .loading-content p {
        margin-top: 10px;
        font-size: 16px;
        color: #333;
        font-weight: bold;
        line-height: 1.5;
    }

    /* 3. 로딩 스피너 CSS (예시: 회전하는 원) */
    .spinner {
        border: 4px solid #f3f3f3; /* 밝은 회색 */
        border-top: 4px solid #3498db; /* 파란색 */
        border-radius: 50%;
        width: 50px;
        height: 50px;
        animation: spin 1s linear infinite; /* 1초마다 회전 */
        margin: 0 auto; /* 중앙 정렬 */
    }

    @keyframes spin {
        0% { transform: rotate(0deg); }
        100% { transform: rotate(360deg); }
    }






