@charset "UTF-8";



@font-face {
    font-family: 'Pretendard';
    font-weight: 900;
    font-display: swap;
    src: local('Pretendard Black'), url('/resources/fonts/pretendard/Pretendard-Black.subset.woff2') format('woff2'), url('./woff-subset/Pretendard-Black.woff') format('woff');
}

@font-face {
    font-family: 'Pretendard';
    font-weight: 800;
    font-display: swap;
    src: local('Pretendard ExtraBold'), url('/resources/fonts/pretendard/Pretendard-ExtraBold.subset.woff2') format('woff2'), url('./woff-subset/Pretendard-ExtraBold.woff') format('woff');
}

@font-face {
    font-family: 'Pretendard';
    font-weight: 700;
    font-display: swap;
    src: local('Pretendard Bold'), url('/resources/fonts/pretendard/Pretendard-Bold.subset.woff2') format('woff2'), url('./woff-subset/Pretendard-Bold.woff') format('woff');
}

@font-face {
    font-family: 'Pretendard';
    font-weight: 600;
    font-display: swap;
    src: local('Pretendard SemiBold'), url('/resources/fonts/pretendard/Pretendard-SemiBold.subset.woff2') format('woff2'), url('./woff-subset/Pretendard-SemiBold.woff') format('woff');
}

@font-face {
    font-family: 'Pretendard';
    font-weight: 500;
    font-display: swap;
    src: local('Pretendard Medium'), url('/resources/fonts/pretendard/Pretendard-Medium.subset.woff2') format('woff2'), url('./woff-subset/Pretendard-Medium.woff') format('woff');
}

@font-face {
    font-family: 'Pretendard';
    font-weight: 400;
    font-display: swap;
    src: local('Pretendard Regular'), url('/resources/fonts/pretendard/Pretendard-Regular.subset.woff2') format('woff2'), url('./woff-subset/Pretendard-Regular.woff') format('woff');
}

@font-face {
    font-family: 'Pretendard';
    font-weight: 300;
    font-display: swap;
    src: local('Pretendard Light'), url('/resources/fonts/pretendard/Pretendard-Light.subset.woff2') format('woff2'), url('./woff-subset/Pretendard-Light.woff') format('woff');
}

@font-face {
    font-family: 'Pretendard';
    font-weight: 200;
    font-display: swap;
    src: local('Pretendard ExtraLight'), url('/resources/fonts/pretendard/Pretendard-ExtraLight.subset.woff2') format('woff2'), url('./woff-subset/Pretendard-ExtraLight.woff') format('woff');
}

@font-face {
    font-family: 'Pretendard';
    font-weight: 100;
    font-display: swap;
    src: local('Pretendard Thin'), url('/resources/fonts/pretendard/Pretendard-Thin.subset.woff2') format('woff2'), url('./woff-subset/Pretendard-Thin.woff') format('woff');
}
/*폰트설정 : 끝*/


/*기타 설정 : 시작 */
html{-webkit-text-size-adjust:none; 
-ms-user-select:none; -khtml-user-select:none;
-webkit-user-select:none; user-select:none; 
-webkit-touch-callout:none; }
*{-webkit-box-sizing:border-box; -moz-box-sizing:border-box; box-sizing:border-box;}
body,a,p,h1,h2,h3,h4,h5,h6,ul,ol,li,dl,dt,dd,table,tr,th,td,
form,fieldset,label,legend,input,textarea,button,menu{margin:0px;padding:0px; -webkit-text-size-adjust:none;}
body,input,textarea,select,table,button,code{color:#1f1f1f;
font-family: /*'NanumSquare'*/'Pretendard'; font-weight: 400; text-align: left; font-style:normal; } 
body{width:100%; position:relative;word-wrap:break-word;word-break:break-all; background: #f0f0f0;
min-width:280px; min-height: 100vh;}
nav,menu,ul,li,ol{list-style:none;}
div{display:block;}
table{border-collapse:collapse; border-spacing:0;}
img,fieldset{border:none;}
em,address{font-style:normal;}
select{cursor: pointer; background: none}
section,article,header,footer,nav,aside,hgroup{display:block;}
button{border:none; background:none; cursor:pointer !important; margin:0; padding:0}
button:focus{outline:none;}
a{margin:0px; padding:0px; text-decoration:none; cursor:pointer;}
a:hover, a:active{text-decoration:none !important;}
table{table-layout: fixed;}
.clearFix:after{content:""; display:block; clear:both;}
.ibFix{line-height:0px;}
.hiddenFix{position: absolute; overflow: hidden; top: 0; left: 0; width: 1px; height: 1px; line-height: 0;
text-indent:-10000px}
caption{position: absolute; overflow: hidden; top: 0; left: 0; width: 1px; height: 1px; line-height: 0;
text-indent:-10000px}
label{cursor:pointer;}
.floatLeft{float: left;} .floatLeft:after{content:""; display:block; clear:both;}
.floatRight{float: right; position: relative;} .floatRight:after{content:""; display:block; clear:both;}
.pageFix{overflow: hidden;}
.tCenter{text-align: center;}
.inside{display: inline-block;}
.inside:after{content: ""; display: block; clear: both;}
.row{display: block; width: 100%; position: relative;}
.row:after{content: ""; display: block; clear: both;}
.bold{font-weight: 700}

select {
   -webkit-appearance:none; /* for chrome */
   -moz-appearance:none; /*for firefox*/
   appearance:none;
}

select::-ms-expand{
   display:none;/*for IE10,11*/
}

