.events_box {
    background: #fff;
    padding: var(--padding);
    width: 100%;
    max-width: 1600px
}

.events_box h3.events_title{
    padding-bottom: 15px;
}

.events_box .menu {
    border-bottom: 1px solid #000;
    margin-bottom: 10px;
    text-align: center
}

.events_box .menu a {
    display: inline-block;
    min-width: 100px;
    font-size: 26px;
    padding: 0 15px 15px;
    border-bottom: 5px solid transparent;
    transition: .3s all;
    background: 0;
    color: #000;
    border-radius: 0
}

.events_box .menu a:hover {
    color: var(--primary-color-1)
}

.events_box .menu a.active {
    border-bottom-color: var(--primary-color-1)
}

.events_box .filter {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: var(--padding)
}

.events_box .filter .tab {
    display: flex;
}

.events_box .filter .tab li {
    margin-left: 10px;
    cursor: pointer;
    font-size: 14px;
    padding: 5px 10px;
    background: var(--black-100);
    border-radius: 5px;
}

.events_box .filter .tab li:first-child {
    margin-left: 0;
}

.events_box .filter .tab li:hover {
    color: var(--primary-color-1);
}

.events_box .filter .tab li.active {
    background: var(--primary-color-1);
    color: #ffffff;
}

.events_box .search label {
    display: flex;
    align-items: center;
    width: 100%;
    position: relative;
    border: 1px solid #666666
}

.events_box .search input {
    padding: 0 8px;
    width: 100%;
    border: 0;
    background: 0
}

.events_box .search input:focus {
    outline: 0
}

.events_box .search input::-moz-placeholder {
    color: #999
}

.events_box .search input::placeholder {
    color: #999
}

.events_box .search button {
    padding: 6px;
    background-color: transparent;
    width: 28px;
    height: 28px
}

.events_box .search button svg {
    fill: #666
}

.events_box .search button:hover {
    cursor: pointer
}

.events_box .filter .search {
    width: 200px;
}

@media (max-width: 767px) {
    .events_box h3.events_title{
        padding-bottom: 10px;
    }
    .events_box .filter .tab {
        width: 60%
    }
    .events_box .filter .search {
        width: 40%
    }
}

@media (max-width: 767px) {
    .events_box .filter {
        flex-wrap: wrap
    }

    .events_box .filter .tab {
        order: 2
    }

    .events_box .filter .search {
        order: 3
    }
}

.events_box .events {
    --repeat: 2;
    display: grid;
    margin-bottom: var(--padding);
    grid-template-columns: repeat(var(--repeat), 1fr);
    justify-content: space-between;
    gap: var(--padding);
    justify-items: center
}

@media (min-width: 768px) {
    .events_box .events {
        --repeat: 3
    }
}

@media (min-width: 1680px) {
    .events_box .events {
        --repeat: 4
    }
}

.events_box .events .item {
    display: grid;
    grid-template-rows: auto 1fr;
    width: 100%;
    position: relative;
    z-index: 1;
}

.events_box .events .item .image{
    width: 100%;
    position: relative;
    z-index: 9;
}


.events_box .events .item .image img {
    width: 100%;
    aspect-ratio: 360/270;
    background: var(--black-300);
    -o-object-fit: contain;
    object-fit: contain;
    margin: 0 auto
}

.events_box .events .item .image .info{
    width: 100%;
    position: absolute;
    z-index: 10;
    left: 0;
    top: 0;
    font-size: 16px;
}

.events_box .events .item .image .info dl.time{
    background: rgba(255,255,255, 0.6);
    border-radius: 0 0 5px 0;
    float: left;
    padding: 5px;
    display: flex;
    align-items: center;
    gap: 10px;
}
.events_box .events .item .image .info dl.time dd{
    background: var(--primary-color-1);
    color: #ffffff;
    font-size: 18px;
    padding: 5px;
    border-radius: 5px;
}

.events_box .events .item .image .info .date{
    background: rgba(255,255,255, 0.6);
    border-radius: 0 5px 5px 0;
    float: left;
    padding: 5px;
    display: flex;
    align-items: center;
}

