@keyframes teamItemEnter {
	0% { transform: translate(100%, 0); opacity: 0; }
	100% { transform: translate(0, 0); opacity: 1; }
}

.team {
	position: relative;
	display: flex;
	gap: 20px;
	background-color: var(--bexco-zwei);
	min-height: 50vh;
	padding: 5vh 0; }

.team .sup {
	position: absolute;
    left: 5%; top: -19%;
    color: var(--bexco-zwei);
    text-transform: uppercase;
    font-family: var(--bexco-bold);
    font-weight: 800;
    line-height: 0.8;
    letter-spacing: 2px;
    z-index: 2; }

	.team .sup.up {
	    top: -111px; left: 2%; 
	    color: var(--bexco-zwei);
	    font-size: 8vw;
		transform: translate(0, 25%);
		opacity: 0; }
		.team.open .sup.up {
			transform: translate(0, 0);
			opacity: 1;
			transition: 0.3s; }

	.team .sup.do {
	    top: 15px; left: 2%; 
	    color: var(--bexco-dark);
	    font-size: 16vw;
		transform: translate(0, -25%);
		opacity: 0; }
		.team.open .sup.do {
			transform: translate(0, 0);
			opacity: 1;
			transition: 0.3s;
			transition-delay: 0.5s; }

.team .sub {
	position: absolute;
    top: 25vh; left: 6%; 
    width: 25%;
    color: var(--bexco-dark);
    z-index: 6; }

.team .sub .cta {
	margin-top: 15px; } 
	.team .sub .cta .icon {
		background-color: var(--bexco-dark); }
		.team .sub .cta .icon:before {
			background-color: var(--bexco-dark); }
	.team .sub .cta:hover .text {
		padding-left: 40%; }

.team .grid {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	width: 100%;
	padding: 0 0 0 35%;
    transform: translate(-100vw, 0);
    opacity: 0;
    z-index: 5; }
	.team.open .grid {
	    transform: translate(0, 0);
	    opacity: 1;
		transition: 0.5s; }

	.team .grid .item {  
		position: relative;  
	    width: 100%;
	    height: 100%;
	    background: white;
	    padding: 10px 7px;
	    box-shadow: 0 5px 5px rgba(0, 0, 0, 0.3);
	    transform: translate(0, 0);
		transition: 0.5s;
	    overflow: hidden; }

		.team.open .grid .item {
			animation: teamItemEnter 0.5s backwards; }  

		.team.open .grid .item:nth-child(1) { animation-delay: 1.5s; }
		.team.open .grid .item:nth-child(2) { animation-delay: 1.7s; }
		.team.open .grid .item:nth-child(3) { animation-delay: 1.9s; }
		.team.open .grid .item:nth-child(4) { animation-delay: 2.1s; }

		.team .grid .item:hover {  
		    box-shadow: 0 10px 5px rgba(0, 0, 0, 0.3);
	    	transform: translate(0, -10px);
		    transition: 0.3s; }

		.team .grid .item:before {
			content: "";
			position: absolute;
			top: -40%; left: -30%;
			width: 100%;
			height: 100%;
			background-color: rgba(0, 0, 0, 0.1);
			transform: rotate(45deg) scale(1.1);
			z-index: 1; }    
		.team .grid .item:after {
			content: "";
			position: absolute;
			bottom: -25%; right: -30%;
			width: 100%;
			height: 100%;
			background-color: rgba(0, 0, 0, 0.1);
			transform: rotate(-45deg) scale(1.1);
			z-index: 1; }    

	    .team .grid .item .portrait {
	    	position: relative;
	    	width: 100%;
	    	height: 65%;
	    	background-position: center;
	    	background-size: cover;
	    	z-index: 5; }

	    .team .grid .item .inner {
	    	position: relative;
	    	width: 100%;
	    	height: 35%;
	    	padding: 15px 20px;
	    	z-index: 5; }

		    .team .grid .item .inner .name {
		    	color: var(--bexco-grey);
				font-family: var(--bexco-bold);
				font-size: 2vw;
				font-weight: 800;
				letter-spacing: 0;
				margin-bottom: -10px; }
		    	.team .grid .item .inner .name .sur { color: var(--bexco-eins); }

		    .team .grid .item .inner .position {
		    	color: var(--bexco-grey);
		    	font-size: 1vw;
		    	font-weight: 500;
		    	letter-spacing: 0; }

		    .team .grid .item .inner .contact {
		    	position: absolute;
		     	bottom: 5px; left: 5px;
		    	color: var(--bexco-grey);
		    	font-size: 0.8vw; }

		    .team .grid .item  .socials {
			    position: absolute;
			    bottom: 10px; right: 10px;
			    display: flex;
			    flex-direction: column;
			    gap: 7px;
			    z-index: 5; }
			    .team .grid .item .socials .so {
			    	color: var(--bexco-eins); }

.team .gradient {
	position: absolute;
	top: 0; right: 0;
	width: 20%;
	height: 100%;
	background: linear-gradient(to left, var(--bexco-zwei) 0%, transparent 100%);
	z-index: 30; }


@media (max-width: 900px) {
	.team {
	    flex-direction: column; }

	.team .sup.up {
	    font-size: 15vw;
	    top: -13vw; }
	.team .sup.do {
	    font-size: 40vw; }
	.team .sub {
	    position: relative;
	    width: 100%;
	    padding: 0 32px;
	    top: 30vw;
	    left: unset; }
	
	.team .grid {
		display: grid;
	    top: 30vw;
	    grid-template-columns: repeat(2, 1fr);
	    grid-gap: 15px;
	    padding: 0;
	    margin-bottom: 30vw; }
	.team .grid .item {
	    height: 30vh; }
	.team .grid .item .inner .name {
	    font-size: 6vw; }
	.team .grid .item .inner .position {
	    font-size: 10px; }
	.team .gradient {
	    width: 100%;
	    top: unset;
	    bottom: 0;
	    height: 10%;
	    background: linear-gradient(to top, var(--bexco-zwei) 0%, transparent 100%); }
}