/* --- CORE VARIABLES (Default Theme: Pop Art) --- */
:root {
    /* Typography */
    --font-heading: 'Space Grotesk', sans-serif;
    --font-body: 'DM Sans', sans-serif;
    --input-font-size: 1rem;
    --input-height: 3rem;

    --font-size-sm: 5px;
    --font-size-md: 5px;
    --font-size-lg: 5px;

    /* Layout */
    --spacing-xs: 0.5rem;
    --spacing-sm: 1rem;
    --spacing-md: 2rem;
    --spacing-lg: 4rem;
    --border-radius: 10px;
    --border-width: 2px;

    --c-nav: rgb(148, 161, 182);

    /* #F2EBDF */
    --c-panel: #F2EBDF;
    --c-muted: #e0e0e0;
    --c-bg: #EAC8A6;
    /* white */
    --card-bg: #fbfaf9;
    --c-input: #181818;

    --c-accent: #734D3A;
    --c-disabled: #ca5726;

    --c-primary: #ff6230;
    --c-hover: #dc562e;
    --c-active: #ff5521;

    --accent-text: #4c270b;

    --c-text: #2A2525;

    --input: #f3f4f6;

    --c-accent: #000000;

    --c-outline: #4c270b;

    --c-primary-text: #ffffff;
    --c-secondary: #0099FF;

    --c-border: rgba(130, 130, 130, 0.2);

    --bt-padding: 8px 16px;

    --c-success: #17d224;
    --c-warning: #e68611;
    --c-error: #e6310c;

    /* Effects */
    --c-shadow: rgba(130, 130, 130, 0.2);
    --shadow-offset: 5px;
    --shadow: var(--shadow-offset) var(--shadow-offset) 30px var(--c-shadow);

    --shadow-hover: 0px 4px 20px rgba(0, 0, 0, 0.2);
    --shadow-active: 0px 0px 0px var(--c-border);

    --box-shadow: 0px 4px 6px rgba(0, 0, 0, 0.1);

    --transition-speed: 0.2s;
    --transition: 0.2s cubic-bezier(0.2, 0, 0, 1);
    --opacity-disabled: 2;
    --blur: 20%;
}

.success {
    color: var(--c-primary-text);
    background-color: var(--c-success);
}

.success div {
    color: var(--c-primary-text);
}

.error {
    color: var(--c-primary-text);
    background-color: var(--c-error);
}

.error div {
    color: var(--c-primary-text);
}

.spacing {
    padding: 10px 0;
}

.spacing .card {
    margin: 0;
}

/* [data-theme="glass"] {
--c-bg: linear-gradient(135deg, #c2c0d4 40%, #5d5a82 100%);
--border-radius: 24px;
    --c-panel: rgba(255, 255, 255, 0.1);
    --c-border: rgba(255, 255, 255, 0.2);
} */

/* [data-theme="dark"] {
--c-bg: #657786;

} */

*,
*::before,
*::after {

    /* box-sizing: border-box; */
}



html,
body {
    height: 100%;
    margin: 0;
    padding: 0;
}



body {
    display: flex;
    flex-direction: column;
    align-items: center;

    font-family: var(--font-body);
    background: #FDD2A9;
    color: var(--c-text);
    line-height: 1.6;


}

main>* {}

.contents {
    display: contents;
}

main {

    margin: 0;
    padding: 0;
    width: 100%;
    max-width: 800px;
    margin: auto;
    flex: 1;
}

header {
    max-width: 800px;
    margin: auto;
}


.page {
    max-width: 800px;
    margin: 0 auto;

    /* background: #bbb; */
    /* padding: 20px; */

    /* box-shadow: var(--shadow); */
}



nav .items button,
nav .items a,
nav .items .btn,
nav .brand {
    border-radius: var(--border-radius);
    border: none;
}

nav .brand{
    font-weight: bolder;
}

nav .items ul {
    width: 100%;
    flex-flow: wrap;
}

#Description{
    font-size: 1.1rem;
    font-weight: normal;
}

.subNav {
    gap: 0;
    background: var(--c-panel);
    overflow: hidden;
    border-radius: 0px 0px 15px 15px;
    box-shadow: var(--box-shadow);
}

.subNav a,
.subNav button {
    padding: 10px 14px;
    box-shadow: none;
    color: var(--c-text);
    background: none;
}

.subNav a:hover,
.subNav button:hover {
    /* background: none; */
    border-radius: 0;
    color: var(--c-primary-text);
}

.subNav a.active {
    border-radius: 0;
    color: var(--c-primary-text);
}

nav .items,
nav .right {
    
    /* gap: 8px 8px; */
    display: flex;
    flex-flow: wrap;
    padding: 0;
    margin: 0;
}

button.right {
    padding: 0 14px;
}

.separator {
    border-left: var(--c-border) solid var(--border-width);
    height: 24px;
    margin: auto 10px;
}

nav .right {
    justify-content: right;
    margin-left: auto;
}

nav .brand {
    padding: 5px 15px 0px 15px;
    line-height: 1.2;
    display: flex;
    background: var(--card-bg);
    border: var(--c-primary) solid 2px;
    color: var(--c-primary);
    flex-flow: column;
}


nav .brand img {
    border: none;
    border-radius: 0;
    height: 18px;
}

nav {
    font-weight: bold;
    max-width: 800px;
    border-radius: var(--border-radius);
    /* gap: 8px 8px; */
    display: grid;
    /* background-color: gray; */
    padding: 0;
    margin: 0px 15px 0px 15px;
    /* margin: 5px 15px 0px 15px; */
}




.tabs>div {
    display: none;
    /* hide all tab content */
}

.tabs>div.show {
    display: block;
    /* show only the active one */
}

.alert {
    border: var(--c-border) solid var(--border-width);
    padding: var(--bt-padding);
    color: var(--c-primary-text);
}

.alert.success {
    background-color: var(--c-success);
}

.alert.error {
    background-color: var(--c-error);
}



.topNav {
    background: var(--c-accent);
    padding: 5px 5px;
    max-width: 850px;
    border-radius: 0 0 15px 15px;
    margin: 0;
    gap: 0;

    /* background-color: var(--c-primary); */
}

.topNav ul,
.topNav .right {
    gap: 0;
}

