:root {
    font-family: Garamond,'Gill Sans', 'Gill Sans MT', Calibri, 'Trebuchet MS', sans-serif;
    margin: 0 !important;
}

*:not(h1, h2) {
    font-family: inherit;
    font-size: 1em;
}

* {
    user-select: none;
}

#print {
    display: none;
}

.single-active-child {
    --active-child: 0;
}

html {
    overflow-x: hidden !important;
}

a {
    color:#FF8532;
    font-family: Zedou;
    text-decoration-thickness: 2px;
}

body {
    max-width: 100%;
    overflow-x: hidden !important;
    height: 100%;
    

    width: 100%;
    margin: 0;
    padding: 0;
    box-sizing: border-box;

    min-height:100vh;
    background-image: linear-gradient(0deg,rgba(234, 222, 203, 0.63), rgba(234, 222, 203, 0.3)), url("../assets/Images/Background.png"),  url("../assets/Images/Background.png");
    background-color: rgb(255, 239, 218);
    background-size: auto;
    background-repeat: no-repeat;

}

.not-completed-page-text {
    font-weight: bold;
    color: #FF8532;
    
    text-shadow:
        0.07em 0 black,
        0 0.07em black,
        -0.07em 0 black,
        0 -0.07em black;
}

.character-creation {
    padding: 15px;
    box-sizing: border-box;
}

.center-horizontally {
    width: 100%;
    display: flex;
    justify-content: center;
}

.content {
    width: 70%;
    position: relative;
    font-family: Garamond;
}

.right {
    position: absolute;
    right: 0;
}

.nowrap {
    text-wrap: nowrap;
}

.relative {
    position: relative;
}

.sample {
    display: none !important;
}

.invisible {
    visibility: hidden;
}

.ghost {
    filter: opacity(70%) brightness(50%) sepia(100%)  !important;
    transform: rotate(1deg);
}

.horizontal {
    display: grid;
    grid-auto-flow: column;

    gap: 10px;

    justify-content: center;
}

.next-page-button {
    width: 150px;
    background-color: rgba(255, 236, 209, 0.594);
    border: 2px solid #2C2E35;
    border-radius: 4px;
}


.border4{
    margin-bottom: 40px;
}

#character-picker-buttons {
    width: 100%;
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;    
    gap: 50px;
    row-gap: 100px;
}

.character-button-row {
    width: 300px;
    height: 50px;
    position: absolute;

    bottom: -20px;
    left: 65%;
    transform: translate(-50%);

    display: flex;
    justify-content: stretch;
    gap: 20px
}

.print-button,
.edit-button {
    background-color:#ffecd1ca;
    border:2px solid #ff8432;
    border-radius: 5px;

    flex-grow: 1;
}

.print-button h2,
.edit-button h2 {
    margin: 0;
    color:#ff8432;
}

.character-picker-button-parent .delete-button {
    width: 40px;
    height: 40px;
    position: absolute;

    top: -10px;
    right: -10px;

    background-color:#ff8432;
    border: none;
    border-radius: 5px;

    transform: scale(0) rotate(20deg);

    transition: .1s;
}

.character-picker-button-parent:hover .delete-button {
    transform: scale(1) rotate(5deg);
}

#character-picker-buttons .delete-button h2 {
    margin: 0;
    color:rgb(143, 76, 47);
}


.character-picker-button-parent {
    width: 100%;
    height: 300px;
    position: relative;
}

.character-picker-button {
    position: relative;
    display: grid;
    width: 100%;
    height: 100%;
}

#character-picker-buttons .character-picker-button:hover {
    transform: scale(99%);
}

#character-picker-buttons img {
    pointer-events: none !important;
}

#character-picker-buttons .character-image {
    position: absolute;
    left:0;
    right:0;
    bottom:-20%;
    margin:auto;
    height: 140%;
    transform: translate(-55%);
    filter: brightness(95%) sepia(30%);
}

.add-character-box {
    height: 100%;
    width: 100%;

    position: relative;
}

.add-character-button {
    height: 100%;
}
#character-picker-buttons .add-character-button:hover {
    transform: scale(99%);
}

.add-character-image {
    height: 300px;
    margin-top: -70px;
    margin-bottom: -20px;
}

.add-character-text {
    position: absolute;
    bottom: 10px;
    left: 50%;
    transform: translate(-47%);

    pointer-events: none;

    width: 100%;
}

#randomize-button {
    background-color:#ffecd1ca;
    border:3px solid #ff8432;
    border-radius: 5px;

    height: 70px;
    width: 70px;
    
    transform: scale(70%) rotate(5deg) translate(0, 15%);
    pointer-events: all;

    transition: .01s;
}
.randomize-button {
    background-color:#ffecd1ca;
    border:3px solid #ff8432;
    border-radius: 5px;

    --size: 70px;

    height: var(--size);
    width: var(--size);
    
    transform: scale(70%) rotate(5deg) translate(0, 15%);
    pointer-events: all;

    transition: .01s;

    display: grid;
    justify-content: center;
    align-items: center;
}

#randomize-button:hover {
    transform: scale(80%) translate(0, 15%);
}

