﻿/* Please see documentation at https://docs.microsoft.com/aspnet/core/client-side/bundling-and-minification
for details on configuring this project to bundle and minify static web assets. */
/** 본문의 스타일 정의는 PCMS 에서 사용되는 모든 페이지서 우선 적용되는 최상위 통합 스타일입니다. */
:root {
    --pcms-nav-height: 4.3rem;
    --pcms-toolbar-height: 60px;
    --pcms-footer-height: 30px;
    --pcms-blue: #153d78;
    --pcms-white-blue: #f4f7fc;
    --pcms-alice-blue: #f0f8ff;
    --pcms-bg-translucent: rgb(0 0 0 / 0.5);
}

a.navbar-brand {
    white-space: normal;
    text-align: center;
    word-break: break-all;
}

html {
    font-size: 12.5px;
    font-family: 'NanumGothic','Franklin Gothic Medium', 'Arial Narrow', Arial, sans-serif
}

.overflow-hidden {
    overflow: hidden;
}

.overflow-auto {
    overflow: auto;
}

.pointer-events-none {
    pointer-events: none;
}

.border-top {
    border-top: 1px solid #e5e5e5;
}

.border-bottom {
    border-bottom: 1px solid #e5e5e5;
}

.text-line-through {
    text-decoration: line-through !important;
}

.box-shadow {
    box-shadow: 0 .25rem .75rem rgba(0, 0, 0, .05);
}

button.accept-policy {
    font-size: 1rem;
    line-height: inherit;
}

.bg-grid {
    background-image: linear-gradient(135deg, #c0c0c0 25%, transparent 25%, transparent 75%, #c0c0c0 75%, #c0c0c0), linear-gradient(135deg, #c0c0c0 25%, transparent 25%, transparent 75%, #c0c0c0 75%, #c0c0c0);
    background-position: 0 0, 10px 10px;
    background-size: 20px 20px;
    background-color: transparent;
}

/* Sticky footer styles
-------------------------------------------------- */
html {
    position: relative;
    min-height: 100%;
}

body {
    /* Margin bottom by footer height */
    margin-bottom: var(--pcms-footer-height);
}

.jumbotron-main {
    padding: var(--pcms-nav-height) 0 0 0;
    height: calc(100vh - var(--pcms-footer-height));
    min-height: 300px;
    display: flex;
    flex-flow: column;
    position: relative;
}

body *::-webkit-scrollbar {
    width: 10px;
    height: 10px;
}

body *::-webkit-scrollbar-track {
    background-color: #dee2e6;
    border-radius: 5px;
    box-shadow: inset 0px 0px 0px white;
}

body *::-webkit-scrollbar-thumb {
    background-color: var(--pcms-blue);
    border-radius: 4px;
    background-clip: padding-box;
    border: 1px solid transparent;
    opacity: .8;
}

    body *::-webkit-scrollbar-thumb:hover {
        background-color: var(--pcms-blue);
        opacity: 1;
    }

body *::-webkit-scrollbar-button {
    width: 2px;
    height: 2px;
}

.navbar-nav {
    z-index: 1;
}

.footer {
    position: absolute;
    bottom: 0;
    width: 100%;
    white-space: nowrap;
    border-top: 1px solid #e5e5e5;
    background: linear-gradient(90deg, rgba(0,57,148,0.05) 0%, rgba(0,109,148,0.05) 17%, rgba(158,185,146,0.05) 78%, rgba(0,148,107,0.05) 100%);
    color: #6c757d !important;
    text-align: right !important;
    padding: 0 1rem !important;
    /* Set the fixed height of the footer here */
    height: var(--pcms-footer-height);
    line-height: 25px; /* Vertically center the text there */
    display: flex;
    justify-content: end;
    flex-flow: row;
}

@media (max-width: 890px) {
    .footer {
        flex-flow: column;
        height: 60px;
    }

    body {
        /* Margin bottom by footer height */
        margin-bottom: 60px;
    }

    .jumbotron-main {
        height: calc(100vh - 60px);
    }
}

/* Pcms Shared/_Layout styles
-------------------------------------------------- */
.container-minwidth {
    min-width: 758px;
}

label.control-label {
    font-weight: 800;
}

.form-control[readonly] {
    pointer-events: none;
}
/* Pcms widh css
-------------------------------------------------- */
.pcms_img-md > img {
    max-width: 200px;
    height: auto;
    border: solid 1px #dee2e6;
    margin: 0.5rem;
}

#logger.pcms_logger {
    position: relative;
    height: 0;
    width: 0;
    bottom: 0;
    right: 0;
    background-color: white;
    z-index: 1;
    overflow-y: scroll;
    overflow-x: hidden;
    box-shadow: 0px 0px 20px -11px black;
    border-radius: 3px;
    display: inline-block;
    padding: 2px 5px 2px 5px;
    margin: 5px 0 5px 0;
    display: none;
}

    #logger.pcms_logger.active {
        height: 94px;
        width: 100%;
        display: inline-block;
    }

        #logger.pcms_logger.active span.btn-logger-resizing {
            position: sticky;
            float: right;
            cursor: pointer;
            padding: 5px 10px 0 0;
        }

