/**
* [  ] 프로젝트 스타일 시트
* 
* @ version 1.0
*/

/* @import url("pc.css?v=1");
@import url("mobile.css?v=1") screen and (max-width: 960px); */
@import url("icon.css?v=1");

@media screen and (min-width: 960px) {
    #header, #footer {
        left: calc((100% - 960px) / 2);
        right: calc((100% - 960px) / 2);
    }
}



#container.loading-container {
    padding-top: 0;
    padding-bottom: 0;
    top: 0;
}

.loading-container .loading-wrap {
    position: relative;
    background: url('../images/img-loading.png') no-repeat center center / cover;
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    padding: 30px 0;
    text-align: center;
    gap: 23px;
    /*animation: scaleImage 1s linear;*/
}

.loading-container .loading-wrap:after {
    content: "";
    display: block;
    position: absolute;
    /*background: #00000070;*/
    background: url('../images/img-loading.png') no-repeat center center / cover;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    animation: scaleImage 1s linear;
}

@keyframes scaleImage {
    0% {
        transform: scale(1);
        filter: brightness(0.5);
    }
    50% {
        transform: scale(1.05);
        filter: brightness(0.7);
    }
    100% {
        transform: scale(1);
        filter: brightness(1);
    }
}

@keyframes scaleImage2 {
    0% {
        opacity: 1;
    }
    100% {
        opacity: 0;
    }
}

.loading-container .loading-wrap .loading-title div {
    font-size: 25px;
    font-weight: bold;
    line-height: 1.2;
    color: #535353;
}

.loading-container .loading-wrap .logo img {
    /*width: calc(225px / 2);*/
	width:140px;
    object-fit: scale-down;
}


@keyframes loading-spinner {
    0% { transform: translate(-50%,-50%) rotate(0deg); }
    100% { transform: translate(-50%,-50%) rotate(360deg); }
}
.loading-spinner-wrap div {
    position: absolute;
    width: 60px;
    height: 60px;
    border: 15px solid #bda247;
    border-top-color: transparent;
    border-radius: 50%;
}
.loading-spinner-wrap div {
    animation: loading-spinner 1s linear infinite;
    top: 50%;
    left: 50%;
}
#loading.loading-spinner-container {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: #0000007a;
    z-index: 200;
    width: 100%;
    height: 100%;
}
.loading-spinner-wrap {
    width: 100%;
    height: 100%;
    position: relative;
    transform: translateZ(0) scale(1);
    backface-visibility: hidden;
    transform-origin: 0 0; /* see note above */
}
.loading-spinner-wrap div { box-sizing: content-box; }


/* 신도증 등록하기 */
.join-container .notify {
    background: #f2f2f2;
    padding: 23px;
    text-align: center;
}

.join-container .notify p {
    font-size: 16px;
    line-height: 1.44;
    color: #111;
    font-weight: 500;
}

.join-container .terms-layer {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    padding: 25px;
    gap: 15px;
}

.join-container .terms-layer > span {
    font-size: 16px;
    font-weight: 500;
    line-height: 1.44;
    color: #111;
}

.terms-layer > .input-box label {
    font-size: 13px;
}

.terms-layer > .terms-textarea {
    width: 100%;
    background: #f9f9f9;
    border: 1px solid #d6d6d6;
    font-size: 12px;
    padding: 10px;
    height: 150px;
    overflow: auto;
}

.terms-layer > .button-wrap {
    margin-top: 10px;
}

.info-image-wrap {
    width: 100%;
    text-align: center;
}

.info-image-wrap img {
    width: 50%;
    object-fit: cover;
    margin: 35px 0;
}

.info-notify {
    margin-bottom: 50px;
    font-size: 16px;
    font-weight: 500;
    line-height: 1.4;
    word-break: keep-all;
    color: #111;
    text-align: center;
}

.info-notify.hide, .button-wrap.hide {
    display: none;
}

#signupPopup .button-wrap a:hover {
    background: #0f71cd;
}

/* 홈 index */
.page-container.set-background-image {
    background: url('../images/main-bg-24.png') no-repeat center center / cover;
}

.date {
    margin-bottom: 10px;
    font-size: 12px;
    line-height: 2.08;
    color: #fff;
    text-align: center;
}

.id-card-box {
    width: 90%;
    padding: 15px 15px;
    margin: 0 auto;
    /*border-bottom: 1px solid #fff;*/
}

.index-btns {
    padding: 10px 20px 20px;
    gap: 10px !important;
    flex-wrap: wrap;
}

