/*
 + --------------------------------------------------
 | Import modules
 + --------------------------------------------------
 */
@import "root.css";
@import "style.css";
@import "header.css";
@import "footer.css";
@import "site-home.css";
@import "site-about.css";
@import "site-project.css";
@import "site-post.css";

/*
 + --------------------------------------------------
 | Popup
 + --------------------------------------------------
 */
#popup {
    border-radius: 0 !important;
    padding-inline: 2rem !important;
}
#popup .wm-container {
    text-align: left !important;
}

.popup-service {
    max-height: 100% !important;
    padding-bottom: 2em;
}
.popup-service .is-desktop {
    display: block;
}
.popup-service .summary,
.popup-service .title {
    padding-left: 2rem;
}
.popup-service .title {
    font-size: 3em;
    line-height: 1.2;
    letter-spacing: -.04em;
    color: var(--text-color-secondary);
    margin-top: 1em;
}
.popup-service .summary {
    font-size: 1.2em;
    font-weight: bold;
    margin-top: 1em;
}
.popup-service .btn-more {
    margin-left: 2rem
}

.popup-feedback {
    max-height: 100% !important;
    padding-bottom: 0 !important;
}


/*
 + --------------------------------------------------
 | Menu
 + --------------------------------------------------
 */
#menu {
    width: 100%;
    height: 100%;
    overflow: auto;
    /*background: var(--color-primary);*/
    /*background: url("../asset/noise-light.png") no-repeat fixed top 55vh left -25vw / 250% var(--color-primary);*/
    background:
            url("../asset/noise-light.png") no-repeat fixed top 55vh left -25vw / 250%,
            radial-gradient(ellipse at top 0 right 20%, var(--border-color), var(--color-primary) 30%) no-repeat fixed top right / 100% var(--color-primary);
    position: fixed;
    top: calc(var(--header-height) /2);
    right: calc(var(--wrap-space) + 2.5rem);
    z-index: 99;
    opacity: 0;
    transform: scale3d(0,0,0);
    transform-origin: top right;
    transition: .4s ease-out;
}
#menu[show] {
    top: 0;
    right: 0;
    opacity: 1;
    transform: scale3d(1,1,1);
}
#menuHead {
    height: var(--header-height);
    display: flex;
    align-items: center;
    justify-content: end;
    column-gap: 4rem;
}
#menuBody {
    height: calc(100% - var(--header-height));
    padding-inline: var(--wrap-space);
    display: grid;
    overflow: auto;
}

#menuFeedback {
    height: 5rem;
    padding-inline: 2rem;
    background: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg'><rect width='100%' height='100%' fill='none' stroke='%23d0d8c3' stroke-width='1' stroke-dasharray='6,3' stroke-dashoffset='0' stroke-linecap='square'/></svg>");
    display: inline-flex;
    align-items: center;
    column-gap: 1em;
}
#menuFeedback svg {
    --icon-size: 2rem;
    width: var(--icon-size);
    height: var(--icon-size);
    fill: var(--text-color-primary)
}

#menuMain {
    padding-top: 6vh;
    padding-left: var(--wrap-space);
    padding-right: calc(5rem + 4rem);
    text-align: right;
}
#menuMain > :last-child {
    display: none;
}
#menuMain a {
    display: block;
    padding-block: .5rem;
    font-size: clamp(2.4em, 8vw, 4.5em);
    font-weight: bold;
    letter-spacing: -.08em;
    color: var(--text-color-secondary);
    line-height: 1.2;
    white-space: nowrap;
}

#menuInfo {
    padding-block: 10rem;
    margin-top: auto;
}
#menuInfo .contact-item > * {
    display: block;
}
#menuInfo .contact-item + .contact-item {
    margin-top: 2rem;
}


/*
 + --------------------------------------------------
 | Feedback
 + --------------------------------------------------
 */
#feedback {
    --input-height: 4rem;
    padding: 2rem 2rem 4rem 2rem;
}
#feedback .feedback-title {
    font-size: 3em;
    letter-spacing: -.08em;
    color: var(--text-color-secondary);
    line-height: 1.2;
}
#feedback .feedback-subtitle {
    width: 80%;
    margin-top: 1em;
    font-size: 1.2rem;
    opacity: .6;
}
#feedback .feedback-body {
    margin-top: 3em;
}
#feedback .feedback-field {
    position: relative;
}
#feedback .feedback-field + .feedback-field {
    margin-top: 3rem;
}
#feedback .feedback-field > :first-child {
    width: 100%;
    height: var(--input-height);
    padding-inline: 1rem;
    border: none;
    color: inherit;
    font-size: inherit;
    background-image: linear-gradient(to right, var(--border-color) 50%, transparent 50%);
    background-position: left bottom;
    background-size: 6px 1px;
    background-repeat: repeat-x;
    background-color: var(--black-alpha);
}
#feedback .feedback-field label {
    display: block;
    font-size: 1rem;
    line-height: 1;
    opacity: .4;
    position: absolute;
    top: calc(var(--input-height) / 2);
    left: 1rem;
    transform: translateY(-50%);
    z-index: -1;
}
#feedback .feedback-field > :first-child:not(:placeholder-shown) + label {
    top: 0;
}
#feedback .feedback-field textarea {
    height: 8rem !important;
    padding-block: calc(var(--input-height) / 3.5);
}
#feedback button {
    margin-left: auto;
    position: sticky;
    bottom: 2rem;
}