/**
 * Lo stile del sito pubblico, in un file solo.
 *
 * Prima erano quattro fogli separati - reset, griglia, stile, slider - eredita'
 * del template del 2020. Qui sono nell'ordine in cui venivano caricati, che e'
 * l'ordine in cui la cascata li applicava: unire non cambia una regola.
 *
 * Restano fuori, e di proposito, i fogli scritti in questa conversione:
 *   tipografia.css  il carattere dei titoli, al posto di cufon
 *   user-bar.css    il blocco utente dentro il menu
 *   fluido.css      l'adattamento alla larghezza dello schermo
 *   personal.css    l'area personale, che e' una pagina a se'
 *
 * Sono cose distinte e si leggono meglio separate. Ognuno si carica dopo
 * questo, cosi' puo' sovrascriverlo dove serve.
 */

/* NB PERCORSI: questo file sta in html/_shared/, i quattro da cui nasce
   stavano in css/. Le immagini erano richiamate con url(../images/...), che
   di li' risolveva sulla radice del sito; da qui servono due livelli.
   Le icone social e i numerali erano spariti proprio per questo. */


/* ==========================================================================
   RESET.CSS
   Azzeramento: i browser partono tutti dalla stessa riga.
   ========================================================================== */

a, abbr, acronym, address, applet, article, aside, audio, b, blockquote, big, body, center, canvas, caption, cite, code, command, datalist, dd, del, details, dfn, dl, div, dt, em, embed, fieldset, figcaption, figure, font, footer, form, h1, h2, h3, h4, h5, h6, header, hgroup, html, i, iframe, img, ins, kbd, keygen, label, legend, li, meter, nav, object, ol, output, p, pre, progress, q, s, samp, section, small, span, source, strike, strong, sub, sup, table, tbody, tfoot, thead, th, tr, tdvideo, tt, u, ul, var {
	background:transparent;
	border:0 none;
	font-size:100%;
	margin:0;
	padding:0;
	border:0;
	outline:0;
	vertical-align:top;
}
ol, ul {
	list-style:none;
}
blockquote, q {
	quotes:none;
}
table, table td {
	padding:0;
	border:none;
	border-collapse:collapse;
}
img {
	vertical-align:top;
}
embed {
	vertical-align:top;
}
article, aside, audio, canvas, command, datalist, details, embed, figcaption, figure, footer, header, hgroup, keygen, meter, nav, output, progress, section, source, video {
	display:block;
}
mark, rp, rt, ruby, summary, time {
	display:inline;
}
input, textarea {
	border:0;
	padding:0;
	margin:0;
	outline: 0;
}
iframe {
	border:0;
	margin:0;
	padding:0;
}
input, textarea, select {
	margin:0;
	padding:0px;
}


/* ==========================================================================
   GRID_12.CSS
   Griglia a 12 colonne. Le larghezze sommano a 960px ESATTI, margini
   compresi: chi aggiunge padding al contenitore manda l'ultima colonna a capo.
   Lo spazio ai lati si mette solo sotto il breakpoint ( fluido.css ).
   ========================================================================== */