.button-wrap.buttons-2.index-btns a {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 17px;
    width: calc(50% - 5px);
    flex: 1 0 auto;
    background: #fff;
    border-radius: 10px;
    box-shadow: 0 0 10px 0 rgba(28, 29, 29, 0.1);
    font-size: 16px;
    font-weight: 500;
    white-space: nowrap;
}

/* 신도증 id-card */
.id-card {
    position: relative;
    background: url(../images/bg-card-s.png) no-repeat center 0% / cover;
    width: 100%;
    height: 100%;
    padding: 30px 15px 15px 15px;
    box-shadow: 6px 6px 14px 0px #0000002e;
    border-radius: 10px;
    z-index: 1;
}

.id-card .id-card-header {
    display: block;
    text-align: center;
}

.id-card .id-card-header > span {
    font-family: 'Seokbo';
    font-size: 21px;
    font-weight: normal;
    word-break: keep-all;
}

.id-card .id-card-header > img {
    width: calc(50% / 3);
    object-fit: contain;
}

.id-card .id-card-body {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 20px;
    margin-top:22px;
}

.id-card .id-card-body .id-card-image-wrap {
    position: relative;
    width: 150px;
    height: 150px;
}

.id-card .id-card-body .my-profile-image {
    margin: 0 auto;
    width: 125px;
    max-height: 165px;
    /*height: 150px;*/
    overflow: hidden;
    /*border-radius: 50%;*/
    border: 1px solid #e4e4e4;
    box-shadow: 0 0 10px 0 rgb(28 29 29 / 10%);
    font-size: 0;
}

.id-card .id-card-body .my-profile-image img {
    width: 100%;
    object-fit: cover;
}

.id-card .id-card-body img.badge {
    position: absolute;
    top: 65%;
    left: calc(100% - ((150px / 2) / 2));
    width: 50%;
}

/*.id-card .id-card-body ul {
    margin-top: 10px;
}*/

.id-card .id-card-body ul li {
    font-size: 19px;
    line-height: 1.47;
    font-weight: bold;
    color: #111;
    text-align: center;
}

.id-card .id-card-body ul li.temple {
    font-size: 17px;
}

.id-card .id-card-body p.serial_number {
    font-size: 16px;
    font-weight: 500;
    color: #111;
    text-align: center;
}

.id-card .id-card-body div, .id-card .id-card-body div span.date {
    font-size: 3.33vw;
    line-height: 1.56;
    font-weight: 500;
    text-align: center;
    white-space: nowrap;
    color: #111;
    /*margin-left: 15px;*/
}

#idCardPopup .button-wrap.buttons-2 > a {
    min-width: 35px;
    max-width: 35px;
}

#idCardPopup .id-card-2.show .id-card {
    width: 100%;
}

#idCardPopup .id-card-body div, #idCardPopup .id-card-body div span.date {
    margin-left: 15px;
}


.id-card .id-card-footer {
    text-align: center;
    margin-top: 10px;
}

.id-card .id-card-footer img {
    width: 75%;
    /*width: 50vw;*/
    /*max-width: 230px;*/
    object-fit: contain;
}

.id-card + .button-wrap {
    width: 90%;
    margin: 0 auto;
    transform: translateY(-10px);
}

.id-card + .button-wrap .btn {
    font-size:16px;
	font-weight:500;
	padding: 26px 10px 16px 10px !important;
    border-radius: 0 0 20px 20px;
    box-shadow: 0 0 10px 0 rgb(28 29 29 / 10%);
}

#idCardPopup {
    /*max-width: 430px;*/
    /*transform: rotate(90deg) scale(1.2);*/
    transform: rotate(90deg) translate(-50%, -100%);
    transform-origin: 0% 0%;
    top: 50vh;
    width: 80vh;
    height: 100vw;
    padding: 20px;
}

#barcode {
    width: 100%;
}

#idCardPopup .id-card {
    display: flex;
    flex-direction: column;
    justify-content: space-around;
    gap: 10px;
    align-items: center;
    padding: 15px 30px;
    /*height: 260px;*/
    width: auto;
    /*min-height: 210px;*/
}

#idCardPopup .id-card .id-card-header {
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

#idCardPopup .id-card .id-card-header > span {
    font-family: 'Seokbo';
    font-size: 6.38vw;
    font-weight: normal;
}

.body-container {
    width: 100%;
    display: flex;
    justify-content: space-between;
    gap: 45px;
}


