//
// Slider styles //
//
.owl-carousel {
	&[data-owl-nav="true"] {
		&:not(.owl-nav-left, .owl-nav-right, .owl-nav-overlay, .owl-nav-overlay-left, .owl-nav-overlay-right, .owl-nav-overlap, .owl-nav-overlap-left, .owl-nav-overlap-right) {
			padding: 0 44px;
			@include breakpoint-less(md) {
				padding: 0 30px;
			}
		}
	}
	.owl-item {
		img { width: auto; }
	}
	.owl-nav {
		position: absolute;
		top: 50%;
		right: 0;
		left: 0;
		@include transform(translateY(-50%));
		z-index: -1;
		padding-bottom: 20px;
		button {
			&.owl-next, &.owl-prev {
				position: absolute;
				color: $color-dark-06;
				@include transition(ease-out 0.16s);
				i {
					font-size: 20px;
				}
				&:hover, &:focus {
					color: $color-dark;
				}
			}
			&.owl-prev { left: 0; }
			&.owl-next { right: 0; }
		}
	}
	&.owl-nav-left, &.owl-nav-right {
		.owl-nav {
			padding-bottom: 0;
		}
	}
	.owl-dots {
		margin-top: 26px;
		margin-right: -4px;
		margin-left: -4px;
		text-align: center;
		line-height: 0;
		@include breakpoint-less(md) {
			margin-top: 16px;
		}
		.owl-dot {
			position: relative;
			display: inline-block;
			width: 24px;
			height: 24px;
			margin: 0 2px;
			vertical-align: middle;
			&:before {
				content: '';
				position: absolute;
				top: 2px;
				right: 2px;
				bottom: 2px;
				left: 2px;
				opacity: 0;
				background: transparent;
				border: 1px solid $color-dark;
				border-radius: 50%;
				@include transition(ease-out 0.16s);
			}
			&:after {
				content: '';
				position: absolute;
				top: 50%;
				left: 50%;
				@include transform(translate(-50%,-50%));
				opacity: 0.4;
				background: $color-dark;
				width: 4px;
				height: 4px;
				border-radius: 50%;
				@include transition(ease-out 0.16s);
			}
			&:hover, &:focus, &.active {
				&:after {
					opacity: 1;
				}
			}
			&.active {
				&:before, &:after {
					opacity: 1;
				}
				&:before {
					top: 0;
					right: 0;
					bottom: 0;
					left: 0;
				}
			}
		}
	}
	&:not([data-owl-dots="false"], .owl-dots-overlay, .owl-dots-overlay-left, .owl-dots-overlay-right, .owl-dots-overlap, .owl-dots-overlap-left, .owl-dots-overlap-right) {
		.owl-nav {
			padding-bottom: 70px;
			@include breakpoint-less(md) {
				padding-bottom: 60px;
			}
		}
	}
}
div[class^='bg-dark'], div[class*=' bg-dark'], .bg-black {
	.owl-carousel {
		.owl-nav {
			button {
				&.owl-next, &.owl-prev {
					color: $color-white-07;
					&:hover, &:focus {
						color: $color-white;
					}
				}
			}
		}
		.owl-dots {
			.owl-dot {
				&:before { border-color: $color-white; }
				&:after { background: $color-white; }
				&:hover, &:focus, &.active {
					&:after {
						opacity: 1;
					}
				}
			}
		}
	}
}

//
// Owl Nav - Left, Right //
//
.owl-carousel {
	&.owl-nav-left, 
	&.owl-nav-right {
		.owl-nav {
			button {
				position: static;
				display: block;
				margin: 8px 0;
				&.owl-prev, &.owl-next {
					right: auto;
					left: auto;
				}
			}
		}
	}
	&.owl-nav-left {
		padding: 0 0 0 44px;
		@include breakpoint-less(md) {
			padding: 0 0 0 30px;
		}
		.owl-nav {
			right: auto;
		}
	}
	&.owl-nav-right {
		padding: 0 44px 0 0;
		@include breakpoint-less(md) {
			padding: 0 30px 0 0;
		}
		.owl-nav {
			left: auto;
		}
	}
}

