.buttonBar { display: none; } .page-title { padding: 30px 0px 30px 0px; text-align: center; } img.counterimg { } .down-border { position: relative; top: 2px; width: 100%; height: 100vh; background-size: cover; } .modal-backdrop.show { display: none; } .ceo-banner { background: url(../img/bg/BG3.png); background-size: cover; background-repeat: no-repeat; position: relative; z-index: 0; padding: 80px 0px 40px 0px; text-align: center; } .ceo-banner .carousel-inner { border: 15px #c9901c; border-style: groove; border-radius: 40px; } .img-slide img { height: 450px; } .ita-page { background: url(../img/bg/BG.png); background-size: cover; background-repeat: no-repeat; position: relative; z-index: 0; padding: 100px 0px 100px 0px; text-align: center; } .news-sec .property-3 h3 { color: #f0f3f3 !important; } .news-sec h1 { color: #0b0b0b !important; } .news-sec .featured-tag2 a { color: #fff0f0 !important; } .news-sec ul { list-style: inherit !important; } .news-sec li { text-align: left !important; /*margin-left: 5% !important;*/ } .img-news img { width: 100%; height: 280px; } .img-hotnews img { width: 700px; height: 980px; } .img-hotnews2 img { width: 750px; height: 500px; } .img-tour img { width: 100%; height: 180px; } .img-post img { width: 100%; height: 280px; } .submit-property-button { text-align: center; padding: 26px 0; } .btn-3 { color: #95c41f; border: 1px solid #95c41f; } .submit-property-button .btn-3 { padding: 12.5px 22px 11.5px!important; border-radius: 0; font-size: 15px; font-weight: 600; letter-spacing: 0.5px; text-transform: uppercase; font-family: 'Nunito', sans-serif; } .submit-property-button a { color: #1f5800 !important; } .last-news .col-pad2 { border-right: unset !important; } .slide-sec { background: url(../img/bg/BG.png); background-size: cover; background-repeat: no-repeat; position: relative; z-index: 0; padding: 30px 0px 30px 0px; text-align: center; } .slide-sec .carousel-inner { border: 15px #c9901c; border-style: groove; border-radius: 5px; } .active-a li a:hover { color: #44a800; } .popular-places .popular-places-box .listings_no { background: #1f5800; } .popular-places .popular-places-box .listings_no a { color: white; } .content-area .nav-tabs .nav-link.active { background-color: #1f5800; color: #fff; } .content-area .nav-tabs .nav-link:hover { background-color: #1f5800; color: #fff; } .content-area .page-item.active .page-link { color: #fff; background-color: #1f5800; border-color: #1f5800; } .content-area .pagination > li > a:hover { color: #fff; background-color: #1f5800; border-color: #1f5800; } .content-area .featured-tag2 { background-color: #1f5800; } .content-area .property-3 .read-more-btn { background-color: #1f5800; color: #fff; } .content-area .property-3 .read-more-btn:hover { background-color: #fff; color: #1f5800; } .partners { background: url(../img/bg/BG.png); background-size: cover; background-repeat: no-repeat; position: relative; text-align: center; } div#pills-tabContent { text-align: left; } .link-page li { list-style: disc; } .link-page a:hover { color: #262525 !important; } .content-area { padding: 40px 0 10px !important; } .nav-pills .nav-link.active { background: #1f5800 !important; } .side-menu { /*background: #e64a19;*/ padding-top: 20px; padding-bottom: 20px; } .text-scrolling { bottom: 33px; font-size: 15px; right: 20px; } .text-scrolling a { color: #ffffff; } .section-scrolling { position: absolute; } /** BG-section **/ .section-bg1 { background-image: url("../img/bg/BG01.png"); } .section-bg2 { background-image: url("../img/bg/BG02.png"); } .section-bg3 { background-image: url("../img/bg/BG03.png"); background-repeat: no-repeat; background-size: cover; } .section-bg4 { background-image: url("../img/bg/BG04.png"); } .section-bg5 { background-image: url("../img/bg/BG05.png"); } .section-bg6 { background-image: url("../img/bg/BG06.png"); } .section-bg7 { background-image: url("../img/bg/BG07.png"); } .section-bg8 { background-image: url("../img/bg/BG08.png"); } .section-bg9 { background-image: url("../img/bg/BG09.png"); } .section-bg10 { background-image: url("../img/bg/BG10.png"); } .section-bg11 { background-image: url("../img/bg/BG11.png"); } .no-lr { padding-right: unset !important; padding-left: unset !important; } /** POP UP FB **/ #fb-chat-widget { position: fixed; bottom: 80px; right: 20px; z-index: 9999; display: flex; flex-direction: column; align-items: flex-end; gap: 12px; font-family: 'Noto Sans Thai', -apple-system, BlinkMacSystemFont, sans-serif; } #fb-chat-widget * { box-sizing: border-box; } #fb-chat-widget .chat-bubble-card { background: #fff; border-radius: 16px; padding: 16px; width: 300px; max-width: calc(100vw - 48px); box-shadow: 0 8px 32px rgba(0,0,0,0.14), 0 2px 8px rgba(0,0,0,0.08); transform: scale(0.85) translateY(16px); opacity: 0; transform-origin: bottom right; transition: transform 0.4s cubic-bezier(0.34, 1.56, 0.64, 1), opacity 0.3s ease; pointer-events: none; } #fb-chat-widget .chat-bubble-card.show { transform: scale(1) translateY(0); opacity: 1; pointer-events: all; } #fb-chat-widget .card-header { display: flex; align-items: center; gap: 10px; background: #0866ff; margin: -16px -16px 14px -16px; padding: 14px 16px; border-radius: 16px 16px 0 0; } #fb-chat-widget .page-avatar { width: 42px; height: 42px; min-width: 42px; border-radius: 50%; background: rgba(255,255,255,0.22); display: flex; align-items: center; justify-content: center; position: relative; } #fb-chat-widget .page-avatar svg { width: 24px; height: 24px; fill: #fff; } #fb-chat-widget .online-dot { position: absolute; bottom: 1px; right: 1px; width: 11px; height: 11px; background: #42d85e; border: 2px solid #0866ff; border-radius: 50%; animation: fbw-pulse-dot 2s infinite; } @keyframes fbw-pulse-dot { 0%, 100% { box-shadow: 0 0 0 0 rgba(66,216,94,0.6); } 50% { box-shadow: 0 0 0 4px rgba(66,216,94,0); } } #fb-chat-widget .page-info { flex: 1; min-width: 0; } #fb-chat-widget .page-name { font-size: 0.9rem; font-weight: 700; color: #fff; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; line-height: 1.3; } #fb-chat-widget .page-status { font-size: 0.72rem; color: rgba(255,255,255,0.85); margin-top: 3px; display: flex; align-items: center; gap: 5px; } #fb-chat-widget .status-dot { width: 7px; height: 7px; min-width: 7px; background: #42d85e; border-radius: 50%; display: inline-block; } #fb-chat-widget .close-btn { width: 28px; height: 28px; min-width: 28px; border-radius: 50%; background: rgba(255,255,255,0.2); border: none; cursor: pointer; display: flex; align-items: center; justify-content: center; color: #fff; font-size: 14px; line-height: 1; transition: background 0.2s, transform 0.25s; } #fb-chat-widget .close-btn:hover { background: rgba(255,255,255,0.35); transform: rotate(90deg); } #fb-chat-widget .chat-messages { display: flex; flex-direction: column; gap: 8px; margin-bottom: 12px; } #fb-chat-widget .msg { background: #f0f2f5; color: #1a1a2e; font-size: 0.84rem; line-height: 1.5; padding: 9px 13px; border-radius: 16px 16px 16px 4px; max-width: 88%; opacity: 0; transform: translateY(8px); transition: opacity 0.4s ease, transform 0.4s ease; } #fb-chat-widget .msg.visible { opacity: 1; transform: translateY(0); } #fb-chat-widget .typing-indicator { display: flex; align-items: center; gap: 4px; padding: 10px 13px; background: #f0f2f5; border-radius: 16px 16px 16px 4px; width: fit-content; opacity: 0; transition: opacity 0.3s ease; } #fb-chat-widget .typing-indicator.visible { opacity: 1; } #fb-chat-widget .typing-indicator span { width: 7px; height: 7px; background: #bbb; border-radius: 50%; animation: fbw-typing 1.2s infinite; } #fb-chat-widget .typing-indicator span:nth-child(2) { animation-delay: 0.2s; } #fb-chat-widget .typing-indicator span:nth-child(3) { animation-delay: 0.4s; } @keyframes fbw-typing { 0%, 60%, 100% { transform: translateY(0); opacity: 0.45; } 30% { transform: translateY(-5px); opacity: 1; } } #fb-chat-widget .cta-btn { display: flex; align-items: center; justify-content: center; gap: 8px; width: 100%; padding: 12px 14px; background: #0866ff; color: #fff; font-family: inherit; font-size: 0.88rem; font-weight: 700; border: none; border-radius: 10px; cursor: pointer; text-decoration: none; transition: background 0.2s, transform 0.2s, box-shadow 0.2s; box-shadow: 0 3px 12px rgba(8,102,255,0.35); } #fb-chat-widget .cta-btn:hover { background: #0757e0; transform: translateY(-2px); box-shadow: 0 6px 20px rgba(8,102,255,0.45); } #fb-chat-widget .cta-btn:active { transform: translateY(0); } #fb-chat-widget .cta-btn svg { width: 18px; height: 18px; fill: #fff; flex-shrink: 0; } #fb-chat-widget .privacy-note { text-align: center; font-size: 0.67rem; color: #bbb; margin-top: 8px; } #fb-chat-widget .fab { width: 58px; height: 58px; border-radius: 50%; background: #0866ff; border: none; cursor: pointer; display: flex; align-items: center; justify-content: center; box-shadow: 0 4px 20px rgba(8,102,255,0.5); position: relative; transition: transform 0.3s cubic-bezier(0.34,1.56,0.64,1), box-shadow 0.3s; animation: fbw-fab-in 0.6s 0.4s cubic-bezier(0.34,1.56,0.64,1) both; } @keyframes fbw-fab-in { from { transform: scale(0) rotate(-180deg); opacity: 0; } to { transform: scale(1) rotate(0deg); opacity: 1; } } #fb-chat-widget .fab:hover { transform: scale(1.08); box-shadow: 0 8px 28px rgba(8,102,255,0.55); } #fb-chat-widget .fab:active { transform: scale(0.95); } #fb-chat-widget .fab svg { width: 30px; height: 30px; fill: #fff; transition: transform 0.3s; } #fb-chat-widget .fab.open svg { transform: rotate(30deg) scale(0.85); } #fb-chat-widget .notif-badge { position: absolute; top: -2px; right: -2px; width: 20px; height: 20px; background: #ff3b30; color: #fff; font-size: 0.63rem; font-weight: 700; border-radius: 50%; display: flex; align-items: center; justify-content: center; border: 2px solid #fff; animation: fbw-badge-pop 0.4s 1.1s cubic-bezier(0.34,1.56,0.64,1) both; } @keyframes fbw-badge-pop { from { transform: scale(0); } to { transform: scale(1); } } #fb-chat-widget .fab::before, #fb-chat-widget .fab::after { content: ''; position: absolute; inset: 0; border-radius: 50%; background: rgba(8,102,255,0.3); animation: fbw-ripple 2.5s 1.4s infinite; pointer-events: none; } #fb-chat-widget .fab::after { animation-delay: 2s; } @keyframes fbw-ripple { 0% { transform: scale(1); opacity: 0.5; } 100% { transform: scale(2.3); opacity: 0; } } /** END POP UP FB **/ /** Section นายยกและปลัด **/ /*.executive-clean { background: linear-gradient(to bottom, #ffffff, #f5f7fa); }*/ .executive-clean { background: url('../img/bg/mos_bg01.png') no-repeat center center; background-size: cover; } .section-title { font-weight: 600; font-size: 28px; color: #d94b2b; } .title-line { width: 80px; height: 3px; background: #0b82b9; margin: 15px auto 0; border-radius: 3px; } /* ระยะห่างระหว่างรูป */ .executive-row { gap: 140px; justify-content: center; } /* ขนาดรูป */ .executive-img { max-height: 340px; object-fit: cover; transition: .3s; } .executive-img:hover { transform: scale(1.03); } .executive-clean h5 { font-weight: 600; color: #333; } /** END Section นายยกและปลัด **/ /** ช่องค้นหาข่าวสาร **/ .service-section { margin-top: 40px; } .img-icon-link img { width: 100%; border-radius: 18px; background: #fff; padding: 10px; box-shadow: 0 8px 25px rgba(0,0,0,0.08); transition: 0.3s; } .img-icon-link img:hover { transform: translateY(-6px); } /** END ช่องค้นหาข่าวสาร **/ @import url('https://fonts.googleapis.com/css2?family=Google+Sans:wght@400;500;700&family=Google+Sans+Display:wght@400;700&display=swap'); .sh8 *, .sh8 *::before, .sh8 *::after { box-sizing: border-box; margin: 0; padding: 0; } .sh8 { --or: #f97316; --or2: #ea6c00; --orl: #fff7ed; --orm: #ffedd5; --tx1: #1c1917; --tx2: #78716c; --tx3: #b8b0a8; --bd: #ede9e6; --wh: #ffffff; --fn: 'Google Sans', sans-serif; --fe: 'Google Sans', sans-serif; } /* ── Section ─────────────────────────────── */ .sh8 { width: 100%; background: #fafaf9; display: flex; align-items: center; justify-content: center; padding: 72px 24px 80px; position: relative; isolation: isolate; overflow: hidden; } /* soft warm blob center */ .sh8-blob { position: absolute; width: 700px; height: 400px; top: 50%; left: 50%; transform: translate(-50%, -50%); background: radial-gradient(ellipse, #fff0e2 0%, #fafaf9 65%); pointer-events: none; z-index: 0; } /* ── Content ─────────────────────────────── */ .sh8-wrap { position: relative; z-index: 1; width: 100%; max-width: 620px; margin: 0 auto; display: flex; flex-direction: column; align-items: center; text-align: center; } /* ── Icon badge ──────────────────────────── */ .sh8-icon { width: 56px; height: 56px; border-radius: 16px; background: var(--or); display: flex; align-items: center; justify-content: center; margin-bottom: 20px; box-shadow: 0 8px 24px rgba(249,115,22,0.35); opacity: 0; animation: sh8Up 0.5s 0.0s cubic-bezier(.22,1,.36,1) forwards; } .sh8-icon i { color: #fff; font-size: 1.3rem; } /* ── Heading ─────────────────────────────── */ .sh8-title { font-family: 'Google Sans', sans-serif; font-size: clamp(1.6rem, 3.2vw, 2.4rem); font-weight: 800; color: var(--tx1); line-height: 1.25; letter-spacing: -0.02em; margin-bottom: 8px; opacity: 0; animation: sh8Up 0.5s 0.08s cubic-bezier(.22,1,.36,1) forwards; } .sh8-title span { color: var(--or); } /* ── Sub ─────────────────────────────────── */ .sh8-sub { font-family: 'Google Sans', sans-serif; font-size: 0.9rem; color: var(--tx3); margin-bottom: 36px; letter-spacing: 0.04em; opacity: 0; animation: sh8Up 0.5s 0.14s cubic-bezier(.22,1,.36,1) forwards; } /* ── Search bar ──────────────────────────── */ .sh8-bar { width: 100%; display: flex; align-items: center; background: var(--wh); border: 2px solid var(--bd); border-radius: 18px; padding: 8px 8px 8px 22px; box-shadow: 0 1px 2px rgba(0,0,0,0.04), 0 8px 28px rgba(0,0,0,0.06), 0 20px 48px rgba(249,115,22,0.05); transition: border-color 0.2s, box-shadow 0.2s, transform 0.2s; opacity: 0; animation: sh8Up 0.55s 0.2s cubic-bezier(.22,1,.36,1) forwards; } .sh8-bar:focus-within { border-color: var(--or); box-shadow: 0 1px 2px rgba(0,0,0,0.04), 0 8px 28px rgba(0,0,0,0.06), 0 20px 48px rgba(249,115,22,0.1), 0 0 0 4px rgba(249,115,22,0.08); transform: translateY(-2px); } .sh8-ico { flex-shrink: 0; color: var(--tx3); font-size: 1rem; margin-right: 12px; transition: color 0.2s; } .sh8-bar:focus-within .sh8-ico { color: var(--or); } /* Yii2 */ .sh8-bar .form-group { flex: 1; margin: 0 !important; } .sh8-bar .help-block { display: none !important; } .sh8-bar input[type="text"] { width: 100%; border: none !important; outline: none !important; background: transparent !important; box-shadow: none !important; border-radius: 0 !important; font-family: 'Google Sans', sans-serif; font-size: 1rem; color: var(--tx1); padding: 11px 0 !important; caret-color: var(--or); } .sh8-bar input::placeholder { color: var(--tx3); font-weight: 300; } /* submit */ .sh8-btn { flex-shrink: 0; display: inline-flex; align-items: center; gap: 7px; background: var(--or); color: #fff; border: none; border-radius: 12px; padding: 12px 26px; font-family: 'Google Sans', sans-serif; font-size: 0.95rem; font-weight: 700; cursor: pointer; white-space: nowrap; box-shadow: 0 4px 16px rgba(249,115,22,0.4); transition: background 0.18s, box-shadow 0.18s, transform 0.14s; position: relative; overflow: hidden; } /* shine sweep */ .sh8-btn::after { content: ''; position: absolute; top: 0; left: -80%; width: 50%; height: 100%; background: linear-gradient(90deg, transparent, rgba(255,255,255,0.22), transparent); transform: skewX(-18deg); transition: left 0.55s; } .sh8-btn:hover::after { left: 140%; } .sh8-btn:hover { background: var(--or2); box-shadow: 0 6px 22px rgba(249,115,22,0.5); transform: translateY(-1px); } .sh8-btn:active { transform: scale(0.97); } /* ── Divider ─────────────────────────────── */ .sh8-divider { display: flex; align-items: center; gap: 12px; margin-top: 24px; width: 100%; opacity: 0; animation: sh8Up 0.5s 0.3s cubic-bezier(.22,1,.36,1) forwards; } .sh8-divider-line { flex: 1; height: 1px; background: linear-gradient(90deg, transparent, var(--bd), transparent); } .sh8-divider-txt { font-family: 'Google Sans', sans-serif; font-size: 0.72rem; color: var(--tx3); white-space: nowrap; letter-spacing: 0.06em; } /* ── Tags ────────────────────────────────── */ .sh8-tags { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 8px; margin-top: 14px; width: 100%; opacity: 0; animation: sh8Up 0.5s 0.36s cubic-bezier(.22,1,.36,1) forwards; } .sh8-tag { font-family: 'Google Sans', sans-serif; font-size: 0.82rem; color: var(--tx2); background: var(--wh); border: 1.5px solid var(--bd); border-radius: 100px; padding: 6px 16px; cursor: pointer; transition: all 0.18s; display: inline-flex; align-items: center; gap: 5px; } .sh8-tag:hover { border-color: var(--or); color: var(--or); background: var(--orl); transform: translateY(-2px); box-shadow: 0 4px 12px rgba(249,115,22,0.12); } .sh8-tag-dot { width: 5px; height: 5px; border-radius: 50%; background: var(--bd); transition: background 0.18s; } .sh8-tag:hover .sh8-tag-dot { background: var(--or); } /* ── Keyframes ───────────────────────────── */ @keyframes sh8Up { from { opacity:0; transform: translateY(16px); } to { opacity:1; transform: translateY(0); } } /* ── Responsive ──────────────────────────── */ @media (max-width: 600px) { .sh8 { padding: 52px 16px 60px; } .sh8-bar { border-radius: 14px; padding: 10px 14px; flex-wrap: wrap; } .sh8-btn { width: 100%; justify-content: center; border-radius: 10px; margin-top: 8px; } } align-items: center; gap: 8px; margin-top: 14px; width: 100%; opacity: 0; animation: sh8Up 0.5s 0.36s cubic-bezier(.22,1,.36,1) forwards; } .sh8-tag { font-family: var(--fe); font-size: 0.82rem; color: var(--tx2); background: var(--wh); border: 1.5px solid var(--bd); border-radius: 100px; padding: 6px 16px; cursor: pointer; transition: all 0.18s; display: inline-flex; align-items: center; gap: 5px; } .sh8-tag:hover { border-color: var(--or); color: var(--or); background: var(--orl); transform: translateY(-2px); box-shadow: 0 4px 12px rgba(249,115,22,0.12); } .sh8-tag-dot { width: 5px; height: 5px; border-radius: 50%; background: var(--bd); transition: background 0.18s; } .sh8-tag:hover .sh8-tag-dot { background: var(--or); } /* ── Keyframes ───────────────────────────── */ @keyframes sh8Up { from { opacity:0; transform: translateY(16px); } to { opacity:1; transform: translateY(0); } } /* ── Responsive ──────────────────────────── */ @media (max-width: 600px) { .sh8 { padding: 52px 16px 60px; } .sh8-bar { border-radius: 14px; padding: 10px 14px; flex-wrap: wrap; } .sh8-btn { width: 100%; justify-content: center; border-radius: 10px; margin-top: 8px; } } /* qr */ .kj { font-family: 'Google Sans', sans-serif; padding: 4rem 1.5rem 5rem; position: relative; /* ══ พื้นหลังรูปภาพ ══ เปลี่ยน url('YOUR_IMAGE.jpg') เป็น path รูปของท่าน */ background: url('../img/bg/BG02.png'); background-size: cover; background-position: center; background-repeat: no-repeat; /* overlay สีขาวกึ่งโปร่ง ปรับ opacity ได้ที่ rgba สุดท้าย */ isolation: isolate; } /* overlay */ .kj::after { content: ''; position: absolute; inset: 0; background: rgba(255,255,255,0.82); z-index: 0; pointer-events: none; } .kj > * { position: relative; z-index: 1; } /* ── heading ── */ .kj-head { text-align: center; margin-bottom: 3rem; } .kj-eyebrow { display: inline-block; font-size: .7rem; font-weight: 500; letter-spacing: .22em; text-transform: uppercase; color: #3a8a28; margin-bottom: .75rem; } .kj-title { font-family: 'Google Sans', sans-serif; font-weight: 600; font-size: clamp(1.3rem, 3.5vw, 1.85rem); color: #1a1a1a; letter-spacing: -.01em; } .kj-title span { color: #e86000; } /* ── grid ── */ .kj-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1.25rem; max-width: 1040px; margin: 0 auto; } /* ── card ── */ .kj-card { background: #fff; border: 1px solid #ebebeb; border-radius: 16px; padding: 1.6rem 1.4rem 1.3rem; display: flex; flex-direction: column; gap: .95rem; transition: transform .32s cubic-bezier(.25,.8,.25,1), box-shadow .32s ease, border-color .25s; animation: kj-up .5s ease both; cursor: pointer; position: relative; overflow: hidden; } .kj-card:nth-child(1){ animation-delay:.06s } .kj-card:nth-child(2){ animation-delay:.13s } .kj-card:nth-child(3){ animation-delay:.20s } .kj-card:nth-child(4){ animation-delay:.27s } @keyframes kj-up { from { opacity:0; transform:translateY(24px); } to { opacity:1; transform:translateY(0); } } .kj-card:hover { transform: translateY(-6px); box-shadow: 0 20px 50px rgba(0,0,0,.09); border-color: transparent; } /* left accent stripe */ .kj-card::before { content: ''; position: absolute; left: 0; top: 16px; bottom: 16px; width: 3px; border-radius: 0 3px 3px 0; transition: top .3s, bottom .3s; } .kj-card:hover::before { top: 0; bottom: 0; } .accent-green::before { background: #3a8a28; } .accent-orange::before { background: #e86000; } .accent-blue::before { background: #1877F2; } .accent-gold::before { background: #c99400; } /* ── card meta ── */ .kj-card-top { display: flex; align-items: flex-start; gap: .7rem; } .kj-ico { width: 40px; height: 40px; border-radius: 10px; display: flex; align-items: center; justify-content: center; flex-shrink: 0; transition: transform .28s ease; } .kj-card:hover .kj-ico { transform: scale(1.1); } .ico-g { background: #f0faf0; } .ico-o { background: #fff5f0; } .ico-b { background: #eff4ff; } .ico-y { background: #fffbec; } .kj-meta { flex: 1; min-width: 0; } .kj-plat { font-size: .58rem; font-weight: 600; letter-spacing: .13em; text-transform: uppercase; color: #aaa; margin-bottom: .15rem; white-space: nowrap; } .kj-name { font-family: 'Google Sans', sans-serif; font-size: .92rem; font-weight: 600; color: #222; line-height: 1.35; word-break: break-word; } /* ── QR / image area ── */ .kj-img { border-radius: 11px; aspect-ratio: 1/1; overflow: hidden; background: #f5f5f3; border: 1px solid #ededed; display: flex; align-items: center; justify-content: center; transition: border-color .25s; } .kj-card:hover .kj-img { border-color: #ccc; } .kj-img img { width:100%; height:100%; object-fit:cover; display:block; } /* placeholder */ .kj-ph { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: .6rem; padding: 1.2rem; text-align: center; width: 100%; height: 100%; } .kj-ph-grid { display: grid; grid-template-columns: repeat(7, 1fr); gap: 2px; width: 72px; height: 72px; } .kj-ph-grid s { border-radius: 1px; display: block; text-decoration: none; } .kj-ph p { font-size: .63rem; color: #bbb; line-height: 1.5; } /* Facebook animated placeholder */ .kj-fb { width: 100%; height: 100%; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: .8rem; } .kj-fb-orb { width: 54px; height: 54px; border-radius: 50%; background: linear-gradient(135deg, #1877F2, #42a5f5); display: flex; align-items: center; justify-content: center; box-shadow: 0 6px 20px rgba(24,119,242,.3); animation: kj-bob 3s ease-in-out infinite; } @keyframes kj-bob { 0%,100%{ transform: translateY(0) scale(1); } 50% { transform: translateY(-6px) scale(1.04); } } .kj-fb span { font-family: 'Google Sans', sans-serif; font-size: .78rem; font-weight: 600; color: #1877F2; text-align: center; } /* ── card footer ── */ .kj-card-foot { display: flex; align-items: center; justify-content: space-between; gap: .5rem; flex-wrap: wrap; } .kj-action { font-size: .72rem; font-weight: 600; letter-spacing: .03em; opacity: .7; transition: opacity .2s; display: flex; align-items: center; gap: .3rem; white-space: nowrap; } .kj-card:hover .kj-action { opacity: 1; } .kj-pill { font-size: .58rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; padding: .18rem .6rem; border-radius: 999px; border: 1px solid currentColor; opacity: .55; transition: opacity .25s; } .kj-card:hover .kj-pill { opacity: 1; } @media(max-width:860px){ .kj-grid { grid-template-columns: 1fr 1fr; gap: 1rem; } } @media(max-width:480px){ .kj-grid { grid-template-columns: 1fr 1fr; gap: .75rem; } .kj-card { padding: 1.2rem 1rem 1rem; } } @media(max-width:340px){ .kj-grid { grid-template-columns: 1fr; } } /* END qr */