#idCardPopup .id-card .id-card-header > img {
    /* width: calc(50% / 3); */
    width: calc(20vw - 10px);
    object-fit: contain;
}

/*#idCardPopup .id-card .id-card-body {
    display: grid;
    grid-template-columns: calc(25% + 9px) 1fr;
    align-items: center;
    gap: 18px;
    margin-top: 7px;
}*/

#idCardPopup .id-card .id-card-body {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 30px;
    margin-top: 0;
}

#idCardPopup .id-card {
    border-radius: 25px;
}


#idCardPopup .id-card .my-profile-image {
    grid-row: 1 / 3;
    width: auto;
    height: auto;
    overflow: auto;
    border: none;
    border-radius: unset;
    font-size: 0;
}

#idCardPopup .id-card .my-profile-image img {
    width: 47vw;
    object-fit: cover;
}

#idCardPopup .id-card .id-card-body ul li {
    font-size: 4.44vw;
    line-height: 1.54;
    font-weight: 500;
    text-align: left;
    color: #111;
    margin-bottom: 10px;
}
#idCardPopup .id-card .id-card-body ul li:last-child {
    margin-bottom: 0;
}

#idCardPopup .id-card .id-card .id-card-footer img {
    width: 50%;
    object-fit: cover;
    margin-left: calc(25% + 18px);
}

#idCardPopup .id-card + .button-wrap {
    padding: 0;
    margin-left: 10px;
    margin-right: 0;
    transform: unset;
}

/*#id-barcode {
    width: calc(100% - 10px) !important;
}*/

/*#id-barcode {
    width: calc(100% - 10px) !important;
}*/

/*#id-barcode div:first-child {
    width: 0 !important;
}

#id-barcode div:nth-last-child(2) {
    width: 0 !important;
}*/

#id-barcode div:last-child {
    padding: 15px;
    font-size: 15px !important;
    font-weight: 500;
}

#idCardPopup .id-card + .button-wrap .btn {
    padding: 10px;
    border-radius: 6px;
}

#idCardPopup .id-card-1 {
/*    transform: rotate(90deg);
    transform-origin: 50% 50%;*/
    height: 100%;
}

#idCardPopup .id-card-2 {
/*    transform: rotate(90deg);
    transform-origin: 50% 50%;*/
    height: 100%;

    /*transform: rotate(90deg) scale(1.2) translateX(calc(25%));*/
}
.button-wrap.id-card-flex {
    flex-direction: column;
    width: auto;
    justify-content: center;
}

#idCardPopup .id-card-1, #idCardPopup .id-card-2 {
    display: none;
}

#idCardPopup .id-card-1.show, #idCardPopup .id-card-2.show {
    display: flex;
    width: 100%;
}

#idCardPopup .id-card-2 .id-card {
    display: flex;
    justify-content: center;
    align-items: center;
    background: #fff;
}

#idCardPopup .id-card-2 .id-card img {
    width: 100%;
}

#idCardPopup .id-card .id-card-footer {
    width: 100%;
    margin-top: 5px;
}

/* New 홈 index */
.menu-container ul {
    display: grid;
    grid-template-columns: repeat(2, calc(100% / 2 - 25px));
    gap: 25px 50px;
    margin: 35px;
}

.menu-container ul li {
    text-align: center;
}

.menu-container ul li div {
    position: relative;
    padding: 15px;
    aspect-ratio: 1 / 1;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 3px 10px 0 #1c1d1d19;
    background: #fff;
}

.menu-container ul li div:after {
    content: "";
    display: block;
    width: calc(100% - 10px);
    height: calc(100% - 10px);
    position: absolute;
    top: 5px;
    left: 5px;
    border-radius: 5px;
    box-shadow: inset 0 0 10px 0 #1c1d1d19;
}

.menu-container ul li div img {
    width: 100%;
    border-radius: 8px;
    object-fit: cover;
}

.menu-container ul li a span {
    display: block;
    margin-top: 4.1666vw;
    font-size: 4.1666vw;
    font-weight: 700;
    color: #fff;
    word-break: keep-all;
    white-space: nowrap;
}

#footer .footer-wrap a.toggleIdCardClass {
    position: relative;
    top: -50%;
    width: 80px;
    height: 80px;
    justify-content: center;
    aspect-ratio: 1 / 1;
    overflow: hidden;
    border-radius: 50%;
    background: #fff;
    text-align: center;
    opacity: 1;
    flex-shrink: 0;
}

