/*#region General */
input {
    background-color: transparent;
}
.mainContainer {
    margin-top: 6vh;
    background-color: inherit;
    border: none;
}
h1 {
    font-size: 3em;
    text-align: center;
    margin-bottom: 0px;
}
h2 {
    margin-top: 0px;
}
button {
    touch-action: manipulation;
    background-color: inherit;
    color: inherit;
    border-radius: 2em;
    border: solid #D5AE30 2px;
    transition: all 0.25s;
}
button:active {
    background-color: #D5AE30;
    transform: translateY(3px);
}
button:hover {
    background-color: #1f1f1f;
}
/*#endregion*/

/*#region Dice*/
.dice {
    display: flex;
    flex-direction: column;
    flex-basis: min-content;
    text-align: center;
    transition: all 2s;
}
.dice p {
    font-size: 0.8em;
}
.diceFace {
    width: 100px;
    height: 100px;
    image-rendering: auto;
    border-radius: 15px;
    margin: 10px;
    animation: fadeIn 1s;
}
@keyframes fadeIn {
    0% { opacity: 0;}
    100% {opacity: 1;}
}
.diceResContainer {
    display: flex;
    flex-flow: wrap;
    justify-content: space-evenly;
}
#textResultContainer {
    font-weight: bold;
    font-size: 2em;
    border-top:solid #D5AE30 2px;
    border-bottom:solid #D5AE30 2px;
}
/*#endregion*/

/*#region Counters*/
.counters {
    display: grid;
    grid-auto-rows: auto;
    grid-auto-columns: auto;
    grid-template-columns: repeat(2, 1fr);
}
div.counter {
    display: grid;
    height: min-content;
    grid-template-columns: 1fr 0.5fr 0.5fr 0.5fr;
    justify-content: space-evenly;
    max-width: 50vw;
}
.counterLabel {
    text-align: center;
    word-break: break-all;
}
.counterButton {
    border: none;
    background-color: unset;
}
.count {
    text-align: center;
    margin-left: 10px;
}
.count:focus {
    outline-width: 0;
}
input[type=number]::-webkit-inner-spin-button,
input[type=number]::-webkit-outer-spin-button {
    -webkit-appearance: none;
}
input[type=number] {
    color: inherit;
    background-color: inherit;
    -moz-appearance: textfield;
    appearance: textfield;
    border: none;
}
input[type=checkbox] {
    width: 25px;
    height: 25px;
    -webkit-appearance: none;
    appearance: none;
    background-color: inherit;
    color: inherit;
    align-self: center;
    align-content: center;
    border: 1px solid #D5AE30;
    display: grid;
}
input[type=checkbox]::before {
    content: "";
    display:block;
    justify-self: center;
    width: 15px;
    height: 15px;
    transform: scale(0);
    transition: 120ms transform ease-in-out;
    background-color: #D5AE30;
    border: 1px solid #D5AE30;
}
input[type="checkbox"]:checked::before {
  transform: scale(1);
}
/*#endregion*/


.sectionButton {
    background-color: unset;
    width: 100%;
    border: none;
    text-align: center;
    font-size: 1.5em;
    font-family: "PT Serif", serif;
    height: 20%;
    margin-top: 20px;
    margin-bottom: 3px;
}
.checkSectionContent {
    margin-bottom: 10%;
}
.expandedSectionContent, .checkSectionContent {
    display: none;
    margin-top: 2vh;
}

#rollButton {
    width: 100%;
    position: fixed;
    bottom: 2%;
    height: 5%;
    left: 0%;
    z-index: 1;
}
#spRoll, #spRes {
    width: 90%;
    margin-left: auto;
    margin-right: auto;
}
#spRes {
    font-size: 1.5em;
    border: solid #D5AE30 2px;
    padding: 20px;
}

#newDieSectionContainer{
    display: none;
    border-bottom:solid #D5AE30 2px;
    padding-bottom: 15px;
}
.extraDiceAlertContainer p {
    font-size: 2em;
    color: red;
}
.extraDiceAlertContainer {
    animation-name: extraDiceAlert;
    animation-duration: 1.5s;
    animation-timing-function: ease-in-out;
}
@keyframes extraDiceAlert {
    0% {opactiy: 1}
    25% {opacity: 0}
    50% {opacity: 1}
    75% {opacity: 0}
    100% {opacity: 1}
}
#resetButton, #clearSave {
    background-color: rgb(255 165 165);
    color: black;
}
#resetButton:hover, #clearSave:hover {
    background-color: rgb(255, 131, 131);
}
.saveButton {
    border-width: 1px;
}


.success {
    color: #D5AE30;
}
.fail {
    color: red;
}
.saveButtons {
    display: none;
}
.slShown {
    display: unset;
}
@media screen and (orientation: portrait) {
    h1 {
        font-size: 2em;
    }
    .counterButton {
        display: initial;
    }
    #rollButton {
        font-size: 3rem;
        background-color: inherit;
        height: fit-content;
    }
    .counters {
        grid-template-columns: repeat(1, 1fr);
    }
    div.counter {
        max-width: 100%;
        grid-template-columns: repeat(auto-fill, 24vw);
    }
    #textResultContainer {
        font-size: 2rem;
    }
    .slShown {
        display: flex;
        flex-direction: column;
        Gap: 10px;
    }
    .checkSectionWrapper {
        margin-bottom: 40%;
    }
}


/*#region ItemGen*/
.prefs {
    border-top:solid #D5AE30 2px;
    border-bottom:solid #D5AE30 2px;
    padding: 20px 0px;
}
.preference {
    display: flex;
    justify-content: space-evenly;
    gap: 40px;
}
.preference input {
    border: 1px solid #D5AE30;
}
.objTextResult {
    margin: 0px;
    animation: objTextResult 2s;
}
@keyframes objTextResult {
    0% {opacity: 0;}
    25% {opacity: 0;}
    to {opacity: 1;}
}
#objectTextResultContainer {
    margin-bottom: 80px;
}
#objectTextResultContainer h3 {
    margin-bottom: 0px;
    animation: objTextResult 0.5s;
}
@media screen and (min-width: 992px) {
    #objectTextResultContainer {
        width: 80%;
        margin-left: auto;
        margin-right: auto;
    }
}
/*#endregion*/