@font-face {
    font-family: 'infini';
    src: url("https://infini.neocities.org/font_family/Infini-Regular.otf");
}

@font-face {
    font-family: 'Poetson';
    src: url("https://infini.neocities.org/font_family/PoetsenOne-Regular.ttf	");
}

@font-face {
    font-family: 'Pixelated MS Sans Serif';
    src: url("https://infini.neocities.org/font_family/ms_sans_serif.woff");
}

@font-face {
    font-family: 'Petscop';
    src: url("https://infini.neocities.org/font_family/PetscopWide.ttf");
}

@font-face {
    font-family: 'Petscop Tall';
    src: url("https://infini.neocities.org/font_family/PetscopTall.ttf");
}

@font-face {
    font-family: 'Petscop Pink';
    src: url("https://infini.neocities.org/font_family/PetscopPinkTool.ttf");
}

html {
    cursor: var(--cursor);
    background-image: url("../images/seamless_paper_texture_2.jpg");
}

:root {
    --cursor: url("../images/stamp_pointer.png"), auto !important;
    --cursor-active: url("../images/stamp_pointer_auto.png"), auto !important;
}

body {
    font-family: var(--font);
    color: var(--color);
    text-align: center;
}

a {
    color: var(--link);
}

.imglink:hover {
    transform: scale(1.05);
    z-index: 4;
    cursor: var(--cursor-active);

}

p {
    font-family: var(--font);
}

.clearfix::after {
    content: "";
    clear: both;
    display: table;
}

.ccontainer {
    position: relative;
    max-width: 100%;
}

#pagecontainer {
    position: relative;
    margin: auto;
    max-width: 80%;
    height: 85%;
    padding: 1rem;
    box-shadow: 0px 3px 10px rgba(0, 0, 0, .5);
    min-height: 85%;
}

h1 {
    font-variant: small-caps;
    font-family: var(--header-font);
}

h2 {
    font-variant: small-caps;
}

img {
    max-width: 100%;
}

.stampcont {
    height: auto;
    border: 4px black dotted;
    display: inline-block;
    margin: 5px;
}

.stamp {
    position: relative;
    background-image: url("../images/stamp_template.png");
    background-size: 100% 100%;
    background-position: center;
    background-repeat: no-repeat;
    display: flex;
    justify-content: center;
    align-items: center;
    backface-visibility: hidden;
    padding: 1rem;
}

.stamp-contents {
    display: flex;
    justify-content: center;
    align-items: center;
}

.stampcont:nth-child(2n+1) .stamp {
    transform: rotate(2deg);
}

.stampcont:nth-child(2n) .stamp {
    transform: rotate(-2deg);
}

.stamp img {
    max-height: 200px;
}

.stamptext {
    position: absolute;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    z-index: 2;
    text-shadow:
        3px 3px 0 #000,
        -1px -1px 0 #000,
        1px -1px 0 #000,
        -1px 1px 0 #000,
        1px 1px 0 #000,
        0px 0px 4px #000;
}

.stamptext p {
    font-family: var(--stamp-font);
    color: white;
    backdrop-filter: sepia(90%) brightness(60%);
    padding: 0;
    margin: 0;    
}

a .stamptext p {    
    cursor: var(--cursor-hover) !important;
}

.stamp, .stampcont, .stampimage {
    transition: .2s;
}

.stampimage {

    filter: sepia(300%);
}

.stamp:hover {
    filter: none;
}

.stampcont:hover .stamp {
    transform: scale(1.2);
    z-index: 3;
}

.stampcont:hover .stampimage {
    transform: scale(1);
    filter: none;
}

#stampbook {
    padding: 5px;
}

/* Decorations */
.corner-decoration {
    position: absolute;
    width: 3em;
    margin: -3px;
}

.stamptext {
    font-size: 1.5rem;
}

@media (min-width: 768px) {
    .corner-decoration {
        width: 3.5em;
        margin: -4px;
    }

    h1 {
        line-height: .5;
    }

}