#footer .footer-wrap a.toggleIdCardClass span {
    width: 70px;
    height: 70px;
    display: flex;
    align-items: center;
    justify-content: center;
    aspect-ratio: 1 / 1;
    border-radius: 50%;
    background: #cb656c;
    color: #fff;
    font-size: 13px;
    font-weight: 700;
}


/* 인덱스 서브메뉴 */
.my-info-submenu {
    display: flex;
    gap: 30px;
    margin: 15px 0;
}

.my-info-submenu li span {
    display: inline-block;
    font-size: 18px;
    line-height: 1.39;
    font-weight: bold;
    color: #a1a1a1;
    margin-bottom: 7px;
}

.my-info-submenu li.active {
    border-bottom: 2px solid #111;
}

.my-info-submenu li.active span {
    color: #111;
}

.submenu-content-list {
    display: flex;
    gap: 10px;
    transform: translateX(0);
    transition: 0.5s;
}

.school-expenses-list-container .submenu-content-list, .school-expenses-pay-container .submenu-content-list, .education-state-container {
    padding: 0 13px;
}

.school-expenses-pay-container .submenu-content-list {
    flex-direction: column;
    gap: 25px;
}

.submenu-content-list .submenu-content {
    flex-shrink: 0;
    width: 100%;
    height: 100%;
    position: relative;
    transition-property: transform;
}

.school-expenses-pay-container .submenu-content-list .submenu-content + .button-wrap {
    padding: 0 7px;
}

.submenu-content-list .submenu-content .submenu-item {
    padding: 20px;
    background: #fff;
    border-radius: 10px;
    border: 1px solid #e8e8e8;
    margin-bottom: 10px;
}

.school-expenses-list-container .submenu-content-list .submenu-content .submenu-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 0;
    height: 80px;
    border: none;
    border-bottom: 1px solid #e8e8e8;
    border-radius: unset;
}

.school-expenses-pay-container .submenu-content-list .submenu-content .submenu-item {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    padding: 25px 12px;
    margin-bottom: 0;
    border: none;
    border-bottom: 1px solid #e8e8e8;
    border-radius: unset;
}

.submenu-content-list .submenu-content .submenu-item .pay-guide {
    margin-top: 20px;
    background: #f3f3f3;
    padding: 15px;
    font-size: 14px;
    line-height: 1.64;
    color: #111;
}

.school-expenses-list-container .submenu-content-list .submenu-content .submenu-item img {
    width: 60px;
}

.education-state-container .submenu-content-list .submenu-content .submenu-item, .school-expenses-pay-container .submenu-content-list .submenu-content .submenu-item {
    margin-bottom: 0;
    border: none;
    border-bottom: 1px solid #e8e8e8;
    border-radius: unset;
}

.submenu-content-list .submenu-content .submenu-item:last-child {
    margin-bottom: 0;
}

.submenu-content-list .submenu-content.tab2 .submenu-item {
    display: flex;
    align-items: center;
}

.submenu-content-list .submenu-content .submenu-item .title {
    font-size: 18px;
    font-weight: bold;
    line-height: 1.56;
    color: #111;
}

.submenu-content-list .submenu-content.tab2 .submenu-item .title {
    flex: 1 0 40%;
}

.submenu-content-list .submenu-content .submenu-item ol {
    margin-top: 10px;
	font-size: 15px;
}

.submenu-content-list .submenu-content .submenu-item ol li {
    list-style-type: square;
    list-style-position: inside;
}

.submenu-content-list .submenu-content .submenu-item ol li::marker {
    font-size: 11px;
}

.submenu-content-list .submenu-content .submenu-item ol li > span {
    margin-left: -5px;
}

.submenu-content-list .submenu-content .submenu-item li {
    font-size: 15px;
    line-height: 1.64;
    color: #111;
}

.submenu-content-list .submenu-content .submenu-item ul {
    flex: 1 0 60%;
}

.school-expenses-list-container .submenu-content-list .submenu-content .submenu-item ul {
    text-align: right;
}

.submenu-content-list .submenu-content .submenu-item ul li:last-child > span {
    display: inline-block;
    margin-top: 5px;
}

.school-expenses-list-container .submenu-content-list + .button-wrap {
    margin: 25px 0;
}

span.default {
    color: #e17228;
}

/* 전체 서브메뉴 */
.submenu {
    display: flex;
    width: 100%;
}

.submenu li {
    width: 50%;
    border-bottom: 3px solid #cccccc;
    text-align: center;
}

