@charset "utf-8";

body {
    min-width: 1440px;
    overflow-x: auto;
}

#header  {
    position: absolute;
    top:0;
    width: 100%;
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    z-index: 5;
}
#header .main-top {
    padding:10rem 0 0;
    text-align: center;
    background: url('../images/common/main_top.png') no-repeat center;
    background-size: cover;
}
.dash #header + #container {
    margin-top:315px;
}
#header .main-top .main-link {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    gap:2.8rem;
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    transform-origin: center center;
}
#header.on .main-top {

}
/* SVG 아이콘 애니메이션 */
.logo svg, .main-top svg {
    opacity: 0;
}
.logo .svg-icon, .main-top .svg-icon {
    animation: fadeIn 0.3s ease-in forwards;
}
.logo .svg-wordmark, .main-top .svg-wordmark  {
    animation: fadeIn 0.3s ease-in 1.5s forwards;
}
@keyframes fadeIn {
    to {
        opacity: 1;
    }
}
.svg-icon path {
    fill: transparent;
    stroke: white;
    stroke-width: 0.4;
    stroke-dasharray: 1000;
    stroke-dashoffset: 1000;
}

#shield-star {
    animation: drawLine 3s ease-in-out forwards,
            fillShape 0.2s ease-in 0.8s forwards;
}
#shield-inner-lines {
    animation: drawLine 1s ease-in-out 0.8s forwards,
            fillShape 0.2s ease-in 1.2s forwards;
}
#shield-outline {
    animation: drawLine 0.9s ease-in-out 1.1s forwards,
            fillShape 0.2s ease-in 1.2s forwards;
}
@keyframes drawLine {
    to {
        stroke-dashoffset: 0;
    }
}

@keyframes fillShape {
    to {
        fill: white;
    }
}
.svg-wordmark path {
    fill: transparent;
    stroke: white;
    stroke-width: 0.6;
    stroke-dasharray: 1000;
    stroke-dashoffset: 1000;
}
#text-char-4 {
    animation: drawLine 0.6s ease-in-out 1.2s forwards,
            fillText 0.2s ease-in 1s forwards;
}
#text-char-5 {
    animation: drawLine 1s ease-in-out 1.6s forwards,
            fillText 0.2s ease-in 1.8s forwards;
}
#text-char-2 {
    animation: drawLine 1s ease-in-out 2s forwards,
            fillText 0.2s ease-in 2.3s forwards;
}
#text-char-3 {
    animation: drawLine 1s ease-in-out 2.4s forwards,
            fillText 0.2s ease-in 2.7s forwards;
}
#text-char-1 {
    animation: drawLine 1s ease-in-out 2.8s forwards,
            fillText 0.2s ease-in 3s forwards;
}

@keyframes fillText {
    to {
        fill: white;
        stroke: white;
    }
}
.logo svg path, .main-top svg path {
    animation-fill-mode: forwards;
}
#header.on .main-top {
    padding-bottom:160px;
}
#header.on .main-top .main-logo path {
    fill:#fff !important;
    stroke: transparent;
}

#header .nav  {
    position: relative;
    margin-top:35px;
    border-bottom:1px solid transparent;
}
#header.on .nav  {
    border-bottom:1px solid rgba(255,255,255,0.3);
}
#header .nav .depth1 { 
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    gap:0;
    height: 100%;
    z-index: 10;
}
#header .nav .depth1 li {
    position: relative;
    height: 100%;
}
#header .nav .depth1 > li > a {
    position: relative;
    display: flex;
    height:100px;
    padding: 0 20px 0;
    align-items: center;
    justify-content: center;
    font-size:17px;
    font-weight: 500;
    color:rgba(255,255,255,0.7);
    transition: padding 0.5s;
}
#header.fixed .nav .depth1 > li > a {
    height:60px;
}
#header.on .nav .depth1 > li > a {
    padding:0 40px;
    max-width: 195px;
}
#header.on .nav .depth1 > li.active > a,
#header.on .nav .depth1 > li > a:hover {
    color:var(--wht);
    font-weight: 700
}
#header.on .nav li > a:hover + .depth2,
#header.on .nav li.active > a + .depth2  {
    background:rgba(255,255,255,0.3);
}
#header .nav .depth1 > li > a span {
    position: relative;
}
#header .nav .depth1 > li > a:before { content: ''; position: absolute; left: 50%; bottom: 0; width: 0; height: 2px; background-color: #fff; transform: translateX(-50%); transition: width 0.5s; }
#header .nav .depth1 > li.active > a:before,
#header .nav .depth1 > li > a:hover:before { width: 100%; }

#header .nav .depth1 > li.active > a span:before { opacity: 1; transform: translate(-50%, calc(-100% - 3px)); }
#header .nav .depth2 { position: absolute; left: 50%; bottom: 0; width: 100%; padding: 19px 0; transform: translate(-50%, 100%); white-space: nowrap; text-align: left; opacity: 0; pointer-events: none; transition: all 0.3s; transition-delay: -0.1s; z-index: 1; }
#header .nav .depth2 > li > a { display: block; padding: 5px 10px; font-size: 14px; color:rgba(255,255,255,0.7);}
#header .nav .active .depth2 > li > a {color:var(--wht);}
#header .nav .depth2 > li > a:hover {color:#32F1FF; font-weight: 700;}
#header .nav .depth2 > li.active > a { font-weight: 500; }
#header .nav .depth2 > li.active > a > span::before {left: -5px; opacity: 1;}
#header .nav .depth2 > li > a > span { position: relative;  }
#header .nav .depth2 > li > a > span::before {content: ""; position: absolute; left: -15px; top: 50%; transform: translate(-100%,-50%); width: 3px; height:3px; background-color: #000; border-radius: 50%; opacity: 0; transition:  0.3s ease-in-out;}

#header.on .nav .depth2 { min-height:162px; transition-delay: 0.1s; pointer-events: auto; opacity: 1; }

/* heder 고정 */
#header.fixed {
    position: fixed;
    top:0;
    width: 100%;
    /* transition: all 0.5s ease; */
    z-index: 10;
}
#header.fixed .main-top {
    padding:0;
}
#header.fixed.on .main-top {
    padding-bottom:161px;;
}
#header.fixed .main-top .main-link {
    position: absolute;
    left:40px;
    top:15px;
    width:88px;
    height:30px;
    gap:0;
    /* transform: translateY(-50%) translateX(0);
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    animation: slideInFromLeft 0.5s cubic-bezier(0.4, 0, 0.2, 1) forwards; */
    z-index: 11;
}
#header.fixed .main-top .main-link svg {
    width: 100%;
    height: 100%;
}
@keyframes slideInFromLeft {
    0% {
        transform: translateY(-150%) translateX(100%);
        opacity: 0.7;
    }
    100% {
        transform: translateY(-50%) translateX(0);
        opacity: 1;
    }
}
#header.fixed .main-top .main-logo path {
    stroke: transparent;
}
#header.fixed .nav {
    margin-top:0;
    border-bottom:1px solid transparent;
}
#header.fixed.on .nav {
    border-bottom:1px solid rgba(255,255,255,0.3);
}
#header.fixed + #container {
    margin-top:101px;
}
.dash #header.fixed + #container {
    margin-top:201px;
}

.user-util {
    position: fixed;
    top:15px;
    right:40px;
    z-index: 11;
}
.user-util .user-btn {
    width:30px;
    height:30px;
    border-radius: 50%;
}
.user-util .user-btn svg {
    width: 100%;
    height:100%;
}
.user-util .user-btn.on {
    background-color: var(--wht);
}
.user-util .user-btn.on svg path {
    stroke: #000;
}
.user-util .user-box {
    position: absolute;
    top:calc(100% + 10px);
    left:-100%;
    display:none;
    flex-direction: column;
    gap:1rem;
    margin-left:-101px;
    padding:2rem;
    min-width: 195px;
    border-radius: 1.2rem;
    background-color: var(--wht);
    box-shadow: 5px 5px 20px 0px rgba(0,0,0,0.09);
}
.user-util .user-box.active {
    display:flex;
}
.user-util .user-box .name {
    padding:1.5rem 2rem;
    width: 100%;
    font-size:1.4rem;
    text-align: center;
    border-radius: 0.8rem;
    background-color: var(--primary10);
}
.user-util .user-box li a {
    display:flex;
    align-items: center;
    gap:1rem;
    font-size:1.4rem;
}
#container {
    padding:40px 40px 80px;
}

