//
// Base Styles //
//
html, body {
	width: 100%;
	height: 100%;
}
body {
	overflow-x: hidden;
}

//
// Container, Row //
//
.container, .container-fluid {
	position: relative;
	padding: 0 30px;
}

//
// Positioning //
//
.position-middle {
	position: relative;
	top: 50%;
	@include transform(translateY(-50%));
	margin: 0 auto;
}
.position-top, .position-bottom {
	position: absolute;
	left: 0;
	width: 100%;
}
.position-top {
	top: 30px;
}
.position-bottom {
	bottom: 30px;
}
.container, .container-fluid {
	.position-top, .position-bottom {
		padding: 0 30px;
	}
}

//
// Mark //
//
mark {
	background: $bg-gray;
	color: get-color("dark");
}

//
// iframe //
//
iframe {
	width: 100%;
	border: 0;
}

//
// Pre(Preformatted text) //
//
pre {
	border: 1px solid get-color("dark", 0.1);
	border-radius: 0.375em;
	padding: 6px 20px;
	color: $color-primary;
}
.bg-black, 
[class*='bg-dark'], 
[class*='bg-gradient-'], 
[class*='bg-color-'] {
	pre {
		border-color: get-color("white", 0.2);
		color: get-color("white", 0.6);
	}
}


//
// Blockquote Styles //
//
.blockquote {
	background: transparent;
	margin-bottom: 20px;
	border-left: 4px solid get-color("dark", 0.1);
	padding: 16px 30px;
	@include breakpoint-less(sm) {
		padding: 16px 20px;
	}
	p {
		font-size: 16px;
		line-height: 30px;
		&.font-small {
			font-size: 14px;
			line-height: 26px;
		}
		&.font-large {
			font-size: 20px;
			line-height: 36px;
		}
	}
	.blockquote-footer {
		margin-top: 10px;
		color: get-color("dark");
		&:before {
			padding-right: 5px;
		}
		h1, h2, h3, h4, h5, h6 {
			display: inline-block;
			margin: 0;
		}
		p {
			font-size: 16px;
			line-height: 30px;
		}
	}
	&.style-2 {
		position: relative;
		border: 0;
		padding: 20px 20px 20px 40px;
		@include breakpoint-less(sm) {
			padding: 16px 16px 16px 36px;
		}
		&:before {
			content: '\f10d';
			position: absolute;
			top: 0;
			left: 0;
			color: get-color("dark", 0.1);
			font-family: "Font Awesome 6 Free";
			font-size: 24px;
			font-weight: 900;
		}
	}
}
.bg-black, 
[class*='bg-dark'], 
[class*='bg-gradient-'], 
[class*='bg-color-'] {
	.blockquote {
		background: get-color("white", 0.1);
		border-color: get-color("white", 0.2);
		.blockquote-footer {
			color: white;
		}
		&.style-2 {
			background: transparent;
			border-color: get-color("white", 0.2);
		}
		&.style-3 {
			background: transparent;
			&:before {
				color: get-color("white", 0.2);
			}
		}
	}
}

//
// Breadcrumb Styles //
//
.breadcrumb {
	display: inline-block;
	background: transparent;
	margin: 0 0 -10px;
	padding: 0;
	.breadcrumb-item {
		display: inline-block;
		font: 400 13px $font-family-primary;
		letter-spacing: 1px;
		text-transform: uppercase;
		&:before {
			color: get-color("dark", 0.2);
		}
		&.active {
			color: $color-primary-lighter;
		}
		a {
			@include transition(linear 0.1s);
		}
	}
}
.bg-black, 
[class*='bg-dark'], 
[class*='bg-gradient-'], 
[class*='bg-color-'] {
	.breadcrumb {
		.breadcrumb-item {
			&:before {
				color: get-color("white", 0.3);
			}
			&.active {
				color: get-color("white", 0.5);
			}
		}
	}
}

//
// Card //
//
.card {
	border: 1px solid get-color("dark", 0.1);
}

//
// Dropdown Styles //
//
.dropdown, .btn-group {
	.dropdown-menu {
		border: 0;
		border-radius: 0;
		@include box-shadow(0 6px 36px -4px rgba(22,24,26,0.14));
		padding: 15px 20px;
		.dropdown-item {
			margin-bottom: 10px;
			padding: 0;
			color: get-color("dark");
			font: 300 15px $font-family-primary;
			letter-spacing: 0;
			text-transform: none;
			@include transition(linear 0.1s);
			&:last-child {
				margin: 0;
			}
			&:hover, &:focus, &:active {
				background: transparent;
				color: $color-primary;
			}
		}
	}
}

