/* font */
@font-face {
	font-family: 'OpenSansSemiCon';
	font-style: normal;
	font-weight: 300;
	font-display: swap;
	src: local('Open Sans SemiCondensed Light'), local('OpenSans-SemiCondensed-Light'), url(/css/fonts/OpenSans_SemiCondensed-Light.ttf) format('truetype');
}
@font-face {
	font-family: 'OpenSansSemiCon';
	font-style: normal;
	font-weight: 400;
	font-display: swap;
	src: local('Open Sans SemiCondensed Regular'), local('OpenSans-SemiCondensed-Regular'), url(/css/fonts/OpenSans_SemiCondensed-Regular.ttf) format('truetype');
}
@font-face {
  font-family: 'OpenSansSemiCon';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: local('Open Sans SemiCondensed SemiBold'), local('OpenSans-SemiCondensed-SemiBold'), url(/css/fonts/OpenSans_SemiCondensed-SemiBold.ttf) format('truetype');
}

/* font mod */
.font_augmented_200 { font-size: 2em; }
.font_augmented_150 { font-size: 1.5em; }
.font_augmented_140 { font-size: 1.4em; }
.font_augmented_130 { font-size: 1.3em; }
.font_augmented_120 { font-size: 1.2em; }
.font_augmented_110 { font-size: 1.1em; }

.font_reduced_95 { font-size: 0.95em; }
.font_reduced_90 { font-size: 0.9em; }
.font_reduced_85 { font-size: 0.85em; }
.font_reduced_80 { font-size: 0.8em; }
.font_reduced_70 { font-size: 0.7em; }
.font_reduced_60 { font-size: 0.6em; }
.font_reduced_50 { font-size: 0.5em; }

.invisible_elmnt { font-size:0px; }

/**/
body {
	min-width: 300px;
	width: auto !important;
	width: 300px;
	
	text-align: left;
	font-family: 'OpenSansSemiCon', sans-serif;
	font-size: 16px;
	font-weight: 300;
	color: #212121;
	background: #ffffff;
	
	line-height: 18px;
	
	margin: 0 auto;
}

* {
	box-sizing: border-box;
}

a {
	color: var(--first_color);
}
a:link {
  text-decoration: none;
}
a:visited {
  text-decoration: none;
}
a:hover {
  text-decoration: none;
}
a:active {
  text-decoration: none;
}
h1 {
	font-weight: 400;
}

.c1 {
	color: var(--first_color);
}

#container {
	width: 100%;
	
	margin: 0 auto;
}

