@charset "utf-8";

/* 상단 헤더 */
#header {
    position: relative;
    padding-bottom: 20px;
    background-color: var(--header-bg-color);
}

#header h1 {
    position: relative;
    font-size: 0;
}

#header h1 a {
    display: block;
    padding: 20px 10px;
}

#header h1 a img {
    max-height: 20px;
}

#gnb {
    position: relative;
}

#gnb ul li {
    position: relative;
    width: auto;
}

#gnb ul li a {
    display: block;
    height: 50px;
    line-height: 50px;
    padding: 0 15px;
    color: var(--header-gnb-color);
    font-family: var(--point-font);
}

#gnb ul li.active a,
#gnb ul li a:hover {
    color: var(--header-gnb-color-ov);
}

#header .search-signout {
    padding: 0 10px;
}

#header .search-signout .search-box {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 40px;
    padding: 0 10px;
    background-color: var(--header-searchbar-bg);
    border-radius: 20px;
}

#header .search-signout .search-box .search-select {
    flex-grow: 1;
}

#header .search-signout .search-box .search-btn {
    flex-shrink: 0;
    width: 35px;
    height: 35px;
    border: none;
    background-color: transparent;
    color: var(--header-searchbar-color);
}

#header .select2-container--default .select2-selection--single {
    height: auto;
    background-color: transparent;
    border: none;
}

#header .select2-container--default .select2-selection--single .select2-selection__rendered {
    color: var(--header-searchbar-color);
}

.select2-container--default .select2-results > .select2-results__options {
    color: #333 !important;
}

#header .search-signout .signout {
    position: absolute;
    top: 10px;
    right: 10px;
}

#header .search-signout .signout a {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 40px;
    height: 40px;
    background-color: #fff;
    color: #999;
    text-align: center;
    border-radius: 20px;
}

#header .search-signout .signout a span.ico {
    font-size: 18px;
}

#header .search-signout .signout a em {
    display: none;
}

@media screen and (min-width: 639px) {
    #header {
        padding-bottom: 10px;
    }

    #header h1 a {
        padding: 25px 20px;
    }

    #header .search-signout {
        position: absolute;
        top: 15px;
        right: 20px;
        display: flex;
        justify-content: space-between;
        align-items: center;
        width: 300px;
        padding: 0;
    }

    #header .search-signout .search-box {
        flex-grow: 1;
    }

    #header .search-signout .signout {
        position: relative;
        top: auto;
        right: auto;
        flex-shrink: 0;
        width: 50px;
        padding-left: 10px;
    }

    #gnb {
        padding: 0 10px;
    }
}

@media screen and (min-width: 767px) {
    #header h1 a {
        padding: 25px 30px;
    }
}

@media screen and (min-width: 979px) {
}

@media screen and (min-width: 1139px) {
    #header {
        display: flex;
        justify-content: flex-start;
        align-items: center;
        padding-bottom: 0;
    }

    #header h1 a {
        padding: 30px;
    }

    #header .search-signout {
        top: 20px;
    }
}

@media screen and (min-width: 1239px) {
    #gnb ul li a {
        font-size: 16px;
    }
}

@media screen and (min-width: 1439px) {
    #gnb {
        margin-left: 40px;
    }
    
    #gnb ul li a {
        font-size: 18px;
    }

    #header .search-signout {
        width: 400px;
    }

    #header .search-signout .signout {
        width: 130px;
    }

    #header .search-signout .signout a {
        width: 120px;
    }

    #header .search-signout .signout a em {
        display: block;
        margin-left: 10px;
    }
}

@media screen and (min-width: 1639px) {
    #header .search-signout {
        width: 450px;
    }
}


/* 현재영역, 시간, 유저이름 */
#locaBar {
    position: relative;
    padding: 10px 20px;
    background-color: var(--locabar-bg-color);
    border-top: 1px solid rgba(var(--black-white-rgb),0.1);
    border-bottom: 1px solid rgba(var(--black-white-rgb),0.1);
    color: var(--locabar-color);
    font-size: 12px;
}

#locaBar b {
    color: var(--locabar-point-color);
}