nav.topNav .items{
    display: flex;
  flex-wrap: wrap;   /* THIS is the key */
}

nav.topNav .items a.active {
    background: var(--c-active);

    /* border-radius: 0; */
    /* border-bottom: 3px solid var(--c-active); */
    /* color: var(--c-active); */
    color: black;
}

nav.topNav .items a.active:hover {
    color: black;
}


nav.topNav .items button,
nav.topNav .items a,
nav.topNav .items .btn,
nav.topNav .brand {
    box-shadow: none;
    font-weight: bold;
    height: 100%;
    padding: 0 7px;
    background: none;
    color: var(--c-primary-text);
    border: none;
}

nav.topNav .items button i {
    background-color: var(--c-primary-text);
}

nav.topNav .items button:hover,
nav.topNav .items a:hover,
nav.topNav .items .btn:hover,
nav.topNav .brand:hover {
    color: var(--c-primary);

    border: none;
}

nav.topNav .dropdown button i {
    background: rgb(255, 196, 0);
}

.badge {
    position: absolute;
    background-color: rgb(242, 235, 223);
    bottom: -8px;
    left: -7px;
    height: 25px;
    width: 25px;
    text-align: center;
    align-content: center;
    color: rgb(0, 0, 0);
    border-radius: 44px;
    border: black solid 2px;
}

.stretch {
    width: 100%;
    height: 100%;
}


button,
a,
.btn {
    border-radius: var(--border-radius);
    display: inline-flex;
    justify-content: center;
    align-items: center;
    margin: 0;
    color: var(--c-primary-text);
    padding: var(--bt-padding);
    font-size: 1rem;
    font-weight: bold;
    font-family: inherit;
    text-align: center;
    text-decoration: none;
    background-color: var(--c-primary);
    /* box-shadow: var(--box-shadow); */
    border: none;
    /* border: var(--c-border) solid var(--border-width); */
    cursor: pointer;
    /* transition: background-color 0.2s ease, transform 0.1s ease; */
}


button:hover,
a:hover,
.btn:hover {
    /* box-shadow: var(--shadow-hover); */
    background-color: var(--c-hover);
}

button:active,
a:active,
.btn:active {
    transform: scale(0.97);

}

button:focus,
a:focus,
.btn:focus {
    /* outline: 2px solid #004578;
    outline-offset: 2px; */
    background-color: var(--c-active);
}


.card,
h1,
h2,
h3 {
    display: block;
    border-radius: var(--border-radius);
    text-align: left;
    margin: 7px 0;
    padding: 5px;
    /* border: var(--c-border) solid var(--border-width); */
    justify-content: flex-start;
    
}

.card {
    position: relative;
    overflow: hidden;
}


.card {

    color: var(--c-text);
    background: var(--c-panel);
    box-shadow: var(--shadow);
    padding: 10px;
}

h1,
h2,
h3 {
    padding: 7px 18px;
    /* border-bottom: #ff6230 solid 3px; */
    /* border-left: #ff6230 solid 3px; */
    background: var(--c-panel);
    /* border: 1px #cdcdcd7d solid; */
    /* color: black; */
    color: #e34e06;
}

.card:hover,
.card:active,
.card:focus {
    /* background: var(--c-panel); */
}



.visually-hidden {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    white-space: nowrap;
    border: 0;
}



input[type="file"],
input[type="checkbox"] {
    display: none;
}


input[type="file"]+label,
input[type="checkbox"]+label {
    display: inline-block;
    padding: var(--bt-padding);
    border-radius: 0.5rem;
    background: var(--input);
    color: var(--c-active);
    border: 2px solid var(--c-active);
    cursor: pointer;
    user-select: none;
    transition: background 160ms, box-shadow 160ms, transform 60ms;
}

input[type="checkbox"]+label {
    /* border: 3px solid var(--c-active); */
}


input[type="checkbox"]+label:hover {
    background: #ebe5e5;
}

input[type="checkbox"]+label:active {
    /* transform: translateY(1px); */
}

input[type="checkbox"]:checked+label {
    /* transform: translateY(1px); */
    background: var(--c-active);
    color: var(--card-bg);
    /* outline: 2px solid var(--c-active);
    outline-offset: 2px; */
    box-shadow: inset 0 0 0 2px var(--input);
}

input[type="checkbox"]:checked#Adult+label {
    background: var(--c-error);
    /* outline: 2px solid var(--c-error);
    outline-offset: 2px; */
}

input[type="checkbox"]:visible+label {
    /* outline: 3px solid #fd9393;
    outline-offset: 3px; */
}

textarea,
input[type="text"],
input[type="email"],
input[type="date"],
input[type="password"],
input[type="number"] {
    box-shadow: 0px 0px 3px .1px #dbdbdb;
    flex: content;
    border: none;
    background: var(--card-bg);
    color: black;
    padding: 0 10px;
    flex: 1;
    padding: var(--bt-padding);
    border-radius: var(--border-radius);
}




.labelTag {
    display: inline-flex;
    /* label + input side by side */
    align-items: center;
    background-color: var(--c-primary);
    /* tag color */
    color: var(--card-bg);
    border-radius: 10px;
    overflow: hidden;
    /* keep rounded corners clean */
    font-size: 14px;
    font-weight: bold;
    margin: 8px 0;
    padding: 0px 0px 0px 15px;
}

.labelTag>*,
.labelTag input {
    margin: 0 0px 0px 15px;
    border: none;
    padding: 6px 10px;
    font-size: 14px;
    flex: 1;
    border-radius: 0;
    /* remove default rounding */
    outline: none;
}

.tag-label input:focus {
    box-shadow: inset 0 0 0 2px #005a9e;
    /* subtle focus ring */
}

.imageFull {
    max-height: 47vh;

}

.imageFull img {
    width: calc(100% + 20px);
    margin: -10px -10px 0px -10px;
    max-width: unset;
    background: black;

}

.Images/icon {
    padding: 0;
    border: none;
    border-radius: var(--border-radius);
}

.Images/icon img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

select {
    flex: 1;
    background-color: var(--card-bg);
    padding: 10px 15px;
    border: 1px solid #ccc;

    border-radius: 10px;
    /* rounded right side */
    font-size: 14px;
}


