/* =========================================================
   PFS AUTHOR BOX
   COMPLETE RESPONSIVE CSS
========================================================= */


/* =========================================================
   MAIN AUTHOR BOX
========================================================= */

.pfs-author-box-wrapper {
	--pfs-image-size: 140px;

	width: 100%;
	max-width: 1150px;

	margin: 40px auto 0 !important;
	padding: 30px;

	display: grid;
	grid-template-columns: 1fr;
	gap: 0;

	background-color: #ececec;
	border-radius: 15px;

	box-sizing: border-box;
	overflow: hidden;
}


/* =========================================================
   BOX SIZING
========================================================= */

.pfs-author-box-wrapper *,
.pfs-author-box-wrapper *::before,
.pfs-author-box-wrapper *::after,

.pfs-author-footer-box *,
.pfs-author-footer-box *::before,
.pfs-author-footer-box *::after {
	box-sizing: border-box;
}


/* =========================================================
   DESKTOP COLUMNS
========================================================= */

.pfs-author-box-wrapper.pfs-cols-2 {
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 30px;
}

.pfs-author-box-wrapper.pfs-cols-3 {
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 30px;
}

.pfs-author-box-wrapper.pfs-cols-4 {
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 30px;
}


/* =========================================================
   DESKTOP
   1025px AND ABOVE
   EXACT 100px LEFT + RIGHT SPACE
========================================================= */

@media (min-width: 1025px) {

	.pfs-author-box-wrapper {
	
	} 
}


/* =========================================================
   AUTHOR CARD
========================================================= */

.pfs-author-card {
	display: flex;
	align-items: flex-start;

	width: 100%;
	min-width: 0;

	gap: 30px;

	padding: 0 0 25px;
	margin: 0 0 25px;

	border-bottom: 1px solid #ccc !important;
}

.pfs-author-card:last-child {
	border-bottom: 0 !important;

	padding-bottom: 0;
	margin-bottom: 0;
}


/* =========================================================
   AUTHOR IMAGE
========================================================= */

.pfs-author-image-wrapper {
	flex: 0 0 var(--pfs-image-size);

	width: var(--pfs-image-size);
	height: var(--pfs-image-size);

	overflow: hidden;

	border-radius: 100px;

	margin: 0;
	padding: 0;
}

.pfs-author-image {
	display: block;

	width: 100%;
	height: 100%;

	object-fit: cover;

	border: 2px solid #00adbe1a !important;
	border-radius: 100px;

	margin: 0;
	padding: 0;
}


/* =========================================================
   AUTHOR CONTENT
========================================================= */

.pfs-author-content {
	flex: 1 1 auto;

	width: 100%;
	max-width: 100%;
	min-width: 0;

	margin: 0;
	padding: 0;

	overflow-wrap: break-word;
	word-wrap: break-word;
}


/* =========================================================
   AUTHOR TITLE
========================================================= */

.pfs-author-title {
	width: 100%;

	margin: 0 0 8px !important;
	padding: 0;

	font-family: "Playfair Display", sans-serif !important;

	font-size: 30px !important;
	font-weight: 500 !important;

	line-height: 1.2em !important;

	text-transform: capitalize;

	color: #00a69d !important;
}

.pfs-author-title a {
	color: inherit !important;
	text-decoration: none;
}

.pfs-author-title a:hover {
	color: #00a69d !important;
	text-decoration: underline;
}


/* =========================================================
   AUTHOR TEXT / BIO
========================================================= */

.pfs-author-text {
	width: 100%;
	max-width: 100%;

	margin: 0 0 15px !important;
	padding: 0;

	font-family: "Montserrat", sans-serif !important;

	font-size: 16px !important;
	font-weight: 500 !important;

	line-height: 1.5em !important;

	letter-spacing: 0 !important;

	color: #000000 !important;

	text-align: left !important;

	overflow-wrap: break-word;
	word-wrap: break-word;
	word-break: normal;
}

