@import url("https://fonts.googleapis.com/css2?family=Chicle&family=Poppins:ital,wght@0,200;0,400;0,600;1,200;1,400;1,600&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Yusei+Magic&display=swap");

@import "./101_RotatedButton.css";
@import "./Error.css";
:root {
    --text-color: #333;
    --company-color1: rgba(64, 119, 187, 1);
    --company-color2: rgba(29, 47, 78, 1);
    --company-color3: rgba(255, 255, 255, 1);
    --company-color1-alpha: rgba(64, 119, 187, 0.3);
    --company-color2-alpha: rgba(29, 47, 78, 0.3);
    --company-color3-alpha: rgba(255, 255, 255, 0.3);
    --global-shadow-color: rgba(0, 0, 0, 0.4);

    --sidebar-transition-time: 0.2s;
    --sidebar-transition-time-quick: 0.1s;
    --sidebar-transition-animation: ease-in-out;

    --header-height: 1.5rem;
    --right-sidebar-width: 320px;

    --dialog-border-color: rgba(100, 100, 100, 1);
    --dialog-shadow-color: rgba(0, 0, 0, 0.3);
    --dialog-background-color: rgba(255, 255, 255, 1);
    --dialog-primary-color: rgba(19, 70, 209, 1);
    --dialog-active-color: rgba(40, 70, 209, 1);
    --dialog-input-border-color: rgba(200, 200, 200, 1);
    --dialog-submit-button-color: rgba(180, 190, 230, 1);
    --dialog-cancel-button-color: rgba(235, 80, 80, 1);

    --body-video-seeker-height: 3rem;
}

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    font-family: "Poppins", sans-serif;
}
html {
    font-size: 16px;
}
body {
    height: 100%;
    width: 100%;
    overflow-y: scroll;
    overflow-x: hidden;
    color: var(--text-color);
    /* background: linear-gradient(45deg, var(--company-color1) 0, 5%, var(--company-color2) 5% 10%, var(--company-color3) 10% 80%, var(--company-color1) 80% 85%, var(--company-color2) 85% 100%); */
    background: linear-gradient(45deg, var(--company-color1) 0, 1%, var(--company-color2) 1% 5%, var(--company-color3) 5% 90%, var(--company-color1) 90% 95%, var(--company-color2) 95% 100%);
}
#app {
    height: 100%;
    width: 100%;
}
.first-gesture {
    background: rgba(200, 0, 0, 0.2);
    width: 100%;
    height: 100%;
    position: absolute;
}

/* Main + Section Partition*/
.main-body {
    height: 100%;
    width: 100%;
    padding: 2rem;
    font-family: "Yusei Magic", sans-serif;
    display: flex;
    flex-direction: column;
    font-size: 1rem;
    user-select: none;
    /* Title */
    .top-title {
        .title {
            font-size: 3rem;
        }
        .top-title-version {
            margin-left: 2rem;
            font-size: 1.2rem;
            background: linear-gradient(transparent 60%, yellow 30%);
        }
        .belongings {
            margin-left: 1rem;
            margin-right: 1rem;
            .link {
                margin-left: 1rem;
                font-weight: 700;
                text-decoration: underline;
            }
        }
    }

    /* Partition */
    .partition {
        width: 100%;
        .partition-header {
            font-weight: 700;
            color: rgb(71, 69, 69);
            display: flex;
            .caret {
                width: 2rem;
            }
            .title {
                font-size: 1.1rem;
            }
            .belongings {
                font-weight: 400;
                font-size: 0.8rem;
                display: flex;
                flex-direction: row;
                align-items: flex-end;
                margin-left: 10px;
                .belongings-checkbox {
                    margin-bottom: 3px;
                }
            }
        }
        .partition-content {
            position: static;
            overflow-y: hidden;
        }
        .row-split {
        }
    }
}
.state-control-checkbox:checked + .partition .partition-content {
    max-height: 700px;
    background: rgba(255, 255, 255, 0.3);
    transition: all var(--sidebar-transition-time) var(--sidebar-transition-animation);
}
.state-control-checkbox + .partition .partition-content {
    max-height: 0px;
    background: rgba(233, 233, 255, 0.3);
    transition: all var(--sidebar-transition-time) var(--sidebar-transition-animation);
}
/* ROW */

