/*--------------------------------------------------------------
# Author Widget & Block
--------------------------------------------------------------*/

/* Author Widget */

.flext-author-entry {
	overflow: hidden;
	position: relative;
}

.flext-author-entry .flext-author-avatar {
	display: block;
	line-height: 0;
	position: relative;
	text-align: center;
	z-index: 5;
}

.flext-author-entry .flext-author-avatar a {
	display: inline-block;
	position: relative;
}

.flext-author-entry .flext-author-avatar .avatar {
	border-radius: 50%;
	display: inline-block;
}

.flext-author-entry .flext-author-detail {
	position: relative;
	text-align: center;
	width: 100%;
	z-index: 1;
}

.flext-author-entry .flext-author-title {
	color: inherit;
	margin: 1.5rem 0 0.5rem;
	text-align: inherit;
}

.flext-author-entry .flext-author-description {
	margin: 2rem 0;
}

.flext-author-location {
	display: inline-block;
	margin: 0.5rem 0;
}

.flext-author-location a {
	display: inline-block;
	max-width: 100%;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.flext-author-location a i {
	display: inline-flex;
	line-height: 1;
	margin: 0.6rem 0.5rem 0 0;
}

.flext-user-social-links {
	justify-content: center;
}

/* Follow Button */

.flext-author-follow {
	align-items: center;
	display: inline-flex;
	height: 3.4rem;
	justify-content: center;
	width: 3.4rem;
}

.flext-author-follow::before {
	content: "\e90b";
	font-family: flextension, sans-serif;
	font-size: 2rem;
}

.flext-author-follow.flext-unfollow-button::before {
	content: "\e90a";
}

.flext-author-follow.flext-is-loading::before {
	animation: flext-spin 1s infinite linear;
	border: 2px solid rgba(255, 255, 255, 0.5);
	border-radius: 50%;
	border-top-color: transparent;
	content: "";
	height: 2rem;
	left: 50%;
	margin: -1rem;
	outline: 1px solid transparent;
	position: absolute;
	top: 50%;
	width: 2rem;
}

.avatar + .flext-author-follow {
	border-radius: 50%;
	bottom: 0;
	position: absolute;
	right: 0;
	transform: translateY(-30%);
	z-index: 10;
}

/* Follow Numbers */

.flext-author-follow-numbers {
	align-items: center;
	display: flex;
	gap: 1.5rem;
	margin-bottom: 1.5rem;
	justify-content: center;
}

.flext-author-follow-numbers a.is-empty {
	cursor: default;
	pointer-events: none;
}

/* Followers and Following list */

.flext-author-follow-modal .flext-lightbox-container {
	max-width: 50rem;
}

.flext-author-followers-list,
.flext-author-following-list {
	overflow: auto;
}

.flext-author-follow-item {
	align-items: center;
	display: flex;
	gap: 1rem;
	margin: 0 0 2rem;
	width: 100%;
}

.flext-author-follow-list a {
	color: inherit;
}

.flext-author-follow-item .flext-author-avatar {
	line-height: 0;
}

.flext-author-follow-item .flext-author-follow {
	border-radius: 0.5rem;
	height: 3rem;
	margin-left: auto;
	padding: 0 2rem;
	width: 3rem;
}

.flext-author-follow-list .pagination {
	margin: 0 0 2rem;
}

.flext-author-follow-list .pagination a {
	align-items: center;
	display: inline-flex;
}

.flext-author-follow-list .pagination a.flext-is-loading::after {
	animation: flext-spin 1s infinite linear;
	border: 2px solid rgba(0, 0, 0, 0.25);
	border-radius: 50%;
	border-top-color: transparent;
	content: "";
	display: inline-flex;
	height: 2rem;
	margin: 0 1rem;
	position: relative;
	width: 2rem;
}

/* Author with Cover Image */

.flext-author-cover-image {
	bottom: 0;
	left: 0;
	overflow: hidden;
	position: absolute;
	right: 0;
	top: 0;
	z-index: 0;
}

.flext-author-cover-image img {
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.flext-author.has-cover-image .flext-author-entry .flext-author-detail {
	box-shadow: none;
	position: relative;
}

.flext-author.has-cover-image a {
	color: inherit;
}

/* Authors Widget & Block */

/* Authors Block */

.flext-block-authors .flext-author-entry {
	display: flex;
	flex-direction: column;
	height: auto;
}

.flext-block-authors .author-recent-posts {
	width: 100%;
}

.flext-block-authors .author-recent-posts ul {
	align-items: flex-start;
	display: flex;
	gap: 1.2rem;
	list-style: none;
	margin: 3rem 0 0;
	padding: 0;
}

.flext-block-authors .author-recent-posts ul li {
	display: flex;
	flex-flow: row wrap;
	margin: 0;
	padding: 0;
}

.flext-block-authors .author-recent-posts .post-title a {
	display: inline-block;
	display: -webkit-box;
	overflow: hidden;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
}

.flext-block-authors .author-recent-posts .post-thumbnail {
	margin-bottom: 1rem;
	width: 100%;
}

.flext-authors-pagination.pagination {
	justify-content: space-between;
	width: 100%;
}

.flext-authors-pagination.pagination .next {
	margin-left: auto;
}

@keyframes flext-loading-placeholder {

	0% {
		background-position: 100% 0;
	}

	100% {
		background-position: -100% 0;
	}
}

.flext-block-authors.flext-is-loading .flext-author-entry {
	pointer-events: none;
	position: relative;
}

.flext-block-authors.flext-is-loading .flext-author-entry::after {
	animation: flext-loading-placeholder 1.25s linear forwards infinite;
	background: #f5f5f5;
	background: linear-gradient(to right, #f5f5f5 8%, #eaeaea 38%, #f5f5f5 54%);
	background-size: 200% 100%;
	bottom: 0;
	content: "";
	left: 0;
	position: absolute;
	right: 0;
	top: 0;
	z-index: 99;
}

@media (min-width: 768px) {

	/*--------------------------------------------------------------
	# Author Widget & Block
	--------------------------------------------------------------*/
	.flext-author-location a i {
		align-self: center;
		margin: 0 0.5rem 0 -0.2rem;
	}

	/* List Style */
	.flext-block-authors.is-style-list .flext-author-entry {
		align-content: flex-start;
		display: flex;
		flex-flow: row wrap;
		justify-content: center;
	}

	.flext-block-authors.is-style-list .flext-author-entry .flext-author-avatar {
		margin: 0 2rem 0 0;
	}

	.flext-block-authors.is-style-list .flext-author-entry .flext-author-header {
		max-width: 25%;
	}

	.flext-block-authors.is-style-list .flext-author-entry .flext-author-follow-numbers {
		justify-content: flex-start;
	}

	.flext-block-authors.is-style-list .flext-author-entry .flext-author-detail {
		flex: 1 1 75%;
		max-width: 75%;
		text-align: left;
	}

	.flext-block-authors.is-style-list .flext-author-description {
		margin: 1.5rem 0;
	}

	.flext-block-authors.is-style-list .flext-author-location {
		display: inline-block;
		margin: 0;
		vertical-align: middle;
	}

	.flext-block-authors.is-style-list .flext-social-icons {
		display: inline-flex;
		justify-content: center;
	}

	.flext-block-authors.is-style-list .flext-author-location + .flext-user-social-links {
		margin-left: 1.5rem;
	}

	/* Grid Style */
	.flext-block-authors.is-style-grid .author-recent-posts {
		margin-top: auto;
	}

	.flext-block-authors.is-style-grid .flext-authors-list {
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		gap: 3rem;
	}

	.flext-block-authors.is-style-grid .flext-author-entry {
		flex: 0 0 70%;
		width: 70%;
	}
}

@media (min-width: 1024px) {

	/*--------------------------------------------------------------
	# Author Widget & Block
	--------------------------------------------------------------*/

	/* Grid Style */
	.flext-block-authors.is-style-grid .flext-authors-list {
		display: grid;
		gap: 3rem;
		grid-template-columns: repeat(2, minmax(1rem, 1fr));
	}

	.flext-block-authors.is-style-grid.alignfull .flext-authors-list {
		grid-template-columns: repeat(auto-fit, minmax(28rem, 1fr));
	}

	.flext-block-authors.is-style-grid .flext-author-entry {
		width: 100%;
	}
}

@media (min-width: 1280px) {

	/*--------------------------------------------------------------
	# Author Widget & Block
	--------------------------------------------------------------*/

	.flext-block-authors.is-style-grid.alignwide .flext-authors-list,
	.flext-block-authors.is-style-grid.alignfull .flext-authors-list {
		grid-template-columns: repeat(auto-fit, minmax(28rem, 1fr));
	}
}
