.ha-txt-hover ul {
    padding: 0;
}
.ha-txt-hover .ha-txt-hover-item {
    position: relative;
    list-style: none;
}
.ha-txt-hover .ha-txt-hover-item:not(:last-of-type) {
    margin-bottom: 50px;
}
.ha-txt-hover .ha-txt-hover-item a {
    position: relative;
    display: inline-block;
    text-decoration: none;
}
.ha-txt-hover .ha-txt-hover-item .ha-txt {
    font-size: 36px;
    padding-bottom: 3px;
    color: #242424;
    display: inline-block;
    text-decoration: none;
    transition: color 670ms linear 417ms;
    z-index: 0;
    position: relative;
    width: fit-content;
    will-change: opacity, transform;
}
.ha-txt-hover .ha-txt-hover-item .ha-txt::after {
    content: "";
    position: absolute;
    bottom: 0;
    height: 1px;
    left: -0.025em;
    right: -0.075em;
    background: rgba(0, 58, 140, 0.19);
    background-size: 100% 100%;
    transition: all 0.3s;
}

.ha-txt-hover .ha-txt-hover-item .ha-txt-desc {
    color: #777;
    font-size: 16px;
    margin-top: 10px;
    margin-bottom: 0;
}

.ha-txt-hover .ha-txt-hover-item .ha-txt-img {
    position: absolute;
    top: -60px;
    width: 300px;
    height: 180px;
    display: inline-block;
    pointer-events: none;
    backface-visibility: hidden;
    transform: translate3d(0, 0, 0);
    margin-left: 50px;
}
.ha-txt-hover .ha-txt-hover-item .ha-txt-img img {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: auto;
    clip: rect(128px, auto, 128px, auto);
    transition: 430ms opacity cubic-bezier(0.19, 1, 0.22, 1), transform 580ms cubic-bezier(0.165, 0.84, 0.44, 1),
        clip 580ms cubic-bezier(0.165, 0.84, 0.44, 1);
    opacity: 0;
    transform: translateY(26px);
    object-fit: cover;
}
.ha-txt-hover .ha-txt-hover-item a:hover img {
    opacity: 1;
    clip: rect(0, auto, 180px, auto);
    transform: none;
}
.ha-txt-hover .ha-txt-hover-item a:hover .ha-txt::after {
    height: 45%;
    background: #d6f0ff;
    transition: all 0.3s;
    z-index: -1;
}