#locaBar .location {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    font-size: 0;
}

#locaBar .location span {
    display: inline-block;
    margin: 0 10px;
    font-size: 0;
    vertical-align: middle;
}

#locaBar .location span i {
    display: inline-block;
    width: 3px;
    height: 3px;
    margin-left: 3px;
    background-color: #999;
    border-radius: 50%;
}

#locaBar .location span i:first-child {
    margin-left: 0 !important;
}

#locaBar .location em {
    font-size: 12px;
}

#locaBar .date-name {
    display: none;
}

#locaBar .date-name .login-date {
    font-family: var(--english-font);
}

@media screen and (min-width: 639px) {
    #locaBar {
        padding: 15px 20px;
    }

    #locaBar .date-name {
        display: flex;
        justify-content: flex-start;
        align-items: center;
        margin-top: 5px;
    }

    #locaBar .date-name .user-name {
        margin-left: 20px;
    }
}

@media screen and (min-width: 767px) {
    #locaBar {
        display: flex;
        justify-content: space-between;
        align-items: center;
        height: 50px;
        padding: 0 30px;
        font-size: 14px;
    }

    #locaBar .location em {
        font-size: 14px;
    }

    #locaBar .date-name {
        margin-top: 0;
    }
}

@media screen and (min-width: 979px) {
}

@media screen and (min-width: 1239px) {
}

@media screen and (min-width: 1439px) {
}


/* 탭메뉴 */
.tabmnu {
    position: relative;
    border-bottom: 1px solid rgba(var(--black-white-rgb), 0.1);
}

.tabmnu ul li a {
    position: relative;
    display: block;
    height: 40px;
    line-height: 40px;
    padding: 0 10px;
    color: var(--tabmnu-link-color);
}

.tabmnu ul li a.current {
    color: var(--tabmnu-current-color);
    font-weight: 700;
}

.tabmnu ul li a.current:after {
    position: absolute;
    bottom: -1px;
    left: 0;
    right: 0;
    height: 2px;
    background-color: var(--tabmnu-current-linecolor);
    content: '';
}

@media screen and (min-width: 639px) {
}

@media screen and (min-width: 767px) {
    .tabmnu ul li a {
        font-size: 16px;
    }
}

@media screen and (min-width: 979px) {
    .tabmnu ul li a {
        height: 50px;
        line-height: 50px;
        padding: 0 20px;
        font-size: 18px;
    }
}

@media screen and (min-width: 1239px) {
}

@media screen and (min-width: 1439px) {
}


/* 테이블 영역 */
.basic-tbl th,
.basic-tbl td {
    padding: 10px;
    border-bottom: 1px solid rgba(var(--black-white-rgb),0.1);
    text-align: center;
    font-size: 12px;
}

.basic-tbl thead tr th {
    background-color: var(--table-header-color);
    border-bottom: none;
    font-weight: 700;
}

@media screen and (min-width: 639px) {
}

@media screen and (min-width: 767px) {
    .basic-tbl th,
    .basic-tbl td {
        padding: 15px 10px;
        font-size: 14px;
    }
}

@media screen and (min-width: 979px) {
    .basic-tbl tbody tr.active td {
        background-color: rgba(var(--black-white-rgb),0.05);
    }
}

@media screen and (min-width: 1239px) {
}

@media screen and (min-width: 1439px) {
}


/* 점박이 스테이트 */
.statebox {
    position: relative;
    display: inline-block;
}

.statebox:after {
    position: absolute;
    top: calc(50% - 5px);
    left: -15px;
    width: 10px;
    height: 10px;
    background-color: var(--basic-color);
    content: '';
    border-radius: 50%;
}

.statebox.colorGreen:after {
    background-color: var(--green-color);
}

.statebox.colorSky:after {
    background-color: var(--sky-color);
}

.statebox.colorBlue:after {
    background-color: var(--blue-color);
}

.statebox.colorOrange:after {
    background-color: var(--orange-color);
}

.statebox.colorRed:after {
    background-color: var(--red-color);
}


/* 전체영역 */
#container {}

@media screen and (min-width: 639px) {
}

