#team {
	position: relative;
	margin-bottom: -30px;
	
	background-image: url("../../images/pixel-bg-bottom.svg");
	background-size: auto min(100%, 1000px);
	background-repeat: repeat-x;
	background-position: bottom left;
}
@media (min-width: 900px) {
	#team {
		margin-top: 100px;
		padding-bottom: 130px;
	}
}
@media (max-width: 899.99px) {
	#team {
		margin-top: 75px;
		padding-bottom: 105px;
	}
}

/*------------------------------------------------------------------------*/

#team > .content-wrapper {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	align-items: flex-start;
	column-gap: 20px;
}
@media (min-width: 900px)	 { #team > .content-wrapper { row-gap: 65px; } }
@media (max-width: 899.99px) { #team > .content-wrapper { row-gap: 35px; } }

#team > .content-wrapper > header { flex: 0 0 100%; }
@media (min-width: 640px) {
	#team > .content-wrapper > aside { flex: 0 0 285px; }
	#team > .content-wrapper > main { flex: 1; order: 1; }
}
@media (max-width: 639.99px) {
	#team > .content-wrapper > aside { flex: 0 0 100%; order: 1; }
	#team > .content-wrapper > main { flex: 0 0 100%; }
}

/*------------------------------------------------------------------------*/
/*------------------------------------------------------------------------*/
/*------------------------------------------------------------------------*/

#team > .content-wrapper > header {
	display: flex;
	flex-direction: column;
	align-items: center;
	row-gap: 25px;
	
	filter: drop-shadow(0 0 10px rgba(0,0,0,.2));
	
	text-align: center;
}
#team > .content-wrapper > header > * {
	max-width: 600px;
	margin: 0;
	font-weight: 500;
}
#team > .content-wrapper > header > .title {
	line-height: 112%;
}
#team > .content-wrapper > header > .title .icon {
	display: inline-block; overflow: hidden;
	margin: -20px 0;
	
	border-radius: 50%;

	vertical-align: middle;
}
#team > .content-wrapper > header > .description { line-height: 130%; }
@media (min-width: 900px) {
	#team > .content-wrapper > header > .title { font-size: 50px; }
	#team > .content-wrapper > header > .title .icon { height: 65px; width: 65px; }
	#team > .content-wrapper > header > .description { font-size: 20px; }
}
@media (max-width: 899.99px) {
	#team > .content-wrapper > header > .title { font-size: 36px; }
	#team > .content-wrapper > header > .title .icon { height: 35px; width: 35px; }
	#team > .content-wrapper > header > .description { font-size: 16px; }
}

/*------------------------------------------------------------------------*/
/*------------------------------------------------------------------------*/
/*------------------------------------------------------------------------*/

#team > .content-wrapper > main {
	display: flex; width: 100%;
	flex-direction: column;
	align-items: stretch;
	
	filter: drop-shadow(0 0 10px rgba(0,0,0,.2));
}
@media (min-width: 900px)	 { #team > .content-wrapper > main { row-gap: 65px; } }
@media (max-width: 899.99px) { #team > .content-wrapper > main { row-gap: 35px; } }

/*------------------------------------------------------------------------*/

#team > .content-wrapper > main > .filters-modal-btn {}
@media (min-width: 640px) {
	#team > .content-wrapper > main > .filters-modal-btn { display: none; }
}
@media (max-width: 639.99px) {
	#team > .content-wrapper > main > .filters-modal-btn {
		display: flex; height: 50px;
		flex-direction: row;
		justify-content: center;
		align-items: center;
		padding: 0 25px;
		align-self: stretch;
		
		background-color: #FFF; transition: background-color .2s ease-out;
		border-radius: 25px;
		
		text-align: center;
		font-size: 20px;
		font-weight: 500;
		color: #000;
		
		cursor: pointer;
	}
	#team > .content-wrapper > main > .filters-modal-btn:hover { background-color: #BCD5E4; }
}

/*------------------------------------------------------------------------*/

#team > .content-wrapper > main > .posts {}
#team > .content-wrapper > main > .posts > .grid {
	position: relative;
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(285px, 100%), 1fr));
	grid-auto-rows: auto;
	column-gap: 20px;
	margin-bottom: -20px;
}
@media (min-width: 900px) {
	#team > .content-wrapper > main > .posts > .grid:after {
		content: '';
		position: absolute; top: 250px; right: -25px; z-index: 2;
		display: block; height: 75px; width: 55px;

		background-image: url("../../images/accents/accent-pointer.png");
		background-size: contain;
		background-position: center;
		background-repeat: no-repeat;

		pointer-events: none;
		animation: grid-pointer-float 3.8s ease-in-out -1s infinite;
	}
	@keyframes grid-pointer-float {
		0%	 { transform: translateY(0px) rotate(-25deg); }
		50%	 { transform: translateY(-20px) rotate(-25deg); }
		100% { transform: translateY(0px) rotate(-25deg); }
	}
}

#team > .content-wrapper > main > .posts > .grid > .single-member {
	width: 100%;
	margin-bottom: 20px;
}

/*------------------------------------------------------------------------*/