:root {
  --main-gmk: #343452;
  --main-d2: #989898;

  --red:#9C2B3C;
  --red2: #FF5F5F;
  --redBg:#C71717;
}
/*기타 설정 : 끝*/





/*레이아웃 : 시작*/



.centerWrap{
    display: block;
    width: 100%;
    margin:0 auto;
    position: relative;
    padding:0 30px;
}
/*레이아웃 : 끝*/







/*인풋 : 시작*/
.dataLabel{
    display: block;
    width: 100%;
    padding: 39px 0 0;
}

.dataLabel:after{content: ""; display: block; clear: both;}

.dataWrap + .dataWrap{margin:14px 0 0;}

.dataWrap{
    display: block;
    width: 100%;
}

.dataWrap:after{content: ""; display: block; clear: both;}


.inputNormal{
    display: block;
    width: 100%;
    height: 54px;
    line-height: 52px;
    background: #Fff;
    border-radius: 5px;
    padding: 0 16px;
    border: 1px solid #eee !important;
    color: var(--main-gmk);
    text-align: left;
    font-size: 14px;
    font-weight: 500;
}

.inputNormal::placeholder{color:rgba(6,20,31,0.4) !important;}


























/*intro - start*/
.introAllWrap{
    display: flex;
    width: 100%;
    height: 100vh;
    height: 100dvh;
    /*width: 1507px;
    height: 763px;*/
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    background: #05141F;
    line-height: 0;
}

