article,
aside,
figcaption,
footer,
header,
main,
nav,
section
 {
 display: block;
}
audio,
canvas,
video {
 display: inline-block;
}

.hidden{
 display: none;
}
html {
 font-family: sans-serif;
 -ms-text-size-adjust: 100%;
 -webkit-text-size-adjust: 100%;
}
body {
 margin: 0;
}


a:active,
a:hover {
 outline: 0;
}

img {
 border: 0;
}


/*------------------------------------*\
 $Generali
\*------------------------------------*/

html,
button,
input,
textarea {
 color: #003a74;
 font: 18px 'Raleway', sans-serif;
 line-height: 1.2;
 font-weight: 400;
 line-height: 30px;
}
body {
 background-color: #fff;
}

h1 {
 margin: .67em 0;
 font: 60px 'Raleway', sans-serif; 
 font-weight: 300;
 text-transform: uppercase;
 letter-spacing: 5px;
 color: #0066cc;
 /*color: #ffffff;*/
}
h2 {
 margin: .5em 0;
 font:  50px 'Raleway', sans-serif; 
 letter-spacing: 5px;
 font-weight: 400;
 color: #0066cc;
}
h3 {
 margin: 10px 0;
 font:  28px 'Raleway', sans-serif; 
 font-style: italic;
 color: #0066cc;
}
h5 {
 margin: 10px 0;
 font:  22px 'Raleway', sans-serif; 
 color: #0066cc;
}
h4, label {
 margin: 10px 0;
 font: 16px 'Raleway', sans-serif; 
 /*font-style: italic;*/
 font-weight: 500;
 color: #003a74; 
}
h6{
 margin: 5px 0;
 font: 12px 'Raleway', sans-serif; 
 /*font-style: italic;*/
 font-weight: 500;
 color: #003a74; 
}
p {
 font: 18px 'Raleway', sans-serif; 
 line-height: 1.4;
 font-weight: 500;
 
 color: #003a74;    
}

hr {
 display: block;
 margin: .4em 0;
 padding: 0;
 height: 0;
 border: 0;
 border-top: 4px solid #0066cc;
}
img {
 vertical-align: middle;
}
a {
 color:#0066cc;
 text-decoration: underline;
}
a:hover {
 text-decoration: underline;
 color:#cc0033;
}

ul {
	list-style-type: circle;
  
}

ul li {
   
  text-align: left;
   margin-top: 5px;
}
ol {  
   margin: 10px ;
}
.white {
    color: #ffffff;
}
.theme-color{
    color: #0066cc;
}
.rosso{
    color:#cc0033;
    /*---#CC0066---*/
}
.normale{
  font-style: normal;
}
.dark-blue{
 color: #003a74;    
}
/*------------------------------------*\
 $Header
\*------------------------------------*/
.top_bar {
  display: block;  
  min-height: 28px;
 width: 100%; 
background-color: #003a74; 
}
.top_contact{
 display: inline-block;
 float: left;
 text-align: center;  
}
.top_contact span{
    padding: 3px 30px;
}
.top_contact a{
color: #FFFFFF;  
text-decoration: none;    
}
.bandiere_lang{
    float: right;
    padding-right: 20px;
}
.bandiere_lang a{
   margin: 0 10px; 
   text-decoration: none;
}


.nav-row {
 display: block;
 margin: 0 auto;
 padding: 10px 0px;
 min-height: 120px;
 max-width: 1200px;
 width: 100%;
}

.logoSito {
 display: inline-block;
 float: left;
 margin-left: 5px;
 text-decoration: none;
}

.logoSito:hover {
 text-decoration: none;
}
.logoPartner {
 display: inline-block;
 float:right;
 margin-left: 5px;
 text-decoration: none;
}

.logoPartner:hover {
 text-decoration: none;
}

.pic-row, .pic-row-number {
clear: both;
 width: 100%;
 min-height: 500px;
  background-position: top;
  background-size: cover;
  background-repeat: no-repeat;
}
.pic-row-page {
clear: both;
 width: 100%;
 height: 500px;
  background-position: top;
  background-size: cover;
  
}
.pic-scritta, .pic-title {
 margin: 10px 60px;   
 text-align: center;  
}
.pic-title h3{
/*-color:#cc0033;-*/
color:#FFFFFF;
font-weight: 500; 
}

