﻿html, body {
    height: 100%;
}

body {
    margin-bottom: 60px;
}

fieldset {
    display: block !important;
    margin-left: 2px !important;
    margin-right: 2px !important;
    padding-top: 0.35em !important;
    padding-bottom: 0.625em !important;
    padding-left: 0.75em !important;
    padding-right: 0.75em !important;
    border: 2px groove (internal value) !important;
}

legend {
    display: block !important;
    padding-left: 2px !important;
    padding-right: 2px !important;
    border: none !important;
}

.shake {
    animation: shake 0.3s;
    animation-timing-function: ease-in-out;
}

.init {
    animation: scaleAnimation 0.2s ease-out forwards;
}

.init-10 {
    animation: scaleAnimation10 0.15s ease-in-out forwards;
}

.init-component {
    animation: scaleAnimationSmall 0.15s ease-out forwards;
}

@keyframes shake {
    0% {
        transform: translateX(0);
    }

    25% {
        transform: translateX(-10px);
    }

    50% {
        transform: translateX(10px);
    }

    75% {
        transform: translateX(-10px);
    }

    100% {
        transform: translateX(0);
    }
}

@keyframes scaleAnimation {
    0% {
        transform: translateY(-50px);
    }

    100% {
        transform: translateY(0);
    }
}

@keyframes scaleAnimation10 {
    0% {
        transform: translateY(-1rem);
    }

    100% {
        transform: translateY(0);
    }
}

@keyframes scaleAnimationSmall {
    0% {
        transform: translateY(-5px);
    }

    100% {
        transform: translateY(0);
    }
}

.menu details ul li a {
    white-space: nowrap;
}

details[open] > summary::before {
    content: ' ';
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 99;
    display: block;
    cursor: default;
    background: transparent;
}

details[open] > summary + * {
    z-index: 100;
}

.spinner {
    display: none !important;
}

.hydro-request .spinner {
    display: inline-block !important;
}

.hydro-request .hide-on-request {
    display: none;
}

.input-error {
    border: 1px solid red !important;
}

.input-validation-error {
    border: 1px solid red !important;
}

textarea {
    outline-width: 0px;
}

input {
    outline-width: 0px;
}

    input[type=number] {
        padding-left: 1px;
        padding-right: 4px;
        padding-top: 1px;
        padding-bottom: 1px;
        direction: rtl;
    }

    input[type="number"]::-webkit-inner-spin-button,
    input[type="number"]::-webkit-outer-spin-button {
        opacity: 1; /* 완전히 불투명 */
        padding: 3px;
    }

/*[type=submit] {
    background-color: oklch(var(--btn-color, var(--b2)) / var(--tw-bg-opacity)) !important;
}*/

[x-cloak] {
    display: none !important;
}

.icon {
    display: inline-block
}

    .icon.icon-location-right {
        background: url(/img/icon/icon-location-arrow-right.gif) center center no-repeat;
        width: 6px;
        height: 11px;
    }

    .icon.icon-home {
        background: url(/img/icon/icon-home.png) no-repeat;
        width: 17px;
        height: 15px;
    }

    .icon.icon-delete {
        background: url(/img/icon/icon-delete.gif);
        width: 16px;
        height: 23px
    }

    .icon.icon-cart-tit {
        background: url(/img/icon/icon-cart-tit.gif) center center no-repeat;
        width: 32px;
        height: 30px
    }

    .icon.icon-all-category {
        background: url(/img/icon/icon-all-category.gif) center center no-repeat;
        width: 32px;
        height: 30px
    }

    .icon.icon-important {
        -webkit-appearance: none;
        -moz-appearance: none;
        appearance: none;
        background: no-repeat;
        background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='gray' class='size-5'%3E%3Cpath fill-rule='evenodd' d='M10 18a8 8 0 1 0 0-16 8 8 0 0 0 0 16Zm3.857-9.809a.75.75 0 0 0-1.214-.882l-3.483 4.79-1.88-1.88a.75.75 0 1 0-1.06 1.061l2.5 2.5a.75.75 0 0 0 1.137-.089l4-5.5Z' clip-rule='evenodd' /%3E%3C/svg%3E%0A");
        background-position: center;
    }

.quickgrid[Theme=basic] {
    border-collapse: collapse;
    width: 100%;
}

    .quickgrid[Theme=basic] .col-title-text {
        text-transform: uppercase;
        text-align: center;
    }

    .quickgrid[Theme=basic] thead tr th {
        border: 1px solid #CCCCCC;
        padding-left: 0.75rem;
        padding-right: 0.75rem;
        padding-top: 0.5rem;
        padding-bottom: 0.5rem;
        background-color: #EDEDED;
        border-top: 2px solid #333333 !important;
    }

    .quickgrid[Theme=basic] tbody tr td {
        border: 1px solid #CCCCCC;
        padding-left: 0.75rem;
        padding-right: 0.75rem;
        padding-top: 0.25rem;
        padding-bottom: 0.25rem;
        height: 31px;
    }

    .quickgrid[Theme=basic] tbody tr:hover {
        background-color: #ddf0ff;
        outline: 1px solid #00a2e8;
        outline-offset: 0px;
        border-bottom: 1px solid #00a2e8;
    }

        .quickgrid[Theme=basic] tbody tr:hover td {
            border-bottom: 1px solid #ddf0ff;
        }

