:root {
    --mv-bg: #050505;
    --mv-card: #121212;
    --mv-card-2: #181818;
    --mv-red: #8f0704;
    --mv-red-bright: #c01610;
    --mv-cream: #f4eee6;
    --mv-soft: #c8bdb4;
    --mv-muted: #8f8580;
    --mv-line: rgba(255, 255, 255, .12);
    --mv-line-strong: rgba(255, 255, 255, .22);
    --mv-shadow: 0 24px 70px rgba(0, 0, 0, .45);
    --mv-title-bg: url("images/title-bg.png");
    --mv-font: "Bahnschrift", "Segoe UI Variable", "Segoe UI", Tahoma, Verdana, Arial, sans-serif;
    --mv-display: "Arial Black", "Bahnschrift", "Segoe UI", Tahoma, sans-serif;
}

html {
    min-width: 0;
    scroll-behavior: smooth;
}

body.mv-cpg-theme {
    min-width: 0;
    overflow-x: hidden;
    margin: 0;
    padding: 0;
    background: var(--mv-bg);
    color: var(--mv-cream);
    font: 13px/1.55 var(--mv-font);
}

body.mv-cpg-theme *,
body.mv-cpg-theme *::before,
body.mv-cpg-theme *::after {
    box-sizing: border-box;
}

body.mv-cpg-theme a {
    color: inherit;
    text-decoration: none;
}

body.mv-cpg-theme img {
    max-width: 100%;
    height: auto;
}

body.mv-cpg-theme table {
    max-width: 100%;
}

.mv-page {
    width: min(100%, 1640px);
    margin: 0 auto;
    padding: 0 clamp(10px, 2vw, 30px) 54px;
}

.mv-hero {
    position: relative;
    display: grid;
    justify-items: center;
    padding-top: 12px;
    overflow: visible;
    isolation: isolate;
}

.mv-hero::before,
.mv-hero::after {
    content: "";
    position: absolute;
    z-index: 1;
    left: 50%;
    top: 40%;
    width: min(58vw, 760px);
    height: min(16vw, 190px);
    border-radius: 999px;
    background:
        radial-gradient(circle at 42% 50%, rgba(192, 22, 16, .22) 0 9%, transparent 26%),
        radial-gradient(circle at 61% 46%, rgba(255, 255, 255, .16) 0 5%, transparent 19%),
        radial-gradient(circle at 70% 55%, rgba(255, 197, 86, .14) 0 6%, transparent 22%);
    opacity: .46;
    transform: translate3d(-50%, -50%, 0);
    pointer-events: none;
    animation: mvHeroGlowWash 12s ease-in-out infinite;
}

.mv-hero::after {
    width: min(42vw, 560px);
    height: min(12vw, 150px);
    opacity: .26;
    animation-delay: -5s;
    animation-duration: 15s;
}

.mv-eyebrow {
    width: calc(100vw + 2px);
    margin-left: calc(50% - 50vw);
    min-height: 30px;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    background: #000;
    border-bottom: 1px solid var(--mv-line);
    color: rgba(255, 255, 255, .82);
    font-size: clamp(8px, .68vw, 11px);
    font-weight: 800;
    letter-spacing: .72em;
    line-height: 1;
    text-transform: uppercase;
    white-space: nowrap;
}

.mv-eyebrow span {
    min-width: max-content;
}

.mv-header-art {
    position: relative;
    z-index: 2;
    width: min(100%, 1500px);
    margin-top: clamp(-4px, -1vw, -12px);
    margin-bottom: clamp(-150px, -10vw, -76px);
    display: block;
    filter:
        drop-shadow(0 0 16px rgba(192, 22, 16, .2))
        drop-shadow(0 24px 38px rgba(0, 0, 0, .42));
}

.mv-header-fx {
    position: absolute;
    z-index: 3;
    inset: 28px 0 4%;
    pointer-events: none;
    overflow: hidden;
}

.mv-orbit,
.mv-burst {
    position: absolute;
    display: block;
    border-radius: 999px;
    opacity: .28;
    transform: translate3d(0, 0, 0);
    filter: none;
    mix-blend-mode: screen;
    will-change: transform, opacity;
}

.mv-orbit-red {
    width: min(24vw, 330px);
    height: min(24vw, 330px);
    left: 29%;
    top: 24%;
    background: rgba(192, 22, 16, .28);
    box-shadow: 0 0 34px 14px rgba(192, 22, 16, .18);
    animation: mvGlowDrift 24s cubic-bezier(.42, 0, .2, 1) infinite;
}

.mv-orbit-gold {
    width: min(20vw, 280px);
    height: min(20vw, 280px);
    right: 27%;
    top: 36%;
    background: rgba(255, 197, 86, .22);
    box-shadow: 0 0 28px 12px rgba(255, 197, 86, .14);
    animation: mvGlowDrift 28s cubic-bezier(.42, 0, .2, 1) infinite reverse;
}

.mv-orbit-white {
    width: min(11vw, 150px);
    height: min(11vw, 150px);
    left: 51%;
    top: 18%;
    background: rgba(255, 255, 255, .2);
    box-shadow: 0 0 22px 9px rgba(255, 255, 255, .13);
    animation: mvPulseWhite 18s cubic-bezier(.42, 0, .2, 1) infinite;
}

.mv-burst {
    width: 240px;
    height: 240px;
    border: 0;
    background: radial-gradient(circle, rgba(255, 255, 255, .4) 0 6%, rgba(192, 22, 16, .42) 24%, rgba(192, 22, 16, .2) 50%, rgba(192, 22, 16, 0) 74%);
    box-shadow: 0 0 34px rgba(192, 22, 16, .18);
    opacity: 0;
    mix-blend-mode: screen;
}

.mv-burst-a {
    left: 39%;
    top: 38%;
    animation: mvBurst 3.6s cubic-bezier(.33, 0, .18, 1) infinite .15s;
}

.mv-burst-b {
    right: 34%;
    top: 46%;
    width: 215px;
    height: 215px;
    background: radial-gradient(circle, rgba(255, 255, 255, .48) 0 7%, rgba(255, 255, 255, .25) 34%, rgba(255, 255, 255, 0) 74%);
    mix-blend-mode: screen;
    animation: mvBurst 4.2s cubic-bezier(.33, 0, .18, 1) infinite .8s;
}

.mv-burst-c {
    left: 55%;
    top: 31%;
    width: 195px;
    height: 195px;
    background: radial-gradient(circle, rgba(255, 255, 255, .36) 0 7%, rgba(255, 197, 86, .34) 30%, rgba(255, 197, 86, 0) 72%);
    animation: mvBurst 3.9s cubic-bezier(.33, 0, .18, 1) infinite 1.35s;
}

.mv-burst-d {
    left: 35%;
    top: 55%;
    width: 190px;
    height: 190px;
    animation: mvBurst 4.7s cubic-bezier(.33, 0, .18, 1) infinite 1.9s;
}

.mv-burst-e {
    right: 41%;
    top: 28%;
    width: 290px;
    height: 290px;
    background: radial-gradient(circle, rgba(255, 255, 255, .4) 0 7%, rgba(192, 22, 16, .36) 30%, rgba(192, 22, 16, 0) 75%);
    animation: mvBurst 4.4s cubic-bezier(.33, 0, .18, 1) infinite 2.45s;
}

.mv-flash {
    position: absolute;
    width: 210px;
    height: 210px;
    display: block;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(255, 255, 255, .72) 0 4%, rgba(255, 255, 255, .26) 18%, rgba(192, 22, 16, .16) 42%, rgba(255, 255, 255, 0) 70%);
    opacity: 0;
    mix-blend-mode: screen;
    pointer-events: none;
    will-change: transform, opacity;
}

.mv-flash-a {
    left: 43%;
    top: 34%;
    animation: mvCameraFlash 7.2s ease-out infinite 1.2s;
}

.mv-flash-b {
    right: 35%;
    top: 42%;
    width: 170px;
    height: 170px;
    animation: mvCameraFlash 8.5s ease-out infinite 4.4s;
}

.mv-flash-c {
    left: 52%;
    top: 22%;
    width: 240px;
    height: 240px;
    animation: mvCameraFlash 10s ease-out infinite 6.6s;
}

.mv-welcome {
    position: relative;
    z-index: 2;
    width: min(100%, 1040px);
    margin: clamp(-128px, -8vw, -58px) auto 34px;
    padding: 24px clamp(22px, 3.4vw, 44px);
    border: 1px solid rgba(255, 255, 255, .08);
    border-radius: 8px;
    background: rgba(7, 7, 7, .78);
    box-shadow: 0 20px 54px rgba(0, 0, 0, .34);
    color: var(--mv-cream);
    text-align: left;
}

.mv-welcome::before {
    content: none;
    position: absolute;
    inset: auto;
    border: 0;
    pointer-events: none;
}

.mv-welcome p {
    position: relative;
    z-index: 1;
    max-width: 940px;
    margin: 0;
    color: rgba(244, 238, 230, .64);
    font-size: clamp(13px, 1.04vw, 15px);
    font-weight: 500;
    line-height: 1.75;
}

.mv-welcome strong {
    display: block;
    margin: 0 0 10px;
    color: rgba(255, 255, 255, .9);
    font-family: var(--mv-font);
    font-size: clamp(15px, 1.35vw, 19px);
    font-weight: 800;
    letter-spacing: .04em;
    line-height: 1.35;
    text-transform: none;
}

