.popup {
    position:fixed;
    display:grid;
    grid-template-rows: 1fr 26px;
    min-width:320px;
    min-height:240px;
    color:#fff;
    background-color:#222;
    z-index:10000;
}

.popup {
    position: absolute;
    top: 0; 
    left: 0;
    border: 1px solid #333;
    box-shadow: 2px 2px 8px 1px #22222299;
    z-index: 999999;
}

/* 왼쪽 위 */
.popup.left.top {
    left:calc(0% + 50px);
    top:calc(0% + 50px);
    transform:translate(0%, 0%);
}

/* 가운데 위 */
.popup.center.top {
    left:50%;
    top:calc(0% + 50px);
    transform:translate(-50%, 0%);
}

/* 오른쪽 위 */
.popup.right.top {
    left:calc(100% - 50px);
    top:calc(0% + 50px);
    transform:translate(-100%, 0%);
}

/* 왼쪽 가운데 */
.popup.left.middle {
    left:calc(0% + 50px);
    top:50%;
    transform:translate(0%, -50%);
}

/* 가운데 가운데 */
.popup.center.middle {
    left:50%;
    top:50%;
    transform:translate(-50%, -50%);
}

/* 오른쪽 가운데 */
.popup.right.middle {
    left:calc(100% - 50px);
    top:50%;
    transform:translate(-100%, -50%);
}

/* 왼쪽 아래 */
.popup.left.bottom {
    left:calc(0% + 50px);
    top:calc(100% - 50px);
    transform:translate(0%, -100%);
}

/* 가운데 아래 */
.popup.center.bottom {
    left:50%;
    top:calc(100% - 50px);
    transform:translate(-50%, -100%);
}

/* 오른쪽 아래 */
.popup.right.bottom {
    left:calc(100% - 50px);
    top:calc(100% - 50px);
    transform:translate(-100%, -100%);
}

.popup * {
    font-family:'GulimChe', '굴림체';
    font-size:12px;
}

.popup .content {
    display:flex;
    width:100%;
    height:100%;
    justify-content:flex-start;
    align-items:flex-start;
    row-gap:2px;
    padding:10px;
    white-space:pre-line;
}

.popup .content,
.popup .image {
    position: relative;
}

.popup .image img {
    display:block;
}

.popup .link-btn {
    display: flex;
    width: 70%;
    padding: 15px 0;
    justify-content: center;
    align-items: center;
    position: absolute;
    bottom: 5%;
    left: 50%;
    transform: translateX(-50%);
    font-size: 18px;
    font-family: 'SDGothic', 'Noto Sans SC', sans-serif;
    color: #fff;
    background-color: #000;
}

.popup .close {
    display:flex;
    flex-direction:row;
    justify-content:space-between;
    align-items:center;
    column-gap:5px;
    padding:3px;
    border:1px solid #999;
}

.popup .close > div {
    display:flex;
    padding-left: 3px;
    flex-direction:row;
    justify-content:flex-start;
    align-items:center;
    column-gap:5px;
}

.popup .close > div input {
    width: 15px;
    height: 15px;
}

.popup .close > div label {
    padding: 1px 0 0;
}

.popup .close .popup-close {
    position: relative;
    padding: 1px 8px 0;
    margin: 2px;
    color: #222;
    background-color: #fff;
    border: 1px solid #222;
    border-radius: 3px;
    cursor:pointer;
}

.popup .close .popup-close:hover:after {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.10);
    content: '';
}

@media screen and (max-width: 767px){
    .popup {
        position: absolute;
        top: 0; 
        left: 0;
        max-width: 100vw;
        max-height: 100vh;
        /* height: calc(100vh - 60px); */
    }

    .popup * {
        font-size: 20px;
    }

    .popup .image {
        overflow: hidden;
    }

    .popup .image img {
        max-width: 100%;
        height: 100%;
    }

    .popup .close {
        /* display: none; */
    }
}