/* CSS Document */

html{
    height: 100%;/*css flexibox per footer*/
}

body {
    font: 400 15px Lato, sans-serif;
    line-height: 1.6;
    color: #333;
	display: flex; /*css flexibox per footer*/
    flex-direction: column;/*css flexibox per footer*/
    height: 100%;/*css flexibox per footer*/
	background-color: #f3f3f3;
}


/*css flexibox per footer*/ 
header{
	/* We want the header to have a static height, 
	it will always take up just as much space as it needs.  */
	/* 0 flex-grow, 0 flex-shrink, auto flex-basis */
	flex: 0 0 auto;
}

.main-content{
	/* By setting flex-grow to 1, the main content will take up 
		all of the remaining space on the page. 
	The other elements have flex-grow: 0 and won't contest the free space. */
	/* 1 flex-grow, 0 flex-shrink, auto flex-basis */
	flex: 1 0 auto;
}

footer{
	/* Like the header, the footer will have a static height - it shouldn't grow or shrink.  */
	/* 0 flex-grow, 0 flex-shrink, auto flex-basis */
	flex: 0 0 auto;
	width: 100%;
	/* background-image: url(../img/bg1.jpg); 
		background-position: 0% 25%;
		background-size: cover;
	background-repeat: no-repeat;*/
	color: #f9f9f9;
	background-color: #00349a;
	border-top: 5px solid #b32134;
    margin-left: 0px;
    margin-right: 0px;
	
}
/* fine css flexibox per footer*/  


h2 {
	font-size: 28px;
	text-transform: uppercase;
	color: #b32134;
	font-weight: 600;
	margin-bottom: 20px;
}
h4 {
	font-size: 19px;
	line-height: 1.375em;
	color: #303030;
	font-weight: 400;
	margin-bottom: 30px;
}  
hr.blue {
	border: 0;
	height: 3px;
	background-color: #41a9c6;
	width: 40%;
}

hr.green {
	border: 0;
	height: 3px;
	background-color: #b32134;
	width: 40%;
	margin-top: 5px;
}

@media screen and (min-width: 980px) /* Desktop */ {
	h2:after {
		display: inline-block;
		margin: 0 0 8px 20px;
		height: 2px;
		content: " ";
		text-shadow: none;
		background-color: #b32134;	
		width: 140px;
	}
	h2:before {
		display: inline-block;
		margin: 0 20px 8px 0;
		height: 2px;
		content: " ";
		text-shadow: none;
		background-color: #b32134;
		width: 140px;
	}
}
.jumbotron {
	background-color: #00349a;
	font-family: Montserrat, sans-serif;
	/*mod*/
	margin-bottom: 0px;
    color: white;
    text-shadow: black 0.2em 0.2em 0.2em;
	
}
/*mod*/
.jumbotron-bg {
    background-image: url(../img/bgfg.jpg);
    background-position: 0% 25%;
    background-size: cover;
    background-repeat: no-repeat;
	
}
#particles-js
{
	height: 400px;
	background-image: url(../img/bgfg.jpg);
    background-position: 50% 10%;
    background-size: cover;
    background-repeat: no-repeat;
	border-bottom: 5px solid #b32134;
	
} 

/*testo over particles */
.btext{
    position: absolute;
    text-align: center;
    top: 20%;
    width: 100%;
    line-height: 0.4em;
}

.container-padtop {
	padding-top: 35px;
}

.centraverticale {
    display: inline-block;
    vertical-align: middle;
    float: none;
}
.logoFSMA {
	box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
	background: rgba(255, 255, 255, 0.5);
}
#logo_aziende{
border:solid white;
border-width: 20px 5px;
box-shadow: 0 2px 6px 0px rgba(0, 0, 0, 0.2), 0 3px 10px 0 rgba(0, 0, 0, 0.19);
margin-left:10px;  

}
/*FINE ELI*/


