@import url("reset.css");
@import url("config.css");

:root {
    --color-primary: #6196f8;
    --color-primary-dark: #4c74c0;
    /*--color-primary: #2a72fe;*/
    /*--color-primary: #6B7280;*/
    --color-primary-opacity: rgba(87, 144, 255, .7);
    /*--color-primary-filter: invert(41%) sepia(29%) saturate(2669%) hue-rotate(203deg) brightness(97%) contrast(104%);*/
    --color-primary-filter: invert(46%) sepia(95%) saturate(784%) hue-rotate(199deg) brightness(104%) contrast(94%);
    /*--color-warning-filter:invert(73%) sepia(44%) saturate(374%) hue-rotate(196deg) brightness(111%) contrast(105%);*/
    --color-warning: #bed5fb;
    --color-warning-filter: invert(87%) sepia(6%) saturate(3417%) hue-rotate(184deg) brightness(100%) contrast(97%);
    --color-secondary: #fdec71;
    --color-white: #fff;
    --color-white-filter: invert(83%) sepia(97%) saturate(11%) hue-rotate(3deg) brightness(107%) contrast(92%);
    --color-black: #000;
    --color-dark-gray: #717171;
    --color-opacity-black: rgba(58, 58, 58, 0.5);
    --color-shadow: 2px 2px 3px var(--color-opacity-black);
    --color-lignt-gray: #e8e8e8;
    --color-gray: #cdcdcd;
    --color-opacity-gray: rgba(1, 5, 14, 0.05);
    --color-secondary-opacity: rgba(255, 232, 43, 0.8);
    --color-error: #ff0000;
    --color-active: #ff9c69;

	--size: 0.87;
}

@font-face {
    font-family: "Noto Sans KR";
    src: url("/fonts/NotoSansKR-Regular.ttf") format("truetype");
    font-weight: normal;
}

* {
    font-family: "Noto Sans KR";
    /*color: #01050e;*/
}

html {
    width: 100%;
    height: 100%;
    margin: 0;

}

body {
    width: 100%;
    height: 100%;
    margin: 0;
    position: relative;
}

.logo a {

}

header, main, footer {
    margin: 0;
    padding: 0;
    width: 100%;
    background-color: #fff;
    position: relative;
}

.wrapper {

}

header {
    z-index: 1000;
    border-bottom: 1px solid var(--color-gray);
}

header .wrapper {
    display: flex;
    height: calc(70px * var(--size));
    justify-content: space-between;
    align-items: center;
    border-bottom: 1px solid var(--color-gray);
}

header h1.logo {
	text-align: center;
    flex-grow: 1;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    flex: 0 0 14%;
    padding-left: 20px;
}

header h1.logo img {
    width: calc(113px * var(--size));
    /*width: 100%;*/
}

header div.global_menu {
    height: 100%;
    flex: 0 0 78%;
    display: flex;
    justify-content: flex-end;
    padding-right: 10px;
}

header div.global_menu > ul {
	display: flex;
    justify-content: space-around;
    height: 100%;
    gap: 44px;
}

header div.global_menu > ul > li {
    width: 100%;
    height: 100%;
    font-size: calc(16px * var(--size));
    position: relative;
}

header div.global_menu > ul > li > a {
    width: 100%;
    height: 100%;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    font-weight: 700;
    white-space: nowrap;
    transition: transform 0.2s ease, opacity 0.2s ease;
	outline: none;
}

@keyframes background-wave {
    0% {
        background-position: -200% 0;
    }
    100% {
        background-position: 200% 0;
    }
}

/*
header div.global_menu > ul > li:not(.sp_wait):hover > a,
header div.global_menu > ul > li:not(.sp_wait) > a:hover {
    opacity: 0.9;
    transform: scale(1.05);
    background: linear-gradient(90deg, #e3f2ff, #ffffff, #e3f2ff);
    background-size: 200% 100%;
    animation: background-wave 3s infinite linear;
    box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.25);
    color: #2872fe;
    border-radius: 5px;
}
*/