.randomize-button img {
    width: calc(var(--size) - 10px);
    height: calc(var(--size) - 10px);
}

.text-wrapper {
    position: relative;
}

.text-wrapper .randomize-button {
    position: absolute;
    right: 30px;
    bottom: 35px;
    --size: 40px;

    transform: none;
}

.text-wrapper .randomize-button:hover {
    transform: scale(90%) rotate(15deg);
}

.input-text-wrapper {
    display: inline-flex;
}

.input-text-wrapper .randomize-button {
    aspect-ratio: 1;
    transform: none;
    width: 30px;
    height: 30px;

    padding: 0;

    top: 0;
    right: 5px;
    bottom: 0;
    margin: auto;
}
.input-text-wrapper .randomize-button:hover {
    transform: scale(90%) rotate(15deg);
}

.character-text {
    width: 70%;
    justify-self: right;
    align-self: center;
}
.character-name {
    padding: 0;
    margin-bottom: 0;
    font-size: 3em;
}

h3 {
    margin-top: 10px;
}

.character-name,
.character-den {
    text-transform: uppercase;
}

.picker-buttons {
    display:grid;

    width: 100%;
    gap: .5em;
}
.picker-buttons button {
    width: 100%;
    cursor: pointer;
}

.technique-box.single-choice-button {
    
    border: 3px solid orange;
    border-radius: 0;
    border-image: url("../assets/Images/Borders/Border1.png") 100 / 30px round;
}

.single-choice-button  {
    font-family: Garamond;
}

button {
    cursor: pointer !important;
}

.weapon-button {
    position: relative;
    height: 210px;
    border: 10px solid red;
    /* border-image: url("../assets/Images/Borders/Border2.png") 220 / 30px round; */
    border-image: url("../assets/Images/Borders/Border1.png") 100 / 30px round;
}
button:hover {
    filter: brightness(85%) sepia(50%);
}
button:active {
    filter: brightness(80%) sepia(50%);
}

.weapon-image {
    position: absolute;
    width: 200px;
    bottom: -40px;
}

.weapon-button:nth-child(2n - 1) .weapon-image {
    left: 0;
}
.weapon-button:nth-child(2n) .weapon-image {
    right: 0;
}

#weapon-style-picker {
    display: grid;
    grid-template-columns: 1fr 3fr .5fr 3fr 1fr;
}

.weapon-style-parent {

    display: grid;
    justify-content: center;
    border: 2px solid rgb(165, 165, 165);
    border-radius: 10px;

    padding: 20px;
}

.weapon-style-parent table {
    width: 100%;
}

.weapon-style-parent td {
    font-size: 1.5em;
    text-align: center;
    width: 1fr;
}

.description {
    font-size: 1.6em;
}

.technique-box {
    border: 2px solid #a79886;
    border-radius: 10px;
    width: 100%;
    box-sizing: border-box;
    font-size: 1.1em;

    background-color: #ffecd197;

    padding: 10px;
}

.picked-button {
    filter: brightness(80%) sepia(50%);
}

.bold {
    font-weight: bold;
}

.header {
    font-family: Zedou;
}

.monster-wrapper {
    mask-image: url("../assets/Images/paperCutout.png");
    mask-repeat: no-repeat;
    position:relative;
    width: 100%;
    height: 100%;
}

.monster-image {
    vertical-align: bottom;
    position: relative;
    font-size: 1.25em;
    height: 100%;
    background: url("../assets/Images/Beasts/Yudoubu.jpg");
}

.monster-image > .text-div{
    position:absolute;
    bottom:0;

    height: fit-content;

    padding: 1em;
}

.monster-title {
    font-family: Zedou;
    font-size: xx-large;
    width: 300px;
    height: 100px;

    background-image: url("../assets/Images/CutoutTitlebox.png");
    background-size: cover;

    filter: drop-shadow(3px 10px 10px #00000079);

    display: flex;
    justify-content: center;
    align-items: center;

    position: absolute;
    top: -40px;
    left: 50%;
    transform: translate(-50%);
}

.monster-name {
    display: inline;
    vertical-align: middle;
}

.monster-type {
    font-size: x-large;
}
.text-div {
    font-style: italic;
    text-align: center;

    width: 500px;
    height: 130px;
    padding: 60px;
    padding-top: 35px;

    filter: drop-shadow(3px 10px 10px #000000bb);

    background-image: url("../assets/Images/CutoutTitlebox.png");
    background-size: 620px 150px;
    background-repeat: no-repeat;
    background-position: 0px 15px;

    position: absolute;
    bottom: -100px;
    left: 50%;
    transform: translate(-50%) scaleX(0);
}
.monster-species-parent {
    font-weight: bold;
}
.monster-descriptor {
    text-transform: capitalize;
}

.background-connection-wrapper {
    display: none;
}

textarea {
    resize: none;
    border-radius: 10px;

    font-family: Garamond;

    padding: 10px;
    font-size: 1.25em;
    width: 100%;

    background-color: transparent;
    border: 10px solid black;
    border-image: url("../assets/Images/Borders/Border3.png") 110 fill / 30px round;
    padding: 20px;

    box-sizing: border-box;
}

.background-textarea {
    min-height: 250px;
}

.staples {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
}

.flex {
    display: flex;
}

.connection-button {
    height: 100px;
}

.background-connection-wrapper {
    position: relative;
}
.close-button {
	position: absolute;
	right: 0;
	top: 0;
	width: 30px;
	height: 30px;
	border: 3px solid #f28822;
	background-color: antiquewhite;
	color: #f28822;
	z-index: 1;

    text-align: center;
    
    display: flex;
    justify-content: center;
    align-items: center;
}

input {
    font-size: .75em;
    border: 2px solid rgb(167, 152, 134);
    border-radius: 10px;
    box-sizing: border-box;
    font-size: 1.1em;

    background-color: #ffecd13b;
    width: 250px;
    text-align: center;
}

input:hover {
    background-color: #ffecd197;
}

#final-pronouns {
    width: 150px !important;
}

@font-face {
    font-family: Zedou;
    src: url("../assets/Fonts/Zedou.ttf");
}
@font-face {
    font-family: Garamond;
    src: url("../assets/Fonts/Garamond.ttf");
}

.weapon-button {
}

.weapon-button p {
    margin: 0;
}
.weapon-button h1 {
    margin: 0;
    margin-bottom: 10px;
}
.weapon-button .content {
    padding: 10px;
    height: 100%;
    box-sizing: border-box;
    overflow-y: auto;
}

#weapon-picker-buttons .center-horizontally, #weapon-picker-buttons .content {
    height: 100%;
}