#team > .content-wrapper > main > footer {
	text-align: center;
}

#team > .content-wrapper > main > footer > .count-message {
	text-transform: uppercase;
	font-size: 14px;
	font-weight: 500;
}

#team > .content-wrapper > main > footer > .cta-loader {
	position: relative;
	display: inline-block; height: 50px;
	padding-left: 40px;
	margin-top: 25px;
	
	--bg-color: #D5ED99;
	
	color: #364A67;
	
	cursor: pointer;
}
#team > .content-wrapper > main > footer > .cta-loader:hover {
	--bg-color: #BCD5E4;
}
#team > .content-wrapper > main > footer > .cta-loader > * {
	height: 100%;
	
	background-color: var(--bg-color);
	border-radius: 25px;
	
	transition: background-color .2s ease-out;
}
#team > .content-wrapper > main > footer > .cta-loader > .label {
	display: flex;
	justify-content: center; align-items: center;
	padding: 0 25px;
	
	text-align: center;
	font-size: 20px;
	font-weight: 500;
}
#team > .content-wrapper > main > footer > .cta-loader > .icon {
	position: absolute; top: 0; left: 0;
	display: block; width: 50px;
	
	border-radius: 50px;
}
#team > .content-wrapper > main > footer > .cta-loader > .icon:before,
#team > .content-wrapper > main > footer > .cta-loader > .icon:after {
	content: '';
	position: absolute; top: 0; left: 0;
	display: block; height: 100%; width: 100%;
	
	background-color: currentColor;
	
	--mask-position: center;
	--mask-size: 50% auto;
	--mask-repeat: no-repeat;
	
	-webkit-mask-image: var(--mask-image);
	mask-image: var(--mask-image);
	-webkit-mask-position: var(--mask-position);
	mask-position: var(--mask-position);
	-webkit-mask-size: var(--mask-size);
	mask-size: var(--mask-size);
	-webkit-mask-repeat: var(--mask-repeat);
	mask-repeat: var(--mask-repeat);
	
	transition: opacity .2s ease-out;
}
#team > .content-wrapper > main > footer > .cta-loader > .icon:before {
	opacity: 1; transform: rotate(90deg);
	--mask-image: url("../../images/icons/cta-arrow.svg");
}
#team > .content-wrapper > main > footer > .cta-loader.loading > .icon:before { opacity: 0; }
#team > .content-wrapper > main > footer > .cta-loader > .icon:after {
	opacity: 0;
	--mask-image: url("../../images/icons/spinner.svg");
}
#team > .content-wrapper > main > footer > .cta-loader.loading > .icon:after { opacity: 1; }

/*------------------------------------------------------------------------*/
/*------------------------------------------------------------------------*/
/*------------------------------------------------------------------------*/

#team > .content-wrapper > aside {
	display: flex;
	flex-direction: column;
	row-gap: 20px;
}

/*------------------------------------------------------------------------*/

#team > .content-wrapper > aside > .card {
	position: relative;
	overflow: hidden;
	
	border-radius: 30px;
	box-shadow: 0 0 10px rgba(0,0,0,.2);
	
	isolation: isolate;
}
#team > .content-wrapper > aside > .card:before {
	content: '';
	position: relative; z-index: 1;
	display: block; width: 210px;
	padding-top: 160%;
	margin: 35px auto;
	
	background-color: #FFF;
	
	--mask-image: url("../../images/logo.svg");
	--mask-position: top 35px center;
	--mask-repeat: no-repeat;
	--mask-size: 210px auto;
	
	-webkit-mask-image: var(--mask-image);
	mask-image: var(--mask-image);
	-webkit-mask-position: var(--mask-position);
	mask-position: var(--mask-position);
	-webkit-mask-repeat: var(--mask-repeat);
	mask-repeat: var(--mask-repeat);
	-webkit-mask-size: var(--mask-size);
	mask-size: var(--mask-size);
	
	pointer-events: none;
}
#team > .content-wrapper > aside > .card > .background {
	position: absolute; top: 0; left: 0; z-index: -1;
	height: 100%; width: 100%;
}
#team > .content-wrapper > aside > .card > .overlay {
	position: absolute; bottom: 0; left: 0;
	display: flex; max-height: 100%; width: 100%;
	flex-direction: column;
	justify-content: flex-end;
	row-gap: 25px;
	
	--padding-top: 100px;
	padding: var(--padding-top) 25px 35px;
	
	background-image: linear-gradient(to top, rgba(0,0,0,.3) calc(100% - var(--padding-top) + 35px), transparent);
	
	text-align: center;
	color: #FFF;
	
	pointer-events: none;
}
#team > .content-wrapper > aside > .card > .overlay:empty { display: none; }
#team > .content-wrapper > aside > .card > .overlay > .title {
	line-height: 100%;
	font-size: 20px;
	font-weight: 500;
}
#team > .content-wrapper > aside > .card > .overlay > .title:before { content: open-quote ' '; }
#team > .content-wrapper > aside > .card > .overlay > .title:after { content: ' ' close-quote; }
#team > .content-wrapper > aside > .card > .overlay > .cta-btn {
	align-self: center;
	pointer-events: auto;
}