@charset "UTF-8";

:root {
  --font-size-lg: 20px;
  --font-size-mlg: 16px;
  --font-size-md: 14px;
  --font-size-mdsm: 12px;
  --font-size-sm: 10px;
  --main-background-color: #d8d1c8;
  --main-text-color: #2578ac;
}

@media (max-width: 600px) {
  :root {
    --font-size-lg: 14px;
    --font-size-mlg: 13px;
    --font-size-md: 12px;
  }
}

@media (max-width: 1380px) and (min-width: 601px) {
  :root {
    --font-size-lg: 16px;
    --font-size-mlg: 14px;
    --font-size-md: 12px;
  }
}
.margin-left-0 {
  margin-left: 0 !important;
}
.margin-right-0 {
  margin-right: 0 !important;
}
.margin-left-right-0 {
  margin-left: 0 !important;
  margin-right: 0 !important;
}
.flex-end {
  justify-content: flex-end;
}
.flex-start {
  justify-content: flex-start;
}

* select {
  background-color: transparent;
  border: none;
  color: #333;
  outline: none;
  cursor: pointer;
}

input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus,
input:-webkit-autofill:active {
  transition: background-color 5000s ease-in-out 0s;
  -webkit-transition: background-color 9999s ease-out;
  -webkit-box-shadow: 0 0 0px 1000px #fff inset !important;
  -webkit-text-fill-color: #333 !important;
  padding: 5px;
}

* {
  margin: 0 auto;
  padding: 0;
  box-sizing: border-box;
}

button {
  cursor: pointer;
  outline: none;
}

* p,
button,
b,
em,
span,
h1,
h2,
h3,
h4 {
  color: #333;
}

ul li {
  list-style: none;
}

a {
  text-decoration: none;
}