header {
	max-width: 1340px;
	margin: 0 auto;
}

	.header_body {
		position: relative;
		width: 100%;
		max-width: 1340px;
		padding: 0 20px;
		height: 100px;
		margin: 0 auto;
	}
	@media screen and (min-width : 500px) and (max-width : 767px) {
		.header_body { height: 115px; }
	}
	@media screen and (min-width : 768px) and (max-width : 1024px) {
		.header_body { height: 125px; }
	}
	@media screen and (min-width : 1025px) and (max-width : 1359px) {
		.header_body { height: 140px; }
	}
	@media screen and (min-width : 1360px) {
		.header_body { padding: 0; height: 140px; }
	}
	
		#user_menu {
			float: left;
			margin-top: 35px;
			z-index: 5;
		}
		@media screen and (max-width : 499px) {
			#user_menu { margin-top: 20px; position: absolute; top: 0; }
		}
		@media screen and (min-width : 601px) and (max-width : 767px) {
			#user_menu { margin-top: 50px; }
		}
		@media screen and (min-width : 768px) and (max-width : 1024px) {
			#user_menu { margin-top: 58px; }
		}
		@media screen and (min-width : 1025px) {
			#user_menu { margin-top: 66px; }
		}
		
			#user_menu li {
				display: inline-block;
			}
			
			#user_menu li:first-child {
				margin-right: 30px;
			}
			
				.icon_accedi, .icon_registrazione, .icon_modif_user {
					font-size: 32px;
					color: #000000;
				}
				
				.icon_logout {
					font-size: 28px;
					color: #000000;
				}
				
			@media screen and (max-width : 600px) {
				#user_menu { margin-top: 25px; }
				#user_menu li { display: block; }
				#user_menu li:first-child { margin: 0 0 15px; }
			}
			
				.icon_contact {
					font-size: 18px;
					transition: color 0.2s linear;
					-webkit-transition: color 0.2s linear;
					-moz-transition: color 0.2s linear;
				}
			
				.icon_contact:hover {
					color: var(--second_color);
				}
			
				.link_contact {
					display: none;
				}
		
		
		#logo_iamg_box { }
		@media screen and (max-width : 499px) {
			#logo_iamg_box {
				position: relative;
				width: 100%;
				height: inherit;
				display: flex;
				align-content: center;
				justify-content: center;
				align-items: center;
				padding-top: 10px;
			}
		}
		
			#logo_iamg {
				width: 66%;
				z-index: 2;
			}
			@media screen and (min-width : 500px) and (max-width : 767px) {
				#logo_iamg { width: 345px; position: absolute; top: 12px; left: 50%; transform: translateX(-50%); }
			}
			@media screen and (min-width : 768px) and (max-width : 1024px) {
				#logo_iamg { width: 400px; position: absolute; top: 10px; left: 50%; transform: translateX(-50%); }
			}
			@media screen and (min-width : 1025px) {
				#logo_iamg { width: 460px; position: absolute; top: 10px; left: 50%; transform: translateX(-50%); }
			}
			
				#logo_iamg img {
					width: 100%;
				}
			
		
		/* classi menu top */
		
		#menu_top input {
  			display: none;
		}

		.open {
  			background-color: var(--first_color);
  			width: 30px;
  			height: 2px;
  			display: block;
  			border-radius: 2px;
  			cursor: pointer;
  			position: relative;
  			top: 8px;
			z-index: 30000;
		}
		@media screen and (min-width : 481px) {
			.open { width: 35px; }
		}

		.open:before {
			content: "";
			background-color: var(--first_color);
			width: 30px;
			height: 2px;
			display: block;
			border-radius: 2px;
			position: relative;
			top: -8px;
			transform: rotate(0deg);
			transition: all 0.3s ease;
		}
		@media screen and (min-width : 481px) {
			.open:before { width: 35px; }
		}

		.open:after {
			content: "";
			background-color: var(--first_color);
			width: 30px;
			height: 2px;
			display: block;
			border-radius: 2px;
			position: relative;
			top: 6px;
			transform: rotate(0deg);
			transition: all 0.3s ease;
		}
		@media screen and (min-width : 481px) {
			.open:after { width: 35px; }
		}

		.menu_open {
			width: 30px;
			height: 20px;
			display: block;
			cursor: pointer;
			float: right;
			margin-top: 40px;
		}
		@media screen and (max-width : 499px) {
			.menu_open { margin-top: 45px; position: absolute; top: 0; right: 20px; }
		}
		@media screen and (min-width : 500px) and (max-width : 767px) {
			.menu_open { margin-top: 50px; }
		}
		@media screen and (min-width : 768px) and (max-width : 1024px) {
			.menu_open { margin-top: 58px; }
		}
		@media screen and (min-width : 1025px) {
			.menu_open { margin-top: 66px; }
		}
		@media screen and (min-width : 481px) {
			.menu_open { width: 35px; }
		}

		.menu_box {
			position: fixed;
			width: 100%;
			height: 100%;
			top: 0;
			left: 0;
			background: var(--first_color);
			z-index: 20000;
		}
			.open_box {
				height: 35px;
				width: 35px;
				display: block;
				position: absolute;
				z-index: 30001;
				margin-top: -9px;
			}

		.menu_box .menu_content {
			position: relative;
			top: 50%;
			transform: translateY(-50%);
			font-size: 24px;
			text-align: center;
		}
		
		.menu_box ul li {
			padding: 20px 0;
			font-weight: 400;
		}

		.menu_box ul li a {
			display: inline-block;
			color: var(--third_color);
			text-decoration: none;
			transition: color 0.3s linear;
			-webkit-transition: color 0.3s linear;
			-moz-transition: color 0.3s linear;
		}

		.menu_box ul li a:hover {
			color: var(--second_color);
		}

		.menu_effects {
			opacity: 0;
			visibility: hidden;
			transition: opacity 0.5s, visibility 0.5s;
		}

		.menu_effects ul {
			transform: translateY(0%);
			transition: all 0.5s;
		}

		#menu_toggle:checked ~ .menu_effects {
			opacity: 1;
			visibility: visible;
			transition: opacity 0.5s;
		}

		#menu_toggle:checked ~ .menu_effects ul {
			opacity: 1;
		}

		#menu_toggle:checked ~ .menu_open .open {
			background-color: transparent;
		}

		#menu_toggle:checked ~ .menu_open .open:before {
			content: "";
			background-color: white;
			transform: rotate(45deg);
			position: absolute;
			top: 0;
			right: 0;
			z-index: 3;
		}
		

		#menu_toggle:checked ~ .menu_open .open:after {
			content: "";
			background-color: white;
			transform: rotate(-45deg);
			position: relative;
			top: 0;
			right: 0;
			z-index: 3;
		}

		#menu_toggle:not(:checked) ~ .menu_effects ul {
			transform: translateY(-30%);
		}
		
		.menu_link {
			color: #fff;
			transition: color 0.2s linear;
			-webkit-transition: color 0.2s linear;
			-moz-transition: color 0.2s linear;
		}
		
		.menu_link:hover {
			color: var(--second_color);
		}
		
		

main {
	max-width: 1340px;
	margin: 0 auto;
}

	.main_body {
		padding: 60px 20px;
		text-align: center;
	}
	@media screen and (min-width : 1360px) {
		.main_body { padding: 60px 0; }
	}
	