/* dash boad */
.dashboard {

}
.dashboard .dash-noti {
    display: flex;
}
.chart-half .chart-wrapper canvas {
    width:174px !important;
    height:174px !important;
}
.chart-half .legend {
    display: flex;
    flex-direction: column;
    gap: 20px;
    margin-left:2.5rem;
}
.chart-half .legend-item {
    display: flex;
    align-items: center;
    gap: 12px;
}
.chart-half .legend-color {
    width: 12px;
    height: 34px;
    border-radius: 3px;
}
.chart-half .legend-color.pri50 {
    background-color: var(--primary50);
}
.chart-half .legend-color.pri30 {
    background-color: var(--primary30);
}
.chart-half .legend-color.sec50 {
    background-color: var(--secondary50);
}
.chart-half .legend-text {
    font-size: 1.4rem;
    font-weight: 400;
}
.chart-half .legend-percentage {
    font-size: 1.7rem;
    font-weight: 500;
    color: var(--gry90);
    text-align: left;
}
.chart-half .legend-percentage.pri50 {
    color:var(--primary50);
}
.chart-half .legend-percentage.sec50 {
    color:var(--secondary50);
}
.chart-half .legend-content {
    display: flex;
    flex-direction: column;
}

.dash-wrap .chart-wrap .chart {
    display: flex;
    align-items: end;
    justify-content: space-around;
    position: relative;
    padding:1rem 0 0 2rem;
    width: 100%;
    height: 100%;
}
.dash-wrap .chart-wrap .bar-group {
    display: flex;
    flex-direction: column;
    align-items: center;
    position: relative;
    flex: 1;
    max-width: 80px;
}
.dash-wrap .chart-wrap .bars {
    display: flex;
    align-items: end;
    position: relative;
    width: 30px;
    height: 247px;
    border-radius: 5px;
}
.dash-wrap .chart-wrap .bar-bg {
    width: 30px;
    height:100%;
    background-color: var(--primary20);
    border-radius: 5px;
    position: absolute;
    bottom: 0;
}
.dash-wrap .chart-wrap .bar-fg {
    position: absolute;
    left:5px;
    bottom: 5px;
    width: 20px;
    max-height:237px;
    background-color: var(--primary50);
    border-radius: 5px;
    transition: height 0.3s ease;
}
.dash-wrap .chart-wrap .day-label {
    margin-top: 10px;
    font-size: 14px;
    color: #666;
    font-weight: 500;
}
.dash-wrap .chart-wrap .y-axis {
    position: absolute;
    left: 0;
    top: 0;
    height: 247px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    font-size: 12px;
    color: #999;
}
.dash-wrap .chart-wrap .y-label {
    height: 20px;
    display: flex;
    align-items: center;
}
.dash-wrap .dash-part .card-box {
    margin-top:2rem;
}
.dash-wrap .dash-part .card-box .card-items {
    flex: 1 1 calc(33.333% - 0.67rem);
    min-width: calc(33.333% - 0.67rem);
    padding:2rem 2rem 2rem;
    height:9.1rem;
    border-radius: 0.8rem;
    background-color: var(--primary10);
}
.dash-wrap .dash-part .card-box .card-items dt {
    display: flex;
    align-items: center;
    margin-top:1rem;
    font-size:1.4rem;
    color:var(--primary50);
}
.dash-wrap .dash-part .card-box .card-items dt svg {
    margin-left:auto;
}
.dash-wrap .dash-part .card-box .card-items dd {
    margin-top:0;
    font-size:2.8rem;
    color:var(--primary50);
}
.dash-wrap .dash-part .card-box .card-items.sec {
    background-color: var(--secondary20);
}
.dash-wrap .dash-part .card-box .card-items.sec dt,
.dash-wrap .dash-part .card-box .card-items.sec dd {
    margin-top:0;
    color:var(--secondary50);
}
.dash-wrap .dash-part .card-box .card-items.sec dt {
    margin-top:1rem;
}
.dash-wrap .dash-part .card-box .card-items.list {
    background-color: transparent;
}
.dash-wrap .dash-part .card-box .card-items.list ul {
    width: 100%;
}
.dash-wrap .dash-part .card-box .card-items.list li {
    padding:0.7rem 0 0.4rem;
}
.dash-wrap .dash-part .card-box .card-items.list li:not(:last-child) {
    border-bottom: 1px solid var(--gry30);
}
.dash-wrap .dash-part .card-box .card-items.list li dl {
    display: inline-flex;
    align-items: center;
    width:100%;
}
.dash-wrap .dash-part .card-box .card-items.list li dt {
    margin-top:0;
    font-size:1.4rem;
    color:var(--gry60);
}
.dash-wrap .dash-part .card-box .card-items.list li dd {
    margin-top:0;
    margin-left:auto;
    font-size:1.7rem;
    color:var(--gry90);
    font-weight: 500;
}


.info-box {
    margin-top:3.5rem;
    padding:2rem;
    border-radius: 1.2rem;
    border-width: 0.1rem;
    border-style: solid;
}
.info-box.blue {
    border-color:var(--primary50);
    background-color: var(--primary10);
}
.info-box.wht {
    border-color:var(--gry30);
    background-color: var(--wht);
}
.info-box.gry {
    border-color:var(--gry35);
    background-color: var(--wht);
}
.info-box.sm {
    padding: 1rem;
}
.info-box .info-tit {
    display:inline-flex;
    align-items: center;
    gap:0.8rem;
    font-size:1.7rem;
    font-weight: 500;
}
.info-box.blue .info-tit {
    color:var(--primary50);
}
.info-box .info-txt {
    margin:5px 0 0;
    font-size:1.4rem;
    color:var(--gry60);
}
.info-box .btn {
    margin-top:1.5rem;
}
.info-box .half-wrap {
    display:flex;
    align-items: center;
    gap:4rem;
}
.info-box .half-wrap dl {
    display:inline-flex;
    align-items: center;
    width: 100%;
    font-size:1.4rem;
    color:var(--gry90);
    border-bottom:1px solid var(--gry20);
}
.info-box .half-wrap dl dt {
    padding:1.5rem 1rem;
    color: var(--gry60);
    font-weight: 500;
}
.info-box .half-wrap dl dd {
    padding:1.5rem 1rem;
}


