.port-container {
	font-size: 0;
}

.port-container > a {
	display: inline-block;
	width: calc(33.333% - 40px);
	margin: 0 20px 40px;
	vertical-align: top;
	position: relative;
	z-index: 1;
}

.port-container > a:hover {
	z-index: 2;
}

.port-container > a .port-item-block {
	display: block;
	position: relative;
	overflow: hidden;
	width: 100%;
	margin: 0;
	aspect-ratio: 1 / 1;
	border-radius: 50px;
	background-color: #EBEBEB;
}

.port-item-block .port-item {
	display: block;
	width: 100%;
	height: 100%;
	margin: 0;
	object-fit: cover;
	border-radius: inherit;
	transition: transform 200ms ease;
}

.port-item-small {
	display: none;
}

.port-item-block .blur {
	display: none;
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	border-radius: inherit;
	background: rgba(255, 255, 255, 0.7);
	pointer-events: none;
	z-index: 1;
	transition: 200ms ease all;
}

.port-container > a .port-item-block > span {
	display: none;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	z-index: 2;
	pointer-events: none;
	width: calc(100% - 32px);
	text-align: center;
	line-height: 1.3;
	color: #000;
	font-size: 16px;
	font-weight: 500;
	transition: 200ms ease all;
}

.port-container > a:hover .port-item-block > .blur,
.port-container > a:hover .port-item-block > span {
	display: block;
}

@media screen and (max-width: 1023px) {
	.port-container > a {
		width: calc(33.333% - 20px);
		margin: 0 10px 20px;
	}

	.port-container > a .port-item-block {
		width: 100%;
		margin: 0;
		border-radius: 8px;
	}
}

@media screen and (max-width: 479px) {
	.port-container > a {
		width: calc(33.333% - 14px);
		margin: 0 7px 14px;
	}

	.port-container > a .port-item-block {
		width: 100%;
		margin: 0;
	}
}

@media screen and (max-width: 420px) {
	.port-item-block .port-item:not(.port-item-small) {
		display: none;
	}

	.port-item-block .port-item-small {
		display: block;
	}
}
