/* -------------------
          BASE
------------------- */

* {
    cursor:url("img/cursor.png"),auto;
}

button,a {
    cursor:url("img/cursor.png"),auto !important;
}

@font-face {
    font-family:"FairySilk";
    src:url("fairysilk.otf") format("opentype");
}

body {
    margin:0;
    min-height:100vh;
    background-image:url("img/bg.gif");
    background-repeat:repeat;
    background-size:200px;
    display:flex;
    justify-content:center;
    align-items:center;
    font-family:"FairySilk",sans-serif;
}

h1,h2,h3,h4,h5,h6 {
    color:#c65378;
    margin:0;
    font-family:"FairySilk",sans-serif;
}

p {
    font-size:20px;
    color:#30212d;
}

u {
    text-decoration-color:#e8789b;
}

a {
    color:#a74765;
    text-decoration:none;
}

a:hover {
    color:#c65378;
    font-style:italic;
    text-decoration:underline;
}

/* -------------------
        NOTEBOOK
------------------- */

#notebook {
    position:relative;
    width:1000px;
    height:650px;
    background-image:url("img/plaid.png");
    background-repeat:repeat;
    background-size:50px;
    border-radius:3px;
    padding:10px;
    box-sizing:border-box;
}

/* Notebook cast shadow */

#notebook::after {
    content:"";
    position:absolute;
    top:12px;
    left:28px;
    width:100%;
    height:100%;
    border-radius:3px;
    background:rgba(48,33,45,0.28);
    filter:blur(14px);
    z-index:-1;
}

.tabcontent {
    display:flex;
    width:100%;
    height:100%;
    position:relative;
    gap:12px;
}

.page {
    background:#f0eedf;
    flex:1;
    height:100%;
    padding:28px 40px 40px 40px;
    box-sizing:border-box;
    position:relative;
    z-index:1;
    background-image:repeating-linear-gradient(
        #f0eedf,
        #f0eedf 29px,
        #bfb7a7 30px
    );
}

/* -------------------
      PAGE MARGINS
------------------- */

.page::before {
    content:"";
    position:absolute;
    top:0;
    bottom:0;
    width:1px;
    background:#bfb7a7;
    opacity:.9;
    pointer-events:none;
}

.tabcontent .page:first-child {
    border-radius:3px 0 0 3px;
}

.tabcontent .page:last-child {
    border-radius:0 3px 3px 0;
}

.tabcontent .page:first-child::before {
    left:28px;
}

.tabcontent .page:last-child::before {
    right:28px;
}

/* -------------------
        NOTEBOOK COIL
------------------- */

.coil {
    position:absolute;
    top:50%;
    left:50%;
    width:40px;
    height:350px;
    transform:translate(-60%,-80%);
    z-index:5;
    pointer-events:none;
}

.coil img {
    display:block;
    width:auto;
    height:auto;
}

/* -------------------
       PHOTO ALBUM
------------------- */

.photo-album {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:18px 14px;
    padding:20px 8px 12px;
}

.photo-album img {
    display:block;
    width:100%;
    height:auto;
    cursor:url("img/cursor.png"),auto;
    transform:rotate(-1deg);
}

.photo-album img:nth-child(even) {
    transform:rotate(1deg);
}

.photo-album img:hover {
    transform:scale(1.06) rotate(-1deg);
    position:relative;
    z-index:2;
}

.photo-album img:nth-child(even):hover {
    transform:scale(1.06) rotate(1deg);
}

.amil-album img {
    transform:rotate(1deg);
}

.amil-album img:nth-child(even) {
    transform:rotate(-1deg);
}

.amil-album img:hover {
    transform:scale(1.06) rotate(1deg);
}

.amil-album img:nth-child(even):hover {
    transform:scale(1.06) rotate(-1deg);
}

.yn-album img:nth-child(1) {
    transform:rotate(-.5deg);
}

.yn-album img:nth-child(2) {
    transform:rotate(.8deg);
}

.yn-album img:nth-child(3) {
    transform:rotate(-.8deg);
}

.yn-album img:nth-child(4) {
    transform:rotate(.5deg);
}

.yn-album img:hover {
    transform:scale(1.06) rotate(-.5deg);
}

.yn-album img:nth-child(2):hover {
    transform:scale(1.06) rotate(.8deg);
}

.yn-album img:nth-child(3):hover {
    transform:scale(1.06) rotate(-.8deg);
}

.yn-album img:nth-child(4):hover {
    transform:scale(1.06) rotate(.5deg);
}

.memory-album img:nth-child(1) {
    transform:rotate(.6deg);
}

.memory-album img:nth-child(2) {
    transform:rotate(-.7deg);
}

.memory-album img:nth-child(3) {
    transform:rotate(.4deg);
}

.memory-album img:nth-child(4) {
    transform:rotate(-.5deg);
}

.memory-album img:hover {
    transform:scale(1.06) rotate(.6deg);
}

.memory-album img:nth-child(2):hover {
    transform:scale(1.06) rotate(-.7deg);
}

.memory-album img:nth-child(3):hover {
    transform:scale(1.06) rotate(.4deg);
}

.memory-album img:nth-child(4):hover {
    transform:scale(1.06) rotate(-.5deg);
}