.section {
    margin-top:3.5rem;
}
.section .btn-wrap {
    margin-top:4rem;
    justify-content: center;
}
.card-box {
    margin-top:3.5rem;
    display: flex;
    gap:1rem;
    width: 100%;
}
.card-box .card-items {
    flex:1 1 auto;
    display: inline-flex;
    align-items: center;
    padding:1.5rem 3rem;
    height:120px;
    color:var(--gry90);
    border:0.1rem solid transparent;
    border-radius: 1.2rem;
}
.card-box .card-items.large {
    flex:1 1 25%;
}
.card-box .card-items.linked {
    flex-wrap: wrap;
    color:var(--green60);
    border-color:var(--green50);
    background-color: var(--wht);
}
.card-box .card-items .status-tit {
    display: flex;
    align-items: center;
    width: 100%;
    font-size:2rem;
    font-weight: 500;
}
.card-box .card-items .status-tit object {
    margin-left:auto;
}
.card-box .card-items .status-tit .status {
    font-size:1.4rem;
    font-weight: 400;
}
.card-box .card-items .sync-list li {
    font-size:1.3rem;
}
.card-box .card-items.unlinked {
    flex-wrap: wrap;
    color:var(--gry60);
    border:1px solid var(--gry40);
    background-color:var(--gry20);
}
.card-box .card-items dl:not(.num-value) svg {
    width: 24px;
    height:24px;
}
.card-box .card-items.blue {
    border-color:var(--primary50);
    background-color: var(--primary10);
}
.card-box .card-items.blue svg path {
    stroke:var(--primary50);
}
.card-box .card-items.deep {
    border-color:var(--secondary50);
    background-color: var(--secondary10);
}
.card-box .card-items.deep svg path {
    stroke:var(--secondary50);
}
.card-box .card-items.import {
    border-color:var(--point50);
    background-color: var(--point10);
}
.card-box .card-items.import svg path {
    stroke:var(--point50);
}
.card-box .card-items.dark {
    border-color:var(--gry60);
    background-color: var(--gry20);
}
.card-box .card-items.dark svg path {
    stroke:var(--gry60);
}
.card-box .card-items.yellow {
    background-color: var(--yellow50);
}
.card-box .card-items.green {
    border-color:var(--green50);
    background-color: var(--green10);
}
.card-box .card-items.green svg path {
    stroke:var(--green50);
}
.card-box .card-items.reni {
    background: var(--gradi00);
}
.dashboard .card-box .card-items {
    color:var(--wht);
}
.dashboard .card-box .card-items.blue {
    background-color: var(--primary50);
}
.dashboard .card-box .card-items.deep {
    background-color: var(--secondary50);
}
.dashboard .card-box .card-items.yellow {
    background-color: var(--yellow50);
}
.dashboard .card-box .card-items.green {
    background-color: var(--green50);
}
.card-box .card-items .circle {
    margin-left:auto;
    display: flex;
    align-items: center;
    justify-content: center;
    width:70px;
    min-width: 70px;
    height:70px;
    border-radius: 50%;
    background-color: rgba(255,255,255,0.3);
}
.card-box .card-items dl {
    width:100%;
}
.card-box .card-items dl dt {
    display: inline-flex;
    align-items: center;
    gap:0.8rem;
    margin-top:0.5rem;
    font-size:1.7rem;
    font-weight: 500;
}
.card-box .card-items dl dd {
    margin-top:0.5rem;
    font-size:2.8rem;
    font-weight: 500;
}
.card-box .card-items dl.num-value {
    display:inline-flex;
    align-items: center;
    gap:0.5rem;
    margin-top:1rem;
}
.card-box .card-items dl.num-value dt {
    font-size:1.3rem;
    font-weight: 400;
    color:var(--wht);
}
.card-box .card-items dl.num-value dd {
    margin-top:0;
    padding:0.3rem 1rem;
    font-size:1.4rem;
    font-weight: 400;
    border-radius: 1.2rem;
}
.card-box .card-items dl.num-value svg {
    margin-bottom:-1px;
}
.card-box .card-items dl.num-value .up {
    color:var(--green50);
    background-color: var(--green20);
}
.card-box .card-items dl.num-value .down {
    color:var(--point50);
    background-color: var(--point20);
}
.card-box .card-items dl.num-value .down svg {
    transform: rotate(180deg);
}
.card-box .card-items dl.num-value .down path {
    stroke: var(--point50);
}


.search-container {
    margin-top:4rem;
    border-radius: 1.2rem;
    border:1px solid var(--gry30);
    background-color: var(--wht);
}
.search-container .search-form {
    gap:0;
}
.search-container .search-form .btn {
    margin-top:1.5rem;
}

.search-form {
    display:none;
    padding: 0.7rem 3rem 1.5rem;
    flex-direction: column;
    transition: all 0.3s ease;
}
.search-form.open {
    display: flex;
} 
.search-form .form-row {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap:2rem;
    align-items: end;
    width: 100%;
}
.search-form .form-row.second-row {
    padding-top:1.4rem;
    border-top:1px solid var(--gry20);
    border-bottom:1px solid var(--gry20);
    grid-template-columns: repeat(6, 1fr);
}
.search-form .form-group {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    margin:0 0 2rem;
}
.search-form .form-group.col-2 {
    grid-column: span 2;
}
.search-form .form-group.col-3 {
    grid-column: span 3;
}
.search-form .form-group.col-4 {
    grid-column: span 4;
}
.search-form .form-group.col-5 {
    grid-column: span 5;
}
.search-form .form-group.col-6 {
    grid-column: span 6;
}
/* 하위호환: double = col-2 */
.search-form .form-group.double {
    grid-column: span 2;
}

/* 태블릿: 3열 */
@media (max-width: 1024px) {
    .search-form .form-row,
    .search-form .form-row.second-row {
        grid-template-columns: repeat(3, 1fr);
    }
    .search-form .form-group.col-4,
    .search-form .form-group.col-5,
    .search-form .form-group.col-6 {
        grid-column: span 3;
    }
}
/* 모바일: 1열 */
@media (max-width: 768px) {
    .search-form .form-row,
    .search-form .form-row.second-row {
        grid-template-columns: 1fr;
    }
    .search-form .form-group.col-2,
    .search-form .form-group.col-3,
    .search-form .form-group.col-4,
    .search-form .form-group.col-5,
    .search-form .form-group.col-6,
    .search-form .form-group.double {
        grid-column: span 1;
    }
}

.search-form .form-label {
    margin:0;
    font-size: 1.4rem;
    color: var(--gry60);
    font-weight: 500;
}
.search-form .custom-select.long {
    width:100%
}
.search-form .custom-select.short {
    width:100%
}
.search-form .custom-select .select-button {
    /* width: auto; */
}
.search-container .search-support {
    padding:1rem;
    border-radius: 1.2rem;
    border:1px solid transparent;
    background-color: var(--wht);
}
.search-container .search-support:hover {
    border-color:var(--primary50);
    background-color: var(--primary10);
}
.search-container .search-support .expand {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width:100%;
    font-size:1.6rem;
}
.search-container .search-support svg {
    margin-right:1rem;
    width: 20px;
    height:20px;
}

.toggle-container {
    display: inline-flex;
    margin-left:2rem;
}

.toggle-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 36px;
    border: none;
    cursor: pointer;
    border:1px solid var(--gry20);
    transition: all 0.2s ease;
    background-color: var(--wht);
}

.toggle-btn:hover {
    background-color: var(--gry10);
}

.toggle-btn.active {
    background-color: var(--primary50);
}
.toggle-btn.active svg rect,
.toggle-btn.active svg path {
    stroke: var(--wht);
}

.toggle-btn:first-child {
    border-radius: 8px 0 0 8px;
    border-right: 0 none;
}
.toggle-btn:last-child {
    border-radius: 0 8px 8px 0;
}

.toggle-btn.active:first-child {
    border-right: 0 none;
    border-color:var(--primary50);
}

.toggle-btn svg {
    width: 20px;
    height: 20px;
}
.view-cont > div {
    display: none;
}
.view-cont .active {
    display: block;
}

.tbl-wrap {
    margin-top:4rem;
}
.tbl-wrap .tbl-util {
    display: flex;
    align-items: center;
}
.tbl-wrap .tbl-top {
    display:flex;
    align-items: center;
    margin-bottom:-8px;
}
.tbl-wrap .tbl-top .tbl-tit {
    font-size:2.8rem;
}
.tbl-wrap .tbl-top .caution-txt {
    display: inline-flex;
    align-items: center;
    margin-left:auto;
    font-size:1.4rem;
    font-weight: 500;
    color:var(--point50);
}
.tbl-wrap .tbl-top .caution-txt svg {
    margin-right:6px; 
}
.tbl-wrap .tbl-util .total {

}
.tbl-wrap .tbl-util .total dl {
    display: inline-flex;
    align-items: center;
    font-size:1.4rem;
    font-weight:600;
}
.tbl-wrap .tbl-util .total dl dd {
    padding-left:5px;
}
.tbl-wrap .tbl-util .btn-box {
    margin-left:auto;
}

.gallery-wrap {
    margin-top:3rem;
}
.gallery-wrap .gallery-box {
    display: flex;
    flex-wrap: wrap;
    gap:1.6rem;
}
.gallery-wrap .gallery-items {
    flex:0 0 calc(25% - 1.2rem);
    padding:2rem 1rem 1.5rem;
    border:1px solid var(--gry35);
    border-radius: 1.2rem;
    background: var(--wht);
}
.gallery-wrap .gallery-top {}
.gallery-wrap .gallery-top .badge {
    padding:0 1rem;
    color:var(--primary50);
    font-size:1.4rem;
    border-radius: 1.4rem;
    background-color: var(--primary10);
}
.gallery-wrap .gallery-cont {
    margin-top:2rem;
}
.gallery-wrap .gallery-cont .thumb {
    border-radius: 8px;
    border:1px solid var(--gry20);
    overflow: hidden;
}
.gallery-wrap .gallery-cont img {
    width: 100%;
}
.gallery-wrap .gallery-bottom {
    display: flex;
    align-items: center;
    margin-top:1.5rem;
    font-size:1.4rem;
}
.gallery-wrap .gallery-bottom .side span:not(:first-child) {
    position: relative;
    margin-left:11px;
    padding-left:10px;
}
.gallery-wrap .gallery-bottom .side span:not(:first-child)::before {
    display: block;
    content:'';
    position: absolute;
    left:0;
    top:50%;
    margin-top:-5px;
    width: 1px;
    height:1rem;
    background-color: var(--gry40);
}
.gallery-wrap .gallery-bottom .right {
    margin-left:auto;
}
.gallery-wrap .gallery-bottom .right dl {
    display:inline-flex;
    align-items: center;
    color:var(--point50);
}