.mv-gallery-menu {
    position: relative;
    z-index: 4;
    width: min(100%, 1140px);
    margin: 0 auto 20px;
    text-align: center;
}

.mv-menu-row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 8px;
    margin: 0 0 9px;
}

.mv-system-menu {
    gap: 7px;
}

.mv-sub-menu {
    padding-top: 3px;
}

.mv-menu-button {
    min-height: 34px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 0 13px;
    border: 1px solid var(--mv-line-strong);
    border-radius: 999px;
    background: #181818;
    box-shadow: 0 8px 18px rgba(0, 0, 0, .24);
    color: #f8f4ee !important;
    cursor: pointer;
    font-size: 10px;
    font-weight: 900;
    letter-spacing: .07em;
    line-height: 1;
    text-transform: uppercase;
    white-space: nowrap;
    transition: transform .22s ease, border-color .22s ease, background-color .22s ease, box-shadow .22s ease;
}

.admin_menu a,
.button,
.buttonlist ul li a {
    min-height: 40px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 16px;
    border: 1px solid var(--mv-line-strong);
    border-radius: 6px;
    background: #242424;
    box-shadow: 0 10px 22px rgba(0, 0, 0, .28);
    color: #f8f4ee !important;
    cursor: pointer;
    font-size: 11px;
    font-weight: 900;
    letter-spacing: .08em;
    line-height: 1;
    text-transform: uppercase;
    white-space: nowrap;
    transition: transform .22s ease, border-color .22s ease, background-color .22s ease, box-shadow .22s ease;
}

.mv-menu-button::before {
    width: 15px;
    height: 15px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--mv-red-bright);
    font-family: "Font Awesome 6 Free", var(--mv-font);
    font-size: 10px;
    font-weight: 900;
    line-height: 1;
}

.mv-menu-home::before { content: "\f015"; }
.mv-menu-contact::before { content: "\f0e0"; }
.mv-menu-my_gallery::before { content: "\f03e"; }
.mv-menu-allow_memberlist::before { content: "\f0c0"; }
.mv-menu-upload_approval::before { content: "\f058"; }
.mv-menu-my_profile::before { content: "\f007"; }
.mv-menu-enter_admin_mode::before,
.mv-menu-leave_admin_mode::before { content: "\f013"; }
.mv-menu-sidebar::before { content: "\f0c9"; }
.mv-menu-upload_pic::before { content: "\f093"; }
.mv-menu-register::before { content: "\f234"; }
.mv-menu-login::before { content: "\f2f6"; }
.mv-menu-logout::before { content: "\f2f5"; }
.mv-menu-custom_link::before { content: "\f005"; }
.mv-menu-album_list::before { content: "\f07b"; }
.mv-menu-lastup::before { content: "\f017"; }
.mv-menu-lastcom::before { content: "\f075"; }
.mv-menu-topn::before { content: "\f06e"; }
.mv-menu-random::before { content: "\f074"; }
.mv-menu-toprated::before { content: "\f521"; }
.mv-menu-favpics::before { content: "\f004"; }
.mv-menu-browse_by_date::before { content: "\f073"; }
.mv-menu-search::before { content: "\f002"; }

.mv-menu-button:hover {
    transform: translateY(-1px);
    border-color: rgba(192, 22, 16, .82);
    background: #211413;
    box-shadow: 0 12px 24px rgba(0, 0, 0, .32);
    color: #fff !important;
}

.admin_menu a:hover,
.button:hover,
.buttonlist ul li a:hover {
    transform: translateY(-2px);
    border-color: rgba(192, 22, 16, .82);
    background: var(--mv-red);
    box-shadow: 0 16px 28px rgba(0, 0, 0, .36);
    color: #fff !important;
}

.mv-gallery-wrap {
    width: min(100%, 1220px);
    margin: 0 auto;
    padding: clamp(14px, 2vw, 22px);
    border: 1px solid rgba(192, 22, 16, .55);
    border-radius: 8px;
    background: rgba(8, 8, 8, .82);
    box-shadow: 0 28px 90px rgba(0, 0, 0, .48);
}

.mv-admin-dock {
    width: min(100%, 960px);
    margin: 0 auto 16px;
    text-align: center;
}

.mv-admin-dock summary {
    position: relative;
    width: max-content;
    max-width: 100%;
    min-height: 42px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto;
    padding: 0 22px;
    border: 1px solid rgba(255, 255, 255, .18);
    border-radius: 999px;
    background: #111;
    color: var(--mv-soft);
    cursor: pointer;
    user-select: none;
    font-size: 10px;
    font-family: var(--mv-display);
    font-weight: 900;
    letter-spacing: .16em;
    line-height: 1;
    text-transform: uppercase;
    list-style: none;
    touch-action: manipulation;
}

.mv-admin-dock summary::-webkit-details-marker {
    display: none;
}

.mv-admin-dock summary::before {
    content: "+";
    margin-right: 8px;
    color: var(--mv-red-bright);
    pointer-events: none;
}

.mv-admin-dock[open] summary::before {
    content: "-";
}

.mv-admin-panel {
    width: min(100%, 760px);
    margin: 10px auto 0;
    padding: 10px;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 7px;
    border: 1px solid rgba(255, 255, 255, .1);
    border-radius: 10px;
    background: #0b0b0b;
    box-shadow: 0 18px 38px rgba(0, 0, 0, .34);
}

