body {
    background-image: url(https://keokluck.neocities.org/Images/FFXIV/La%20Noscea.png);
    background-repeat: repeat;
    height: auto;
    width: 1vw;
    background-color: #66c3d4;
    background-size: cover;
    padding: 0;
    transition: background 0.4s ease;
}
body.lanoscea-bg { background-image: url("https://keokluck.neocities.org/Images/FFXIV/La%20Noscea.png"); }
body.eulmore-bg  { background-image: url("https://keokluck.neocities.org/Images/FFXIV/backgrounds/20200101181234_1.jpg"); }
body.ocular-bg   { background-image: url("https://keokluck.neocities.org/Images/FFXIV/backgrounds/20191231005429_1.jpg"); }

.grimoire-container {
    position: absolute;
    width: 1383px;
    transform: translateX(-50px) translateY(200px) scale(0.75);
}
.pages {
    position: absolute;
    top: 75px;
    left: 100px;
    display: flex;
    gap: 50px;
    align-items: flex-start;
    flex-wrap: wrap;
}
.page1 {
    position: absolute;
    width: 570px;
    height: 776px;
}
.page2 {
    position: absolute;
    left: 55px;
    width: 570px;
    height: 776px;
    transform: translateX(570px);
}
.bookmark-page {
    display: none;
}

.bookmark-page.active {
    display: flex; /* important because you use flex layout */
}


.character-page-name {
    font-family: "Cinzel", serif;
    font-size: 40px;
    color: #8f7271;
    transform: translate(25%);
}
.img-and-text {
    position: absolute;
    display: flex;
    gap: 10px;
    align-items: flex-start;
    flex-wrap: wrap;
    line-height: 30px;
    font-family: "Macondo Swash Caps", cursive;
    color: #8f7271;
}
.icon-left {
    position: relative;
    height: 60px;
}
.top-links {
    position: relative;
    word-spacing: 30px;
    font-family:
        Rock Salt,
        cursive;
    color: #8f7271;
    font-size: 25px;
    transform: translateX(15%) translateY(90%);
}
.column-wrapper {
    position: absolute;
    display: flex;
    gap: 5px;
    align-items: flex-start;
    flex-wrap: wrap;
    line-height: 30px;
    font-family: "Macondo Swash Caps", cursive;
    color: #8f7271;
    transform: translateY(35px);
}
.column {
    position: relative;
    display: flex;
    align-items: flex-start;
    flex-wrap: wrap;
    font-size: 20px;
}
.jobs {
    position: absolute;
    display: flex;
    align-items: flex-start;
    flex-wrap: wrap;
    line-height: 10px;
    font-family: "Macondo Swash Caps", cursive;
    color: #8f7271;
}

.paper-moogle {
    position: absolute;
    top: 1px;
    transform: translateX(383px) translateY(-140px) scale(0.7);
    pointer-events: none;
}
.eulmore-button {
    background-color: antiquewhite;
    color: #8f7271;
    border-color: #8f7271;
    border-radius: 50px;
    border: none;
    cursor: pointer;
}
.lanoscea-button {
    background-color: antiquewhite;
    color: #8f7271;
    border-color: #8f7271;
    border-radius: 50px;
    border: none;
    cursor: pointer;
}
.ocular-button {
    background-color: antiquewhite;
    color: #8f7271;
    border-color: #8f7271;
    border-radius: 50px;
    border: none;
    cursor: pointer;
}
.bookmarked-page {
    display: none;
}

.bookmarked-page.active {
    display: block;
}

.bookmark.button {
    cursor: pointer;
    transition: transform 0.6 ease;
}
.tab-panel {
    display: none;
}

.tab-panel.active {
    display: block;
}

.tab-button {
    cursor: pointer;
}
.tabs {
    display: flex;
    gap: 20px; /* space between tabs */
}
.tab-button:active {
    text-decoration: underline;
}
.jobs-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr); /* 3 columns */
    gap: 16px 24px;
    width: 100%;
}