.container_12 {
	margin-left:auto;
	margin-right:auto;
	width:960px
}
.grid_1, .grid_2, .grid_3, .grid_4, .grid_5, .grid_6, .grid_7, .grid_8, .grid_9, .grid_10, .grid_11, .grid_12 {
	display:inline;
	float:left;
	position:relative;
	margin:0 10px
}
.alpha {
	margin-left:0
}
.omega {
	margin-right:0
}
.container_12 .grid_1 {
	width:60px
}
.container_12 .grid_2 {
	width:140px
}
.container_12 .grid_3 {
	width:220px
}
.container_12 .grid_4 {
	width:300px
}
.container_12 .grid_5 {
	width:380px
}
.container_12 .grid_6 {
	width:460px
}
.container_12 .grid_7 {
	width:540px
}
.container_12 .grid_8 {
	width:620px
}
.container_12 .grid_9 {
	width:700px
}
.container_12 .grid_10 {
	width:780px
}
.container_12 .grid_11 {
	width:860px
}
.container_12 .grid_12 {
	width:940px
}
.container_12 .prefix_1 {
	padding-left:80px
}
.container_12 .prefix_2 {
	padding-left:160px
}
.container_12 .prefix_3 {
	padding-left:240px
}
.container_12 .prefix_4 {
	padding-left:320px
}
.container_12 .prefix_5 {
	padding-left:400px
}
.container_12 .prefix_6 {
	padding-left:480px
}
.container_12 .prefix_7 {
	padding-left:560px
}
.container_12 .prefix_8 {
	padding-left:640px
}
.container_12 .prefix_9 {
	padding-left:720px
}
.container_12 .prefix_10 {
	padding-left:800px
}
.container_12 .prefix_11 {
	padding-left:880px
}
.container_12 .suffix_1 {
	padding-right:80px
}
.container_12 .suffix_2 {
	padding-right:160px
}
.container_12 .suffix_3 {
	padding-right:240px
}
.container_12 .suffix_4 {
	padding-right:320px
}
.container_12 .suffix_5 {
	padding-right:400px
}
.container_12 .suffix_6 {
	padding-right:480px
}
.container_12 .suffix_7 {
	padding-right:560px
}
.container_12 .suffix_8 {
	padding-right:640px
}
.container_12 .suffix_9 {
	padding-right:720px
}
.container_12 .suffix_10 {
	padding-right:800px
}
.container_12 .suffix_11 {
	padding-right:880px
}
.container_12 .push_1 {
	left:80px
}
.container_12 .push_2 {
	left:160px
}
.container_12 .push_3 {
	left:240px
}
.container_12 .push_4 {
	left:320px
}
.container_12 .push_5 {
	left:400px
}
.container_12 .push_6 {
	left:480px
}
.container_12 .push_7 {
	left:560px
}
.container_12 .push_8 {
	left:640px
}
.container_12 .push_9 {
	left:720px
}
.container_12 .push_10 {
	left:800px
}
.container_12 .push_11 {
	left:880px
}
.container_12 .pull_1 {
	left:-80px
}
.container_12 .pull_2 {
	left:-160px
}
.container_12 .pull_3 {
	left:-240px
}
.container_12 .pull_4 {
	left:-320px
}
.container_12 .pull_5 {
	left:-400px
}
.container_12 .pull_6 {
	left:-480px
}
.container_12 .pull_7 {
	left:-560px
}
.container_12 .pull_8 {
	left:-640px
}
.container_12 .pull_9 {
	left:-720px
}
.container_12 .pull_10 {
	left:-800px
}
.container_12 .pull_11 {
	left:-880px
}
.clear {
	clear:both;
	display:block;
	overflow:hidden;
	visibility:hidden;
	width:0;
	height:0
}
.clearfix:after {
	clear:both;
	content:' ';
	display:block;
	font-size:0;
	line-height:0;
	visibility:hidden;
	width:0;
	height:0
}
.clearfix {
	display:inline-block
}
* html .clearfix {
	height:1%
}
.clearfix {
	display:block
}


/* ==========================================================================
   STYLE.CSS
   Lo stile del sito: testata, menu, contenuti, piede.
   ========================================================================== */

/* Global properties ======================================================== */
html, body {
	width:100%;
	padding:0;
	margin:0;
}
body {
	font: 14px/24px Tahoma, Geneva, sans-serif;
	color:#636f6f; /*testi grigi*/
	min-width:1264px;
	background: #102010; /*colore fondo main*/
	overflow:scroll;
}
.ic {
	border:0;
	float:right;
	background:#fff;
	color:#f00;
	width:50%;
	line-height:10px;
	font-size:10px;
	margin:-220% 0 0 0;
	overflow:hidden;
	padding:0
}
.main {
	width:940px;
	margin:0 auto;
}