@media screen and (min-width: 767px) {
    #container {
        position: fixed;
        top: 180px;
        left: 0;
        bottom: 0;
        right: 0;
        display: flex;
        justify-content: space-between;
        align-items: stretch;
        z-index: 100;
    }

    #container .left-side-box {
        flex-shrink: 0;
        width: 40px;
        height: 100%;
        -webkit-transition: .3s ease-in-out;
        -moz-transition: .3s ease-in-out;
        -o-transition: .3s ease-in-out;
        transition: .3s ease-in-out;
    }

    #container .left-side-box.open {
        width: 30%;
        max-height: 100%;
        max-width: 340px;
    }

    #container #content {
        overflow-y: auto;
        flex-grow: 1;
        height: 100%;
    }
}

@media screen and (min-width: 979px) {
}

@media screen and (min-width: 1139px) {
    #container {
        top: 130px;
    }
}

@media screen and (min-width: 1439px) {
    #container .left-side-box.open {
        width: 340px;
    }
}


/* 좌측 영역 */
.left-side-box {
    position: relative;
    height: 40px;
    background-color: var(--alarm-bg);
    border-bottom: 1px solid rgba(var(--black-white-rgb), 0.1);
}

.left-side-box.open {
    height: auto;
    max-height: 400px;
    background-color: var(--background-color);
}

.left-side-box h3 {
    position: relative;
    min-width: 250px;
    padding-right: 40px;
    font-size: 0;
}

.left-side-box h3 a {
    display: block;
    height: 40px;
    line-height: 40px;
    padding-left: 20px;
    font-size: 14px;
    color: var(--basic-color);
}

.left-side-box h3 a b {
    color: var(--point-color);
}

.left-side-box .alarm-box {
    display: none;
    min-width: 300px;
    padding: 20px;
}

.left-side-box.open .alarm-box {
    display: block;
}

.left-side-box .alarm-box .alarm-con {
    position: relative;
    display: flex;
    justify-content: space-between;
    align-items: stretch;
    padding: 10px;
    background-color: var(--alarm-bg);
    border-radius: 5px;
}

.left-side-box .alarm-box .alarm-con:not(:first-child) {
    margin-top: 10px;
}

.left-side-box .alarm-box .alarm-con a {
    display: block;
}

.left-side-box .alarm-box .alarm-con a.icobox {
    flex-shrink: 0;
    width: 40px;
}

.left-side-box .alarm-box .alarm-con a.icobox span {
    display: block;
    width: 40px;
    height: 40px;
    line-height: 40px;
    border-radius: 10px;
    background-color: var(--alarm-ico-bg);
    color: var(--alarm-ico-color);
    text-align: center;
    font-size: 18px;
}

.left-side-box .alarm-box .alarm-con a.txt {
    flex-grow: 1;
    padding-left: 10px;
    padding-top: 10px;
}

.left-side-box .alarm-box .alarm-con a.txt h4 {
    margin-bottom: 10px;
    font-size: 18px;
    font-weight: 700;
    color: var(--alarm-tit-color);
}

.left-side-box .alarm-box .alarm-con a.txt span.date {
    display: block;
    margin-top: 5px;
    font-size: 12px;
    font-family: var(--english-font);
    opacity: 0.7;
}

.left-side-box .alarm-box .alarm-con a.alarm-close-btn {
    position: absolute;
    top: -5px;
    right: -5px;
    width: 24px;
    height: 24px;
    line-height: 24px;
    background-color: var(--alarm-close-bg);
    color: var(--alarm-close-color);
    text-align: center;
    font-size: 14px;
    border-radius: 50%;
}

/*
.left-side-box .tabmnu {
    padding: 0 20px;
}

.left-side-box .select-location,
.left-side-box .reservoir-percent {
    display: none;
}

.left-side-box.open .select-location,
.left-side-box.open .reservoir-percent {
    display: block;
}

.select-location .tab-unit-wrap .tab-unit {
    max-height: 300px;
    padding: 20px 20px 30px;
}

.select-location .tab-unit-wrap .tab-unit .basic-tbl th,
.select-location .tab-unit-wrap .tab-unit .basic-tbl td {
    font-size: 12px !important;
}

.reservoir-percent {
    padding-top: 10px;
    border-top: 1px solid rgba(var(--black-white-rgb),0.1);
}
*/

