/*
Theme Name: Impreza Child
Template: Impreza
Version: 1.0
Author:	UpSolution
Theme URI: http://impreza.us-themes.com/
Author URI: http://us-themes.com/
*/

/*Add your own styles here:*/

:root {
	--imn-red: #e10a13;
	--imn-darkgrey: #434343;
}

.title-red :is(h1, h2) {
	font-size: 2.5rem;
    font-weight: 600;
    color: var(--imn-red);
}

.title-grey :is(h2, h3) {
	font-size: 1.8rem;
    margin-top: 15px;
    font-weight: 500;
    color: var(--imn-darkgrey);
    margin-bottom: 15px;
    
}
.col-red .w-btn-wrapper {
	position: absolute;
	bottom: 0;
	left: 0;
}
.col-red .w-btn-wrapper > a:hover,
.col-red .w-btn-wrapper > a {
	background-color: transparent;
}
.col-red:hover {
	background-color: #b3040b !important;
}

.white-title h1 {
	color: white;
	font-weight: 600;
	font-size: 3.2rem;
	text-align: right;
}

.red-line {
	position: relative;
    z-index: 0;
    font-size: 6rem;
    margin-left: 0.3em;
}
.red-line:after {
	content: "";
    left: -0.15em;
    bottom: 0.1em;
    position: absolute;
    z-index: -1;
    height: 0.4em;
    width: calc(100% + 0.3em);
    background-color: var(--imn-red);
}

.line-red > div {
	width: 100px;
    height: 3px;
    background: var(--imn-red);
    margin-bottom: 30px;
}
.line-red.center-line {
	justify-content: center;
    display: flex;
}
.ml-col {
	margin-left: 5rem;
}
.mr-col {
	margin-right: 5rem;
}

.red_section h3 {
	font-weight: 600;
	color: var(--imn-darkgrey);
	font-size: 1.7rem;
}
.red_section p {
	font-size: 1.3rem;
	line-height: 1.4;
	color: var(--imn-darkgrey);
}
.red_section p strong {
	text-decoration: underline 3px red;
    color: var(--imn-red);
}
.footer-data p strong {
	font-size: 1.2rem;
}
.footer-data ul {
	list-style-type: none;
	margin-left: unset;
	margin-top: 30px;
}
.footer-data li a {
	color: inherit;
	
	i {
		margin-right: 10px;
		color: var(--imn-red);
	}
}

.border-top {
	border-top: solid 1px #d7d7d7;
}

.menu-style ul li {
	
	font-weight: 500;
}
.menu-style ul li a > span {
	position: relative;
}

.menu-style ul li > a > span.w-nav-title::before {
	content: "";
    left: 0;
    bottom: -10px;
    width: 0;
    height: 3px;
    background: var(--imn-red);
    position: absolute;
    z-index: 2;
	transition: 250ms;
}
.menu-style ul li.level_1:hover > a > span.w-nav-title::before,
.menu-style ul li.level_1.current-menu-item > a > span.w-nav-title::before {
	content: "";
    left: 0;
    bottom: -10px;
    width: 50%;
    height: 3px;
    background: var(--imn-red);
    position: absolute;
    z-index: 2;
	transition: 250ms;
}
/*
.col-left-b {
	border-right: solid 1px #c1c1c1;
}
*/
.mx-600 {
	max-width: 600px;
	margin: auto;
}

h1.title-article  {
	color: white;
	font-size: 3.1rem;
	font-weight: 600;
}

.category-style {
	color: white;
	.w-post-elm-before {
		font-weight: 600;
	}
	a {
		background-color: var(--imn-red);
		padding: 0.1em 0.4em;
		border-radius: 3px;
	}
	a:hover {
		color: white;
	}
}
.filter-style {
	max-width: 300px;
}

.grid-style {
	.post_image {
		margin-bottom: 20px;
	}
	.post_taxonomy span {
		background-color: var(--imn-red);
		padding: 0.1em 0.4em;
		border-radius: 2px;
		color: white;
	}
	h2 {
		font-size: 1.6rem;
        font-weight: 500;
        color: var(--imn-darkgrey);
        margin-top: 10px;
	}
}

.col-grey .w-iconbox-title {
	text-transform: uppercase;
    font-size: 1.1rem;
    font-weight: 500;
    color: var(--imn-darkgrey);
	padding-bottom: 5px;
}

.col-grey .w-iconbox-icon {
	font-size: 1.6rem !important;
}
.col-grey .w-iconbox {
	margin-bottom: 25px;
}
.wrapper-form .row-cols > p {
	display: flex;
	gap: 20px;
	margin-bottom: 20px;
	.wpcf7-form-control-wrap {
		width: 50%;
	}
}

.wpb_column.col-grey {
	padding: 3rem 2rem;
	    background-color: #f2f4f7;
    height: fit-content;
}
.wrap-social {
	display: flex;
    align-items: center;
    gap: 25px;
	margin-top: 30px;
	
	i {
		font-size: 1.6rem;
	}
}

@media (max-width: 1366px) and (min-width: 1200px) {
	
	.w-image.has_aspect_ratio {
		aspect-ratio: initial !important;
	}
	.ml-col {
		margin-left: 2rem;
	}
	.mr-col {
		margin-right: 2rem;
	}
}
@media (max-width: 1199px) {
	.ml-col {
		margin-left: 0;
		margin-top: 60px;
		margin-bottom:  60px;
	}
	.mr-col {
		margin-right: 0;
		margin-top: 60px;
		margin-bottom:  60px;
	}
	.col-red {
		min-height: 300px;
	}
	h1.title-article {

		font-size: 2.1rem;

	}
		
}
@media (max-width: 767px) {
	.wrapper-form .row-cols > p {
		flex-direction: column;
	}
	.wrapper-form .wpcf7-form-control-wrap {
        width: 100% !important;
    }
	.white-title h1 {
	
		font-size: 2.2rem;

	}
	.red-line {
		font-size: 3rem;
	}
}
.carousel-marchi img {
	max-width: 220px;
	margin: auto;
}