.solution-wrap {
    display: flex;
    width:100%;
}
.solution-wrap .solution-box {
    padding-right:4rem;
    width: 500px;
    overflow-x: auto;
    max-height: 500px;
}
.solution-wrap .solution-box dl {
    padding:2rem 0 3rem;
}
.solution-wrap .solution-box dl dt {
    font-size:1.7rem;
    font-weight: 500;
    color:var(--gry60);
}
.solution-wrap .solution-box dl dd {
    font-size:1.7rem;
    font-weight: 500;
    color:var(--gry90);
}
.solution-wrap .solution-box dl:not(:first-child) {
    border-top:1px solid var(--gry30);
}
.solution-wrap .detail-box {
    flex:1;
    margin-left:auto;
    border:1px solid var(--gry35);
    border-radius: 1.2rem;
}
.solution-wrap .detail-box .tab {
    padding:1.6rem 2rem 0 2rem;
}
.solution-wrap .detail-box .tab-nav {
    gap:0;
}
.solution-wrap .detail-box .tab-nav li {
    flex:1;
}
.solution-wrap .detail-box .tab-nav a {
    width:100%;
    height:40px;
    font-size:1.4rem;
    font-weight: 400;
    border:0 none;
    box-sizing: border-box;
    border:1px solid var(--gry40);
}
.solution-wrap .detail-box .tab-nav li:nth-child(1) a {
    border-radius: 1.2rem 0  0 1.2rem;
}
.solution-wrap .detail-box .tab-nav li:last-child a {
    border-radius: 0 1.2rem 1.2rem 0;
}
.solution-wrap .detail-box .tab-nav .active a {
    font-weight: 500;
    color:var(--wht);
    border-color:transparent;
    background-color: var(--primary50);
}
.solution-wrap .detail-box .tab-wrap .detail-list {
    flex-wrap: nowrap;
    max-height:450px;
    overflow-y:auto;
}
.solution-wrap .detail-box .expand-wrap  {
    margin:0 -20px 0;
    max-height:370px;
    overflow-y:auto;
}
.solution-wrap .detail-box .expand-wrap .expand-box .expand-title {
    border-radius: 0;
    background-color: var(--wht);
}
.solution-wrap .detail-box .expand-wrap .expand-box.reni {
    width: 100%;
    min-width: 100%;
    border:0 none;
}
.solution-wrap .expand-wrap .expand-box .expand-cont .trigger {
    
}
.solution-wrap .expand-wrap .expand-box .expand-title .badge {
    margin-left:0;
    margin-right:auto;
}
.solution-wrap .expand-wrap .expand-box.reni .expand-cont + .expand-cont {
    border-color:var(--gry40);
}
.solution-wrap .detail-box .btn-wrap {
    padding:2rem 0;
}
.solution-wrap .problem-box {
    padding-right: 3rem;
}
.solution-wrap .analyze {
    padding:2rem;
    border-radius: 1.2rem;
    border:1px solid var(--gry35);
}
.solution-wrap .analyze-info.wht dl {
    flex:0 0 50%;
}
.solution-wrap .analyze-info.wht dl:nth-child(n+3) {
    border-top:1px solid var(--gry35);
}
.solution-wrap .analyze-info dl:nth-child(3n) {
    border-right:1px solid var(--gry35);
}
.solution-wrap .analyze-info dl:nth-child(2n) {
    border-right:0 none;
}
.solution-wrap .analyze-box {
    flex:auto;
    width: 100%;
}
.solution-wrap .analyze-info .analyze-box.red, .solution-wrap .analyze-info .analyze-box.green {
    margin-left:0;
    margin-top:2rem;
}

/* 정의형 목록 */
.detail-list {
    display: flex;
    flex-wrap: wrap;
    flex-direction: column;
    width: 100%;
}

.detail-list.detail dl {
    padding:1.3rem 1rem 1.5rem;
}
.detail-list dl {
    display:inline-flex;
    align-items: center;
    padding:0.7rem 1rem;
    width:100%;
    border-bottom:1px solid var(--gry30);
}
.detail-list dl dt {
    width:30%;
    font-size:1.4rem;
    font-weight: 500;
    color:var(--gry60);
}
.detail-list dl dd {
    width:70%;
    font-size:1.4rem;
    color:var(--gry90);
}
.detail-list dl dd .form-check {
    margin-bottom:1rem;
}

.detail-list dl dd .option-list {
    display: flex;
    flex-direction: column;
    gap:1rem;
    margin-top:1rem;
}
.detail-list dl dd .option-list li {
    display: flex;
    gap:6px;
}