.left-side-box .open-close {
    position: absolute;
    top: 0;
    right: 0;
}

.left-side-box .open-close a {
    display: block;
    width: 40px;
    height: 40px;
    line-height: 40px;
    border: 1px solid rgba(var(--black-white-rgb),0.1);
    border-top-width: 0;
    border-right-width: 0;
    background-color: rgba(var(--black-white-rgb),0.05);
    text-align: center;
    font-size: 18px;
    z-index: 1000;
}

.left-side-box .open-close a span {
    display: block;
    transform: rotate(-90deg);
}

.left-side-box.open .open-close a span {
    transform: rotate(90deg);
}

@media screen and (min-width: 639px) {
}

@media screen and (min-width: 767px) {
    .left-side-box {
        height: 100%;
        max-height: 100%;
        border-right: 1px solid rgba(var(--black-white-rgb),0.1);
        border-bottom: none;
    }

    .left-side-box h3,
    .left-side-box .alarm-box {
        display: none;
    }

    .left-side-box.open h3,
    .left-side-box.open .alarm-box {
        display: block;
    }

    /*
    .select-location .tab-unit-wrap .tab-unit {
        max-height: 350px;
    }
    */

    .left-side-box .open-close a span {
        transform: rotate(180deg);
    }

    .left-side-box.open .open-close a span {
        transform: rotate(0deg);
    }
}

@media screen and (min-width: 979px) {
}

@media screen and (min-width: 1239px) {
}

@media screen and (min-width: 1439px) {
    /*
    .select-location .tab-unit-wrap .tab-unit {
        width: 100%;
        min-width: 300px;
        max-height: 400px;
    }
    */
}


/* 콘텐츠 공통 */
#content {
    position: relative;
    padding: 30px 20px 40px;
}

#content h1.tit-h1 {
    position: relative;
    margin-bottom: 30px;
    font-size: 20px;
}

#content h1.tit-h1 em.tit-txt {
    font-weight: 900;
    color: var(--point-color);
}

#content h1.tit-h1 .right-area {
    position: absolute;
    top: calc(50% - 20px);
    right: 0;
    font-size: 14px;
}

#content h3.tit-h3 {
    position: relative;
    margin-bottom: 20px;
    font-size: 18px;
}

#content h3.tit-h3 em.tit-txt {
    font-weight: 700;
    color: var(--point-color);
}

#content h3.tit-h3 .right-area {
    position: absolute;
    top: calc(50% - 15px);
    right: 0;
    font-size: 14px;
}

@media screen and (min-width: 639px) {
}

@media screen and (min-width: 767px) {
    #content {
        padding: 40px;
    }

    #content h1.tit-h1 {
        position: -webkit-sticky;
        position: sticky;
        top: -60px;
        padding: 40px 40px 20px;
        margin: -40px -40px 40px;
        border-bottom: 1px solid rgba(var(--black-white-rgb), 0.1);
        background-color: var(--background-color);
        font-size: 24px;
        z-index: 1000;
    }

    #content h1.tit-h1 .right-area {
        top: auto;
        bottom: 15px;
        right: 40px;
    }

    #content h3.tit-h3 {
        font-size: 20px;
    }
}

@media screen and (min-width: 979px) {
}

@media screen and (min-width: 1139px) {
    #content {
        padding: 50px;
    }

    #content h1.tit-h1 {
        top: -80px;
        padding: 50px 50px 20px;
        margin: -50px -50px 50px;
        font-size: 30px;
    }

    #content h1.tit-h1 .right-area {
        right: 50px;
    }

    #content h3.tit-h3 {
        font-size: 24px;
    }
}

@media screen and (min-width: 1439px) {
}


/* 메인페이지 */
.mainpagebox {
    position: relative;
}

.mainpagebox .main-right-info {
    display: none;
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    padding: 20px;
    background-color: var(--background-color);
    z-index: 1000;
}

@media screen and (min-width: 639px) {
}