.introAllWrap .imgWrap{
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    line-height: 0;
    width: 100%;
    height: 100vh;
    height: 100dvh;
    max-width: 700px;
    max-height: 700px;
    background: radial-gradient(50% 50% at 50% 50%, #193345 0%, rgba(5, 20, 31, 0.00) 100%);
}

.introAllWrap .logo{
    width: 260px;
    opacity: 0;
    transform: translateY(50px);
    animation: logoSlideUp 0.5s ease-out forwards;
}

@keyframes logoSlideUp {
    from {
        opacity: 0;
        transform: translateY(50px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}
/*intro - end*/





/*기기목록 : start*/
.allWrap002{
    display: block;
    width: 100%;
    height: 100vh;
    height: 100dvh;
    /*width: 1507px;
    height: 763px;*/
    background: #ECEFF6;
    padding:3.8vw 4.69vw 0;
}

.deviceListIntro{
    display: block;
    width: 100%;
}

.deviceListIntro > .logo{
    display: block;
    width: 5vw;
}

.deviceListIntro > .txt1{
    display: block;
    width: 100%;
    color: #05141F;
    text-align: center;
    /*font-size: 1.56vw;*/
    font-size: 1.4vw;
    font-style: normal;
    font-weight: 700;
    line-height: 1;
    letter-spacing: -0.8px;
    /*margin:2.73vw 0 0;*/
    margin:2.5vw 0 0;
}

.deviceListIntro > .txt2{
    display: block;
    color: #05141F;
    text-align: center;
    /*font-size: 4.69vw;*/
    font-size: 4vw;
    font-style: normal;
    font-weight: 700;
    line-height: 1;
    /*margin:3.13vw 0 0;*/
    margin:2.3vw 0 0;
}

.deviceListIntro > .txt3{
    display: block;
    color: #05141F;
    text-align: center;
    /*font-size: 1.88vw;*/
    font-size: 1.56vw;
    font-style: normal;
    font-weight: 400;
    line-height: 1;
    letter-spacing: -0.96px;
    margin: 1.56vw 0 0;
}

.deviceList{
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    /*margin: 6.25vw auto 0;*/
    margin: 5vw auto 0;
    max-width: 1160px;
    justify-content: center;
    gap:40px;
}

.deviceList .device{
    display: block;
    width: calc((100% - 80px) / 3);
    min-height: 360px !important;
}

.deviceList .deviceButton{
    display: block;
    width: 100%;
    padding:0 0 100%;
    border-radius: 50%;
    line-height: 0;
    background: #CED2DD;
    position: relative;
}

.deviceList .deviceButton > .wrap{
    display: block;
    position: absolute;
    width: 100%;
    left: 0;
    top:50%;
    transform: translateY(-50%);
}

.deviceList .deviceButton > .wrap > .icon{
    display: block;
    width: 48px;
    height: 48px;
    background: url(/resources/images/img-camera.svg) center no-repeat;
    background-size: 48px 48px;
    margin:0 auto;
}

.deviceList .deviceButton > .wrap > .txt{
    display: block;
    text-align: center;
    overflow: hidden;
    color: #FFF !important;
    font-size: 1.41vw;
    font-style: normal;
    font-weight: 600;
    line-height: 1;
    letter-spacing: -0.072px;
    margin:1.25vw 0 0;
}
.deviceList .deviceButton > .wrap > .num{
    display: block;
    text-align: center;
    overflow: hidden;
    color: #FFF !important;
    font-size: 3.75vw;
    font-style: normal;
    font-weight: 900;
    line-height: 1;
    letter-spacing: -0.192px;
    margin:1.25vw 0 0;
}


.deviceCard{
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    height: 100%;
    overflow: hidden;
    background: #fff;
    border-radius: 5px;
    flex-direction: column;
}

.deviceCard .cardHeader{
    display: block;
    width: 100%;
    padding:20px 20px 14px;
    /*flex: 1;*/
}

.deviceCard .cardHeader > .num{
    display: block;
    width: 100%;
    text-align: left;
    overflow: hidden;
    color: #9BA2B3 !important;
    /*font-size: 1.56vw;*/
    font-size: 1.4vw;
    font-style: normal;
    font-weight: 900;
    line-height: 1;
    letter-spacing: -0.8px;
}

.deviceCard .cardHeader > .txt{
    display: block;
    color: #05141F !important;
    font-size: 2vw;
    font-style: normal;
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: -1.12px;
    margin: 1.1vw 0 0;
}

.deviceCard .cardHeader .statusRow{
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    justify-content: space-between;
    align-items: center;
    margin:30px 0 0;
}

.deviceCard .cardHeader .statusRow .i{
    display: block;
    width: 1px;
    height: 10px;
    background: #C2C5C8;
}

.deviceCard .cardHeader .statusRow .onOff{
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap:2px;
}

.deviceCard .cardHeader .statusRow .onOff > .icon{
    display: block;
    width: 32px;
    height: 32px;
}

.deviceCard .cardHeader .statusRow .onOff > .icon.off{
    background: url(/resources/images/siren_off.svg) center no-repeat;
    background-size: 32px 32px;
}

.deviceCard .cardHeader .statusRow .onOff > .icon.on{
    background: url(/resources/images/siren_on.png) center no-repeat;
    background-size: 32px 32px;
}

.deviceCard .cardHeader .statusRow .onOff > .status{
    overflow: hidden;
    color: #333E47 !important;
    text-align: left;
    font-size: 15px;
    font-style: normal;
    font-weight: 500;
    line-height: 1;
    letter-spacing: -0.154px;
}

/*.deviceCard .cardHeader .statusRow .onOff:after{
    content: "";
    width: 1px;
    height: 10px;
    background: #C2C5C8;
}*/



.deviceCard .cardHeader .statusRow .onOffLine{
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap:15px;

}

.deviceCard .cardHeader .statusRow .onOffLine .one{
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap:4px;
}

.deviceCard .cardHeader .statusRow .onOffLine .one > .icon{
    display: block;
    width: 14px;
    height: 14px;
    border-radius: 50%;
    background: #C2C5C8;
}

.deviceCard .cardHeader .statusRow .onOffLine .one > .txt {
    overflow: hidden;
    color: #ADB2B5 !important;
    text-align: left;
    font-size: 16px;
    font-style: normal;
    font-weight: 500;
    line-height: 1;
    letter-spacing: -0.154px;
}

.deviceCard .cardHeader .statusRow .onOffLine .onLine.active > .icon{
    background: #00CF0E;
}
.deviceCard .cardHeader .statusRow .onOffLine .offLine.active > .icon{
    background: #FF3700;
}
.deviceCard .cardHeader .statusRow .onOffLine .one.active > .txt{
    color:#333E47 !important;
}


.deviceCard .imgWrap{
    display: block;
    flex: 1;
    position: relative;
    line-height: 0;
}

.deviceCard .imgWrap img{
    display: block;
    position: absolute;
    width: 100%;
    height: 100%;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
}
/*기기목록 : end*/














/*기기 연동하기 : start*/
.connectDevice {
    display: flex;
    flex-wrap: wrap;
    flex-direction: row;
    width: 520px; 
    background-color: #EFF1F5;
    height: 100vh;
    height: 100dvh;
    padding: 40px 30px 0;
    position: fixed;
    top:0;
    right: -540px;
    transition: 0.3s;
    box-shadow: 0 0 15px rgba(0,0,0,0.05);
}

.connectDevice.active{
    display: flex;
    right:0;
    transition: 0.3s;
}


.cdHeader {
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: relative;
}

.buttonClose {
    font-weight: 300;
    color: #666;
    width: 48px;
    height: 48px;
    background: url(/resources/images/close-24cd.svg) center no-repeat;
    background-size: 24px 24px;
    transform: translateX(-12px);
}

.cdHeader > .title {
    font-size: 1.8vw;
    font-weight: 700;
    color: #191F28;
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
}

.connectDevice section {
    display: block;
    width: 100%;
    margin: 40px 0 0;
}

.connectDevice section > .title {
    color: #000E19;
    font-size: 1.3vw;
    font-style: normal;
    font-weight: 600;
    line-height: 1;
    letter-spacing: -0.8px;
}

.connectedDevice {
    width: 100%;
    display: block;
    background-color: #fff;
    border-radius: 16px;
    margin:18px 0 0;
}

.deviceOne{
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap:10px;
    padding: 11px 10px 11px 20px;
}

.deviceOne .num{
    width: 34px;
    color: #333E47;
    text-align: left;
    font-size: 18px;
    font-style: normal;
    font-weight: 900;
    line-height: 1;
    letter-spacing: -0.72px;
}

.deviceOne .icon{
    display: block;
    width: 20px;
    height: 20px;
}

.deviceOne .icon.icon1{
    background: url(/resources/images/wifi1i.svg) center no-repeat;
    background-size: 20px auto;
}

.deviceOne .icon.icon2{
    background: url(/resources/images/wifi12.svg) center no-repeat;
    background-size: 20px auto;
}

.deviceOne .txt{
    display: block;
    width: calc(100% - 168px);
    color: #000E19 !important;
    text-align: left;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: 18px;
    font-style: normal;
    font-weight: 600;
    line-height: 1;
    letter-spacing: -0.72px;
}

.deviceOne .status{
    width: 84px;
    display: block;
    text-align: center;
    height: 38px;
    padding: 0 16px;
    line-height: 38px;
    border-radius: 20px;
    background: #00CF0E;
    color: #FFF !important;
    text-align: center;
    font-size: 15px;
    font-style: normal;
    font-weight: 400;
    letter-spacing: -0.6px;
}


.otherDevice{
    display: block;
    width: calc(100% + 35px);
    margin:18px 0 0;
    padding:0 31px 0 0;
    overflow-y: auto;
    height: calc(100% - 40px);
    flex:1;

}

.otherDevice::-webkit-scrollbar {
    width: 4px;
}

.otherDevice::-webkit-scrollbar-thumb {
    background: #fff;
}
.otherDevice::-webkit-scrollbar-track {
    background: #9BA2B3;
}



.connectDevice .section2{
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    flex-direction: column;
    flex:1;
    padding:0 0 50px;
}

.otherDevice .deviceOne{
    background: #fff;
}

.otherDevice .deviceOne:first-child{border-radius: 10px 10px 0 0}
.otherDevice .deviceOne:last-child{border-radius: 0 0 10px 10px}


.otherDevice .deviceOne > .txt{
    width: calc(100% - 124px);
}

.otherDevice .status{
    height: 40px;
    border-radius: 2px;
    background: #D6D8DA;
    cursor: pointer !important;
}

.otherDevice .status.active{
    background: #333E47;
}










/*모달 : start*/
.modalWrap{
    display: none;
}
.modalWrap.active{
    display: block;
}

.modalNormal{
  display: block;
  width: 600px;
  background: #fff;
  border-radius: 18px;
  transform: translate(-50%, -50%);
  position: fixed;
  z-index: 10000;
  top:50%;
  left: 50%;
  overflow: hidden;
  /*animation-name: modalUp;
  animation-duration:0.7s;*/
}

.modalNormal.modalSize1{
  width: 460px;
}


.alertTxt{
  display: block;
  width: 100%;
  padding:54px 20px;
  text-align: center;
}


.alertTxt > .txt1{
    display: block;
    width: 100%;
    text-align: center;
    color: #858B91;
    text-align: center;
    font-size: 16px;
    font-weight: 700;
    line-height: 1;
    letter-spacing: -0.64px;
}

.alertTxt > .txt2{
    display: block;
    width: 100%;
    text-align: center;
    margin:26px 0 0;
    color: #000E19;
    font-size: 20px;
    font-style: normal;
    font-weight: 400;
    line-height: 130%;
    letter-spacing: -0.88px;
}


.modalButtons{
  display: flex;
  width: 100%;
  justify-content: center;
}



.modalButtons button{
  flex:1;
  height: 56px;
  line-height: 56px;
  text-align: center;
  font-size: 18px;
  font-weight: 400;
  text-align: center;
  color:#fff !important;
  background: #333E47;
}

.buttonDone{
  background: #333E47 !important;
  color:#fff !important;
}

.buttonDone2{
  background: #FB3243 !important;
  color:#fff !important;
}


.dimm{
  display: block;
  position: fixed;
  width: 100%;
  height: 100vh;
  background: rgba(0,0,0,0.5);
  top:0;
  left:0;
  z-index: 9000;
}

.buttonCloseModal{
  display: block;
  position: absolute;
  width: 48px;
  height: 48px;
  top:12px;
  right: 12px;
  background: url(/resources/images/close-24cd.svg) center no-repeat;
  background-size: 24px 24px;
  opacity: 0.7;
}
/*모달 : end*/











/*이벤트 영상 조회 : start*/
.allWrap005{
    display: flex;
    flex-wrap: wrap;
    position: fixed;
    width: 100%;
    height: 100vh;
    height: 100dvh;
    padding:0;
    left: 0;
    top:0;
}

.allWrap005 .col1{
    display: block;
    width: 50%;
    height: 100vh;
    height: 100dvh;
    background: #efefef;
    padding:60px;
}

.allWrap005 .col2{
    display: block;
    width: 50%;
    height: 100vh;
    height: 100dvh;
    background: #dde0e7;
    padding:45px 60px 0;
}


.closeThis{
    background: url(/resources/images/arrow-left-32x.svg) left no-repeat;
    background-size: 32px 32px;
    padding:0 0 0 48px;
    color: #000E19 !important;
    text-align: left;
    font-size: 39px;
    font-weight: 600;
    line-height: 100%; 
}

.videoWrapBig{
    display: block;
    width: 100%;
    margin:100px 0 0;
    line-height: 0;
}

.videoWrapBig > img{
    display: block;
    width: 100%;
}

.allWrap005 .col1 > .txt1{
    display: block;
    text-align: left;
    margin:15px 0 0;
    color: #DCE0EA;
    font-size: 40px;
    font-weight: 700;
    line-height: 130%;
    letter-spacing: -1.6px;
}

.allWrap005 .col2{
    

}
/*이벤트 영상 조회 : end*/





.datepickerRow{
    display: flex;
    flex-wrap: wrap;
    gap:0;
    width: 100%;
    align-items: center;
}

.datepickerRow .dateOne{
    width: calc(50% - 50px);
    position: relative;
}

.datepickerRow .dateOne .dateOneInput{
    border-radius: 2px;
    background: #FFF;
    padding:0 12px 0 16px;
    text-align: left;
    height: 42px;
    line-height: 42px;
    color:#333E47;
    text-align: left;
    font-size: 16px;
    font-weight: 400;
    border : none !important;
    width:100% !important;
}

.datepickerRow .dateOne .buttonPick{
    display: block;
    position: absolute;
    top:0;
    right:0;
    width: 42px;
    height: 42px;
    background: url(/resources/images/calendar-c24.svg) center no-repeat;
    background-size: 24px 24px;
}

.datepickerRow .buttonConfirm{
    display: block;
    width: 60px;
    height: 42px;
    line-height: 42px;
    text-align: center;
    color:#fff !important;
    font-size: 14px;
    font-weight: 500;
    border-radius: 2px;
    background: #5C6F7A;
    margin:0 0 0 20px;
}
.datepickerRow .dateBw{
    width: 20px;
    height: 42px;
    line-height: 42px;
    text-align: center;
    font-size: 14px;
    font-weight: 400;
    color:#222;
}

.checkRow{
    display: flex;
    flex-wrap: wrap;
    justify-content: right;
    gap:0;
    width: 100%;
    gap:20px 30px;
    margin:24px 0 0;
}







.bInput input[type=checkbox]{
    margin: 0;
    box-sizing: border-box;
    padding: 0;
    line-height: normal;
}

.bInput {
    position: relative;
    display: inline-block;
    max-width: 100%;
    height: 30px;
}



.bInput input + .txt {
    float: left;
    height: 30px;
    line-height: 30px;
    font-size: 14px;
    font-weight: 500;
    color:#222;
    padding:0 0 0 28px;
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.bInput input {
    position: absolute;
    clip: rect(0,0,0,0);
    pointer-events: none;
}

.bInput input[type="checkbox"]:focus+.txt{
    /*outline:2px solid #20787c; outline-offset: -2px;*/
}

.bInput input[type="checkbox"]:not(:checked)+.txt {
    background: url(/resources/images/check20a-off.png) left no-repeat;
    background-size: 20px 20px;
}

.bInput input[type="checkbox"]:checked+.txt {
    background: url(/resources/images/check20a-on.png) left no-repeat;
    background-size: 20px 20px;
    /*color:var(--main);*/
    font-weight: 700;
}


.bInput input[type="radio"]:focus+.txt{
    /*outline:2px solid #20787c; outline-offset: -2px;*/
}

.bInput input[type="radio"]:not(:checked)+.txt {
    background: url(/resources/images/radio-20x20e.svg) left no-repeat;
    background-size: 20px 20px;
}

.bInput input[type="radio"]:checked+.txt {
    background: url(/resources/images/radio-20x20f-on.svg) left no-repeat;
    background-size: 20px 20px;
    /*color:var(--main);*/
    font-weight: 700;
}






.videoListGroup1{
    display: flex;
    flex-wrap: wrap;
    width: calc(100% + 30px);
    gap:4px;
    margin:22px 0 0;
    height: calc(100vh - 220px);
    overflow-y: scroll;
    padding:0 24px 0 0;
}


.videoListGroup1::-webkit-scrollbar {
    width: 4px;
}

.videoListGroup1::-webkit-scrollbar-thumb {
    background: #fff;
}

.videoListGroup1::-webkit-scrollbar-track {
    background: #9BA2B3;
}


.videoListGroup1 .videoListOne{
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    width: 100%;
    padding:10px;
    gap:0 15px;
    border-radius: 4px;
}

.videoListGroup1 .videoListOne.active{
    background: #fff;
}

.videoListGroup1 .videoListOne .imgWrap{
    display: block;
    position: relative;
    width: 132px;
    height: 74px;
    line-height: 0;
}

.videoListGroup1 .videoListOne .imgWrap img{
    display: block;
    width: 100%;
    height: 100%;
}


.videoListGroup1 .videoListOne .txtGroup{
    display: block;
    width: calc(100% - 352px);
}

.videoListGroup1 .videoListOne .txtGroup .row1{
    display: flex;
    width: 100%;
    flex-wrap: wrap;
    align-items: center;
    gap:8px;
}

.videoListGroup1 .videoListOne .txtGroup .row1 .icon{
    display: block;
    width: 24px;
    height: 24px;
    border-radius: 12px;
}

.videoListGroup1 .videoListOne .txtGroup .row1 .icon.icon1{
    background: #999 url(/resources/images/temperature20.svg) center no-repeat;
    background-size: 20px 20px;
}

.videoListGroup1 .videoListOne .txtGroup .row1 .icon.icon2{
    background: #999 url(/resources/images/temperature20.svg) center no-repeat;
    background-size: 20px 20px;
}

.videoListGroup1 .videoListOne .txtGroup .row1 .icon.icon3{
    background: #999 url(/resources/images/temperature20.svg) center no-repeat;
    background-size: 20px 20px;
}

.videoListGroup1 .videoListOne .txtGroup .row1 .txt1{
    display: block;
    width: calc(100% - 32px);
    color: #000E19 !important;
    font-size: 18px;
    font-style: normal;
    font-weight: 600;
    line-height: 100%; 
    letter-spacing: -0.72px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.videoListGroup1 .videoListOne .txtGroup .txt2{
    display: block;
    width: 100%;
    text-align: left;
    color: #475159;
    font-size: 15px;
    font-style: normal;
    font-weight: 400;
    line-height: 100%;
    margin:12px 0 0;
}

.videoListGroup1 .videoListOne .txtGroup .txt3{
    display: block;
    width: 100%;
    text-align: left;
    color: #475159;
    font-size: 15px;
    font-style: normal;
    font-weight: 400;
    line-height: 100%;
    margin:4px 0 0;
}

.videoListOne .buttonGroup {
    display: flex;
    flex-wrap: wrap;
    gap:0 10px;
    width: 190px;
}

.videoListOne .buttonGroup .buttonDelete{
    display: block;
    width: calc(50% - 5px);
    border-radius: 24px;
    border: 1px solid #EBECED;
    background: #FFF;
    height: 48px;
    background: #fff;
    text-align: center;
    line-height: 0;
}

.videoListOne .buttonGroup .buttonDelete span{
    display: inline-block;
    line-height: 46px;
    text-align: left;
    color: #000E19 !important;
    text-align: center;
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    letter-spacing: -0.64px;
    background: url(/resources/images/trash.svg) left no-repeat;
    background-size: 20px 20px;
    padding:0 0 0 26px;
}

.videoListOne .buttonGroup .buttonSave{
    display: block;
    width: calc(50% - 5px);
    border-radius: 24px;
    border: 1px solid #EBECED;
    background: #FFF;
    height: 48px;
    background: #fff;
    text-align: center;
    line-height: 0;
}

.videoListOne .buttonGroup .buttonSave span{
    display: inline-block;
    line-height: 46px;
    text-align: left;
    color: #000E19 !important;
    text-align: center;
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    letter-spacing: -0.64px;
    background: url(/resources/images/down.svg) left no-repeat;
    background-size: 20px 20px;
    padding:0 0 0 26px;
}



/*환경설정*/
.allWrap007{
    display: block;
    position: fixed;
    width: 100%;
    height: 100vh;
    height: 100dvh;
    padding:40px 50px;
    left: 0;
    top:0;
    background: #ECEFF6;
}

.blockRow1{
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    gap:0 40px;
    margin:35px 0 0;
}

.blockRow1 .block1{
    display: block;
    width: calc(60% - 20px);
}

.blockRow1 .block2{
    display: block;
    width: calc(40% - 20px);
}

.blTitle {
    display: block;
    width: 100%;
    text-align: left;
    font-size: 18px;
    line-height: 1;
    color:#000E19;
    font-weight: 600;
}


.blockRow1 .boxes{
    display: flex;
    width: 100%;
    flex-wrap: wrap;
    gap:10px;
    margin:16px 0 0;
}

.blockRow1 .boxes .boxOne{
    display: flex;
    width: 100%;
    background: #fff;
    padding:18px 20px;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
}

.blockRow1 .boxes .boxOne .bLabel{
    width: 138px;
    color: #000E19;
    font-size: 16px;
    font-style: normal;
    font-weight: 600;
    line-height: 130%;
    text-align: left;
    letter-spacing: -0.64px;
}

.blockRow1 .boxes .boxOne .bdWrap{
    display: flex;
    flex-wrap: wrap;
    gap:10px 25px;
    width: calc(100% - 140px);
}


.blockRow2{
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    gap:0 12px;
    margin:37px 0 0;
}

.blockRow2 .block3{
    display: block;
    width: calc((100% - 24px) / 3);
    padding:19px;
    background: #fff;
}

.blockRow2 .block4{
    display: block;
    width: calc((100% - 24px) / 3);
    padding:19px;
    background: #fff;
}

.blockRow2 .block5{
    display: block;
    width: calc((100% - 24px) / 3);
    padding:19px;
    background: #fff;
}

.boxOneType2{
    display: block;
    width: 100%;
}

.boxOneType2 .bLabel{
    color: #000E19;
    font-size: 16px;
    font-style: normal;
    font-weight: 600;
    text-align: left;
    line-height: 100%; 
    letter-spacing: -0.64px;
}

.bdWrap1{
    margin:20px 0 0;
}

.bdWrap2{
    margin:20px 0 0;
}

.bdWrap3{
    margin:20px 0 0;
}

.sensitivitySlider{
    display: block;
    width: 100%;
    position: relative;
}

.sliderTrack{
    display: block;
    width: 100%;
    height: 2px;
    background: #E0E0E0;
    position: relative;
    margin:0 0 20px;
    border: none;
}

/* jQuery UI Slider 커스터마이징 */
.sliderTrack.ui-slider {
    height: 2px;
    background: #E0E0E0;
    border: none;
    margin: 0 0 20px;
}

.sliderTrack.ui-slider .ui-slider-handle {
    width: 20px;
    height: 20px;
    background: #000;
    border: none;
    border-radius: 50%;
    top: 50%;
    margin-left: -10px;
    margin-top: -10px;
    cursor: pointer;
    outline: none;
}

.sliderTrack.ui-slider .ui-slider-handle:hover,
.sliderTrack.ui-slider .ui-slider-handle:focus {
    background: #000;
}

.sliderTrack.ui-slider .ui-slider-range {
    background: transparent;
}

/* 범위 슬라이더 스타일 (최저/최대 독립 슬라이더) */
.rangeSliderWrap {
    display: block;
    width: 100%;
}

.rangeSliderItem {
    display: block;
    width: 100%;
    margin: 0 0 30px;
}

.rangeSliderItem:last-child {
    margin-bottom: 0;
}

.rangeSliderLabelRow {
    display: flex;
    width: 100%;
    justify-content: space-between;
    align-items: center;
    margin: 0 0 10px;
}

.rangeSliderLabel {
    display: block;
    color: #000E19;
    font-size: 14px;
    font-weight: 400;
    text-align: left;
}

.rangeSliderValue {
    display: inline-block;
    color: #000E19;
    font-size: 16px;
    font-weight: 600;
    text-align: right;
}

.rangeSliderUnit {
    display: inline-block;
    color: #000E19;
    font-size: 14px;
    font-weight: 400;
    margin: 0 0 0 2px;
}

.rangeSliderRange {
    display: flex;
    width: 100%;
    justify-content: space-between;
    margin: 8px 0 0;
}

.rangeSliderRange .rangeMin,
.rangeSliderRange .rangeMax {
    display: block;
    color: #999;
    font-size: 12px;
    font-weight: 400;
}

.rangeSliderItem .sliderTrack.ui-slider {
    height: 2px;
    background: #E0E0E0;
    border: none;
    margin: 0 0 0;
}

.rangeSliderItem .sliderTrack.ui-slider .ui-slider-handle {
    width: 20px;
    height: 20px;
    background: #000;
    border: none;
    border-radius: 50%;
    top: 50%;
    margin-left: -10px;
    margin-top: -10px;
    cursor: pointer;
    outline: none;
}

.rangeSliderItem .sliderTrack.ui-slider .ui-slider-handle:hover,
.rangeSliderItem .sliderTrack.ui-slider .ui-slider-handle:focus {
    background: #000;
}

.rangeSliderItem .sliderTrack.ui-slider .ui-slider-range {
    background: transparent;
}

.sliderLabels{
    display: flex;
    width: 100%;
    justify-content: space-between;
    position: relative;
}

.sliderLabels::before{
    content: '';
    position: absolute;
    left: 0;
    top: -10px;
    width: 2px;
    height: 8px;
    background: #E0E0E0;
}

.sliderLabels::after{
    content: '';
    position: absolute;
    right: 0;
    top: -10px;
    width: 2px;
    height: 8px;
    background: #E0E0E0;
}

/* 중간 포인트 마커 (25%, 75%) */
.sensitivitySlider {
    position: relative;
}

.sensitivitySlider::before {
    content: '';
    position: absolute;
    left: 25%;
    top: 0;
    width: 2px;
    height: 8px;
    background: #E0E0E0;
    transform: translateX(-50%);
    margin-top: -10px;
    z-index: 1;
}

.sensitivitySlider::after {
    content: '';
    position: absolute;
    left: 75%;
    top: 0;
    width: 2px;
    height: 8px;
    background: #E0E0E0;
    transform: translateX(-50%);
    margin-top: -10px;
    z-index: 1;
}

.sliderLabel{
    display: block;
    color: #000E19;
    font-size: 14px;
    font-weight: 400;
    text-align: center;
    position: relative;
    flex: 1;
}

.sliderLabel::before{
    content: '';
    position: absolute;
    left: 50%;
    top: -18px;
    transform: translateX(-50%);
    width: 2px;
    height: 8px;
    background: #E0E0E0;
}

.sliderLabel:first-child{
    text-align: left;
}

.sliderLabel:nth-child(2){
    text-align: center;
}

.sliderLabel:last-child{
    text-align: right;
}


.blockRow2 .blTitle{
    margin:0 0 16px;
}

.blockRow12 .boxes .boxOne .bdWrap{
    gap:0 25px;
}


.bottomButtonsType2{
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap:12px;
    margin:40px 0 0;
}

.button2{
    display: block;
    width: 120px;
    height: 46px;
    line-height: 46px;
    color:#fff !important;
    font-size: 14px;
    font-weight: 500;
    border-radius: 2px;
    background: #05141F;
    text-align: center;
}


.sliderLabel::before{
    display: none !important;
}

.sensitivitySlider{
    margin:40px 0 ;
}




.allWrap004{
    display: block;
    position: fixed;
    width: 100%;
    height: 100vh;
    height: 100dvh;
    background: #ECEFF6;
    padding:50px 80px 0;
}


.a004Top{
    display: block;
    position: relative;
    height: 48px;
    width: 100%;
}

.a004Top .a004Title{
    display: block;
    width: 100%;
    text-align: center;
    color: #000E19;
    font-size: 32px;
    font-style: normal;
    font-weight: 700;
    line-height: 100%; 
    letter-spacing: -1.28px;
}


.a004Top .a04button1{
    display: block;
    width: 48px;
    height: 48px;
    border-radius: 24px;
    background: #fff url(/resources/images/video.svg) center no-repeat;
    background-size:24px 24px;
    position: absolute;
    left:0;
    top:0;
}
.a004Top .a04button2{
    display: block;
    width: 148px;
    height: 48px;
    border-radius: 24px;
    background: #fff url(/resources/images/siren_off.svg) 20px center no-repeat;
    background-size:32px 32px;
    position: absolute;
    right:68px;
    padding:0 0 0 56px;
    text-align: left;
    top:0;
    overflow: hidden;
    color: #333E47 !important;
    font-size: 14px;
    font-style: normal;
    font-weight: 500;
    line-height: 48px;
    letter-spacing: -0.154px;
}

.a004Top .a04button2:after{
    content: "사이렌 OFF";
}

.a004Top .a04button2.active{
    background: #fff url(/resources/images/siren_on.png) 20px center no-repeat;
    background-size:32px 32px;
}

.a004Top .a04button2.active:after{
    content: "사이렌 ON";
}


.a004Top .a04button3{
    display: block;
    width: 48px;
    height: 48px;
    border-radius: 24px;
    background: #fff url(/resources/images/setting.svg) center no-repeat;
    background-size:32px 32px;
    position: absolute;
    right:0;
    top:0;
}

.a004Boxes{
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    gap:50px;
    margin:20px 0 0;
}

.line4a{
    display: block;
    width: 1px;
    height: 100%;
    background: #DCE0EA;
}

.a004Boxes .box1g{
    width: calc(40% - 51px);
}

.a004Boxes .box2g{
    width: calc(60% - 50px);
}

.bkTitleRow{
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    height: 44px;
    align-items: center;
}

.bkTitleRow .bkTitle{
    display: block;
    color: #000E19;
    font-size: 20px;
    font-style: normal;
    font-weight: 600;
    line-height: 100%; /* 20px */
    letter-spacing: -0.8px;
}


.chart1Wrap{
    display: block;
    width: 100%;
    padding:10px;
    background: #fff;
    margin:14px 0 0;
}

.importantData{
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    justify-content: center;
    gap:0 35px;
    padding:30px 0;
}

.importantData .dtOne{
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
}

.importantData .dtOne .label{
    color: #05141F !important;
    text-align: center;
    font-size: 16px;
    font-style: normal;
    font-weight: 600;
    line-height: 100%; 
    letter-spacing: -0.64px;
    margin: 3px 0 0;
}
.importantData .dtOne .d1{
    color: #05141F;
    font-size: 14px;
    font-style: normal;
    font-weight: 400;
    line-height: 100%; /* 14px */
    letter-spacing: -0.56px;
    line-height: 20px;
    transform: translateY(-3px);
}

.importantData .dtOne .data{
    color: #05141F;
    font-size: 14px;
    font-style: normal;
    font-weight: 400;
    line-height: 100%; /* 14px */
    letter-spacing: -0.56px;
    line-height: 20px;
    font-weight: 700;
    font-size: 28px;
    line-height: 1;
    margin:0 0 0 12px;
}



.importantData .dtOne.red .data{color:#FB3243 !important}
.importantData .dtOne.red .d1{color:#FB3243 !important}
.importantData .dtOne.blue .data{color:#0048FF !important}
.importantData .dtOne.blue .d1{color:#0048FF !important}


.box3a{
    display: block;
    margin:3px 0 0;
    background: #fff;
    padding:15px;
    border-radius: 2px;
}


.tRow1{
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    justify-content: space-between;
}

.tRow1 .title1{
    display: block;
    text-align: left;
    color: #000E19;
    font-size: 18px;
    font-style: normal;
    font-weight: 600;
    line-height: 100%; 
    letter-spacing: -0.72px;
}

.tRow1 .txt2{
    display: flex;
    flex-wrap: wrap;
    align-items: center;
}

.bkTitleRow2{
    display: flex;
    flex-wrap: wrap;
    gap:10px;
    align-items: center;
    margin:20px 0 0;
}

.gGorup{
    display: flex;
    flex-wrap: wrap;
    gap:10px;
}

.gGorup .card1{
    display: block;
    width: 160px;
}


.gGorup .card1 .imgWrap{
    width: 100%;
    height: 90px;
    position: relative;
    line-height: 0;
}

.gGorup .card1 .imgWrap img{
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0;
    top:0;
}


.gGorup .card1 .row1{
    display: flex;
    flex-wrap: wrap;
    gap:0 8px;
    width: 100%;
    margin:4px 0 0;
    text-align: left;
    align-items: center;
}

.gGorup .card1 .row1 .icon.icon1{
    width: 24px;
    height: 24px;
    border-radius: 20px;
    background: #999 url(/resources/images/temperature20.svg) center no-repeat;
    background-size: 20px 20px;
}

.gGorup .card1 .row1 .icon.icon2{
    width: 24px;
    height: 24px;
    border-radius: 20px;
    background: #999 url(/resources/images/temperature20.svg) center no-repeat;
    background-size: 20px 20px;
}

.gGorup .card1 .row1 .icon.icon3{
    width: 24px;
    height: 24px;
    border-radius: 20px;
    background: #999 url(/resources/images/temperature20.svg) center no-repeat;
    background-size: 20px 20px;
}


.gGorup .card1 .row1 .c1{
    color: #000E19;
    font-size: 18px;
    font-style: normal;
    font-weight: 600;
    line-height: 100%; 
    letter-spacing: -0.72px;
    text-align: left;
}



.gGorup .card1 .row2{
    display: flex;
    flex-wrap: wrap;
    gap:0 8px;
    width: 100%;
    margin:4px 0 0;
    text-align: left;
    align-items: center;
}

.gGorup .card1 .row2 .t1{
    font-size: 14px;
    text-align: left;
    font-weight: 400;
    line-height: 20px;
}

.gGorup .card1 .row2 .t2{
    font-size: 14px;
    text-align: left;
    font-weight: 400;
    line-height: 20px;
}













/*#######################################*/
@media screen and (max-width: 1000px) {


} /*반응형 1000px 끝*/



/*#######################################*/
@media screen and (max-width: 600px) {




} /*반응형 600px 끝*/








/*#######################################*/
@media screen and (max-width: 488px) {



} /*반응형 488px 끝*/








@media screen and (max-width: 420px) {



} /*반응형 488px 끝*/


@media screen and (max-width: 400px) {



} /*반응형 400px 끝*/


@media screen and (max-width: 380px) {



} /*반응형 380px 끝*/


@media screen and (max-width: 360px) {

   

} /*반응형 360px 끝*/






@media screen and (max-width: 340px) {


} /*반응형 320px 끝*/









@media screen and (max-width: 320px) {

  

} /*반응형 320px 끝*/



@media screen and (max-width: 300px) {



} /*반응형 300px 끝*/













































































