/* Hide native input */

input[type="checkbox"] {}

input[type='number'] {
    flex: 1;
    background-color: var(--card-bg);
    padding: 10px 15px;
    border: 1px solid #ccc;

    border-radius: 10px;
    /* rounded right side */
    font-size: 14px;
}

input[type="radio"]+label {
    flex: 1;
    background-color: var(--card-bg);
    padding: 10px 15px;
    border: 1px solid #ccc;

    border-radius: 10px;
    /* rounded right side */
    font-size: 14px;
}

input[type="radio"] {
    display: none;
}

/* Checked state */
input[type="radio"]:checked+label {
    background-color: var(--c-active);
    /* outline: 3px solid #fd9393;
    outline-offset: 3px */
}

input[type="checkbox"] {}

input[type="checkbox"]:checked {}

label {}

/* Hide native input */
input[type="file"] {
    padding: var(--bt-padding);
    border-radius: var(--border-radius);
}



textarea {
    margin: 0;
    padding: var(--bt-padding);
    border-radius: var(--border-radius);
}

form #Inputs.textEdit{
    display: grid;
}


form,
form #Inputs {
    display: flex;
    flex-flow: column;
    gap: 10px;
}

.dropdown {
    position: relative;
}


.dropdown form,
header {
    display: flex;
    flex-flow: row;
    gap: 0;
    width: 100%;
}

.dropdown ul.menu button,
.dropdown ul.menu a,
.dropdown ul.menu button.active,
.dropdown ul.menu a.active {
    color: var(--accent-text);
    background: transparent;
    border: none;
    margin: 0;
    border-radius: 0;
    height: -webkit-fill-available;
    cursor: pointer;
}


.dropdown ul.menu button:hover,
.dropdown ul.menu a:hover {
    /* background-color: var(--c-hover); */
    color: var(--c-active);
}

.dropdown>button {
    height: 100%;
}

.dropdown .menu {

    padding: 10px;
    overflow: hidden;
    display: flex;
    flex-flow: column;
    min-width: 150px;
    border-radius: var(--border-radius);
    margin: 0;
    position: fixed;
    background-color: var(--c-panel);
    border: 1px solid rgb(76, 39, 11);
    box-shadow: var(--shadow);
    z-index: 1000;
    color: var(--accent-text);
}

#Alert a.disabled,
#Alert a.disabled button {
    background-color: transparent;
}

#Alert button:hover,
#Alert a:hover {
    /* background-color: var(--c-hover); */
    color: var(--c-primary-text);
}

#AlertDrop .menu {
    padding: 0;
    width: unset;
}

#Alert a.disabled:hover,
#Alert a.disabled button:hover {
    background-color: transparent;
    color: var(--accent-text);
}

.dropdown .menu #List {
    max-height: 50vh;
    overflow: scroll;
}

.dropdown .menu .header {
    border-bottom: 3px var(--c-active) solid;
    color: var(--c-active);
    font-weight: bold;
    padding: 10px 15px;

}

.dropdown .menu>* {
    display: flex;

    flex-flow: column;
    flex: 1;
}

.dropdown .menu .link form {
    padding: 0;
    align-items: center;
}

.dropdown .menu .link {
    padding: 0;
    align-items: center;
    background: #ff8041;
}

.dropdown .menu .link.disabled {
    background: transparent;
}

.dropdown .menu .link button {
    border: none;
    height: auto;
}

.dropdown .menu .link div {
    padding: 0;
}

.dropdown .menu button,
.dropdown .menu a {
    border-top: white solid 1px;
    width: 100%;

    margin: 0;
    border-radius: 0;

    padding: 5px 10px;
}





.width {
    max-width: 100%;
}

.tiled .List {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    grid-template-rows: auto;
    gap: 10px;
}


.grid,
.grouping {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    /* 4 columns */
    gap: 10px;
}



.card a.editBt,
button.editBt {
    position: absolute;
    top: 1%;
    right: 1%;
}

.piece {
    display: table;
    height: 150px;
    width: 150px;
}

#MiniTitle {
    align-items: center;
    border: var(--accent-text) solid 1px;
    border-radius: var(--border-radius);
    height: unset;
    width: unset;
    display: flex;
    padding: 4px;
}

#MiniTitle p {
    margin: 0 10px;
    width: 100%;
}

/* BLOB ANIMATIONS */
.blob-cont {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    z-index: -1;
    overflow: hidden;
}

.blob {
    position: absolute;
    border-radius: 50%;
    animation: morph 15s ease-in-out infinite;
    opacity: 0.6;
}

.blob-1 {
    top: -10%;
    left: -10%;
    width: 500px;
    height: 500px;
    background: #FFE4D6;
    animation-delay: 0s;
}

.blob-2 {
    bottom: -10%;
    right: -5%;
    width: 600px;
    height: 600px;
    background: #FFE8C2;
    /* Pastel Yellow-Orange */
    animation-delay: 5s;
}

.blob-3 {
    top: 40%;
    left: 30%;
    width: 300px;
    height: 300px;
    background: #FFD6C9;
    animation-delay: 2s;
}

@keyframes morph {
    0% {
        border-radius: 60% 40% 30% 70% / 60% 30% 70% 40%;
        transform: translate(0, 0);
    }

    50% {
        border-radius: 30% 60% 70% 40% / 50% 60% 30% 60%;
        transform: translate(20px, -20px);
    }

    100% {
        border-radius: 60% 40% 30% 70% / 60% 30% 70% 40%;
        transform: translate(0, 0);
    }
}


.portrait {}

.navTag {

    border-radius: var(--border-radius);
    margin: 0;
    background: none;
    box-shadow: none;
    padding: 0;
    display: flex;
    overflow-y: unset;
    overflow-x: auto;
    scroll-behavior: smooth;
    font-weight: bold;
}

#Categories.navTag {
    align-items: center;
    font-weight: bold;
    flex-flow: unset;
    overflow-y: unset;
    overflow-x: unset;
    scroll-behavior: smooth;
}

.navTag {
    position: relative;
}

.navTag::before,
.navTag::after {

    position: sticky;
    top: 0;
    width: 40px;
    /* fade width */
    height: 100%;
    pointer-events: none;
    /* don’t block clicks */
    z-index: 2;
}