/***********************************************************************/
a {
	text-decoration:none;
	cursor:pointer;
	text-decoration:none;
}
a:hover {
	text-decoration:none;
}
.button {
	background:#306630;
	color:#fff;
	font-size:18px;
	line-height:24px;
	padding:4px 12px 10px 12px;
	display:inline-block;
}
.button:hover {
	background:#636f6f;
}
.link {
	color:#306630;
	text-decoration:none;
}
.link:hover {
	text-decoration:underline;
}
.clr-1 {
	color:#fff;
}
.text-1 {
	color:#fff;
	font-size:18px;
	line-height:24px;
}
h2 {
	font-size:26px;
	line-height:32px;
	color:#fff;
	font-weight:normal;
}
h3 {
	font-size:18px;
	line-height:24px;
	color:#fff;
	font-weight:normal;
}
ul {
	margin:0;
	padding:0;
	list-style-image:none;
}
ul.list-1 li {
	padding:0px 0 0px 12px;
	line-height:24px;
	background:url(../../images/marker-1.gif) 0 9px no-repeat;
}
ul.list-1 li a {
	font-size:14px;
	color:#636f6f;
	line-height:24px;
}
ul.list-1 li a:hover {
	color:#306630;
}
ul.list-2 li {
	padding:0px 0 6px 15px;
	line-height:24px;
	background:url(../../images/marker-3.gif) 0 9px no-repeat;
}
ul.list-2 li a {
	font-size:14px;
	color:#fff;
	line-height:24px;
}
ul.list-2 li a:hover {
	color:#306630;
}
/******************************************************************/
.clear {
	clear:both;
	line-height:0;
	font-size:0;
	width:100%;
}
.wrapper {
	width:100%;
	overflow:hidden;
	position:relative
}
.wrap {
	overflow:hidden;
	position:relative;
}
.extra-wrap {
	overflow:hidden;
}
.fleft {
	float:left;
}
.fright {
	float:right;
}
.img-indent {
	float:left;
	margin:3px 20px 0px 0;
}
.img-indent-2 {
	float:left;
	margin:8px 20px 0px 0;
}
.last {
	margin-right:0px !important;
	padding-right:0px !important;
}
.top-1 {
	padding-top:38px;
}
.top-2 {
	margin-top:14px;
}
.top-3 {
	margin-top:20px;
}
.top-4 {
	padding-top:30px;
}
.top-5 {
	padding-top:22px;
}
.top-6 {
	padding-top:19px;
}
.left-1 {
	margin-left:12px;
}
.left-2 {
	margin-left:24px;
}
.bot-0 {
	padding-bottom:0 !important;
	margin-bottom:0 !important;
}
.pad-0 {
	padding:0px 0px 0px 0px;
}
.pad-1 {
	margin:38px 0px 29px 0px;
}
.pad-2 {
	margin:40px 0px 30px 0px;
}
.p1 {
	padding-bottom:24px;
}
.p2 {
	padding-bottom:17px;
}
.p3 {
	padding-bottom:8px;
}
.p4 {
	padding-bottom:14px;
}
.p5 {
	padding-bottom:10px;
}
/*********************************header*************************************/
header {
	width:100%;
	margin:0 auto;
	z-index:101;
	background:url(../../images/backgroundheader.png) 0 0 repeat;
	padding:7px 0 12px 0;
}
h1 {
	display:inline-block;
	z-index:100;
	float:left;
}
.social-icons {
	overflow:hidden;
	float:right;
	padding:25px 0px 0px 0;
}
.social-icons span {
	display:block;
	font-size:18px;
	line-height:24px;
	color:#636f6f;
	letter-spacing:-1px;
	margin:-3px 15px 0 0;
	text-align:right;
	float:left;
}
.social-icons>div {
	float:right;
	overflow:hidden;
}
.social-icons a {
	display:inline-block;
	width:23px;
	height:23px;
	float:right;
}
.icon-1 {
	background:url(../../images/icon-1.png) 0 0 no-repeat;
}
.icon-2 {
	background:url(../../images/icon-2.png) 0 0 no-repeat;
	margin-left:7px;
}
.icon-3 {
	background:url(../../images/icon-3.png) 0 0 no-repeat;
	margin-left:7px;
}
.social-icons a:hover {
	background-color:#306630;
}
nav {
	width:1080px;
	margin:0 auto;
	z-index:100;
	padding:5px 0px 11px 0px;
}
/*********************************content*************************************/
#content {
	width:960px;
	margin:0 auto;
	padding:0px 0px 55px 0;
	position:relative;
}
.box-1 a {
	background:url(../../images/marker-2.gif) right 13px no-repeat #0c0c0c;
	font-size:26px;
	line-height:32px;
	color:#636f6f;
	letter-spacing:-1px;
	display:block;
	padding:5px 26px 12px 25px;
}
.box-1 a:hover {
	background-color:#2f2929;
}
.line {
	background:url(../../images/line.png) 0 0 repeat-x;
	height:5px;
}
.box-2 {
	overflow:hidden;
}
.number {
	background:url(../../images/number.png) 0 0 no-repeat;
	width:45px;
	height:58px;
	font-size:30px;
	color:#fff;
	line-height:36px;
	text-align:center;
	float:left;
	margin: 0 16px 0 0;
	padding-top:5px;
}
.border-bot-1 {
	border-bottom:#333333 1px dotted;
	padding-bottom:20px;
	margin-bottom:16px;
}
.box-3>div {
	float:left;
	width:276px;
	margin-right:56px;
}
.box-4 {
	overflow:hidden;
	padding:10px 0 8px 0;
}
.box-4 img {
	float:left;
	margin:3px 20px 0 0;
}
.box-5>div {
	float:left;
	width:171px;
	margin-right:47px;
}
.lists {
	overflow:hidden;
}
.lists ul {
	float:left;
	width:286px;
	margin-right:32px;
}
/****************************footer************************/
footer {
	width:940px;
	margin:0 auto;
	position:relative;
	overflow:hidden;
	padding:17px 0 40px 0;
	background:url(../../images/line.png) 0 0 repeat-x;
}
footer h3 {
	padding-bottom:15px;
}
.footer-col-1 {
	float:left;
	width:462px;
	padding:0 20px 0 0px;
}
.footer-col-2 {
	float:left;
	width:240px;
	padding:0 20px 0 0px;
}
.footer-col-3 {
	float:left;
	width:178px;
	padding:0 20px 0 0px;
}
/************************** FORM SEARCH ************************/
#form-search {
	margin:3px 0 0 0px;
	overflow:hidden;
	width:180px;
	background:#043c08;
}
#form-search span {
	display:block;
	margin-bottom:5px;
}
#form-search input {
	width:140px;
	height:20px;
	font-family:Tahoma, Geneva, sans-serif;
	font-size:14px;
	color:#fff;
	border:none;
	background:transparent;
	vertical-align:top;
	padding:2px 5px 3px 10px;
	display: inline-block;
	float:left;
}
#form-search a {
	float:right;
	background:url(../../images/search.gif) 0 0 no-repeat #306630;
	width:25px;
	height:25px;
}
#form-search a:hover {
	background-color:#636f6f;
}

