@charset "utf-8";
/* CSS Document */

/* ============================
	GENERALI
   ============================ */

:root {
	--c1: #1d1d1b;
	--c2: #50555b;
	--c3: #b0aeb0;
	--c4: #d57054;
	--c5: #1784a1;
	--c6: #c2589c;
	--c7: #4f8081;
	--font: "Plus Jakarta Sans";
	--wNormal: 400;
	--wBold: 700;
}

.c1 {
	color: var(--c1);
}

.bg-c3 {
	background: var(--c3);
}

.cc-window {
	font-size: .85rem !important;
	line-height: 1.2em !important;
}

@media (max-width:767px) {
	.cc-window {
		font-size: .75rem !important;
		line-height: 1.1em !important;
	}
}

body {
	font-family: var(--font), sans-serif;
	font-weight: var(--wNormal);
	font-style: normal;
	font-size: 14px;
	color: var(--c1);
	background: var(--c3);
}

h1, h2, h3, h4, h5, h6, b, a {
  font-family: var(--font);
  font-weight: var(--wBold);
  color: var(--c1);
}

p {
  font-family: var(--font);
  font-weight: var(--wNormal);
  color: var(--c1);
}

a:hover, a:focus, a:active {
  	color: var(--c2);
}

.btn { /* rimuove l'ombra di selezione del bottone di Bootstrap */
  box-shadow: 0 0 0 0px !important;
  border: 0px !important;
}

.navbar-toggler:focus { /* rimuove l'ombra di selezione del bottone di Bootstrap */
  	box-shadow: 0 0 0 0px !important;
}

.wNormal {
  font-weight: var(--wNormal);
}

.wBold {
  font-weight: var(--wBold);
}

.button {
	color: var(--c1);
	background: var(--c2);
	outline: none;
	font-family: var(--font), sans-serif;
	font-weight: var(--wBold);
	font-size: 1.8rem;
	padding: .5rem 2.5rem;
	width: max-content;
	max-width: 300px;
	text-decoration: none;
	box-shadow: 5px 5px 0px var(--c2);
	border-radius: 100px;
	border: 1px solid var(--c1);				
}

.button:hover {
	color: white;
	box-shadow: 5px 5px 0px var(--c3);
	border: 1px solid var(--c3);
}

#partecipa_body_1.button:hover {
	box-shadow: 5px 5px 0px white;
	border: 1px solid white;
}

#ocr.button {
	font-size: 1.2rem;
}

@media (max-width:375px) {
	.button {
		font-size: 1rem;
		padding: .5rem 1.8rem;
		max-width: 250px;
	}
	#ocr.button {
		font-size: 1rem;
	}
}

.space {
	--menu: 0px;
	padding-top: calc(3rem + var(--menu));
}

.nascosto {
	height: 0px;
	overflow: hidden !important;
}

.bg-grigio {
	background: var(--c3);
}

.overlap {
	top: 7vh;
}

#main_deco {
	pointer-events: none;
}

/* ------- MENU -------- */

#menu {
	background: transparent;
}

#menu .container {
	background-color: transparent;
	position: relative;
}

#logo {
	max-height: 55px;
	width: auto;
}

.skip-to-main-content-link {
	position: absolute;
	left: -9999px;
	z-index: 999;
	padding: 1em;
	background-color: black;
	color: var(--c5);
	opacity: 0;
}

.skip-to-main-content-link:focus {
	left: 50%;
	transform: translateX(-50%);
	opacity: 1;
}

#attiva_menu {
	max-width: 30px;
	margin:10px 25px;
	cursor: pointer;
}

.bi-list {
	font-size: 3rem;
	color: var(--c2);
}

#menu_list li {
	list-style-type: none;
	float: left;
	padding-left: 18px;
	position: relative;
}

#menu_list li a {
	font-weight: var(--wLight);
	display: block;
	color: var(--c2);
	text-decoration: none;
	font-size: 18px;
	padding: 5px 0px;
}

.menu-item {
	color: var(--c2);
	display: block;
	font-weight: var(--wLight);
	font-size: 18px;
	padding: 5px 0px;
}