.spaser-pic-row{
    border-color: #e1e1e1;
    border-style: solid;
    border-width: 0;
    zoom: 1;
    -webkit-tap-highlight-color: rgba(0,0,0,0);
    
}
.line-row{
width: 100%;
 display:none;
}
.clearfix{
    clear: both;
    display: table;
    content: " ";
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}
/*------------------------------------*\
 $Menu
\*------------------------------------*/

.main-menu {
 display: block;
 float: right;
 line-height: 10px;
 margin-top:70px;
 line-height: 50px;
}
.main-menu ul a:hover + ul {} .main-menu ul {
 margin: 0;
 padding: 0;
 list-style: none;
}
.main-menu li {

 position: relative;
 display: inline-block;
 text-align: center;
 padding: 0 10px;
}
.main-menu a {
 display: block;
 -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    white-space: nowrap;
    padding: 0 10px;
 color: #0066cc;
 text-transform: uppercase;
 font: 300 1.2em 'Raleway', sans-serif; 
 text-decoration: none;
}
.main-menu a:hover,
.main-menu .uMenuItemA, .main-menu li.uWithSubmenu:hover > a
 {
 color: #cc0033;
 text-decoration: none;
}
.main-menu li ul {
 display: none;
}
.main-menu li ul a {
 padding-top: 5px;
 padding-bottom: 5px;
}

.main-menu li li {
 display: block;
 margin: 0;
 padding: 0;
 min-width: 80px;
 width: 100%;
 text-align: right;
}
.main-menu li li a {
 display: block;
 width: 100%;
 position: relative;
 background-color: #fff;
}


.alternative_menu
{
        display:none;
}

select {
 background-color: #FFFFFF;
 padding:10px;
 font: 300 1em 'Raleway', sans-serif; 
 color: #0066cc;
 border: 1px solid #003a74;
 cursor: pointer;
  -webkit-appearance:none;
    -moz-appearance:none;
    appearance:none;
}
select:active {
 background-color: #FFFFFF;
 }
.alternative_menu option {
 background-color: #FFFFFF;
 
}
/*------------------------------------*\
Conteiner scritte senza fofo in 1 colonna
\*------------------------------------*/
.container {
 clear:both;
 margin: 30px auto;
 width: 810px;
 min-height: 100px;
background-color: #FFFFFF;

}
.cont-row{
clear:both;
display: block;
text-align: center;
margin: 10px auto;
 min-height: 40px;
 
}
.cont-privacy{
clear:both;
display: block;
text-align: center;
margin: 5px auto;
 min-height: 20px;
 }
.cont-privacy p{
font-size: 14px;
}



/*-----setori con imagini---*/
.circle-row {
 background-color: #0066cc;  
padding-right: 40px;
 padding-left:40px;
 margin-right: auto;
 margin-left: auto;
overflow: auto;
 /*-----#0066cc #00478d 1677D8---*/ 
}
.settori-wrap{
   background-color: #0066cc;  
  box-sizing: border-box;
display: block;
}
.settori-elem{
    clear: both;
    display: block;
    width: 100%;
    min-height: 270px;
    margin: 10px auto;
}

.settori-elem-center-part{ 
 position: relative;
 margin: 10px;
padding-left: 20px;
 float: left;
  text-align: left;
  width: 33%;
  min-height: 270px;
  max-width: 410px;
  }
  .nome-settore {
  position: absolute;
  top: 15px;
  left: 10px;
}
.nome-settore-2 {
  position: absolute;
  top: 65px;
  left: 10px;
}
.settori-elem-center-part img{
   max-width: 150px;
   padding: 5px 7px 3px 1px;
  background-color: #003a74;
   border-radius: 50%;
    }
    