.quickgrid[Theme=front] {
    border-collapse: collapse;
    width: 100%;
}

    .quickgrid[Theme=front] .col-title-text {
        text-transform: uppercase;
        text-align: center;
    }

/*    .quickgrid[Theme=front] tbody > tr {
        border-top: 1px solid red;
        border-bottom: 1px solid blue;
    }*/

    .quickgrid[Theme=front] thead > tr > th {
/*        border: 10px solid #CCCCCC;*/
        padding-left: 0.75rem;
        padding-right: 0.75rem;
        padding-top: 0.75rem;
        padding-bottom: 0.75rem;
        background-color: #F9FAFC;
        border-top: 2px solid #333333 !important;
        border-bottom: 1px solid #333333 !important;
    }

    .quickgrid[Theme=front] tbody > tr > td {
        padding-left: 0.75rem;
        padding-right: 0.75rem;
        padding-top: 0.5rem;
        padding-bottom: 0.5rem;
        border-bottom: 1px solid #E9E9E9;
        position: relative;
    }

    .quickgrid[Theme=front] tbody > tr:hover > td {
        border-bottom: 1px solid #00a2e8;
    }

        .quickgrid[Theme=front] tbody > tr:not(:first-child):hover > td::before {
            content: '';
            position: absolute;
            left: 0;
            right: 0;
            top: -1px;
            height: 1px;
            background: #00a2e8;
            pointer-events: none; /* 클릭 방해 X */
        }

    .quickgrid[Theme=front] tbody > tr:hover {
        background-color: #ddf0ff;
    }

table[Theme=basic] {
    border-top: 1px solid #cccccc;
    border-bottom: 1px solid #cccccc;
}

    table[Theme=basic] tbody tr:not(:last-child) td {
        border-bottom: 1px solid #e5e7eb;
    }

    table[Theme=basic] tr td:first-child {
        padding-left: 1.25rem !important;
    }

    table[Theme=basic] tbody tr td {
        padding: 0.5rem;
    }

    table[Theme=basic] tbody td input {
        padding-left: 0.5rem;
        padding-right: 0.5rem;
        padding-top: 0.25rem;
        padding-bottom: 0.25rem;
        border: 1px solid #e5e7eb;
        border-top-left-radius: 0.25rem;
        border-top-right-radius: 0.25rem;
        border-bottom-right-radius: 0.25rem;
        border-bottom-left-radius: 0.25rem;
    }

table[Theme=QnaList] tr {
    border-bottom: 1px solid #e5e7eb; /* 기본적으로 어떤 색상으로 사용할지 모르니 임의로 검정색으로 지정 */
}

    table[Theme=QnaList] tr:first-child {
        border-top: 1px solid #989ba2;
        border-bottom: 1px solid #989ba2;
    }

    table[Theme=QnaList] tr:last-child {
        border-bottom: 1px solid #989ba2;
    }

    table[Theme=QnaList] tr th {
        height: 28px;
        padding-top: 12px;
        padding-bottom: 12px;
        padding-left: 5px;
        padding-right: 5px;
        font-weight: normal;
    }

    table[Theme=QnaList] tr td {
        height: 28px;
        padding-top: 12px;
        padding-bottom: 12px;
        padding-left: 5px;
        padding-right: 5px;
        text-align: center;
    }

    table[Theme=QnaList] tr:first-child th {
        background-color: #f7f7f8;
    }

table[Theme=QnaWriteFrm] tr td input[type=text],
table[Theme=QnaWriteFrm] tr td input[type=email] {
    border: 1px solid #bec0c3;
    width: 100%;
    font-size: 13px;
    height: 28px;
    padding-top: 10px;
    padding-bottom: 10px;
    padding-left: 5px;
    padding-right: 5px;
}

table[Theme=QnaWriteFrm] tr td select {
    border: 1px solid #bec0c3;
    width: 100%;
    font-size: 13px;
    padding-top: 5px;
    padding-bottom: 5px;
    padding-left: 10px;
    padding-right: 10px;
}

table[Theme=QnaWriteFrm] tr td textarea {
    border: 1px solid #bec0c3;
    width: 100%;
    height: 250px;
    padding: 5px;
}

