.tf-templates-library .tf-main-wrapper {
	display: flex;
}

.tf-templates-library .sidebar {
	min-width: 220px;
	max-width: 220px;
	/* background-color: #ddd; */
	padding: 15px;
	max-height: 90vh;
	/* overflow-y: scroll; */
	position: -webkit-sticky;
	position: sticky;
	top: 0;
}

.tf-templates-library .sidebar ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

.tf-templates-library .sidebar li a {
	display: block;
	padding: 10px;
	color: #000;
	text-decoration: none;
}

.tf-templates-library .sidebar li.active a {
	color: #fff;
	background-color: #8441A4;
	border-radius: 3px;
}

.tf-templates-library .right-side {
	width: 100%;
	padding: 15px;
}

.tf-templates-library .right-side .tf-content {
	position: relative;
	width: 100%;
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	gap: 24px;
}

.tf-templates-library .tf-item {
	position: relative;
}

.tf-templates-library .tf-img-wrapper {
	display: inline-block;
	text-decoration: none;
	border: 1px solid #dddddd00;
	border-radius: 3px;
	box-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);
	padding: 10px;
	-webkit-border-radius: 3px;
	-moz-border-radius: 3px;
	-ms-border-radius: 3px;
	-o-border-radius: 3px;
	height: 350px;
	overflow: hidden
}

.tf-templates-library .tf-img-wrapper:hover {
	box-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
}

.tf-templates-library .tf-item h3 {
	margin: 0;
	color: #2f3f50;
	font-size: 16px;
	font-weight: 600;
	margin-top: 18px;
	text-align: center;
}

.tf-item .tf-badge {
	position: absolute;
	top: 10px;
	right: 10px;
	background: #e0528d;
	color: #fff;
	line-height: 1;
	padding: 5px 8px;
	border-radius: 3px;
	font-size: 12px;
	text-transform: uppercase;
	font-weight: 500;
	z-index: 9;
}

.tf-load-more-wrapper {
	display: flex;
	justify-content: center;
	margin-top: 40px;
}

.tf-load-more {
	font-size: 16px;
	padding: 14px 28px;
	border: none;
	border-radius: 3px;
	background: #8441A4;
	color: #fff;
}

.tf-load-more:hover {
	background: #e0528d;
}

.tf-templates-library .tf-content .tf-loading-wrapper {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	z-index: 99;
}

.tf-loader {
	height: 100px;
	width: 100px;
	background: transparent;
	border-radius: 50%;
	border: 5px solid #ddd;
	border-top-color: #333;
	animation: rotate 1s infinite;
}

@keyframes rotate {
	100% {
		rotate: 360deg;
	}
}

@media (max-width: 767px) {
	.tf-templates-library .sidebar {
		position: relative;
		top: unset;
	}

	.tf-templates-library .tf-main-wrapper {
		flex-direction: column;
	}

	.tf-templates-library .sidebar {
		min-width: 100%;
		max-width: 100%;
		margin-bottom: 20px;
	}

	.tf-templates-library .right-side {
		width: 100%;
	}

	.tf-templates-library .right-side .tf-content {
		grid-template-columns: 1fr 1fr;
		gap: 18px;
	}
}

@media (max-width: 1023px) {
	.tf-templates-library .right-side .tf-content {
		grid-template-columns: 1fr 1fr;
		gap: 18px;
	}
}

.tf-templates-library .tf-img-wrapper img {
	object-fit: cover;
	width: 100%;
	transform: translateY(0);
	transition: 2s ease-out;
}

.tf-templates-library .tf-img-wrapper:hover img {
	object-fit: cover;
	transform: translateY(calc(-100% + 400px));
	transition: 6s ease-out;
}