.mv-admin-panel a {
    min-height: 30px;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 0 10px;
    border: 1px solid rgba(255, 255, 255, .12);
    border-radius: 999px;
    background: #171717;
    color: var(--mv-muted);
    font-size: 10px;
    font-weight: 850;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.mv-admin-panel a:hover {
    background: var(--mv-red);
    color: #fff;
}

.mv-menu-button img {
    display: none !important;
}

.mv-admin-panel img,
.admin_menu img,
.mv-album-admin img {
    width: 16px;
    height: 16px;
    display: inline-block !important;
    flex: 0 0 16px;
    margin: 0 7px 0 0;
    object-fit: contain;
    vertical-align: -3px;
    filter: none;
}

.mv-admin-panel img {
    display: none !important;
}

.mv-admin-panel a::before {
    width: 15px;
    height: 15px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: #050505;
    color: var(--mv-red-bright);
    font-family: "Font Awesome 6 Free", var(--mv-font);
    font-size: 9px;
    font-weight: 900;
    line-height: 1;
}

.mv-admin-panel a[href*="admin.php"]::before { content: "\f013"; }
.mv-admin-panel a[href*="catmgr.php"]::before { content: "\f07b"; }
.mv-admin-panel a[href*="albmgr.php"]::before,
.mv-admin-panel a[href*="modifyalb.php"]::before { content: "\f03e"; }
.mv-admin-panel a[href*="picmgr.php"]::before,
.mv-admin-panel a[href*="editpics.php"]::before { content: "\f303"; }
.mv-admin-panel a[href*="usermgr.php"]::before,
.mv-admin-panel a[href*="profile.php"]::before { content: "\f007"; }
.mv-admin-panel a[href*="banning.php"]::before { content: "\f05e"; }
.mv-admin-panel a[href*="groupmgr.php"]::before { content: "\f0c0"; }
.mv-admin-panel a[href*="reviewcom.php"]::before { content: "\f086"; }
.mv-admin-panel a[href*="pluginmgr.php"]::before { content: "\f12e"; }
.mv-admin-panel a[href*="keywordmgr.php"]::before { content: "\f02b"; }
.mv-admin-panel a[href*="util.php"]::before { content: "\f0ad"; }
.mv-admin-panel a[href*="phpinfo.php"]::before { content: "\f1c9"; }
.mv-admin-panel a[href*="versioncheck.php"]::before,
.mv-admin-panel a[href*="update"]::before { content: "\f021"; }

.mv-admin-panel a span,
.admin_menu a span,
.mv-album-admin a span {
    display: inline-flex;
    align-items: center;
}

table {
    font-size: 13px;
}

h1,
h2,
h3,
p {
    margin: 0;
    letter-spacing: 0;
}

ul,
ol {
    margin: 0;
    padding-left: 20px;
}

img[src$="spacer.gif"],
img[src$="spacer.gif"] + br {
    display: none !important;
}

.maintable {
    width: 100%;
    margin: 0 auto 22px;
    border: 1px solid var(--mv-line);
    border-collapse: separate;
    border-spacing: 0;
    border-radius: 8px;
    overflow: hidden;
    background: var(--mv-card);
    color: var(--mv-cream);
    box-shadow: 0 18px 44px rgba(0, 0, 0, .22);
}

.maintable table {
    border-collapse: separate;
    border-spacing: 0;
}

.tableh1,
.tableh2,
.sortorder_cell,
.sortorder_options {
    min-height: 58px;
    padding: 13px 18px;
    border-bottom: 1px solid var(--mv-line);
    background-color: #0a0a0a;
    background-image: var(--mv-title-bg);
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
    background-origin: border-box;
    background-clip: padding-box;
    box-shadow:
        inset 0 9px 18px rgba(0, 0, 0, .38),
        inset 0 -9px 18px rgba(0, 0, 0, .44),
        inset 0 0 34px rgba(0, 0, 0, .36);
    color: #fff;
    font-family: var(--mv-display);
    font-size: 12px;
    font-weight: 900;
    letter-spacing: .24em;
    text-transform: uppercase;
    vertical-align: middle;
}

.maintable > tbody > tr:first-child > .tableh1:not(.mv-gallery-stats):not(:has(.statlink)),
.maintable > tbody > tr:first-child > .tableh2,
.mv-cat-header-row .mv-section-title,
.mv-thumb-title h2 {
    color: #fff;
    font-family: var(--mv-display);
    font-size: clamp(13px, 1.35vw, 18px);
    font-weight: 900;
    letter-spacing: .18em;
    line-height: 1.1;
    text-align: center;
    text-transform: uppercase;
    text-shadow:
        0 0 16px rgba(192, 22, 16, .2),
        0 0 26px rgba(255, 255, 255, .08);
}

.mv-section-title,
.tableh1[colspan] {
    color: #fff;
    text-shadow:
        0 0 18px rgba(192, 22, 16, .32),
        0 0 30px rgba(255, 255, 255, .1);
}

.tableh1 .icon,
.tableh2 .icon,
.tableh1 > img:first-child,
.tableh2 > img:first-child {
    display: none !important;
}

.tableh1 h2,
.tableh2 h2 {
    margin: 0;
    color: #fff;
    font-family: var(--mv-display);
    font-size: clamp(13px, 1.35vw, 18px);
    line-height: 1.1;
    letter-spacing: .18em;
    text-align: center;
    text-transform: uppercase;
}

.mv-title-label,
.mv-section-title > span,
.mv-thumb-title h2 > span,
.tableh1 h2 > span,
.tableh2 h2 > span {
    display: inline-block;
    max-width: 100%;
    padding: 7px 15px 8px;
    border: 1px solid rgba(255, 255, 255, .08);
    border-radius: 4px;
    background: rgba(0, 0, 0, .72);
    box-shadow: 0 10px 24px rgba(0, 0, 0, .26);
    color: #fff;
}

.maintable > tbody > tr:first-child > .tableh1,
.maintable > tbody > tr:first-child > .tableh2,
.mv-thumb-view-heading {
    min-height: 58px;
}

.maintable > tbody > tr:first-child > .tableh1,
.maintable > tbody > tr:first-child > .tableh2 {
    height: 58px;
}

.maintable > tbody > tr:first-child > .tableh1:not(.mv-gallery-stats),
.maintable > tbody > tr:first-child > .tableh2 {
    letter-spacing: .18em;
}

.tableh1::before,
.tableh2::before,
.mv-section-title::before {
    content: none;
}

.tableh1 a,
.tableh2 a,
.sortorder_options a,
.statlink,
.statlink a {
    color: #fff;
}

.statlink strong {
    color: var(--mv-red-bright);
}

.mv-gallery-stats {
    padding: 14px 18px;
    background: #090909;
}

.mv-gallery-stats .statlink {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 6px;
    color: rgba(255, 255, 255, .6);
    font-family: var(--mv-display);
    font-size: clamp(9px, .85vw, 11px);
    font-weight: 900;
    letter-spacing: .12em;
    line-height: 1.5;
    text-transform: uppercase;
}

.mv-gallery-stats .statlink::before {
    content: none;
}

.mv-gallery-stats .statlink strong {
    display: inline;
    padding: 0 3px;
    color: var(--mv-red-bright);
    font-family: var(--mv-display);
    font-size: 1.02em;
    font-weight: 900;
    letter-spacing: inherit;
    line-height: inherit;
}

.mv-gallery-stats .statlink strong::before {
    content: none;
}

.mv-cat-header-row .mv-section-title {
    padding: 18px 20px;
    background-color: #080808;
    background-image: var(--mv-title-bg);
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
    background-origin: border-box;
    background-clip: padding-box;
    box-shadow:
        inset 0 9px 18px rgba(0, 0, 0, .38),
        inset 0 -9px 18px rgba(0, 0, 0, .44),
        inset 0 0 34px rgba(0, 0, 0, .36);
}

.tableb,
.tableb_alternate,
.tablef,
.display_media,
.thumbnails {
    padding: 14px;
    background: var(--mv-card);
    color: var(--mv-soft);
}

.tableb_alternate,
.tablef {
    background: var(--mv-card-2);
}

.catrow,
.catrow_noalb {
    position: relative;
    padding: 0;
    border-top: 1px solid rgba(255, 255, 255, .08);
    background: #141414;
    color: var(--mv-soft);
    transition: background-color .24s ease, transform .24s ease, box-shadow .24s ease;
}

tr:hover > .catrow,
tr:hover > .catrow_noalb {
    background: #1d1716;
    box-shadow: inset 5px 0 0 var(--mv-red-bright);
}

.catlink {
    position: relative;
    display: inline-block;
    min-height: 0;
    margin: 0;
    padding-bottom: 10px;
    color: #fff;
    font-family: var(--mv-display);
    font-size: clamp(18px, 2.2vw, 24px);
    font-weight: 900;
    letter-spacing: .01em;
    line-height: 1;
}

.catlink::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 38px;
    height: 3px;
    background: var(--mv-red-bright);
    transform-origin: left center;
    transition: width .28s ease, background-color .22s ease, opacity .22s ease;
}

.mv-cat-row:hover .catlink::after {
    width: 100%;
    background: rgba(255, 255, 255, .72);
}

.mv-cat-card {
    min-height: 116px;
    display: grid;
    grid-template-columns: 82px minmax(0, 1fr);
    align-items: center;
    gap: 17px;
    padding: 18px clamp(18px, 3vw, 34px);
}

.mv-cat-media {
    position: relative;
    width: 76px;
    height: 95px;
    display: grid;
    place-items: center;
    border: 0;
    border-radius: 10px;
    background: #0a0a0a;
    box-shadow: none;
    transition: transform .24s ease, opacity .24s ease;
}

.mv-cat-media::after {
    content: none;
}

.mv-cat-media.has-thumb {
    overflow: visible;
}

.mv-cat-thumb,
.mv-cat-thumb a,
.mv-cat-thumb img,
.mv-cat-thumb .image,
.mv-cat-thumb .thumbnail {
    width: 100%;
    height: 100%;
    display: block;
}

.mv-cat-thumb {
    overflow: hidden;
    border-radius: 10px;
}

.mv-cat-thumb a {
    border-radius: 10px;
    overflow: hidden;
}

.mv-cat-thumb img,
.mv-cat-thumb .image,
.mv-cat-thumb .thumbnail {
    max-width: none;
    border: 0 !important;
    border-radius: 10px;
    object-fit: cover;
    filter: grayscale(1) contrast(1.08) brightness(.9);
    transform: scale(1.08);
    transition: filter .24s ease, transform .24s ease;
}

.mv-cat-row:hover .mv-cat-media {
    transform: translateX(2px);
}

.mv-cat-row:hover .mv-cat-thumb img,
.mv-cat-row:hover .mv-cat-thumb .image,
.mv-cat-row:hover .mv-cat-thumb .thumbnail {
    transform: scale(1.13);
    filter: grayscale(.1) contrast(1.06) brightness(1);
}

.mv-folder-icon {
    position: relative;
    width: 46px;
    height: 40px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: rgba(192, 22, 16, .78);
    transition: transform .24s ease, color .24s ease;
}

.mv-folder-icon::before {
    content: "\f07c";
    font-family: "Font Awesome 6 Free", var(--mv-font);
    font-size: 31px;
    font-weight: 900;
    line-height: 1;
}

.mv-folder-icon::after {
    content: none;
}

.mv-cat-row:hover .mv-folder-icon {
    color: rgba(255, 255, 255, .86);
    transform: translateY(-1px);
}

.mv-cat-edit-thumb {
    position: absolute;
    right: -11px;
    top: -11px;
    z-index: 3;
    width: 24px;
    height: 24px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(255, 255, 255, .12);
    border-radius: 7px;
    background: rgba(5, 5, 5, .9);
    color: #fff;
    box-shadow: none;
    opacity: .84;
    transform: none;
    transition: transform .2s ease, border-color .2s ease, background-color .2s ease, opacity .2s ease;
}

.mv-cat-edit-thumb::before {
    content: "\f303";
    color: var(--mv-red-bright);
    font-family: "Font Awesome 6 Free", var(--mv-font);
    font-size: 9px;
    font-weight: 900;
}

.mv-cat-edit-thumb span {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
}

.mv-cat-edit-thumb:hover {
    transform: translateY(-1px);
    border-color: rgba(192, 22, 16, .82);
    background: #050505;
    opacity: 1;
}

.mv-cat-row-empty {
    opacity: .48;
    filter: saturate(.45);
    pointer-events: none;
}

.mv-cat-row-empty .mv-cat-card {
    cursor: default;
}

.mv-cat-row-empty .catlink,
.mv-cat-row-empty .catlink a {
    color: #fff;
    pointer-events: none;
}

.mv-cat-row-empty .catlink::after {
    opacity: .35;
    width: 32px;
    background: rgba(255, 255, 255, .22);
}

.mv-cat-row-empty .mv-cat-media,
.mv-cat-row-empty .mv-folder-icon {
    background: transparent;
    color: rgba(255, 255, 255, .18);
    box-shadow: none;
}

.mv-cat-row-empty .mv-cat-media,
.mv-cat-row-empty .mv-cat-thumb img,
.mv-cat-row-empty .mv-cat-thumb .image,
.mv-cat-row-empty .mv-cat-thumb .thumbnail,
.mv-cat-row-empty .mv-folder-icon,
.mv-cat-row-empty .mv-folder-icon::before,
.mv-cat-row-empty .catlink::after {
    transform: none !important;
    filter: none;
    transition: none;
}

.mv-cat-row-empty:hover > .catrow_noalb {
    background: #141414;
    box-shadow: none;
}