@media only screen and (max-width: 1500px){
    .weapon-button:nth-child(2n-1) .center-horizontally {
        text-align: right;
        justify-content: right;
    }
    .weapon-button:nth-child(2n) .center-horizontally {
        text-align: left;
        justify-content: left;
    }

    #character-picker-buttons {
        grid-template-columns: 1fr 1fr;
    }
    .staples {
        grid-template-columns: 1fr;
    }
}

@media only screen and (max-width: 1100px) {
    .content {
        width: 98%;
        margin: 0px;
    }
    .weapon-button .description {
        width: 100%;
    }
    .weapon-button .content {
        width: 70%;
    }

    #character-picker-buttons {
        grid-template-columns: 1fr 1fr;
    }
    
    .delete-button {
        transform: scale(1) rotate(5deg) !important;
    }
}

@media only screen and (max-width: 800px) {
    #character-picker-buttons {
        grid-template-columns: 1fr;
    }

    .repeating-image {
        transform: scale(70%);
        font-size: 2em;
    }
    .text-div {
        background-size: 620px 300px;
        height: 260px;
    }
    .repeating-image-button {
        background-size: 50px, 60px 60px !important;
    }
}
@media only screen and (max-width: 500px) {
    #character-picker-buttons .character-image {
        transform: translate(-40%);
    }
    .weapon-button:nth-child(2n - 1) .weapon-image {
        left: -30px;
    }
    .weapon-button:nth-child(2n) .weapon-image {
        right: -30px;
    }
}

.weapon-button ::-webkit-scrollbar {
    width: 5px;
}
::-webkit-scrollbar {
    width: 10px;
}
  
/* Track */
::-webkit-scrollbar-track {
    box-shadow: inset 0 0 5px #ff8432bb;
    border-radius: 5px;
    }

/* Handle */
::-webkit-scrollbar-thumb {
    background: #ff8432bb;
    border-radius: 5px;
}
::-webkit-scrollbar-thumb:hover {
    background: #ff8432;
    border-radius: 5px;
}

button,
li,
ul,
td {
    color: black;
}

.top-bar {
    background-color: #0E4CA5;
    height: 70px;
    box-sizing: border-box;
    padding: 15px;
    padding-bottom: 20px;
    border-bottom: 3px solid #f28822;
}
.top-bar * {
    height: 100%;
}

#bottom-bar {
    background-color: #faebd7b5;
    border-top: 3px solid #FF8532;
    width: 100%;
    height: 40px;
    position: fixed;
    bottom: 0;

    display: flex;
    align-items: center;

    font-family: Zedou;
}

#bottom-bar * {
    margin: 0 !important;
}

.top-bar .last-page-button,
.top-bar .next-page-button {
    width: 100px;
    height: 70px;
    position: absolute;
    top: 5px;
    background-color: transparent;
    border: none;
}

td, th {
    text-align: center;
    font-family: Zedou;
}

.top-bar .last-page-button {
    left: 5px;
}

.top-bar .next-page-button {
    right: 5px;
}

.top-bar button img {
    width: 100%;
    height: auto;
}

.top-bar button img {
    width: 100%;
    height: auto;
}

.character-names {
    display: inline-block;
    width: 100%;
    height: fit-content;
}

.character-names h1{
    position: absolute;
    margin: 0;

    width: 100%;
    top: 0;

    text-align: center;
    overflow-x: hidden;
    color: rgb(119, 196, 255);
}

.character-names h1:nth-child(2){
    z-index: 100;
    mix-blend-mode: difference;
}


.character-names h1:first-of-type {
    position: static;
    visibility: hidden;
}

.connection-button {
    height: 100%;
}