.settori-elem-right-part{
    float: right;
    width: 60%; 
    text-align: left;
}
/*------servizi 3 colonne--- nuova pagina servizi*/
.cont-pic-cols3H{
    clear: both;
    overflow: visible;
    display: block;
    box-sizing: border-box;
    width: 100%;
    min-height: 730px;
}
.pic-cols-itemH{
 height: 700px;
 margin: 10px auto;
    width: 80%; 
    text-align: justify; 
}
.cont-pic-cols3B{
    clear: both;
    overflow: visible;
    display: block;
    box-sizing: border-box;
    width: 100%;
    min-height: 450px;
}
.pic-cols-itemB{
 height: 400px;
 margin: 10px auto;
    width: 80%; 
    text-align: justify; 
}
/*------servizi 3 colonne---*/

.cont-pic-cols3{
    clear: both;
    overflow: visible;
    display: block;
    box-sizing: border-box;
    width: 100%;
    min-height: 350px;
}

.conteiner-cols3{
    box-sizing: border-box;
  padding-right: 15px;
    padding-left: 15px;
    margin-right: auto;
    margin-left: auto;  
}
.conteiner-row{ 
   display: block; 
}
.cerchio-icon img{
  max-width: 100px;
    padding: 4px 5px 2px 1px;
  background-color: #0066cc;
 border-radius: 50%;     
}
.pic-cols-item{
 height: 200px;
 margin: 10px auto;
    width: 80%; 
    text-align: justify;   
}
/*----- contenitore numeri---*/

.pic-cols, .serv-cols{
clear:both;
display: block;
text-align: center;
box-sizing: border-box;
margin: 20px auto;
 min-height: 50px;
 
}
.pic-cols3, .serv-cols3, .serv-cols3H, .serv-cols3B{
  width: 33.3%; 
  margin-top: 0;
    margin-bottom: 0;
    min-height: 0;
   float: left;
   position: relative;
    padding-left: 15px;
    padding-right: 15px;
    display: block;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
 text-align: center;
    
}

.count-number{
    position: relative;
    margin-top: 20px;
    padding-bottom: 20px;
    margin-bottom: 20px;
    display: block;
    text-align: center;
}
    

/*------ forms button input select-----------*/

button,
input,
select,
textarea {
 margin: 0;
 font-family: inherit;
}
button,
input {
 line-height: 1em;
}
button,
select {
 text-transform: none;
}
button,
html input[type="button"],
input[type="reset"],
input[type="submit"] {
 cursor: pointer;
 -webkit-appearance: button;
}
input[type="submit"],
input[type="reset"],
input[type="button"] {
 background: #0066cc; 
  border: 1px solid #0066cc;
 padding:10px 20px;
 font: 300 1.5em 'Raleway', sans-serif; 
 color: #ffffff;
  border-radius: 13px; 
 cursor: pointer;
}
input[type="submit"]:hover,
input[type="reset"]:hover,
input[type="button"]:hover{
 color: #0066cc;
 background: #ffffff;
}
input[type="submit"]:active,
input[type="reset"]:active,
input[type="button"]:active {
 background-color: #F3B734;
 
}
input[type="submit"]:disabled,
input[type="reset"]:disabled,
input[type="button"]:disabled
 {
 background-color: #F3B734;
}
input[type="text"],
input[type="password"],
textarea {
margin-top:20px;
 padding: 10px;
 background: #FFFFFF;
 border: 1px solid #120A8F;
}
textarea {
 -webkit-box-sizing: border-box;
 -moz-box-sizing: border-box;
 box-sizing: border-box;
 width: 100%;
}
.box-contatti{
clear:both;
display: block;
margin: 10px auto;
}
.box_form{
background-color: #00F000;
}
.input_name{
float: left;
overflow: hidden;
width:49%;
}
.contact_msg{
float: right;
width:100%;
min-height:150px;
}
.input_mail{
float: right;
overflow: hidden;
width:49%;
}
.btn_submit{
margin-top:20px;
float: right;
}
.contact_field{
margin-bottom:20px;
border: 1px;
}
.radio-row{
    clear: both;
    width: 100%;
    text-align: left;
    float: left;
    display: block;
  
}
.radio-row input[type="radio"]{
cursor: pointer;   
    
}




/*------------------------------------*\
 $Footer
\*------------------------------------*/

