.page-template-template-solutions .container{
	max-width: 1188px;
	padding: 0 20px;
	margin: 0 auto;
}
.solution-header .title{
	color: #DE232B;
}
.solution-header .content{
	margin: 30px 0 73px;
	color: #1A1A1A;
	text-align: justify;
}
.solution-header .content ul li{
	margin-left: 19px;
}
.solution-header{
	max-width: 922px;
}
.solution-item{
	display: grid;
	grid-template-columns: 1fr 1fr;
	grid-gap: 40px 22px;
	padding-bottom: 125px;
}
.solution-item .item{
	max-width: 562px;
	height: 430px;
	position: relative;
	overflow: hidden;
	background: gray;
	object-fit: cover;
}
.solution-item .item img{
	width: 100%;
	height: 100%;
	transition: all 0.5s;
	-webkit-transform: scale(1);
            transform: scale(1);
	object-fit: cover;
}
.solution-item .item:hover img {
    -webkit-transform: scale(1.2);
            transform: scale(1.2);
}
.solution-item .item-title{
	gap: 19px;
	display: flex;
	align-items: center;
	position: absolute;
	top: 7%;
	left: 7%;
	font-size: 35px;
	color: #FFFFFF;
}
.solution-item .item-title:before{
	display: block;
	content: '';
	width: 20px;
	height: 20px;
	color: #DE232B;
	background: #DE232B;
	border: solid;
}
@media only screen and (max-width: 768px){
	.solution-item{
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		gap: 40px 24px;
		padding-bottom: 39px;
	}
	.solution-item .item{
		height: auto;
		max-height: 430px;
	}
	.solution-header .content{
		margin: 25px 0 39px;
	}
	.solution-item .item-title{
		font-size: 24px;
		top: 1%;
		left: 5%;
	}
	.solution-item .item-title:before{
		width: 10px;
		height: 10px;
	}
	.page-template-template-solutions #breadcrumbs span span{
		font-size: 14px;
	}
	.page-template-template-solutions .breadcrumb-section span span:not(:last-child):after{
		top: 0px;
	}
}
/*------------------------------------- Taxonomy Page --------------------------------*/