table[Theme=QnaWriteFrm] tr {
    border-bottom: 1px solid #e5e7eb; /* 기본 테두리 색상은 필요에 따라 변경 */
}

    table[Theme=QnaWriteFrm] tr:first-child {
        border-top: 1px solid #989ba2;
    }

    table[Theme=QnaWriteFrm] tr:last-child {
        border-bottom: 1px solid #989ba2;
    }

    table[Theme=QnaWriteFrm] tr td:first-child {
        height: 28px;
        padding-top: 12px;
        padding-bottom: 12px;
        padding-left: 5px;
        padding-right: 5px;
        text-align: center;
        background-color: #f7f7f8;
    }

    table[Theme=QnaWriteFrm] tr td {
        height: 28px;
        padding-top: 12px;
        padding-bottom: 12px;
        padding-left: 15px;
        text-align: left;
    }

table[Theme=QnaReadFrm] tr {
    border-bottom: 1px solid #e5e7eb; /* 기본 테두리 색상은 필요에 따라 변경 */
}

    table[Theme=QnaReadFrm] tr:first-child {
        border-top: 1px solid #989ba2;
    }

    table[Theme=QnaReadFrm] tr:last-child {
        border-bottom: 1px solid #989ba2;
    }

    table[Theme=QnaReadFrm] tr th {
        height: 28px;
        padding-top: 12px;
        padding-bottom: 12px;
        padding-left: 5px;
        padding-right: 5px;
        font-weight: normal;
    }

    table[Theme=QnaReadFrm] tr td {
        height: 28px;
        padding-top: 12px;
        padding-bottom: 12px;
        padding-left: 10px;
        padding-right: 10px;
    }

        table[Theme=QnaReadFrm] tr td:first-child {
            background-color: #f7f7f8;
            text-align: center;
        }



@media print {
    .overflow-y-auto {
        overflow: visible;
        height: auto;
    }

    table {
        page-break-inside: auto
    }

    tr {
        page-break-inside: avoid;
        page-break-after: auto
    }

    .estimate-footer {
        display: none
    }

    @page {
        size: auto;
        margin: 10mm 10mm 10mm 10mm;
    }
}

.btn_naver:before {
    display: inline-block;
    width: 16px;
    height: 16px;
    margin-right: 6px;
    margin-bottom: -2px;
    background-image: url("data:image/svg+xml, %3Csvg width='16' height='16' viewBox='0 0 16 16' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cdefs%3E%3Cpath id='a' d='M0 0h16v16H0z'/%3E%3C/defs%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cmask id='b' fill='%23fff'%3E%3Cuse xlink:href='%23a'/%3E%3C/mask%3E%3Cpath fill='%23FFF' mask='url(%23b)' d='M10.314 1.55v6.9l-4.819-6.9H1.5v12.89h4.186V7.542l4.819 6.9H14.5V1.55z'/%3E%3C/g%3E%3C/svg%3E");
    background-size: 100%;
    content: ''
}

.btn_kakao:before {
    display: inline-block;
    width: 16px;
    height: 16px;
    margin-right: 6px;
    margin-bottom: -2px;
    background-image: url("data:image/svg+xml, %3Csvg width='16' height='16' viewBox='0 0 16 16' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cdefs%3E%3Cpath id='a' d='M0 0h16v16H0z'/%3E%3C/defs%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cmask id='b' fill='%23fff'%3E%3Cuse xlink:href='%23a'/%3E%3C/mask%3E%3Cpath d='M8 1C3.582 1 0 3.873 0 7.416c0 2.278 1.481 4.279 3.713 5.417l-.754 2.86a.235.235 0 0 0 .055.239.227.227 0 0 0 .304.018l3.244-2.222c.466.068.947.103 1.438.103 4.418 0 8-2.872 8-6.415S12.418 1 8 1' fill='rgb%2851%2C51%2C51%29' mask='url(%23b)'/%3E%3C/g%3E%3C/svg%3E");
    background-size: 100%;
    content: ''
}

.btn_google:before {
    display: inline-block;
    width: 16px;
    height: 16px;
    margin-right: 6px;
    margin-bottom: -2px;
    background-image: url("/img/icon/icon-google.svg");
    background-size: 100%;
    content: ''
}

.btn_naver_join:before {
    display: inline-block;
    width: 20px;
    height: 20px;
    margin-right: 6px;
    margin-bottom: -4px;
    background-image: url("/img/icon/icon-naver.png");
    background-size: 100%;
    content: ''
}

.btn_kakao_join:before {
    display: inline-block;
    width: 20px;
    height: 20px;
    margin-right: 6px;
    margin-bottom: -4px;
    background-image: url("/img/icon/icon-kakao.png");
    background-size: 100%;
    content: ''
}

#page-loading {
    display: none;
    position: absolute;
    left: 0;
    top: 0;
    width: 0;
    height: 2px;
    background: red;
    z-index: 100;
    animation: loadPage 5s forwards ease-out;
    animation-delay: 0.1s;
}

.hydro-loading #page-loading {
    display: block;
}

@keyframes loadPage {
    0% {
        width: 0;
    }

    100% {
        width: 100%;
    }
}