//
// Owl Nav Overlay //
//
.owl-carousel {
	&.owl-nav-overlay, 
	&.owl-nav-overlay-left, 
	&.owl-nav-overlay-right {
		.owl-nav {
			z-index: 1;
			padding-bottom: 0;
			button {
				&.owl-next, &.owl-prev {
					opacity: 0.9;
					background: $color-dark-07;
					width: 50px;
					height: 50px;
					border-radius: 50%;
					color: $color-white-08;
					text-align: center;
					i {
						line-height: 50px;
						font-size: 14px;
					}
					&:hover, &:focus {
						opacity: 1;
						color: $color-white;
					}
				}
			}
		}
	}
	@include breakpoint-above(lg) {
		&.owl-nav-overlay, 
		&.owl-nav-overlay-left, 
		&.owl-nav-overlay-right {
			.owl-nav {
				opacity: 0;
				@include transition(ease-out 0.16s);
			}
			&:hover {
				.owl-nav {
					opacity: 1;
				}
			}
		}
	}
	&.owl-nav-overlay {
		.owl-nav {
			padding-bottom: 50px;
			button {
				&.owl-prev { left: 30px; }
				&.owl-next { right: 30px; }
				@include breakpoint-less(md) {
					&.owl-prev { left: 16px; }
					&.owl-next { right: 16px; }
				}
			}
		}
		&:not([data-owl-dots="false"], .owl-dots-overlay, .owl-dots-overlay-left, .owl-dots-overlay-right, .owl-dots-overlap, .owl-dots-overlap-left, .owl-dots-overlap-right) {
			.owl-nav {
				padding-bottom: 100px;
				@include breakpoint-less(md) {
					padding-bottom: 90px;
				}
			}
		}
	}
	&.owl-nav-overlay-left, 
	&.owl-nav-overlay-right {
		.owl-nav {
			button {
				&.owl-next, &.owl-prev {
					position: static;
					top: auto;
					right: auto;
					bottom: auto;
					left: auto;
					display: block;
					margin: 4px 0;
				}
			}
		}
		&:not([data-owl-dots="false"], .owl-dots-overlay, .owl-dots-overlay-left, .owl-dots-overlay-right, .owl-dots-overlap, .owl-dots-overlap-left, .owl-dots-overlap-right) {
			.owl-nav {
				padding-bottom: 50px;
				@include breakpoint-less(md) {
					padding-bottom: 40px;
				}
			}
		}
	}
	&.owl-nav-overlay-left {
		.owl-nav {
			right: auto;
			left: 30px;
		}
		@include breakpoint-less(md) {
			.owl-nav {
				left: 16px;
			}
		}
	}
	&.owl-nav-overlay-right {
		.owl-nav {
			right: 30px;
			left: auto;
		}
		@include breakpoint-less(md) {
			.owl-nav {
				right: 16px;
			}
		}
	}
}

//
// Owl Dots - Left, Right //
//
.owl-carousel {
	&.owl-dots-left {
		.owl-dots {
			text-align: left;
		}
	}
	&.owl-dots-right {
		.owl-dots {
			text-align: right;
		}
	}
}