/*********************** FINE FORM SEARCH ************************/

dl.adrss {
	margin:0px 0 0px 0;
}
dl.adrss dt {
	line-height:24px;
	margin-bottom:3px;
}
dl.adrss dd span {
	width:52px;
	text-align:left;
	display:block;
	float:left;
	margin-right:12px;
	color:#fff;
}
dl.adrss dd {
}
dl.adrss dd a {
}
dl.adrss dd a:hover {
}

/********************** MAPPA **********************/
.map {
	width:276px;
	height:200px;
	margin-top:17px;
}
.map iframe {
	width:276px;
	height:200px;
}
dl.adr {
	margin-top:13px;
}
dl.adr dt {
	margin-bottom:6px;
}
dl.adr dd span {
	width:80px;
	display:block;
	float:left;
	color:#fff;
}
dl.adr dd {
}
dl.adr dd a {
}
dl.adr dd a:hover {
}

/********************** FORM1 **********************/
#form1 {
	margin: 17px 0 0px 0px;
	/*width:380px;*/
}
#form1 input {
	border:#043c08 1px solid;
	background:#043c08;
	font-size:14px;
	font-family: Tahoma, Geneva, sans-serif;
	color:#fff;
	padding:3px 10px 3px 10px;
	outline: medium none;
	width: 350px;
	height:17px;
	float:left;
}
#form1 textarea {
	border:#1a1a1a 1px solid;
	background:#1a1a1a;
	font-size:14px;
	font-family: Tahoma, Geneva, sans-serif;
	color:#fff;
	height: 249px;
	outline: medium none;
	overflow: auto;
	padding: 4px 0px 0px 10px;
	width:250px;
	resize:none;
	margin:0px 0 0 0;
	float:left;
}
#form1 label {
	position:relative;
	display: block;
	min-height:30px;
	overflow:hidden;
}
#form1 label strong {
	float:left;
	display:block;
	padding-top:3px;
	line-height:15px;
	width:74px;
	font-weight:normal;
	white-space:nowrap;
}
.btns1 {
	text-align:center;
	overflow:hidden;
	width:710px;
}
.btns1 a {
	display:inline-block;
	margin:0px 0px 0 10px;
	width:88px;
	text-align:center;
}

/********************** FORM2 **********************/