.navTag {
    scrollbar-width: thin;
    scrollbar-color: #888 transparent;
}

.navTag::before {
    left: 0;
    background: linear-gradient(to right, white, transparent);
}

.navTag::after {
    right: 0;
    background: linear-gradient(to left, white, transparent);
}

.navTag::-webkit-scrollbar {
    height: 10px;
    /* horizontal scrollbar height */
}

.navTag::-webkit-scrollbar-track {
    background: transparent;
}

.navTag::-webkit-scrollbar-thumb {
    background: #888;
    border-radius: 20px;
    /* pill shape */
}

.navTag::-webkit-scrollbar-thumb:hover {
    background: #555;
}

.Tabs {
    background-color: var(--c-panel);
    margin: 10px 0 0 0;
    /* gap: 8px 8px; */
    display: flex;
    flex-flow: wrap;
    border-radius: 20px;
    overflow: hidden;
    /* padding: 0 0 10px 0px; */
    /* border-bottom: var(--c-primary) solid var(--border-width); */
}

.Tabs button {

    box-shadow: none;
    background: var(--c-panel);
    color: var(--accent-text);
}

.Tabs button.active {
    border-radius: 0;
    background: var(--c-active);
    color: var(--c-primary-text);
}

nav.navTag {
    width: 300px;
    overflow-x: auto;
    white-space: nowrap;
    flex-flow: unset;
    padding: 0;
    background-color: none;
    box-shadow: none;

    display: flex;
    gap: 10px;
    margin: 0;
}

nav.navTag a,
.navTag button {
    height: 100%;
    background: var(--c-panel);
    border: none;
    margin: 0;
    color: var(--accent-text);
    border-radius: 50px;
}



.heading {
    /* border-bottom: #ff6230 solid 3px; */
    /* border-left: #ff6230 solid 3px; */
    background: var(--c-panel);
    padding: 0 10px 0px 0px;
    margin: 10px 0 0 0;

}

.heading h3,
.heading h2 {
    width: 100%;
    border: none;
    background: none;
    color: var(--accent-text);
    box-shadow: none;
}

.white {
    background-color: white;
    color: white;
}

.black {
    color: black;
    background-color: black;
}

#Categories.navTag,
.heading {
    align-items: center;
    font-weight: bold;
    border-radius: var(--border-radius);
    display: flex;
    flex-flow: row;
}

#Categories.navTag {

    flex-flow: unset;
    overflow-y: unset;
    overflow-x: unset;
    scroll-behavior: smooth;
}

.subTags {

    display: flex;


    margin: 10px 0 0 0;
    align-items: center;
    gap: 10px;
    font-weight: bold;
    /* padding: 0 20px; */

}

.subTags h2 {
    background: none;
    color: var(--accent-text);
    box-shadow: none;
}

.navTag button {
    background-color: #e5b68e;
    z-index: 2;
}

nav.navTag a:hover,
.navTag button:hover {
    background: var(--c-hover);
    border: none;
    margin: 0;
    color: var(--c-primary-text);
}

nav.navTag a.active {
    background: var(--c-active);
    border: none;
    margin: 0;
    color: var(--c-primary-text);
}


a.avatarBtn,
.avatarBtn:hover,
.avatarBtn:focus,
.avatarBtn:active {
    background-color: transparent;
    color: var(--c-text);
    border: none;
    display: flex;
    gap: 5px;
    padding: 0;
    font-weight: bold;
}


.avatar {
    background-image: url("../Images/placeholder.png");
    height: 36px;
    aspect-ratio: 1;
    border-radius: 50%;
    object-fit: cover;
    border: 3px solid var(--c-primary);
    image-rendering: auto;
}


.flex {
    display: flex;
    justify-content: center;
    align-items: center;
}

.flexForce>div {
    flex: 1;
}

.flexForce {
    display: flex;
    justify-content: center;
    align-items: center;
}

.flex-1 {
    flex: 1;
}

.column {
    display: flex;
    gap: 8px 8px;
    flex-flow: column;
}

.autoGrow {
    flex: 15;
    display: flex;
    min-width: 90%;

}

.subBar {
    gap: 8px 8px;
    display: flex;
    flex-flow: wrap;
}

/* Hide actual file input */
#imageInput {
    display: none;
}

.upload {
    position: relative;
    display: flex;
}

.upCon {
    display: flex;
}

#UploadImg {
    width: 100%;
}

#UploadImg img {
    max-width: fit-content;
    width: fit-content;
}

.singleImage img {
    max-height: 100%;
    max-width: fit-content;
}

.singleImage {
    display: flex;
    max-height: 400px;

}

.subUps {
    flex: 15;
    display: flex;
    min-width: 90%;
}

.galyImg {
    border: var(--c-active) solid 2px;
    background-color: var(--c-muted);

}



.galyImg,
#ImageControl,
#ImageControlUrl {
    display: block;
    width: 200px;
    height: 200px;
    padding: 4px;
    box-sizing: border-box;
    border: 1px solid #aaa;
    overflow: hidden;
    gap: 4px;
}


.galyImg>input+label,
.galyImg>button,
.galyImg>input[type="number"] {
    padding: 10px 7px;
    margin: 0;
    border-radius: 0;
    display: inline;
    width: 34px;
    text-align: center;
}

#UploadImgOp {
    display: inline-block;
    width: auto;

    margin-top: 5px;
}



#UploadImgOp img {
    width: 100%;
    height: 100%;
    object-fit: fill;
}




/* The Main Square Container */
.upload-card {
    position: relative;
    width: 200px;
    height: 200px;
    background-color: var(--card-bg);
    border-radius: 16px;
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.1);
    overflow: hidden;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    transition: transform 0.2s ease;
}

.upload-card img {
    object-fit: contain;
    height: 100%;
    width: 100%;
}

/* Hover effect for the card */
.upload-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 15px 30px rgba(0, 0, 0, 0.15);
}

/* Hide the actual file input */
#imageUpload {
    display: none;
}

/* The Label Area (Click trigger) */
.upload-label {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    cursor: pointer;
    z-index: 1;
    /* Low z-index so buttons sit on top */
    transition: background 0.3s;
}