header div.global_menu > ul > li > ul {
    position: absolute;
    background: #fff;
    width: 100%;
    text-align: center;
    overflow: hidden;
    opacity: 0;
    max-height: 0;
    display: block;
    border-radius: 0 0 10px 10px;
    border: 1px solid rgba(0, 0, 0, 0.1);
    transition: max-height 0.2s ease, opacity 0.2s ease;
    margin-top: -1px;
}

header div.global_menu > ul > li > ul > li {
    width: 100%;
    height: calc(40px * var(--size));
    font-size: calc(14px * var(--size));
    font-weight: 400;
}

header div.global_menu > ul > li > ul > li > a {
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 10px 15px;
    color: #333;
    font-size: calc(14px * var(--size));
    font-weight: 400;
    transition: transform 0.2s ease;
	outline: none;
}

header div.global_menu > ul > li:not(.sp_wait) > a:hover {
    transform: scale(1.1);
    /*color: #0036d3;*/
}

header div.global_menu > ul > li.sp_ct {
	color: #507af5;
    font-size: calc(18px * var(--size));
    transition: all 0.3s ease;
    width: 90%;
}

header div.global_menu > ul > li.sp_ct > a:hover {
    background-color: #e3f2ff;
    box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.15);
	color: #0036d3;
    transform: scale(1.1);
}

header div.global_menu > ul > li.sp_wait,
header div.global_menu > ul > li.sp_wait > a {
    color: #c7c7c7;
    font-size: calc(16px * var(--size));
    transition: all 0.3s ease;
    width: 90%;
	cursor: default;
}

header div.my {
    flex: 0 0 8%;
    flex-grow: 1;
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: 15px;
    padding-right: 26px;
}

header div.my a {
    font-size: calc(15px * var(--size));
    font-weight: 500;
    color: #2a72fe;
    transition: transform 0.2s ease, color 0.2s ease;
	outline: none;
}

header div.my a:hover {
    transform: scale(1.025);
    opacity: 0.8;
}

header .main_my_items {
	width: 21px;
    transition: transform 0.2s ease;
}

header .main_my_items img:hover {
    transform: scale(1.125);
    opacity: 0.9;
	cursor: pointer;
}

main {
    min-height: calc(100vh - 150px - 70px);
}

footer {
    background-color: #2a72fe;
    color: #fff;
    height: 300px;
    box-sizing: border-box;
}

footer div.footer-menu {
    color: #fff;
}

footer div.footer-menu ul {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 25px;
    font-size: 13px;
    font-weight: 650;
}

footer div.footer-menu ul > li {
    padding: 0 20px;
    border-left: 2px solid #fff;
}

footer div.footer-menu ul li:first-child {
    border: 0;
}

footer div.footer-menu ul li a {
    color: #fff;
    font-size: 13px;
    font-weight: 600;
}

footer div.footer-menu ul li a:hover {
    font-weight: 900;
}

footer div.footer-info {
    padding: 20px 150px 0;
}

footer div.footer-info h1 {
    font-weight: 800;
    font-size: 20px;
    /*padding-bottom: 5px;*/
    display: flex;
    justify-content: space-between;
    font-family: "Noto Sans KR";
    margin-bottom: 0;
}

footer div.footer-info h1 p {
    display: flex;
    flex-direction: column;
}

footer div.footer-info h1 p img {
    align-self: baseline;
    padding-bottom: 10px;
    width: 120px;
}

footer div.footer-info h1 p span {
    font-size: 13px;
    font-family: "Noto Sans KR";
    font-weight: 400;
}

footer div.footer-info .info-wrapper {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
}

footer div.footer-info .info-wrapper p:first-child span {
    font-size: 11px;
    color: var(--color-gray);
}

footer div.footer-info .info-wrapper p:nth-child(2) {
    text-align: right;
    flex-direction: column;
    position: absolute;
    right: 150px;
    top: 50px;
}

footer div.footer-info p {
    font-weight: 500;
    padding-bottom: 10px;
    font-size: 13px;
    display: flex;
    flex-direction: row;
}

footer div.footer-info p span {
    margin-right: 20px;
    color: #fff;
    padding-bottom: 5px;
}