#form2 {
	margin: 17px 0 0px 0px;
	/*width:380px;*/
}
#form2 input {
	border:#043c08 1px solid;
	background:#043c08;
	font-size:14px;
	font-family: Tahoma, Geneva, sans-serif;
	color:#fff;
	padding:3px 10px 3px 10px;
	outline: medium none;
	width: 384px;
	height:17px;
	float:left;
}
#form2 textarea {
	border:#1a1a1a 1px solid;
	background:#043c08;
	font-size:14px;
	font-family: Tahoma, Geneva, sans-serif;
	color:#fff;
	height: 150px;
	outline: medium none;
	overflow: auto;
	padding: 4px 10px 0px 10px;
	width:384px;
	resize:none;
	margin:0px 0 0 0;
	float:left;
}
#form2 label {
	position:relative;
	display: block;
	min-height:30px;
	overflow:hidden;
}
#form2 label strong {
	float:left;
	display:block;
	padding-top:3px;
	line-height:15px;
	width:74px;
	font-weight:normal;
	white-space:nowrap;
}


.btns2 {
	text-align:center;
	overflow:hidden;
	width:708px;
}
.btns2 a {
	display:inline-block;
	margin:5px 0px 0 10px;
	width:88px;
	text-align:center;
}

/********************** FINE FORM **********************/

/* MENU */

ul.menu {
	display:inline-block;
}
ul.menu li {
	float:left;
	line-height:24px;
	margin:0px 28px 0px 4px;
}
ul.menu li a {
	font-size:18px;
	line-height:24px;
	color:#fff;
	text-transform:uppercase;
	display:inline-block;
	letter-spacing:-1px;
}
ul.menu li a:hover, ul.menu li.current a {
	color:#306630;
}
.kozuka {
	font-family:'Lucida Grande', 'Lucida Sans Unicode', 'Lucida Sans', 'DejaVu Sans', Verdana, sans-serif;
	font-size:18px;
	line-height:24px;
	color:#fff;
	text-transform:uppercase;
	display:inline-block;
	letter-spacing:-1px;
} 

#cssmenu,
#cssmenu ul,
#cssmenu ul li,
#cssmenu ul li a, 
#cssmenu #menu-button {
  margin: 0;
  padding: 0;
  z-index:3;
  border: 0;
  list-style: none;
  line-height: 1;
  display: block;
  position: relative;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
#cssmenu:after,
#cssmenu > ul:after {
  content: ".";
  display: block;
  clear: both;
  visibility: hidden;
  line-height: 0;
  height: 0;
}
#cssmenu #menu-button {
  display: none;
}
#cssmenu {
  width: auto;
  background: #102010;
	line-height:1px;
  
}
#menu-line {
  position: absolute;
  top: 0;
  left: 0;
  height: 3px;
  background: #306630;
  -webkit-transition: all 0.25s ease-out;
  -moz-transition: all 0.25s ease-out;
  -ms-transition: all 0.25s ease-out;
  -o-transition: all 0.25s ease-out;
  transition: all 0.25s ease-out;
}
#cssmenu > ul > li {
  float: left;
}
#cssmenu.align-center > ul {
  font-size: 0;
  text-align: center;
}
#cssmenu.align-center > ul > li {
  display: inline-block;
  float: none;
}
#cssmenu.align-center ul ul {
  text-align: left;
}
#cssmenu.align-right > ul > li {
  float: right;
}
#cssmenu.align-right ul ul {
  text-align: right;
}
#cssmenu > ul > li > a {
  padding: 22px 16px;
  font-size: 18px;
  text-decoration: none;
	text-transform:uppercase;
	color:#fff;
  -webkit-transition: color .2s ease;
  -moz-transition: color .2s ease;
  -ms-transition: color .2s ease;
  -o-transition: color .2s ease;
  transition: color .2s ease;
}

#cssmenu > ul > li:hover > a,
#cssmenu > ul > li.active > a {
  color: #306630;
}

/* simbolo maggiore main (su voci di menu)*/
#cssmenu > ul > li.has-sub > a { 
  padding-right: 25px;
}
#cssmenu > ul > li.has-sub > a::after {
  position: absolute;
  top: 21px;
  right: 10px;
  width: 4px;
  height: 4px;
  border-bottom: 1px solid #000000;
  border-right: 1px solid #000000;
  content: "";
  -webkit-transform: rotate(45deg);
  -moz-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  -o-transform: rotate(45deg);
  transform: rotate(45deg);
  -webkit-transition: border-color 0.2s ease;
  -moz-transition: border-color 0.2s ease;
  -ms-transition: border-color 0.2s ease;
  -o-transition: border-color 0.2s ease;
  transition: border-color 0.2s ease;
}
#cssmenu > ul > li.has-sub:hover > a::after {
  border-color: #306630;
}
/* fine simbolo maggiore main (su voci di menu)*/