.pcms_hover-btn:hover {
    border: 1px solid white;
}

.pcms_z-index-0 {
    z-index: 0;
}

.pcms_z-index-1 {
    z-index: 1;
}

.pcms_z-index-2 {
    z-index: 2;
}

.pcms_z-index-10 {
    z-index: 10;
}

.pcms_z-index-999 {
    z-index: 999;
}

.pcms_z-index-top {
    z-index: 999;
}

.pcms_bg-blue {
    background-color: var(--pcms-blue);
}

.pcms_bg-whiteblue {
    background-color: var(--pcms-white-blue);
}

.pcms_bg-aliceblue {
    background-color: var(--pcms-alice-blue);
}

.pcms_bg-translucent {
    background-color: var(--pcms-bg-translucent);
}

.pcms_text-blue {
    color: #2579ff;
}

.pcms_text-muted {
    color: #b7bfc5;
}

.pcms_text-darkred {
    color: #8b0000;
}

.pcms_text-Imperialred {
    color: #ED2939;
}

.pcms_text-sm-1 {
    font-size: .9rem;
}

.pcms_text-sm-2 {
    font-size: .8rem;
}

.pcms_text-nowrap {
    white-space: nowrap;
}

.pcms_cursor-move {
    cursor: move;
}

.cursor-pointer {
    cursor: pointer;
}

.pcms_top-0 {
    top: 0;
}

.pcms_table-thead-top thead tr th {
    position: sticky;
    top: 0;
    z-index: 100;
    background-color: white;
    box-shadow: 1px 1px gainsboro;
    border: 0;
    box-shadow: 0px -1px 0px 0px #dee2e6 inset;
}

.pcms_table-thead-top > tbody > tr:first-child > td {
    border: none;
}
/*툴팁
    <div class="pcms_tooltip">
        <span class="glyphicon glyphicon-question-sign"></span>
        <span class="pcms_tooltip-text"> -> 필요한 경우 Absolute 설정과 위치값을 주어 한번 더 커스터마이징한다.
            이곳에 툴팁으로 표현할 텍스트입력
        </span>
    </div>
*/
.tooltip {
    transition: opacity 0.3s;
}

.tooltip-inner {
    text-align: left;
}

.pcms_tooltip, .pcms_tooltip-right {
    position: relative;
    display: inline-block;
}

    .pcms_tooltip .pcms_tooltip-text {
        visibility: hidden;
        width: 300px;
        background-color: #2b2b2b;
        color: #fff;
        text-align: left;
        border-radius: 6px;
        padding: 3px;
        position: absolute;
        z-index: 10;
        bottom: 150%;
        left: 50%;
        margin-left: -60px;
        padding: 5px 1rem 5px 1rem;
        opacity: 0;
        transition: opacity 0.5s;
    }

        .pcms_tooltip .pcms_tooltip-text::after {
            content: "";
            position: absolute;
            top: 100%;
            left: 20%;
            margin-left: -5px;
            border-width: 5px;
            border-style: solid;
            border-color: black transparent transparent transparent;
        }

    .pcms_tooltip-right .pcms_tooltip-text {
        visibility: hidden;
        width: 360px;
        background-color: black;
        color: #fff;
        text-align: left;
        border-radius: 6px;
        padding: 3px;
        position: absolute;
        z-index: 10;
        bottom: 150%;
        left: 50%;
        margin-left: -300px;
        padding: 5px 1rem 5px 1rem;
        opacity: 0;
        transition: opacity 0.5s;
    }

        .pcms_tooltip-right .pcms_tooltip-text::after {
            content: "";
            position: absolute;
            top: 100%;
            left: 89%;
            margin-left: -25px;
            border-width: 5px;
            border-style: solid;
            border-color: black transparent transparent transparent;
        }

    .pcms_tooltip:hover .pcms_tooltip-text,
    .pcms_tooltip-right:hover .pcms_tooltip-text {
        visibility: visible;
        opacity: 1;
    }