footer .copyright {
    height: 15px;
    letter-spacing: 1px;
    font-size: 13px;
    display: flex;
    justify-content: center;
    align-items: center;
    color: #fff;
    font-family: "Noto Sans KR";
    font-weight: 400;
}

#remote_controller {
    position: relative;
    z-index: 111;
    position: absolute;
    right: 20px;
    width: 225px;
    transition: top .3s linear , right .2s ease-out;
    font-family: "Noto Sans KR";

}
#remote_controller.disabled{
    right: -225px;
}
#remote_controller #toggle-remote{
    position: absolute;
    left: -25px;
    top: 50%;
    transform: translateY(-50%);
    z-index: 1;
    display: block;
    width: 25px;
    height: 50px;
    background-color: #5075bf;
    color: var(--color-white);
    border-radius: 50px  0  0 50px;
    cursor: pointer;
    background-image: url("/images/svg/icon_arrow_r2.png");
    background-position: center;
    background-size: contain;
    background-repeat: no-repeat;
}
#remote_controller.disabled #toggle-remote{
    background-image: url("/images/svg/icon_arrow_l2.png");
}
#remote_controller > div {
    /*background: rgba(255, 255, 255, 0.6);*/
    /*background: var(--color-white);*/
    background-color: #fff;
    border-radius: 10px;
    text-align: center;
    /*box-shadow: var(--color-shadow);*/
    /*backdrop-filter: blur(1px);*/
    border: 2px solid #5075bf;
    font-size: 14px;
}

#remote_controller .contact {
    margin-bottom: 10px;
    position: relative;
    font-size: 14px;
    font-weight: 400;
    height: 115px;
    overflow: hidden;
}

#remote_controller .contact .tel {
    font-size: 20px;
    font-weight: 600;
    position: relative;
    line-height: 30px;
    color: #5075bf;
    height: 46px;
    display: flex;
    align-items: center;
    justify-content: center;
}

#remote_controller .contact .tel > img {
    margin-right: 7px;
}

#remote_controller .contact .contact_wrap {
    background: #f3f7ff;
    height: 69px;
    padding: 4px;
    box-sizing: border-box;
}

#remote_controller .contact .contact_wrap div {
    height: 30px;
    display: flex;
    justify-content: center;
    align-items: center;
}

#remote_controller .contact .contact_wrap div span {
    display: inline-block;
    width: 20px;
    aspect-ratio: 1;
    margin-right: 5px;
}

#remote_controller .contact .contact_wrap div a {
    font-weight: 400;
    font-size: 15px;
}

#remote_controller .contact .contact_wrap div a:hover {
    font-weight: 700;
}

#remote_controller .header {
    /* height: 190px; */
    box-sizing: border-box;
    padding: 0 10px 15px;
}

#remote_controller .header h3 {
    line-height: 25px;
    font-size: 15px;
    font-weight: 500;
    color: #424242;
    margin: 8px 0;
    /*color: var(--color-gray);*/
}

#remote_controller .header h3 b {
    font-weight: 650;
    font-size: 18px;
    color: var(--color-dark-gray);

}

#remote_controller .header div {
    background: #ecf2ff;
    /*background: var(--color-primary);*/
    border-radius: 10px;
    padding: 5px 10px;
}

#remote_controller .header div dl {
    display: flex;
    justify-content: space-between;
    line-height: 30px;
}

#remote_controller .header div dt {
    /*color: var(--color-white);*/
    color: #424242;
    font-weight: 500;
}

#remote_controller .header div dd {
    display: inline-block;
    /*color: var(--color-secondary);*/
    font-size: 14px;
    font-weight: 400;
    color: rgba(66, 66, 66, 0.8);
}

#remote_controller .body {
    margin-top: 10px;
    padding: 5px;
    height: 117px;
    /*color: var(--color-white);*/
    font-weight: 600;
    display: flex;
    flex-wrap: wrap;
    align-content: space-around;
    justify-content: space-around;
    box-sizing: border-box;
}

#remote_controller .body div {
    margin: 3px;
    width: 95px;
    float: left;
    display: flex;
    justify-content: center;
    align-items: center;
}

