// core
.p-divider-horizontal {
    display: flex;
    width: 100%;
    position: relative;
    align-items: center;
}

.p-divider-horizontal:before {
    position: absolute;
    display: block;
    top: 50%;
    left: 0;
    width: 100%;
    content: '';
}

.p-divider-content {
    z-index: 1;
}

.p-divider-vertical {
    min-height: 100%;
    margin: 0 1rem;
    display: flex;
    position: relative;
    justify-content: center;
}

.p-divider-vertical:before {
    position: absolute;
    display: block;
    top: 0;
    left: 50%;
    height: 100%;
    content: '';
}

.p-divider {
    &.p-divider-solid.p-divider-horizontal:before {
        border-top-style: solid;
    }
    
    &.p-divider-solid.p-divider-vertical:before {
        border-left-style: solid;
    }
    
    &.p-divider-dashed.p-divider-horizontal:before {
        border-top-style: dashed;
    }
    
    &.p-divider-dashed.p-divider-vertical:before {
        border-left-style: dashed;
    }
    
    &.p-divider-dotted.p-divider-horizontal:before {
        border-top-style: dotted;
    }
    
    &.p-divider-dotted.p-divider-vertical:before {
        border-left-style: dotted;
    }
}

// theme
.p-divider {
    .p-divider-content {
        background-color: $panelContentBg;
    }

    &.p-divider-horizontal {
        margin: $dividerHorizontalMargin;
        padding: $dividerHorizontalPadding;

        &:before {
            border-top: $dividerSize solid $dividerColor;
        }

        .p-divider-content {
            padding: 0 $inlineSpacing;
        }
    }

    &.p-divider-vertical {
        margin: $dividerVerticalMargin;
        padding: $dividerVerticalPadding;

        &:before {
            border-left: $dividerSize solid $dividerColor;
        }

        .p-divider-content {
            padding: $inlineSpacing 0;
        }
    }
}