/* Projects */
.projects-section {

}

.projects {
	--gutter-y: 40px;
	display: flex;
	flex-wrap: wrap;
	margin-left: calc(-.5 * var(--gutter-x));
	margin-right: calc(-.5 * var(--gutter-x));
	margin-top: calc(-1 * var(--gutter-y));
}

.projects_type_box {
	--gutter-y: 20px;
}

.projects__item {
	flex: 0 0 auto;
	width: 25%;
	padding-left: calc(.5 * var(--gutter-x));
	padding-right: calc(.5 * var(--gutter-x));
	margin-top: var(--gutter-y);
}

@media (max-width: 991.98px) {
	.projects__item {
		width: 33.33%;
	}
}

@media (max-width: 767.98px) {
	.projects__item {
		width: 50%;
	}
}

@media (max-width: 575.98px) {
	.projects__item {
		width: 100%;
	}
}

.project-item {
	display: block;
	color: inherit;
	text-decoration: none;
	position: relative;
}

.project-item:hover {
	color: inherit;
	text-decoration: none;
}

.project-item__image-wrapper {
	position: relative;
	margin-bottom: 20px;
}

.project-item__image-wrapper:before {
	content: '';
	display: block;
	padding-top: calc(240 * 100% / 305);
}

.project-item__image {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
}

.project-item__image img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.project-item__image:before {
	content: '';
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	background: rgba(0, 0, 0, .75);
}

.project-item__image:after {
	content: '';
	position: absolute;
	right: 50%;
	bottom: 50%;
	margin: -30px;
	width: 60px;
	height: 60px;
	background-color: rgba(0, 0, 0, .27);
	background-image: url("data:image/svg+xml,%3Csvg width='9' height='16' fill='%23fff' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='m1.465 15.632 7.284-7.047a.81.81 0 0 0 0-1.174L1.469.368a.879.879 0 0 0-1.214 0 .81.81 0 0 0 0 1.174l6.673 6.456-6.677 6.46a.813.813 0 0 0 0 1.174.879.879 0 0 0 1.214 0Z'/%3E%3C/svg%3E");
	background-position: center center;
	background-repeat: no-repeat;
	background-size: 9px 16px;
}

.project-item__image:before,
.project-item__image:after {
	opacity: 0;
	visibility: hidden;
	transition: 0.35s ease-in-out;
}

.project-item:hover .project-item__image:before,
.project-item:hover .project-item__image:after {
	opacity: 1;
	visibility: visible;
}

.project-item__title {
	font-size: 18px;
	line-height: 26px;
	font-weight: 500;
	color: var(--accent-color);
	margin-bottom: 13px;
}

.project-item:hover .project-item__title {
	color: var(--main-color);
}

.project-item__text {
	color: var(--secondary-color);
}

@media (max-width: 1199.98px) {
	.project-item__title {
		font-size: 16px;
		line-height: 24px;
	}
}

@media (max-width: 767.98px) {
	.project-item__title {
		font-size: 14px;
	}
}

.project-item_type_box:before {
	content: '';
	display: block;
	padding-top: calc(346 * 100% / 305);
}

.project-item_type_box .project-item__image-wrapper {
	position: absolute;
	margin: 0;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
}

.project-item_type_box .project-item__image-wrapper:before {
	display: none;
}

.project-item_type_box .project-item__image:after {
	right: 0;
	bottom: 0;
	margin: 0;
}

.project-item_type_box .project-item__content {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	border-top: 1px solid var(--line-color);
	padding: 18px 20px;
	color: var(--main-color);
	height: 89px;
	overflow: hidden;
	transition: 0.35s ease-in-out;
}

.project-item_type_box:hover .project-item__content {
	height: 100%;
	border-top-color: transparent;
	color: var(--white-color);
}

.project-item_type_box .project-item__title {
	color: inherit;
	margin: 0;
	max-height: 52px;
	overflow: hidden;
	text-overflow: ellipsis;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
}

.project-item_type_box:hover .project-item__title {
	color: inherit;
	max-height: none;
	-webkit-line-clamp: unset;
}

.project-item_type_box .project-item__text {
	font-size: 13px;
	line-height: 21px;
	margin-top: 5px;
	color: inherit;
	opacity: 0;
	visibility: hidden;
	transition: 0.15s ease-in-out;
	transition-property: opacity, visibility;
}

.project-item_type_box:hover .project-item__text {
	opacity: 1;
	visibility: visible;
}

@media (max-width: 1199.98px) {
	.project-item_type_box .project-item__content {
		height: 85px;
	}

	.project-item_type_box .project-item__title {
		max-height: 48px;
	}
}
/* ! Projects */