@import url('https://fonts.googleapis.com/css2?family=Barlow:wght@300;400;500;600&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Libre+Baskerville:ital,wght@0,400..700;1,400..700&display=swap');

@font-face {
    font-family: 'cuprum';
    src: url("../fonts/Cuprum-Regular.ttf");
}

@font-face {
    font-family: 'cent-r';
    src: url("../fonts/century-regular.ttf");
}

@font-face {
    font-family: 'cent-b';
    src: url("../fonts/century-bold.ttf");
}

::-moz-selection  {
background: var(--rosso);
color: #fff;
}
::selection   {
background: var(--rosso);
color: #fff;
}

:root {
  --rosso: #dc001a;
  --blu: #00609d;
  --dark: #102644;
}

html, body    {    width: 100%;   
   height: 100%;   
 margin: 0;   
    padding: 0; 
	 
}

body {
    color: #222;
    font-family: 'Barlow', sans-serif;
    font-size: 1em;
	font-weight: 300;
	line-height: 25px;
	 margin: 0;   
    padding: 0;
	text-align: center;
	}

#container{
	overflow: hidden;
}

a {
    color: #384c5f;
	text-decoration: none;
	outline: none;
}

a:hover{
	color:#005ba2;
	}

#clear{clear:both;}

.rosso{color: var(--rosso);}
.blu{color: var(--blu);}
.dark{color: var(--dark);}


#key{
	color:#666; 
	position: absolute;
	font-size: 0.5em;
	line-height: 10px;
	z-index: 1;
}

#header{
    background-color: rgba(220,0,26,0.7);
	display: block;
	margin: 0 auto;
	width: 100%;
	position: relative;
    z-index: 300;
    }

#header a.top{
	color: #fff;
}

#header a.top:hover{
	color: #fff;
}

#header a.bot{
	color: #fff;
}

#header a.bot:hover{
	color: #fff;
}

#icon{
	display: block;
    margin: 0 auto;
    position: relative;
    width: 100%;
	margin-top: 0px;
    padding: 0px;
    margin-bottom: -30px;
    z-index: 250;
    padding-top: 6px;
	-webkit-transition: all 0.5s ease;
-moz-transition: all 0.5s ease;
-ms-transition: all 0.5s ease;
transition: all 0.5s ease;
	}

#icon-bg{
	
	}

#icon p{
	display: inline;
	font-size: 1.1em;
	line-height: 18px;
	vertical-align: middle;
	font-weight: 400;
    padding: 0;
    margin: 0;
	}

#icon p.mail{
    float: right;
	padding-right: 30px;
	}

#icon p.phone{
    float: right;
	padding-right: 24px;
	}

#icon img{
    margin-right: 4px;
	vertical-align: bottom;
	}

#icon a{
	color: var(--dark);
	}

#icon a:hover{
	color: var(--rosso);
	}

#logo-bg{
	display: block;
	margin: 0 auto;
	position: relative;
	width: 100%;
    background-color: #fff;
	z-index: 200;
    padding: 0;
	-webkit-transition: all 0.5s ease;
-moz-transition: all 0.5s ease;
-ms-transition: all 0.5s ease;
transition: all 0.5s ease;
    }

#logo{
	display: block;
    margin: 0 auto;
	position: relative;
	padding-top: 10px;
	text-align: center;
	max-width: 600px;
    padding: 0px;
    -webkit-transition: all 0.5s ease;
-moz-transition: all 0.5s ease;
-ms-transition: all 0.5s ease;
transition: all 0.5s ease;
    }

#logo p{
	display: inline;
    margin: 0 auto;
    float: left;
	position: relative;
	width: 49%;
    font-family: 'cent-b';
    color: #003174;
    font-size: 2.2em;
    line-height: 36px;
    margin-top: 0;
    padding: 0px;
    padding-bottom: 10px;
    -webkit-transition: all 0.5s ease;
-moz-transition: all 0.5s ease;
-ms-transition: all 0.5s ease;
transition: all 0.5s ease;
    }

#logo p.testo{
	margin-top: 45px;
    }

#logo p.testo span{
	letter-spacing: 2.9px;
    }

#logo img{
	width: 100%;
	max-width: 220px;
	-webkit-transition: all 0.5s ease;
-moz-transition: all 0.5s ease;
-ms-transition: all 0.5s ease;
transition: all 0.5s ease;
	}

#testa{
    background: transparent;
	display: block;
	margin: 0 auto;
	position: relative;
	max-width: 860px;
    z-index: 200;
    margin-top: 0px;
	}

#slide{
    background: transparent;
	display: block;
	margin: 0 auto;
	position: relative;
    z-index: 100;
    -webkit-transition: all 0.5s ease;
-moz-transition: all 0.5s ease;
-ms-transition: all 0.5s ease;
transition: all 0.5s ease;
	}

#slide-gall{
    background: transparent;
	display: block;
	margin: 0 auto;
	position: relative;
    z-index: 100;
	}

#slide-video{
    background: transparent;
	display: block;
	margin: 0 auto;
	position: relative;
    z-index: 100;
	}