@media screen and (min-width: 767px) {
    .mainpagebox .main-right-info {
        padding: 40px 20px;
    }
}

@media screen and (min-width: 979px) {
    .mainpagebox {
        margin-right: 340px;
    }

    .mainpagebox .main-right-info {
        display: block;
        top: 180px;
        width: 340px;
        border-left: 1px solid rgba(var(--black-white-rgb), 0.1);
    }
}

@media screen and (min-width: 1139px) {
    .mainpagebox .main-right-info {
        top: 130px;
        padding: 50px 20px;
    }
}

@media screen and (min-width: 1439px) {
    .mainpagebox {
        margin-right: 400px;
    }

    .mainpagebox .main-right-info {
        width: 400px;
    }
}

@media screen and (min-width: 1639px) {
}


/* 개소명 정보 영역 */
.main-right-info h2 {
    position: relative;
    margin-right: 40px;
    margin-bottom: 20px;
    font-size: 18px;
}

.main-right-info h2 em {
    font-weight: 700;
    color: var(--point-color);
}

.main-right-info h2 small {
    display: block;
    margin-top: 5px;
    font-size: 14px;
}

.main-right-info .reservoir-info {
    position: relative;
}

.main-right-info .reservoir-info .reservoir-graph {
    position: relative;
    padding-right: 50px;
}

.main-right-info .reservoir-info .reservoir-graph .picture-graph {
    position: relative;
    overflow: hidden;
    border-radius: 4px;
}

.main-right-info .reservoir-info .reservoir-graph .levelbox {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    display: flex;
    align-items: flex-end;
    overflow: hidden;
    width: 40px;
    border: 3px solid rgba(var(--black-white-rgb), 0.1);
    background-color: rgba(var(--black-white-rgb), 0.05);
    border-radius: 4px;
}

.main-right-info .reservoir-info .reservoir-graph .levelbox .guagebox {
    width: 100%;
    background-color: var(--blue-color);
}

.main-right-info .reservoir-info .reservoir-graph .levelbox .guage-txt {
    position: absolute;
    top: 5px;
    left: 0;
    width: 100%;
    text-align: center;
    font-size: 12px;
}

.main-right-info .reservoir-info .infobox {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: 20px;
}

.main-right-info .reservoir-info .infobox .i-con {
    width: 19.5%;
    padding: 10px 0;
    text-align: center;
    font-size: 12px;
    border-radius: 5px;
}

.main-right-info .reservoir-info .infobox .i-con span.ico {
    display: block;
    font-size: 20px;
}

.main-right-info .reservoir-info .infobox .i-con em {
    display: block;
}

.main-right-info .reservoir-info .infobox .i-con .state {
    display: inline-block;
    padding: 3px 10px;
    margin-top: 5px;
    background-color: var(--background-color);
    color: var(--basic-color);
    border-radius: 3px;
}

.main-right-info .level-graph {
    margin-top: 20px;
}

.main-right-info .close-box {
    position: absolute;
    top: 10px;
    right: 10px;
}

.main-right-info .close-box a.reservoir-close-btn {
    display: block;
    width: 40px;
    height: 40px;
    line-height: 40px;
    background-color: var(--alarm-close-bg);
    text-align: center;
    font-size: 18px;
    color: var(--alarm-close-color);
    border-radius: 50%;
}

@media screen and (min-width: 639px) {
}

@media screen and (min-width: 767px) {
}

@media screen and (min-width: 979px) {
    .main-right-info .close-box {
        display: none;
    }
}

@media screen and (min-width: 1239px) {
}

@media screen and (min-width: 1439px) {
}


/* 디테일 정보 */
.detail-top {
    position: relative;
    margin: -30px -20px 30px;
    background-color: var(--background-color);
}

.detail-top h1 {
    position: relative;
    padding: 0 20px;
    margin-bottom: 10px;
    font-size: 18px;
}

.detail-top h1 em.tit-txt {
    display: block;
    height: 50px;
    line-height: 50px;
    padding-right: 50px;
    font-family: var(--point-font);
}

.detail-top h1 .right-area {
    position: absolute;
    top: 0;
    right: 0;
}