#remote_controller .body div a {
    /*background: var(--color-primary);*/
    color: #424242;
    border: 1px solid #5075bf;
    padding: 6px;
    width: 100%;
    border-radius: 5px;
    transition: background-color .1s ease-in-out;
    font-size: 12px;
    display: flex;
    justify-content: space-around;
    align-items: center;
}

#remote_controller .body div a img {
    display: inline-block;
}

#remote_controller .body div a:hover {
    /*scale: 1.1;*/
    background: #5075bf;
    color: #f6f9ff;
}

#remote_controller .body div a:hover img {
    filter: invert(100%) sepia(0%) saturate(2%) hue-rotate(155deg) brightness(103%) contrast(101%);
}

/*#remote_controller .footer{*/
/*    margin-top: 10px;*/
/*    background: var(--color-primary);*/
/*}*/
/*#remote_controller .footer button{*/
/*    width: 100%;*/
/*    height: 20px;*/
/*    !*background: var(--color-primary);*!*/
/*    filter: var(--color-white-filter);*/
/*}*/

/*page section*/
#main-banner {
    position: relative;
    /* height: 700px; */
}

#main-banner img[alt=banner] {
    width: 100%;
}

#search {

    text-align: center;
    padding: 70px 0 40px;
}

#search h4 {
    font-size: 35px;
    font-weight: 650;
    margin-bottom: 30px;
    text-align: center;
    color: #558ed5;
}

#search h4 img {
    display: inline-block;
    margin-right: 10px;
}

#search .main-search {
    width: 600px;
    margin: auto;
    border-radius: 5px;
    position: relative;
    margin-bottom: 30px;
}

#search .type-container {
    display: flex;
    justify-content: space-between;
    align-content: center;
}

#search .type-container input {
    display: none;
}

#search .type-container input:first-child + label {
    border-radius: 5px 0 0 0;
}

#search .type-container label:last-child {
    border-radius: 0 5px 0 0;
}

#search .type-container label {
    background-color: #f1f1f1;
    color: var(--color-black);
    padding: 10px 20px;
    width: 100%;
    font-size: 14px;
    font-weight: 650;
    transition: all .2s ease-in-out;
    position: relative;
}

#search .type-container input:checked + label {
    background-color: #7093FF;
    color: var(--color-white);
}

#search .keyword-container {
    border: 2px solid #7093FF;
    border-radius: 0 0 5px 5px;
}
#search .keyword-container label,
#search .keyword-container input {
    width: 100%;
    border: none;
    position: relative;
}
#search .keyword-container label span {
    position: absolute;
    right: 0;
    width: 40px;
    height: 40px;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    cursor: pointer;
}

#search .keyword-container label span img {
    width: 30%;
    height: 30%;
    display: none;
}
#search .keyword-container input:not(:placeholder-shown) ~ span img{
    display: block;
}


#search #keyword-result{
    width: 1000px;
    height: 300px;
    display: flex;
    margin: auto;
    padding: 20px;
    transition: height .3s ease-in-out;
}
.main-search:has(input:placeholder-shown)+#keyword-result{
    height: 0 !important;
}
#search #keyword-result h5{
    text-align: start;
    line-height: 20px;
    color: var(--color-primary);
    margin-bottom: 8px;
}
#search #keyword-result>div{
    width: 50%;
    padding: 0 10px;
    box-sizing: border-box;
}
#search #keyword-result>div:not(:last-child){
    border-right: 1px solid var(--color-warning);
}
#search #keyword-result>div.message{
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    color: vaR(--color-primary);
}
#search #keyword-result .items{
    height: 230px;
    overflow-y: scroll;
    transition: all .3s ease-in-out;
}
#search #keyword-result .empty-message{
    height: 230px;
    font-size: 14px;
    color: var(--color-primary);
    display: flex;
    justify-content: center;
    align-items: center;
}
#search #keyword-result .items .item{
    font-size: 13px;
    background-color: #f2f9ff;
    cursor: pointer;
}
#search #keyword-result .items .item:nth-child(2n){
    background-color: #fff;
}
#search #keyword-result .items .item:hover{
    background-color: #9dbeff;
 }