#sotto-menu{
    background: transparent;
	display: block;
    margin: 0 auto;
	max-width: 1500px;
	position: relative;
    z-index: 150;
    margin-bottom: -60px;
    }

#sotto-menu p{
    background-color: var(--rosso);
	display: block;
    margin-left: 6px;
    text-align: left;
	position: relative;
    color: #fff;
    font-size: 1.4em;
    padding: 12px 4px 12px 12px;
    top: -47px;
    }

#sotto-menu a{
    color: #fff;
    }

#sotto-menu a:hover{
    color: var(--rosso);
    }

#footer {
	margin: 0 auto;
    position: relative;
	background-color: #102644;
	color: #f5f5f5;
	padding-top: 40px;
	z-index: 150;
    font-size: 1.25em;
	}

#categorie-f {
	display: block;
	max-width: 1600px;
	margin: 0 auto;
	line-height: 30px;
	}

#categorie-f .cat {
	margin: 0 auto;
	display: inline;
	float: left;
	width: 24%;
    padding-bottom: 30px;
    text-align: left;
    padding-left: 8px;
    -webkit-transition: all 0.5s ease;
-moz-transition: all 0.5s ease;
-ms-transition: all 0.5s ease;
transition: all 0.5s ease;
	}

#categorie-f .cat img{
	width: 100%;
    max-width: 250px;
    margin-top: -76px;
	}

#footer .passaro {
	font-size: 0.9em;
	font-weight: 400;
	}

#footer .hidden {
	font-size: 0.6em;
	line-height: 15px;
    color: #384c5f;
	}

#footer a {
    color: #fff;
	text-decoration: none;
}

#footer a:hover{
	color: var(--rosso);
	border-bottom: solid 1px var(--rosso);
}

#footer span{
	color: #fff;
	}

#top{
    width:50px;
    padding:5px;
        position:fixed;
        bottom:50px; 
        right:10px;
        cursor:pointer;
z-index:500;
	display: none;
	}

#tag{
    background-color: #102037;
    display: block;
	width: 100%;
    position: relative;
	margin: 0 auto;
	line-height: 18px;
    font-size: 0.8em;
	padding: 10px 0;
	}

#tag a{
    color: #102644;
	padding-right: 10px;
	}

#tag a:hover{
    color: #102644;
	padding-right: 10px;
	}





/* responsive rules */
@media screen and (min-width: 1900px) {
    
.menu-container{
	width: 100%;
    font-size: 1.26em;
}

  #slide{
	top: -70px;
    margin-bottom: -70px;
	}


  #slide-gall{
	top: -140px;
    margin-bottom: -140px;
	}

  #slide-video{
	top: -200px;
	}
	
}

@media screen and (min-width: 1800px) and (max-width: 1899px) {
     

  #slide{
	top: -70px;
    margin-bottom: -70px;
	}
    
 #slide-gall{
	top: -150px;
    margin-bottom: -150px;
	}
    
 #slide-video{
	top: -200px;
	} 
    
}



@media screen and (min-width: 1600px) and (max-width: 1799px) {
    

  #slide{
	top: -70px;
    margin-bottom: -70px;
	}
    
 #slide-gall{
	top: -150px;
    margin-bottom: -150px;
	}
    
#slide-video{
	top: -200px;
	} 
	
}

@media screen and (min-width: 1400px) and (max-width: 1599px) {
  #key{
	display: none;
}  
    
#icon{
	background-color: #fff;
	}
    
  #clear-icon{
      clear:both;
    }

  #slide{
	top: -70px;
    margin-bottom: -70px;
	}
    
 #slide-gall{
	top: -150px;
    margin-bottom: -150px;
	}
    
 #slide-video{
	top: -200px;
	} 
	
}

@media screen and (min-width: 1220px) and (max-width: 1399px) {
    
#key{
	display: none;
}
    
#icon{
	background-color: #fff;
	}
    
  #clear-icon{
      clear:both;
    }

  #slide{
	top: -70px;
    margin-bottom: -70px;
	}
    
 #slide-gall{
	top: -170px;
    margin-bottom: -170px;
	}
    
#slide-video{
	top: -210px;
	}

	
}

@media screen and (min-width: 1001px) and (max-width: 1219px) {
    
   #key{
	display: none;
} 
    
#icon{
	background-color: #fff;
	}
  
  #clear-icon{
      clear:both;
    }
    
  #slide{
	top: -80px;
    margin-bottom: -80px;
	}
    
 #slide-gall{
	top: -210px;
    margin-bottom: -210px;
	}
    
 #slide-video{
	top: -260px;
	}
    

 
#categorie-f .logo {
	width: 98%;
	}
    
#categorie-f .cat {
	width: 48%;
	}
    
#categorie-f .tel {
	width: 38%;
	}
	
}


@media screen and (min-width: 851px) and (max-width: 1000px) {
    
#key{
	display: none;
}
    