.split-8-2 {
    display: flex;
    width: 100%;
    justify-content: center;
    margin: 1px 0px 1px 0px;
    & > div:nth-child(1) {
        left: 0px;
        width: 80%;
    }
    & > div:nth-child(2) {
        left: 80%;
        width: 20%;
    }
}
.split-6-4 {
    display: flex;
    width: 100%;
    justify-content: center;
    margin: 1px 0px 1px 0px;
    & > div:nth-child(1) {
        left: 0px;
        width: 60%;
    }
    & > div:nth-child(2) {
        left: 60%;
        width: 40%;
    }
}
.split-5-5 {
    display: flex;
    width: 100%;
    justify-content: center;
    margin: 1px 0px 1px 0px;
    & > div:nth-child(1) {
        left: 0px;
        width: 50%;
    }
    & > div:nth-child(2) {
        left: 50%;
        width: 50%;
    }
}
.split-4-6 {
    display: flex;
    width: 100%;
    justify-content: center;
    margin: 1px 0px 1px 0px;
    & > div:nth-child(1) {
        left: 0px;
        width: 40%;
    }
    & > div:nth-child(2) {
        left: 40%;
        width: 60%;
    }
}
.split-3-7 {
    display: flex;
    width: 100%;
    justify-content: center;
    margin: 1px 0px 1px 0px;
    & > div:nth-child(1) {
        left: 0px;
        width: 30%;
    }
    & > div:nth-child(2) {
        left: 30%;
        width: 70%;
    }
}

.split-2-8 {
    display: flex;
    width: 100%;
    justify-content: center;
    margin: 1px 0px 1px 0px;
    & > div:nth-child(1) {
        left: 0px;
        width: 20%;
    }
    & > div:nth-child(2) {
        left: 20%;
        width: 80%;
    }
}

.split-1-8-1 {
    display: flex;
    width: 100%;
    justify-content: center;
    margin: 1px 0px 1px 0px;
    & > div:nth-child(1) {
        left: 0px;
        width: 10%;
    }
    & > div:nth-child(2) {
        left: 10%;
        width: 80%;
    }
    & > div:nth-child(3) {
        left: 90%;
        width: 10%;
    }
}
.split-2-2-6 {
    display: flex;
    width: 100%;
    justify-content: center;
    margin: 1px 0px 1px 0px;
    & > div:nth-child(1) {
        left: 0px;
        width: 20%;
    }
    & > div:nth-child(2) {
        left: 20%;
        width: 20%;
    }
    & > div:nth-child(3) {
        left: 40%;
        width: 60%;
    }
}
.split-3-3-4 {
    display: flex;
    width: 100%;
    justify-content: center;
    margin: 1px 0px 1px 0px;
    & > div:nth-child(1) {
        left: 0px;
        width: 30%;
    }
    & > div:nth-child(2) {
        left: 30%;
        width: 30%;
    }
    & > div:nth-child(3) {
        left: 60%;
        width: 40%;
    }
}

.split-3-4-3 {
    display: flex;
    width: 100%;
    justify-content: center;
    margin: 1px 0px 1px 0px;
    & > div:nth-child(1) {
        left: 0px;
        width: 30%;
    }
    & > div:nth-child(2) {
        left: 30%;
        width: 40%;
    }
    & > div:nth-child(3) {
        left: 70%;
        width: 30%;
    }
}
.split-2-5-3 {
    display: flex;
    width: 100%;
    justify-content: center;
    margin: 1px 0px 1px 0px;
    & > div:nth-child(1) {
        left: 0px;
        width: 20%;
    }
    & > div:nth-child(2) {
        left: 20%;
        width: 50%;
    }
    & > div:nth-child(3) {
        left: 70%;
        width: 30%;
    }
}
.split-4-4-2 {
    display: flex;
    width: 100%;
    justify-content: center;
    margin: 1px 0px 1px 0px;
    & > div:nth-child(1) {
        left: 0px;
        width: 40%;
    }
    & > div:nth-child(2) {
        left: 40%;
        width: 40%;
    }
    & > div:nth-child(3) {
        left: 80%;
        width: 20%;
    }
}
.split-1-4-4-1 {
    display: flex;
    width: 100%;
    justify-content: center;
    margin: 1px 0px 1px 0px;
    & > div:nth-child(1) {
        left: 0px;
        width: 10%;
    }
    & > div:nth-child(2) {
        left: 10%;
        width: 40%;
    }
    & > div:nth-child(3) {
        left: 50%;
        width: 40%;
    }
    & > div:nth-child(4) {
        left: 90%;
        width: 10%;
    }
}