#search #keyword-result .items p{
    text-indent: 10px;
    line-height: 16px;
}
#search #keyword-result .items p:nth-child(2){
    font-size: 11px;
    color: var(--color-dark-gray);
}
#main-banner .pagination {
    position: absolute;
    bottom: 10px;
    text-align: center;
    z-index: 10;
}

.swiper-pagination-bullet {
    background: rgba(255, 255, 255, 0.5);
    opacity: 1;
}

.swiper-pagination-bullet-active {
    background: #fff;
}

section.content {
    width: 1520px;
    margin: auto;
}

section#main_1 {
	padding-top: 80px;
	padding-bottom: 48px;
	text-align: center;
}
section#main_1>div{
	width: 100%;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	align-items: center;
}
section#main_1 h3 {
	font-size: 36px;
	font-weight: 700;
	line-height: 40px;
	margin-bottom: 11px;
}
section#main_1 p {
	word-break: keep-all;
	/*word-break: auto-phrase;*/
	font-size: 25px;
	display: block;
	font-weight:500;
}
section#main_1 p .blue{
	color: #2a72fe;
	font-weight: 600;
}
section#main_1 p .imgtext{
	display: inline-block;
	width: 118px;
	height: 39px;
}
section#main_1 p .imgtext img{
	position: relative;
    right: 3px;
    display: block;
    padding-top: 5px;
    margin-top: 3px;
}

section#main_2 {
    padding: 20px 0 40px;
}

section#main_2 .recommend_list {
    width: 100%;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 290px 290px 290px 290px 290px;
    grid-template-rows: 1fr 1fr;
    grid-column-gap: 10px;
    grid-row-gap: 10px;
    height: 500px;
}

section#main_2 .recommend_list .recommend_item {
    background-color: #eee;
    border-radius: 20px;
    overflow: hidden;
    position: relative;
}

section#main_2 .recommend_list .recommend_item:nth-child(1) {
    grid-row: span 2;
    grid-column-gap: 10px;
}

section#main_2 .recommend_list .recommend_item:nth-child(3) {
    grid-column: span 2;
}

section#main_2 .recommend_list .recommend_item:nth-child(4) {
    grid-row: span 2;
}

section#main_2 .recommend_list .recommend_item:nth-child(5) {
    grid-column: span 2;
}

section#main_2 .recommend_list .recommend_item img {
    height: 100%;
    width: 100%;
    object-fit: cover;
    position: absolute;
	cursor: pointer;
}

section#main_2 .recommend_list .recommend_item h3 {
    position: absolute;
    color: #f6f9ff;
    font-size: 18px;
    font-weight: 600;
    bottom: 20px;
    right: 20px;
    z-index: 5;
}

section#main_2 .recommend_list .recommend_item span {
    position: absolute;
    width: 100%;
    height: 100%;
    color: #f6f9ff;
    font-size: 18px;
    display: flex;
    justify-content: center;
    align-items: center;
    opacity: 0;
    background-color: rgba(1, 5, 14, 0.2);
    transition: opacity 0.25s linear;
    cursor: pointer;
}

section#main_2 .recommend_list .recommend_item span:hover {
    opacity: 1;
}

