.code-boxes-col-1-1 {
    width: 100%;
}

.code-boxes-col-2-1 {
    display: inline-block;
    vertical-align: top;
}

.code-box {
    border: 1px solid @site-border-color-split;
    border-radius: @border-radius-sm;
    display: inline-block;
    width: 100%;
    position: relative;
    margin: 0 0 16px;
    transition: all .2s;

    &:target {
        border: 1px solid @primary-color;
    }

    &-expand-trigger {
        cursor: pointer;
        font-size: 14px;
        color: #9199ac;
        margin-left: 5px;
        opacity: .8;
        transition: all .3s;
        top: -2px;
        position: relative;

        &-active {
            color: #3b4357;
        }
    }

    &-title {
        position: absolute;
        top: -14px;
        padding: 1px 8px;
        margin-left: -8px;
        color: #777;
        border-radius: @border-radius-sm @border-radius-sm 0 0;
        background: #fff;
        transition: background-color .4s;

        a,
        a:hover {
            color: @site-text-color;
            font-size: @font-size-base;
            font-weight: 500;
        }
    }

    a.edit-button {
        position: absolute;
        right: -16px;
        top: 7px;
        font-size: 12px;
        transform: scale(.9);
        background: #fff;
        padding-right: 6px;
        text-decoration: none;
    }

    &-demo {
        border-bottom: 1px solid @site-border-color-split;
        padding: 42px 24px 50px;
        color: rgba(0, 0, 0, .65);
    }

    iframe {
        width: 100%;
        border: 0;
    }

    &-meta {
        &.markdown {
            position: relative;
            padding: 18px 32px;
            border-radius: 0 0 @border-radius-sm @border-radius-sm;
            transition: background-color .4s;
            width: 100%;
            font-size: @font-size-base;
        }

        blockquote {
            margin: 0;
        }

        h4,
        section& p {
            margin: 0;
            width: 98%;
        }

        > p {
            font-size: 12px;
            margin: 0.5em 0;
            padding-right: 25px;
            width: 100%;
            word-break: break-word;
        }
    }

    &.expand &-meta {
        border-radius: 0;
        border-bottom: 1px dashed @site-border-color-split;
    }

    .code-expand-icon {
        position: absolute;
        right: 16px;
        bottom: 23px;
        cursor: pointer;
        width: 16px;
        height: 16px;
        line-height: 16px;
        text-align: center;
    }

    .code-expand-icon-show,
    .code-expand-icon-hide {
        transition: all 0.4s;
        user-select: none;
        position: absolute;
        left: 0;
        top: 0;
        margin: 0;
        max-width: 100%;
        vertical-align: baseline;
        box-shadow: none;
    }

    .code-expand-icon-show {
        opacity: 0.55;
        pointer-events: auto;
        &:hover {
            opacity: 1;
        }
    }

    .code-expand-icon.ant-tooltip-open .code-expand-icon-show {
        opacity: 1;
    }

    .code-expand-icon-hide {
        opacity: 0;
        pointer-events: none;
    }

    .highlight-wrapper {
        display: none;
        overflow: auto;
        border-radius: 0 0 @border-radius-sm @border-radius-sm;

        &-expand {
            display: block;
        }
    }

    .highlight {
        position: relative;
        pre {
            margin: 0;
            padding: 0;
            background: #fff;
        }
        &:not(:first-child) {
            border-top: 1px dashed @site-border-color-split;
        }
    }

    &-actions {
        position: absolute;
        top: 10px;
        right: 12px;
        text-align: right;
        > i,
        > form {
            display: inline-block;
            margin-left: 8px;
        }
    }

    &-code-copy {
        font-size: 14px;
        cursor: pointer;
        color: @site-text-color-secondary;
        transition: all .24s;
        background: #fff;
        width: 20px;
        height: 20px;
        line-height: 20px;
        text-align: center;
        border-radius: 20px;
        opacity: 0;

        &:hover {
            color: @site-text-color-secondary;
            transform: scale(1.2);
        }
        &.anticon-check {
            color: @green-6 !important;
            font-weight: bold;
        }
    }

    &-codepen {
        background: transparent url("https://gw.alipayobjects.com/zos/rmsportal/OtZslpOjYXijshDERXwc.svg") center / 14px no-repeat;
        width: 20px;
        height: 20px;
        cursor: pointer;
        opacity: 0;
        transition: all .3s;
        border: 0;
        text-indent: -9999px;
        overflow: hidden;
    }

    &-riddle {
        background: transparent url("https://gw.alipayobjects.com/zos/rmsportal/DlHbxMCyeuyOrqOdbgik.svg") center / 14px no-repeat;
        width: 20px;
        height: 20px;
        cursor: pointer;
        opacity: 0;
        transition: all .3s;
        border: 0;
        text-indent: -9999px;
        overflow: hidden;
    }

    &-codesandbox {
        background: transparent url("https://gw.alipayobjects.com/zos/rmsportal/aaYmtdDyHSCkXyLZVgGK.svg") center / 14px no-repeat;
        width: 20px;
        height: 20px;
        cursor: pointer;
        opacity: 0;
        transition: all .3s;
        border: 0;
        text-indent: -9999px;
        overflow: hidden;
    }

    .highlight-wrapper:hover &-code-copy,
    .highlight-wrapper:hover &-codepen,
    .highlight-wrapper:hover &-codesandbox,
    .highlight-wrapper:hover &-riddle {
        opacity: 1;
    }

    pre {
        margin: 0;
        width: auto;
        code {
            border: none;
            background: #fff;
        }
    }
}