.upload-label:hover {
    background-color: rgba(0, 0, 0, 0.05);
}

.label-text {
    color: #888;
    font-weight: 600;
    pointer-events: none;
    /* Clicks pass through text to label */
}

/* --- Controls (Buttons/Inputs) --- */
.control {
    position: absolute;
    width: 32px;
    height: 32px;
    border: none;
    background: rgba(255, 255, 255, 0.9);
    backdrop-filter: blur(4px);
    border-radius: 8px;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 16px;
    color: #333;
    cursor: pointer;
    z-index: 100;
    /* Sit above the label */
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
    transition: all 0.2s;
}

.control:hover {
    background: var(--card-bg);
    transform: scale(1.1);
}

/* Positioning */
.top-left {
    top: 10px;
    left: 10px;
}

.top-right {
    top: 10px;
    right: 10px;
    color: #ff4d4d;
    font-weight: bold;
}

.bottom-left {
    bottom: 10px;
    left: 10px;
}

.bottom-right {
    bottom: 10px;
    right: 10px;
}

/* Specific Styling for Number Input to look like a box */
input[type=number].control {
    text-align: center;
    padding: 0;
    -moz-appearance: textfield;
    /* Firefox */
}

/* Remove spinner arrows from number input */
input[type=number]::-webkit-inner-spin-button,
input[type=number]::-webkit-outer-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

.wrap {
    display: flex;
    flex-flow: wrap;
}

/* .wrap > * {
    flex: 1;
} */

.canvas {
    width: 100%;
    aspect-ratio: 1/1;
}

.roulette-container {
    margin: 0 0 10px -7px;
}

.bet-buttons #black button,
.bet-buttons .black {
    background-color: black;
    color: var(--c-primary-text);
}

.bet-buttons #red button,
.bet-buttons .red {
    background-color: rgb(206, 16, 16);
    color: var(--c-primary-text);
}

.bet-buttons #green button,
.bet-buttons .green {
    background-color: rgb(22, 177, 22);
    color: var(--c-primary-text);
}

.bet-buttons button {
    flex: 1;
}

.btGroup {
    gap: 10px;
    margin: 5px 0;
    display: flex;

}

.center {
    justify-content: center;
    align-items: center;
    display: flex;
}

.labelText {
    
    display: flex;
    background-color: var(--c-primary);
    color: var(--c-primary-text);
    padding: 0px 0px 0px 10px;
    border: 2px solid var(--c-active);
    border-radius: var(--border-radius);
    align-items: center;
    align-content: center;
    text-align: center;
}

.labelText>* {
font-size: 1.1rem;
    width: 100%;
    background-color: var(--card-bg);
    color: var(--c-active);
    padding: 5px 15px;
    border-radius: var(--border-radius);
    font-weight: normal;
    margin: 0 0 0 10px;
    height: -webkit-fill-available;
    align-items: center;
    display: flex;
}

.textBox {

    background: var(--card-bg);
    padding: 5px 15px;
    border-radius: var(--border-radius);
}

.side {
    background: black;

    width: auto;
    margin: -15px 0 -15px -15px;
}

#profil .avatar {
    width: 100px;
    height: 100px;
    border-radius: 20px;
    border: 4px solid var(--c-primary);
    object-fit: cover;
    transform: rotate(-3deg);
}

#profil>* {
    display: flex;
}

.fill {
    width: 100%;
}

.tree {
    position: relative;
    padding-left: 10px;
    /* border-left: black solid 1px; */
}


.tree .branch {
    padding: 85px 5px;
    margin: -60px 0 110px 0px;
    left: 0;
    border-left: var(--c-outline) solid 1px;
    border-bottom: var(--c-outline) solid 1px;
    position: absolute;
    border-radius: 0 0 0 6px;

}

.tree .line {
    padding: 45px 1px;
    margin: -40px 0px 0 0;
    left: 0;
    border-left: var(--c-outline) solid 1px;
    border-bottom: var(--c-outline) solid 1px;
    position: absolute;
    border-radius: 0;
}

.outline {
    background-color: var(--c-panel);
    padding: 9px;
    border: var(--c-outline) solid 1px;
    border-radius: var(--border-radius);
    margin: 2px 0;
}

.outline p {
    width: unset;
    text-align: left;
}

button.outline,
a.outline {
    background-color: var(--c-panel);
    color: var(--c-text);
    border: var(--c-outline) solid 1px;
    padding: 9px;
    border-radius: var(--border-radius);
    margin: 2px 0;
    text-align: left;

}


.Mythic,
.Legendary,
.Epic,
.Rare,
.Common {}

#Badge {
    display: flex;
    flex-flow: column;
    text-align: center;
    gap: 5px;
}

#Badge div {
    /* background: var(--card-bg); */
    border-radius: var(--border-radius);
}

.Mythic {
    background-color: #ffd900;
}

.Legendary {
    background-color: #f11b1b;
}

.Epic {
    background-color: #8c10ca;
}

.Rare {
    background-color: #1223b9;
}

.Common {
    background-color: #879dab;
}

h4 {
    border-radius: 8px;
    text-transform: uppercase;

    /* background-color: var(--c-bg); */
    color: var(--c-accent);
    padding: 8px 16px;

    border-radius: 4px;
    margin: 10px 0;
    flex: 1;
}

.autoSize {
    height: auto;
    width: auto;
}

.lin {
    display: flex;
    align-items: center;
    cursor: pointer;
}

/* .lin::before {
    content: attr(for);
    padding: 15px 20px;
    background-color: #e5e7eb;
    color: #4b5563;
    font-size: 0.85rem;
    font-weight: 700;
    text-transform: uppercase;
    display: flex;
    align-items: center;
    border-right: 1px solid #d1d5db;
} */

.lin input[type="radio"] {
    /* 1. Hide the default checkbox input visually */
    position: absolute;
    opacity: 0;
    width: 0;
    height: 0;
}

.lin {
    /* 2. Style the label to look like a button */
    display: inline-block;
    padding: var(--bt-padding);
    border: 1px solid #ccc;
    background-color: #f0f0f0;
    border-radius: 5px;
    cursor: pointer;
    user-select: none;
    /* Prevents text selection when clicking */
    text-align: center;
    transition: background-color 0.2s;
    /* Smooth transition for visual feedback */
}