.detail-top h1 .right-area a {
    width: 50px;
    height: 50px;
    line-height: 50px;
}

.detail-box .reservoir-infobox {
    position: relative;
}

.detail-box .reservoir-infobox .reservoir-con {
    position: relative;
    padding: 30px 0;
}

.detail-box .reservoir-infobox .reservoir-con h3 {
    margin-bottom: 20px;
    font-size: 20px;
}

.detail-box .reservoir-infobox .reservoir-con h3 small {
    display: block;
    margin-bottom: 5px;
    font-size: 14px;
    color: #999;
}

.detail-box .reservoir-infobox .reservoir-con h3 em {
    display: block;
    font-family: var(--point-font-bold);
    color: var(--point-color);
}

.detail-box .reservoir-infobox .reservoir-con .conlist dl {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    margin-bottom: 10px;
}

.detail-box .reservoir-infobox .reservoir-con .conlist dl dt {
    flex-shrink: 0;
    width: 120px;
    font-weight: 400;
    color: #999;
}

.detail-box .reservoir-infobox .reservoir-con .conlist dl dd {
    flex-grow: 1;
    font-weight: 700;
}

.detail-box .infobox {
    position: relative;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: stretch;
    margin-top: 30px;
}

.detail-box .infobox .i-con {
    width: 32%;
    padding: 10px 0;
    margin: 0.5%;
    text-align: center;
    font-size: 12px;
    border-radius: 5px;
    background-color: rgba(var(--black-white-rgb), 0.1);
}

.detail-box .infobox .i-con span.ico {
    display: block;
    font-size: 20px;
}

.detail-box .infobox .i-con em {
    display: block;
}

.detail-box .infobox .i-con .state {
    display: inline-block;
    padding: 3px 10px;
    margin-top: 5px;
    background-color: var(--background-color);
    color: var(--basic-color);
    border-radius: 3px;
}

.detail-box .mapbox {
    position: relative;
    margin-top: 30px;
}

.detail-box .mapbox iframe {
    width: 100%;
    height: 300px;
}

@media screen and (min-width: 639px) {
    .detail-box .reservoir-infobox .reservoir-con .conlist {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
        align-items: stretch;
    }

    .detail-box .reservoir-infobox .reservoir-con .conlist dl {
        width: 49%;
    }
}

@media screen and (min-width: 767px) {
    .detail-top {
        position: -webkit-sticky;
        position: sticky;
        top: -40px;
        margin: -40px -40px 40px;
        z-index: 1000;
    }

    .detail-top h1 {
        padding: 0 40px;
        margin-bottom: 20px;
        font-size: 20px;
    }

    .detail-top h1 em.tit-txt {
        height: 60px;
        line-height: 60px;
        padding-right: 60px;
    }

    .detail-top h1 .right-area a {
        width: 60px;
        height: 60px;
        line-height: 60px;
        font-size: 24px;
    }

    .detail-top .tabmnu {
        padding: 0 40px;
    }

    .detail-box .reservoir-infobox {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
        align-items: stretch;
    }

    .detail-box .reservoir-infobox .picture-graph {
        width: 60%;
    }

    .detail-box .reservoir-infobox .reservoir-con {
        width: 40%;
        padding: 0 20px;
    }

    .detail-box .reservoir-infobox .reservoir-con .conlist dl {
        width: 100%;
    }

    .detail-box .reservoir-infobox .level-graph {
        margin-top: 20px;
        width: 100%;
    }
}

@media screen and (min-width: 979px) {
}