.split-3-2-2-3 {
    display: flex;
    width: 100%;
    justify-content: center;
    margin: 1px 0px 1px 0px;
    & > div:nth-child(1) {
        left: 0px;
        width: 30%;
    }
    & > div:nth-child(2) {
        left: 30%;
        width: 20%;
    }
    & > div:nth-child(3) {
        left: 50%;
        width: 20%;
    }
    & > div:nth-child(4) {
        left: 70%;
        width: 30%;
    }
}
.split-3-2-3-2 {
    display: flex;
    width: 100%;
    justify-content: center;
    margin: 1px 0px 1px 0px;
    & > div:nth-child(1) {
        left: 0px;
        width: 30%;
    }
    & > div:nth-child(2) {
        left: 30%;
        width: 20%;
    }
    & > div:nth-child(3) {
        left: 50%;
        width: 30%;
    }
    & > div:nth-child(4) {
        left: 80%;
        width: 20%;
    }
}
.split-3-1-2-4 {
    display: flex;
    width: 100%;
    justify-content: center;
    margin: 1px 0px 1px 0px;
    & > div:nth-child(1) {
        left: 0px;
        width: 30%;
    }
    & > div:nth-child(2) {
        left: 30%;
        width: 10%;
    }
    & > div:nth-child(3) {
        left: 40%;
        width: 20%;
    }
    & > div:nth-child(4) {
        left: 60%;
        width: 40%;
    }
}
.split-3-2-1-4 {
    display: flex;
    width: 100%;
    justify-content: center;
    margin: 1px 0px 1px 0px;
    & > div:nth-child(1) {
        left: 0px;
        width: 30%;
    }
    & > div:nth-child(2) {
        left: 30%;
        width: 20%;
    }
    & > div:nth-child(3) {
        left: 50%;
        width: 10%;
    }
    & > div:nth-child(4) {
        left: 60%;
        width: 40%;
    }
}
.split-3-2-2-2-1 {
    display: flex;
    width: 100%;
    justify-content: center;
    margin: 1px 0px 1px 0px;
    & > div:nth-child(1) {
        left: 0px;
        width: 30%;
    }
    & > div:nth-child(2) {
        left: 30%;
        width: 20%;
    }
    & > div:nth-child(3) {
        left: 50%;
        width: 20%;
    }
    & > div:nth-child(4) {
        left: 70%;
        width: 20%;
    }
    & > div:nth-child(5) {
        left: 90%;
        width: 10%;
    }
}
.split-3-1-1-1-4 {
    display: flex;
    width: 100%;
    justify-content: center;
    margin: 1px 0px 1px 0px;
    & > div:nth-child(1) {
        left: 0px;
        width: 30%;
    }
    & > div:nth-child(2) {
        left: 30%;
        width: 10%;
    }
    & > div:nth-child(3) {
        left: 40%;
        width: 10%;
    }
    & > div:nth-child(4) {
        left: 50%;
        width: 10%;
    }
    & > div:nth-child(5) {
        left: 60%;
        width: 40%;
    }
}
.w20 {
    width: 20%;
}
.bold {
    font-weight: 700;
}
.w40 {
    width: 40%;
}

.underline {
    border-bottom: 3px solid #333;
}
.left-padding-05 {
    padding-left: 0.5rem;
}
.left-padding-1 {
    padding-left: 1rem;
}
.left-padding-2 {
    padding-left: 2rem;
}
.left-margin-1 {
    margin-left: 1rem;
}
.left-margin-2 {
    margin-left: 2rem;
}
.highlight {
    background-color: rgba(200, 200, 255, 0.3);
}
.guided {
    /* background-color: rgba(9, 133, 67, 0.3); */
    background-color: rgba(159, 165, 162, 0.1);
    /* border-bottom: 1px solid rgba(9, 133, 67, 0.3); */
}

.divider {
    height: 0.8rem;
    /* background-color: rgba(16, 210, 113, 0.1); */
    background-color: rgba(31, 42, 36, 0.1);
}

.body-section-title {
    font-size: 1.5rem;
    color: rgb(51, 49, 49);
}
.body-sub-section-title {
    font-size: 1.1rem;
    font-weight: 700;
    color: rgb(3, 53, 12);
}

.body-item-title {
    color: rgb(51, 99, 49);
    display: flex;
}
.body-item-text {
    color: rgb(30, 30, 30);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    .body-item-text-item {
        padding-left: 1rem;
    }
}
.body-item-text-small {
    color: rgb(30, 30, 30);
    font-size: 0.7rem;
}
.body-item-text-em {
    color: rgb(250, 30, 30);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-weight: 700;
}

.body-input-container {
    display: flex;
}
.body-item-input {
    width: 60%;
}
.body-item-input-slider {
    width: 60%;
}
.body-item-input-slider-label {
    margin-right: 1rem;
}
.body-item-input-slider-val {
    margin-left: 1rem;
}
.body-item-input-slider-2nd {
    width: 60%;
    accent-color: #33f;
}

