.pGraph {
    figure {
        margin: 20px -60px;

        @media (max-width: 600px) {
            margin-left: -15px;
            margin-right: -15px;
        }

        figcaption {
            font-size: 12px;
            color: var(--puma-text-gray);
            text-align: center;
        }
    }

    blockquote {
        color: var(--puma-text-light);
        border-color: var(--puma-border-color-light);
        margin-left: 0;
        border-left: 3px solid #000;
        margin-bottom: 35px;
        padding: 10px 20px;

        p {
            &:last-child {
                margin-bottom: 0;
            }
        }
    }

    code {
        background-color: var(--puma-background-gray-light);
        padding: 2px 5px;
        border-radius: 5px;
        font-size: 14px;
    }

    pre {
        word-break: break-all;
        white-space: break-spaces;
        background-color: var(--puma-background-gray-light);
        padding: 10px 15px;
        border-radius: 10px;
        font-size: 14px;
    }

    table {
        border: 1px solid var(--puma-border-color);
        border-collapse: collapse;
        margin-bottom: 20px;
        margin-left: auto;
        margin-right: auto;
        font-size: 12px;
        color: var(--puma-text-light);

        thead {
            tr {
                background-color: #f5f5f5;
            }
        }

        tr {
            background-color: #fff;

            &:hover {
                & > td {
                    background-color: #f5f5f5;
                    background-clip: padding-box;
                }
            }
        }

        td,
        th {
            border-bottom: 1px solid var(--puma-border-color);
            border-right: 1px solid var(--puma-border-color);
            transition: background-color 0.25s ease;
            height: 40px;
            min-width: 0;
            box-sizing: border-box;
            text-overflow: ellipsis;
            vertical-align: middle;
            position: relative;
            margin: 0;
            padding: 0 10px;
        }
    }

    .gallery {
        display: grid;
        grid-gap: 10px;
        margin-bottom: 25px;
        .gallery-item {
            margin: 0;
            .gallery-caption {
                text-align: center;
                font-size: 12px;
                color: var(--puma-text-light);
            }
        }

        &-columns-2,
        &-columns-4,
        &-columns-5,
        &-columns-7,
        &-columns-8 {
            grid-template-columns: repeat(2, 1fr);
        }

        &-columns-3,
        &-columns-6,
        &-columns-9 {
            grid-template-columns: repeat(3, 1fr);
        }
    }

    ol,
    p,
    ul {
        margin-bottom: 20px;

        @media screen and (max-width: 768px) {
            margin-bottom: 10px;
        }
    }

    strong {
        font-weight: 700;
    }

    em {
        font-style: italic;
    }

    a {
        text-decoration: underline;
        .svgIcon {
            margin-right: 4px;
        }
    }

    li {
        margin-left: 30px;
        margin-bottom: 12px;
        padding-top: 2px;

        &:before {
            content: "•";
            box-sizing: border-box;
            font-size: 14px;
            margin-left: -58px;
            padding-right: 15px;
            display: inline-block;
            text-align: right;
            width: 58px;
        }
    }

    ol {
        counter-reset: a;

        & > li:before {
            content: counter(a, decimal) ".";
            counter-increment: a;
            padding-right: 12px;
        }
    }

    h3,
    h4 {
        margin-top: 30px;
        margin-bottom: 10px;
    }

    h2 {
        font-size: 22px;
        font-weight: bold;
    }

    h3 {
        color: var(--puma-text-light);
        font-size: 20px;
    }

    h4 {
        color: var(--puma-text-gray);
        font-size: 18px;
    }

    hr {
        margin-top: 52px;
        margin-bottom: 42px;
        display: block;
        border: 0;
        text-align: center;

        &:before {
            content: "...";
            display: inline-block;
            margin-left: 0.6em;
            color: var(--puma-text-gray);
            position: relative;
            top: -30px;
            font-size: 28px;
            letter-spacing: 0.6em;
        }
    }

    p.with-img {
        margin-left: -60px;
        margin-right: -60px;

        img {
            display: block;
            margin-left: auto;
            margin-right: auto;
        }

        @media (max-width: 600px) {
            margin-left: -15px;
            margin-right: -15px;
        }
    }

    img {
        border-radius: 10px;
    }
}
