
/* Divider Line */
hr {
    opacity: 1;
    border: 0;
    height: 1px;
    &, .elementor & {
        margin: 1.375rem 0;
    }

    &.hide {
        display: none !important;
    }
    &.short {
        margin: 11px 0;
    }
    &.tall {
        margin: 44px 0;
    }
    &.taller {
        margin: 66px 0;
    }
    &.invisible {
        background: none;
    }
}

.divider {
    border: 0;
    height: 1px;
    margin: 44px auto;
    text-align: center;
    position: relative;
    clear: both;

    &.taller {
        margin: 66px auto;
    }

    i {
        text-align: center;
        border-radius: 50px;
        background: var(--porto-body-bg);
        color: #a9a9a9;
        display: inline-block;
        height: 50px;
        line-height: 50px;
        position: absolute;
        text-align: center;
        width: 50px;
        font-size: 20px;
        margin: side-values(0 auto 0 -25px);
        top: -25px;
        left: 50%;
        z-index: 1;
    }

    &.divider-icon-sm {
        i {
            width: 30px;
            height: 30px;
            line-height: 30px;
            top: -15px;
            font-size: 15px;
            margin-#{$left}: -16px;
        }
    }

    &.divider-icon-lg {
        margin: 86px 0;
        i {
            width: 60px;
            height: 60px;
            line-height: 60px;
            top: -30px;
            font-size: 30px;
            margin-#{$left}: -30px;
        }

        &.taller {
            margin: 100px auto;
        }
    }

    &.divider-xs {
        width: 35%;
    }

    &.divider-sm {
        width: 67%;
    }

    &.divider-left {
        i {
            #{$left}: 0;
            margin-left: 0;
            margin-right: 0;
            #{$right}: auto;
        }
    }

    &.divider-right {
        i {
            #{$left}: auto;
            margin-left: 0;
            margin-right: 0;
            #{$right}: 0;
        }
    }

    &.divider-style-2 {
        i {
            background: var(--porto-gray-1);
            color: #a9a9a9;
        }
    }

    &.divider-style-3 i,
    &.divider-style-4 i {
        border: 1px solid var(--porto-gray-2);
    }

    &.divider-style-4 {
        i {
            &:after {
                border: 3px solid var(--porto-gray-1);
                border-radius: 50%;
                box-sizing: content-box;
                content: "";
                display: block;
                height: 100%;
                #{$left}: -4px;
                padding: 1px;
                position: absolute;
                top: -4px;
                width: 100%;
            }
        }
    }

    &.divider-small {
        margin: 22px auto;
        background: transparent;
        hr {
            width: 50px;
            height: 1px;
        }

        &.divider-small-center {
            text-align: center;
            hr {
                margin-left: auto;
                margin-right: auto;
            }
        }

        &.divider-small-right {
            text-align: $right;
            hr {
                margin-#{$left}: auto;
            }
        }

        &.divider-small-sm {
            hr {
                height: 1px;
            }
        }

        &.divider-small-lg {
            hr {
                height: 6px;
            }
        }

        &.tall {
            margin: 34px 0;
        }
        &.taller {
            margin: 46px 0;
        }

        &.divider-light hr {
            background: var(--porto-gray-2);
        }
    }
}

hr, .divider {
    &.dashed {
        background: none;
        position: relative;
        &:after {
            content: "";
            display: block;
            height: 0;
            position: absolute;
            top: 50%;
            margin-top: -1px;
            width: 100%;
            border: 1px solid var(--porto-normal-bc);
        }
    }
    &.pattern {
        background: none;
        position: relative;
        &:after {
            background: transparent url(../images/patterns/worn_dots.png) repeat 0 0;
            content: "";
            display: block;
            height: 15px;
            position: absolute;
            top: 50%;
            margin-top: -7px;
            width: 100%;
        }
        &.pattern-2 {
            &:after {
                background-image: url(../images/patterns/az_subtle.png);
            }
        }
    }
}

hr.solid,
.divider.divider-solid {
    background: var(--porto-normal-bc);
}

.porto-separator {
    margin: 0 0 22px;
    &.short {
        margin: -11px 0 11px;
    }
    &.tall {
        margin: 22px 0 44px;
    }
    &.taller {
        margin: 44px 0 66px;
    }

    .separator-line {
        margin: 0 auto;

        &.align_left {
            margin: side-values(0 auto 0 0);
        }
        &.align_right {
            margin: side-values(0 0 0 auto);
        }
    }
}