.catlink a {
    color: inherit;
}

.mv-cat-desc {
    max-width: 760px;
    margin-top: 7px;
    color: var(--mv-muted);
    font-size: 13px;
}

.mv-cat-pills {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 11px;
}

.mv-cat-pills span {
    min-height: 27px;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 0 10px;
    border: 1px solid rgba(255, 255, 255, .12);
    border-radius: 999px;
    background: #0a0a0a;
    color: var(--mv-muted);
    font-size: 10px;
    font-weight: 850;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.mv-cat-pills strong {
    color: #fff;
}

.catrow,
.catrow_noalb,
.catrow td,
.catrow_noalb td {
    line-height: 1.5;
}

.alblink {
    display: block;
    font-weight: 900;
}

.alblink a,
.thumb_title_title,
.pic_title {
    color: #fff;
    font-weight: 900;
}

.mv-album-list-row {
    background: #111;
}

.mv-album-list-cell {
    padding: 12px !important;
    border-top: 1px solid rgba(255, 255, 255, .08);
    vertical-align: top;
}

.mv-album-card {
    min-height: 100%;
    display: grid;
    grid-template-columns: minmax(128px, 34%) minmax(0, 1fr);
    gap: 18px;
    padding: 12px;
    border: 1px solid rgba(255, 255, 255, .1);
    border-radius: 8px;
    background: #090909;
    box-shadow: 0 16px 34px rgba(0, 0, 0, .26);
    transition: border-color .22s ease, box-shadow .22s ease, transform .22s ease;
}

.mv-album-card:hover {
    transform: translateY(-2px);
    border-color: rgba(192, 22, 16, .62);
    box-shadow: 0 22px 42px rgba(0, 0, 0, .34);
}

.mv-album-cover {
    position: relative;
    display: block;
    align-self: start;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, .1);
    border-radius: 8px;
    background: #050505;
    aspect-ratio: 4 / 5;
}

.mv-album-cover::after {
    content: "Open";
    position: absolute;
    right: 10px;
    bottom: 10px;
    padding: 6px 9px;
    border: 1px solid rgba(255, 255, 255, .18);
    border-radius: 999px;
    background: #050505;
    color: #fff;
    font-size: 10px;
    font-weight: 900;
    letter-spacing: .1em;
    text-transform: uppercase;
    opacity: 0;
    transform: translateY(8px);
    transition: opacity .2s ease, transform .2s ease;
}

.mv-album-cover:hover::after {
    opacity: 1;
    transform: translateY(0);
}

.mv-album-cover img,
.mv-album-cover .image,
.mv-album-cover .thumbnail {
    width: 100% !important;
    max-width: none;
    height: 100% !important;
    display: block;
    object-fit: cover;
    border: 0;
    border-radius: 7px;
    box-shadow: none;
    transition: transform .28s ease, filter .28s ease;
}

.mv-album-card:hover .mv-album-cover img {
    transform: scale(1.045);
    filter: contrast(1.08) saturate(1.04);
}

.mv-album-body {
    min-width: 0;
    align-self: center;
}

.mv-album-title {
    position: relative;
    max-width: 100%;
    display: block;
    margin-bottom: 16px;
    font-family: var(--mv-display);
    font-size: clamp(13px, .95vw, 15px);
    letter-spacing: .14em;
    line-height: 1.18;
    text-transform: uppercase;
}

.mv-album-title a {
    position: relative;
    max-width: min(100%, 24ch);
    display: inline-block;
    padding: 0 0 7px;
    border: 0;
    background: transparent;
    color: #f2f0ed;
    overflow: hidden;
    text-decoration: none;
    text-overflow: ellipsis;
    white-space: nowrap;
    transition: max-width .32s ease, color .22s ease, text-shadow .22s ease;
}

.mv-album-title a::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 34px;
    height: 2px;
    background: rgba(192, 22, 16, .72);
    transition: width .28s ease, background-color .22s ease, opacity .22s ease;
}

.mv-album-title a:hover {
    max-width: 100%;
    overflow: visible;
    color: #fff;
    white-space: normal;
    word-break: break-word;
    text-shadow: 0 0 18px rgba(192, 22, 16, .18);
}

.mv-album-title a:hover::after {
    width: min(100%, 120px);
    background: rgba(255, 255, 255, .5);
}

.mv-album-admin {
    margin: 0 0 12px;
}

.mv-album-admin:empty {
    display: none;
}

.mv-album-admin .admin_menu_wrapper {
    justify-content: flex-start;
    margin: 0;
}

.mv-album-desc {
    margin: 0 0 7px;
    color: var(--mv-soft);
    font-size: 13px;
    font-weight: 700;
}

.mv-album-list-tabs {
    padding: 14px 16px 16px;
    background: #090909;
    text-align: center;
}

.mv-album-list-tabs .tableh1 {
    border-bottom: 0;
}

.mv-album-list-tabs table,
.mv-album-list-tabs tbody,
.mv-album-list-tabs tr {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 8px;
}

.mv-album-list-tabs .mv-tabs-summary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 0;
    margin: 0 8px 0 0;
    padding: 7px 0;
    color: rgba(255, 255, 255, .6);
    font-family: var(--mv-font);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .03em;
    line-height: 1.4;
    text-transform: none;
}

.mv-album-list-tabs .mv-tabs-jump {
    min-height: 34px;
    padding: 0 8px;
    border-left: 1px solid rgba(255, 255, 255, .08);
    color: rgba(255, 255, 255, .72);
}

.mv-album-list-tabs .mv-tab-active,
.mv-album-list-tabs .mv-tab-link a,
.mv-album-list-tabs .mv-tab-disabled {
    min-width: 34px;
    height: 34px;
    border-radius: 8px;
    background: #111;
}

.mv-album-list-tabs .mv-tab-link a:hover {
    border-color: rgba(192, 22, 16, .62);
    color: #fff;
}

.mv-album-list-tabs .mv-tab-active {
    border-color: rgba(192, 22, 16, .8);
    background: #180c0b;
}

.mv-album-list-tabs .mv-tab-arrow a {
    font-size: 0;
}

.mv-album-list-tabs .mv-tab-arrow a::before {
    content: "\f054";
    font-family: "Font Awesome 6 Free", var(--mv-font);
    font-size: 10px;
    font-weight: 900;
}

.mv-album-list-tabs .mv-tab-prev a::before {
    content: "\f053";
}

.mv-thumb-view {
    margin: 0 auto 26px;
    border: 1px solid var(--mv-line);
    border-radius: 8px;
    overflow: hidden;
    background: #111;
    box-shadow: var(--mv-shadow);
}

.mv-thumb-view-heading {
    border-bottom: 1px solid var(--mv-line);
    background-color: #080808;
    background-image: var(--mv-title-bg);
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
    background-origin: border-box;
    background-clip: padding-box;
    box-shadow:
        inset 0 9px 18px rgba(0, 0, 0, .38),
        inset 0 -9px 18px rgba(0, 0, 0, .44),
        inset 0 0 34px rgba(0, 0, 0, .36);
}

.mv-thumb-title-row {
    min-height: 58px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 12px;
    padding: 18px;
    text-align: center;
}

.mv-thumb-title .icon {
    display: none !important;
}

.mv-thumb-title {
    width: 100%;
}

.mv-thumb-title h2 {
    margin: 0;
    color: #fff;
    font-family: var(--mv-display);
    font-size: clamp(13px, 1.35vw, 18px);
    line-height: 1.1;
    letter-spacing: .18em;
    text-transform: uppercase;
    text-shadow:
        0 0 16px rgba(192, 22, 16, .2),
        0 0 26px rgba(255, 255, 255, .08);
}

.mv-thumb-actions {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 8px 10px;
    padding: 0;
    border: 0;
    background: transparent;
    text-align: center;
}

.mv-thumb-actions .buttonlist,
.mv-album-admin-list {
    margin: 0;
}

.mv-thumb-admin-list {
    width: 100%;
    padding: 8px 0 2px;
}

.mv-thumb-actions .buttonlist ul,
.mv-album-admin-list ul,
.buttonlist ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 7px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.mv-thumb-actions .sortorder_options {
    min-height: 34px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 5px;
    padding: 6px 9px;
    border: 1px solid rgba(255, 255, 255, .13);
    border-radius: 6px;
    background: #151515;
    color: rgba(255, 255, 255, .68);
    font-family: var(--mv-display);
    font-size: 9px;
    font-weight: 900;
    letter-spacing: .16em;
    text-transform: uppercase;
    white-space: nowrap;
}

.mv-thumb-actions .sortorder_options .statlink,
.mv-thumb-actions .sortorder_options .statlink a {
    display: inline-flex;
    align-items: center;
    gap: 5px;
}

.mv-thumb-actions .sortorder_options img {
    width: 9px;
    height: 9px;
    display: inline-block !important;
    opacity: .7;
}

.mv-sort-panel {
    width: min(100%, 900px);
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding-top: 4px;
}

.mv-sort-chip {
    min-height: 34px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 7px 10px;
    border: 1px solid rgba(255, 255, 255, .13);
    border-radius: 6px;
    background: #151515;
    color: rgba(255, 255, 255, .72);
    font-family: var(--mv-display);
    font-size: 9px;
    font-weight: 900;
    letter-spacing: .13em;
    line-height: 1;
    text-transform: uppercase;
    white-space: nowrap;
}

.mv-sort-chip-label {
    color: rgba(255, 255, 255, .72);
}

