.general-cms {
    margin-bottom: 1em;
    @include media('>=desktop') {
        margin-bottom: 2em;
    }
    h2 {
        margin-bottom: .5em;
        margin-top: 1em;
        line-height: 1;
        @include media('>=desktop') {
            margin-bottom: 29px;
        }
    }
    h3 {
        font-weight: 400;
        line-height: 1.6;
        margin-bottom: 1.88em;
    }
    h6 {
        &:only-child,
        &:first-child {
            margin-top: 2em;
            @include media('>=desktop') {
                margin-top: 3em;
            }
        }
    }
    p {
        margin-bottom: 1.4em;
        img {
            vertical-align: baseline;
            &:not(:last-child) {
                margin-top: 1em;
            }
        }
    }
    hr {
        border-color: #d1d1d1;
        margin-bottom: 32px;
    }
    em, i {
        // text-decoration: underline;
    }
    > ul,
    > ol {
        @extend %listreset;
        margin-bottom: 2.125em;
        margin-top: 1.8125em;
    }
    > ul {
        @extend %clearfix;
        ul {
            @extend %listreset;
            padding-top: .75em;
        }
        li {
            padding-left: 25px;
            position: relative;
            &:after {
                content: '';
                position: absolute;
                top: 11px;
                left: 6px;
                width: 7px;
                height: 7px;
                border-radius: 50%;
                border: 1px solid currentColor;
            }
            &:before {
                content: '';
                background-color: currentColor;
                position: absolute;
                width: 6px;
                height: 1px;
                left: 0;
                top: 15px;
            }
        }
    }
    > ol {
        @extend %clearfix;
        counter-reset: my-counter;
        ol {
            @extend %listreset;
            padding-top: .75em;
        }
        li {
            &:before {
                counter-increment: my-counter;
                content: counter(my-counter) '.';
                margin-right: 4px;
            }
        }
    }
    a:not([class]) {
        word-wrap: break-word;
        text-decoration: underline;
        @include hover {
            text-decoration: none;
        }
    }

    blockquote {
        margin-top: 30px;
        margin-bottom: 30px;
        position: relative;
        @include media('>=desktop') {
            margin-top: 80px;
            margin-bottom: 66px;
        }
        p:last-child {
            margin-bottom: 0;
        }
        &:before {
            content: '';
            background: url(../images/svg-icons/quote.svg) no-repeat;
            position: absolute;
            top: 0;
            left: -47px;
            transform: translateY(-50%);
            width: 90px;
            height: 60px;
            opacity: .5;
        }
    }

    pre {
        position: relative;
        max-width: 800px;
        padding: 30px 15px;
        background-color: #fff;
        word-break: break-all;
        word-wrap: break-word;
        white-space: pre-wrap;
        font-size: 14px;
        color: rgba($font-cr-primary, .75);
        border-left: 3px solid $cr-brand-primary;
        margin-top: 2em;
        margin-bottom: 2em;
    }

    .aligncenter {
        display: block;
        margin-left: auto;
        margin-right: auto;
    }
    .alignleft {
        float: left;
        margin-right: 20px;
    }
    .alignright {
        float: right;
        margin-left: 20px;
    }
    .video-block {
        padding-top: 23px;
    }
}

.general-cms__content {
    @extend %clearfix;
    @include media('<desktop') {
        font-size: 25px;
        line-height: 1.44;
    }
    @include media('>=desktop') {
        font-size: 30px;
        line-height: 1.4;
        margin-bottom: 2vmin;
    }
}

.image-wide-cms {
    display: table;
    &--cols {
        @include media('>=phablet') {
            display: flex;
            justify-content: space-between;
        }
    }
}

.image-wide-cms__col {
    &:not(:last-child) {
        @include media('<phablet') {
            margin-bottom: 1.5em;
        }
    }
    @include media('>=phablet') {
        max-width: 48%;
        flex: 0 0 48%;
    }
}

.video-cms,
.image-wide-cms {
    position: relative;
    z-index: 0;
    margin: 2em 0;
    @include media('>=desktop') {
        margin: 4em 0;
    }
    &:not(:first-child) {
        @include media('>=desktop') {
            margin-top: 0;
        }
    }
}

.video-cms__image {
    width: 100%;
}

.sub-title {
    padding-bottom: 10px;
    margin-bottom: 20px;
}

.break-out-block {
    @include media('>=desktop') {
        margin-left: -116px;
        margin-right: -116px;
    }
}

.table-wrap {
    min-height: 0.01%;
    overflow-x: auto;
    padding-bottom: 12px;
    margin-bottom: 2.125em;
    margin-top: 1.8125em;
    @include media('<tablet') {
        width: 100%;
        margin-top: 1em;
        margin-bottom: 1em;
        overflow-y: hidden;
    }
}

.cms-table {
    width: 100%;
    border-collapse: collapse;
    line-height: 1.25;
    color: $border-cr;
    tr {
        @include anim($param: background-color);
        &.selected,
        &:hover {
            color: #fff;
            background-color: $cr-brand-primary;
        }
    }
    th {
        font-weight: 400;
        text-align: left;
        color: #fff;
        height: 32px;
        background-color: $cr-brand-primary;
    }
    td {
        border-bottom: 2px solid $bg-color-secondary;
        background-color: #fff;
    }
    td,
    th {
        padding: 1.25em 2em 1.375em;

        @include media('<=phone') {
            padding: 0.5em;
        }
    }
    th,
    td {
        &:first-child {
            max-width: 220px;
        }
        &:last-child {
            width: 24%;
            word-break: break-all;
        }
    }
}

.cms-block-caption {
    border-bottom: 1px solid currentColor;
    font-weight: 700;
    padding-top: 19px;
    padding-bottom: 8px;
    margin-bottom: 24px;
    max-width: 457px;
    @include media('>=desktop') {
        margin-bottom: 39px;
    }
}

.intro-text {
    line-height: 1.273;
    font-weight: 700;
    @include media('>=tablet') {
        font-size: 1.223em;
    }
    p {
        margin-bottom: 1.2em;
    }
}

.video-cms {
    position: relative;
}

.video-cms-responsive {
    position: relative;
    padding-bottom: 56.25%;
    height: 0;
    overflow: hidden;
    background-color: #000;
    margin-bottom: 10px;
    iframe {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
    }
}
.video-cms__content {
    @include xycenter;
    text-align: center;
}

.initial-list {
    @extend %clearfix;
    @extend %listreset;
    font-weight: 700;
    li {
        padding-left: 1.125em;
        position: relative;
        margin-bottom: .75em;
        @include media('>=tablet') {
            margin-bottom: 1.5em;
        }
        &:before {
            content: '';
            position: absolute;
            border: 7px solid transparent;
            border-left-color: $cr-brand-primary;
            left: 0;
            top: 5px;
        }
    }
}

.upload-file {
    background-color: #fff;
    padding: 27px 41px 27px 30px;
    display: flex;
    margin: 25px 0 61px;
}

.upload-file__ttl {
    font-weight: 400;
    color: $cr-brand-primary;
    flex-grow: 1;
    letter-spacing: -1.87px;
}

.upload-file__cta {
    max-width: 45px;
    flex: 0 0 45px;
    margin-left: 2em;
}

.upload-file__btn {
    @include anim;
    width: 45px;
    height: 45px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    background-color: $cr-brand-primary;
    @include hover {
        background-color: $cr-brand-secondary;
        color: #fff;
    }
}