@media screen and (min-width: 1139px) {
    .detail-top {
        top: -50px;
        margin: -50px -50px 50px;
    }

    .detail-top h1 {
        padding: 0 50px;
        font-size: 24px;
    }

    .detail-top .tabmnu {
        padding: 0 50px;
    }

    .detail-box .reservoir-infobox .picture-graph {
        width: 33%;
    }

    .detail-box .reservoir-infobox .reservoir-con {
        position: absolute;
        top: 0;
        left: 50%;
        bottom: 0;
        width: 34%;
        padding: 30px;
        margin-left: -17%;
    }

    .detail-box .reservoir-infobox .reservoir-con h3 {
        font-size: 24px;
    }

    .detail-box .reservoir-infobox .reservoir-con h3 small {
        font-size: 16px;
    }

    .detail-box .reservoir-infobox .level-graph {
        width: 33%;
        margin-top: 0;
    }

    .detail-box .infobox {
        margin-top: 50px;
    }

    .detail-box .infobox .i-con {
        width: 10.5%;
        padding: 20px 0;
        margin: 0 0.3%;
    }

    .detail-box .infobox .i-con {
        font-size: 14px;
    }

    .detail-box .infobox .i-con span.ico {
        font-size: 30px;
    }

    .detail-box .mapbox {
        margin-top: 50px;
    }

    .detail-box .mapbox iframe {
        height: 400px;
    }
}

@media screen and (min-width: 1439px) {
    .detail-box .reservoir-infobox .reservoir-con .conlist dl {
        width: 49%;
    }
}


/* 게시판 영역 - 리스트 */
.list-search-area {
    position: relative;
    padding: 0 5px 5px;
    margin-bottom: 20px;
    border: 1px solid rgba(var(--black-white-rgb), 0.1);
    background-color: rgba(var(--black-white-rgb), 0.05);
    border-radius: 5px;
}

.list-search-area dl {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 5px;
    margin: 5px 0;
    background-color: var(--searchbox-dl-bg);
    border-radius: 5px;
}

.list-search-area dl dt {
    flex-shrink: 0;
    width: 70px;
    text-align: center;
}

.list-search-area dl dd {
    flex-grow: 1;
}