/*
section#main_2 .recommend_item {
    width: 100%;
    height: 100%;
}

section#main_2 .recommend_item > div {
    /*margin: 5px;*
}

section#main_2 .recommend_item .recommend_image,
section#main_2 .recommend_item .recommend_content{
    position: relative;
    height: 50%;
    box-sizing: border-box;
    padding: 5px;
}

section#main_2 .recommend_item .recommend_image.full {
    height: 100%;
    /*margin: 10px 5px;*
}

section#main_2 .recommend_item .recommend_image img,
section#main_2 .recommend_item .recommend_content .content{
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 25px;
}
section#main_2 .recommend_item .recommend_content .content{
    box-sizing: border-box;
    padding: 10px;
}

section#main_2 .recommend_item .recommend_image h5 {
    position: absolute;
    right: 22px;
    bottom: 22px;
    font-size: 18px;
    font-weight: 600;
    color: #f6f9ff;
    text-shadow: -1px 1px 4px rgba(0,0,0,0.3);
}

/*section#main_2 .recommend_item .recommend_content {*/
/*    height: 50%;*/
/*}*/
/*section#main_2 .recommend_item .recommend_content .content{*/
/*    width: 100%;*/
/*    height: 100%;*/
/*    border-radius: 10px;*/
/*    !*padding: 20px;*!*/
/*    !*box-sizing: border-box;*!*/
/*    box-sizing: border-box;*/
/*    padding: 5px;*/
/*}*
section#main_2 .recommend_item .recommend_content h4 {

    font-size: 12px;
    font-weight: 700;
}

section#main_2 .recommend_item .recommend_content span {
    /*color: #fff;*
    font-size: 10px;
    font-weight: 300;
}

section#main_2 .recommend_item .recommend_content p {
    font-size: 12px;
    font-weight: 250;
    margin-top: 16px;
    line-height: 18px;
}
section#main_2 .recommend_item>div{
    position: relative;
}
section#main_2 .recommend_item a{
    position: absolute;
    left: 10px;
    bottom: 10px;
    background: rgba(0,0,0,0.3);
    padding: 5px 10px;
    color: var(--color-white);
    border-radius: 20px;
    font-size: 12px;
    font-weight: 300;
}
/*
section#main_3{
    height: 250px;
}
section#main_3 .advertisement-list {
    width: 100%;
    height: 100%;
    position: relative;
    overflow: hidden;
}

section#main_3 .pagination {
    position: absolute;
    bottom: 10px;
    text-align: center;
    z-index: 10;
}

section#main_3 .swiper-slide img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}


section#main_4 {
    padding: 40px 0;
    background: #eef4ff;
    display: flex;
    justify-content: center;
}

section#main_4 dl {
    width: 100%;
    margin: 0 50px;
}

section#main_4 dt {
    border-bottom: 1px solid #000;
    font-size: 20px;
    font-weight: 650;
    line-height: 32px;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

section#main_4 dt a {
    font-size: 32px;
    font-weight: 500;
    color: var(--color-primary);
}

section#main_4 dt,
section#main_4 dd {
    padding: 0 5px;
}

section#main_4 dd {
    margin-top: 16px;
}
*/

section#main_5 {
    padding: 80px 0;
}

section#main_5 h3 {
    font-size: 25px;
    font-weight: 700;
    line-height: 35px;
    margin-bottom: 30px;
}

section#main_5 .card-list {
    display: flex;
    justify-content: space-around;
}

section#main_5 .card {
    border: 1px solid #5075bf;
    padding: 30px;
    position: relative;
    width: 285px;
    height: 200px;
    border-radius: 20px;
    margin: 0 3px;
    overflow: hidden;
}

section#main_5 .card div {
    display: flex;
    justify-content: space-between;
    align-items: end;
    margin-bottom: 16px;
}

section#main_5 .card h4 {
    font-size: 18px;
    font-weight: 700;
}

section#main_5 .card img {
    width: 30%;
    position: absolute;
    bottom: 6px;
    right: 11px;
}

section#main_5 .card-list div:nth-child(5) img {
    width: 22%;
}

section#main_5 .card-list div:nth-child(3) img {
    right: 9px;
}

section#main_5 .card span {
    font-size: 16px;
    line-height: 26px;
}


@keyframes rotate {
    from {
        -webkit-transform: rotate(0deg);
        -o-transform: rotate(0deg);
        transform: rotate(0deg);
    }
    to {
        -webkit-transform: rotate(360deg);
        -o-transform: rotate(360deg);
        transform: rotate(360deg);
    }
}

@keyframes scaleAnimation {
    0% {
        scale: 1;
    }
    25% {
        scale: 0.7;
    }
    50% {
        scale: 1;
    }
    75% {
        scale: 1.3;
    }
    100% {
        scale: 1;
    }
}

@keyframes scaleZeroAnimation {
    0% {
        scale: 1;
    }
    50% {
        scale: 0.1;
    }
    100% {
        scale: 1;
    }
}