.submenu li a {
    display: block;
    padding: 18px 0;
    font-size: 18px;
    line-height: 1.67;
    background: #fff;
    color: #828282;
}

.submenu.blue li.active {
    border-bottom: 3px solid #0f71cd;
}

.submenu.yellow li.active {
    border-bottom: 3px solid #bda247;
}

.submenu li.active a {
    color: #111111;
    font-weight: bold;
}

/* 재적사찰 temple */
.temple-image-wrap {
    position: relative;
    font-size: 0;
}

.temple-image-wrap img {
    width: 100%;
}

.temple-image-wrap > div {
    position: absolute;
    bottom: 25%;
    right: 50%;
    transform: translateX(50%);
    text-align: center;
}

.temple-image-wrap > div span.temple_name {
    display: block;
    font-size: 25px;
    font-weight: bold;
    color: #fff;
    margin-bottom: 10px;
}

.temple-image-wrap > div .btn {
    width: 140px;
    padding: 5px 10px !important;
}

.notice_list {
    padding: 25px 15px;
    background: #fff;
}

.notice_list .title {
    display: flex;
    align-items: center;
    gap: 9px;
}

.notice_list .title h2 {
    font-size: 18px;
    line-height: 1.39;
    font-weight: bold;
    color: #111;
}

.notice_list ul.list {
    margin-top:15px;
    padding: 0;
}

.notice_list ul.list li {
    font-size: 15px;
    line-height: 1.92;
    color: #111;
}

.temple_icons {
    background: #fff;
    margin-top: 10px;
}

.temple_icons .icon_list {
    display: flex;
    justify-content: space-evenly;
    padding: 13px 0;
}

.temple_icons .icon_list li a {
    display: flex;
    flex-direction: column;
    align-items: center;
    font-size: 15px;
    line-height: 2.09;
    font-weight: 500;
}

.temple-banner-wrap {
    padding: 15px 13px !important;
    border-top: 1px solid #e4e4e4;
    font-size: 0;
}

.temple-banner-wrap a {
    display: block;
    border-radius: 10px;
    overflow: hidden;
}

.temple-banner-wrap img {
    width: 100%;
    object-fit: cover;
}

.board-select select.input {
    font-size: 15px;
    padding: 14px 10px;
}

.list {
    padding: 15px 0;
}

.page-title {
    font-size: 20px;
    line-height: 1.28;
    font-weight: bold;
    color: #111;
    text-align: center
}

.page-nav {
    margin: 5px 0 15px 0;
    font-size: 14px;
    line-height: 1.92;
    color: #646464;
    text-align: center;
}

.search-wrap {
    display: flex;
    width: 100%;
    justify-content: center;
    align-items: center;
    gap: 10px;
    padding: 15px;
    background: #f2f2f2;
}

.join-container .search-wrap, .popup-container .search-wrap {
    background: none;
    padding: 0;
}

.search-wrap .search-btn {
    width: 80px;
    padding: 10px 10px !important;
}

.list .list-items .list-item {
    padding: 15px 25px;
    border-bottom: 1px solid #e4e4e4;
}

.list .list-items .list-item.empty {
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    text-align: center;
}

.list .list-items .list-item > a {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    height: 100%;
}

.list .list-items .list-item .title {
    white-space: normal;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    font-size: 16px;
    font-weight: 500;
    line-height: 1.5;
    color: #111;
}

.list .list-items .list-item .temple-name {
    font-size: 18px;
    font-weight: 500;
    line-height: 1.5;
    color: #111;
    display: flex;
    align-items: center;
    gap: 10px;
}

.list .list-items .list-item > a div {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 5px;
    margin-top: 6px;
    font-size: 14px;
    line-height: 1.75;
    color: #898989;
	font-family: 'Nanum Gothic','나눔고딕',Sans-Serif;
}

.list .list-items .list-item .temple-name a {
    margin: 0;
    width: auto;
    padding: 5px 15px !important;
    font-size: 12px;
}

.list .list-items .list-item ~ .button-wrap, .view .board-nav + .button-wrap {
    margin: 25px 0;
}

.view {
    /*padding: 15px 0;*/
}

.view .view-content .title-wrap {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    height: 100%;
    padding: 20px 25px;
    border-bottom: 1px solid #e4e4e4;
    background: #f2f2f2;
}

.view .view-content .title-wrap .title {
    white-space: normal;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    font-size: 16px;
    font-weight: 500;
    line-height: 1.5;
    color: #111;
}

