//
// Slider styles //
//
.owl-carousel {
	&[data-owl-nav="true"] {
		&:not([class*='owl-nav-']) {
			padding: 0 56px;
			@include breakpoint-less(md) {
				padding: 0 48px;
			}
		}
	}
	.owl-item {
		img { width: auto; }
	}
	.owl-nav {
		position: absolute;
		top: 50%;
		right: 0;
		left: 0;
		@include transform(translateY(-50%));
		z-index: -1;
		height: 36px;
		button {
			&.owl-prev { left: 0; }
			&.owl-next { right: 0; }
			&.owl-next, &.owl-prev {
				position: absolute;
				width: 36px;
				height: 36px;
				border-radius: 50%;
				color: get-color("dark", 0.6);
				@include transition(ease-out 0.16s);
				i {
					font-size: 1.3em;
					line-height: 36px;
				}
				&:hover, &:focus {
					background: $bg-gray;
					color: black;
				}
			}
		}
		@include breakpoint-less(md) {
			height: 32px;
			button {
				&.owl-next, &.owl-prev {
					width: 32px;
					height: 32px;
					i {
						font-size: 1em;
						line-height: 32px;
					}
				}
			}
		}
	}
	&.owl-nav-left, &.owl-nav-right {
		.owl-nav {
			padding-bottom: 0;
		}
	}
	.owl-dots {
		margin-top: 20px;
		margin-right: -2px;
		margin-left: -2px;
		text-align: center;
		line-height: 0;
		@include breakpoint-less(md) {
			margin-top: 16px;
		}
		.owl-dot {
			position: relative;
			display: inline-block;
			width: 20px;
			height: 20px;
			margin: 0 2px;
			vertical-align: middle;
			&:before, &:after {
				content: '';
				position: absolute;
				border-radius: 50%;
				@include transition(ease-out 0.16s);
			}
			&:before {
				top: 2px;
				right: 2px;
				bottom: 2px;
				left: 2px;
				opacity: 0;
				background: transparent;
				border: 1px solid black;
			}
			&:after {
				top: 50%;
				left: 50%;
				@include transform(translate(-50%,-50%));
				opacity: 0.3;
				background: black;
				width: 6px;
				height: 6px;
			}
			&: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"], [class*='owl-dots-over']) {
		.owl-nav {
			margin-top: -20px;
			@include breakpoint-less(md) {
				margin-top: -18px;
			}
		}
	}
}
.bg-black, 
[class*='bg-dark'], 
[class*='bg-gradient-'], 
[class*='bg-color-'] {
	.owl-carousel {
		&:not([class*='owl-dots-over'], [class*='owl-nav-over']) {
			.owl-nav {
				button {
					&.owl-next, &.owl-prev {
						color: get-color("white", 0.7);
						&:hover, &:focus {
							background: get-color("white", 0.15);
							color: white;
						}
					}
				}
			}
			.owl-dots {
				.owl-dot {
					&:before { border-color: white; }
					&:after { background: white; opacity: 0.5; }
					&:hover, &:focus, &.active {
						&:after {
							opacity: 1;
						}
					}
				}
			}
		}
	}
}
[class*='bg-gray'], 
[class*='bg-light'] {
	.owl-carousel {
		.owl-nav {
			button {
				&.owl-next, &.owl-prev {
					&:hover, &:focus {
						background: get-color("dark", 0.05);
					}
				}
			}
		}
	}
}

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

//
// Owl Nav Overlay //
//
.owl-carousel {
	&.owl-nav-overlay {
		.owl-nav {
			z-index: 1;
			padding-bottom: 0;
			button {
				&.owl-next, &.owl-prev {
					opacity: 1;
					background: get-color("dark", 0.3);
					width: 50px;
					height: 50px;
					border: 0;
					border-radius: 50%;
					color: get-color("white", 0.8);
					text-align: center;
					i {
						line-height: 50px;
					}
					&:hover, &:focus {
						opacity: 1;
						background: get-color("dark", 0.4);
						color: white;
					}
				}
			}
		}
		@include breakpoint-above(lg) {
			.owl-nav {
				opacity: 0;
				@include transition(ease-out 0.16s);
			}
			&:hover {
				.owl-nav { opacity: 1; }
			}
		}
		@include breakpoint-less(md) {
			.owl-nav {
				display: none;
			}
		}
	}
	&.owl-nav-overlay {
		.owl-nav {
			height: 50px;
			button {
				&.owl-prev { left: 20px; }
				&.owl-next { right: 20px; }
			}
		}
		&:not([data-owl-dots="false"], [class*='owl-dots-over']) {
			.owl-nav {
				margin-top: -20px;
			}
		}
	}
}

//
// 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 {
			position: absolute;
			bottom: 20px;
			background: get-color("dark", 0.3);
			border-radius: 20px;
			margin: 0;
			padding: 5px;
			@include breakpoint-less(md) {
				bottom: 16px;
			}
			.owl-dot {
				&:before { border-color: white; }
				&:after { background: white; opacity: 0.5; }
				&: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: -12.5px;
			}
		}
		&.owl-nav-left {
			.owl-dots {
				margin-left: 28px;
			}
		}
		&.owl-nav-right {
			.owl-dots {
				margin-left: -28px;
			}
		}
		@include breakpoint-above(lg) {
			&.owl-nav-overlap-left {
				.owl-dots {
					margin-left: 12.5px;
				}
			}
		}
		@include breakpoint-less(md) {
			&.owl-nav-overlap-left, &.owl-nav-overlap-right {
				.owl-dots {
					margin-left: -10px;
				}
			}
		}
	}
}