//
// Owl Dots Overlay //
//
.owl-carousel {
	&.owl-dots-overlay, 
	&.owl-dots-overlay-left, 
	&.owl-dots-overlay-right {
		.owl-dots {
			position: absolute;
			bottom: 20px;
			background: $color-dark-04;
			border-radius: 20px;
			margin: 0;
			padding: 5px;
			.owl-dot {
				width: 20px;
				height: 20px;
				margin: 0 2px;
				&:before { border-color: $color-white; }
				&:after { background: $color-white; }
				&:hover, &:focus, &.active {
					&:after {
						opacity: 1;
					}
				}
			}
		}
	}
	&.owl-dots-overlay {
		.owl-dots {
			right: auto;
			left: 50%;
			@include transform(translateX(-50%));
		}
		&.owl-nav-overlap-right {
			.owl-dots {
				margin-left: -15px;
			}
		}
		&.owl-nav-left {
			.owl-dots {
				margin-left: 22px;
			}
		}
		&.owl-nav-right {
			.owl-dots {
				margin-left: -22px;
			}
		}
		@include breakpoint-above(lg) {
			&.owl-nav-overlap-left {
				.owl-dots {
					margin-left: 15px;
				}
			}
		}
		@include breakpoint-less(md) {
			&.owl-nav-overlap-left, &.owl-nav-overlap-right {
				.owl-dots {
					margin-left: -12.5px;
				}
			}
		}
	}
	&.owl-dots-overlay-left {
		.owl-dots {
			right: auto;
			left: 20px;
		}
		&[data-owl-nav="true"], &.owl-nav-left {
			&:not(.owl-nav-right, .owl-nav-overlay, .owl-nav-overlay-left, .owl-nav-overlay-right, .owl-nav-overlap, .owl-nav-overlap-left, .owl-nav-overlap-right) {
				.owl-dots {
					left: 64px;
				}
			}
		}
		&.owl-nav-overlap {
			.owl-dots {
				left: 50px;
				@include breakpoint-less(md) {
					left: 45px;
				}
			}
		}
		@include breakpoint-above(lg) {
			&.owl-nav-overlap-left {
				.owl-dots {
					left: 50px;
				}
			}
		}
	}
	&.owl-dots-overlay-right {
		.owl-dots {
			right: 20px;
			left: auto;
		}
		&[data-owl-nav="true"] {
			&:not(.owl-nav-left, .owl-nav-overlay, .owl-nav-overlay-left, .owl-nav-overlay-right, .owl-nav-overlap, .owl-nav-overlap-left, .owl-nav-overlap-right) {
				.owl-dots {
					right: 64px;
				}
			}
		}
		&.owl-nav-overlap, &.owl-nav-overlap-right {
			.owl-dots {
				right: 50px;
			}
		}
		@include breakpoint-above(lg) {
			&.owl-nav-overlap-left {
				.owl-dots {
					right: 20px;
				}
			}
		}
		@include breakpoint-less(md) {
			&.owl-nav-overlap-left {
				.owl-dots {
					right: 45px;
				}
			}
			&.owl-nav-overlap, &.owl-nav-overlap-right {
				.owl-dots {
					right: 45px;
				}
			}
		}
	}
}

//
// Owl Dots Overlap //
//
.owl-carousel {
	&.owl-dots-overlap, 
	&.owl-dots-overlap-left, 
	&.owl-dots-overlap-right {
		.owl-dots {
			position: absolute;
			bottom: 0;
			background: $color-dark;
			border-radius: 20px;
			margin: 0;
			padding: 5px;
			.owl-dot {
				width: 20px;
				height: 20px;
				margin: 0 2px;
				&:before { border-color: $color-white; }
				&:after { background: $color-white; }
				&:hover, &:focus, &.active {
					&:after {
						opacity: 1;
					}
				}
			}
		}
	}
	&.owl-dots-overlap {
		.owl-dots {
			right: auto;
			left: 50%;
			@include transform(translateY(50%) translateX(-50%));
		}
		&.owl-nav-left {
			.owl-dots {
				margin-left: 22px;
			}
		}
		&.owl-nav-right {
			.owl-dots {
				margin-left: -22px;
			}
		}
		&.owl-nav-overlap-right {
			.owl-dots {
				margin-left: -15px;
			}
		}
		@include breakpoint-above(lg) {
			&.owl-nav-overlap-left {
				.owl-dots {
					margin-left: 15px;
				}
			}
		}
	}

	&.owl-dots-overlap-left, 
	&.owl-dots-overlap-right {
		.owl-dots {
			@include transform(translateY(50%));
		}
	}
	&.owl-dots-overlap-left {
		.owl-dots {
			right: auto;
			left: 20px;
		}
		&[data-owl-nav="true"], &.owl-nav-left {
			&:not(.owl-nav-right, .owl-nav-overlay, .owl-nav-overlay-left, .owl-nav-overlay-right, .owl-nav-overlap, .owl-nav-overlap-left, .owl-nav-overlap-right) {
				.owl-dots {
					left: 64px;
				}
			}
		}
		&.owl-nav-overlap {
			.owl-dots {
				left: 50px;
			}
		}
		@include breakpoint-above(lg) {
			&.owl-nav-overlap-left {
				.owl-dots {
					left: 50px;
				}
			}
		}
	}
	&.owl-dots-overlap-right {
		.owl-dots {
			right: 20px;
			left: auto;
		}
		&[data-owl-nav="true"], &.owl-nav-right {
			&:not(.owl-nav-left, .owl-nav-overlay, .owl-nav-overlay-left, .owl-nav-overlay-right, .owl-nav-overlap, .owl-nav-overlap-left, .owl-nav-overlap-right) {
				.owl-dots {
					right: 64px;
				}
			}
		}
		&.owl-nav-overlap, &.owl-nav-overlap-right {
			.owl-dots {
				right: 50px;
			}
		}
	}
}