.expand-wrap {
    margin-top:6rem;
    display:flex;
    align-items:flex-start;
    gap:8rem;
}
.expand-wrap .expand-box .expand-item {
    border-radius: 12px;
    border:1px solid var(--secondary30);
}
.expand-wrap .expand-box .expand-item + .expand-item {
    margin-top:2rem;
}
.expand-wrap .expand-box:first-child {
    width: 43.2%;
    min-width: 560px;
}
.expand-wrap .expand-box.reni {
    flex:1;
    width:26.1%;
    border:1px solid var(--primary30);
    border-radius: 1.4rem;
}
.expand-wrap .expand-box .expand-title {
    display:inline-flex;
    align-items: center;
    padding:0 20px;
    width:100%;
    height:70px;
    font-size:2rem;
    font-weight: 500;
    border-radius: 12px 12px 0 0;
    border-bottom:1px solid var(--secondary30);
    background-color: var(--secondary10);
}
.expand-wrap .expand-box .expand-title .badge + .btn {
    margin-left:1rem;
}
.expand-wrap .expand-box.reni .expand-title {
    color:var(--wht);
    background: var(--primary50);
}
.expand-wrap .expand-box.reni .expand-cont + .expand-cont {
    border-top:1px solid var(--primary30);
}
.expand-wrap .expand-box.reni .expand-list li.select {
    
}
.expand-wrap .expand-box .expand-title .badge {
    font-weight: 400;
    margin-left:auto;
}
.expand-wrap .expand-box .expand-cont {
    border-top:1px solid var(--secondary30);
    background-color: var(--wht);
}
.expand-wrap .expand-box  .expand-title + .expand-cont {
    border-top:0 none;
}
.expand-wrap .expand-box .expand-cont .reni-tit {
    width:calc(100% - 100px);
}
.expand-wrap .expand-box .expand-cont + .expand-cont {

} 
.expand-wrap .expand-box .meta-search {
    padding:2.4rem 1.4rem 1.2rem;
    background-color: var(--wht);
    border-radius: 0 0 1.2rem 1.2rem;
}
.expand-wrap .expand-box .meta-search.result {
    border-radius: 0;
}
.expand-wrap .expand-box .meta-search .inline-form {
    gap:6px;
}
.expand-wrap .expand-box .meta-search .cuation-txt {
    display:inline-flex;
    align-items: center;
    margin-top:1rem;
    gap:0.5rem;
    font-size:1.4rem;
    font-weight: 400;
    color:var(--point50);
}
.expand-wrap .expand-box .expand-cont .trigger {
    display: inline-flex;
    align-items: center;
    gap:1rem;
    padding:1.2rem 1.4rem;
    width: 100%;
    font-size: 1.7rem;
    font-weight: 500;
}
.expand-wrap .expand-box .expand-cont .trigger .badge  {
    margin-left:auto;
}
.expand-wrap .expand-box .expand-cont .trigger .reni-tit small {
    display: block;
    font-size:1.4rem;
    color:var(--gry60);
    font-weight: 400;
}
.expand-wrap .expand-box .expand-cont .trigger .btn {
    margin-left:auto;
}
.expand-wrap .expand-box .expand-cont .trigger .ico-ai {
    margin-left:auto;
}
.expand-wrap .expand-box .expand-cont .trigger .acco-arrow {
    margin-left:auto;
    transform: rotate(-180deg);
    transition: transform 0.2s ease;
}
.expand-wrap .expand-box .expand-cont .trigger.on .acco-arrow {
    transform: rotate(0);
}
.expand-wrap .expand-box .expand-cont:last-child {
    border-radius: 0 0 12px 12px;
}
.expand-wrap .expand-box .expand-cont .search-top {
    display: inline-flex;
    align-items: center;
    gap:1rem;
    width: 100%;
    font-weight: 500;
}
.expand-wrap .expand-box .expand-cont .search-top .badge {
    margin-left:auto;
}
.expand-wrap .expand-box .expand-cont input[type="radio"] {
    opacity: 0;
    position: absolute;
    width: 100%;
    height: 100%;
    margin: 0;
    cursor: pointer;
    z-index: 1;
}
.expand-wrap .expand-box .expand-cont .trigger .radiomark {
    background-color: var(--gry35);
}
.expand-wrap .expand-box .expand-cont .radiomark {
    position: absolute;
    top: 0;
    left: 0;
    width: 24px;
    min-width: 24px;
    height: 24px;
    border-radius: 50%;
    background-color: var(--wht);
}
.expand-wrap .expand-box .expand-cont .radiomark::before {
    position: absolute;
    top: 7px;
    left: 7px;
    display: block;
    content:'';
    width: 1rem;
    height:1rem;
    border-radius: 50%;
    background-color: var(--gry35);
}
.expand-wrap .expand-box .expand-cont .trigger .radiomark::before {
    background-color: var(--wht);
}
.expand-wrap .expand-box .expand-cont input[type="radio"]:checked + .radiomark {
    background-color: var(--primary50);
}
.expand-wrap .expand-box .expand-cont input[type="radio"]:checked + .radiomark::before {
    background-color: var(--wht);
}
.expand-wrap .expand-box .expand-cont .trigger input[type="radio"]:checked + .radiomark {
    background-color: var(--primary50);
}
.expand-wrap .expand-box .expand-list {
    display:none;
    padding:0 1rem 2rem;
}
.expand-wrap .expand-box .expand-list.result {
    display:block !important;
}
.expand-wrap .expand-box .expand-list .form-conts {
    padding:1rem 2rem;
    border-radius: 1.2rem;
    background-color: var(--gry10);
}
.expand-wrap .expand-box .expand-list ul {
    overflow-y: auto;
    max-height: 500px;
}
.expand-wrap .expand-box .expand-list li {
    display:flex;
    align-items: center;
    gap:1rem;
    padding:1.1rem 2rem;
    font-size:1.4rem;
    font-weight: bold;
    border:1px solid transparent;
    border-bottom:1px solid var(--gry30);
    background-color: var(--gry10);
}
.expand-wrap .expand-box .expand-list li:hover,
.expand-wrap .expand-box .expand-list li.select:hover {
    background-color: var(--secondary10);
}
.expand-wrap .expand-box.reni .expand-list li:hover {
    background: var(--primary10);
}
.expand-wrap .expand-box.reni .expand-list li.select:hover {
    background-color: var(--primary10);
}
.expand-wrap .expand-box .expand-list li:first-child {
    border-radius: 12px 12px 0 0;
}
.expand-wrap .expand-box .expand-list li:last-child {
    border-radius: 0 0 12px 12px;
}
.expand-wrap .expand-box .expand-list li.select {
    border:1px solid var(--primary50);
    background-color: var(--wht);
}
.expand-wrap .expand-box .expand-list li .custom-checkbox {
    min-width: 24px;
}
.expand-wrap .expand-box .expand-list li.select + .select {
    border-top:1px solid transparent;
}
.expand-wrap .expand-box .expand-list li .badge {
    margin-left:auto;
}
.expand-wrap .expand-box .expand-list li .subject-name {
    width: calc(100% - 120px);
    font-weight: 500;
}
.expand-wrap .expand-box .expand-list li .subject-name .cate {
    display: block;
    font-size:1.4rem;
    color:var(--gry60);
    font-weight: 400;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}
.expand-wrap .expand-box .expand-list .t-blue {
    font-size:1.4rem;
}

.expand-wrap .sync-box {
    width:25%;
    min-width: 340px;
}
.expand-wrap .sync-box .tool-tip {
    display: flex;
    align-items:center;
    justify-content: end;
    gap:6px;
    font-size:1.7rem;
    font-weight: 500;
}
.expand-wrap .sync-box .tool-tip .tooltip-box {
    right:-45%;
    bottom:40px;
    padding:2rem;
    max-width: 400px;
    border-color:var(--gry35);
    box-shadow: 5px 5px 20px 0px rgba( 0, 0, 0, .1 );
}
.expand-wrap .sync-box .tool-tip .tooltip-box::before {
    display: none;
}
.expand-wrap .sync-box .tool-tip .tooltip-box ul {
    display: flex;
    flex-direction: column;
    gap:1rem;
}
.expand-wrap .sync-box .tool-tip .tooltip-box ul li {
    position: relative;
    padding-left:0.6rem;
}
.expand-wrap .sync-box .tool-tip .tooltip-box ul li::before {
    position: absolute;
    top:1rem;
    left:0;
    display:block;
    content:'';
    width: 2px;
    height: 2px;
    border-radius: 50%;
    background-color: var(--gry50);
}
.expand-wrap .sync-box .btn-wrap {
    margin-top:0;
}
.expand-wrap .sync-box .btn.all {
    display: flex;
    flex-direction: column;
    padding:17px 0;
    height:auto;
}
.expand-wrap .sync-box .addition {
    margin-top:2rem;
}
.expand-wrap .sync-box .addition .btn-wrap {
    margin-top:0;
    flex-wrap:wrap;
    gap:10px;
}
.expand-wrap .sync-box .addition .btn-wrap svg {
    margin-right:5px;
}
.expand-wrap .sync-box .addition .btn-wrap .btn {
    flex:0 0 calc(50% - 6px);
    margin-left:0;
}
.expand-wrap .sync-box .addition .btn-wrap .btn.reni {
    background-size: 200% 100%;
    background-position: 0% 0%;
}
.expand-wrap .sync-box .addition .btn-wrap .btn.load {
    animation: gradientMove 4s linear infinite;
    transition: background 0.3s ease;
}
.expand-wrap .sync-box .addition .btn-wrap .btn.load svg {
    animation: spin 5s linear infinite;
}
@keyframes spin {
    100% {
        transform: rotate(360deg);
    }
}
@keyframes gradientMove {
    0% {
        background-position: 0% 0%;
    }
    50% {
        background-position: 100% 0%;
    }
    100% {
        background-position: 0% 0%;
    }
}