footer {}
	
	#footer_container {
		background: var(--first_color);
		/*min-height: 300px;*/
		/*margin-top: 80px;*/
		width: 100%;
	}
	
		#footer_container a {
			color: inherit;
			transition: color 0.2s linear;
			-webkit-transition: color 0.2s linear;
			-moz-transition: color 0.2s linear;
		}
		#footer_container a:hover {
			color: var(--second_color);
		}
		
		.footer_column_box {
			display: block;
			margin: auto;
			padding: 20px 0 30px;
			max-width: 1340px;
			margin: 0 auto;
			
			width: 100%;
			text-align: center;
		}
		@media screen and (min-width : 768px) and (max-width : 1359px) {
			.footer_column_box { display: flex; padding: 20px 20px 30px; text-align: inherit; }
		}
		@media screen and (min-width : 1360px) {
			.footer_column_box { display: flex; padding: 20px 0 30px; text-align: inherit; }
		}

			.footer_column {
				width: 34%;
				color: #fff;
			}
			@media screen and (max-width : 479px) {
				.footer_column { display: inline-block; width: auto; margin: 0 auto 20px; }
				/*.footer_column:last-of-type { margin: 0 auto 20px; }*/
			}
			@media screen and (min-width : 480px) and (max-width : 767px) {
				.footer_column { display: inline-block; width: auto; margin: 0 auto 20px; }
			}
			@media screen and (min-width : 768px) and (max-width : 992px) {
				.footer_column { }
			}
			
				.footer_column_title {
					/*color: var(--second_color);*/
					text-transform: uppercase;
					font-size: 16px;
					font-weight: 400;
					margin: 20px 0 15px;
				}
				
				.footer_column_list {
					
				}
					.footer_column_list_item {
						margin: 10px 0;
					}
					
						.footer_column_list_item a {
							color: inherit;
							transition: color 0.2s linear;
							-webkit-transition: color 0.2s linear;
							-moz-transition: color 0.2s linear;
						}
						.footer_column_list_item a:hover {
							color: var(--second_color);
						}
				
			
			.footer_column_second {
				/*display: block;*/
				display: flex;
				justify-content: center;
				align-items: center;
			}
				
				.footer_column_logo {
					margin: auto;
				}
				
					#logo_footer {
						max-width: 100%;
					}
					@media screen and (min-width : 320px) and (max-width : 479px) {
						#logo_footer { max-width: 280px; }
					}
					@media screen and (min-width : 480px) and (max-width : 767px) {
						#logo_footer { max-width: 350px; }
					}
					@media screen and (min-width : 768px) and (max-width : 992px) {
						#logo_footer { }
					}
				
			
			.footer_column_third {
				text-align: right;
			}
			@media screen and (max-width : 479px) {
				.footer_column_third { text-align: center; }
			}
			@media screen and (min-width : 480px) and (max-width : 767px) {
				.footer_column_third { text-align: center; }
			}
			@media screen and (min-width : 768px) and (max-width : 992px) {
				.footer_column_third { }
			}			
			
				.footer_column_company_name {
					/*text-transform: uppercase;*/
					font-size: 16px;
					font-weight: 400;
					margin: 20px 0 15px;
				}
				
				.footer_column_company_rights {
					margin-top: 5px;
				}


/* elementi comuni */

.body_title {
	text-transform: uppercase;
	font-size: 30px;
	font-weight: 700;
	line-height: 30px;
}

.pg_text {
	margin-top: 30px;
}


.btt {
	cursor: pointer;
}

.btt_main_solid {
	height: 40px;
	line-height: 40px;
	background: var(--first_color);
	color: var(--fourth_color);
	text-transform: uppercase;
	font-weight: 500;
	text-align: center;
	transition: background 0.3s linear;
	-webkit-transition: background 0.3s linear;
	-moz-transition: background 0.3s linear;
}

.btt_main_solid:hover {
	background: rgba(var(--first_rgb), 0.8);
}

.btt_main_solid a {
	color: var(--fourth_color);
}

.page_top {
	position: fixed;
	bottom: 20px;
	right: 20px;
	opacity: .7;
	z-index: 200;
	
	display: none;
}

.page_top:hover {
	opacity: 1;
}


.slick-prev, .slick-next {
	width: 50px!important;
	height: 50px!important;
	z-index: 200;
	display: none!important;
}

.slick-prev:before, .slick-next:before {
	font-size: 50px!important;
}

.slick-prev {
	left: 50px!important;
}

.slick-next {
	right: 50px!important;
}
	
@media screen and (min-width : 480px) and (max-width : 767px) {
	.slick-prev, .slick-next { }
}
@media screen and (min-width : 768px) and (max-width : 992px) {
	.slick-prev, .slick-next { }
}
@media screen and (min-width : 992px) {
	.slick-prev, .slick-next { display: block!important; }
}

.slick-prev:before {
  content: url('/images/left-arrow.svg')!important;
}

.slick-next:before {
  content: url('/images/right-arrow.svg')!important;
}