body.loading #loading {
    display: block;
}

#loading {
    display: none;
    position: fixed;
    left: 0;
    top: 0;
    width: 100vw;
    height: 100vh;
    background: rgba(0, 0, 0, 0.2);
    z-index: 99999;
}

#loading > div {
    display: flex;
    width: 100%;
    height: 100%;
    justify-content: center;
    align-items: center;
}

#loading > div > img {
    width: 50px;
    height: 50px;
    animation: rotate 2s infinite;
    filter: var(--color-primary-filter);
}


input[type=checkbox][role=switch] {
    appearance: none;
    position: relative;
    width: 35px;
    height: 20px;
    cursor: pointer;
    background: rgba(42, 114, 254, 0.25);
    border-radius: 10px;
}

input[type=checkbox][role=switch]:checked {
    background-color: var(--color-primary);
}

input[type=checkbox][role=switch]::before {
    content: "";
    position: absolute;
    left: 2px;
    top: 2px;
    width: 16px;
    height: 16px;
    background-color: var(--color-white);
    border-radius: 8px;
    transition: left .1s linear 0s;
}

input[type=checkbox][role=switch]:checked::before {
    left: 17px;
}

#popup_main {
    font-family: "Noto Sans KR";
    width: 95%;
    margin: 30px auto;
}

#popup_main .popup_table table {
    width: 880px;
    border-collapse: collapse;
    border: 1px solid #f4f4f4;
    font-size: 15px;
    border-radius: 10px;
    margin: 0 auto;
}

#popup_main .popup_table caption {
    font-size: 20px;
    font-weight: 600;
    margin-bottom: 50px;
    text-align: left;
}

#popup_main .popup_table table th, #popup_main .popup_table table td {
    height: 60px;
    border-top: 1px solid #f4f4f4;
    border-bottom: 1px solid #f4f4f4;
    vertical-align: middle;
    box-sizing: border-box;
}

#popup_main .popup_table table th {
    width: 130px;
    background-color: rgba(42, 114, 254, 0.05);
    font-weight: 600;
    color: #4a4949;
}

#popup_main .popup_table table td {
    width: 310px;
    padding-left: 20px;
}

.popup_table ul li {
    margin-bottom: 7px;
}

#popup_main .popup_table table td dl {
    display: flex;
    flex-direction: row;
    align-items: center;
}

#popup_main .popup_table table td dt {
    width: 20px;
    margin-right: 5px;
}

#popup_main .popup_table table td dd {
    margin-right: 10px;
}

.popup_table .bolder {
    font-weight: 600;
    font-size: 17px;
}

.popup_table .text_center {
    text-align: center;
}

.popup_table .text_boxborder {
    font-size: 13px;
    color: #2a72fe;
    border: 2px solid #2a72fe;
    padding: 0 3px;
    border-radius: 1px;
    margin-left: 3px;
}

.popup_table tbody tr:first-child {
    text-align: center;
}

.popup_table .text_color {
    color: orange;
}

.popup_table .text_box {
    padding: 1px 5px;
    background-color: #2a72fe;
    font-size: 13px;
    color: #fff;
    margin-right: 3px;
    border-radius: 1px;
}


#coupon_registerLink {
	padding: 10px 20px;
	font-size: 16px;
	cursor: pointer;
	text-decoration: none;
	color: blue;
}

/* 모달 배경 */
.modal-overlay {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(0, 0, 0, 0.5);
	display: flex;
	justify-content: center;
	align-items: center;
	z-index: 1000;
	display: none;
}

/* 모달 창 */
.modal {
	background: white;
	padding: 20px;
	border-radius: 8px;
	width: 90%;
	max-width: 430px;
	text-align: center;
	box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
	position: relative;
}

/* 모달 창 제목 */
.modal-title {
	font-size: 1.4em;
	margin-bottom: 10px;
}

/* 모달 창 내용 */
.modal-content {
	margin-bottom: 20px;
}