.job-row {
    display: flex;
    align-items: center;
    gap: 10px;
}

.job-row img {
    width: 35px;
    height: auto;
}

.job-info {
    line-height: 1.1;
}

.job-level {
    font-size: 30px;
}

.job-ilvl {
    font-size: 13px;
}
.back-tab-pos {
    transform: translateY(1010px) translateX(180px);
}

.back-tab-hover {
    transition: transform 0.2s ease;
}

.back-tab-hover:hover {
    transform: scale(1.1);
}
.kuzon-tab-pos {
    position: absolute;
    transform: translateY(80px) translateX(170px) scale(0.7);
}
.emmy-tab-pos {
    position: absolute;
    transform: translateY(45px) translateX(270px) scale(0.7);
}
.zuzu-tab-pos {
    position: absolute;
    transform: translateY(70px) translateX(360px) scale(0.7);
}
.macro-tab-pos {
    position: absolute;
    transform: translateY(190px) translateX(800px) scale(0.7);
}
.bookmark-button:hover {
    transform: translateY(-30px);
}
.macro-hover:hover {
    transform: translateX(15px) translateY(-15px);
}
.macro-hover {
    transition: 0.2s ease;
}
.photo-cluster {
    height: 200px;
    width: 500px;
    margin: 100px auto;
    position: relative;
}

.photo {
    height: 100px;
    position: absolute;
    left: 0;
    offset-path: path("m 0 50 q 50-30 100-30 t 100 30 100 0 100-30 100 30");
    box-shadow: 1px 1px 3px #0008;
    transition:
        transform 0.4s ease-out,
        offset-path 0.4s cubic-bezier(0.77, -1.17, 0.75, 0.84),
        box-shadow 0.3s,
        z-index 0.3s;
    z-index: 0;
}

.photo:hover {
    transform: scale(3);
    /* on hover, the path gets a bit shorter & flattened & shifted to left/bottom a bit for nicer movement */
    offset-path: path("m 5 65 q 45-0 90-0 t 90 0 90 0 90-0 90 0");
    box-shadow: 3px 4px 10px #0006;
    /* ensures that image gets on top of stack at the start of "popping" animation
     and gets back at the end of getting back. With smaller value, 2 different transitions would be needed */
    z-index: 999;
}

/* 3 images */
.photo:nth-last-child(3):first-child {
    offset-distance: 17%;
}
.photo:nth-last-child(2):nth-child(2) {
    offset-distance: 49%;
}
.photo:last-child:nth-child(3) {
    offset-distance: 81%;
}

/* 4 images */
.photo:nth-last-child(4):first-child {
    offset-distance: 10%;
}
.photo:nth-last-child(3):nth-child(2) {
    offset-distance: 35%;
}
.photo:nth-last-child(2):nth-child(3) {
    offset-distance: 65%;
}
.photo:last-child:nth-child(4) {
    offset-distance: 90%;
}

/* 5 images */
.photo:nth-last-child(5):first-child {
    offset-distance: 0%;
}
.photo:nth-last-child(4):nth-child(2) {
    offset-distance: 25%;
}
.photo:nth-last-child(3):nth-child(3) {
    offset-distance: 51%;
}
.photo:nth-last-child(2):nth-child(4) {
    offset-distance: 75%;
}
.photo:last-child:nth-child(5) {
    offset-distance: 100%;
}

/*Fonts*/

.cinzel {
    font-family: "Cinzel", serif;
    font-optical-sizing: auto;
    font-weight: 900;
    font-style: normal;
}
.macondo-swash-caps-regular {
    font-family: "Macondo Swash Caps", cursive;
    font-weight: 400;
    font-style: normal;
}
.rock-salt-regular {
    font-family: "Rock Salt", cursive;
    font-weight: 400;
    font-style: normal;
}

/*Buffer*/