.mv-sort-chip a {
    min-width: 18px;
    min-height: 18px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    color: #fff;
    text-decoration: none;
}

.mv-sort-chip a:hover {
    background: rgba(192, 22, 16, .24);
    color: #fff;
}

.mv-admin-action,
.buttonlist ul li a.mv-admin-action {
    min-height: 34px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    padding: 7px 10px;
    border: 1px solid rgba(255, 255, 255, .15);
    border-radius: 6px;
    background: #191919;
    color: rgba(255, 255, 255, .9);
    font-family: var(--mv-display);
    font-size: 9px;
    font-weight: 900;
    letter-spacing: .12em;
    line-height: 1;
    text-transform: uppercase;
    box-shadow: 0 12px 26px rgba(0, 0, 0, .22);
}

.mv-admin-action::before {
    width: 15px;
    height: 15px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: #0a0a0a;
    color: var(--mv-red-bright);
    font-family: "Font Awesome 6 Free", var(--mv-font);
    font-size: 9px;
    font-weight: 900;
    line-height: 1;
}

.mv-admin-action:hover {
    border-color: rgba(192, 22, 16, .75);
    background: #231211;
    transform: translateY(-1px);
}

.mv-admin-action img {
    display: none !important;
}

.mv-admin-delete::before {
    content: "\f1f8";
}

.mv-admin-properties::before {
    content: "\f013";
}

.mv-admin-category::before {
    content: "\f07b";
}

.mv-admin-edit::before {
    content: "\f303";
}

.mv-admin-albums::before {
    content: "\f03e";
}

.mv-thumb-grid {
    display: grid;
    grid-template-columns: repeat(var(--mv-thumb-cols, 4), minmax(0, 1fr));
    gap: clamp(12px, 1.4vw, 18px);
    padding: clamp(14px, 1.8vw, 22px);
    background: #111;
}

.mv-thumb-card {
    min-width: 0;
    padding: 9px;
    border: 1px solid rgba(255, 255, 255, .08);
    border-radius: 8px;
    background: #0a0a0a;
    transition: transform .22s ease, border-color .22s ease, background-color .22s ease, box-shadow .22s ease;
}

.mv-thumb-card:hover {
    transform: translateY(-4px);
    border-color: rgba(192, 22, 16, .58);
    background: #121010;
    box-shadow: 0 18px 36px rgba(0, 0, 0, .34);
}

.mv-thumb-link {
    position: relative;
    display: block;
    overflow: hidden;
    border-radius: 7px;
    background: #050505;
}

.mv-thumb-link::before {
    content: "";
    position: absolute;
    z-index: 1;
    inset: 0;
    border-radius: inherit;
    background:
        linear-gradient(135deg, rgba(255, 255, 255, .16) 0%, rgba(255, 255, 255, .06) 28%, rgba(0, 0, 0, .18) 58%, rgba(0, 0, 0, .34) 100%),
        linear-gradient(42deg, rgba(255, 255, 255, 0) 16%, rgba(255, 255, 255, .16) 50%, rgba(255, 255, 255, 0) 70%);
    opacity: .72;
    pointer-events: none;
    transition: opacity .32s ease;
}

.mv-thumb-link::after {
    content: "\f002";
    position: absolute;
    z-index: 2;
    left: 50%;
    top: 50%;
    width: 42px;
    height: 42px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(255, 255, 255, .42);
    border-radius: 50%;
    background: rgba(5, 5, 5, .56);
    color: #fff;
    font-family: "Font Awesome 6 Free", var(--mv-font);
    font-size: 15px;
    font-weight: 900;
    box-shadow:
        0 0 18px rgba(255, 255, 255, .12),
        0 0 24px rgba(192, 22, 16, .16);
    opacity: .84;
    transform: translate(-50%, -50%) scale(.94);
    pointer-events: none;
    transition: opacity .24s ease, transform .24s ease, border-color .24s ease, background-color .24s ease;
}

.mv-thumb-card:hover .mv-thumb-link::before {
    opacity: .18;
}

.mv-thumb-card:hover .mv-thumb-link::after {
    border-color: rgba(192, 22, 16, .9);
    background: rgba(143, 7, 4, .74);
    opacity: 1;
    transform: translate(-50%, -50%) scale(1.08);
}

.mv-thumb-link img,
.mv-thumb-link .image,
.mv-thumb-link .thumbnail {
    width: 100%;
    max-width: none;
    aspect-ratio: 4 / 5;
    display: block;
    object-fit: cover;
    border: 0;
    border-radius: 7px;
    box-shadow: none;
    filter: grayscale(1) contrast(1.16) brightness(.82) saturate(.28);
    transition: transform .28s ease, filter .28s ease, opacity .28s ease;
}

.mv-thumb-card:hover .mv-thumb-link img,
.mv-thumb-card:hover .mv-thumb-link .image,
.mv-thumb-card:hover .mv-thumb-link .thumbnail {
    transform: scale(1.045);
    filter: grayscale(0) contrast(1.08) brightness(1.04) saturate(1.08);
}

.mv-album-new-ribbon {
    position: absolute;
    z-index: 3;
    top: 8px;
    left: 8px;
    display: inline-flex;
    align-items: center;
    min-height: 22px;
    padding: 0 8px;
    border: 1px solid rgba(255, 255, 255, .14);
    border-radius: 999px;
    background: rgba(6, 6, 6, .76);
    color: #fff;
    font-size: 9px;
    font-weight: 900;
    letter-spacing: .12em;
    line-height: 1;
    text-transform: uppercase;
    box-shadow:
        0 8px 18px rgba(0, 0, 0, .34),
        inset 0 -1px 0 rgba(192, 22, 16, .42);
    pointer-events: none;
    transition: transform .22s ease, background-color .22s ease, border-color .22s ease;
}

.mv-album-new-ribbon::before {
    content: "\f005";
    margin-right: 5px;
    color: var(--mv-red-bright);
    font-family: "Font Awesome 6 Free", var(--mv-font);
    font-size: 8px;
    font-weight: 900;
}

.mv-thumb-card:hover .mv-album-new-ribbon {
    transform: translateY(-2px);
    border-color: rgba(192, 22, 16, .42);
    background: rgba(8, 8, 8, .9);
}

.mv-album-thumb-card .mv-thumb-copy {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    column-gap: 8px;
    row-gap: 7px;
    padding-top: 11px;
}

.mv-album-thumb-card .mv-thumb-copy .thumb_title_title {
    flex: 0 0 100%;
}

.mv-album-thumb-card .mv-thumb-copy .thumb_title_views,
.mv-album-thumb-card .mv-thumb-copy .thumb_caption_ctime {
    margin: 0;
}

.mv-album-thumb-card .mv-thumb-copy .thumb_title_views {
    flex: 0 0 100%;
}

.mv-album-thumb-card .mv-thumb-copy .thumb_caption_ctime {
    min-height: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
}

.mv-thumb-overlay {
    position: absolute;
    z-index: 2;
    inset: auto 9px 9px 9px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    width: max-content;
    max-width: calc(100% - 18px);
    margin: 0 auto;
    padding: 7px 9px;
    border: 1px solid rgba(255, 255, 255, .13);
    border-radius: 6px;
    background: rgba(5, 5, 5, .88);
    color: #fff;
    font-size: 10px;
    font-weight: 900;
    letter-spacing: .11em;
    line-height: 1.2;
    text-transform: uppercase;
    opacity: 0;
    transform: translateY(8px);
    transition: opacity .22s ease, transform .22s ease;
}

.mv-thumb-overlay::after {
    content: none;
    color: var(--mv-red-bright);
}

.mv-thumb-card:hover .mv-thumb-overlay {
    opacity: 1;
    transform: translateY(0);
}

.mv-thumb-copy {
    padding: 10px 4px 2px;
    text-align: center;
}

.mv-thumb-copy:empty {
    display: none;
}

.mv-thumb-copy .thumb_title,
.mv-thumb-copy .thumb_caption,
.mv-thumb-copy .thumb_filename,
.mv-thumb-copy .thumb_num_comments {
    display: block;
    max-width: 100%;
}

.mv-thumb-copy .thumb_title_title {
    margin-top: 0;
    color: #fff;
    font-size: 12px;
    letter-spacing: .01em;
    line-height: 1.25;
}

.mv-thumb-copy .thumb_title_views {
    width: max-content;
    max-width: 100%;
    min-height: 22px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 5px;
    margin: 8px auto 0;
    padding: 0 9px;
    border: 1px solid rgba(255, 255, 255, .08);
    border-radius: 999px;
    background: #111;
    color: rgba(255, 255, 255, .76);
    font-size: 10px;
    font-weight: 900;
    letter-spacing: .05em;
    line-height: 1;
}

.mv-thumb-copy .thumb_title_views::before {
    content: "\f06e";
    color: rgba(192, 22, 16, .86);
    font-family: "Font Awesome 6 Free", var(--mv-font);
    font-size: 9px;
    font-weight: 900;
}

.mv-thumb-copy .thumb_caption_caption {
    margin: 7px auto 0;
    max-width: 24ch;
}

.mv-thumb-copy .thumb_caption_ctime {
    width: max-content;
    max-width: 100%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 5px;
    margin: 7px auto 0;
    color: rgba(200, 189, 180, .66);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .08em;
    line-height: 1.2;
    text-transform: uppercase;
}