/* 모달 창 확인 버튼 */
.modal-button {
	background-color: #2572fa;
	color: white;
	padding: 10px 20px;
	border: none;
	border-radius: 5px;
	cursor: pointer;
	width: 100%;
	max-width: 170px;
	margin: 0 auto;
}

.coupon_close {
	position: absolute;
	top: 10px;
	right: 10px;
	width: 19px;
	height: 24px;
	cursor: pointer;
}

.coupon_input-group {
	display: flex;
	justify-content: center;
	align-items: center;
	margin: 20px 0;
}

.coupon_input-group input {
	width: 70px;
	height: 35px;
	padding: 5px;
	text-align: center;
	border-radius: 5px;
}

.coupon_input-group span {
	display: flex;
	align-items: center;
	font-size: 1.3em;
	margin: 0 10px;
}

#coupon_info {
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column; /* 필요한 경우 */
	margin-bottom: 5px;
	margin-top: -5px;
}





/* 모달 배경 */
.liste_modal-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.5);
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 1000;
    display: none;
}

/* 모달 창 */
.liste_modal {
    background: white;
    padding: 10px;
    border-radius: 8px;
    width: 300px;
    text-align: center;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
    position: relative;
}

/* 모달 상단 헤더 */
.liste_modal-header {
    position: relative;
    height: 30px; /* 닫기 버튼이 들어갈 공간 확보 */
    margin-bottom: 10px; /* 헤더와 테이블 사이 간격 추가 */
    display: flex;
    justify-content: space-between;
    align-items: center;
}

/* 모달 제목 */
.liste_modal-title {
    font-size: 16px;
    font-weight: bold;
    margin-left: 10px;
}

/* 닫기 버튼 */
.liste_modal-close {
    width: 20px;
    height: 20px;
    cursor: pointer;
    margin-right: 3px;
}

/* 테이블이 들어가는 div */
.liste_modal-table-wrapper {
    max-height: 200px; /* 4~5개 정도의 항목이 들어갈 높이 */
    overflow-y: auto;  /* 내용이 많을 때만 스크롤 */
}

/* 테이블 스타일 */
.liste_modal-table {
    width: 100%;
    border-collapse: collapse;
}

.liste_modal-table th, .liste_modal-table td {
    padding: 8px 12px;
    text-align: left;
    border-bottom: 1px solid #ddd;
    font-size: 14px;
}

.liste_modal-table th {
    font-weight: bold;
}

.liste_modal-table tr:nth-child(even) {
    background-color: #f2f2f2;
}

/* 스크롤바 */
.liste_modal-scroll-bar {
    width: 10px;  /* 스크롤바의 너비 줄임 */
    background-color: #f0f0f0;
    position: absolute;
    right: 0; /* 모달의 오른쪽에 딱 붙게 설정 */
    top: 30px; /* 스크롤바가 닫기 버튼과 겹치지 않도록 설정 */
    height: calc(100% - 30px); /* 테이블 높이에 맞게 조정 */
    border-radius: 5px; /* 스크롤바의 둥글기를 줄임 */
    overflow: hidden;
    display: none; /* 기본적으로 스크롤바는 표시되지 않음 */
}

.liste_modal-scroll-thumb {
    width: 100%;
    height: 20%; /* 데이터 양에 맞춰 크기를 변경 */
    background-color: #2572fa;
    border-radius: 5px; /* 스크롤 thumb의 둥글기 줄임 */
    transition: height 0.3s ease;
}

/* 스크롤바가 필요한 경우에만 표시 */
.liste_modal-table-wrapper.liste_modal-scroll-active .liste_modal-scroll-bar {
    display: block;
}

.main_setting {
    width: 25px;
    filter: invert(33%) sepia(93%) saturate(1500%) hue-rotate(186deg) brightness(100%) contrast(85%);
    cursor: pointer;
    transition: transform 0.2s ease, filter 0.2s ease; /* 애니메이션 효과 추가 */
}

.main_setting:hover {
    transform: scale(1.1); /* 살짝 커지는 효과 */
    filter: invert(33%) sepia(93%) saturate(1800%) hue-rotate(186deg) brightness(110%) contrast(100%);
    /* 색상을 좀 더 짙게 변경 */
}
