/* Pricing Tables */
.pricing-table {
    margin: 10px 0;
    padding: 0 var(--porto-column-spacing);
    text-align: center;

    ul {
        list-style: none;
        margin: 20px 0 0 0;
        padding: 0;
    }
    li {
        padding: 10px 0;
        border-top: 1px solid var(--porto-gray-5);
        color: var(--porto-body-color);
    }
    h3 {
        font-size: 1.3em;
        font-weight: normal;
        margin: -20px -20px 50px -20px;
        padding: 20px;
        letter-spacing: normal;
        background-color: var(--porto-gray-5);
        strong {
            font-weight: inherit;
        }
        .desc {
            font-size: 0.7em;
            line-height: 24px;
            margin-bottom: 0;
            padding-bottom: 0;
            font-style: normal;
            text-transform: none;
            display: block;
            color: var(--porto-body-color);
        }
    }
    .plan-price {
        border-radius: 100px;
        display: block;
        height: 100px;
        margin: 20px auto -65px;
        width: 100px;
        display: flex;
        justify-content: center;
        align-items: center;
        flex-direction: column;
        background: var(--porto-normal-bg);
        border: 5px solid var(--porto-light-2);
        box-shadow: 0 5px 20px var(--porto-gray-bg) inset, 0 3px 0 var(--porto-gray-6) inset
    }
    .price {
        font: bold 25px / 25px Georgia, Serif;
        line-height: 1;
        display: flex;
        justify-content: center;
        color: var(--porto-body-color);
    }

    .plan-ribbon-wrapper {
        position: absolute;
        overflow: hidden;
        width: 88px;
        height: 88px;
        top: calc( -1 * var(--porto-price-table-bd) );
        #{$right}: calc( -1 * var(--porto-price-table-bd) );     
    }
    .plan-ribbon {
        @include if-ltr {
            transform: rotate(45deg);
        }
        @include if-rtl {
            transform: rotate(-45deg);
        }
        // background-image: linear-gradient(top, #bfdc7a, #8ebf45);
        position: relative;
        top: 10px;
        #{$left}: 0px;
        width: 120px;
        padding: 7px 0;
        background-color: #bfdc7a;
        box-shadow: 0px 0px 3px rgba(0, 0, 0, .3);
        color: #333;
        font-size: 14px;
        line-height: 24px;
        text-align: center;
        text-shadow: rgba(255, 255, 255, 0.5) 0px 1px 0px;

        &:before {
            #{$left}: 0;
            border-#{$left}: 3px solid transparent;
            border-#{$right}: 3px solid transparent;
            bottom: -3px;
            content: "";
            position: absolute;
        }
        &:after {
            border-#{$left}: 3px solid transparent;
            border-#{$right}: 3px solid transparent;
            bottom: -3px;
            content: "";
            position: absolute;
            #{$right}: 0;
        }
    }
    [class*="col-lg-"] {
        padding-#{$left}: 0;
        padding-#{$right}: 0;
    }
    .plan {
        --porto-price-table-bd: 1px;
        margin-bottom: 35px;
        margin-#{$right}: 0;
        padding: 20px;
        position: relative;
        background: var(--porto-normal-bg);
        border: var(--porto-price-table-bd) solid var(--porto-gray-bg);
        color: var(--porto-body-color);
    }
    .most-popular {
        border: var(--porto-price-table-bd) solid var(--porto-primary-color);
        box-shadow: 11px 0 10px -10px rgba(0, 0, 0, 0.1), -11px 0 10px -10px rgba(0, 0, 0, 0.1);
        top: -10px;
        z-index: 2;
        @media #{$screen-medium} {
            top: 0;
        }
        h3 {
            background: var(--porto-primary-color);
            padding-top: 30px;
            text-shadow: 0 1px #555;
            &, .desc {
                color: var(--porto-primary-color-inverse);
            }
        }
    }
    .btn {
        margin-top: 5px;
    }
    .price-unit {
        font-size: 50%;
        line-height: 1.4;
    }
    .price-label {
        display: block;
        text-transform: uppercase;
        color: #777;
        font-size: 0.7rem;
        margin-bottom: 0;
    }
}

.pricing-table-sm {
    h3 {
        .desc {
            font-size: 0.7em;
        }
    }
    .plan-price {
        height: 70px;
        margin: 10px auto -65px;
        width: 70px;
        border: 3px solid var(--porto-light-2);
        box-shadow: 0 5px 20px var(--porto-gray-bg) inset, 0 3px 0 var(--porto-gray-6) inset;
    }
    .price {
        font: bold 19px/19px Georgia,serif;
        line-height: 1;
    }
    .most-popular {
        padding-bottom: 30px;
    }
}

