.popup {
  position: absolute;
  width: 300px !important;
  background: #fff;
  border: 1px solid rgba(149, 149, 149, 0.46);
  box-shadow: rgba(51, 51, 51, 0.2) 1px 1px 20px 1px;
  border-radius: 8px;
  overflow: hidden;
  display: none;
  font-size: 13px;
  z-index: 999;
}

.popup .popup-titlebar {
  background: #025ed6;
  color: white;
  font-weight: bold;
  font-size: 16px;
  padding: 12px 16px;
  position: relative;
}

.popup .popup-close {
  position: absolute;
  right: 12px;
  top: 50%;
  transform: translateY(-50%);
  color: white;
  font-size: 24px;
  line-height: 24px;
  background: transparent;
  border: none;
  cursor: pointer;
}

.popup .popup-close:hover {
  background: rgba(255, 255, 255, 0.2);
  border-radius: 4px;
}

.popup .popup-content {
  padding: 15px;
}

.popup table {
  width: 100%;
  border-collapse: collapse;
     font-size: 14px;
}

.popup th, #popup td {
  border: 1px solid #ddd;
  padding: 7px 8px;
  text-align: center;
}

.popup th {
  background: #f7f7f7;
}

.popup-map-info {
	position: absolute;
	background: #fff;
	border: 1px solid rgba(149, 149, 149, 0.46);
	box-shadow: rgba(51, 51, 51, 0.2) 1px 1px 20px 1px;
	border-radius: 8px;
	overflow: hidden;
	display: none;
	font-size: 12px;
	z-index: 2000;
	right: 48px;
	bottom: 0px;
}

.popup-map-info .popup-titlebar-map-info {
	background: #354898;
	color: white;
	font-weight: bold;
	font-size: 13px;
	padding: 9px 10px;
	position: relative;
}

.popup-map-info .popup-content-map-info {
	padding: 10px 10px 5px 10px;
}

.popup-map-info .btn_search_map {
	display: flex;
   	justify-content: center;
}

.popup-map-info .btn_search_map_info {
	font-size: small;
	padding: 0;
	width: 6rem !important;
   	height: 3rem !important;
}

.popup-map-info img {
	width: 1.5rem;
}

.form-check-input:focus {
	outline: 2px solid red !important;
    outline-offset: -2px;
   }

/* 범례 강우반영과 행정구역 순서 뒤바꾸기 */
.layer_tit ul {display: flex;}
.layer_tit ul li:nth-child(2) {order: 1;}
.layer_tit ul li:nth-child(1) {order: 2;}

.map_info_active {
    border: 2px solid #ff3b3b;
    box-shadow: 0 0 20px rgba(255, 59, 59, 0.6), 0 0 40px rgba(255, 59, 59, 0.3), inset 0 0 20px rgba(255, 59, 59, 0.1);
    color: #ff3b3b;
}

.map_bottom {
    display: flex;
    align-items: flex-start; /* 또는 stretch (높이 정렬 방식) */
    width: 100%;
}

.map_bottom > div:first-child {
    width: 25.7rem !important;
    flex-shrink: 0; /* 화면이 줄어들어도 크기가 고정되도록 설정 */
}

.map_bottom > div:nth-child(2) {
    flex-grow: 1;    /* 남은 모든 공간을 채움 */
    margin-right: 50px !important; /* 우측에 50px 여백 생성 */

 }

.map_txt {
    margin-left: 2rem;
    width: auto;
    flex-grow: 0;
    max-width: 850px;
    align-self: flex-end;  /* 아래쪽으로 정렬 */
}
    
/** 1240 시작 **/
@media screen and (max-width:1240px){
	.popup {
	    min-width: 200px;
    }
	.popup .popup-titlebar {
	    font-size: 14px;
	    padding: 7px 16px;
	}
	.popup .popup-content {
	    padding: 5px;
	}
	.popup th, #popup td {
	    padding: 1px 3px;
	}
	.popup table {
	    font-size: 12px;
	}
	.popup-close {
		padding-left: 28px;
	}
}

/** 1240 시작 **/
@media screen and (max-width:1240px){
	.map_address_search {top: 12rem;}
}
/** 1240 끝 **/
/** 768 시작 **/
@media screen and (max-width:768px){
	.layer_map .map_control_box {bottom: 240px;}
	.map_address_search {top: 16rem;}
    .map_bottom{display: none;}
}
/** 768 끝 **/
/** 430 시작 **/
@media screen and (max-width:430px){
    .layer_map .map_control_box {bottom: 300px;}
	.popup {width: 280px !important;}
}
/** 430 끝 **/