#cssmenu ul ul {
  position: absolute;
  left: -9999px;
}
#cssmenu li:hover > ul {
  left: auto;
}
#cssmenu.align-right li:hover > ul {
  right: 0;
}
#cssmenu ul ul ul {
  margin-left: 100%;
  top: 0;
}
#cssmenu.align-right ul ul ul {
  margin-left: 0;
  margin-right: 100%;
}
#cssmenu ul ul li {
  height: 0;
  -webkit-transition: height .2s ease;
  -moz-transition: height .2s ease;
  -ms-transition: height .2s ease;
  -o-transition: height .2s ease;
  transition: height .2s ease;
}
#cssmenu ul li:hover > ul > li {
  height: 32px;
}
#cssmenu ul ul li a {
  padding: 10px 20px;
  width: 190px;
  font-size: 12px;
  background: #333333;
  opacity:0.9;
  text-decoration: none;
  color: #dddddd;
  -webkit-transition: color .2s ease;
  -moz-transition: color .2s ease;
  -ms-transition: color .2s ease;
  -o-transition: color .2s ease;
  transition: color .2s ease;
}
#cssmenu ul ul li:hover > a,
#cssmenu ul ul li a:hover {
  color: #ffffff;
}

/* simbolo maggiore sottomenu (su voci di sottomenu)*/
#cssmenu ul ul li.has-sub > a::after {
  position: absolute;
  top: 13px;
  right: 10px;
  width: 4px;
  height: 4px;
  border-bottom: 1px solid #dddddd;
  border-right: 1px solid #dddddd;
  content: "";
  -webkit-transform: rotate(-45deg);
  -moz-transform: rotate(-45deg);
  -ms-transform: rotate(-45deg);
  -o-transform: rotate(-45deg);
  transform: rotate(-45deg);
  -webkit-transition: border-color 0.2s ease;
  -moz-transition: border-color 0.2s ease;
  -ms-transition: border-color 0.2s ease;
  -o-transition: border-color 0.2s ease;
  transition: border-color 0.2s ease;
}
#cssmenu.align-right ul ul li.has-sub > a::after {
  right: auto;
  left: 10px;
  border-bottom: 0;
  border-right: 0;
  border-top: 1px solid #dddddd;
  border-left: 1px solid #dddddd;
}
#cssmenu ul ul li.has-sub:hover > a::after {
  border-color: #ffffff;
}
/* simbolo maggiore sottomenu (su voci di sottomenu)*/


@media all and (max-width: 768px), only screen and (-webkit-min-device-pixel-ratio: 2) and (max-width: 1024px), only screen and (min--moz-device-pixel-ratio: 2) and (max-width: 1024px), only screen and (-o-min-device-pixel-ratio: 2/1) and (max-width: 1024px), only screen and (min-device-pixel-ratio: 2) and (max-width: 1024px), only screen and (min-resolution: 192dpi) and (max-width: 1024px), only screen and (min-resolution: 2dppx) and (max-width: 1024px) {
  #cssmenu {
    width: 100%;
  }
  #cssmenu ul {
    width: 100%;
    display: none;
  }
  #cssmenu.align-center > ul,
  #cssmenu.align-right ul ul {
    text-align: left;
  }
  #cssmenu ul li,
  #cssmenu ul ul li,
  #cssmenu ul li:hover > ul > li {
    width: 100%;
    height: auto;
    border-top: 1px solid rgba(120, 120, 120, 0.15);
  }
  #cssmenu ul li a,
  #cssmenu ul ul li a {
    width: 100%;
  }
  #cssmenu > ul > li,
  #cssmenu.align-center > ul > li,
  #cssmenu.align-right > ul > li {
    float: none;
    display: block;
  }
  #cssmenu ul ul li a {
    padding: 20px 20px 20px 30px;
    font-size: 12px;
    color: #000000;
    background: none;
  }
  #cssmenu ul ul li:hover > a,
  #cssmenu ul ul li a:hover {
    color: #000000;
  }
  #cssmenu ul ul ul li a {
    padding-left: 40px;
  }
  #cssmenu ul ul,
  #cssmenu ul ul ul {
    position: relative;
    left: 0;
    right: auto;
    width: 100%;
    margin: 0;
  }
  #cssmenu > ul > li.has-sub > a::after,
  #cssmenu ul ul li.has-sub > a::after {
    display: none;
  }
  #menu-line {
    display: none;
  }
  #cssmenu #menu-button {
    display: block;
    padding: 20px;
    color: #000000;
    cursor: pointer;
    font-size: 12px;
    text-transform: uppercase;
  }
  #cssmenu #menu-button::after {
    content: '';
    position: absolute;
    top: 20px;
    right: 20px;
    display: block;
    width: 15px;
    height: 2px;
    background: #000000;
  }
  #cssmenu #menu-button::before {
    content: '';
    position: absolute;
    top: 25px;
    right: 20px;
    display: block;
    width: 15px;
    height: 1px;
    border-top: 2px solid #000000;
    border-bottom: 2px solid #000000;
  }
  #cssmenu .submenu-button {
    position: absolute;
    z-index: 10;
    right: 0;
    top: 0;
    display: block;
    border-left: 1px solid rgba(120, 120, 120, 0.15);
    height: 52px;
    width: 52px;
    cursor: pointer;
  }
  #cssmenu .submenu-button::after {
    content: '';
    position: absolute;
    top: 21px;
    left: 26px;
    display: block;
    width: 1px;
    height: 11px;
    background: #000000;
    z-index: 99;
  }
  #cssmenu .submenu-button::before {
    content: '';
    position: absolute;
    left: 21px;
    top: 26px;
    display: block;
    width: 11px;
    height: 1px;
    background: #000000;
    z-index: 99;
  }
  #cssmenu .submenu-button.submenu-opened:after {
    display: none;
  }
}