.view .view-content .title-wrap > div {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 5px;
    margin-top: 10px;
    font-size: 14px;
    line-height: 1.75;
    color: #898989;
	font-family: 'Nanum Gothic','나눔고딕',Sans-Serif;
}

.view .view-content .attach-file-wrap {
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
    gap: 11px;
    padding: 20px 25px;
    background: #fafafa;
    border-bottom: 1px solid #e4e4e4;
	font-size:14px;
	font-family: 'Nanum Gothic','나눔고딕',Sans-Serif;
}

.view .view-content .attach-file-wrap > div {
    display: flex;
    gap: 11px;
}

.view .view-content .attach-file-wrap i.icon-file {
    flex: 0 0 auto;
    margin-top: 3px;
}

.view .view-content .attach-file-wrap > div p {
    line-height: 1.6;
    color: #898989;
}

.view .view-content .contents-wrap {
    padding: 30px 25px;
    border-bottom: 1px solid #e4e4e4;
}

.view .view-content .contents-wrap p {
    /*box-sizing: content-box;*/
}

.view .view-content .contents-wrap a {
    text-decoration: underline;
    color: #007aff;
}

.view .view-content .contents-wrap img {
    width: 100%;
    box-sizing: content-box;
}

.view .view-content .board-nav > div {
    border-bottom: 1px solid #e4e4e4;
}

.view .view-content .board-nav > div a {
    display: flex;
    padding: 15px 0;
}

.view .view-content .board-nav > div span {
    flex: 1 0 20%;
    font-size: 14px;
    color: #898989;
    text-align: center;
}

.view .view-content .board-nav > div span.title {
    flex: 1 0 80%;
    color: #111111;
    text-align: left;
}

.calendar-wrap {
    padding: 30px;
    border-top: 10px solid #f2f2f2;
    border-bottom: 1px solid #d0d0d0;
}

.calendar-wrap .calendar-top {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 15px;
}

.calendar-wrap .calendar-top .date {
    font-family: Roboto;
    font-size: 20px;
    font-weight: bold;
    line-height: 0.9;
    margin-bottom: 0;
    background: none;
    color: #262626;
}

.calendar-wrap .calendar-top .today {
    position: absolute;
    right: 0;
    padding: 11px;
    background: #ebebeb;
    border: 1px solid #d7d7d7;
    border-radius: 50px;
    font-size: 15px;
    line-height: 0.8;
}

.calendar-wrap .calendar-body {
    margin-top: 30px;
}

.calendar-wrap .calendar-body table.calendar {
    width: 100%;
    text-align: center;
}

.calendar-wrap .calendar-body table.calendar span {
    position: absolute;
    top: 0;
    left: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 70%;
    height: calc(100% - 2px);
    border-radius: 50%;
    transform: translateX(22%) translateY(1px);
    font-size: 13px;
    font-weight: bold;
}

.calendar-wrap .calendar-body table.calendar th span {
    font-size: 15px;
    font-weight: bold;
}

.calendar-wrap .calendar-body table.calendar span.blue {
    color: #1883d6;
}

.calendar-wrap .calendar-body table.calendar span.red {
    color: #f91a1a;
}

.calendar-wrap .calendar-body table.calendar span.disable {
    color: #c6c6c6;
}

/*.calendar-wrap .calendar-body table.calendar span.event, .calendar-wrap .calendar-body table.calendar span.select, .calendar-wrap .calendar-body table.calendar span#scheduler_today {
    display: flex;
    width: 70%;
    height: calc(100% - 3px);
    border-radius: 50%;
    transform: translateX(22%) translateY(1.5px);
}*/

.calendar-wrap .calendar-body table.calendar span.event {
    background: #bda247;
    color: #fff;
}

.calendar-wrap .calendar-body table.calendar span.select {
    background: #0f71cd;
    color: #fff;
}

.calendar-wrap .calendar-body table.calendar span#scheduler_today {
    background: #0f71cd;
    color: #fff;
}

.calendar-wrap .calendar-body table.calendar span.disabled {
    color: #c6c6c6;
}

.calendar-wrap .calendar-body table.calendar th, .calendar-wrap .calendar-body table.calendar td {
    position: relative;
}

.calendar-wrap .calendar-body table.calendar th:after, .calendar-wrap .calendar-body table.calendar td:after {
    content: "";
    display: inline-block;
    padding-bottom: 70%;
}

.schedule_list {
    padding: 25px 15px;
}

.schedule_list .title {
    display: flex;
    align-items: center;
    gap: 9px;
}