.container-fluid {
	padding: 20px 10px;
}
.bg-grey {
	background-color: #f3f3f3;
}
.bg-white {
	background-color: #fff;
}
.logo-small {
	color: #00349a;
	font-size: 50px;
}
.logo {
color: #00349a;
font-size: 200px;
}
.thumbnail {
padding: 0 0 15px 0;
border: none;
border-radius: 0;
}
.thumbnail img {
width: 100%;
height: 100%;
margin-bottom: 10px;
}
.carousel-control.right, .carousel-control.left {
background-image: none;
color: #00349a;
}
.carousel-indicators li {
border-color: #00349a;
}
.carousel-indicators li.active {
background-color: #00349a;
}
.item h4 {
font-size: 19px;
line-height: 1.375em;
font-weight: 400;
font-style: italic;
margin: 70px 0;
}
.item span {
font-style: normal;
}
.panel {
border: 1px solid #00349a; 
border-radius:0 !important;
transition: box-shadow 0.5s;
}
.panel:hover {
box-shadow: 5px 0px 40px rgba(0,0,0, .2);
}
.panel-footer .btn:hover {
border: 1px solid #00349a;
background-color: #fff !important;
color: #00349a;
}
.panel-heading {
color: #fff !important;
background-color: #00349a !important;
padding: 25px;
border-bottom: 1px solid transparent;
border-top-left-radius: 0px;
border-top-right-radius: 0px;
border-bottom-left-radius: 0px;
border-bottom-right-radius: 0px;
}
.panel-footer {
background-color: white !important;
}
.panel-footer h3 {
font-size: 32px;
}
.panel-footer h4 {
color: #aaa;
font-size: 14px;
}
.panel-footer .btn {
margin: 15px 0;
background-color: #00349a;
color: #fff;
}
.navbar {
margin-bottom: 0;
background-color: #00349a;
z-index: 9999;
border: 0;
font-size: 12px !important;
line-height: 1.42857143 !important;
letter-spacing: 4px;
border-radius: 0;
font-family: Montserrat, sans-serif;
}
.navbar li a, .navbar .navbar-brand {
color: #fff !important;
}
.dropdown-menu li a {
color: #333 !important;
}
.navbar-nav li a:hover, .navbar-nav li.active a {
color: #00349a !important;
background-color: #fff !important;
}
.navbar-default .navbar-toggle {
border-color: transparent;
color: #fff !important;
}
footer .glyphicon {
font-size: 20px;
margin-bottom: 20px;
color: #9f9f9f;
}
.slideanim {visibility:hidden;}
.slide {
animation-name: slide;
-webkit-animation-name: slide;
animation-duration: 1s;
-webkit-animation-duration: 1s;
visibility: visible;
}
@keyframes slide {
0% {
opacity: 0;
transform: translateY(70%);
} 
100% {
opacity: 1;
transform: translateY(0%);
}
}
@-webkit-keyframes slide {
0% {
opacity: 0;
-webkit-transform: translateY(70%);
} 
100% {
opacity: 1;
-webkit-transform: translateY(0%);
}
}
@media screen and (max-width: 768px) {
.col-sm-4 {
text-align: center;
margin: 25px 0;
}
.btn-lg {
width: 100%;
margin-bottom: 35px;
}
}
@media screen and (max-width: 480px) {
.logo {
font-size: 150px;
}
}

/* cookies alert */
.cookiealert {
position: fixed;
bottom: 0;
left: 0;
width: 100%;
margin: 0 !important;
z-index: 999;
opacity: 0;
border-radius: 0;
background: #212327 url("cubes.png");
transform: translateY(100%);
transition: all 500ms ease-out;
color: #ecf0f1;
}

.cookiealert.show {
opacity: 1;
transform: translateY(0%);
transition-delay: 1000ms;
}

.cookiealert a {
text-decoration: underline
}

.cookiealert .acceptcookies {
margin-left: 10px;
vertical-align: baseline;
}