/*왼쪽 카테고리 탭을 사용하기 위한 전용 뷰*/
.pcms_container {
    position: relative;
    min-width: 758px;
    height: 100%;
    flex-wrap: wrap;
    margin-right: -15px;
    margin-left: -15px;
    display: flex;
    flex: 1 1 auto;
    overflow-y: auto;
}

    .pcms_container .pcms_container-left {
        position: initial;
        width: 320px;
        min-width: 80px;
        max-width: 600px;
        border-right: 1px solid #dee2e6 !important;
        height: 100%;
        overflow: auto;
    }

    .pcms_container .pcms_container-right {
        position: relative;
        flex-basis: 0;
        flex-grow: 1;
        max-width: 100%;
        position: relative;
        width: 100%;
        height: 100%;
        overflow-y: auto;
        overflow-x: hidden;
    }

.pcms_container-resize-bar {
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    cursor: col-resize;
    width: 3px;
    z-index: 4;
}

    .pcms_container-resize-bar:hover {
        background: #0000000a;
        width: 10px;
    }

/*화면 전체의 틀을 잡아주는 레이아웃
    one = 비율 나머지 전체를 잡는다.
    zero = 비율의 최소치만큼만 잡아준다.
*/
.pcms_flex-coulnm-box {
    display: flex;
    flex-flow: column;
    height: 100%;
}

    .pcms_flex-coulnm-box .pcms_flex-1 {
        display: flex;
        flex-flow: column;
        flex: 1 1 auto;
    }

    .pcms_flex-coulnm-box .pcms_flex-0 {
        display: flex;
        flex-flow: column;
        flex: 0 1 auto;
    }

.pcms_container-fixed {
    position: fixed;
    top: 0;
    right: 0px;
    left: 0px;
    width: auto;
    height: 100vh;
    background-color: #0000003b;
    display: none;
    z-index: 2000;
}

    .pcms_container-fixed.right {
        transition: .3s;
        width: 0;
        left: unset;
        top: unset;
        bottom: 35px;
        height: calc(100% - 88px);
        z-index: 1999;
        display: block;
    }

        .pcms_container-fixed.right.t-open {
            width: 400px;
        }
/*-----------------------------------------------------------
    로딩 애니메이션
    <div class=pcms_animate>
        <div class=pcms_animate-circle></div>
        <div class=pcms_animate-text>Text Content...</div>
    </div>
-------------------------------------------------- */
.pcms_animate {
    width: 100%;
    height: 100%;
}

    .pcms_animate .pcms_animate-text {
        position: sticky;
        top: 53%;
        width: 100%;
        text-align: center;
        font-size: 15px;
    }

    .pcms_animate .pcms_animate-circle {
        position: sticky;
        left: 50%;
        top: 50%;
        transform: translate(-50%, -50%);
        width: 40px;
        height: 40px;
        border: 5px solid #fff;
        border-top: 5px solid var(--pcms-blue);
        border-radius: 5em;
        transition: all .2s;
        animation-name: spinCircle;
        animation-duration: .8s;
        animation-iteration-count: infinite;
        animation-timing-function: linear;
    }

@keyframes spinCircle {
    from {
        transform: translate(-50%, -50%) rotate(0);
    }

    to {
        transform: translate(-50%, -50%) rotate(360deg);
    }
}

/*리소스 아이콘           <div class="resource-icons resource-icons-icon"/>
-------------------------------------------------- */
.pcms_resource-icons {
    background: url(../app/editor/wpod2/css/icons/01_editor_icon_menu.png) no-repeat;
    transform: scale(0.7);
    width: 48px;
    height: 35px;
    position: absolute;
    top: 5px;
    left: 0;
}

    .pcms_resource-icons.pcms_resource-icons-icon {
        background-position: -20.3rem -19rem;
    }

    .pcms_resource-icons.pcms_resource-icons-background {
        background-position: -11.3rem -19rem;
    }

    .pcms_resource-icons.pcms_resource-icons-frame {
        background-position: -6.6rem -19rem;
    }

    .pcms_resource-icons.pcms_resource-icons-font {
        background-position: -16.0rem -19rem;
    }

    .pcms_resource-icons.pcms_resource-icons-design {
        height: 100%;
        background-position: -29.5rem -19rem;
        top: 0;
        bottom: 0;
        overflow: hidden;
        left: calc(50% - 17.8px);
        filter: saturate(0%) brightness(500%);
    }

    .pcms_resource-icons.active {
        filter: invert(48%) sepia(100%) saturate(3208%) hue-rotate(207deg) brightness(104%);
    }