.pfs-author-text p {
	margin-top: 0;
	margin-bottom: 10px;
     color: #000000;
    font-family: "Montserrat", Sans-serif;
    font-size: 17px;
    font-weight: 500;
    line-height: 1.5em;
    letter-spacing: 0px;
}

.pfs-author-text p:last-child {
	margin-bottom: 0 !important;
}


/* =========================================================
   SHORT BIO
========================================================= */

.pfs-author-text.pfs-short-bio strong {
	color: var(--e-global-color-2e2c9fe8) !important;

	font-family: "Montserrat", sans-serif !important;

	font-size: 16px !important;

	font-weight: 700 !important;

	font-style: normal !important;
}

.pfs-short-bio a {
	font-size: 16px !important;

	color: inherit;
}

.pfs-short-bio a:hover {
	color: var(--e-global-color-2e2c9fe8) !important;
}


/* =========================================================
   READ MORE / READ LESS SECTION
========================================================= */

.pfs-author-content .pfs-read-sec {
	max-height: 0;

	overflow: hidden;

	opacity: 0;

	margin-bottom: 0;

	transition:
		max-height 0.4s ease,
		opacity 0.3s ease,
		margin 0.3s ease;
}

.pfs-author-content .pfs-read-sec.is-visible {
	max-height: 1000px;

	opacity: 1;

	margin-bottom: 15px;
}


/* =========================================================
   READ MORE BUTTON
========================================================= */

.pfs-toggle-btn {
	display: inline-flex;
	align-items: center;
	justify-content: flex-start;

	margin: 0 0 15px;
	padding: 0;

	background: none !important;
	border: none !important;

	font-family: "Montserrat", sans-serif !important;

	font-size: 15px !important;
	font-weight: 600 !important;

	line-height: 1.4;

	color: #2c376f !important;

	cursor: pointer;

	text-decoration: underline;

	transition:
		color 0.2s ease,
		opacity 0.2s ease;
}

.pfs-toggle-btn:hover {
	color: #00a69d !important;

	opacity: 0.9;
}


/* =========================================================
   SOCIAL LINKS
========================================================= */

.pfs-author-socials {
	display: flex;
	align-items: center;
	flex-wrap: wrap;

	gap: 10px;

	width: 100%;

	margin: 5px 0 0;
	padding: 0;
}

.pfs-social-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;

	width: 34px;
	height: 34px;

	flex: 0 0 34px;

	border-radius: 50%;

	background-color: #1c244b;

	color: #ffffff;

	text-decoration: none;

	transition:
		background-color 0.2s ease,
		transform 0.2s ease;
}

.pfs-social-icon:hover {
	background-color: #00a69d;

	color: #ffffff;

	transform: translateY(-2px);
}


/* =========================================================
   AUTHOR FOOTER BOX
========================================================= */

.pfs-author-footer-box {
	width: 100%;
	max-width: 1150px;

	margin: 40px auto 0;
	padding: 0px;

	background-color: #ececec;

	border: 2px solid #ccc;

	border-radius: 15px;

	box-sizing: border-box;

	overflow: hidden;

	font-family: "Montserrat", sans-serif;

	font-size: 18px;

	font-weight: 500;
}


/* =========================================================
   FOOTER BOX CONTENT
========================================================= */

.pfs-author-footer-box *,
.pfs-author-footer-box *::before,
.pfs-author-footer-box *::after {
	font-family: "Proxima Nova", sans-serif;

	font-size: 18px;

	font-weight: 400;
}


/* =========================================================
   FOOTER BOX IMAGE
========================================================= */

.pfs-author-footer-box img {
	display: block;

	width: auto;
	max-width: 100%;

	height: auto !important;

	border: 2px solid #00adbe1a !important;

	border-radius: 100px;
}


/* =========================================================
   RESPONSIVE MEDIA
========================================================= */