#icon{
	background-color: #fff;
	}
    
  #clear-icon{
      clear:both;
    }

  #slide{
	top: -85px;
    margin-bottom: -85px;
	}   
      
 #slide-gall{
	top: 0px;
	}
    
 #slide-video{
	top: -120px;
	}
    
#testa{
    margin-top: 15px;
	}

.menu-container{
    font-size: 1.3em;
}

.menu-mobile {
    margin-top: -40px;
}
    
#categorie-f .logo {
	width: 98%;
	}
    
#categorie-f .cat {
	width: 48%;
	}
    
#categorie-f .tel {
	width: 38%;
	}

	
}


@media screen and (min-width: 651px) and (max-width: 850.9px) {
    
#key{
	display: none;
}
    
#header{
   background-color: #fff;
    }
    
#icon{
	background-color: #fff;
	}
    
 #slide-gall{
	top: 0px;
	}
    
 #slide-video{
	top: -50px;
	}
	
#logo p{
	width: 45%;
    font-size: 2em;
    line-height: 36px;
    margin-top: 0;
    padding-bottom: 10px;
    }
    
.menu-container{
    font-size: 1.3em;
}

.menu-mobile {
    margin-top: -10px;
}
    
#menu a{
	padding: 10px 16px 10px 16px;
}
    
#categorie-f .logo {
	width: 98%;
	}
    
#categorie-f .cat {
	width: 48%;
	}
    
#categorie-f .tel {
	width: 44%;
	}
	

}

@media screen and (min-width: 451px) and (max-width: 650px) {
    
#key{
	display: none;
}  
    
#icon{
	background-color: #fff;
	}
    
#icon p.mail{
	padding-right: 14px;
	}

#icon p.phone{
	padding-right: 14px;
	}
    
#header{
   background-color: #fff;
    }

 #slide-gall{
	top: 0px;
	}
    
 #slide-video{
	top: -50px;
	}
	
#logo{
    margin-top: 14px;
    }
	
#logo p{
	width: 80%;
    font-size: 2.2em;
    line-height: 36px;
    margin-top: 0;
    padding-bottom: 10px;
    }

#logo p.testo{
	margin-top: -10px;
    z-index: 500;
    }

.menu-container{
    font-size: 1.3em;
}

.menu-mobile {
    margin-top: -10px;
}
    
#sotto-menu p{
    top: -16px;
    }

#categorie-f .logo {
	width: 98%;
	}
    
#categorie-f .cat {
	width: 98%;
    text-align: center;
    padding-left: 0px;
	}
    
#categorie-f .tel {
	width: 98%;
	}

}


@media screen and (min-width: 291px) and (max-width: 450px) {
#key{
	display: none;
}  
    
#icon{
	width: 100%;
	background-color: #fff;
    padding-bottom: 4px;
	}

#icon p.mail{
	display: none;
	}

#icon p.phone{
	padding-right: 14px;
    display: inline-block;
    float: none;
	}
    
#header{
   background-color: #fff;
    max-height: 50px;
    }
    
 #slide-gall{
	top: 0px;
	}
    
 #slide-video{
	top: -50px;
	}
	
#logo{
    margin-top: 30px;
    }
	
#logo p{
	width: 75%;
    font-size: 1.15em;
    line-height: 23px;
    margin-top: 0;
    padding-bottom: 10px;
    }

#logo p.testo{
	margin-top: -14px;
    }
    
#logo p.testo span{
	letter-spacing: 2.2px;
    }

#logo img{
	max-width: 150px;
	}
		
.menu-container{
    font-size: 1.3em;
}

.menu-mobile {
     margin-top: 0px;
}
    
#sotto-menu p{
    top: -16px;
    }
    
#categorie-f .logo {
	width: 98%;
	}

#categorie-f .cat {
	width: 98%;
    text-align: center;
    padding-left: 0px;
	}
    
#categorie-f .tel {
	width: 98%;
	}
	
}

@media screen and (max-width: 290px) {
    
#key{
	display: none;
}
    
#icon{
	background-color: #fff;
	}
    
#icon p{
	font-size: 0.95em;
	}

#icon p.mail{
	display: none;
	}

#icon p.phone{
	padding-right: 10px;
    display: inline-block;
    float: none;
	}
    
 #slide-gall{
	top: 0px;
	}
    
 #slide-video{
	top: -50px;
	}
    
#header{
   background-color: #fff;  
    }
	
#logo{
    margin-top: 30px;
    }
	
#logo p{
	width: 71%;
    font-size: 1.15em;
    line-height: 23px;
    margin-top: 0;
    padding-bottom: 10px;
    }

#logo p.testo{
	margin-top: -14px;
    }
    
#logo p.testo span{
	letter-spacing: 2.2px;
    }

#logo img{
	max-width: 150px;
	}
	
.menu-container{
    font-size: 1.3em;
}

.menu-mobile {
    margin-top: -10px;
}
    
    
#sotto-menu p{
    top: -16px;
    }
    
#categorie-f .logo {
	width: 98%;
	}

#categorie-f .cat {
	width: 98%;
    text-align: center;
    padding-left: 0px;
	}
    
#categorie-f .tel {
	width: 98%;
	}
	
}