.list-search-area dl dd .users {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.list-search-area dl dd .users select {
    width: 40%;
}

.list-search-area dl dd .users input {
    width: 59%;
}

.list-search-area .select2-container--default .select2-selection--single {
    height: auto;
    background-color: transparent;
    border: 1px solid var(--light-color);
}

.list-search-area .select2-container--default .select2-selection--single .select2-selection__rendered {
    color: var(--basic-color);
}

.list-search-area .btns.search-btn {
    width: 100%;
    background-color: var(--searchbox-button-bg);
    color: var(--searchbox-button-color);
}

.board-box .btn-area {
    margin-top: 20px;
}

.board-box .board-list:not(:last-child),
.board-box .board-write:not(:last-child) {
    margin-bottom: 40px;
}

@media screen and (min-width: 639px) {
}

@media screen and (min-width: 767px) {
    .board-box .board-list:not(:last-child),
    .board-box .board-write:not(:last-child) {
        margin-bottom: 50px;
    }
}

@media screen and (min-width: 979px) {
}

@media screen and (min-width: 1139px) {
    .list-search-area {
        display: flex;
        justify-content: space-between;
        align-items: center;
        padding: 5px;
        margin-bottom: 30px;
    }

    .list-search-area.no-spacebetween {
        justify-content: flex-start;;
    }

    .list-search-area.no-spacebetween dl {
        margin-right: 10px;
    }

    .list-search-area dl {
        width: 29.5%;
        margin: 0;
    }

    .list-search-area .btns.search-btn {
        width: 10%;
        height: 46px;
    }

    .board-box .board-list:not(:last-child),
    .board-box .board-write:not(:last-child) {
        margin-bottom: 60px;
    }
}

@media screen and (min-width: 1439px) {
    .list-search-area dl dt {
        width: 100px;
    }
}


/* 게시판 영역 - 갤러리형 */
.gallery-list {
    position: relative;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: stretch;
}

.gallery-list .gallery-con {
    overflow: hidden;
    width: 49%;
    margin: 1% 0.5%;
    border: 1px solid rgba(var(--black-white-rgb), 0.1);
    background-color:rgba(var(--black-white-rgb), 0.05);
    text-align: center;
    border-radius: 4px;
}

.gallery-list .gallery-con a {
    display: block;
}

.gallery-list .gallery-con a.state-name,
.gallery-list .gallery-con a.state-area {
    padding: 10px 0;
}

.gallery-list .gallery-con a.state-name {
    font-family: var(--point-font);
}

.gallery-list .gallery-con a.state-area {
    background-color: var(--background-color);
}

.gallery-list .gallery-con a.pic {
    font-size: 0;
}

@media screen and (min-width: 767px) {
    .gallery-list {
        justify-content: flex-start;
    }

    .gallery-list .gallery-con {
        width: 32%;
        margin: 0 0 2% 2%;
    }

    .gallery-list .gallery-con:nth-child(3n+1) {
        margin-left: 0;
    }
}

@media screen and (min-width: 1139px) {
    .gallery-list .gallery-con {
        width: 24%;
        margin: 0 0 1.25% 1.25%;
        -moz-box-shadow: 0px 1px 1px rgba(0,0,0,0);
        -webkit-box-shadow: 0px 1px 1px rgba(0,0,0,0);
        box-shadow: 0px 1px 1px rgba(0,0,0,0);
    }

    .gallery-list .gallery-con:nth-child(3n+1) {
        margin-left: 1.25%;
    }

    .gallery-list .gallery-con:nth-child(4n+1) {
        margin-left: 0;
    }

    .gallery-list .gallery-con:hover {
        -moz-box-shadow: 0px 2px 15px rgba(0,0,0,0.15);
        -webkit-box-shadow: 0px 2px 15px rgba(0,0,0,0.15);
        box-shadow: 0px 2px 15px rgba(0,0,0,0.15);
    }
}

@media screen and (min-width: 1439px) {
    .gallery-list .gallery-con {
        width: 19%;
    }

    .gallery-list .gallery-con:nth-child(4n+1) {
        margin-left: 1.25%;
    }

    .gallery-list .gallery-con:nth-child(5n+1) {
        margin-left: 0;
    }

}


/* 게시판 영역 - 글쓰기 */
.board-write {
    position: relative;
}

.board-write ul.line-2ul li {
    width: 100%;
}

.board-write dl.w-box {
    margin-bottom: 15px;
}

.board-write dl.w-box dt {
    margin-bottom: 5px;
    font-weight: 400;
}

@media screen and (min-width: 639px) {
    .board-write dl.w-box {
        display: flex;
        justify-content: space-between;
        align-items: center;
        padding: 10px 5px;
        margin: 5px 0;
        background-color: rgba(var(--black-white-rgb),0.04);
        border-radius: 5px;
    }

    .board-write dl.w-box dt {
        flex-shrink: 0;
        width: 120px;
        padding: 0 10px;
        margin-bottom: 0;
    }

    .board-write dl.w-box dd {
        flex-grow: 1;
    }
}

@media screen and (min-width: 767px) {
}

@media screen and (min-width: 979px) {
}

@media screen and (min-width: 1139px) {
    .board-write ul.line-2ul li {
        width: 49.5%;
        margin-left: 1%;
    }

    .board-write ul.line-2ul li:nth-child(2n+1) {
        margin-left: 0;
    }

    .board-write dl.w-box {
        padding: 10px;
    }
}

@media screen and (min-width: 1439px) {
}


/* 라이트모드 & 다크모드 버튼 */
.dark-light-toggle-btn {
    position: fixed;
    bottom: 10px;
    right: 10px;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 50px;
    height: 50px;
    font-size: 20px;
    text-align: center;
    border-radius: 25px;
    z-index: 2000;
}

.dark-light-toggle-btn em {
    display: none;
    font-size: 14px;
}

@media screen and (min-width: 639px) {
}

@media screen and (min-width: 767px) {
}

@media screen and (min-width: 979px) {
    .dark-light-toggle-btn {
        bottom: 20px;
        right: 20px;
        width: auto;
        padding: 0 20px;
    }

    .dark-light-toggle-btn em {
        display: block;
        margin-left: 10px;
    }
}

@media screen and (min-width: 1239px) {
}

@media screen and (min-width: 1439px) {
}



/* -------------------------------- */
@media screen and (min-width: 639px) {
}

@media screen and (min-width: 767px) {
}

@media screen and (min-width: 979px) {
}

@media screen and (min-width: 1239px) {
}

@media screen and (min-width: 1439px) {
}