.footer {
clear:both;
 width: 100%;
 background: #003a74;    
 min-height: 100px;
padding-bottom: 10px;
 color:  #ffffff;
 font-size: .7em;
}
.indirizzo{
clear: both;
width: 600px;
 margin: auto;
 line-height: 20px;
}
.indirizzo a{
   color:  #ffffff;  
}
.copy {
float: right;
line-height: 20px;
 color:#FFFFFF;
font-style: italic;
}

/*------------------------------------*\
 $Media Queries
\*------------------------------------*/
@media screen and (max-width: 1079px) {
.logoSito {
 display: block;
 float: none;
}
.main-menu {
clear: both;
 display: block;
 float:none;
 line-height: 10px;
 margin: 0 auto;
}
.pic-cols-item{
 height: 250px;
 margin: 10px auto;
    width: 90%; 
    text-align: justify;   
}
 .serv-cols3{
   height: 450px;
    padding-left: 1px;
    padding-right: 1px;    
}
.serv-cols3H{
   height: 850px;
    padding-left: 1px;
    padding-right: 1px;    
}
.serv-cols3B{
   height: 570px;
    padding-left: 1px;
    padding-right: 1px;    
}
}
@media screen and (max-width: 812px) {
.container {
 margin: 20px auto;
 width: 100%;
 min-height: 200px;
}
.cont-row{
clear:both;
display: block;
text-align:center;
  padding: 0 20px;
margin: 10px auto;
 min-height: 10px;
 
}
.pic-row img{
float: right;
 width: auto;
 height: auto;
}
.pic-title h3{
 padding-top: 5px; 
 
}

.logoSito {
float:none;
 display: block;
 line-height: 25px;
 margin-left: 5px;
}
.pic-title{
 font-size: 50px;  
 margin: 10px 20px;    
}
h1{
font-size: 50px;     
}
h2{
font-size: 40px;     
}
h3{
font-size: 26px;     
}
h5{
font-size: 20px;     
}
h4, p{
font-size: 14px;     
}
.circle-row {
padding-right: 10px;
 padding-left:10px;
}
.settori-elem-center-part{ 
 
padding-left: 10px;
 float: left;
  text-align: left;
  width: 96%;
  min-height: 180px;
  max-width: none;
  }
  .settori-elem-right-part{
   padding-left: 10px;
    float: none;
    width: 96%; 
    text-align: left;
}
.nome-settore { 
  top: 0px;
  left: 0px;
}
.nome-settore-2 {
  
  top: 70px;
  left: 0px;
}
.indirizzo{
float:none;
display: block;
clear: both;
width: 100%;

 margin: auto;
}
.copy {
clear: both;
display: block;
float: right;
line-height: 20px;
font-style: italic;
}
.input_name{
float: none;
overflow: hidden;
width:100%;}
.contact_msg{
float: right;
width:100%;
min-height:150px;
}
.input_mail{
float: none;
overflow: hidden;
width:100%;
}

 .serv-cols3{
  width: 98%; 
   float: none;
    display: block;
    height: 300px;
  overflow: hidden;  
}
.serv-cols3H{
  width: 98%; 
   float: none;
    display: block;
    height: 540px;
  overflow: hidden;  
}
.serv-cols3B{
  width: 98%; 
   float: none;
    display: block;
    height: 330px;
  overflow: hidden;  
}
}

@media screen and (max-width: 520px) {

 
.main-menu
        {
                display:none;
        } 
 .logoSito {
 display: block;
 float: left;
 width: 30%;
}
.alternative_menu{
                display:block;
                float: right;
 }
 .top_bar {
    
  min-height: 60px;
}
 .line-row{
 display:block;
 }
 

 .pic-row-number {
 min-height: 500px; 
}
 
.pic-cols3{
  width: 98%; 
   float: none;
    display: block;
    height: 150px;
 text-align: center;
  overflow: hidden;  
}
 .serv-cols3{
  width: 98%; 
   float: none;
    display: block;
    height: 300px;
  overflow: hidden;  
}
serv-cols3H{
  width: 98%; 
   float: none;
    display: block;
    height: 580px;
  overflow: hidden;  
}
.serv-cols3B{
  width: 98%; 
   float: none;
    display: block;
    height: 400px;
  overflow: hidden;  
}
 .conteiner-cols3{
   min-height:800px;  
}
 }