.mv-thumb-copy .thumb_caption_ctime::before {
    content: "\f133";
    color: rgba(192, 22, 16, .66);
    font-family: "Font Awesome 6 Free", var(--mv-font);
    font-size: 9px;
    font-weight: 400;
}

.mv-thumb-card .admin_menu,
.mv-thumb-card .admin_menu_wrapper,
.mv-thumb-card .buttonlist {
    margin-top: 10px;
}

.mv-thumb-card .admin_menu a,
.mv-thumb-card .buttonlist ul li a:not(.mv-admin-action) {
    min-height: 32px;
    padding: 7px 10px;
    gap: 7px;
    border-radius: 6px;
    background: #151515;
    font-size: 9px;
    letter-spacing: .1em;
}

.mv-thumb-card .admin_menu a::before,
.mv-thumb-card .buttonlist ul li a:not(.mv-admin-action)::before {
    width: 15px;
    height: 15px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: #050505;
    color: var(--mv-red-bright);
    font-family: "Font Awesome 6 Free", var(--mv-font);
    font-size: 9px;
    font-weight: 900;
    line-height: 1;
}

.mv-thumb-card .admin_menu a[href*="delete"]::before {
    content: "\f1f8";
}

.mv-thumb-card .admin_menu a[href*="edit"]::before,
.mv-thumb-card .buttonlist ul li a[href*="edit"]:not(.mv-admin-action)::before {
    content: "\f303";
}

.mv-thumb-card .admin_menu a[href*="modify"]::before,
.mv-thumb-card .buttonlist ul li a[href*="modify"]:not(.mv-admin-action)::before {
    content: "\f013";
}

.mv-thumb-card .admin_menu img,
.mv-thumb-card .buttonlist img {
    display: none !important;
}

.rounded_menu[href*="op=editcat"],
.rounded_menu[href*="op=deletecat"] {
    min-width: 28px;
    min-height: 28px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(255, 255, 255, .08);
    border-radius: 50%;
    background: #111;
    color: var(--mv-red-bright);
    text-decoration: none;
}

.rounded_menu[href*="op=editcat"] img,
.rounded_menu[href*="op=deletecat"] img {
    display: none !important;
}

.rounded_menu[href*="op=editcat"]::before,
.rounded_menu[href*="op=deletecat"]::before {
    font-family: "Font Awesome 6 Free", var(--mv-font);
    font-size: 11px;
    font-weight: 900;
    line-height: 1;
}

.rounded_menu[href*="op=editcat"]::before {
    content: "\f303";
}

.rounded_menu[href*="op=deletecat"]::before {
    content: "\f1f8";
}

.mv-thumb-tabs {
    min-height: 62px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    padding: 12px 18px;
    border-top: 1px solid var(--mv-line);
    background: #080808;
}

.mv-tabs-summary,
.mv-tab-active,
.mv-tab-link,
.mv-tab-disabled,
.mv-tabs-gap,
.mv-tabs-jump {
    padding: 7px 8px;
    color: rgba(255, 255, 255, .72);
    font-family: var(--mv-display);
    font-size: 10px;
    font-weight: 900;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.mv-tab-active,
.mv-tab-link a,
.mv-tab-disabled {
    min-width: 32px;
    height: 28px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(255, 255, 255, .12);
    border-radius: 6px;
    background: #151515;
}

.mv-tab-active {
    border-color: rgba(192, 22, 16, .68);
    color: #fff;
}

.mv-tabs-summary {
    margin-right: auto;
    color: rgba(255, 255, 255, .78);
}

.mv-tabs-jump {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    white-space: nowrap;
}

.mv-tabs-jump select {
    min-height: 34px;
    padding: 4px 26px 4px 10px;
    border-radius: 6px;
}

.mv-tab-link,
.mv-tab-active,
.mv-tab-disabled,
.mv-tabs-gap {
    flex: 0 0 auto;
}

.mv-tab-arrow img {
    display: none !important;
}

.mv-tab-arrow a::before {
    content: ">";
}

td.thumbnails {
    padding: 14px !important;
    text-align: center;
    vertical-align: top;
    background: var(--mv-card);
}

td.thumbnails > table {
    width: 100%;
    height: 100%;
}

td.thumbnails td[align="center"] {
    position: relative;
    min-height: 100%;
    padding: 10px;
    border: 1px solid rgba(255, 255, 255, .08);
    border-radius: 8px;
    background: #0d0d0d;
    transition: transform .24s ease, border-color .24s ease, box-shadow .24s ease, background-color .24s ease;
}

td.thumbnails td[align="center"]:hover {
    transform: translateY(-5px);
    border-color: rgba(192, 22, 16, .72);
    background: #151111;
    box-shadow: 0 20px 36px rgba(0, 0, 0, .32);
}

td.thumbnails a {
    position: relative;
    display: block;
    overflow: hidden;
    border-radius: 7px;
}

td.thumbnails a::after {
    content: "View";
    position: absolute;
    right: 10px;
    bottom: 10px;
    padding: 6px 9px;
    border: 1px solid rgba(255, 255, 255, .2);
    border-radius: 999px;
    background: #050505;
    color: #fff;
    font-size: 10px;
    font-weight: 900;
    letter-spacing: .12em;
    text-transform: uppercase;
    opacity: 0;
    transform: translateY(8px);
    transition: opacity .2s ease, transform .2s ease;
}

td.thumbnails a:hover::after {
    opacity: 1;
    transform: translateY(0);
}

.filmstrip_background a::after {
    display: none !important;
}

td.thumbnails img,
.image,
.thumbnail {
    border: 0;
    border-radius: 7px;
    background: #090909;
    box-shadow: 0 14px 28px rgba(0, 0, 0, .34);
}

td.thumbnails img,
.thumbnail {
    width: 100%;
    max-width: 190px;
    aspect-ratio: 4 / 5;
    object-fit: cover;
    transition: transform .28s ease, filter .28s ease;
}

td.thumbnails a:hover img,
td.thumbnails a:hover .thumbnail {
    transform: scale(1.045);
    filter: contrast(1.08) saturate(1.04);
}

.thumb_title,
.thumb_caption,
.thumb_filename,
.thumb_num_comments,
.album_stat {
    display: block;
    max-width: 100%;
    overflow-wrap: anywhere;
}

.thumb_title_title {
    margin-top: 12px;
    color: #fff;
    font-family: var(--mv-display);
    font-size: 13px;
    line-height: 1.25;
}

.thumb_title_views,
.thumb_caption_ctime,
.thumb_caption_caption,
.thumb_filename,
.thumb_num_comments,
.album_stat {
    color: var(--mv-muted);
    font-size: 11px;
    line-height: 1.35;
}

.thumb_title_views {
    margin-top: 6px;
    color: #c9b9b2;
    font-weight: 800;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.thumb_caption_ctime {
    margin-top: 3px;
    color: #8d7f79;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.thumb_caption_caption {
    margin-top: 5px;
    color: #b7aaa4;
}

.display_media {
    padding: clamp(18px, 3vw, 34px);
    background: #080808;
}

.display_media table,
.display_media tr,
.display_media td {
    max-width: 100%;
}

.display_media .image {
    width: auto;
    max-width: min(100%, 920px);
    max-height: 78vh;
    object-fit: contain;
    border: 1px solid rgba(255, 255, 255, .12);
    border-radius: 8px;
    background: #000;
    box-shadow: 0 30px 80px rgba(0, 0, 0, .58);
}

.imageborder {
    border: 1px solid rgba(255, 255, 255, .14);
    border-radius: 8px;
    background: #080808;
}

.pic_title {
    margin: 4px 0;
    font-size: clamp(18px, 2vw, 26px);
    line-height: 1.15;
    text-align: center;
}

.pic_caption {
    color: var(--mv-soft);
    font-size: 13px;
    line-height: 1.45;
    text-align: center;
}

.navmenu {
    border-right: 1px solid rgba(255, 255, 255, .08);
    background: #101010;
    color: #fff;
    font-weight: 900;
}

.navmenu a,
a.navmenu_pic {
    min-height: 42px;
    min-width: 38px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 8px 10px;
    color: #fff;
    transition: transform .22s ease, opacity .22s ease;
}

.navmenu a:hover,
a.navmenu_pic:hover {
    transform: translateY(-1px);
    opacity: .74;
}

.navmenu img {
    display: none !important;
}

.navmenu a::before,
a.navmenu_pic::before,
#pic_info_button a::before,
#slideshow_button a::before {
    min-width: 20px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font: 900 18px/1 var(--mv-font);
    text-shadow: 0 0 16px rgba(192, 22, 16, .36);
}

a.navmenu_pic::before {
    content: "•";
    opacity: .45;
}

a.navmenu_pic:has(img[src*="start"])::before {
    content: "«";
    opacity: 1;
}

a.navmenu_pic:has(img[src*="prev"])::before {
    content: "‹";
    opacity: 1;
}

a.navmenu_pic:has(img[src*="next"])::before {
    content: "›";
    opacity: 1;
}

a.navmenu_pic:has(img[src*="end"])::before {
    content: "»";
    opacity: 1;
}

a.navmenu_pic:has(img[src*="thumb"])::before,
a.navmenu_pic[title*="thumbnail" i]::before {
    content: "▦";
    font-size: 15px;
    opacity: 1;
}

#pic_info_button a::before {
    content: "i";
    width: 20px;
    height: 20px;
    border: 1px solid rgba(255, 255, 255, .28);
    border-radius: 50%;
    font-size: 12px;
    font-style: italic;
}

#slideshow_button a::before {
    content: "▶";
    font-size: 14px;
}

