html {
	scroll-behavior: smooth;
	scroll-padding-top: var(--scroll-padding, 50px);
}

.title__section-underline {
	display: block;
	width: 50px;
	height: 2px;
	margin: auto;
	background: #dc3545;
	border-radius: 3px;
}

.navbar-toggler .toggle__icon {
	width: 20px;
	height: 2px;
	margin: 4px 0;
	background: #212529;
	transition: all .4s ease;
}
.navbar-toggler.active .toggle__icon:nth-child(1) {
	transform: translateY(6px) rotate(45deg);
}
.navbar-toggler.active .toggle__icon:nth-child(2) {
	opacity: 0;
}
.navbar-toggler.active .toggle__icon:nth-child(3) {
	transform: translateY(-6px) rotate(-45deg);
}

.service__item-icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 60px;
	height: 60px;
	margin: auto;
	border: 1px solid #212529;
	border-radius: 50%;
	margin-bottom: 1rem;
}

/* TIMELINE */
.timeline {
	position: relative;
	display: flex;
	flex-wrap: wrap;
	margin: auto;
}
.timeline:before {
	content: '';
	position: absolute;
	width: 2px;
	height: 100%;
	background: #313539;
	left: calc(50% - 1px)
}
.timeline__item {
	position: relative;
	width: 100%;
	margin-bottom: 40px;
}
.timeline__item:last-child:before {
	content: '';
	position: absolute;
	left: calc(50% - 1px);
	width: 2px;
	height: 100%;
	background: white;
}
.timeline__item:nth-child(odd) {
	padding-right: calc(50% + 24px);
	text-align: right;
}
.timeline__item:nth-child(even) {
	padding-left: calc(50% + 24px);
}
.timeline__dot {
	position: absolute;
	top: 0;
	left: calc(50% - 7px);
	width: 14px;
	height: 14px;
	border: 2px solid #313539;
	border-radius: 50%;
	background: #fff;
}
.timeline__date {
	font-weight: 600;
	margin-top: -5px;
}
.timeline__content {
	text-align: left;
	padding: 1.5rem;
	border-radius: 8px;
	box-shadow: 0 .125rem .25rem rgba(0,0,0,.15);
}
@media (max-width: 991px) {
	.timeline::before {
		left: 6px;
	}
	.timeline__item:last-child:before {
		left: 6px;
	}
	.timeline__item:nth-child(odd){
		padding-right: 0;
		text-align: left;
	}
	.timeline__item:nth-child(odd),
	.timeline__item:nth-child(even){
		padding-left: 24px;
	}
	.timeline__dot {
		left: 0;
	}
}

.portfolio__img {
	position: relative;
	overflow: hidden;
	margin-bottom: 1rem;
}
.portfolio__img-text {
	position: absolute;
	display: flex;
	align-items: center;
	justify-content: center;
	inset: 0;
	font-size: 20px;
	letter-spacing: 2px;
	font-weight: 600;
	color: #fff;
	background: rgba(0, 0, 0, .65);
	transform: translateX(-100%);
	transition: .3s;
}
.portfolio__img:hover .portfolio__img-text {
	transform: translateX(0);
}