//
// Modal Styles //
//
.modal {
	&.fade {
		.modal-dialog {
			@include transition(ease-out 0.2s);
			@include transform(translate(0) scale(0.98));
		}
	}
	&.show {
		.modal-dialog {
			@include transform(translate(0) scale(1.0));
		}
	}
	.modal-content {
		@include box-shadow(0 6px 36px -4px rgba(22,24,26,0.3));
		border: 0;
		.modal-header { border-bottom: 1px solid get-color("dark", 0.1); }
		.modal-footer { border-top: 1px solid get-color("dark", 0.1); }
	}
}

//
// Nav Styles //
//
.nav {
	margin: 0;
	padding: 0;
	.nav-item {
		margin: 0 30px 0 0;
		&:last-child {
			margin-right: 0;
		}
		.nav-link {
			padding: 0;
			color: $color-primary;
			@include transition(linear 0.1s);
			h1, h2, h3, h4, h5, h6 {
				margin: 0;
				color: $color-primary;
				@include transition(linear 0.1s);
			}
			&.active, &:hover {
				color: get-color("dark");
				h1, h2, h3, h4, h5, h6 {
					color: get-color("dark");
				}
			}
			&.disabled {
				color: $color-primary-lighter;
			}
		}
	}
	&.nav-tabs {
		border-bottom: 1px solid $border-gray;
		.nav-item {
			margin: 0 0 -1px;
			.nav-link {
				background: transparent;
				padding: 10px 20px;
				color: $color-primary;
				&:hover {
					border-color: $border-gray;
				}
				&.active {
					border-color: $border-gray $border-gray white;
					color: get-color("dark");
				}
				&.disabled {
					&:hover {
						border-color: transparent;
					}
				}
			}
		}
	}
	&.nav-pills {
		.nav-item {
			margin: 0;
			.nav-link {
				padding: 10px 20px;
			}
			.nav-link.active, 
			.show .nav-link {
				background: get-color("dark");
				color: white;
			}
			h1, h2, h3, h4, h5, h6 {
				margin: 0;
			}
		}
	}
	&.tabs {
		display: inline-block;
		border: 1px solid $border-gray;
		border-radius: 0.375em;
		.nav-item {
			display: inline-block;
			margin: 0;
			.nav-link {
				padding: 10px 20px;
				border-right: 1px solid $border-gray;
			}
			&:last-child {
				.nav-link {
					border: 0;
				}
			}
		}
	}
	&.nav-custom {
		.nav-item {
			.nav-link {
				position: relative;
				overflow: visible;
				&:after {
					content: '';
					position: absolute;
					right: 0;
					bottom: -1px;
					left: 0;
					background: get-color("dark");
					height: 1px;
					@include animation(button-line-out 0.24s cubic-bezier(0.165, 0.84, 0.44, 1) both);
				}
				&.active {
					&:after {
						width: 100%;
						@include animation(button-line-in 0.24s cubic-bezier(0.165, 0.84, 0.44, 1) both);
					}
				}
			}
		}
	}
}
.bg-black, 
[class*='bg-dark'], 
[class*='bg-gradient-'], 
[class*='bg-color-'] {
	.nav {
		.nav-item {
			.nav-link {
				color: get-color("white", 0.8);
				&.active, &:hover {
					color: white;
				}
			}
		}
		&.nav-tabs {
			border-color: get-color("white", 0.2);
			.nav-item {
				.nav-link {
					color: get-color("white", 0.8);
					&.active, &:hover {
						border-color: get-color("white", 0.2) get-color("white", 0.2) transparent;
					}
					&.active {
						color: white;
					}
				}
			}
		}
		&.nav-pills {
			.nav-item {
				.nav-link.active, 
				.show .nav-link {
					background: white;
					color: get-color("dark");
				}
			}
		}
		&.tabs {
			border: 1px solid get-color("white", 0.2);
			.nav-item {
				.nav-link {
					border-right: 1px solid get-color("white", 0.2);
				}
			}
		}
		&.nav-custom {
			.nav-item {
				.nav-link {
					&:after { background: white; }
				}
			}
		}
	}
}