/*색상 태그 선택 커스텀
-------------------------------------------------- */
.pcms_tag-color {
    display: grid;
    justify-items: center;
    margin: 1px;
    padding: 2px;
    cursor: pointer;
}

    .pcms_tag-color > label {
        cursor: pointer;
    }

    .pcms_tag-color > span {
        cursor: pointer;
        border: 1px solid #aeaeae;
        border-color: grey;
        border-radius: 10px;
        width: 20px;
        height: 20px;
        text-shadow: -1px -2px 0px black;
    }

    .pcms_tag-color span.pcms_tag-color-active:after {
        content: '✓';
        position: relative;
        color: white;
        left: 5px;
    }

    .pcms_tag-color span.pcms_tag-color-active.pcms_tag-color-white:after {
        content: '✓';
        position: relative;
        color: gray;
        left: 5px;
    }

    .pcms_tag-color > .pcms_tag-color-colorful {
        background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAXCAIAAACeQxh6AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAK2SURBVDhPhc9dSFNxGMfxP1ievbk5NV3qxEq0yJhipZWSkeRFumYYdJVFhZJzvZIUvZDdBDklsIUXvVChZZlSiVDYm0luGpIXallHdDlf2s5Iz0uXPX+PbcfjOQbf2+fD70Gs0cqtMXMp27hUE5uaAHEbNH8y9dwuDVesY8vC2MuhTF0o+yCEebKcfRHCvFqG+zCXCzfbHwohxniWXVUitED5DyRShnCIjbkuaUlCwTlChSQgREfelrCyExdDwTkLld8TOERrW2UteUik/IMWWsz6fAztXieE5v+SUTDkVXdKWtSOPLAAmrqaEIRklMnpOQjy6J5DYHkNdrA8pjKAxiw5nmNpAI3Xx3pe6iddSsjznYDgUhQilb18vDUS64AAghZDQJCjCmjYS4hCParPwSLacEkOXO4Z577DLpv5tT3fdcfU05HgHIiAen6qnJRicahVOcjXonPxNSW1QHd31j+ynoQAam7KaegyNZIx0DNKLRmq1XwTVhPdW5vyBgLIXnLj4qWqakfpzcdF9u6cGjIZ59dKhk5oSWG2uMEKUy9ktbTbShvKq+rKH1ae6jhi7TNXuNMhGxWPm9GKQpYot7jMIWj7ob7cyneF1Q1b2xzmt+f3DO+HLNNbCn1GyDKrF4WyoicWtNENrS0a4aFNde0AQZu/ns6c3oubSYey6BWi0GrDRKDYjElIl0cBZLwwDMXdc6782ArFk7UG77k46mg4W6BnsyOZ5FW0QRiKSvzFB4Q2wweKutivKverr/h0Drfu6aD2fR9A4eONKvoaWBr2QMCCIugYvnkICKGiqqQU9iAU9uUTQLyl4o4HrHA6LWBhSKiEHfSBAnMAIu5PEW2jPKQc6yZmmxXMLTkLiRXBHB4iun4Q/QMY8ncuYWFIpATnSEFyFpJUZCF5C0kqS0GSFlvwF6QeQSPLqhJJAAAAAElFTkSuQmCC');
        background-color: white;
        background-repeat: no-repeat;
    }

/* 부트스트랩 재정의 */
.form-check > .form-check-input + .form-check-label,
.form-check > .form-check-label + .form-check-input {
    cursor: pointer;
}

.btn-debug {
    background: #ffd0d0;
    color: #474040;
}

    .btn-debug:hover,
    .btn-debug.active {
        background: #e95c69;
        color: white;
    }

.btn-white {
    background: white;
    color: #007bff;
}

    .btn-white:hover,
    .btn-white.active {
        color: #0056b3;
        background-color: #e9ecef;
    }