#app {
    width: 100vw;
    height: calc(100vh - var(--globalHeadHeight));
    overflow: hidden;
    user-select: none;
    color: var(--el-text-color-primary);
}

.tags {
    width: 100vw;
    height: 4em;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    border-bottom: 1px solid var(--el-border-color-darker);
    position: relative;
    padding: 0 4em;
    box-sizing: border-box;
    --scrollLeft: 0px;
}

.tags[leftmax]{
    padding-left: 0.5em;
}

.tags[rightmax]{
    padding-right: 0.5em;
}

.tags[rightmax] .tag{
    transform: translateX(4em);
}

.tags[leftmax] .pre_tag {
    background: #fff;
    width: 4em;
    height: 4em;
    padding: 0.9em !important;
    opacity: 0;
    pointer-events: none;
}

.tags[rightmax] .next_tag {
    background: #fff;
    width: 4em;
    height: 4em;
    padding: 0.9em !important;
    display: none;
    opacity: 0;
    pointer-events: none;
}

.next_tag,
.pre_tag {
    position: absolute;
    left: 0;
    top: 0;
    background: linear-gradient(90deg, #ffffff 48%, transparent);
    width: 7em;
    height: 4em;
    box-sizing: border-box;
    padding: 0.9em;
    padding-right: 3.9em;
    z-index: 1;
    transition: opacity .2;
}

.next_tag {
    background: linear-gradient(-90deg, #ffffff 48%, transparent);
    padding-left: 3.9em;
    left: 100vw;
    padding-right: 0.9em;
    transform: translateX(-100%);
}

.next_tag>svg,
.pre_tag>svg {
    width: 80%;
    height: 80%;
    fill: var(--el-text-color-regular);
    cursor: pointer;
    margin: 10%;

    & path{
        fill: inherit;
    }
}

.tag {
    flex-shrink: 0;
    padding: 0.5em 1em;
    border: 1px solid var(--el-border-color-darker);
    margin: 0 0.25em;
    border-radius: 0.25em;
    text-align: center;
    min-width: 3em;
    position: relative;
    left: var(--scrollLeft);
    transition: left .2s;
    cursor: pointer;
    text-decoration: none !important;
}

.tag:hover{
    color: var(--el-color-primary) !important;
    border-color: var(--el-color-primary);
}

.tag_active {
    color: var(--el-color-primary) !important;
    border-color: var(--el-color-primary);
    font-weight: 700;
}

main {
    width: 100vw;
    --mainHeight: calc(100vh - var(--globalHeadHeight) - 4em);
    height: var(--mainHeight);
    padding: 1em 0 0;
    box-sizing: border-box;
    overflow: hidden;
    overflow-y: auto;
    display: grid;
    grid-template-areas: "a a" "b c";
    grid-template-columns: 1fr auto;
    position: relative;
    --rightADWidth: calc((var(--mainHeight) / 2 - 1em)* 1.2);
    --rightADHeight: calc(var(--mainHeight) / 2 - 1em)
}

.search_result_container {
    grid-area: b;
    --mainWidth: calc(100vw - var(--rightADWidth) - 3em);
    width: var(--mainWidth);
    min-height: var(--mainHeight);
    height: fit-content;
}

.search_result_tips {
    font-size: 2em;
    font-weight: 700;
    height: 4em;
    display: flex;
    align-items: flex-end;
    justify-content: center;
    z-index: 1;
    background: #fff;
    box-sizing: border-box;
    padding-bottom: 1em;
}

.search_result_container_top {
    position: sticky;
    top: -1em;
    display: grid;
    border-bottom: 1px solid var(--el-border-color-darker);
    box-sizing: border-box;
    padding: 1em;
    background: #fff;
    grid-template-columns: 1fr auto auto;
    height: 4.35em;
    align-items: center;
    z-index: 2;
}

.search_text {
    display: flex;
    align-items: flex-end;
}

.search_text>b {
    white-space: nowrap;
    font-size: 2em;
    margin-right: 0.5em;
    max-width: 10em;
    overflow: hidden;
    text-overflow: ellipsis;
}

.projects {
    display: flex;
}

.projects_cloumn {
    box-sizing: border-box;
    padding: 0 0.5em;
}

.projects:empty::after {
    content: "No data found";
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    font-size: 2em;
    color: var(--el-border-color-darker);
    font-weight: 700;
}

.project {
    width: 100%;
    margin-bottom: 2em;
    position: relative;
    break-inside: avoid;
}

.project_cover {
    width: 100%;
    position: relative;
    /* --imageWidth: calc(var(--mainWidth) / var(--columns) - 2em);
    --imageHeight: calc(var(--imageWidth) / 1.34); */
    --imageWidth: 100%;
    --imageHeight: auto;
    overflow: hidden;
    border-radius: 0.5em;
}

.pre_image, .next_image {
    display: none;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 1.8em;
    height: 1.8em;
    background: rgba(0, 0, 0, 0.5);
    cursor: pointer;
    z-index: 1;
    fill: #fff;
    box-sizing: border-box;
    padding: 0.3em;
    background: #fff;
    border-radius: 999px;

    & svg{
        width: 100%;
        height: 100%;
        pointer-events: none;

        & path{
            fill: var(--el-text-color-primary);
        }
    }
}

.pre_image{
    left: 0.5em;
}

.next_image{
    right: 0.5em;
}

.project:has( .images>img:nth-child(2)):hover .pre_image, 
.project:has( .images>img:nth-child(2)):hover .next_image {
    display: block;
}

.project_cover:has( .images[rightmax="true"]) .next_image,
.project_cover:has( .images[leftmax="true"]) .pre_image {
    opacity: 0.5;
    cursor: no-drop;
}

.images {
    width: var(--imageWidth);
    max-height: 50vh;
    display: flex;
    --scrollX: 0px;
    --imagePro: attr(imagePro);
}

/* .images::after {
    content: var(--imagePro);
    position: absolute;
    right: 0.5em;
    bottom: 0.5em;
    color: #fff;
    z-index: 1;
    pointer-events: none;
    text-shadow: 1px 1px 3px #555;
} */

.images>img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    flex-shrink: 0;
    position: relative;
}

.images:has( img:nth-child(2))>img{
    left: var(--scrollX);
    transition: left .2s;
}

.project_detial {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(0deg, #0005, transparent, #0005);
    display: none;
    --color: #ffffff;
    color: var(--color);
    pointer-events: none;
}

.project:hover .project_detial{
    display: unset;
}

.project_name {
    position: absolute;
    left: 0.5em;
    top: 0.5em;
    width: calc(100% - 4em);
    font-weight: 700;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    pointer-events: all;

    & span{
        pointer-events: all;
    }
}

.collect_status {
    position: absolute;
    right: 0.5em;
    top: 0.5em;
    background: #fff;
    width: 2em;
    height: 2em;
    box-sizing: border-box;
    padding: 0.3em;
    border-radius: 0.25em;
    cursor: pointer;
    z-index: 1;
    display: none;
}

.collect_status>svg {
    width: 100%;
    height: 100%;
    pointer-events: none;

    & path{
        fill: var(--el-text-color-primary);
    }
}

.collect_status:hover>svg path{
    fill: var(--el-color-primary);
}

.collect_status:has( .collect) {
    display: block !important;
}

.collect path {
    fill: var(--el-color-primary) !important;
}

.project:hover .collect_status{
    display: unset;
}

.website {
    font-weight: 100 !important;
    display: grid;
    position: absolute;
    left: 0.5em;
    bottom: 0.5em;
    width: calc(100% - 5em);
    align-items: center;
    grid-template-columns: auto 1fr;
}

.project_detial:has( .free_sale[free="0"]){
    width: calc(100% - 6.5em);
}

.website svg {
    width: 1.5em;
    height: 1.5em;
    
    & path{
        fill: #ffffff;
    }
}

.website>span{
    width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
}

.free_sale {
    position: absolute;
    right: 0.5em;
    bottom: 0.5em;
    background: #fff;
    color: var(--el-text-color-primary);
    padding: 0.25em 0.5em;
    font-weight: 700;
    border-radius: 0.25em;
    width: 2.5em;
    text-align: center;
}

.free_sale[free="0"]{
    width: 4em;
}

.project_tags {
    display: flex;
    flex-wrap: wrap;
    font-size: 0.9em;
}

.project_tag {
    border: 1px solid var(--el-border-color-darker);
    background-color: var(--el-bg-color-page);
    padding: 0.25em 0.5em;
    margin-top: 0.5em;
    margin-right: 0.5em;
    border-radius: 0.25em;
    white-space: nowrap;
    flex-shrink: 0;
    max-width: 100%;
    overflow: hidden;
    box-sizing: border-box;
    text-overflow: ellipsis;
}

.main_right{
    grid-area: c;
    height: var(--mainHeight);
    position: sticky;
    top: -1em;
    margin-left: 1em;
}