.lin:hover {
    background-color: #e0e0e0;
    border-color: #aaa;
}

.lin input[type="radio"]:checked+span {
    background-color: #007bff;
    color: white;
    border-color: #007bff;
}


.lin:has(input[type="radio"]:checked) {
    background-color: #007bff;
    color: white;
    border-color: #007bff;
}

.labs {
    flex: 1;
    align-items: center;
    display: flex;
    flex-flow: wrap;
    gap: 10px;
    background-color: #f3f4f6;
    border-radius: 8px;
    overflow: hidden;
    border: 1px solid transparent;
    transition: 0.3s;

}

.labs>* {
    justify-content: left;
    flex: 10;
}

/* Style for the text part of the label */
.labs::before {
    flex: 1;
    content: attr(for);
    padding: 15px 20px;
    background-color: #e5e7eb;
    color: #4b5563;
    font-size: 0.85rem;
    font-weight: 700;
    text-transform: uppercase;
    display: flex;
    align-items: center;
    border-right: 1px solid #d1d5db;
}

/* Style for the input inside */
.labs input {}

/* Focus effect */
.labs:focus-within {
    border-color: #ff6600;
    box-shadow: 0 0 0 3px rgba(99, 102, 241, 0.2);
}


a.active,
.btn.active,
button.active {
    background-color: var(--c-active);
}

.miniLink {
    display: inline-block;
    padding: 1px 5px;
    font-size: clamp(10px, 2vw, 10px);
    line-height: 1.2;
    max-height: calc(1.2em * 2);
    width: 100px;
    color: var(--card-bg);
    background-color: var(--c-primary);
    border: none;
    border-radius: 4px;
    text-align: center;
    text-decoration: none;
    overflow: hidden;
    word-break: break-word;
    white-space: normal;
}



.getter {
    position: relative;
}

/* Overlay a skeleton shimmer */
.getter::after {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: 6px;
    background:
        linear-gradient(90deg,
            #eee 0%,
            #f5f5f5 35%,
            #eaeaea 50%,
            #f5f5f5 65%,
            #eee 100%);
    background-size: 200% 100%;
    animation: shimmer 1.2s linear infinite;
    pointer-events: none;
    /* avoid blocking interactions if needed */
}

@keyframes shimmer {
    0% {
        background-position: 200% 0;
    }

    100% {
        background-position: -200% 0;
    }
}

.grid2 {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 10px;
}


.row {
    display: flex;
    gap: 0.75rem;
}

.labelFill {
    margin-top: 1.5rem;
    background: var(--card-bg);
    padding: 1.5rem;
    border: var(--c-primary) solid 2px;
    border-radius: 16px;
    position: relative;
}

.labelFill::before {
    content: "BIO";
    position: absolute;
    top: -10px;
    left: 20px;
    background: var(--c-primary);
    color: white;
    font-size: 0.7rem;
    padding: 0.25rem 0.75rem;
    border-radius: 99px;
    font-weight: bold;
}


li.logged,
li.notLogged {
    display: none;
}

.hide {
    display: none !important;
}

i[class] {

    background-color: var(--c-input);
    display: block;
    width: 24px;
    height: 24px;

    -webkit-mask-size: contain;
    mask-size: contain;
}



.card-social button.active {
    background-color: none;
    color: var(--c-active);
}

.card-social button {

    color: var(--c-input);
}




i.left {
    -webkit-mask: url("../Images/icon/left.svg") no-repeat center;
    mask: url("../Images/icon/left.svg") no-repeat center;
}

i.right {
    -webkit-mask: url("../Images/icon/right.svg") no-repeat center;
    mask: url("../Images/icon/right.svg") no-repeat center;
}

i.down {
    -webkit-mask: url("../Images/icon/down.svg") no-repeat center;
    mask: url("../Images/icon/down.svg") no-repeat center;
}

i.up {
    -webkit-mask: url("../Images/icon/up.svg") no-repeat center;
    mask: url("../Images/icon/up.svg") no-repeat center;
}





i.logout {
    -webkit-mask: url("../Images/icon/logout.svg") no-repeat center;
    mask: url("../Images/icon/logout.svg") no-repeat center;
}

i.speaker {
    -webkit-mask: url("../Images/icon/speaker.svg") no-repeat center;
    mask: url("../Images/icon/speaker.svg") no-repeat center;
}

i.plus {
    -webkit-mask: url("../Images/icon/plus.svg") no-repeat center;
    mask: url("../Images/icon/plus.svg") no-repeat center;
}

i.config {
    -webkit-mask: url("../Images/icon/config.svg") no-repeat center;
    mask: url("../Images/icon/config.svg") no-repeat center;
}

i.play {
    -webkit-mask: url("../Images/icon/play.svg") no-repeat center;
    mask: url("../Images/icon/play.svg") no-repeat center;
}


i.bell {

    -webkit-mask: url("../Images/icon/bell.svg") no-repeat center;
    mask: url("../Images/icon/bell.svg") no-repeat center;
}

i.like {
    -webkit-mask: url("../Images/icon/like.svg") no-repeat center;
    mask: url("../Images/icon/like.svg") no-repeat center;

}

i.deslike {

    -webkit-mask: url("../Images/icon/deslike.svg") no-repeat center;
    mask: url("../Images/icon/deslike.svg") no-repeat center;
}

i.image {

    -webkit-mask: url("../Images/icon/image.svg") no-repeat center;
    mask: url("../Images/icon/image.svg") no-repeat center;
}

i.marker {

    -webkit-mask: url("../Images/icon/marker.svg") no-repeat center;
    mask: url("../Images/icon/marker.svg") no-repeat center;
}

i.more {

    -webkit-mask: url("../Images/icon/more.svg") no-repeat center;
    mask: url("../Images/icon/more.svg") no-repeat center;
}

i.search {

    -webkit-mask: url("../Images/icon/search.svg") no-repeat center;
    mask: url("../Images/icon/search.svg") no-repeat center;
}

i.star {

    -webkit-mask: url("../Images/icon/star.svg") no-repeat center;
    mask: url("../Images/icon/star.svg") no-repeat center;
}

i.chat {

    -webkit-mask: url("../Images/icon/chat.svg") no-repeat center;
    mask: url("../Images/icon/chat.svg") no-repeat center;
}

i.coin {

    -webkit-mask: url("../Images/icon/coin.svg") no-repeat center;
    mask: url("../Images/icon/coin.svg") no-repeat center;
}

i.gem {

    -webkit-mask: url("../Images/icon/gem.svg") no-repeat center;
    mask: url("../Images/icon/gem.svg") no-repeat center;
}

i.fire {

    -webkit-mask: url("../Images/icon/fire.svg") no-repeat center;
    mask: url("../Images/icon/fire.svg") no-repeat center;
}

i.cristal {

    -webkit-mask: url("../Images/icon/cristal.svg") no-repeat center;
    mask: url("../Images/icon/cristal.svg") no-repeat center;
}

i.shield {

    -webkit-mask: url("../Images/icon/shield.svg") no-repeat center;
    mask: url("../Images/icon/shield.svg") no-repeat center;
}

.card-social,
#SocialButtons {
    display: flex;
    gap: 10px;
    flex-flow: wrap;
}