button.load svg {
}
.expand-wrap .pre-info {
    margin-top:2rem;
    padding:4rem 2rem;
    text-align: center;
    font-size:1.7rem;
}
.expand-wrap .pre-info .icon-box {
    margin:0 auto;
    width: 100px;
    height:100px;
    border-radius: 50%;
    background: var(--gry20) url('/images/common/ico_match.svg') no-repeat center;
}
.expand-wrap .pre-info .icon-box.wait {
    margin-top:2rem;
    background-image: url('/images/common/ico_wait.svg');
}
.expand-wrap .pre-info p {
    margin-top:2.6rem;
}
.expand-wrap .match-wrap {
    padding:1rem;
    text-align: center;
    border-radius: 1.2rem;
    background-color: var(--wht);
}
.expand-wrap .match-wrap h3 {
    display: flex;
    align-items: center;
    gap:8px;
    padding:0.5rem 2rem 1rem;
    text-align: left;
    font-size: 1.7rem;
    font-weight: 500;
}
.expand-wrap .match-wrap .match-box {
    border-radius: 1.2rem;
    background-color: var(--primary10);
    text-align: center;
}
.expand-wrap .match-wrap .icon {
    margin:1rem 0;
}
.expand-wrap .match-wrap .match-box dl {}
.expand-wrap .match-wrap .match-box dt {
    padding:1.3rem 2.4rem;
    text-align: left;
    font-size:2rem;
    font-weight: 900;
    color:var(--gry90);
    border-radius: 1.2rem 1.2rem 0 0;
    background-color: var(--primary20);
}
.expand-wrap .match-wrap .match-box.reni dt {
    color:var(--wht);
    background: var(--primary50);
}
.expand-wrap .match-wrap .match-box dd {
    font-size:1.4rem;
    color:var(--gry90);
    border-radius:0 0 1.2rem 1.2rem;
}
.expand-wrap .match-wrap .match-box dd ul {
    padding:0 2.4rem;
    max-height: 400px;
    text-align: left;
    font-size:1.4rem;
    color:var(--gry90);
    font-weight: 900;
    overflow-y: auto;
}
.expand-wrap .match-wrap .match-box dd ul li {
    padding:1.3rem 0;
}
.expand-wrap .match-wrap .match-box dd ul li:not(:first-child) {
    border-top:1px solid var(--gry30); 
}
.expand-wrap .match-wrap .match-box dd .cate {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space:nowrap;
    font-size:1.3rem;
    color:var(--gry60);
    font-weight: 400;
}
.expand-wrap .match-wrap .match-box.reni dd {
    background: var(--primary10);
}
.expand-wrap .match-wrap .match-count {
    padding:3.5rem 0;
    text-align: center;
}
.expand-wrap .match-wrap .match-count strong {
    font-size:2.8rem;
    color:var(--point50);
}
.expand-wrap .match-wrap .match-count p {
    margin-top:1rem;
    font-size:1.4rem;
    color:var(--gry60);
}

.problem-box {
    overflow:hidden;
    width: 100%;
}
.problem-box .result {
    margin-bottom:10px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap:6px;
    content: '정답';
    height:32px;
    border-radius: 0 16px 16px 0;
    color:var(--wht);
    font-size:1.4rem;
    background-color: var(--green50);
}
.problem-box .result::before {
    display:inline-flex;
    content:'';
    width: 16px;
    height:16px;
    background: url('/images/common/ico_right.svg') no-repeat;
    background-size: cover;
}
.problem-box .result::after {
    display:inline-flex;
    content:'정답';
}
.problem-box.wrong .result {
    background-color: var(--point50);
}
.problem-box.wrong .result::before {
    background: url('/images/common/ico_wrong.svg') no-repeat;
}
.problem-box.wrong .result::after {
    display:inline-flex;
    content:'오답';
}
.problem-box .question dt {
    font-size:1.7rem;
    color:var(--gry60);
}
.problem-box .question dd {
    padding:1.5rem 0;
    font-size:1.7rem;
    color:var(--gry90);
}
.solution-list {
    display:inline-flex;
    flex-direction: column;
    gap:3px;
    padding-bottom:20px;
}
.solution-list li {
    display:inline-flex;
    align-items: center;
    padding:2px;
    font-size:15px;
    font-weight: 400;
    border-radius: 1.7rem;
}
.solution-list li.right {
    color:var(--green50);
    font-weight: 700;
    border:1px dashed var(--green50);
}
.solution-list li.pick {
    font-weight: 700;
}
.solution-list li .correct {
    padding:.3rem 1rem;
    font-weight: 400;
    border-radius: 1.7rem;
    color:#fff;
}
.solution-list li.right .correct {
    color:var(--green50);
    background:var(--green20);
}
.solution-list li.right .correct + span {
    padding:0 6px;
}
.solution-list li .my_answer {
    display:inline-flex;
    align-items: center;
    margin-left:0.5rem;
    padding:2px 2px 2px 5px;
    min-width:142px;
    border-radius: 1.7rem;
}
.solution-list li .my_answer > span {
    padding-right:6px;
}
.right .solution-list li .my_answer {
    border:1px solid #246beb;
}
.solution-list li .my_answer .my_chk {
    margin-left:auto;
    padding:.3rem 1rem;
    color:#fff;
    border-radius: 1.7rem;
    background-color: var(--wht);
}
.solution-list li.pick .my_answer {
    color:var(--point50);
    font-weight: 400;
    border:1px solid var(--point50);
}
.solution-list li.pick .my_answer .my_chk {
    color:var(--point50);
    background-color:var(--point20);
}
.solution-list li.pick.right .my_answer {
    color:var(--primary50);
    border:1px solid var(--primary50);
}
.solution-list li.pick.right .my_answer .my_chk {
    color:var(--primary50);
    background-color:var(--primary20);
}
.solution-list li.pick .my_answer.wrong {
    color:#d50136;
    font-weight: 400;
    border:1px solid #d50136;
}
.solution-list li.pick .my_answer.wrong .my_chk {
    background-color:#d50136;
}
.commentary {
    padding:2.5rem 0;
    border-top:1px solid var(--gry20)
}
.commentary dl dt {
    font-size:1.7rem;
    color:var(--gry60);
}
.commentary dl dd {
    padding:1.5rem 0;
    font-size:1.7rem;
    color:var(--gry90);
}
.analyze {
    padding:2.5rem 0;
    border-top:1px solid var(--gry20)
}
.analyze h3 {
    font-weight: 400;
    font-size: 1.7rem;
    color: var(--gry60);
}
.analyze-info {
    display: flex;
    flex-wrap: wrap;
    margin-top:20px;
    border-radius: 12px;
}
.analyze-info.wht {
    border:1px solid var(--gry35);
    background-color: var(--wht);
}
.analyze-info.wht dl {
    flex:0 0 33.333%;
    padding:1.3rem 1.5rem;
    text-align: center;
    border-right:1px solid var(--gry35);
}
.analyze-info.wht dl:nth-child(n+4) {
    border-top:1px solid var(--gry35);
}
.analyze-info dl:nth-child(3n) {
    border-right:none;
}
.analyze-info dl dt {
    font-size:15px;
    font-weight:400;
    color:var(--gry);
}
.analyze-info dl dd {
    font-size:17px;
    font-weight:bold;
}
.analyze-info .analyze-box.red,
.analyze-info .analyze-box.green {
    margin-left:1rem;
}
.analyze-box {
    flex:1;
    padding:20px 24px;
    border-radius: 12px;
}
.analyze-box.green {
    border:1px solid var(--green50);
    background-color:var(--green20) ;
}
.analyze-box.blue {
    border:1px solid var(--primary50);
    background-color:var(--primary20) ;
}
.analyze-box .cont-tit {
    font-size:2rem;
    font-weight: 500;
}
.analyze-box.green .cont-tit {
    color:var(--green50);
}
.analyze-box.blue .cont-tit {
    color:var(--secondary50);
}
.analyze-box .cont-tit + ul {
    margin-top:11px;
}
.analyze-box .cont-tit + ul li {
    font-size:1.4rem;
    color:var(--gry90)
}
.analyze-box .cont-tit + ul li::before {
    display: inline-flex;
    align-items: center;
    margin-right: 7px;
    content:"\00B7";
}
.rd-box {
    margin-top:2.5rem;
    padding:4rem;
    border:1px solid var(--gry30);
    border-radius: 1.2rem;
    background-color:var(--wht);
}
.rd-box .caution-txt {
    display: inline-flex;
    align-items: center;
    gap:1rem;
    font-size:1.7rem;
    font-weight: 400;
    color:var(--point50);
}
.rd-box .caution-txt svg {
    margin:2px 0 auto;
    min-width: 2rem;
}
.rd-wrap {
    margin-top:2.5rem;
    border:1px solid var(--gry30);
    border-radius: 1.2rem;
    background-color:var(--wht);
}
.rd-wrap .rd-box {
    margin:0;
    padding:4rem;
    border:0 none;
    border-radius: 1.2rem 1.2rem 0 0;
}
.rd-wrap .rd-box .sec-tit {
    margin-top:0;
    font-size:2rem;
    font-weight: 500;
}
.rd-wrap .rd-box .sec-txt {
    font-size:1.4rem;
    margin-bottom:3.5rem;
}
.rd-wrap .rd-box + .rd-box {
    border-top:1px solid  var(--gry30);
    border-radius:0 0 1.2rem 1.2rem;
}

.slider-group {
    display:flex;
    align-items: center;
    margin-bottom: 40px;
}