#filmstrip .maintable {
    background: #050505;
}

.filmstrip_background {
    padding: 16px !important;
    background: #050505 !important;
}

.cpg-filmstrip {
    width: min(100%, 980px);
    margin: 24px auto 0;
}

.cpg-filmstrip-shell {
    padding: 14px;
    border: 1px solid rgba(255, 255, 255, .1);
    border-radius: 8px;
    background: #070707;
    box-shadow: 0 18px 46px rgba(0, 0, 0, .42);
}

.cpg-filmstrip-title {
    min-height: 28px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 10px;
    color: #fff;
    font-family: var(--mv-display);
    font-size: 10px;
    font-weight: 900;
    letter-spacing: .24em;
    text-transform: uppercase;
}

.cpg-filmstrip-title span:first-child::before {
    content: "▦";
    margin-right: 9px;
    color: var(--mv-red-bright);
    font-size: 12px;
}

.cpg-filmstrip-count {
    flex: 0 0 auto;
    padding: 6px 8px;
    border: 1px solid rgba(255, 255, 255, .12);
    border-radius: 999px;
    color: var(--mv-muted);
    font-size: 9px;
    letter-spacing: .12em;
}

.cpg-filmstrip-rail {
    display: grid;
    grid-template-columns: 38px minmax(0, 1fr) 38px;
    align-items: stretch;
    gap: 10px;
}

.cpg-filmstrip-track {
    min-width: 0;
    display: flex;
    gap: 10px;
    overflow-x: auto;
    overflow-y: hidden;
    padding: 8px;
    border: 1px solid rgba(255, 255, 255, .08);
    border-radius: 8px;
    background: #0b0b0b;
    scroll-behavior: smooth;
    scroll-snap-type: x proximity;
    scrollbar-color: rgba(192, 22, 16, .7) rgba(255, 255, 255, .08);
    scrollbar-width: thin;
}

.cpg-filmstrip-track::-webkit-scrollbar {
    height: 8px;
}

.cpg-filmstrip-track::-webkit-scrollbar-track {
    background: #111;
}

.cpg-filmstrip-track::-webkit-scrollbar-thumb {
    background: var(--mv-red);
    border-radius: 999px;
}

.cpg-filmstrip-item {
    position: relative;
    flex: 0 0 92px;
    aspect-ratio: 1 / 1;
    display: block;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, .1);
    border-radius: 8px;
    background: #050505;
    opacity: .62;
    scroll-snap-align: center;
    transition: opacity .22s ease, transform .22s ease, border-color .22s ease, box-shadow .22s ease;
}

.cpg-filmstrip-item::after {
    content: attr(data-filmstrip-index);
    position: absolute;
    right: 6px;
    bottom: 6px;
    min-width: 19px;
    height: 19px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(255, 255, 255, .16);
    border-radius: 999px;
    background: #050505;
    color: rgba(255, 255, 255, .72);
    font-size: 10px;
    font-weight: 900;
}

.cpg-filmstrip-item:hover,
.cpg-filmstrip-item.is-current {
    opacity: 1;
    transform: translateY(-3px);
    border-color: rgba(192, 22, 16, .9);
    box-shadow:
        0 0 0 1px rgba(192, 22, 16, .42),
        0 0 26px rgba(192, 22, 16, .3),
        0 16px 30px rgba(0, 0, 0, .46);
}

.strip_image,
.cpg-filmstrip-item img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    border: 0 !important;
    border-radius: 7px;
    box-shadow: none;
    transition: transform .24s ease, filter .24s ease;
}

.cpg-filmstrip-item:hover img,
.cpg-filmstrip-item.is-current img {
    transform: scale(1.06);
    filter: contrast(1.08) saturate(1.06);
}

.cpg-filmstrip-button {
    width: 38px;
    min-height: 100%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(255, 255, 255, .12);
    border-radius: 8px;
    background: #111;
    color: #fff;
    cursor: pointer;
    transition: background-color .2s ease, border-color .2s ease, opacity .2s ease, transform .2s ease;
}

.cpg-filmstrip-button::before {
    font: 900 26px/1 var(--mv-font);
}

.cpg-filmstrip-prev::before {
    content: "‹";
}

.cpg-filmstrip-next::before {
    content: "›";
}

.cpg-filmstrip-button:hover {
    transform: translateY(-1px);
    border-color: rgba(192, 22, 16, .82);
    background: var(--mv-red);
}

.cpg-filmstrip-button:disabled {
    cursor: default;
    opacity: .26;
    transform: none;
    background: #0b0b0b;
}

.admin_menu_wrapper {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 7px;
    margin-bottom: 14px;
}

.admin_float {
    float: none;
    display: inline-flex;
    margin: 0;
}

.textinput,
.listbox,
.listbox_lang,
input[type="text"],
input[type="password"],
input[type="search"],
textarea,
select {
    max-width: 100%;
    min-height: 38px;
    padding: 7px 10px;
    border: 1px solid var(--mv-line-strong);
    border-radius: 6px;
    background: #101010;
    color: var(--mv-cream);
    font-family: var(--mv-font);
}

.radio,
.checkbox {
    vertical-align: middle;
}

.footer,
.footer a,
.mv-footer,
.mv-footer a {
    color: rgba(255, 255, 255, .55);
    font-size: 10px;
    text-align: center;
}

.mv-footer {
    padding: 0 0 30px;
}

.mv-site-copyright {
    margin-bottom: 6px;
    color: rgba(255, 255, 255, .66);
    font-family: var(--mv-display);
    font-size: 10px;
    font-weight: 850;
    letter-spacing: .1em;
    text-transform: uppercase;
}

.important {
    color: #ff4c45;
    font-weight: 900;
}

.debug_text,
.cpg_message_info,
.cpg_message_success,
.cpg_message_warning,
.cpg_message_error,
.cpg_message_validation,
.message,
.red,
.green,
.blue {
    margin: 12px 0;
    padding: 14px 16px;
    border: 1px solid var(--mv-line-strong);
    border-radius: 6px;
    background: #111;
    color: var(--mv-cream);
}

.topmenu,
.bblink {
    color: var(--mv-red-bright);
}

.img_caption_table {
    width: 100%;
    border: 0;
    background: #101010;
}

.img_caption_table th,
.img_caption_table td {
    padding: 10px 12px;
    border-top: 1px solid rgba(255, 255, 255, .08);
    background: #101010;
    color: var(--mv-soft);
}

.clickable_option {
    cursor: default;
}

#cpgChooseLanguageWrapper,
#cpgChooseThemeWrapper {
    float: left;
}

@media (max-width: 980px) {
    .mv-page {
        padding: 0 8px 38px;
        overflow: hidden;
    }

    .mv-hero {
        padding-top: 0;
        overflow: hidden;
    }

    .mv-eyebrow {
        min-height: 24px;
        justify-content: flex-start;
        padding-left: 12px;
        font-size: 8px;
        letter-spacing: .42em;
    }

    .mv-header-art {
        width: min(132%, 1120px);
        max-width: none;
        margin-top: -2px;
        margin-bottom: clamp(-98px, -11vw, -42px);
    }

    .mv-welcome {
        margin-top: clamp(-84px, -10vw, -38px);
    }

    .mv-gallery-menu {
        width: 100%;
        margin-bottom: 14px;
    }

    .mv-menu-row {
        gap: 7px;
        margin-bottom: 7px;
    }

    .mv-menu-button,
    .admin_menu a,
    .button,
    .buttonlist ul li a {
        min-height: 36px;
        padding-inline: 11px;
        font-size: 10px;
        letter-spacing: .06em;
    }

    .mv-gallery-wrap {
        width: 100%;
        padding: 10px;
    }

    .maintable,
    .maintable tbody,
    .maintable tr,
    .maintable td {
        max-width: 100%;
    }

    td.thumbnails {
        display: inline-block;
        width: 50% !important;
    }

    .tableh1,
    .tableh2,
    .sortorder_cell,
    .sortorder_options {
        padding: 11px 13px;
        font-size: 10px;
        letter-spacing: .16em;
    }

    .mv-thumb-title-row {
        gap: 10px;
        padding: 13px;
    }

    .mv-thumb-actions {
        justify-content: center;
        text-align: center;
    }

    .mv-thumb-grid {
        --mv-thumb-cols: 3;
        grid-template-columns: repeat(var(--mv-thumb-cols), minmax(0, 1fr));
        gap: 12px;
        padding: 12px;
    }

    .mv-thumb-tabs {
        flex-wrap: wrap;
        justify-content: flex-start;
    }

    .mv-tabs-summary {
        width: 100%;
    }

    .mv-album-list-cell {
        width: 50% !important;
        display: inline-block;
        padding: 10px !important;
    }

    .mv-album-card {
        grid-template-columns: 1fr;
    }

    .mv-album-cover {
        width: 100%;
    }
}