.pfs-author-box-wrapper iframe,
.pfs-author-box-wrapper video,
.pfs-author-box-wrapper table,

.pfs-author-footer-box iframe,
.pfs-author-footer-box video,
.pfs-author-footer-box table {
	max-width: 100%;
}


/* =========================================================
   LONG WORD / URL PROTECTION
========================================================= */

.pfs-author-box-wrapper,
.pfs-author-footer-box {
	overflow-wrap: break-word;

	word-wrap: break-word;
}

.pfs-author-box-wrapper a,
.pfs-author-footer-box a {
	max-width: 100%;

	overflow-wrap: anywhere;

	word-break: break-word;
}


/* =========================================================
   TABLET
   769px — 1024px
========================================================= */

@media (max-width: 1024px) {

	/* -------------------------------------------------------
	   MAIN BOX
	------------------------------------------------------- */

	.pfs-author-box-wrapper {
		width: 100%;
		max-width: 100%;

		margin: 35px 0 0 !important;

		padding: 25px 22px;

		border-radius: 14px;
	}


	/* -------------------------------------------------------
	   COLUMNS
	------------------------------------------------------- */

	.pfs-author-box-wrapper.pfs-cols-2,
	.pfs-author-box-wrapper.pfs-cols-3,
	.pfs-author-box-wrapper.pfs-cols-4 {
		grid-template-columns: 1fr;

		gap: 0;
	}


	/* -------------------------------------------------------
	   AUTHOR CARD
	------------------------------------------------------- */

	.pfs-author-card {
		gap: 22px;

		padding-bottom: 25px;

		margin-bottom: 25px;
	}


	/* -------------------------------------------------------
	   IMAGE
	------------------------------------------------------- */

	.pfs-author-image-wrapper {
		flex: 0 0 120px;

		width: 120px;

		height: 120px;
	}


	/* -------------------------------------------------------
	   TITLE
	------------------------------------------------------- */

	.pfs-author-title {
		font-size: 25px !important;
	}


	/* -------------------------------------------------------
	   TEXT
	------------------------------------------------------- */

	.pfs-author-text {
		font-size: 16px !important;
	}


	/* -------------------------------------------------------
	   FOOTER BOX
	------------------------------------------------------- */

	.pfs-author-footer-box {
		width: 100%;
		max-width: 100%;

		margin: 35px 0 0;

		padding: 22px;

		border-radius: 14px;
	}
}


/* =========================================================
   TABLET / LARGE MOBILE
   577px — 768px
========================================================= */

@media (max-width: 768px) {

	/* -------------------------------------------------------
	   MAIN BOX
	   15px LEFT + RIGHT
	------------------------------------------------------- */

	.pfs-author-box-wrapper {
		width: 100%;

		max-width: none;

		margin: 30px 15px 0 !important;

		padding: 22px 18px;

		border-radius: 12px;
	}


	/* -------------------------------------------------------
	   AUTHOR CARD
	------------------------------------------------------- */

	.pfs-author-card {
		gap: 20px;

		padding-bottom: 22px;

		margin-bottom: 22px;
	}


	/* -------------------------------------------------------
	   IMAGE
	------------------------------------------------------- */

	.pfs-author-image-wrapper {
		flex: 0 0 105px;

		width: 105px;

		height: 105px;
	}


	/* -------------------------------------------------------
	   TITLE
	------------------------------------------------------- */

	.pfs-author-title {
		font-size: 23px !important;

		line-height: 1.3em !important;
	}


	/* -------------------------------------------------------
	   TEXT
	------------------------------------------------------- */

	.pfs-author-text {
		font-size: 15px !important;

		line-height: 1.55em !important;
	}


	/* -------------------------------------------------------
	   TOGGLE
	------------------------------------------------------- */

	.pfs-toggle-btn {
		font-size: 14px !important;
	}


	/* -------------------------------------------------------
	   FOOTER BOX
	------------------------------------------------------- */

	.pfs-author-footer-box {
	   width: calc(100% - 90px);
        max-width: none;
        padding: 16px;
        border-radius: 10px;
        margin: 0px auto;
        display: block;
	}
}