//
// Owl Nav Overlap //
//
.owl-carousel {
	&.owl-nav-overlap {
		padding: 0 30px;
		.owl-nav {
			right: 30px;
			left: 30px;
			z-index: 1;
			height: 60px;
			button.owl-prev, 
			button.owl-next {
				opacity: 0.9;
				background: $color-dark;
				width: 60px;
				height: 60px;
				border-radius: 50%;
				color: $color-white;
				i {
					font-size: 14px;
				}
				&.owl-prev {
					right: auto;
					left: 0;
					@include transform(translateX(-50%));
				}
				&.owl-next {
					right: 0;
					left: auto;
					@include transform(translateX(50%));
				}
				&:hover {
					&.owl-prev { @include transform(translateX(-50%) scale(0.94)); }
					&.owl-next { @include transform(translateX(50%) scale(0.94)); }
					opacity: 1;
					color: $color-white;
				}
			}
		}
		&:not([data-owl-dots="false"], .owl-dots-overlay, .owl-dots-overlay-left, .owl-dots-overlay-right, .owl-dots-overlap, .owl-dots-overlap-left, .owl-dots-overlap-right) {
			.owl-nav {
				padding-bottom: 110px;
				@include breakpoint-less(md) {
					padding-bottom: 90px;
				}
			}
		}
		@include breakpoint-less(md) {
			padding: 0 25px;
			.owl-nav {
				right: 25px;
				left: 25px;
				height: 50px;
				button.owl-prev, 
				button.owl-next {
					width: 50px;
					height: 50px;
				}
			}
		}
	}
	@include breakpoint-above(lg) {
		&.owl-nav-overlap-left {
			padding: 0 0 0 30px;
			.owl-nav {
				left: 30px;
				right: auto;
				@include transform(translateY(-50%) translateX(-50%));
			}
		}
	}
	&.owl-nav-overlap-right {
		padding: 0 30px 0 0;
		.owl-nav {
			left: auto;
			right: 30px;
			@include transform(translateY(-50%) translateX(50%));
		}
	}
	@include breakpoint-less(md) {
		&.owl-nav-overlap-left, &.owl-nav-overlap-right {
			padding: 0 25px 0 0;
			.owl-nav {
				left: auto;
				right: 25px;
				@include transform(translateY(-50%) translateX(50%));
			}	
		}
	}
	&.owl-nav-overlap-left, 
	&.owl-nav-overlap-right {
		.owl-nav {
			z-index: 1;
			width: 60px;
			padding-bottom: 0;
			button.owl-prev, 
			button.owl-next {
				position: static;
				right: 0;
				left: 0;
				opacity: 0.9;
				background: $color-dark;
				width: 60px;
				height: 60px;
				margin: 4px 0;
				border-radius: 50%;
				color: $color-white;
				i {
					font-size: 14px;
				}
				&:hover {
					@include transform(scale(0.94));
					opacity: 1;
					color: $color-white;
				}
			}
		}
		&:not([data-owl-dots="false"], .owl-dots-overlay, .owl-dots-overlay-left, .owl-dots-overlay-right, .owl-dots-overlap, .owl-dots-overlap-left, .owl-dots-overlap-right) {
			.owl-nav {
				padding-bottom: 50px;
				@include breakpoint-less(md) {
					padding-bottom: 40px;
				}
			}
		}
		@include breakpoint-less(md) {
			.owl-nav {
				width: 50px;
				button.owl-prev, 
				button.owl-next {
					width: 50px;
					height: 50px;
				}
			}
		}
	}
}