@charset "utf-8";
<!--
#logoanimet {width: 100%;position: absolute;}
#logoanimet img {height:80px;margin:0 auto;}
#openleaf {width:1px;height:1px;margin:0;display: none;position: absolute;background:#DDD23B;border-radius:0 0 90% 0;}
#openleaf2 {width: 100%;height:100vh;position: absolute;background:#FFF;display: flex;justify-content: center; align-items: center; }
#loading {margin:0 auto;opacity:0;}

/* CSS Resets and common Styles Starts */
body,ul,ol,input { margin:0; padding:0;overflow-x: hidden;}
table, tbody, tfoot, thead, tr, th, td { margin: 0; padding: 0;font-weight: bold;}
hr{margin-top: 10px;border:0.5px solid #eee;}
body{font-family: "Noto Sans TC Thin Thin","微軟正黑體",Helvetica,Arial,sans-serif;line-height: 1.6;-webkit-text-size-adjust: 100%;
    text-size-adjust: 100%;}
img {border: 0;}
a { text-decoration:none;}
a:hover {text-decoration:none;}
table { border-spacing:0; }
fieldset,img { border:0;display:block; }
ul {list-style:none;padding: 3px;}
li{margin-bottom: 5px;}
.center {text-align:center;}
.left{text-align: left;}
.right{text-align: right;}
h2{font-size: 20px;color: #698d79;font-family: "Noto Sans TC Medium Medium","微軟正黑體",Helvetica,Arial,sans-serif;font-weight: 700;}
h3{font-size: 18px;	color: #90B44B;font-family: "Noto Sans TC Medium Medium","微軟正黑體",Helvetica,Arial,sans-serif;font-weight: 700;}
h4{font-size: 14px;	color: #434343;font-family: "Noto Sans TC Thin Thin","微軟正黑體",Helvetica,Arial,sans-serif;font-weight: 700;}
h5{font-size: 14px;	color: #90B44B;font-family: "Noto Sans TC Thin Thin","微軟正黑體",Helvetica,Arial,sans-serif;font-weight: 700;}
h6{font-size: 14px;	color: #ff5039;font-family: "Noto Sans TC Thin Thin","微軟正黑體",Helvetica,Arial,sans-serif;font-weight: 700;}
/* CSS Resets and common Styles Ends */

/*CSS all*/
#showindex {width:100%;height:100%;position: fixed;}
.summoncat{opacity:0;} /*召喚貓貓淡入*/
.text_content{padding: 30px 100px;}
.top30_text{margin: 30px 0px 10px  0px ;}
.top5_text{margin-top: 5px;}
.top10_text{margin-top: 10px;}
.top15_text{margin-top: 15px;}
.top20_text{margin-top: 20px;}
.padding10{padding:10px}
.padding30{padding:30px}
.padding-top30{padding-top:30px;}
.whiteframe{background-color: rgba(255,255,255,1);border-radius: 12px;padding: 20px;margin: 10px 0px;
    -webkit-filter: drop-shadow(00 2px 10px rgba(0,0,0,0.5));
    filter: drop-shadow(0 2px 10px rgba(0,0,0,0.5))}
.blackframe{background-color: rgba(0,0,0,0.7);border-radius: 5px;}
.img_radius{border-radius: 5px;-webkit-filter: drop-shadow(0px 0px 3px rgba(0, 0, 0, 0.5));
    filter: drop-shadow(0px 0px 3px rgba(0, 0, 0, 0.5))}
.cursor-pointer {cursor: pointer}
.text-W{color:#FFF}
.the-radius{border-radius:10px;width: 500px;height: 600px;overflow:auto;}
/*CSS all*/

/*--Nav Bar--*/
.navbg{background-color: rgba(0, 0, 0,0.7);}
.navbar-nav{margin-top: 5px;font-weight: 200;line-height: 40px;float: right;height: 60px;overflow: hidden;}
.navbar-nav li{margin-right: 26px;}
.navbar-nav a{text-decoration: none;color: #fff;text-align: center;}
.navbar-nav a:hover{color: #ccff6e;transition: 0.4s;background-color: rgba(0,0,0,0.3);border-radius: 5px;}
.navbar-brand:hover{color: #ccff6e;transition: 0.4s;background-color: rgba(0,0,0,0.3);border-radius: 5px;}
.navdule{font-size: 12px;color: #ffc595;font-family: "Noto Sans TC Medium Medium","微軟正黑體",Helvetica,Arial,sans-serif;margin-top: -20px;}

/*--footer--*/
.footerbg{background-color: rgb(68, 58, 56);color: rgba(255,255,255,0.8);}
.social-links{font-size: 15px;}
.social-links li{display: block;margin-top: 5px;}
.social-links li a{text-decoration: none;color:rgb(255, 255, 255,0.8);}
.social-links li a:hover{text-decoration: none;color: #ccff6e;}

.logo-facebook,
.logo-pinterest,
.logo-instagram,
.logo-chrome{margin: 8px;transition: color 0.4s;}

.logo-facebook:hover,
.logo-pinterest:hover,
.logo-instagram:hover,
.logo-chrome:hover{color: #d3a77f;}

.icon-box{display: block;text-align: left;}
.copyrights{background-color: rgb(46, 38, 38);}
.copyrights a,
.copyrights p{margin: 0 10px;line-height: 50px;font-size: 14px;text-decoration: none;color: rgba(255,255,255,0.4);}
.footernav{float: right;}
.messenger{padding: 30px;}
.messenger h5{padding-bottom: 10px;}


.indexbg{background-color: rgba(0, 0, 0, 1);height: 100vh;background-size:cover;
        background-position:top center;background-repeat: no-repeat;margin-top: 0px;
        position: relative;overflow: hidden;display: flex;}
.img-responsive{display: block;	height: auto;}
.img-responsive:hover{transform: scale(0.85);transition:0.4s}
.bth_works{position: absolute;margin-top: 470px;margin-left: 80px;z-index: 2;}
.bth_pv{position: absolute;margin-top: 300px;margin-left: 1500px;z-index: 2;}
.indexbg video{position: absolute; width: 100%; height: 100%; top:0; left:0; object-fit: cover; opacity: 0.8;z-index: 1;}
.schedule1{font-size: 35px;color: #fff;text-decoration: blink;font-family: "Noto Sans TC Medium Medium","微軟正黑體",Helvetica,Arial,sans-serif;font-weight: bolder;margin-top: -25px;}
.schedule2{font-size: 20px;color: #fff;text-decoration: blink;font-family: "Noto Sans TC Medium Medium","微軟正黑體",Helvetica,Arial,sans-serif;font-weight: bolder;margin-top: 20px;}
.schedule3{font-size: 16px;color: #fff;text-decoration: blink;font-family: "Noto Sans TC Medium Medium","微軟正黑體",Helvetica,Arial,sans-serif;font-weight: bolder;margin-top: -20px;}
.txtstroke{text-shadow: 0px 0px 3px #000000;}

/*news*/
#news{height: 40vh;background-color: rgba(37, 28, 28, 0.4); background-blend-mode: multiply;background-image: url(thbk.jpg);background-attachment: fixed;}
.bth_project{padding-top: 50px;justify-content: center;align-items:center;}
.AT{float: left;width: 200px;}
.BT{float: left;width: 500px;padding-left: 30px;}

/*news_pic*/
* {margin: 0;padding: 0;box-sizing: border-box;
        }
.marquee-viewport {width: 100%;position: relative;overflow: hidden;background: #111;display: flex;align-items: center;justify-content: center;
                   height: 50vh;}
.marquee-wrapper {display: flex;flex-direction: column;gap: 25px;transform: rotate(-12deg) scale(1.4); width: 160%;}
.marquee-row {display: flex;white-space: nowrap;will-change: transform;}
.marquee-row img {width: 320px;height: 180px;object-fit: cover;margin: 0 12px;border-radius: 15px;box-shadow: 0 10px 30px rgba(0,0,0,0.5);
            transition: transform 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);}
/*news_pic- anim*/
@keyframes scrollLeft {0% { transform: translateX(0); } 100% { transform: translateX(-50%); }}
@keyframes scrollRight { 0% { transform: translateX(-50%); } 100% { transform: translateX(0); }}
.dir-left { animation: scrollLeft 40s linear infinite; }
.dir-right { animation: scrollRight 45s linear infinite; }
.marquee-row:hover {animation-play-state: paused;cursor: pointer;}
.marquee-row img:hover {transform: scale(1.1) translateY(-5px); filter: brightness(1.1); z-index: 10;}

/*carte*/
.my-card-layout-wrapper {display: flex;justify-content: center;}
.my-card-layout {width: 100%;max-width: 850px;background: white;padding: 25px;border-radius: 12px;
        box-shadow: 0 2px 10px rgba(0,0,0,0.5);box-sizing: border-box;}
.my-card-layout * {box-sizing: border-box;}
.my-card-layout .banner {width: 100%;height: auto;border-radius: 8px;margin-bottom: 25px;display: block;}
.my-card-layout .email-section {font-size: 2rem;font-weight: 700;color: #698d79;margin-bottom: 25px;padding-bottom: 15px;
        border-bottom: 2px solid #eaecef;letter-spacing: 0.5px;text-align: left;}
.my-card-layout .button-grid {display: grid;grid-template-columns: repeat(8, 1fr);gap: 15px;}
.my-card-layout .social-icon-btn {display: flex;justify-content: center;align-items: center;
        aspect-ratio: 1 / 1;border-radius: 10px;cursor: pointer;transition: all 0.2s ease-in-out;
        text-decoration: none;color: white;box-shadow: 0 2px 4px rgba(0,0,0,0.1);}
.my-card-layout .social-icon-btn:hover {transform: translateY(-3px);box-shadow: 0 5px 10px rgba(0,0,0,0.15);}
.my-card-layout .social-icon-btn iconify-icon {font-size: 2.2rem;}

    .my-card-layout .btn-pixiv { background-color: #0096f2; font-size: 1.3rem; color: #fff;font-weight: 700;}
    .my-card-layout .btn-fanbox { background-color: #ffc118; font-size: 1.3rem; color: #fff;font-weight: 700;}
    .my-card-layout .btn-twitter { background-color: #000; }
    .my-card-layout .btn-bluesky { background-color: #0085ff; }
    .my-card-layout .btn-instagram { background: linear-gradient(45deg, #f09433 0%, #e6683c 25%, #dc2743 50%, #cc2366 75%, #bc1888 100%); }
    .my-card-layout .btn-twitch { background-color: #9146ff; }
    .my-card-layout .btn-youtube { background-color: #ff0000; }
    .my-card-layout .btn-gamer { background-color: #009CAD; font-size: 1.3rem; color: #fff;font-weight: 700;}

     @media (max-width: 700px) {
        .my-card-layout .button-grid {grid-template-columns: repeat(4, 1fr);gap: 12px;}
        .my-card-layout .social-icon-btn iconify-icon {font-size: 1rem;}
        .my-card-layout .email-section {font-size: 1.2rem;}
        .my-card-layout .btn-pixiv { font-size: 1rem;}
        .my-card-layout .btn-fanbox { font-size: 1rem;}
        .my-card-layout .btn-gamer { font-size: 1rem;}
    }

/*commission*/
#commission {background-image: url('greek-vase.png');background-position: top center;
    background-attachment: fixed;font-family: "Noto Sans TC", "微軟正黑體", sans-serif;
    line-height: 1.6;color: #444;padding: 20px;}
#commission .spacer_60 { height: 60px; }
#commission .spacer_80 { height: 80px; }
#commission .whiteframe {background: rgba(255, 255, 255, 0.95);
    max-width: 900px;margin: 0 auto;padding: 40px;
    border-radius: 8px;box-shadow: 0 4px 15px rgba(0,0,0,0.1);}

#commission h2 {color: #5b854a;border-bottom: 2px solid #9bc989;
    padding-bottom: 10px;margin-top: 30px;}
#commission .highlight_notice {color: #ff5039;font-weight: bold;background: #fff5f4;
    padding: 15px;border-left: 4px solid #ff5039;}
#commission .sub_text {color: #666;font-weight: normal; font-size: 0.9em;}
#commission ul {list-style: none;padding-left: 0;}
#commission li {margin-bottom: 12px;text-align: justify;}
#commission .label {color: #ff5039;font-weight: bold;margin-right: 5px;}

#commission .thetag {display: inline-block;border-radius: 4px;border: 1px solid #9bc989;color: #5b854a;
    margin: 2px 4px;padding: 2px 8px;font-size: 0.9em;transition: all 0.3s ease;}
#commission .thetag:hover {background-color: #9bc989;color: #fff;}

#commission .mark { color: #ff5039; font-weight: bold; margin-right: 8px; }
#commission .mark_ok { color: #5b854a; font-weight: bold; margin-right: 8px; }
#commission .mark_no { color: #ff5039; font-weight: bold; margin-right: 8px; }
#commission .section_title {font-weight: bold; font-size: 1.1em; margin-top: 25px;
    color: #333;border-left: 4px solid #b48e7c;padding-left: 10px;}
#commission .ok_mark { border-left-color: #9bc989; }
#commission .stop_mark { border-left-color: #ff5039; }

#commission .process_img_container {text-align: center;margin: 30px 0;}
#commission .img_art_ill {max-width: 100%;height: auto;border-radius: 5px;}

#commission .f_notice {margin-top: 50px;border-top: 1px dashed #ccc;color: #777;}
#commission .footer_notice {text-align: center;margin-top: 50px;padding: 20px;
    border-top: 1px dashed #ccc;color: #777;}

/*Commssn & Rates*/
:root {
    --shadow-light: 0 4px 12px rgba(0, 0, 0, 0.06);
    --shadow-hover: 0 10px 25px rgba(0, 0, 0, 0.12);
    --main-text: #2c3e50;
    --price-color: #e74c3c;
    --accent-green: #5b854a;
}
.cms-nav {position: sticky; top: 0;z-index: 100; padding:80px  0 0 0;text-align: center;}

.cms-filter-btn {background: #aa958d; border: none; padding: 8px 20px; margin: 5px;
    border-radius: 20px; cursor: pointer; font-weight: 600;
    transition: all 0.3s; color: #ffffff;box-shadow: 0 0px 5px rgba(0,0,0,0.3);}
.cms-filter-btn:hover { background: #5e4b4b; }
.cms-filter-btn.active { background: #333; color: #fff; }
.cms-wrapper { max-width: 1200px; margin: 0 auto; padding: 20px; }
.cms-section { margin-bottom: 50px; }
.cms-category-title {
    font-size: 24px; font-weight: 700; padding-left: 15px; margin-bottom: 25px;
    border-left: 5px solid #333; line-height: 1.2;}
.cms-box-title{font-size: 20px;color: #666;font-weight: bolder;}
.cms-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 25px; }

.cms-card {
    background: #ffffff; border-radius: 12px; padding: 15px;
    cursor: pointer; box-shadow: var(--shadow-light);
    transition: transform 0.3s, box-shadow 0.5s, opacity 0.5s;}
.cms-card.hidden { display: none !important; }
.cms-card.fade-in { animation: cmsFadeIn 0.5s ease forwards; }

@keyframes cmsFadeIn {
    from { opacity: 0; transform: translateY(10px); }
    to { opacity: 1; transform: translateY(0); }}

.cms-card:hover { transform: translateY(-8px); box-shadow: var(--shadow-hover); }
.cms-img-box {width: 100%; aspect-ratio: 16 / 11; background: #f1f3f5;
    border-radius: 8px; margin-bottom: 12px; overflow: hidden;
    display: flex; align-items: center; justify-content: center;}
.cms-img-box img { width: 100%; height: 100%; object-fit: cover; }

.cms-info h3 { margin: 0 0 6px 0; font-size: 17px; font-weight: 600; }
.cms-info .tag { color: #7f8c8d; font-size: 14px; }
.cms-info .price { font-weight: 700; color: var(--price-color); }

.cms-modal {
    display: none; position: fixed; z-index: 10000;
    left: 0; top: 0; width: 100%; height: 100%;
    background: rgba(0, 0, 0, 0.5); backdrop-filter: blur(5px);}
.cms-modal-content {
    background: #fff; margin: 5% auto; padding: 20px;
    width: 90%; max-width: 720px; position: relative;
    border-radius: 20px; box-shadow: 0 25px 60px rgba(0, 0, 0, 0.3);}
.cms-close { position: absolute; right: 20px; top: 15px; font-size: 28px; color: #ccc; cursor: pointer; }
.cms-modal-header { display: flex; gap: 25px; margin-bottom: 25px; }
.cms-modal-pic { flex: 1.2; height: 220px; background: #f8f9fa; border-radius: 12px; overflow: hidden; border: 1px solid #f0f0f0; }
.cms-modal-pic img { width: 100%; height: 100%; object-fit: cover; }

.cms-modal-meta { flex: 1; display: flex; flex-direction: column; justify-content: space-between; padding: 5px 0; }
.cms-order-btn { width: 100%; background: transparent; border: 2px solid var(--accent-green); color: var(--accent-green); padding: 12px 0; border-radius: 12px; cursor: pointer; font-weight: 700; transition: 0.2s; }
.cms-order-btn:hover { background: var(--accent-green); color: #fff; }
.cms-modal-body { border-top: 1px solid #f0f0f0; padding: 20px 10px 0 0; max-height: 450px; overflow-y: auto; line-height: 1.8; white-space: pre-wrap; color: #333; }
.text-red { color: #e74c3c; font-weight: bold; }
.text-till { font-weight: bold; }
@media (max-width: 600px) { 
    .cms-modal-header { flex-direction: column; gap: 10px;} 
    .cms-order-btn {padding: 5px 0;}
    .cms-modal-pic { height: 180px; } 
    .cms-modal-body { max-height: 250px;} 
}


/*WORKS*/
.portfolio-wrapper {width: 100%;box-sizing: border-box;padding-bottom: 50px;}
.portfolio-wrapper *, .portfolio-wrapper *::before, .portfolio-wrapper *::after {box-sizing: border-box;}
.portfolio-wrapper button, 
.portfolio-wrapper div, 
.portfolio-wrapper span {margin: 0;padding: 0;}

.portfolio-wrapper .header {position: sticky; top: 0;z-index: 100; padding:80px  0 0 0;
    display: flex;flex-wrap: wrap; align-items: center;gap: 12px;}

.portfolio-wrapper .filter-btn {background-color: #ad9a95;color: #ffffff;
            border: none;border-radius: 30px;padding: 10px 24px;font-size: 16px;font-weight: bold;
            cursor: pointer;transition: all 0.3s ease;box-shadow: 0 0px 4px rgba(0,0,0,0.3); 
            line-height: 1.5;}
.portfolio-wrapper .filter-btn:hover {background-color: #93817c;transform: translateY(-2px);}

.portfolio-wrapper .filter-btn[data-filter="logo"],
.portfolio-wrapper .filter-btn[data-filter="overlay"],
.portfolio-wrapper .filter-btn[data-filter="thumbnail"] {background-color: #71be62;}
.portfolio-wrapper .filter-btn[data-filter="logo"]:hover,
.portfolio-wrapper .filter-btn[data-filter="overlay"]:hover,
.portfolio-wrapper .filter-btn[data-filter="thumbnail"]:hover {background-color: #4b9969;}

.portfolio-wrapper .filter-btn[data-filter="gameart"],
.portfolio-wrapper .filter-btn[data-filter="other"] {background-color: #f39f3e;}
.portfolio-wrapper .filter-btn[data-filter="gameart"]:hover,
.portfolio-wrapper .filter-btn[data-filter="other"]:hover {background-color: #c76c37;}

.portfolio-wrapper .filter-btn.active {background-color: #333333;box-shadow: 0 0px 5px rgba(0,0,0,0.2);}

.portfolio-wrapper .gallery {display: grid;grid-template-columns: repeat(4, 1fr);
            gap: 25px;padding: 40px;max-width: 1200px;margin: 0 auto;}
.portfolio-wrapper .gallery-item {background-color: #fff;border: none; 
            border-radius: 12px;aspect-ratio: 1 / 0.65;overflow: hidden;
            display: flex;align-items: center;justify-content: center;cursor: pointer;
            transition: transform 0.2s, box-shadow 0.2s;animation: fadeIn 0.5s ease forwards;
            box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);
             padding: 0;}
.portfolio-wrapper .gallery-item:hover {transform: translateY(-5px);box-shadow: 0 0px 20px rgba(0, 0, 0, 0.3);}
.portfolio-wrapper .gallery-item img {width: 100%;height: 100%;object-fit: cover;display: block;}
.portfolio-wrapper .gallery-item.hidden {display: none;}
.gallery-item img, 
.gallery-item video {width: 100%;height: 100%;object-fit: cover; display: block; border-radius: 8px;}

 @keyframes fadeIn {
            from { opacity: 0; transform: scale(0.9); }
            to { opacity: 1; transform: scale(1); }}

.portfolio-wrapper .lightbox {position: fixed;top: 0;left: 0;width: 100%;height: 100%;
            background-color: rgba(0, 0, 0, 0.7);display: none;align-items: center;
            justify-content: center;z-index: 9999;opacity: 0;transition: opacity 0.3s ease;}
.portfolio-wrapper .lightbox.show {display: flex;opacity: 1;}
.portfolio-wrapper .lightbox-content {background-color: #fff;border: none;border-radius: 12px; 
            width: 70%;height: 75%;display: flex;flex-direction: column;align-items: center;
            justify-content: center;position: relative;padding: 20px;box-shadow: 0 0px 30px rgba(0, 0, 0, 0.3);}
.portfolio-wrapper #lightbox-img-placeholder {width: 100%;flex: 1;display: flex;align-items: center;
            justify-content: center;overflow: hidden;margin-bottom: 15px;}
.portfolio-wrapper #lightbox-img-placeholder img {max-width: 100%;max-height: 100%;
            width: auto;height: auto;object-fit: contain; border-radius: 8px;}
.portfolio-wrapper .lightbox-desc {width: 100%; font-size: 18px;color: #555;text-align: left;
            font-weight: normal;padding: 0 10px;}
.portfolio-wrapper .close-btn {position: absolute;top: 10px;right: 20px;font-size: 40px;
            font-weight: bold;color: #111;cursor: pointer;line-height: 1;z-index: 10;}
#lightbox-img-placeholder iframe,
#lightbox-img-placeholder video,
#lightbox-img-placeholder img {width: 100%;height: 100%;max-width: 100%;
    max-height: 100%;object-fit: contain;border: none;border-radius: 8px;}

.portfolio-wrapper .nav-arrow {position: absolute;top: 50%;transform: translateY(-50%);
            font-size: 60px;color: #fff;cursor: pointer;user-select: none;}
.portfolio-wrapper .nav-arrow.prev { left: 5%; }
.portfolio-wrapper .nav-arrow.next { right: 5%; }
.portfolio-wrapper .nav-arrow:hover { color: #ccc; }

 @media (max-width: 768px) {
 .portfolio-wrapper .header { padding:80px  0 0 0; gap: 8px; }
 .portfolio-wrapper .filter-btn { font-size: 14px; padding: 8px 16px; }
 .portfolio-wrapper .gallery { grid-template-columns: repeat(2, 1fr); 
                padding: 15px; gap: 15px;}
.portfolio-wrapper .lightbox-content { width: 90%; height: 60%; padding: 15px; }
.portfolio-wrapper .lightbox-desc { font-size: 16px; }
.portfolio-wrapper .nav-arrow { font-size: 40px; }
.portfolio-wrapper .nav-arrow.prev { left: 2%; }
.portfolio-wrapper .nav-arrow.next { right: 2%; }}

.filter-count {
    font-family: 'Noto Sans TC', sans-serif;
    font-size: 1.1rem;
    font-weight: bold;
    letter-spacing: 1px;
    padding-bottom: 10px;
    width: fit-content;
    margin: 10px auto !important; 
}

#item-count {
    color: #ff6b6b; 
    font-size: 1.3rem;
    margin: 0 5px;
}

/*Resume*/
.timeline-small {overflow: hidden;box-shadow: 0 0 40px #9e9e9e;}
.timeline-small-body {position: relative;--timeline-x: 2.5em;}
.timeline-small-body::before {content: '';position: absolute;top: 0;
    bottom: 0;left: var(--timeline-x);width: 5px;background-color: #bda5a5;z-index: 0;}
.timeline-small-body ul {padding: 1em 0 0 2em;margin: 0;
    list-style: none;position: relative;z-index: 1;}
.timeline-small-body li {position: relative;display: flex;
    align-items: flex-start;margin: 0.8em 0;}
.timeline-small-body .bullet {box-sizing: border-box;border-radius: 50%;
    background: #fff;z-index: 1;flex: none;margin: 0;}
.timeline-small-body .bullet.green {position: absolute;left: calc(var(--timeline-x) - 60px);
    top: 1em;width: 20px;height: 20px;background-color: rgb(77, 165, 121);border: 3px solid #b0e8c7;
    border-radius: 50%;z-index: 2;}
.timeline-small-body .date {flex: 0 0 auto;margin-right: 1rem;border-radius: 5px;border: 1px solid #9bc989;
    margin: 0.8em 3px 0 15px;padding: 0 10px 0 10px;color: rgb(124, 173, 95);font-weight: bold;}
.timeline-small-body .desc {flex: 1;width: auto;}
.timeline-small-body .date,
.timeline-small-body .desc {padding-left: 0.5em; }
.timeline-small-body .case-list {margin: 0;padding: 0;}
.timeline-small-body .case-list li {margin-bottom: 0.1em; line-height: 1.2;}


/*projects*/
#pj-bk{background-image: url('greek-vase.png');background-position: top center;
    background-attachment: fixed;display: grid; place-items: center; }
#pj-container {
            --pj-color-brown: #8d7b70;
            --pj-color-loading: #D07F43;
            --pj-color-biye: #666;
            --pj-color-black: #333;
            --pj-color-NO: #524886;
            --pj-color-TRPG: #8FC398;
            --pj-color-GAME: #8F97C3;
            --pj-color-OC: #C09D9D;
            --pj-color-YT: #FF583D;
            --pj-radius: 10px;
            --pj-shadow: 0 4px 15px rgba(0, 0, 0, 0.08);
            --pj-slide-speed: 0.5s;

            padding: 20px 15px;
            width: 100%;
            max-width: 1100px;
            border-radius: var(--pj-radius);
            box-sizing: border-box;
        }

        #pj-container .pj-tab-nav { position: sticky; top: 0;z-index: 100; padding:80px  0 0 0;
    display: flex;flex-wrap: wrap; justify-content: center;gap: 12px; }
        #pj-container .pj-tab-btn { border: none; padding: 10px 25px; font-size: 16px;font-weight: bold;border-radius: 25px; background: #c9b9b0; color: white; cursor: pointer; transition: 0.3s; }
        #pj-container .pj-tab-btn.active { background: #5d5d5d; box-shadow: 0 4px 10px rgba(0,0,0,0.1); }
        #pj-container .pj-tab-panel { display: none; }
        #pj-container .pj-tab-panel.active { display: block; }

        #pj-container .pj-section-title { display: flex; align-items: center; gap: 10px; margin: 40px 0 20px; font-size: 1.4rem; font-weight: bold; }
        #pj-container .pj-section-title::before { content: ""; width: 5px; height: 26px; background: currentColor; border-radius: 5px; }

        #pj-container .pj-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); gap: 20px; }
        #pj-container .pj-card { background: white; border-radius: var(--pj-radius); padding: 12px; box-shadow: var(--pj-shadow); cursor: pointer; position: relative; text-align: center; border: 1px solid #f0f0f0; transition: 0.3s; }
        #pj-container .pj-card:hover { transform: translateY(-5px); }
        #pj-container .pj-card img.pj-thumb { width: 100%; aspect-ratio: 1/1.4; object-fit: cover; border-radius: 6px; background: #eee; }
        #pj-container .pj-card .pj-name { margin-top: 10px; font-weight: bold; color: var(--pj-color-brown); }
        #pj-container .pj-status-tag { position: absolute; top: -15px; left: 15px; padding: 2px 8px; border-radius: 20px; color: white; font-size: 13px; z-index: 5; }

        #pj-container .pj-shop-row { margin-bottom: 50px; }
        #pj-container .pj-shop-header { background: var(--pj-color-brown); display: flex; justify-content: space-between; align-items: center; padding: 12px 20px; border-radius: var(--pj-radius); margin-bottom: 20px; }
        #pj-container .pj-shop-header h3 { margin: 0; color: #fff;}
        #pj-container .pj-shop-header a { text-decoration: none; color: #fff; font-size: 1.4rem; }

        #pj-container .pj-collab-card { display: flex; background: white; border-radius: var(--pj-radius); box-shadow: var(--pj-shadow); margin-bottom: 25px; overflow: hidden; border: 1px solid #f0f0f0; }
        #pj-container .pj-collab-left { flex: 1; padding: 25px; display: flex; gap: 20px; align-items: center; }
        #pj-container .pj-avatar { width: 80px; height: 80px; border-radius: 50%; object-fit: cover; border: 3px solid #fff; box-shadow: 0 2px 8px rgba(0,0,0,0.1); flex-shrink: 0; }
        
        #pj-container .pj-social-row { margin-top: 5px; display: flex; flex-wrap: wrap; gap: 8px; }
        #pj-container .pj-social-row a { text-decoration: none; padding: 5px 15px; border-radius: 5px; color: #fff; font-size: 14px; font-weight: bold; display: inline-block; }
        
        #pj-container .pj-collab-right { width: 300px; background: #fafafa; border-left: 1px dashed #ddd; flex-shrink: 0; display: flex; }
        #pj-container .pj-collab-right img { width: 100%; height: 100%; object-fit: cover; display: block; }
         .pj-collab-media {width: 100%; height: auto; display: block; border-radius: 5px;}
        .pj-modal-overlay { position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0,0,0,0.6); display: none; justify-content: center; align-items: center; z-index: 99995; backdrop-filter: blur(4px); }
        .pj-modal-box { background: rgba(255, 255, 255, 0.9); border: 1px solid #fff; width: 100%; max-width: 700px;max-height: 650px; border-radius: 15px; position: relative; overflow: hidden; box-shadow: 0 10px 40px rgba(0,0,0,0.3); }
        .pj-close-btn { position: absolute; top: 15px; right: 20px; font-size: 32px; color: #777; cursor: pointer; z-index: 10020; }

#pj-modal-boxout{transform: none !important; perspective: none;overflow: visible;}
.card-holo {
    position: absolute;
    inset: -150%;
    border-radius: 12px;
    background-image: linear-gradient(110deg,transparent 0%,
        rgba(255, 100, 100, 0.6) 20%, 
        rgba(255, 210, 100, 0.6) 25%, 
        rgba(130, 255, 130, 0.6) 35%, 
        rgba(100, 230, 255, 0.6) 45%, 
        rgba(210, 130, 255, 0.6) 55%, 
        transparent 40%);
    background-size: 200% 200%; background-position: var(--holo-x, 50%) var(--holo-y, 50%);
    mix-blend-mode: screen; opacity: var(--holo-opacity, 0);
    pointer-events: none; filter: blur(10px);
    transition: opacity 0.3s ease; z-index: 99999 !important; }
.card-sparkle { position: absolute; inset: 0;
    background-image: radial-gradient(circle at var(--sparkle-x, 50%) var(--sparkle-y, 50%), rgba(255, 255, 255, 1) 0%, transparent 60%);
    mix-blend-mode: overlay;
    opacity: calc(var(--holo-opacity, 0) * 0.8); pointer-events: none; z-index: 100000 !important;}
.card-holo, .card-sparkle { position: absolute; inset: 0; pointer-events: none !important; z-index: 100000;}

        .pj-slide-container { display: flex; width: 200%; transition: transform var(--pj-slide-speed) cubic-bezier(0.4, 0, 0.2, 1); }
        .pj-slide-container.show-works { transform: translateX(-50%); }
        .pj-modal-panel { width: 90%; padding: 50px 30px; box-sizing: border-box;max-width: 1000px; max-height: 80vh; overflow-y: auto; }

        .pj-char-layout { display: flex; gap: 40px; align-items: flex-start;width: 100%; }
        .pj-image-side { flex: 0 0 280px; position: relative;perspective: 1000px;transform-style: preserve-3d;z-index: 5;}
        .pj-main-img-box { width: 100%; height: 420px; background: #f5f5f5; border-radius: 12px; overflow: hidden; box-shadow: var(--pj-shadow);
         transition: transform 0.1s ease-out;will-change: transform;}
        .pj-main-img-box img { width: 100%; height: 100%; object-fit: contain; }
        .pj-clothes-nav { position: absolute; left: -10px; top: 35px; display: flex; flex-direction: column; gap: 12px; transform: translateZ(100px);z-index: 100010; }
        .pj-clothes-btn { width: 48px; height: 48px; cursor: pointer; filter: drop-shadow(0 3px 6px rgba(0,0,0,0.15)); transition: transform 0.2s;transform-style: preserve-3d;backface-visibility: hidden; }
        .pj-clothes-btn:hover { transform: scale(1.1); }

        .pj-info-side { flex: 1;min-width: 0; }
        .pj-label-box {display: inline-block;background-color: #7a8f7a;color: white;
                    padding: 1px 7px; border-radius: 10px; font-size: 14px; min-width: 85px; text-align: justify;
                    text-align-last: justify; margin-right: 5px; margin-top: 3px;}
        .pj-info-header { display: flex; align-items: center; gap: 12px; margin-bottom: 15px; }
        .pj-status-badge { padding: 4px 15px; border-radius: 20px; color: white; font-size: 13px; }
        .pj-toggle-btn-green { background: var(--pj-color-TRPG); color: white; border: none; padding: 12px 20px; border-radius: 50px; font-weight: bold; cursor: pointer; width: 100%; text-align: left; margin: 15px 0; font-size: 16px; display: flex; justify-content: space-between; }
        .pj-back-btn { background: var(--pj-color-brown); color: white; border: none; padding: 8px 15px; border-radius: 50px; cursor: pointer; }
 
        .pj-dual-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px; }
        .pj-dual-grid img { width: 100%; aspect-ratio: 1/0.65; object-fit: cover; border-radius: 8px; border: 1px solid #eee; }
        .pj-work-zoom-item { width: 100%; height: auto; cursor: zoom-in; border-radius: 8px; 
            transition: transform 0.3s ease, box-shadow 0.3s ease; object-fit: cover;}
        .pj-work-zoom-item:hover {transform: scale(1.05); box-shadow: 0 0px 10px rgba(0,0,0,0.3); 
            z-index: 1;}
        .pj-work-zoom-item.is-video {border: 2px solid var(--pj-color-YT, #ff4a4a);}
        .pj-dual-grid .pj-work-zoom-item {width: 100%; aspect-ratio: 1 / 0.65;
            object-fit: cover; border-radius: 8px; border: 1px solid #eee; cursor: pointer;
            display: block;transition: transform 0.2s;}
        .pj-work-wrapper {width: 100%; cursor: pointer;}

        .pj-lb-box { text-align: center; position: relative; padding: 20px; }
        .pj-lb-img { width: 100%; height: 450px; background: #f9f9f9; border-radius: 10px; display: flex; align-items: center; justify-content: center; overflow: hidden; }
        .pj-lb-img img { max-width: 100%; max-height: 100%; object-fit: contain; }
        .pj-lb-arrow { position: absolute; top: 50%; transform: translateY(-50%); background: white; border: none; width: 40px; height: 40px; border-radius: 50%; box-shadow: 0 2px 8px rgba(0,0,0,0.2); cursor: pointer; font-size: 18px; z-index: 10; }

        @media (max-width: 768px) {
            .pj-char-layout { flex-direction: column; gap: 20px;}
            .pj-image-side { width: 100%; flex: none; }
            .pj-info-side { width: 100%; }
            .pj-clothes-nav { position: static; flex-direction: row; justify-content: center; margin-bottom: 20px; }
            .pj-main-img-box { height: 350px; }
            .pj-collab-card { flex-direction: column; }
            #pj-container .pj-collab-right { width: 100%; height: auto; border-left: none; border-top: 1px dashed #ddd; }
            #pj-container .pj-collab-right img { width: 100%; height: auto; object-fit: contain; aspect-ratio: auto; }
            #pj-container .pj-grid { grid-template-columns: repeat(2, 1fr); }
        }

/*MX*/
@media only screen and (max-width:1600px){
    .bth_pv{margin-top: 130px;margin-left: 1050px;}
}

@media only screen and (max-width:1300px){
    .bth_pv{margin-top: 120px;margin-left: 850px;}
}

@media only screen and (max-width:977px){
    .navbar-nav{height: 100vh;}
    .navdule{text-align: left;}
    .bth_works{margin-left: 30px;}
    .bth_pv{margin-left: 400px;}
    .img_icon{width: 36px;display: none;}
    .timeline-small-body {--timeline-x: 0.5em;}
    .timeline-small-body .bullet {margin-right: 0rem;}
    .timeline-small-body ul {padding: 0;}
    .timeline-small-body li {padding-left: 0rem; 
    #commission .whiteframe {padding: 10px;}
    .cms-modal-content {margin: 3% auto; padding: 10px;}
}
    
@media only screen and (max-width:770px){
    .bth_works img{width:200px;}
    .bth_pv{margin-left: 300px;}
    .text_content{padding: 10px;}
    .img-project{width:180px;}
    .societies_img{width: 100%;}
    .copyrights{text-align: center;}
    .footernav{float: none;}
    .the-radius{width: 310px;height: 410px;margin-top: 5px;}
    #loading{width: 200px;}
    .table-striped th {display: none;}
      .table-striped th:before {
        content: attr(data-title);
        display: inline-block;
        font-weight: 900;
        color: #5b854a;}
      .table-striped td {display: block;}
      .table-striped td:before {
        content: attr(data-title);
        display: inline-block;
        font-weight: 900;
        color: #5b854a;}
    .Role-Box{height: 300px;width: 60%;}
    #news{height: 80vh;}
    .marquee-viewport {height: 100vh;}
    .marquee-row img {width: 200px;height: 120px;margin: 0 8px;}
    .marquee-wrapper {transform: rotate(-15deg) scale(1.8);}
    .timeline-small-body .date {margin: 0.8em 3px 0 0px;}
    }
    
@media only screen and (max-width:568px){
    .bth_works img{margin-top: auto;width:130px;}
    .bth_pv{margin-left: 220px;}
    .bth_pv img{width:180px;}
    .navbar-nav{font-size: 18px;}
    .works_img{margin-bottom: 10px;padding: 0;}
    #societies_books{font-size: 10px;}
    .mi_content{padding: 20px;}
    .BT{padding-left: 5px;}
    }
    
@media only screen and (max-width:520px){

}