:root {
    --heo-secondtext: rgba(60, 60, 67, 0.8);
    --heo-card-border: #e3e8f7;
    --style-border-always: 1px solid var(--heo-card-border);
    --heo-card-bg: #fff;
    --heo-secondbg: #f7f7f9;
    --heo-shadow-border: 0 8px 16px -4px #2c2d300c;
    --heo-gray-op: #9999992b;
    --heo-fontcolor: #363636;
    --heo-background: #f7f9fe;
    --heo-lighttext: #425aef;
}
.color-scheme-dark, .dark, [data-color-scheme=dark] {
    --heo-secondbg: #21232a;
    --heo-card-bg: #1b1c20;
    --heo-shadow-border: 0 8px 16px -4px #00000050;
    --heo-secondtext: #a1a2b8;
    --heo-gray-op: #9999992b;
    --heo-fontcolor: #F7F7FA;
    --heo-card-border: #3d3d3f;
    --heo-background: #18171d;
}
body {
    line-height: 2;
    -webkit-tap-highlight-color: transparent;
}

* {
    box-sizing: border-box;
}

.layout {
    max-width: 1300px;
    gap: .5rem;
    margin-top: .5rem;
    padding: 0 1.5rem;
    margin: 0 auto;
}

@media screen and (min-width: 2000px) {
    .layout {
        max-width: 1500px
    }
}

@media screen and (max-width: 768px) {
    .layout {
        padding-top: .5rem;
        padding: .5rem 1rem;
    }
}

.equipment-item-content {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    margin: 0 -8px
}

.equipment-item-content-item {
    width: calc(25% - 12px);
    border-radius: 12px;
    border: var(--style-border-always);
    overflow: hidden;
    margin: 8px 6px;
    background: var(--heo-card-bg);
    box-shadow: var(--heo-shadow-border);
    min-height: 400px;
    position: relative
}

@media screen and (max-width: 1200px) {
    .equipment-item-content-item {
        width: calc(50% - 12px);
    }
}

@media screen and (max-width: 768px) {
    .equipment-item-content-item {
        width: 100%;
    }
}

.equipment-item-content-item-info {
    padding: 8px 16px 16px 16px;
    margin-top: 12px
}

.equipment-item-content-item-name {
    font-size: 18px;
    font-weight: 700;
    line-height: 1;
    margin-bottom: 8px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    cursor: pointer;
    width: fit-content
}

.equipment-item-content-item-specification {
    font-size: 12px;
    color: var(--heo-secondtext);
    line-height: 1;
    margin-bottom: 12px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis
}

.equipment-item-content-item-description {
    line-height: 20px;
    color: var(--heo-secondtext);
    height: 60px;
    display: -webkit-box;
    overflow: hidden;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    font-size: 14px
}

a {
    background-color: transparent;
    color: var(--heo-fontcolor);
    text-decoration: none;
    transition: all .3s ease-out 0s;
    overflow-wrap: break-word;
    -webkit-user-drag: none;
}

a.equipment-item-content-item-link {
    font-size: 12px;
    background: var(--heo-gray-op);
    padding: 4px 8px;
    border-radius: 8px;
    cursor: pointer;
}

a.equipment-item-content-item-link:hover {
    background: var(--heo-lighttext);
    color: var(--heo-card-bg)
}

h2.equipment-item-title {
    line-height: 1
}

.equipment-item-description {
    line-height: 1;
    margin: 4px 0 8px 0;
    color: var(--heo-secondtext)
}

.equipment-item-content-item-cover {
    width: 100%;
    height: 200px;
    background: var(--heo-secondbg);
    display: flex;
    justify-content: center
}

img.equipment-item-content-item-image {
    object-fit: cover;
    height: 100%
}

div#equipment {
    margin-top: 26px
}

.equipment-item-content-item-toolbar {
    display: flex;
    justify-content: flex-end;
    position: absolute;
    bottom: 12px;
    left: 0;
    width: 100%;
    padding: 0 16px
}