//
// Owl Dots Overlap //
//
.owl-carousel {
	&.owl-dots-overlap, 
	&.owl-dots-overlap-left, 
	&.owl-dots-overlap-right {
		.owl-dots {
			position: absolute;
			bottom: 0;
			background: white;
			border-radius: 20px;
			@include box-shadow(0 6px 30px 0 rgba(22,24,26,0.13));
			margin: 0;
			padding: 5px;
			&:hover, &:focus {
				@include box-shadow(0 6px 36px 0 rgba(22,24,26,0.19));
			}
			.owl-dot {
				&:before { border-color: get-color("dark"); }
				&:after { background: get-color("dark"); opacity: 0.3; }
				&: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: 28px;
			}
		}
		&.owl-nav-right {
			.owl-dots {
				margin-left: -28px;
			}
		}
		&.owl-nav-overlap-right {
			.owl-dots {
				margin-left: -12.5px;
			}
		}
		@include breakpoint-above(lg) {
			&.owl-nav-overlap-left {
				.owl-dots {
					margin-left: 12.5px;
				}
			}
		}
	}

	&.owl-dots-overlap-left, 
	&.owl-dots-overlap-right {
		.owl-dots {
			@include transform(translateY(50%));
		}
	}
	&.owl-dots-overlap-left {
		.owl-dots {
			right: auto;
			left: 20px;
			@include breakpoint-less(md) {
				left: 16px;
			}
		}
		&[data-owl-nav="true"], &.owl-nav-left {
			&:not(.owl-nav-right, [class*='owl-nav-over']) {
				.owl-dots {
					left: 76px;
					@include breakpoint-less(md) {
						left: 64px;
					}
				}
			}
		}
		&.owl-nav-overlap {
			.owl-dots {
				left: 45px;
			}
		}
		@include breakpoint-above(lg) {
			&.owl-nav-overlap-left {
				.owl-dots {
					left: 45px;
				}
			}
		}
	}
	&.owl-dots-overlap-right {
		.owl-dots {
			right: 20px;
			left: auto;
			@include breakpoint-less(md) {
				right: 16px;
			}
		}
		&[data-owl-nav="true"], &.owl-nav-right {
			&:not(.owl-nav-left, [class*='owl-nav-over']) {
				.owl-dots {
					right: 76px;
					@include breakpoint-less(md) {
						right: 64px;
					}
				}
			}
		}
		&.owl-nav-overlap, &.owl-nav-overlap-right {
			.owl-dots {
				right: 45px;
				@include breakpoint-less(md) {
					right: 36px;
				}
			}
		}
	}
}