.card-social button,
.card-social a,
.card-social a:hover,
.card-social .btn {
    box-shadow: none;
    background: transparent;
    border: none;
    display: flex;
    color: var(--accent-text);
    gap: 3px;
    padding: 0px 0px;
    z-index: 2;
}

.card-social .dropdown {
    z-index: 2;
}

.card-social button:hover {
    /* color: var(--c-hover); */
}

.card-social button.active {
    color: var(--accent-text);
}

.card-social button:hover i {
    background-color: var(--c-hover);
}

.card-social button.active i,
.card-social a.active i {


    background-color: var(--c-active);
}

.card-social button.like:hover i {
    background: var(--c-success);
}

.card-social button.deslike:hover i {
    background: var(--c-error);
}

.card-social button.share:hover i {
    background: var(--c-warning);
}

.card-social button.like.active i {
    background: var(--c-success);
}

.card-social button.deslike.active i {
    background: var(--c-error);
}

.card-social button.share.active i {
    background: var(--c-warning);
}

.Social {
    width: 100%;
}

.Social form {
    gap: 0;
}



.Social .navTag {
    padding: 5px;
    margin: 0 0 7px 0;

}

.Social .navTag button {
    padding: 5px 15px;
}

#Card #Content {
    font-size: 1.1em;

    margin: 3px 5px 0px 5px;

}




/* Headings */
#content h1, #content h2, #content h3, #content h4, #content h5, #content h6 {
  font-weight: 600;
  margin: 1.2em 0 0.6em;
  color: var(--accent-text);
  border-bottom: 1px solid var(--border-color);
  padding-bottom: 0.3em;
}

/* Paragraphs */
#content p {
  margin: 0.8em 0;
}

/* Lists */
#content ul {
  list-style: none;
  padding-left: 1.2em;
}
#content ul li {
  position: relative;
  margin: 0.4em 0;
  padding-left: 1.2em;
}
#content ul li::before {
  content: "•";
  position: absolute;
  left: 0;
  color: var(--c-primary); /* Accent color */
  font-weight: bold;
}

/* Ordered lists */
#content ol {
  padding-left: 1.5em;
}
#content ol li {
  margin: 0.4em 0;
}

/* Tables */
#content table {
  border-collapse: collapse;
  width: 100%;
  font-size: 0.95em;
}
#content th, #content td {
  border: 1px solid var(--border-color);
  text-align: left;
}
#content th {
  background-color: var(--card-bg);
  font-weight: 600;
}
#content tr:nth-child(even) {
  background-color: var(--card-bg);
}
#content tr:hover {
  background-color: #eef6ff;
}

/* Blockquotes */
#content blockquote {
  border-left: 4px solid var(--c-primary);
  padding-left: 1em;
  color: #555;
  font-style: italic;
  background: #f9f9f9;
  margin: 1em 0;
}

/* Code blocks */
#content pre, #content code {
  font-family: "Consolas", "Courier New", monospace;
  background: #f4f4f4;
  border-radius: 4px;
}
#content pre {
  padding: 1em;
  overflow-x: auto;
}
#content code {
  padding: 0.2em 0.4em;
}

/* Horizontal rule */
#content hr {
  border: none;
  border-top: 1px solid #ddd;
  margin: 2em 0;
}

/* End content */


button:disabled {
    opacity: 0.6;
    cursor: not-allowed;
}



/* Cards */


.elemental {}


#BadgeItem {
    width: 260px;
    padding: 14px;
    background: #e8d5a6;
    border: 4px solid #5a462a;
    border-radius: 12px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, .35);
    font-family: "Belwe", Georgia, serif;
    text-align: center;
    position: relative;
}

#BadgeItem .Images/icon {
    width: 100%;
    height: auto;
    object-fit: contain;
    margin: 0 auto 8px;
    display: block;
    border: 3px solid #5a462a;
    border-radius: 10px;
    background: var(--card-bg);
}

#BadgeName {
    font-size: 20px;
    font-weight: bold;
    color: #3a2b18;
    margin-bottom: 6px;
    text-shadow: 1px 1px 0 var(--card-bg);
}

#BadgeDescription {
    font-size: 14px;
    color: #2b2316;
    padding: 8px;
    margin-bottom: 10px;
    background: rgba(255, 255, 255, .35);
    border-radius: 6px;
}

.elemental {
    display: flex;
    justify-content: space-around;
    margin-bottom: 10px;
}

.elemental div {
    display: flex;
    flex-direction: column;
    align-items: center;
    font-size: 13px;
    color: #2b2316;
}

.elemental input {
    background-color: transparent;
    border: none;
    appearance: textfield;
    /* For most browsers */
    -moz-appearance: textfield;
    /* Firefox */
    box-shadow: none;
    width: 20px;
    padding: 6px 10px;

}

.elemental i {
    width: 22px;
    height: 22px;
    border-radius: 50%;
    margin-bottom: 4px;
    display: block;
}

.fire.red {
    background: #d43a2f;
}

.shield.green {
    background: #3aa64a;
}

.gem.blue {
    background: #2b6cd1;
}