.events_box .events .item .content {
    background: #f9f9f9;
    padding: 15px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: 15px;
}

.events_box .events .item .content .item-date {
    display: flex;
    gap: 10px;
    align-items: center;
}
.events_box .events .item .content .item-date i{
    font-size: 20px;
}

.events_box .events .item .content a:hover {
    color: var(--primary-color-1)
}

.events_box .events .item .content .title {
    font-size: var(--h4-font-size);
    font-weight: 500;
    line-height: 1.3em;
    word-break: break-all;
    overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical
}

@media (max-width: 1023px) {
    .events_box .events .item .image .info{
        font-size: 14px;
    }
    .events_box .events .item .image .info dl.time dd{
        font-size: 16px;
    }
}

@media (max-width: 799px) {
    .events_box .events .item .content {
        padding: 9px 5px
    }

    .events_box .events .item .content .title {
        font-size: 13px
    }

    .events_box .events .item .image .info{
        font-size: 12px;
    }
    .events_box .events .item .image .info dl.time dd{
        font-size: 14px;
    }

    .events_box .events .item .content .item-date {
        font-size: 10px;
    }
    .events_box .events .item .content .item-date i{
        font-size: 14px;
    }

}

@media (max-width: 520px) {
    .events_box .events .item .image .info{
        font-size: 12px;
    }
    .events_box .events .item .image .info dl.time{
        gap: 5px;
    }
    .events_box .events .item .image .info dl.time dd{
        font-size: 12px;
        padding: 2px 5px;
    }

    .events_box .events .item .image .info .date{
        font-size: 10px;
        letter-spacing: -0.1px;
    }
}

.events_view_box {
    width: 100%;
    max-width: 1600px;
    padding: var(--padding);
    background: #fff;
    display: flex;
    justify-items: center;
    flex-direction: column;
    gap: 1rem;
    overflow-x: auto;
}

.events_view_box h1.title {
    text-align: center
}

@media (max-width: 800px) {
    .events_view_box h1.title {
        font-size:var(--h3-font-size);
        line-height: var(--h3-line-height)
    }
}


.events_view_box .html>*+* {
    margin-top: .5rem
}

.events_view_box .html * {
    line-height: 1.2
}

.events_view_box .html ul {
    margin-left: 2rem
}

.events_view_box .html a {
    color: var(--primary-color-1)
}

.events_view_box .html a:hover {
    color: var(--primary-color-1-hover)
}

.events_view_box .html img {
    height: unset
}

.events_view_box span.jump {
    scroll-margin-top: 11rem
}

.events_view_box .design_image{
    max-width: 100%;
    display: flex;
    justify-content: center;
    overflow: hidden;
}
.events_view_box .design_image img{
    max-width: 100%;
    height: unset;
}

@media (max-width: 767px) {
    .events_view_box .html {
        font-size:14px
    }
}

.events_view_new{
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    padding-bottom: 9px;
    position: relative
}

.events_view_new .events_box .events{
    margin-bottom: 0;
}

@media (min-width: 768px) {
    .events_view_new {
        padding-bottom: 15px
    }
}

@media (min-width: 1600px) {
    .events_view_new {
        padding-bottom: 30px
    }
}

.events_time{
    display: flex;
    justify-content: center;
    align-items: center;
}
.events_time .events_time_box{
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 10px;
}
.events_time .events_time_box p{
    font-size: 18px;
    color: var(--primary-color-1);
}
.events_time .events_time_box dl{
    min-width: 60px;
    display: flex;
    flex-direction: column;
    background: var(--primary-color-1);
    box-shadow: var(--md-shadow-lvl-1);
    color: var(--cs-color);
    padding: 3px;
}
.events_time .events_time_box dl dt{
    text-align: right;
    font-size: 12px;
}
.events_time .events_time_box dl dd{
    text-align: center;
    padding: 6px;
    font-size: 32px;
    font-weight: bold;
}

@media (min-width: 768px) {
    .events_time .events_time_box{
        gap: 20px;
    }
    .events_time .events_time_box dl{
        min-width: 70px;
    }
    .events_time .events_time_box dl dd{
        padding: 10px;
        font-size: 40px;
    }
}