body {
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

header {
  position: absolute;
  top: 0;
  width: 100%;
  display: flex;
  z-index: 5;
  height: 6vh;
  /* padding: 15px 0; */
  background-color: #fff;
  border-bottom: 1px solid #d8d8d8;
}

header > div {
  width: 100%;
  display: flex;
  align-items: center;
}

header .headerlogo {
  display: flex;
  align-items: center;
  margin-left: 0;
  padding-left: 20px;
  cursor: pointer;
  width: 22%;
  margin-right: 0;
}

.headerlogo a {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-left: 0;
  margin-top: 2px;
  font-size: 24px;
  font-weight: 500;
  color: #333;
}

.user-state {
  margin-right: 55px;
  display: flex;
  align-items: center;
  /* width: 40%; */
}

.adminBtn{
  margin-left: 10px;
  padding: 5px;
  cursor: pointer;
  position: relative;
  display: flex;
  align-items: center;
}
.adminBtn > ul > li {
  margin-bottom: 10px;
}
.adminBtn > ul > li:last-child{
  margin-bottom: 0;
}
.adminBtn > ul > li > a{
  color: #333;
  font-size: 14px;
  /* margin-bottom: 10px; */
}

.adminBtn i{
  color: #333;
}

header nav {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  margin-left: 0;
  width: 78%;
}

header nav > ul {
  display: flex;
  align-items: center;
  width: 70%;
  margin-left: 0;
}

header nav > ul li a{
  padding: 22px 0;
}

header nav > ul li a p,
header nav > ul li p,
header nav > ul li a,
header nav > div > p {
  cursor: pointer;
  font-size: var(--font-size-mlg);
  font-weight: 500;
  font-style: normal;
  color: #333;
}

.solutionlist {
  position: relative;
}

.solutionlist:hover .subnavul {
  /* background-color: var(--main-background-color); */
  display: block;
}

.subnavul {
  display: none;
  position: absolute;
  z-index: 100;
  width: 130px;
  top: 50px;
  padding: 5px;
  left: 50%;
  transform: translateX(-50%);
  border: 1px solid #dddddd;
  background-color: #fff;
}

header nav > ul > li {
  /* padding: 22px 0px; */
  margin-left: 0;
  margin-right: auto;
  display: flex;
  align-items: center;
}

.loginbtn {
  margin-right: 20px;
  margin-left: 0;
}

header nav > ul li ul li {
  margin-bottom: 10px;
}

header nav > ul li ul li:last-child {
  margin-bottom: 0;
}

header nav > ul li ul li a {
  display: flex;
  font-size: 13px;
  font-weight: 500;
  width: 100%;
  color: #333;
  white-space: nowrap;
}

header nav > ul li ul li a:hover {
  color: #2578ac;
}

header nav .logout {
  display: flex;
  align-items: center;
}

div.logout p,
div.logout span {
  font-size: var(--font-size-mdsm);
  font-weight: 500;
  padding: 0;
}

.logoutbtn button {
  border-radius: 3px;
  background-color: #6e8496;
  color: #fab575;
  font-size: var(--font-size-mdsm);
  font-weight: 500;
  border: none;
  padding: 5px 7px;
  margin-left: 10px;
}

.headerofflogo {
  position: absolute;
  top: 25px;
  z-index: 10;
  left: 50%;
  transform: translateY(-50%);
  padding: 10px;
  cursor: pointer;
  /* width: 100%; */
  display: none;
  align-items: center;
  justify-content: center;
}

.subnav {
  position: relative;
  padding: 20px 0;
}

.subnav ul {
  background-color: var(--main-background-color);
  padding: 5px;
  position: absolute;
  left: 50%;
  width: 100%;
  transform: translateX(-50%);
  /* top: 97px; */
  display: none;
}

.subnav ul li {
  margin-bottom: 10px;
}

.subnav ul li a {
  color: #fff;
  font-size: 14px;
  font-weight: 500;
}

.subnav ul li:last-child {
  margin-bottom: 0;
}

/* 로그인 */

.login_btn {
  padding-left: 50px;
  display: flex;
  align-items: center;
  cursor: pointer;
}

.login {
  font-size: 15px;
  font-weight: 500;
  background-color: transparent;
  border: none;
  padding: 4px 7px;
  box-sizing: border-box;
  border-radius: 10px;
  cursor: pointer;
  margin-right: 10px;
  color: #333;
}

.user-detail {
  display: flex;
  align-items: center;
  margin-right: 0;
  margin-left: 20px;
}

.ud-list p {
  font-size: var(--font-size-mdsm);
}

.ud-list p b {
  color: #0f649a;
  font-weight: 500;
  font-size: 14px;
  color: #333;
}

div.ud-list {
  width: auto;
  margin-right: 20px;
}

/* 정보변경 */
/* 중단 */
.login_grid01 > form {
  margin: 20px 0;
  display: grid;
  grid-template-rows: repeat(2, auto);
  grid-row-gap: 20px;
}

.login_inner01 {
  background-color: #fdf8f2;
  padding: 20px;
  border-radius: 27px;
  display: flex;
  align-items: center;
  width: 260px;
  height: 34px;
}

.login_id01 img {
  margin-right: 20px;
  margin-left: 15px;
}

.login_password01 > img {
  margin-right: 28px;
  margin-left: 15px;
}

.login_state {
  margin-left: 24px;
  font-size: 10px;
}

.login_id01 input[type="text"] {
  border: none;
  background-color: transparent !important;
  outline: none;
}

.login_password01 input[type="password"] {
  border: none;
  background-color: transparent !important;
  outline: none;
}

.login_id01 input[type="text"]::placeholder {
  font-size: 14px;
}

.login_password01 input[type="password"]::placeholder {
  font-size: 14px;
}

/* 정보 */
.ub-state {
  display: flex;
  align-items: center;
}

.ub-state .inner-link {
  display: flex;
  align-items: center;
  margin-right: 0;
}

.inner-link a,
.inner-link button {
  color: #333333;
  background-color: transparent;
  border: none;
  font-weight: 500;
  white-space: nowrap;
  border: none;
  padding: 1px 10px;
  margin-left: 10px;
  font-size: 14px;
}

.inner-link button {
  margin-left: 0;
  border-left: 1px solid #333;
}

.ud-list {
  display: flex;
  align-items: center;
}

.ud-listinfo {
  display: flex;
  align-items: center;
  border: 1px solid #0f649a;
  padding: 5px 0;
  margin-left: 10px;
  border-radius: 16px;
}

.ud-listinfo p {
  color: #0f649a;
  font-size: 14px;
  margin-left: 0;
  margin-right: 12px;
}

.ud-listinfo svg {
  margin-right: 4px;
  margin-left: 12px;
}

.login_password01 div select {
  width: 100%;
  display: flex;
  justify-content: space-between;
  font-weight: 500;
  border: none !important;
  height: auto;
  padding: 0;
  font-size: 14px;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3C!--! Font Awesome Pro 6.1.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2022 Fonticons, Inc.--%3E%3Cpath fill='%23333' d='M224 416c-8.188 0-16.38-3.125-22.62-9.375l-192-192c-12.5-12.5-12.5-32.75 0-45.25s32.75-12.5 45.25 0L224 338.8l169.4-169.4c12.5-12.5 32.75-12.5 45.25 0s12.5 32.75 0 45.25l-192 192C240.4 412.9 232.2 416 224 416z'/%3E%3C/svg%3E")
    no-repeat 95% center !important;
  background-size: 14px !important;
  /* padding-left: 10px; */
  padding-right: 40px;
}

.login_password01 div select option {
  color: #333;
}

article.alarmMarkerPopup,
article.alarmPopup,
div.alarmIcon {
  display: none;
}

.alarmGridInput {
  display: flex;
  align-items: center;
}

.alarmGridInput p {
  font-size: 14px;
}

div.toggle {
  margin-left: 5px;
  margin-right: auto;
}

/* uiux가이드 */

.loginInfo {
  position: relative;
}

.loginInfoPopBtn {
  display: flex;
  align-items: center;
  cursor: pointer;
}

.loginInfo i {
  color: #333;
  margin-right: 5px;
}

.loginInfo p {
  font-size: 14px;
}

.loginInfoContent {
  position: absolute;
  z-index: 9999;
  top: 50px;
  right: -20px;
  /* transform: translateX(-50%); */
  /* right: 100px; */
  padding: 8px;
  width: 160px;
  border: 1px solid #dddddd;
  background-color: #fff;
  border-radius: 6px;
  box-shadow: rgba(99, 99, 99, 0.2) 0px 2px 8px 0px;
  display: none;
}

/* 로그인 정보 이름변경 */
.loginInfoContentUserNm {
  display: flex;
  align-items: center;
  margin-bottom: 10px;
  cursor: pointer;
}

.loginInfoContentUserNm p {
  color: #8e8e8e;
  font-weight: 600;
}

.loginInfoContentUserNm i {
  color: #8e8e8e;
  margin-right: 0;
}

.loginInfoContentUserNmInput {
  margin-bottom: 10px;
  display: none;
}

.loginInfoContentUserNmInput input {
  border: 1px solid #717171;
  padding: 10px;
  width: 100%;
  outline: none;
  background-color: #fff;
  border-radius: 6px;
  color: #8e8e8e;
}

.loginInfoContentUserNmInput input::placeholder {
  color: #8e8e8e;
}

.loginInfoContentUserNmInput button {
  background-color: #cdd7e4;
  color: #333;
  width: 100%;
  text-align: center;
  padding: 5px 0;
  margin-top: 10px;
  border: none;
  border-radius: 6px;
}

/* 로그아웃 남은 시간 */
.logOutInfoTitle {
  margin-bottom: 10px;
}

.logOutInfoTitle p {
  color: #555555;
  /* text-align: center; */
}

.logOutInfo {
  display: flex;
  align-items: center;
}

.logOutInfo > div {
  display: flex;
  align-items: center;
}

.logOutInfo > div p {
  color: #1d56bc;
}

.logOutInfo > button {
  background-color: #cdd7e4;
  color: #333;
  text-align: center;
  padding: 5px;
  border-radius: 6px;
  border: none;
}

/* 지역선택 */

.userInfoAreaWrap {
  margin: 10px 0;
  border-bottom: 1px solid #d8d8d8;
  border-top: 1px solid #d8d8d8;
  display: flex;
  flex-direction: column;
  width: 100%;
  padding: 10px 0;
}

.userInfoAreaWrap select {
  width: 100%;
  border-radius: 6px;
  padding: 10px;
  box-sizing: border-box;
  border: 1px solid #d8d8d8;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3C!--! Font Awesome Pro 6.1.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2022 Fonticons, Inc.--%3E%3Cpath fill='%23333' d='M224 416c-8.188 0-16.38-3.125-22.62-9.375l-192-192c-12.5-12.5-12.5-32.75 0-45.25s32.75-12.5 45.25 0L224 338.8l169.4-169.4c12.5-12.5 32.75-12.5 45.25 0s12.5 32.75 0 45.25l-192 192C240.4 412.9 232.2 416 224 416z'/%3E%3C/svg%3E")
    no-repeat 95% center !important;
  background-size: 14px !important;
  /* padding-left: 10px; */
  padding-right: 40px;
  height: auto;
}

.userInfoAreaWrap select:first-child {
  /* margin-top: 10px; */
  margin-bottom: 10px;
}

/* 로그아웃 */
.logOutMainBtn {
  display: flex;
  align-items: center;
  padding: 10px 0;
}

.logOutMainBtn img {
  margin-right: 5px;
}

.logOutMainBtn a {
  display: inline-block;
  margin-left: 0;
  color: #333;
  font-size: 14px;
}

.loginMainGrid {
  display: flex;
  align-items: center;
}
