[class*='flex-x'] {
    display: flex;
    flex-direction: row;
}

[class*='flex-y'] {
    display: flex;
    flex-direction: column;
}

[class*='flex-x'] > div,
[class*='flex-y'] > div {
    flex-shrink: 0;
}

[class*='flex-x'][class*='-FDR'],
[class*='flex-y'][class*='-FDR'] {
    flex-direction: row-reverse;
}

[class*='flex-x'][class*='-AIC'],
[class*='flex-y'][class*='-AIC'] {
    align-items: center;
}

[class*='flex-x'][class*='-AIS'],
[class*='flex-y'][class*='-AIS'] {
    align-items: flex-start;
}

[class*='flex-x'][class*='-AIE'],
[class*='flex-y'][class*='-AIE'] {
    align-items: flex-end;
}

[class*='flex-x'][class*='-ACB'],
[class*='flex-y'][class*='-ACB'] {
    align-content: space-between;
}

[class*='flex-x'][class*='-btw'],
[class*='flex-y'][class*='-btw'] {
    justify-content: space-between;
}

[class*='flex-x'][class*='-aro'],
[class*='flex-y'][class*='-aro'] {
    justify-content: space-around;
}

[class*='flex-x'][class*='-cen'],
[class*='flex-y'][class*='-cen'] {
    justify-content: center;
}

[class*='flex-x'][class*='-start'],
[class*='flex-y'][class*='-start'] {
    justify-content: flex-start;
}

[class*='flex-x'][class*='-end'],
[class*='flex-y'][class*='-end'] {
    justify-content: flex-end;
}

[class*='flex-x'][class*='-wrap'],
[class*='flex-y'][class*='-wrap'] {
    flex-wrap: wrap;
}

.grow {
    flex: 1;
}

.hide {
    height: 0 !important;
    visibility: hidden;
    margin: 0 !important;
    padding: 0 !important;
}

.img-box {
    font-size: 0;
    overflow: hidden;
    position: relative;
}

.img-box > image {
    width: 100%;
    height: 100%;
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
}

[class*='cover-mask'] {
    overflow: visible !important;
    position: relative;
}

[class*='cover-mask']::before {
    content: "";
    background: transparent;
    border-radius: inherit;
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
}

[class*='cover-mask'][class*="--small"]::before {
    width: 150%;
    height: 150%;
}

[class*='cover-mask'][class*="--medium"]::before {
    width: 200%;
    height: 200%;
}

[class*='cover-mask'][class*="--large"]::before {
    width: 400%;
    height: 400%;
}

.overflow-line1 {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.overflow-line2 {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    overflow: hidden;
    text-overflow: ellipsis;
    -webkit-box-orient: vertical;
}

.user-unselect {
    user-select: none;
}

.mouse-pointer {
    cursor: pointer;
}