/* =========================================================
   MOBILE
   576px AND BELOW
========================================================= */

@media (max-width: 576px) {

	/* -------------------------------------------------------
	   MAIN AUTHOR BOX
	   
	   15px LEFT + 15px RIGHT SPACE
	------------------------------------------------------- */

	.pfs-author-box-wrapper {
				width: 100%;

		max-width: none;

		margin: 25px 15px 0 !important;

		padding: 20px 16px;

		border-radius: 12px;

		grid-template-columns: 1fr;

		gap: 0;
	}


	/* -------------------------------------------------------
	   FORCE SINGLE COLUMN
	------------------------------------------------------- */

	.pfs-author-box-wrapper.pfs-cols-2,
	.pfs-author-box-wrapper.pfs-cols-3,
	.pfs-author-box-wrapper.pfs-cols-4 {
		grid-template-columns: 1fr;
	}


	/* -------------------------------------------------------
	   AUTHOR CARD
	------------------------------------------------------- */

	.pfs-author-card {
		display: flex;

		flex-direction: column;

		align-items: flex-start;

		width: 100%;

		min-width: 0;

		gap: 15px;

		padding-bottom: 22px;

		margin-bottom: 22px;
	}


	/* -------------------------------------------------------
	   IMAGE
	------------------------------------------------------- */

	.pfs-author-image-wrapper {
		flex: 0 0 95px;

		width: 95px;

		height: 95px;

		margin: 0;
	}


	.pfs-author-image {
		width: 100%;

		height: 100%;
	}


	/* -------------------------------------------------------
	   CONTENT
	------------------------------------------------------- */

	.pfs-author-content {
		width: 100%;

		max-width: 100%;

		min-width: 0;

		text-align: left;
	}


	/* -------------------------------------------------------
	   TITLE
	------------------------------------------------------- */

	.pfs-author-title {
		width: 100%;

		margin: 0 0 8px !important;

		font-size: 21px !important;

		line-height: 1.3em !important;

		text-align: left !important;
	}


	/* -------------------------------------------------------
	   TEXT
	------------------------------------------------------- */

	.pfs-author-text {
		width: 100%;

		margin: 0 0 13px !important;

		font-size: 15px !important;

		line-height: 1.55em !important;

		text-align: left !important;
	}


	.pfs-author-text p {
		margin-top: 0;
    font-family: "Montserrat", Sans-serif;
    font-size: 16px;
    font-weight: 500;
    line-height: 32px;
    letter-spacing: 0px;
		margin-bottom: 10px;
	}


	.pfs-author-text p:last-child {
		margin-bottom: 0 !important;
	}


	/* -------------------------------------------------------
	   SHORT BIO
	------------------------------------------------------- */

	.pfs-author-text.pfs-short-bio strong {
		font-size: 15px !important;
	}

	.pfs-short-bio a {
		font-size: 15px !important;
	}


	/* -------------------------------------------------------
	   READ MORE
	------------------------------------------------------- */

	.pfs-toggle-btn {
		margin: 0 0 13px;

		font-size: 14px !important;

		line-height: 1.4;
	}


	/* -------------------------------------------------------
	   SOCIAL ICONS
	------------------------------------------------------- */

	.pfs-author-socials {
		justify-content: flex-start;

		gap: 9px;

		margin-top: 5px;
	}


	.pfs-social-icon {
		width: 32px;

		height: 32px;

		flex: 0 0 32px;
	}


	/* -------------------------------------------------------
	   FOOTER BOX
	------------------------------------------------------- */

	.pfs-author-footer-box {
		width: calc(100% - 30px);

		max-width: none;

		margin: 25px 15px 0;

		padding: 16px;

		border-radius: 10px;
	}
}