@media (max-width: 640px) {
    body.mv-cpg-theme {
        font-size: 12px;
    }

    .mv-page {
        padding: 0 0 30px;
    }

    .mv-eyebrow {
        width: 100vw;
        justify-content: flex-start;
        padding: 0 10px;
        font-size: 7px;
        letter-spacing: .15em;
        text-overflow: clip;
    }

    .mv-header-art {
        width: 160%;
        margin-bottom: -40px;
        transform: translateX(-1%);
    }

    .mv-welcome {
        margin-top: -34px;
        padding: 18px 16px;
    }

    .mv-welcome strong {
        letter-spacing: .03em;
    }

    .mv-gallery-menu {
        padding: 0 2px;
    }

    .mv-menu-row {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 6px;
    }

    .mv-menu-button,
    .admin_menu a,
    .button,
    .buttonlist ul li a {
        width: 100%;
        min-height: 29px;
        padding-inline: 7px;
        font-size: 8px;
        letter-spacing: .04em;
        text-align: center;
        white-space: normal;
    }

    .mv-gallery-wrap {
        padding: 5px;
        border-left: 0;
        border-right: 0;
        border-radius: 0;
        border-color: rgba(192, 22, 16, .38);
        overflow-x: hidden;
    }

    .maintable,
    .maintable tbody,
    .maintable tr,
    .maintable td {
        width: 100% !important;
    }

    .maintable {
        margin-bottom: 14px;
    }

    .maintable > tbody > tr > td.tableh1 {
        white-space: normal !important;
        overflow-wrap: anywhere;
    }

    .statlink {
        overflow-wrap: anywhere;
    }

    .mv-section-title {
        padding-block: 10px;
    }

    .mv-gallery-stats {
        font-size: 9px;
        line-height: 1.6;
        letter-spacing: .08em;
    }

    td.thumbnails {
        width: 100% !important;
    }

    .mv-thumb-title-row {
        min-height: 0;
        padding: 10px;
    }

    .mv-thumb-title h2 {
        font-size: 13px;
        line-height: 1.15;
        letter-spacing: .08em;
    }

    .mv-thumb-grid {
        --mv-thumb-cols: 2;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 7px;
        padding: 7px;
    }

    .mv-thumb-card {
        padding: 6px;
        border-radius: 7px;
    }

    .mv-thumb-link,
    .mv-thumb-link img,
    .mv-thumb-link .image,
    .mv-thumb-link .thumbnail {
        border-radius: 6px;
    }

    .mv-thumb-copy {
        padding-top: 7px;
    }

    .mv-thumb-copy .thumb_title_title {
        font-size: 11px;
        line-height: 1.2;
    }

    .thumb_title_views,
    .thumb_caption_ctime,
    .thumb_caption_caption,
    .thumb_filename,
    .thumb_num_comments,
    .album_stat {
        font-size: 9px;
    }

    .mv-thumb-actions .buttonlist ul,
    .mv-album-admin-list ul,
    .buttonlist ul {
        justify-content: center;
    }

    .mv-admin-action,
    .buttonlist ul li a.mv-admin-action,
    .mv-thumb-actions .sortorder_options {
        min-height: 34px;
        padding-inline: 9px;
        font-size: 9px;
    }

    .mv-thumb-tabs {
        min-height: 0;
        gap: 7px;
        padding: 10px;
        overflow-x: auto;
    }

    .mv-tabs-summary,
    .mv-tab-active,
    .mv-tab-link,
    .mv-tab-disabled,
    .mv-tabs-gap,
    .mv-tabs-jump {
        font-size: 9px;
        letter-spacing: .08em;
    }

    .catrow,
    .catrow_noalb {
        padding: 0;
    }

    .mv-cat-card {
        min-height: 84px;
        grid-template-columns: 54px minmax(0, 1fr);
        gap: 12px;
        padding: 13px 11px;
    }

    .mv-cat-media {
        width: 48px;
        height: 60px;
        border-radius: 8px;
    }

    .mv-cat-thumb a,
    .mv-cat-thumb img,
    .mv-cat-thumb .image,
    .mv-cat-thumb .thumbnail {
        border-radius: 8px;
    }

    .mv-folder-icon {
        width: 34px;
        height: 30px;
    }

    .mv-folder-icon::before {
        font-size: 23px;
    }

    .mv-cat-edit-thumb {
        width: 20px;
        height: 20px;
        top: -7px;
        right: -7px;
    }

    .mv-cat-edit-thumb::before {
        font-size: 9px;
    }

    .catlink,
    .catlink a {
        font-size: 16px;
        line-height: 1.1;
    }

    .mv-cat-desc {
        font-size: 11px;
    }

    .mv-cat-pills span {
        min-height: 25px;
        padding-inline: 8px;
        font-size: 9px;
    }

    .mv-album-list-cell {
        display: block;
        width: 100% !important;
        padding: 8px !important;
    }

    .mv-album-card {
        grid-template-columns: 96px minmax(0, 1fr);
        gap: 10px;
        padding: 9px;
    }

    .mv-album-title {
        font-size: 13px;
        letter-spacing: .06em;
    }

    .mv-admin-panel {
        width: 100%;
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 7px;
        justify-content: flex-start;
    }

    .mv-admin-panel a {
        width: 100%;
        min-width: 0;
    }

    .cpg-filmstrip-shell {
        padding: 10px;
    }

    .cpg-filmstrip-title {
        align-items: flex-start;
        flex-direction: column;
        gap: 7px;
        letter-spacing: .18em;
    }

    .cpg-filmstrip-rail {
        grid-template-columns: 32px minmax(0, 1fr) 32px;
        gap: 7px;
    }

    .cpg-filmstrip-button {
        width: 32px;
    }

    .cpg-filmstrip-item {
        flex-basis: 76px;
    }

    .display_media .image {
        max-height: 70vh;
    }

    .display_media,
    .imageborder {
        padding: 8px;
    }

    .display_media .image {
        width: 100%;
        max-width: 100%;
    }

    .navmenu {
        border-right: 0;
        border-bottom: 1px solid rgba(255, 255, 255, .08);
    }

    .navmenu a,
    a.navmenu_pic {
        min-width: 0;
        min-height: 30px;
        padding: 5px;
    }

    .navmenu a::before,
    a.navmenu_pic::before,
    #pic_info_button a::before,
    #slideshow_button a::before {
        min-width: 16px;
        font-size: 14px;
    }

    .navmenu.cpg-pic-pos,
    .navmenu[align="center"] {
        font-size: 10px;
        letter-spacing: .03em;
        line-height: 1.15;
        white-space: normal;
    }

    .display_media table .navmenu {
        width: auto !important;
    }

    .pic_title {
        font-size: 18px;
    }

    .pic_caption {
        font-size: 12px;
    }
}

@media (max-width: 420px) {
    .mv-header-art {
        width: 172%;
        margin-bottom: -32px;
    }

    .mv-menu-row {
        grid-template-columns: 1fr 1fr;
    }

    .mv-thumb-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 6px;
        padding: 6px;
    }

    .mv-thumb-overlay {
        display: none;
    }

    .mv-thumb-copy .thumb_caption_caption {
        display: none;
    }

    .mv-album-card {
        grid-template-columns: 82px minmax(0, 1fr);
    }

    .mv-album-desc {
        display: none;
    }
}

@media (max-width: 360px) {
    .mv-menu-button,
    .admin_menu a,
    .button,
    .buttonlist ul li a {
        font-size: 8px;
        letter-spacing: .02em;
    }

    .mv-thumb-grid {
        grid-template-columns: 1fr;
    }

    .mv-admin-panel {
        grid-template-columns: 1fr;
    }
}

@keyframes mvGlowDrift {
    0%, 100% {
        transform: translate3d(0, 0, 0) scale(.98);
        opacity: .16;
    }
    32% {
        transform: translate3d(7px, -4px, 0) scale(1.03);
        opacity: .23;
    }
    58% {
        transform: translate3d(12px, -7px, 0) scale(1.06);
        opacity: .3;
    }
    82% {
        transform: translate3d(-8px, 5px, 0) scale(1.02);
        opacity: .22;
    }
}

@keyframes mvHeroGlowWash {
    0%, 100% {
        opacity: .24;
        transform: translate3d(-50%, -50%, 0) scale(.96);
    }
    42% {
        opacity: .5;
        transform: translate3d(-49%, -51%, 0) scale(1.03);
    }
    68% {
        opacity: .32;
        transform: translate3d(-51%, -49%, 0) scale(1);
    }
}

@keyframes mvPulseWhite {
    0%, 100% {
        transform: scale(.9);
        opacity: .06;
    }
    32% {
        transform: scale(.98);
        opacity: .13;
    }
    50% {
        transform: scale(1.08);
        opacity: .2;
    }
    72% {
        transform: scale(1.01);
        opacity: .12;
    }
}

@keyframes mvBurst {
    0%, 100% {
        transform: translate3d(0, 0, 0) scale(.2);
        opacity: 0;
    }
    12% {
        transform: translate3d(-6px, -4px, 0) scale(.72);
        opacity: .28;
    }
    22% {
        transform: translate3d(8px, -12px, 0) scale(1);
        opacity: .7;
    }
    34% {
        transform: translate3d(16px, -20px, 0) scale(1.14);
        opacity: .52;
    }
    56% {
        transform: translate3d(22px, -28px, 0) scale(1.28);
        opacity: .22;
    }
    78% {
        transform: translate3d(34px, -42px, 0) scale(1.48);
        opacity: 0;
    }
}

@keyframes mvCameraFlash {
    0%, 72%, 100% {
        transform: translate3d(0, 0, 0) scale(.72);
        opacity: 0;
    }
    75% {
        transform: translate3d(0, 0, 0) scale(.96);
        opacity: .08;
    }
    77% {
        transform: translate3d(0, 0, 0) scale(1.12);
        opacity: .58;
    }
    80% {
        transform: translate3d(0, 0, 0) scale(1.28);
        opacity: .16;
    }
    86% {
        transform: translate3d(0, 0, 0) scale(1.44);
        opacity: 0;
    }
}