//
// Pagination Styles //
//
.pagination {
	margin: 0;
	padding: 0;
	.page-item {
		margin: 0 6px 0 0;
		text-align: center;
		&:last-child {
			margin-right: 0;
		}
		.page-link {
			background: transparent;
			min-width: 31px;
			height: 31px;
			border: 0;
			border-radius: 20px;
			padding: 0;
			color: $color-primary;
			font-size: 14px;
			line-height: 31px;
			@include transition(ease-out 0.12s);
			&:hover {
				background: $button-gray;
			}
		}
		&.active {
			.page-link {
				background: $button-gray;
				color: get-color("dark");
			}
		}
	}
	&.pagination-sm {
		.page-item {
			.page-link {
				min-width: 27px;
				height: 27px;
				border-radius: 20px;
				padding: 0;
				line-height: 27px;
			}
		}
	}
	&.pagination-lg {
		.page-item {
			.page-link {
				min-width: 35px;
				height: 35px;
				border-radius: 20px;
				padding: 0;
				line-height: 35px;
			}
		}
	}
	//
	// Pagination - Hover style 2 //
	//
	&.hover-style-2 {
		.page-item {
			.page-link {
				&:hover {
					background: $border-gray;
					border-color: $border-gray;
				}
			}
			&.active {
				.page-link {
					background: get-color("dark");
					border-color: get-color("dark");
					color: white;
				}
			}
		}
	}
}
.bg-black, 
[class*='bg-dark'], 
[class*='bg-gradient-'], 
[class*='bg-color-'] {
	.pagination {
		.page-item {
			.page-link {
				color: get-color("white", 0.7);
				&:hover {
					background: get-color("white", 0.1);
				}
			}
			&.active {
				.page-link {
					background: get-color("white", 0.1);
					color: white;
				}
			}
		}
		&.hover-style-2 {
			.page-item {
				.page-link {
					&:hover {
						background: white;
						border-color: white;
						color: get-color("dark", 0.9);
					}
				}
				&.active {
					.page-link {
						background: white;
						border-color: white;
						color: get-color("dark", 0.9);
					}
				}
			}
		}
	}
}

//
// Popover Styles //
//
.popover {
	border: 0;
	@include box-shadow(0 0 12px 0 rgba(0,0,0,0.08));
	.arrow {
		&:before { border: 0; }
	}
	.popover-header {
		background: transparent;
		padding: 15px 20px;
		font-size: 16px;
		line-height: 32px;
	}
	.popover-body {
		padding: 20px;
	}
}

//
// Table Styles //
//
.table {
	td, th { border-top: 1px solid $border-gray; }
	thead {
		th { border-bottom: 2px solid $border-gray; }
	}

	&.table-dark {
		background: $bg-dark-lighter;
		thead {
			th { border-bottom: 2px solid get-color("white", 0.1); }
		}
		td, th { border-top: 1px solid get-color("white", 0.1); }
	}
	&.table-bordered {
		td, th { border: 1px solid $border-gray; }
		&.table-dark {
			td, th { border: 1px solid get-color("white", 0.1); }
		}
	}

	.thead-dark {
		th { background: $bg-dark-lighter; border-color: get-color("white", 0.1); }
	}
	.thead-light {
		th { background: $button-gray-lighter; }
	}

	.table-active {
		td, th { background: $button-gray-darker; }
	}
	.table-secondary {
		td, th { background: $button-gray; }
	}
	.table-light {
		td, th { background: $bg-gray-lighter; }
	}
	.table-dark {
		td, th { background: $button-gray; }
	}
}

//
// Scroll To Top button //
//
.scrolltotop {
	position: fixed;
	right: 20px;
	bottom: 20px;
	@include transform(translateY(20px));
	z-index: 992;
	visibility: hidden;
	opacity: 0;
	@include transition(ease-out 0.12s);
	&.scrolltotop-show {
		@include transform(translateY(0));
		visibility: visible;
		opacity: 1;
	}
}

//
// Cursor //
//
@include breakpoint-above(lg) {
	#cursor {
		z-index: 999;
		position: absolute;
		@include transform(translate(-50%, -50%));
		width: 22px;
		height: 22px;
		border: 1px solid white;
		border-radius: 50%;
		mix-blend-mode: difference;
		pointer-events: none;
		@include transition(linear 0.06s);
		&.scale-cursor {
			@include transform(translate(-50%, -50%) scale(2.4));
			opacity: 0.12;
		}
		&.cursor-style-2 {
			opacity: 0.2;
			background: white;
			border: 0;
			&.scale-cursor {
				opacity: 0.08;
			}
		}
	}
}