.slider-label {
    font-size: 1.7rem;
    font-weight: 400;
    color: var(--gry90);
}

.slider-container {
    position: relative;
    margin-left:4rem;
}

.slider-track {
    display: flex;
    position: relative;
    border-radius: 0.8rem;
    overflow: hidden;
    height: 4rem;
    cursor: pointer;
    background: #e9ecef;
}

.slider-segment {
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    flex:1;
    min-width: 6rem;
    font-weight: 400;
    font-size: 1.4rem;
    color: #666;
    border: 1px solid var(--gry40);
    border-right:0;
    background-color: var(--wht);
    z-index: 2;
}
.slider-segment:nth-child(2) {
    border-radius: 0.8rem 0 0 0.8rem;
}
.slider-segment:last-child {
    border-radius: 0 0.8rem 0.8rem 0;
    border-right: 1px solid var(--gry40);
}

.slider-segment:hover {
    border:1px solid var(--primary20);
    border-right: 0;
    background-color: var(--primary20);
    color: var(--primary50);
    font-weight: 400;
}
.slider-segment:last-child:hover {
    border-right:1px solid var(--primary20);
}

.slider-segment.active {
    border:0 none;
    color: white;
    background: var(--primary50);
}

.slider-highlight {
    position: absolute;
    top: 0;
    height: 100%;
    background: #007bff;
    border-radius: 25px;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    z-index: 1;
}

.mode-selection {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(350px, 1fr));
    gap: 20px;
    margin-bottom: 4rem;
}

.mode-card {
    position: relative;
    padding: 3rem 14rem 3rem 4rem;
    cursor: pointer;
    border: 1px solid transparent;
    border-radius: 1.2rem;
    overflow: hidden;
    background: var(--primary10);
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.mode-card:hover {
    border:1px solid var(--primary50);
}

.mode-card:hover::before {
    opacity: 1;
}

.mode-card.selected {

}

.mode-card.selected {
    background: var(--primary50);
}
.radio-input {
    display: none;
}

.mode-header {
    margin-bottom: 2.5rem;
}

.mode-title {
    font-size: 2rem;
    font-weight: 700;
    color: var(--primary50);
    margin: 0;
}
.selected .mode-title {
    color: var(--wht);
}

.mode-icon {
    position: absolute;
    top:3rem;
    right:4rem;
    display: flex;
    align-items: center;
    justify-content: center;
    padding:2rem;
    width: 100px;
    height: 100px;
    border-radius: 50%;
    background-color: var(--wht);
}

.selected .mode-icon {
    background-color:rgba(255,255,255,0.3) ;
}
.selected .mode-icon .st0  {
    stroke:var(--wht);
}
.mode-description {
    margin: 0;
    font-size: 1.7rem;
    color: var(--primary50);
}
.selected .mode-description {
    color:var(--wht);
}
.custom-radio {
    position: absolute;
    top: 3rem;
    right: 3rem;
    width:3.6rem;
    height:3.6rem;
    border-radius: 50%;
    background: url('/images/common/ico_mode_chk.png') no-repeat center;
    transition: all 0.3s ease;
    z-index: 1;
}
.mode-card.selected .custom-radio {
    background-image: url('/images/common/ico_mode_chked.png');
}
.mode-card.selected .custom-radio::after {
    transform: translate(-50%, -50%) scale(1);
}

.setting-box {
    display:flex;
    gap:8rem;
}
.setting-box .box-top {
    display:flex;
    align-items: center;
}
.setting-box .box-top .box-tit {
    font-size:2rem;
    font-weight: 500;
    color:var(--gry90);
}
.setting-box .box-top .btn-box {
    margin-left:auto;
}
.setting-box .data-wrap {
    flex:1 1 56.25%;
}
.setting-box .data-wrap .data-box {
    margin-top:3rem;
}
.setting-box .data-wrap .data-box .drag-list li:hover {
    cursor: grab;
    box-shadow: 0 4px 8px rgba(0,0,0,0.1);
    transform: translateY(-1px);
}
.setting-box .data-wrap .data-box .drag-list li.dragging {
    opacity: 0.5;
}

.setting-box .data-wrap .data-box .drag-list li.deactivate {
    opacity: 0.6;
    border-color:transparent;
    background-color: var(--gry10);
}

.setting-box .data-wrap .data-box .drag-list li.deactivate dt,
.setting-box .data-wrap .data-box .drag-list li.deactivate dd {
    color: var(--gry50);
}
.setting-box .data-wrap .data-box .drag-list li.deactivate .btn-box {
    display: none;
}
.setting-box .data-wrap .data-box ul {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}
.setting-box .data-wrap .data-box ul li {
    display:flex;
    align-items: center;
    padding:2rem 4rem 2rem 2rem;
    border-radius: 1.2rem;
    border:1px solid var(--gry50)
}
.setting-box .data-wrap .data-box li .btn-box {
    display:inline-flex;
    align-items: center;
    gap: 2rem;
    margin-left:auto;
}
.setting-box .data-wrap .data-box ul li .toggle-container {
    margin:0;
}
.setting-box .data-wrap .data-box ul li .toggle-container .toggle-btn {
    color:var(--gry60);
    font-size:1.4rem;
    border-color:var(--gry40);
}
.setting-box .data-wrap .data-box ul li .toggle-container .toggle-btn.active {
    color:var(--wht);
}
.setting-box .data-wrap .data-box ul li .drag-arrow {
    margin-top:4px;
    margin-right:1.8rem;
}
.setting-box .data-wrap .data-box ul li dl {
    margin-left:2.4rem;
}
.setting-box .data-wrap .data-box ul li dt {
    color:var(--gry90);
    font-size:2rem;
    font-weight:600;
}
.setting-box .data-wrap .data-box ul li dd {
    color:var(--gry60);
    font-size:1.4rem;
}
.setting-box .data-wrap .data-box .toggle-switch {
    position: relative;
    display: inline-block;
    width: 60px;
    height: 26px;
}
.setting-box .data-wrap .data-box .toggle-switch input {
    opacity: 0;
    width: 0;
    height: 0;
}
.setting-box .data-wrap .data-box .slider {
    position: absolute;
    cursor: pointer;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: #d1d5db;
    transition: 0.2s;
    border-radius: 36px;
}
.setting-box .data-wrap .data-box .slider:before {
    display: flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    left: -0;
    bottom: -9px;
    content: "";
    width: 44px;
    height: 44px;
    border:1px solid var(--gry60);
    border-radius: 50%;
    transition: 0.2s;
    background-color: var(--wht);
}
.setting-box .data-wrap .data-box .icon {
    position: absolute;
    top: 1px;
    left: 10px;
    width: 24px;
    height: 24px;
    transition: all 0.2s;
    z-index: 5;
}
.setting-box .data-wrap .data-box .icon .st0 {
    fill: none;
    stroke: var(--gry60);
    stroke-linecap: square;
    stroke-linejoin: bevel;
    stroke-width: 1.6px;
}

/* 체크된 상태 */
.setting-box .data-wrap .data-box input:checked + .slider {
    background-color: var(--primary30);
}
.setting-box .data-wrap .data-box input:checked + .slider:before {
    transform: translateX(17px);
    border-color:transparent;
    background-color: var(--primary50);
}
.setting-box .data-wrap .data-box input:checked + .slider .icon {
    left:28px;
}
.setting-box .data-wrap .data-box input:checked + .slider .icon .st0 {
    stroke: var(--wht);
}


.setting-box .preview-wrap {
    flex:1 1 31.25%;
}
.setting-box .preview-wrap .preview-box {
    display:flex;
    flex-wrap:wrap;
    gap:1rem;
    margin:3rem 0;
    padding:3rem;
    border-radius: 1.2rem;
    background-color: var(--gry20);
}
.setting-box .preview-wrap .preview-box > div {
    flex:1 1 100%;
    padding:3rem 3rem 2rem;
    border-radius: 1.2rem;
    border:1px solid var(--gry35);
    background-color:var(--wht);
}
.setting-box .preview-wrap .preview-box .full {
    flex:1 1 100%;
}
.setting-box .preview-wrap .preview-box .half {
    flex: 0 0 calc(50% - 0.5rem);
}
.setting-box .preview-wrap .preview-box h3 {
    display: flex;
    gap:1rem;
    font-size:1.7rem;
    font-weight: 500;
    color:var(--gry60);
}
.setting-box .preview-wrap .preview-box .preview-icon svg {
    width: 24px;
    height:24px;
}
.setting-box .preview-wrap .preview-box .preview-icon svg .st0 {
    stroke:var(--gry90);
    stroke-width: 1.6;
}
.setting-box .preview-wrap .preview-box .empty-state {
    padding:2rem 3rem;
    font-size:1.7rem;
    color:var(--gry50);
    text-align: center;
}

/* datepicker */
.ui-datepicker .ui-datepicker-title {
    padding:10px 20px 0;
}
#ui-datepicker-div.ui-datepicker.ui-widget.ui-widget-content {
    padding:0 !important;
    border:1px solid var(--gry40) !important;
    border-radius: 0.8rem;
    box-shadow: 0 15px 20px 0px rgba(0,0,0,0.1) !important;
    z-index: 1010 !important;
}
.ui-datepicker .ui-datepicker-header {
    background-color: var(--wht);
}