.body-button-container {
    display: flex;
    flex-direction: row;
    align-items: center;
    & > div {
        margin-left: 5px;
        margin-right: 5px;
        padding-left: 20px;
        padding-right: 20px;
    }
    .body-button {
        user-select: none;
        border: solid 1px #999;
        border-radius: 2px;
        cursor: pointer;
        vertical-align: middle;
        text-align: center;
        &:hover {
            border: solid 1px #000;
        }
    }
    .body-button-disabled {
        user-select: none;
        border: solid 1px #999;
        border-radius: 2px;
        vertical-align: middle;
        background: #ddd;
    }
    .body-button-active {
        user-select: none;
        border: solid 1px #333;
        border-radius: 2px;
        background: #ada;
    }
    .body-button-stanby {
        user-select: none;
        border: solid 1px #999;
        border-radius: 2px;
        background: #aba;
        cursor: pointer;
        &:hover {
            border: solid 1px #000;
        }
    }
}

.body-button-container-space-around {
    justify-content: space-around;
}

.body-select {
    color: rgb(30, 30, 30);
    max-width: 100%;
}

.body-select-50 {
    color: rgb(30, 30, 30);
    max-width: 50%;
    height: 1.5rem;
}
.select-option-red {
    color: #f66;
    font-weight: 700;
}

.body-image-container,
.body-wav-container {
    display: flex;
    width: 100%;
    .body-image-container-title,
    .body-wav-container-title {
        width: 20%;
    }
    .body-image-container-img,
    .body-wav-container-wav {
        width: 80%;
    }
}

.donate-img {
    border-radius: 35px;
    height: 1.5rem;
}

/* Dialog */
.dialog-container {
    justify-content: center;
    align-items: center;
    position: absolute;
    top: 0px;
    left: 0px;
    width: 100vw;
    height: 100vh;
    z-index: -1;
    display: none;
    .dialog-frame {
        color: var(--company-color2);
        width: 40rem;
        border: 2px solid var(--dialog-border-color);
        border-radius: 20px;
        flex-direction: column;
        align-items: center;
        box-shadow: 5px 5px 5px var(--dialog-shadow-color);
        background: var(--dialog-background-color);
        overflow: hidden;
        display: flex;
        .dialog-title {
            margin-top: 20px;
            background: var(--company-color2);
            color: #fff;
            width: 100%;
            text-align: center;
        }
        .dialog-content {
            width: 90%;
            .dialog-application-title {
                font-family: "Chicle", cursive;
                font-size: 3rem;
                text-align: center;
            }
        }
    }
}
.dialog-container-show {
    display: flex;
}

.state-control-checkbox:checked ~ .dialog-container {
    background: rgba(200, 200, 200, 0.4);
    animation-name: dialog-show;
    animation-duration: 0.4s;
    animation-iteration-count: 1;
    animation-fill-mode: forwards;
    animation-direction: normal;
}
.state-control-checkbox ~ .dialog-container {
    background: rgba(100, 100, 100, 0.4);
    animation-name: dialog-hide;
    animation-duration: 0.4s;
    animation-iteration-count: 1;
    animation-fill-mode: forwards;
    animation-direction: normal;
}
.state-control-checkbox:checked + .dialog-frame {
    display: flex;
}
.state-control-checkbox + .dialog-frame {
    display: none;
}

@keyframes dialog-hide {
    from {
        opacity: 1;
        z-index: 200;
    }
    90% {
        opacity: 0;
        z-index: -1;
    }
    to {
        opacity: 0;
        z-index: -1;
    }
}

@keyframes dialog-show {
    from {
        opacity: 0;
        z-index: -1;
    }
    10% {
        z-index: 200;
    }
    to {
        opacity: 1;
        z-index: 200;
    }
}

.tooltip-text {
    display: none;
    position: absolute;
    padding: 4px;
    font-size: 0.7rem;
    line-height: 2rem;
    color: #ddd;
    border-radius: 5px;
    background: #444;
    /* width: 100px; */
}
.tooltip-text-100px {
    width: 100px;
}

.tooltip-text:before {
    content: "";
    position: absolute;
    top: -1.4rem;
    border: 12px solid transparent;
    border-top: 16px solid #444;
    margin-left: 0rem;
    transform: rotateZ(180deg);
}
.tooltip:hover .tooltip-text {
    display: inline-block;
    top: 30px;
    left: 0px;
}

.tooltip {
    position: relative;
    cursor: pointer;
    display: inline-block;
}

/* ##################  */
.merge-field-container {
    display: flex;
    flex-direction: column;
    .merge-field {
        display: flex;
        flex-direction: row;
        .merge-field-elem {
            padding-left: 5px;
        }
        .red {
            color: #f00;
        }
        .purple {
            color: #33f;
        }
        .grey-bold {
            color: #555;
            font-weight: 800;
        }
    }
}