.schedule_list .title h2 {
    font-size: 18px;
    line-height: 1.39;
    font-weight: bold;
    color: #111;
}

.schedule_list ul.list li {
    list-style: inside;
    font-size: 15px;
    line-height: 1.92;
    color: #111;
}

.schedule_list ul.list li::marker {
    content: "· ";
}

.map_container .wrap_controllers {
    display: none;
}

.map_info {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    padding: 30px 15px;
}

.map_info .title {
    display: flex;
    gap: 10px;
    width: 100%;
    font-size: 18px;
    font-weight: bold;
    color: #111111;
    line-height: 1.56;
}

.map_info .title .btn {
    margin: 0;
	font-size: 14px !important;
	padding:5px 6px !important;
}

.map_info .info {
    margin: 0 0 0px 10px
}

.map_info .info span {
    font-size: 14px;
    line-height: 1.64;
    color: #111;
}

.map_infowindow {
    width: 150px;
    text-align: center;
    padding: 6px 0;
    font-size: 13px;
    font-weight: 600;
}

.map_infowindow > div {
    display: flex;
    justify-content: center;
    gap: 7px;
}

.map_infowindow > div a {
    color: #a58e42;
    font-size: 12px;
    font-weight: normal;
}

.temple-list-container .list {
    padding: 0;
}

.temple-list-container .search-wrap {
    flex-wrap: wrap;
}

.temple-list-container .search-wrap .input.w55 {
    width: calc(55% - 10px);
    margin-left: 0;
}

.temple-list-container .search-wrap .search-btn {
    width: 100%;
}

.sort {
    margin-top: 10px;
    padding: 10px 15px;
    font-size: 13px;
    line-height: 1.6;
    color: #898989;
    text-align: right;
}

.temple-list-container .list .list-items .list-item {
    display: flex;
    flex-direction: column;
    height: 100%;
}

.temple-list-container .list .list-items .list-item > div {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    margin-top: 10px;
    font-size: 15px;
    line-height: 1.7;
    color: #111111;
}

/* 백만원력 결집불사 fundraiser */
.fundraiser-image-wrap {
    padding: 25px 12px;
}

.fundraiser-image-wrap img {
    width: 100%;
    object-fit: cover;
}

/* 추천 법문 buddhist_scriptures */
.gallery .gallery-items .gallery-item {
    padding: 20px 13px;
    border-bottom: 1px solid #e4e4e4;
}

.gallery .gallery-items .gallery-item:last-child {
    border: none;
}

.gallery .gallery-items .gallery-item.top {
    background: #b39f6c;
    border: none;
}

.gallery .gallery-items .gallery-item.top .title {
    color: #fff;
}

.gallery .gallery-items .gallery-item img {
    width: 100%;
}

.gallery .gallery-items .gallery-item .top-title {
    margin-bottom: 10px;
    font-size: 16px;
    font-weight: bold;
    line-height: 1.44;
    color: #111;
}

.gallery .gallery-items .gallery-item .title {
    margin-top: 5px;
    font-size: 16px;
    font-weight: 500;
    line-height: 1.53;
    color: #111;
}

.gallery .gallery-items .gallery-inner {
    padding: 0 13px;
}

.gallery .gallery-items .gallery-inner .gallery-item {
    padding: 20px 0;
}

.gallery .gallery-items .recommend_info {
    /*padding: 20px 10px;*/
    padding: 20px 0;
}

.gallery .gallery-items .recommended_monk {
    margin-bottom: 20px;
    font-size: 15px;
    line-height: 1.53;
    color: #111;
}

.gallery .gallery-items .recommend_comment {
    font-size: 15px;
    line-height: 1.53;
    color: #111;
}

.buddhist-scriptures-view-container .gallery-items + .button-wrap {
    margin: 10px 0 20px 0;
}

/* 설정 setting */
.setting-wrap {
    padding: 0 12px;
}

.setting-wrap .item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 20px 10px;
    border-bottom: 1px solid #e4e4e4;
}

.setting-wrap .item > span {
    flex: 1 0 calc(60% - 10px);
    font-size: 16px;
    font-weight: 500;
    line-height: 1.44;
    color: #111111;
    word-break: keep-all;
}

.setting-wrap .item .btn, .setting-wrap .item .switch {
    flex: 1 0 40%;
}

.terms-view-box {
    font-size: 12px;
    color: #3434f6;
    text-decoration: underline;
}

.terms-textarea.terms-popup-text {
    text-align: left;
    height: 300px;
    overflow: scroll;
}