.enumClass {
    font-size: 16px;
    font-weight: bold;
    padding: 4px 10px;
    border-radius: 8px;

    color: white;
    margin: 0 auto 8px;
    width: fit-content;
    text-transform: capitalize;
}


#Seed {
    font-size: 11px;
    color: #4a402c;
    opacity: .7;
    margin-top: 4px;
}


/* guide modal */

.modal-box h2 {
    margin: 0;
    padding: 0;
}

.modal-box h1,
.modal-box h2,
.modal-box h3 {
    box-shadow: unset;
    border: unset;
    border-radius: 0;
    border-bottom: var(--c-active) solid 2px;
    background-color: unset;
    color: var(--c-active);
}

.modal-box h1 {
    font-size: 22px;
    color: var(--c-text);
}

.modal-box p {
    font-size: 19px;
}

.modal-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.5);
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 1000;
    opacity: 0;
    visibility: hidden;
    transition: all 0.3s ease;
}

/* The Box Itself */
.modal-box {
    background: var(--card-bg);
    width: 90%;
    max-width: 800px;
    padding: 2rem;
    position: relative;
    transform: translateY(20px);
    transition: all 0.3s ease;
    max-height: 90vh;
    overflow-y: auto;
}

.modal-box ul {
    display: grid;

    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    flex-flow: wrap;
    gap: 20px;

}

.modal-box p {
    margin: 0;
}

.modal-box span {
    font-size: 28px;
}

.modal-box h4 {
    flex: none;
    padding: 0;
    margin: 0;
    background-color: unset;
    color: var(--c-active);
}

.modal-box li {
    display: flex;
}

.modal-box li a {
    flex-direction: column;
    flex: 1;
    border: var(--c-border) solid 1px;
    background-color: unset;
    color: var(--c-text);
}

.modal-box li a:hover {
    background-color: #f4f4f4;
}

/* Active State (JS toggles this) */
.modal-overlay.active {
    opacity: 1;
    visibility: visible;
}

.modal-overlay.active .modal-box {
    transform: translateY(0);
}

.brand {

    height: -webkit-fill-available;
}

/* Close Button */
.close-btn {
    position: absolute;
    top: 15px;
    right: 15px;
    cursor: pointer;
    font-size: 1.5rem;
    line-height: 1;

    border: none;
}

nav ul {
    display: flex;

    gap: 5px;
}

nav ul li {}

ul {

    list-style: none;
    padding: 0;
    margin: 0;
}

.title,
.description {
    min-height: 1lh;
    background: var(--card-bg);
    padding: 5px 15px;
    border-radius: var(--border-radius);
    margin-bottom: 10px;
}

.title {

    white-space: nowrap;
    /* Prevent wrapping */
    overflow: hidden;
    /* Hide overflow */
    text-overflow: ellipsis;
}

.description {
    display: -webkit-box;
    /* Use flexbox-like layout */
    -webkit-line-clamp: 3;
    /* Limit to 3 lines */
    -webkit-box-orient: vertical;
    overflow: hidden;
}

/* stages system */

.buy-stages {
    display: flex;
    align-items: center;
    font-family: sans-serif;
    user-select: none;
}

.stage {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 8px 10px;
    text-align: center;
}

.stage .number {
    width: 34px;
    height: 34px;
    line-height: 34px;
    border-radius: 50%;
    border: 2px solid #aaa;
    color: #555;
    font-weight: bold;
    margin-bottom: 6px;
}

.stage .label {
    font-size: 14px;
    color: #444;
}

#StageItem {
    display: flex;
    flex-flow: row;
    align-items: center;
}

.connector {
    width: 10px;
    height: 2px;
    background: #ccc;
    margin: 0 8px;
}

/* Completed Step */
.stage.completed .number {
    border-color: #2a8f2a;
    background: #2a8f2a;
    color: var(--card-bg);
}

.connector.completed {
    background: #2a8f2a;
}

/* Active/Staging Step */
.stage.active .number {
    border-color: #005bbb;
    background: #005bbb;
    color: var(--card-bg);
    box-shadow: 0 0 5px #005bbb;
}

.stage.active .label {
    font-weight: bold;
}

main.terms h1,
main.terms h2,
main.terms h3,
main.terms h4,
main.terms h5 {
    background-color: unset;
    color: #000000;
    box-shadow: none;
    border: unset;
    border-bottom: var(--c-active) solid 2px;
    width: fit-content;
}

main.terms p {
    padding: 5px;
}

.gridScroll {
    display: grid;
    grid-auto-flow: column;
    /* Place items in columns (single row) */
    grid-auto-columns: 250px;
    /* Column width for each item */
    gap: 12px;

    overflow-x: auto;
    /* Enable horizontal scrolling */
    overflow-y: hidden;
    padding: 12px;

    /* Optional polish */
    scroll-snap-type: x mandatory;
    /* Enable snapping while scrolling */
}

.gridScroll>.card {

    scroll-snap-align: start;
}




.card a {
    position: relative;
    z-index: 2;
}

.vhide {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

img[src=""] {
    display: none;
}

a.cardLink {
    position: absolute;
    inset: 0;
    z-index: 1;
    margin: 0;
    border-radius: unset;
    height: 100%;
    width: 100%;
    color: unset;
    padding: 0;
    font-size: unset;
    font-family: inherit;
    text-align: unset;
    text-decoration: none;
    background-color: unset;
    border: unset;
    cursor: pointer;
    transition: unset;
}

.card:has(a.cardLink:hover) {
    box-shadow: var(--shadow-hover);
}

a.cardLink:hover {

    /* background: rgba(0, 0, 0, 0.05); */
}



.wider {
    width: 100%;
}

.cent {
    height: 100%;
}

.absolute {
    position: absolute;
}

.clipTop {
    position: absolute;
    top: 0;
}

.clipBottom {
    position: absolute;
    bottom: 0;
}

.relative {
    position: relative;
}

.oneLine {
    font-size: 1.6rem;
    margin: 3px 5px 0px 5px;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.twoLine {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    /* number of lines */
    overflow: hidden;
}

.threeLine {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    line-clamp: 3;
    /* number of lines */
    overflow: hidden;
}

.fourLine {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 4;
    line-clamp: 4;
    /* number of lines */
    overflow: hidden;
}

#bgCanvas {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: -1;
}