.active {
	color: var(--c1);
	font-size: 1.5rem;
	vertical-align: bottom;
}

#menu_list li a.active,
#menu_list li a:hover {
	display: block;
	font-weight: var(--wBold);
	color: var(--c1);
	text-decoration: none;
	padding: 5px 0px;
}

li hr {
	border: 1px solid var(--c2);
	opacity: 80;
}

@media screen and (max-width: 992px) {
	#menu_list li {
		list-style-type: none;
		float: left;
		padding-left: 10px;
		position: relative;
		width: 100%;
	}
}

.modal-body {
	background-color: white;
}

/* ------- FORM -------- */

label, input, select {
  font-family: var(--font);
  color: var(--c1);
}

.info {
  vertical-align: baseline !important;
}

.msg_errore,
#errore,
#errore_ocr {
  color: #E30613;
  text-align:center;
  font-size: 25px;
  font-family: var(--font);
  font-weight: var(--wBold);
}

p.col-1 {
	width: 1%;
}

.form-group {
	margin-bottom: 15px;
}

.form-control,
.form-select {
	border-radius: 50px;
}

.bi-info-circle-fill:hover {
  color: var(--c2) !important;
}

/* ------- FOOTER -------- */

.footer {
	background-color: var(--c3);
}

.footer p {
	color: var(--c1);
	font-family: var(--font), sans-serif;
	font-weight: var(--wNormal);
	font-style: normal;
}

.footer b {
	color: var(--c1);
}

.footer p a {
	color: var(--c1);
	text-decoration: underline;
	font-family: var(--font), sans-serif;
	font-weight: var(--wBold);
}

.footer p a:hover {
	color: var(--c1);
}

a.policy {
	margin-right: 5rem;
	text-decoration: none;
}

@media(max-width:576px) {
	.mail_info {
		word-break: break-all;
	}
	a.policy {
		margin-right: 1rem;
	}
}

/* ------- MODAL -------- */

.modal-content {
  background-color: #fff;
}

hr {
	border: 3px solid var(--c1);
	margin:0;
	opacity:100;
}

.testo_documento {
	font-family: 'Plus Jakarta Sans';
	font-size:30px;
	text-align:left;
	color:#3bb27e;
}

.long-and-truncated {
	margin: 0 5px;
	flex: 1;
	min-width: 0;
}

.long-and-truncated span {
	display: block;
	-webkit-line-clamp: 3;
	text-overflow: ellipsis;
	overflow: hidden;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	word-wrap: break-word;
}

    /* ============================================
		CSS PORTALE HEAD_TOP E FOOTER_BOTTOM 
   ============================================ */
   
@font-face {
	font-family: 'Lato-light';
	src: url('../fonts/Lato-Light.eot');
	src: url('../fonts/Lato-Light.eot?#iefix') format('embedded-opentype'), url('../fonts/Lato-Light.woff2') format('woff2'), url('../fonts/Lato-Light.woff') format('woff'), url('../fonts/Lato-Light.ttf') format('truetype'), url('../fonts/Lato-Light.svg#Lato-Light') format('svg');
	font-weight: 300;
	font-style: normal;
}

.bg_lightblue {
	 background: #e5eff9 !important;
}

.footerbottom {
	font-family: 'Lato-light';
 	background: #e5eff9;
    color: #484848 !important;
    font-size: 1em;
    padding: 2% 2% 0%;
	font-weight: normal;
}
	
.footerbottom p {
	color: #484848 !important;
    font-size: 1em;
    text-decoration: none;
	font-family: 'Lato-light';
	font-weight: normal;
}

.footerbottom a {
    color: #004289 !important;
    text-decoration: none;
    text-transform: uppercase;
    font-size: 1.5em;
	font-family: 'Lato-light';
	font-weight: normal;
}

@media (max-width: 768px) {
	.footerbottom {
			margin-top: 7rem !important;
	}
	.overlap {
		top: 4vh;
	}
}

.logo_footerbottom {
	 max-width: 70px;
}

.footermenu {
	 text-align: center; 
	 margin-bottom: 2%;
}