.pricing-table-flat {
    .plan {
        padding-left: 0;
        padding-right: 0;
        padding-bottom: 15px;
        margin: -1px;
        h3 {
            padding-left: 0;
            padding-right: 0;
            margin: -20px 0 0;
            padding-top: 30px;
            text-shadow: 0 1px #555;
        }
        ul {
            margin-top: 0;
            margin-bottom: -15px;
            li {
                padding: 8px 0;
            }
        }
        &.most-popular {
            ul {
                li {
                    padding: 10px 0;
                }
            }
        }
    }

    .plan-btn-bottom li:last-child {
        border-bottom: 1px solid var(--porto-gray-5)
    }
}
.pricing-table-flat {
    .plan-price {
        background: none;
        border-radius: 0;
        border: 0;
        box-shadow: none;
        width: 100%;
        font-family: var(--porto-body-ff), sans-serif;
        font-size: 1.5em;
        height: auto;
        line-height: 38px;
        margin: 0;
    }

    .plan h3 {
        background: var(--porto-primary-color);
    }

    .price, .plan h3, .plan h3 .desc {
        color: var(--porto-primary-color-inverse);
    }

    .btn-top {
        margin-top: 13px;
        margin-bottom: 13px;
    }
    .btn-bottom {
        margin-top: 30px;
    }
}

.pricing-table {
    &.spaced {
        [class*="col-lg-"] {
            padding-#{$left}: 2px;
            padding-#{$right}: 2px;
        }
    }

    &.no-borders {
        .plan, .plan-ribbon-wrapper {
            --porto-price-table-bd: 0px !important;
        }
    }
}

.pricing-table-classic {
    .plan {
        padding: 0 0 2.5rem 0;
        margin: -1px;
        h3 {
            margin: 0;
            padding: 0;
            line-height: 1;
            font-size: 0.8rem;
            strong {
                display: block;
                padding: 1.5rem 1rem;
                background: #fff;
                margin: -1px -1px 0;
            }
            .desc {
                display: none;
            }
        }
        ul {
            margin-top: 0;
            padding: 0.8rem 0.8rem 1.4rem;
            font-size: .9em;
            li {
                padding: 8px 0;
                border-top: none;
                border-bottom: 1px solid #ededed;
                &:last-child {
                    border-bottom: none;
                }
            }
        }
        &.most-popular {
            ul {
                font-size: .8rem;
                li {
                    padding: 10px 0;
                }
            }
        }
    }
    .most-popular {
        box-shadow: 0px 0px 40px rgba(200, 200, 200, 0.3);
        transform: scale(1.15);
        top: auto;

        h3 strong {
            background-color: var(--porto-primary-color);
        }
        @media #{$screen-medium} {
            transform: none;
        }
    }
    .plan-price {
        border-radius: 0;
        width: 100%;
        margin: 0;
        padding: 2rem 0.8rem;
        height: auto;
        line-height: 1;
    }
    .price {
        font-size: 2.7rem;
        font-weight: 600;
        font-family: inherit;
        color: var(--porto-heading-color);
    }

    &.pricing-table-sm .plan {
        h3 {
            strong {
                padding: 0.95rem 1rem;
            }
        }
    }

    &.spaced [class*="col-lg-"] {
        padding-left: var(--porto-column-spacing);
        padding-right: var(--porto-column-spacing);
    }
}
.pricing-table.pricing-table-classic {
    .plan {
        border-color: #ededed;
        border-radius: 0;
        text-shadow: none;
        h3 {
            background: none;
        }
    }
    .most-popular h3 {
        text-shadow: none;
    }
    .plan-price {
        box-shadow: none;
        background: var(--porto-gray-1);
        border: 0;
    }
}

/* theme colors */
/* primary, secondary, tertiary, quaternary, dark, light */
@each $state in $color_states {
    .pricing-table .plan-#{nth($state,1)} h3,
    .pricing-table-classic .plan-#{nth($state,1)} h3 strong {
        background-color: var(--porto-#{nth($state,1)}-color);
        color: var(--porto-#{nth($state,1)}-color-inverse, #{nth($state,3)});
    }

    .pricing-table .plan-#{nth($state,1)} h3 .desc,
    .pricing-table-flat .plan-#{nth($state,1)} .price {
        color: var(--porto-#{nth($state,1)}-color-inverse, #{nth($state,3)});
    }

    .pricing-table .plan-#{nth($state,1)} {
        border-color: var(--porto-#{nth($state,1)}-color);
    }
}

/* Responsive */
@media #{$screen-medium} {

    /* Pricing Tables */
    .pricing-table {
        margin-#{$left}: 0px;
        .plan {
            margin-#{$right}: 0;
        }
    }
}