@if luiTheme(element, divider, enabled) {
	@at-root #{$namespace} {
		$vars: luiTheme(element, divider);

		%lui_divider_base {
			width: 100%; box-sizing: border-box;
			letter-spacing: 0.025em;
			border-width: 0; // reset

			margin: lui_rem() 0;
			border-bottom: map-gets($vars, width) solid map-gets($vars, color);
		}

		#{$prefix}.divider {
			@extend %lui_divider_base;

			&[class*="top divider"] {
				border-bottom: none;
				border-top: map-gets($vars, width) solid map-gets($vars, color);
			}

			&.double {
				border-top: map-gets($vars, width) solid map-gets($vars, color);
			}

			&.dashed {
				border-style: dashed;
			}
			&.dotted {
				border-style: dotted;
			}
		}
		#{$prefix}.divider.inverted {
			border-color: map-gets($vars, invertedColor);
		}


		// Heading divider
		// ===================================

		h1#{$prefix}.divider,
		h2#{$prefix}.divider,
		h3#{$prefix}.divider,
		h4#{$prefix}.divider,
		h5#{$prefix}.divider,
		h6#{$prefix}.divider {
			padding-bottom: 0.5em;
			margin: 1em 0;
			&.spaced {
				padding: inherit 1em;
			}
		}

		h1#{$prefix}.divider.below,
		h2#{$prefix}.divider.below,
		h3#{$prefix}.divider.below,
		h4#{$prefix}.divider.below,
		h5#{$prefix}.divider.below,
		h6#{$prefix}.divider.below {
			height: auto;
			border-top-width: 0;
			display: table;
			width: 100%;
			white-space: nowrap;
			line-height: 1em;
			text-align: center;
			padding-bottom: 0.2em;
			border: none;

			&:before, &:after {
				content: "";
				display: table-cell;
				width: 50%;
				background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIGhlaWdodD0iMSIgd2lkdGg9IjEwMCUiPg0KICA8bGluZSB4MT0iMCIgeTE9IjAiIHgyPSIxMDAlIiB5Mj0iMCIgc3R5bGU9InN0cm9rZTpyZ2JhKDUwLDUwLDUwLC41KTtzdHJva2Utd2lkdGg6MSIgLz4NCjwvc3ZnPg0K);
				background-repeat: no-repeat;
			}
			&:before {
				margin-right: 0.5em;
				background-position: right 1em top 50%;
			}
			&:after {
				margin-left: 0.5em;
				background-position: left 1em top 50%;
			}

			#{$prefix}.icon {
				margin: 0.5em;
			}
		}


		// Underline style
		#{$prefix}.divider h1.underline,
		#{$prefix}.divider h2.underline,
		#{$prefix}.divider h3.underline,
		#{$prefix}.divider h4.underline,
		#{$prefix}.divider h5.underline,
		#{$prefix}.divider h6.underline {
			display: inline-block;

			border-bottom: map-gets($vars, fatWidth) solid map-gets($vars, color);
			padding-bottom: 0.5em;
			margin-bottom: -(map-gets($vars, width));
		}


		// List divider
		// ===================================
		ul li#{$prefix}.divider,
		ol li#{$prefix}.divider {
			margin: 0.5em 0;
			padding: 0.5em 0;
			font-size: 0.8em;
			text-transform: uppercase;
			font-weight: 600;
		}
	}
}