//
// Owl Nav Overlap //
//
.owl-carousel {
	&.owl-nav-overlap {
		padding: 0 25px;
		.owl-nav {
			right: 25px;
			left: 25px;
			z-index: 1;
			height: 50px;
			button {
				opacity: 1;
				background: white;
				width: 50px;
				height: 50px;
				border-radius: 50%;
				@include box-shadow(0 10px 36px 0 rgba(22,24,26,0.13));
				color: get-color("dark");
				&.owl-prev {
					right: auto;
					left: 0;
					@include transform(translateX(-50%));
				}
				&.owl-next {
					right: 0;
					left: auto;
					@include transform(translateX(50%));
				}
				&:hover, &:focus {
					opacity: 1;
					background: white;
					color: get-color("dark");
					@include box-shadow(0 10px 40px 0 rgba(22,24,26,0.19));
				}
			}
		}
		&:not([data-owl-dots="false"], [class*='owl-dots-over']) {
			.owl-nav {
				margin-top: -20px;
				@include breakpoint-less(md) {
					margin-top: -18px;
				}
			}
		}
		@include breakpoint-less(md) {
			padding: 0 20px;
			.owl-nav {
				right: 20px;
				left: 20px;
				height: 40px;
				button.owl-prev, 
				button.owl-next {
					width: 40px;
					height: 40px;
				}
			}
		}
	}
	&.owl-nav-overlap-left {
		@include breakpoint-above(lg) {
			padding: 0 0 0 25px;
			.owl-nav {
				left: 25px;
				right: auto;
				@include transform(translateY(-50%) translateX(-50%));
			}
		}
	}
	&.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: 50px;
			height: auto;
			padding-bottom: 0;
			button.owl-prev, 
			button.owl-next {
				position: static;
				right: 0;
				left: 0;
				opacity: 1;
				background: white;
				width: 50px;
				height: 50px;
				margin: 4px 0;
				border-radius: 50%;
				@include box-shadow(0 10px 36px 0 rgba(22,24,26,0.13));
				color: get-color("dark");
				&:hover, &:focus {
					opacity: 1;
					background: white;
					@include box-shadow(0 10px 40px 0 rgba(22,24,26,0.19));
					color: get-color("dark");
				}
			}
		}
		&:not([data-owl-dots="false"], [class*='owl-dots-over']) {
			.owl-nav {
				margin-top: -20px;
				@include breakpoint-less(md) {
					margin-top: -18px;
				}
			}
		}
		@include breakpoint-less(md) {
			padding: 0 20px 0 0;
			.owl-nav {
				left: auto;
				right: 20px;
				@include transform(translateY(-50%) translateX(50%));
				width: 40px;
				button.owl-prev, 
				button.owl-next {
					width: 40px;
					height: 40px;
				}
			}
		}
	}
}


//
// Swiper //
//
.hero-portfolio-slider {
	@include breakpoint-less(md) {
		padding: 0 30px;
	}
	.swiper-wrapper {
		.swiper-slide {
			@include transform(scale(0.9));
			opacity: 0.9;
			@include transition(ease-in 0.16s);
			&.swiper-slide-active {
				@include transform(scale(1));
				opacity: 1;
			}
		}
	}
	.swiper-pagination {
		.swiper-pagination-bullet {
			position: relative;
			display: inline-block;
			opacity: 1;
			background: transparent;
			width: 20px;
			height: 20px;
			margin: 0 2px;
			vertical-align: middle;
			&:before, &:after {
				content: '';
				position: absolute;
				border-radius: 50%;
				@include transition(ease-out 0.16s);
			}
			&:before {
				top: 2px;
				right: 2px;
				bottom: 2px;
				left: 2px;
				opacity: 0;
				background: transparent;
				border: 1px solid black;
			}
			&:after {
				top: 50%;
				left: 50%;
				@include transform(translate(-50%,-50%));
				opacity: 0.3;
				background: black;
				width: 6px;
				height: 6px;
			}
			&:hover, &:focus, &.swiper-pagination-bullet-active {
				&:after {
					opacity: 1;
				}
			}
			&.swiper-pagination-bullet-active {
				&:before, &:after {
					opacity: 1;
				}
				&:before {
					top: 0;
					right: 0;
					bottom: 0;
					left: 0;
				}
			}
		}
		&.swiper-pagination-horizontal {
			position: absolute;
			bottom: 20px;
			left: 50%;
			@include transform(translateX(-50%));
			background: get-color("dark", 0.3);
			width: auto;
			border-radius: 20px;
			margin: 0;
			padding: 5px;
			@include breakpoint-less(md) {
				bottom: 16px;
			}
			.swiper-pagination-bullet {
				&:before { border-color: white; }
				&:after { background: white; opacity: 0.5; }
				&:hover, &:focus, &.swiper-pagination-bullet-active {
					&:after {
						opacity: 1;
					}
				}
			}
		}
	}
}

//
// Sliding Text //
//
.sliding-text, 
.sliding-text-reverse {
	.swiper-slide {
		width: auto;
	}
}
.sliding-boxes .swiper-wrapper, 
.sliding-text .swiper-wrapper, 
.sliding-text-reverse .swiper-wrapper {
	transition-timing-function: linear;
}