.top-nav.personal-top {
    text-align: center;
}

/* 선 명상 meditation */
.grid-container {
    display: grid;
    padding: 25px 20px;
}

.grid-container.grid-type-1 {
    grid-template-columns: 1fr;
    gap: 15px;
}

.grid-container .grid-item {
    width: 100%;
    height: 100%;
}

.grid-container .grid-item > div {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    background-repeat: no-repeat;
    background-size: 100%;
    background-position: center;
    aspect-ratio: 32 / 15;
    border-radius: 10px;
    box-shadow: 2.5px 7.6px 10px 0 rgba(23, 23, 23, 0.08);
}

.audio-view-container .grid-container .grid-item > div {
    aspect-ratio: 32 / 20;
}

.archive-container .grid-container .grid-item > div {
    aspect-ratio: 32 / 13;
    background-color: #fff;
    justify-content: flex-start;
    border: 5px solid #fff;
    box-shadow: 2.5px 7.6px 10px 0 rgba(23, 23, 23, 0.08), inset 0 0 10px 0 #1c1d1d19;
}

.archive-view-container .grid-container .grid-item > div {
    display: block;
    min-height: 90px;
    aspect-ratio: unset;
    background-color: #fff;
    border: 5px solid #fff;
    box-shadow: 2.5px 7.6px 10px 0 rgba(23, 23, 23, 0.08), inset 0 0 10px 0 #1c1d1d19;
    overflow: hidden;
}

.archive-view-container .grid-container .grid-item > div > div {
    display: flex;
    justify-content: space-between;
    gap: 0 10px;
    height: calc(100% - 35px);
    padding: 10px 0;
}

.grid-container .grid-item > div span {
    font-family: 'GmarketSansLight';
    font-size: 25px;
    color: #fff;
    text-shadow: 0 0 10px rgba(23, 23, 23, 0.5);
    word-break: keep-all;
    text-align: center;
}

.archive-container .grid-container .grid-item > div span {
    font-family: 'GmarketSansMedium';
    margin-left: 35px;
    text-shadow: unset;
    color: #111;
    font-size: 18px;
}

.archive-view-container .grid-container .grid-item > div span {
    font-family: 'GmarketSansMedium';
    display: flex;
    align-items: center;
    margin-left: 15px;
    flex: 1;
    text-shadow: unset;
    color: #111;
    font-size: 18px;
    height: 100%;
    width: 100%;
    text-align: left;
    line-height: 1.5;
}

.archive-view-container .grid-container .grid-item > div p {
    display: block;
    width: 100%;
    height: 35px;
    padding-left: 15px;
    line-height: 35px;
    color: #fff;
    background-color: #907ec0;
    font-size: 12px;
}

.grid-container[data-category], .grid-item[data-category], .audio-view-container [data-theme] {
    display: none !important;
}

.grid-container[data-category].active, .grid-item[data-category].active {
    display: grid !important;
}

.audio-view-container [data-theme].active {
    display: flex !important;
}

.sound_box audio {
    width: 100%;
    height: 35px;
}

.grid-item + .sound_box {
    margin-top: 10px;
}
/*.audio-view-container[data-category], .audio-view-container[data-theme] {
    display: none;
}*/

@media screen and (max-width: 375px) {
    .button-wrap.buttons-2.index-btns a {
        width: 100%;
    }
}

@media screen and (max-width: 340px) {
    /*#idCardPopup {
        width: 63vh;
    }*/
    /*#idCardPopup .id-card {
        padding: 10px 30px;
        height: auto;
    }*/

    #idCardPopup .id-card .id-card-header > span {
        font-family: 'Seokbo';
        /* font-size: 15px; */
        font-weight: normal;
    }

    #idCardPopup .id-card .id-card-body ul li {
        /* font-size: 11px; */
    }

    #idCardPopup .id-card .id-card-footer {
        margin-top: 5px;
    }

    #idCardPopup .id-card + .button-wrap {
        margin-top: 5px;
    }

    .index-btns a {
        gap: 5px;
    }

    /* #idCardPopup .id-card .my-profile-image img {
        width: 100%;
    } */
    /* .body-container {
        gap: 0;
    } */

    #idCardPopup .id-card .id-card-body {
        gap: 15px;
        justify-content: space-around;
    }

    /* #idCardPopup .id-card { {
        width: 50vh;
    } */

    .menu-container ul {
        grid-template-columns: repeat(2, calc(100% / 2 - 15px));
        gap: 15px 30px;
    }

}