@media (min-width: 992px) {
    .corner-decoration {
        width: 4em;
        margin: -5px;
    }

    h1 {
        font-size: 4em;
    }

    .p1 {
        width: 50%;
        float: left;
        text-align: center;
        height: 100%;
        flex: 1;
    }

    .vl {
        display: inline-block;
        position: absolute;
        border-left: 3px solid var(--color);
        height: 100%;
        top: 0;
        transform: translate(-50%);
        left: 50%;
    }

    .stamptext {
        font-size: 2.5rem;
    }

    .page {

        overflow: auto;
    }

    p {
        font-size: 1em;
    }

    .p1:first-child {
        margin-right: 20px;
    }
}


.p1:first-child {
    margin-right: 0px;
}


.inner-border {padding: 30px;}

.outer-border {
    border: 2px solid var(--border-color);
    /*	height: 99%; */
    width: 98%;
    padding: 6px;
    margin: 0 auto;
}

@media (min-width: 992px) {
    .outer-border {
        /* height: 94%; */
    }
}

.mid-border {
    border: 6px solid var(--border-color);
    /* height: 97%; */
    max-width: 100%;
    padding: 6px;
    margin: auto;
}

.inner-border {
    position: relative;
    border: 2px solid var(--border-color);
    height: 100%;
    max-width: 100%;
    margin: auto;
}


/* Decorations */
.corner-decoration {
    position: absolute;
    width: 3em;
    margin: -3px;
}

@media (min-width: 768px) {
    .corner-decoration {
        width: 3.5em;
        margin: -4px;
    }
}

@media (min-width: 992px) {
    .corner-decoration {
        width: 4em;
        margin: -5px;
    }
}

@media (min-width: 1200px) {
    .corner-decoration {
        width: 5em;
        margin: -6px;
    }
}

.corner-decoration.corner-left-top {
    left: 0;
    top: 0;
}

.corner-decoration.corner-right-top {
    top: 0;
    right: 0;
    -webkit-transform: scaleX(-1);
    transform: scaleX(-1);
}

.corner-decoration.corner-right-bottom {
    right: 0;
    bottom: 0;
    -webkit-transform: scale(-1);
    transform: scale(-1);
}

.corner-decoration.corner-left-bottom {
    left: 0;
    bottom: 0;
    -webkit-transform: scaleY(-1);
    transform: scaleY(-1);
}


.vertical-decoration {
    position: absolute;
    left: 0;
    right: 0;
    margin: auto;
    width: 11em;
}



.arrow,
.arrow2,
.bookmark,
.bookmark-2 {
    background-size: 100% 100%;
    z-index: 16;
    transition: .1s;
    filter: drop-shadow(3px 3px 2px rgba(0, 0, 0, .5));
    font-variant: small-caps;
}

@media (min-width: 992px) {

    .bookmark,
    .bookmark-2 {
        position: absolute;
    }

    .arrow,
    .arrow2,
    .bookmark,
    .bookmark-2 {

        top: 43%;
        display: flex;
        justify-content: center;
        align-items: center;
    }

    .arrow,
    .arrow2 {
        position: absolute;
    }

    .arrow {
        right: 0;
    }

    .arrow2 {
        left: 0;
    }

    .bookmark,
    .bookmark-2 {
        width: 5%;
    }

    .arrow,
    .arrow2 {

        width: 250px;
        height: 225px;
    }

}

@media (max-width: 992px) {

    .arrow,
    .arrow2,
    .bookmark,
    .bookmark-2 {
        width: 35%;
        display: inline-block;
    }

    .bookmark,
    .bookmark-2 {
        width: 20%;
    }
}

.arrow {
    background-image: url("../images/arrow.png");

}

.arrow:hover {
    transform: translateX(10px);
}

.arrow2 {
    background-image: url("../images/arrow2.png");
}


.arrow2:hover {
    transform: translateX(-10px);
}

.bookmark {
    z-index: 17;
}

.bookmark,
.bookmark-2 {
    background-image: url("../images/bookmark.png");
    left: 47.5%;
    height: 150px;
    top: -10px;
}

.bookmark:hover {
    transform: translateY(10px);
}

.footer {
    margin: 40px auto;
    padding-top: 40px;
    height: 250px;
    width: auto;
    color: beige;
}

.footer img {
    max-width: 100px;
    height: auto;
    z-index: 10;
}