.ui-datepicker .ui-datepicker-prev, .ui-datepicker .ui-datepicker-next {
    margin-top:-5px;
    width: 24px;
    height:24px;
    border-radius: 50%;
    background-repeat: no-repeat;
    background-size: 7px auto;
    background-position: center;
}
.ui-datepicker .ui-datepicker-title select option {
    color:var(--gry90);
    background-color: var(--wht);
}
.ui-state-hover,.ui-widget-content .ui-state-hover,.ui-widget-header .ui-state-hover,.ui-state-focus,.ui-widget-content .ui-state-focus,.ui-widget-header .ui-state-focus,.ui-button:hover,.ui-button:focus {
    border: 0 none;
    border-radius: 1rem;
    background-color: var(--primary20);
}
.ui-datepicker .ui-datepicker-prev {
    left: 21px;
    background-image: url('/images/common/btn_cal_left.svg');
}
.ui-datepicker .ui-datepicker-next {
    right:21px;
    background-image: url('/images/common/btn_cal_right.svg');
}
.ui-datepicker .ui-datepicker-title select {
    padding:0 2rem 0 1.8rem;
    height:3.2rem;
    font-size:1.4rem;
    font-weight: 400;
    color:var(--gry90);
    border:1px solid var(--gry40);
    border-radius: 1rem;
    background: url('/images/common/ico_sel_arrow.svg') no-repeat  85% center;
    background-size: 11px auto;
}
.ui-datepicker table.ui-datepicker-calendar {
    padding:10px 20px 20px;
}
.ui-datepicker table.ui-datepicker-calendar td a.ui-state-default.ui-state-hover {
    color:var(--wht);
    background-color: var(--primary50);
}
.ui-datepicker table.ui-datepicker-calendar td.ui-datepicker-today a.ui-state-highlight {
    color:var(--primary50);
    border:1px solid var(--primary50);
    background-color: var(--wht);
}


/* 로그인 */
.login {
    margin-top:0;
    height:100vh;
    background: url('/images/common/main_top.png') no-repeat center;
    background-size: cover;
}
.login .logo {
    margin-top:12rem;
    text-align: center;
}
.login .logo a {
    display: flex;
    align-items: center;
    justify-self: center;
    gap:2.8rem;
}
.login .tit {
    display: inline-flex;
    align-items: center;
    gap:2rem;
    font-size:2.8rem;
}
.login .inner {
    flex:0 0 100%;
    margin:10rem auto 0;
    padding:5.5rem 6rem 6rem;
    max-width: 500px;
    border-radius: 2rem;
    background-color: rgba(255,255,255,0.7);
}
.login .inner .form-tit {
    font-size:1.7rem;
    color:var(--gry60);
}

#footer {
    margin-top:auto;
    padding:35px 80px;
    height:89px;
    text-align: center;
    background-color: var(--gry60);
}
#footer .inner .copy {
    font-size:1.3rem;
    color:var(--wht);
} 

/* ui-diolog */
.ui-widget.ui-widget-content {
    padding:2.1rem 2.7rem 2.7rem !important;
    border-radius:12px;
    border:0 none !important;
}
.ui-draggable .ui-dialog-titlebar {
    padding:2rem 2rem 0;
    font-size:2rem;
}
.ui-dialog .ui-widget-header {
    padding:0 !important;
    border:0 none;
    background: none;
}
.ui-dialog .ui-dialog-titlebar-close {
    margin:-5px 0 0;
}
.ui-dialog .ui-dialog-titlebar-close:hover {
    background-color: transparent;
}
.ui-dialog .ui-dialog-content {
    padding:2rem 0 !important;
    font-size:1.7rem;
}
.ui-dialog .ui-icon-closethick {
    position: absolute;
    margin-left:-18px;
    width: 20px;
    height: 20px;
    background: url("/images/common/pop_close.svg") no-repeat center !important;
    z-index: 901;
}
.ui-dialog .ui-dialog-buttonpane {
    padding:1rem !important;
    border-width: 0 !important;
    margin-top:0 !important;
}
.ui-dialog .ui-dialog-buttonpane button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    margin:0 !important;
    width: auto;
    height: 40px;
    padding: 0 12px;
    background-color: var(--primary50);
    border: 1px solid transparent;
    border-radius: 8px;
    font-size: 1.6rem;
    color: var(--wht);
    font-weight: 400;
    line-height: 1;
    cursor: pointer;
    white-space: nowrap;
    transition: 0.4s ease-in-out;
}
.ui-dialog .ui-dialog-buttonpane button:hover {
    color:var(--wht);
    background-color: var(--primary50);
}
.ui-dialog .ui-dialog-buttonpane button.ui-confirm-close-button {
    color:var(--gry60);
    border-color:var(--gry60);
    background-color: var(--wht) !important;
}
.ui-dialog .ui-dialog-buttonpane button.ui-confirm-close-button:hover,
.ui-dialog .ui-dialog-buttonpane button.ui-confirm-close-button:focus {
    background-color: var(--gry20);
}
.ui-dialog .ui-dialog-buttonpane button + button {
    margin-left:6px !important;
}

/* 1440px ~ 1919px media query */
@media (min-width: 1024px) and (max-width: 1730px) {
    .card-box .card-items {
        align-items: flex-start;
        padding:2.5rem 3rem 1.7rem 3rem;
    }
    .card-box .card-items dl dt {
        /* margin-top:1rem; */
    }
    .card-box .card-items dl dd {
        margin-top:0.5rem;
    }
    .card-box .card-items .circle {
        min-width: 40px;
        width:40px;
        height:40px;
        min-height:40px;
        background:none;
    }
    .dashboard .card-box .card-items {
        height:160px;
    }
    .dashboard .card-box .card-items dl dt {
        margin-top:0;
    }
    .chart-half .legend-text {
        text-align: left;
    }
    .dash-wrap {
        
    }
    .dash-wrap .dash-items {
        
    }
    .dash-wrap .dash-items:nth-child(2) .dash-top {

    }
    .dash-wrap .dash-items:nth-child(2) .dash-top dl {
        margin-left:0;
    }
    .dash-wrap .dash-part .card-box .card-items dt svg {
        display: none;
    }
    .dash-wrap .dash-part .card-box .card-items {

    }
    .dash-wrap .dash-part .card-box .card-items dt {
        margin-top:0;
    }
    .dash-wrap .dash-part .card-box .card-items dd {
        margin-top:0.8rem;
        font-size:2rem;
    }
    .dash-wrap .dash-part .card-box .card-items.sec dt {
        margin-top:0;
    }
    .dash-wrap .dash-part .card-box .card-items.sec dd {
        margin-top:0.8rem;
    }
    .dash-wrap .dash-part .card-box .card-items.list {
        padding:0 0 0 2rem;
    }
    .dash-wrap .dash-part .card-box .card-items.list ul {
        margin-top:-12px;
    }
    .dash-wrap .dash-part .card-box .card-items.list li dl {
        margin-top:0;
    }
    .expand-wrap {
        gap:4rem;
    }
    .expand-wrap .sync-box .addition .btn-wrap .btn {
        flex:1;
    }
    .expand-wrap .sync-box .addition .btn-wrap .btn:nth-child(2) {
        flex: 0 0 100%;
    }
    
}