.tax-solutions .image.hide{
	opacity: 0;
    visibility: hidden;
    transition: visibility 0s linear 400ms, opacity 400ms;
    position: absolute;
}
.tax-solutions .image{
	visibility: visible;
    opacity: 1;
    position: relative;
    transition: visibility 0s linear 0s, opacity 400ms;
}
.tax-solutions img{
	max-width: 536px;
	max-height: 540px;
	object-fit: cover;
	background-size: cover;
}
.solution-components{
	background: #F8F8F8;
	margin-top: 68px;
}
.solution-components .components{
	display: grid;
	grid-template-columns: 1fr 1fr;
	grid-gap: 60px;
	justify-content: space-between;
	padding-bottom: 58px;
}
.components-content{
	max-width: 490px;
}
.components-content .desktop{
	margin: 80px 0 32px;
	color: #DE232B;
}
.components-image .mobile{
	display: none;
}
.components-content i{
	right: 0;
	font-size: 16px;
	position: absolute;
}
.components-content .content{
	border-top: 1px solid #AAAAAA;
	border-bottom: 0px solid #AAAAAA;
	padding: 25px 0 25px;
	display: flex;
	justify-content: start;
	position: relative;
  	background-position: 110% 0%;
  	background-size: 200% 1px;
  	background-repeat: no-repeat;
  	transition: 0s;
}
.components-content .content:last-child{
	border-bottom: 1px solid #AAAAAA;
}
.components-content span{
	margin-right: 30px;
	font-size: 15px;
	font-weight: 500;
}
.components-content .solution-title{
	display: flex;
	font-size: 25px;
	font-weight: 500;
	position: relative;
  	transition: transform 0.3s linear;
  	font-weight: 600;
  	margin: 0;
}
.components-content .content:hover{
	background-position: -0% 0%;
  	transition: all 1s;
  	background-image: linear-gradient(#DE232B, #DE232B);
  	border-top: 1px solid #FFFFFF;
  	cursor: pointer;
}
.components-content .content:hover > .solution-title{
	transform: translateX(20px);
  	transition: transform 0.3s linear;
  	color: #DE232B;
}
.components-content .content:hover > span{
	color: #DE232B;
}
.components-content .content:hover > .fa-arrow-right{
	color: #DE232B;
}
.components-image{
	margin-top: 80px;
	max-width: 536px;
	max-height: 540px;
	position: relative;
	overflow: hidden;
}
.components-image img{
	transition: all 0.5s;
	-webkit-transform: scale(1);
            transform: scale(1);
}
.components-image img:hover{
	-webkit-transform: scale(1.2);
            transform: scale(1.2);
}
.solution-footer{
	display: flex;
	justify-content: space-between;
	padding: 70px 5px 70px 5px;
}
.solution-footer a{
	font-family: DM Mono;
	font-size: 20px;
	font-weight: 500;
	color: #1A1A1A;
	text-transform: uppercase;
}
.solution-footer a:hover{
	color: #DE232B;
}
.solution-footer a:hover > span{
	text-decoration: underline;
}
.solution-footer a.mobile{
	display: none;
}
.solution-footer .fa-arrow-left{
	margin-right: 23px;
	font-size: 16px;
}
.solution-footer .fa-arrow-right{
	margin-left: 23px;
	font-size: 16px;
}
@media only screen and (max-width: 768px){
	.solution-components .components{
		display: grid;
		grid-template-columns: 1fr;
		gap: 0px;
		padding-bottom: 40px;
	}
	.components-image{
		order: 1;
		margin-top: 0;
		max-width: 100%;
		overflow: visible;
		max-height: 100%;
	}
	.components-content{
		margin-top: 40px;
		order: 2;
		max-width: 100%;
	}
	.solution-components{
		margin-top: 40px;
	}
	.tax-solutions img{
		max-height: 359px;
	}
	.components-content .desktop{
		display: none;
	}
	.components-image .mobile{
		padding: 25px 0;
		display: block;
		color: #DE232B;
	}
	.components-content .content{
		padding: 14px 0 12px;
	}
	.components-content .solution-title{
		font-size: 18px;
	}
	.components-content span{
		margin-right: 14px;
	}
	.solution-footer{
		padding: 40px 0px;
	}
	.solution-footer a{
		font-size: 14px;
	}
	.solution-footer a.mobile{
		display: block;
	}
	.solution-footer a.desktop{
		display: none;
	}
	.solution-footer .fa-arrow-left{
		margin-right: 12px;
	}
	.solution-footer .fa-arrow-right{
		margin-left: 12px;
	}
	.components-content .solution-title{
	  	transition: left 0.5s linear;
	}
	.components-content .content:hover > .solution-title{
		transform: translateX(0px);
		transition: none;
	}
	.tax-solutions .image.hide{
		position: relative;
		display: none;
	}
	.tax-solutions .image{
		position: relative;
		margin: auto;
		max-width: 359px;
		overflow: hidden;
	}
}
/*------------------------------- Single Solution ---------------*/
.single-solution .solution-header{
	max-width: 917px;
}
.single-solution img{
	max-width: 100%;
}
.carousel-parallax.solution{
	height: 40vw;
	max-height: 556px;
}
.solution-content{
	background: #F8F8F8;
}
.solution-content .slider{
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 30px;
	padding-bottom: 118px;
}
.solution-content .content{
	max-width: 467px;
	margin-top: 150px;
	text-align: justify;
}
.solution-content .media{
	max-width: 556px;
	margin-top: 68px;
	overflow: hidden;
}
.solution-content .content p{
	margin-top: 60px;
}
.solution-content .content ul li{
	margin-left: 19px;
}
.solution-content .media .image-content{
	margin-top: 10px;
	text-align: justify;
}
#solutionDots button:after{
	content: none;
}
#solutionDots button.owl-dot{
	background: #AAAAAA;
	border: #AAAAAA;
	width: 50px;
	height: 5px;
	padding: 0px;
	margin: 25px 7px 0px 0px;
}
#solutionDots button.owl-dot.active{
	background: #DE232B;
}
#owl-carousel-solution-mobile{
	display: none;
}
.single-solution .solution-footer{
	padding: 70px 0px;
}
.single-solution .solution-footer .desktop{
	display: flex;
	justify-content: space-between;
	width: 100%;
}
.single-solution .solution-footer .mobile{
	display: none;
}
.single-solution .owl-theme .owl-dots .owl-dot span{
	display: none;
}
@media only screen and (max-width: 1024px){
	.solution-content .media{
		margin-top: 180px;
	}
}
@media only screen and (max-width: 768px){
	.solution-content .slider{
		display: grid;
		grid-template-columns: 1fr;
		padding-bottom: 20px;
	}
	.solution-content .content{
		max-width: 100%;
		margin-top: 26px;
	}
	.solution-content .content p{
		margin-top: 40px;
	}
	.solution-content .media{
		margin-top: 0px;
		max-width: 100%;
	}
	.solution-content .media .image-content{
		margin-top: 14px;
		text-align: justify;
	}
	.single-solution .solution-footer{
		padding: 40px 0px;
	}
	#solutionDots, #owl-carousel-solution{
		display: none;
	}
	#owl-carousel-solution-mobile{
		display: block;
	}
	#owl-carousel-solution-mobile button:after{
		content: none;
	}
	#owl-carousel-solution-mobile button.owl-dot{
		background: #AAAAAA;
		border: #AAAAAA;
		width: 50px;
		height: 5px;
		padding: 0px;
		margin: 40px 7px 0px 0px;
	}
	#owl-carousel-solution-mobile button.owl-dot.active{
		background: #DE232B;
	}
	.single-solution .solution-footer .desktop{
		display: none;
	}
	.single-solution .solution-footer .mobile{
		display: flex;
		width: 100%;
		justify-content: space-between;
	}
	.single-solution .solution-footer .next{
		margin-left: auto;
	}
	.carousel-parallax.solution{
		height: 89.65vw;
	}
	.single-solution .owl-theme .owl-nav.disabled+.owl-dots{
		margin-bottom: 40px;
	}
}