/* =========================================================
   SMALL MOBILE
   375px AND BELOW
========================================================= */

@media (max-width: 375px) {

	/* -------------------------------------------------------
	   MAIN BOX
	   12px LEFT + RIGHT
	------------------------------------------------------- */

	.pfs-author-box-wrapper {
				width: 100%;

		max-width: none;

		margin-left: 12px !important;

		margin-right: 12px !important;

		padding: 18px 14px;

		border-radius: 10px;
	}


	/* -------------------------------------------------------
	   AUTHOR CARD
	------------------------------------------------------- */

	.pfs-author-card {
		gap: 14px;

		padding-bottom: 20px;

		margin-bottom: 20px;
	}


	/* -------------------------------------------------------
	   IMAGE
	------------------------------------------------------- */

	.pfs-author-image-wrapper {
		flex: 0 0 85px;

		width: 85px;

		height: 85px;
	}


	/* -------------------------------------------------------
	   TITLE
	------------------------------------------------------- */

	.pfs-author-title {
		font-size: 19px !important;

		line-height: 1.3em !important;
	}


	/* -------------------------------------------------------
	   TEXT
	------------------------------------------------------- */

	.pfs-author-text {
		font-size: 14px !important;

		line-height: 1.55em !important;
	}


	.pfs-author-text.pfs-short-bio strong {
		font-size: 14px !important;
	}


	.pfs-short-bio a {
		font-size: 14px !important;
	}


	/* -------------------------------------------------------
	   READ MORE
	------------------------------------------------------- */

	.pfs-toggle-btn {
		font-size: 13.5px !important;
	}


	/* -------------------------------------------------------
	   SOCIAL
	------------------------------------------------------- */

	.pfs-social-icon {
		width: 30px;

		height: 30px;

		flex-basis: 30px;
	}


	/* -------------------------------------------------------
	   FOOTER
	------------------------------------------------------- */

	.pfs-author-footer-box {
			width: 100%;

		margin-left: 12px;

		margin-right: 12px;

		padding: 14px;

		border-radius: 10px;
	}
}


/* =========================================================
   EXTRA SMALL DEVICES
   320px AND BELOW
========================================================= */

@media (max-width: 320px) {

	.pfs-author-box-wrapper {
			width: 100%;

		margin-left: 10px !important;

		margin-right: 10px !important;

		padding: 16px 12px;
	}


	.pfs-author-card {
		gap: 13px;
	}


	.pfs-author-image-wrapper {
		flex: 0 0 80px;

		width: 80px;

		height: 80px;
	}


	.pfs-author-title {
		font-size: 18px !important;
	}


	.pfs-author-text {
		font-size: 14px !important;

		line-height: 1.5em !important;
	}


	.pfs-toggle-btn {
		font-size: 13px !important;
	}


	.pfs-social-icon {
		width: 29px;

		height: 29px;

		flex-basis: 29px;
	}


	.pfs-author-footer-box {
		width: calc(100% - 20px);

		margin-left: 10px;

		margin-right: 10px;

		padding: 12px;
	}
}


/* =========================================================
   WORDPRESS IMAGE ALIGNMENT
========================================================= */

.pfs-author-box-wrapper .alignleft,
.pfs-author-box-wrapper .alignright,
.pfs-author-box-wrapper .aligncenter {
	max-width: 100%;
}


/* =========================================================
   TABLE PROTECTION
========================================================= */

.pfs-author-box-wrapper table,
.pfs-author-footer-box table {
	width: 100%;

	max-width: 100%;

	table-layout: auto;
}


/* =========================================================
   ACCESSIBILITY
========================================================= */

.pfs-toggle-btn:focus-visible,
.pfs-social-icon:focus-visible,
.pfs-author-title a:focus-visible {
	outline: 2px solid #00a69d;

	outline-offset: 3px;
}