/* FINE MENU */

.social-icons a {
	display:inline-block;
	width:23px;
	height:23px;
	float:right;
}


/* ==========================================================================
   SLIDER.CSS
   Lo slider della home. Le voci si incrociano in dissolvenza con una
   transizione CSS; il JavaScript decide solo quale e' attiva ( js/slider.js ).
   ========================================================================== */

/*--------- slider ---------*/
#slide {
	position:relative;
	width:1264px;
	height:585px;
	margin:0 auto;
	padding:0px 0px 0 0px;
	z-index:2;
	background:#000;
	overflow:hidden;
}
.slider {
	width:1264px;
	height:465px;
	margin:0 auto;
	position:relative;
	z-index:2;
	overflow:visible !important;
}
/* Le voci: sovrapposte, si incrociano in dissolvenza.
   Prima erano display:none e le ricostruiva TMS; adesso restano dove sono e
   l'animazione la fa il CSS. */
.items {
	display:block;
	position:relative;
	height:465px;
	list-style:none;
}
.items > li {
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:465px;
	opacity:0;
	visibility:hidden;
	transition:opacity .8s ease, visibility .8s;
}
.items > li.attiva {
	opacity:1;
	visibility:visible;
}
/* Chi ha chiesto meno animazioni vede il cambio secco, senza dissolvenza. */
@media (prefers-reduced-motion: reduce) {
	.items > li { transition:none; }
}
.prev {
	position:absolute;
	top:504px;
	left:90px;
	z-index:111;
	display:inline-block;
	width:22px;
	height:43px;
	background:url(../../images/prev.gif) 0 0 no-repeat;
}
.prev:hover {
	background-position:0 bottom;
}
.next {
	position:absolute;
	top:504px;
	right:90px;
	z-index:111;
	display:inline-block;
	width:22px;
	height:43px;
	background:url(../../images/next.gif) 0 0 no-repeat;
}
.next:hover {
	background-position:0 bottom;
}
.banner {
	position:absolute;
	left:162px;
	top:465px;
	width:940px;
	background:#000;
	overflow:hidden;
	padding:10px 0 0px 0;
}
.banner p {
	width:740px;
	float:left;
}
.banner p strong {
	font-size:50px;
	line-height:60px;
	color:#fff;
	font-weight:normal;
	letter-spacing:-3px;
	display:block;
}
.banner p span {
	font-size:18px;
	line-height:24px;
	color:#636f6f;
	font-weight:normal;
	letter-spacing:-1px;
	display:block;
	margin-top:-1px;
}
.banner a {
	background:#ef6f53;
	color:#fff;
	font-size:26px;
	line-height:32px;
	padding:11px 24px 21px 24px;
	display:inline-block;
	float:right;
	margin-top:18px;
}
.banner a:hover {
	background:#636f6f;
}