#photo-viewer {
    display:none;
    position:fixed;
    inset:0;
    align-items:center;
    justify-content:center;
    padding:20px;
    box-sizing:border-box;
    background:rgba(0,0,0,.75);
    z-index:10001;
    cursor:url("img/cursor.png"),auto;
}

#photo-viewer-image {
    width:auto;
    height:auto;
    max-width:calc(100vw - 40px);
    max-height:calc(100vh - 40px);
    cursor:url("img/cursor.png"),auto;
}

/* -------------------
       AUDIO PLAYER
------------------- */

.audio-player {
    margin:28px auto 0;
    padding:14px;
    max-width:360px;
    box-sizing:border-box;
    border:2px solid #c36b87;
    border-radius:8px;
    background:rgba(255,255,255,.45);
    box-shadow:2px 3px 0 rgba(48,33,45,.18);
}

.audio-title {
    margin-bottom:9px;
    color:#a74765;
    font-size:18px;
    text-align:center;
}

.audio-player audio {
    display:block;
    width:100%;
    height:38px;
}

/* -------------------
      PAGE ARROWS
------------------- */

.page-arrow {
    position:absolute;
    bottom:12px;
    border:none;
    padding:0;
    background:transparent;
    color:#c65378;
    font:inherit;
    font-size:30px;
    line-height:1;
    cursor:url("img/cursor.png"),auto;
    transform:scale(1);
}

.page-arrow:hover {
    transform:scale(1.2);
}

.next-arrow {
    left:50%;
    transform:translateX(-50%) scale(1);
}

.next-arrow:hover {
    transform:translateX(-50%) scale(1.2);
}

.previous-arrow {
    left:50%;
    transform:translateX(-50%) scale(1);
}

.previous-arrow:hover {
    transform:translateX(-50%) scale(1.2);
}

.tabcontent .page:first-child {
    box-shadow:
        4px 0 8px rgba(48,33,45,0.12),
        0 3px 8px rgba(48,33,45,0.22);
}

.tabcontent .page:last-child {
    box-shadow:
        -4px 0 8px rgba(48,33,45,0.12),
        0 3px 8px rgba(48,33,45,0.22);
}

/* -------------------
          TABS
------------------- */

.section-label {
    position:absolute;
    top:-20px;
    width:200px;
    height:30px;
    display:flex;
    align-items:center;
    justify-content:center;
    box-sizing:border-box;
    border-radius:8px 8px 0 0;
    background-image:url("img/papertexture.png");
    color:#30212d;
    font:inherit;
    font-size:24px;
    box-shadow:
        1px 0 #30212d,
        -1px 0 #30212d,
        0 1px #30212d,
        0 -1px #30212d,
        2px -2px 0 rgba(25,15,25,0.25);
    pointer-events:none;
    z-index:1;
}

.left-label {
    left:20px;
    background-color:#e8789b;
}

.right-label {
    right:20px;
    background-color:#e58da8;
}

.tabs {
    position:absolute;
    display:flex;
    flex-direction:column;
    gap:38px;
}

.tabs button {
    width:100px;
    height:70px;
    border:none;
    border-radius:1px;
    cursor:url("img/cursor.png"),auto;
    transition:transform .2s ease;
    display:flex;
    justify-content:center;
    align-items:flex-start;
    padding-top:8px;
    box-sizing:border-box;
    background-size:cover;
    background-blend-mode:multiply;
    font:inherit;
    font-size:20px;
    box-shadow:
        1px 0 #30212d,
        -1px 0 #30212d,
        0 1px #30212d,
        0 -1px #30212d,
        2px 2px 0 rgba(25,15,25,0.25);
}

.left-tabs button {
    transform:rotate(-90deg) translateY(0);
}

.right-tabs button {
    transform:rotate(90deg) translateY(0);
}

.left-tabs button:hover,
.left-tabs button.active {
    transform:rotate(-90deg) translateY(-10px);
}

.right-tabs button:hover,
.right-tabs button.active {
    transform:rotate(90deg) translateY(-10px);
}

.left-tabs {
    top:90px;
    left:-35px;
}

.right-tabs {
    top:90px;
    right:-35px;
}

/* -------------------
      TAB COLORS
------------------- */

.home-tab {
    background-color:#e8789b;
    background-image:url("img/papertexture.png");
}

.about-tab {
    background-color:#faf8ed;
    background-image:url("img/papertexture.png");
}

.notes-tab {
    background-color:#f2a4b9;
    background-image:url("img/papertexture.png");
}

/* Lighter red */

.back-tab {
    background-color:#c95a69;
    background-image:url("img/papertexture.png");
}

.amil-tab {
    background-color:#e2c590;
    background-image:url("img/papertexture.png");
}

.cu-tab {
    background-color:#9493f5;
    background-image:url("img/papertexture.png");
}

/* -------------------
        TAB TEXT
------------------- */

.tabs button {
    color:#30212d;
    text-shadow:none;
}

.tabs button:hover,
.tabs button.active {
    color:#30212d;
}

/* -------------------
       SCROLLBAR
------------------- */

.page::-webkit-scrollbar {
    width:10px;
}

.page::-webkit-scrollbar-track {
    background:#d8d2c3;
}

.page::-webkit-scrollbar-thumb {
    background:#c36b87;
    border:2px solid #d8d2c3;
}

.page::-webkit-scrollbar-thumb:hover {
    background:#e8789b;
}