@charset "UTF-8";
/* CSS Document */

/* COLOR PALETTE

blu #104e97
azzurro #00ABF0

darker grey #333
dark grey  #666 (TEXT)
light grey #eee

*/


/** BASIC **/
@font-face {
	font-family: "Cabin";
	src: url('../fonts/Cabin-Regular.woff') format('woff'), url("../fonts/Cabin-Regular.ttf") format("truetype");
	font-weight: 400;
	font-style: normal;
}

@font-face {
	font-family: "Cabin";
	src: url('../fonts/Cabin-Italic.woff') format('woff'), url("../fonts/Cabin-Italic.ttf") format("truetype");
	font-weight: 400;
	font-style:italic;
}

@font-face {
	font-family: "Cabin";
	src: url('../fonts/Cabin-BoldItalic.woff') format('woff'), url("../fonts/Cabin-BoldItalic.ttf") format("truetype");
	font-weight: 700;
	font-style: italic;
}

@font-face {
	font-family: "Cabin";
	src: url('../fonts/Cabin-Bold.woff') format('woff'), url("../fonts/Cabin-Bold.ttf") format("truetype");
	font-weight: 700;
	font-style: normal;
}

::selection {
  background: #104e97;
  color: #fff;
}

::-moz-selection  {
  background: #104e97;
  color: #fff;
}

body {
	color:#888;
	font-family: "Cabin";
	font-weight: 400;
}

a {
	color:#104e97;
	text-decoration: none;
}

a:hover, a:active {
	color: #104e97;
	text-decoration: none;
	transition: 500ms;
}

h1, h2, h3, h4 {
	font-family: "Cabin";
	font-weight: 400;
	color: #104e97;
}

h1 {
	font-size: 2.8em;
}

h2 {
	font-size: 2.4em;
}

h3 {
	font-size: 2em;
}

h4 {
	font-size: 1.6em;
}

ul {
	list-style-type: square;
}

.title {
	color:#104e97;
}

.title a {
	color:#104e97;
}

strong, b {
	font-weight: 700;
}

.btn, .form-control {
	border-radius: 0px;
	-webkit-border-radius: 0px;
	-moz-border-radius: 0px;
}

.btn {
	border: none;
}

.btn-primary {
	background-color: #104e97;
	color: #fff;
}

a.btn-secondary {
	color:#666;
}

.btn-primary:focus, .btn-primary:hover {
	background-color: #104e97;
	color: #fff;
}

.row.no-gutters {
  margin-right: 0;
  margin-left: 0;
}
.row.no-gutters > [class^="col-"],
.row.no-gutters > [class*=" col-"] {
  padding-right: 0;
  padding-left: 0;
}

.brand {
	text-align: center;
	margin-bottom: 30px;
}

.brand .img-fluid {
	max-width: 300px;
}


/** NAVIGATION **/

.navbar-brand-fixed {
	display: none;
}


#menubar {
	background-color: #104e97;
	overflow: visible;
	z-index: 999;

	-webkit-box-shadow: 0px 4px 8px 0px rgba(0,0,0,0.5);
	-moz-box-shadow: 0px 4px 8px 0px rgba(0,0,0,0.5);
	box-shadow: 0px 4px 8px 0px rgba(0,0,0,0.5);
}

#langbar {
	background: #fff;
	text-align: right;
}

#langbar .container {
	padding:10px 0;
	padding-right:15px;
}

#langbar img {
	margin-left: 5px;
}

#menubar .container {
	position: relative;
	z-index: 9999;
}

.fixedmenu {
	position: fixed;
	width: 100%;
	min-height: 80px;
	top:0px;
}

.dropdown-menu {
	background-color: #104e97;
	color:#fff;
	border:none;
	border-radius:0px;
	-webkit-border-radius:0px;
	-moz-border-radius:0px;
}

.dropdown-menu a {
	color: #fff;
}

.fixedmenu .navbar-brand-fixed {
	display: inline-block;
	float: left;
}

.fixedmenu .navbar-brand {
	display: none;
}

.navbar-brand-fixed {
	width: 50px;
}

.navbar-brand-fixed img {
	max-height: 40px;
}

.navbar {
	padding: 15px 0px;
	font-size: 1.1em;
}

.navbar li {
	padding:0px 10px;
}

.navbar-light {
	background: none;
	border: none;
}

.navbar-brand {
	padding: 0px;
	width: 170px;
	/*position: absolute;
	top:0px;*/
}

#navbarResponsive {
	padding-top: 8px;

}

.navbar-nav {
	margin-right: 30px;
}

/**CONTENT **/

.form-control:focus {
	border-color: #104e97;
}

.btn-outline-secondary:hover, .btn-outline-secondary:active {
	background-color:#104e97;
}

.navbar-light .navbar-nav .nav-link:hover, .navbar-light .navbar-nav .nav-link:focus  {
    color:#104e97;
}

.navbar-light .navbar-nav .active > .nav-link, .navbar-light .navbar-nav .active > .nav-link:focus, .navbar-light .navbar-nav .active > .nav-link:hover, .navbar-light .navbar-nav .nav-link.active, .navbar-light .navbar-nav .nav-link.active:focus, .navbar-light .navbar-nav .nav-link.active:hover, .navbar-light .navbar-nav .nav-link.open, .navbar-light .navbar-nav .nav-link.open:focus, .navbar-light .navbar-nav .nav-link.open:hover, .navbar-light .navbar-nav .open > .nav-link, .navbar-light .navbar-nav .open > .nav-link:focus, .navbar-light .navbar-nav .open > .nav-link:hover {
    color:#fff;
}

.navbar-light .navbar-nav .nav-link {
    color: #fff;
	opacity: 0.8;
}

.navbar-light .navbar-nav .nav-link:focus, .navbar-light .navbar-nav .nav-link:hover {
    color: #fff;
	opacity: 1;
}

.title-band {
	background-color: #104e97;
	padding:45px 0px;
	text-align: center;
}

.title-band.grey {
	background-color: #eee;
	padding:45px 0px;
	text-align: center;
}

.title-band.light {
	background-color: #00ABF0;
	padding:45px 0px;
	text-align: center;
}

.title-band.grey h1, .title-band.grey h2, .title-band.grey h3, .title-band.grey h4, .title-band.grey h5 {
	color:#666;
}


.title-band, .title-band h1, .title-band h2, .title-band h3, .title-band h4, .title-band h5, .title-band p, .title-band a {
	color: #fff;
}

.title-band a.btn-secondary {
	color: #666;
}


.carousel img {
	width: 100%;
}

.carousel.video {
	background-color: #104e97;
}

.carousel-indicators li {
	border-radius: 0px;
	-moz-border-radius:0px;
	-webkit-border-radius:0px;
}

.carousel-caption {

}

.carousel-caption a {
	padding-bottom: 30%;
	display: inline-block;
	width: 100%;
}

.carousel-caption, .carousel-caption a, .carousel-caption h1, .carousel-caption h2, .carousel-caption h3, .carousel-caption h4, .carousel-caption p {
	color: #fff;
}

.carousel-item a {
	overflow: hidden;
	display: block;
}

.technologies, .prefab {
	text-align: center;
	background-color: #eee;
	padding: 60px 0;
}

/*.prefab .cover {*/
	/*height:200px;*/
/*}*/

/*.prefab {*/
	/*background-color: #fff;*/
/*}*/
/*.prefab .cover img:hover {*/
	/*transform: scale(1,1);*/
	/*opacity:1.0;*/
/*}*/

.page-content {
	padding:60px 0;
}

.technologies hr,  .prefab hr {
	border:solid 2px #104e97;
	margin-bottom: 30px;
}

.technologies .cover, .prefab .cover {
	margin:30px 0;
}


.cover {
	height: 150px;
	overflow: hidden;
}

.cover img {
	transition: 400ms;
}

.cover img:hover {
	transform: scale(1.2,1.2);
	opacity:1.0;
}

.page {
	padding-top:60px;
	padding-bottom:60px;
}

.gallery a {
	display: inline-block;
}

.gallery {
	text-align: center;
}

.gallery .cover {
	margin-bottom: 30px;
}

.gallery .thumb img {
	height: 100px;
	margin-bottom: 30px;
}

.page-gallery .cover {
	height:160px;
	margin-top: 30px;
	overflow: hidden;
}

.page-gallery .cover img {
	width: 120%;
	max-width: 120%;
}

.contacts-map {
	width: 100%;
	height:600px;
}

.contact-list {
	text-align:center;
}

.contact-list > div {
	height:300px;
}

.contact-list img {
	height:120px;
	margin-bottom:10px;
}

.projects .map {
	margin-top:30px;
}

.projects .cover {
	height:300px
}

.company {
	text-align: center;
	margin-bottom: 60px;
}

.company img {
	width: 80%;
}

.breadcrumbs {
	padding:15px 0px;
}

.breadcrumb {
	margin:0px;
	padding: 0px;
	background: none;
}

.footer {
	background-color: #104e97;
	color:#eee;
	padding-top: 60px;
	padding-bottom: 60px;
}

.footer h1, .footer h2, .footer h3, .footer h4, .footer h5 {
	color:#eee;
}

.footer h4 {
	font-size: 1em;
}

.footer a {
	color:#eee;
}

.footer a:hover, .footer a:active {
	color:#fff;
}

.footer .social {
	text-align: right;
	font-size: 1.4em;
}

.footer .social a {
	margin-left: 15px;
	color: #104e97;
}

.credits {
	background-color: #333;
	color: #666;
	padding-bottom: 30px;
	padding-top: 30px;
	text-align: center;
}

.credits a {
	color:#666;
}

.credits, .credits .social {
	font-size: 1em;
}

.credits a, .credits .social a {
	margin:0px;
	padding:0px 5px;
}

@media screen and (max-width: 2000px) {
	.projects .cover {
		height:200px;
	}
}

@media screen and (max-width: 1200px) {
	.projects .cover {
		height:150px;
	}
}

@media screen and (max-width: 992px) {
	.projects .cover {
		height:150px;
	}


	#navbarResponsive {
		margin-top: 60px;
	}

	.navbar-brand {
		padding: 0px;
		width: 70px;
		/*position: absolute;*/
	}
}

@media screen and (max-width: 768px) {

	.projects .cover {
		height:150px;
	}


}

@media screen and (max-width: 575px) {
	.project-cover {
		height: 300px;
	}

	.footer .brand img {
		margin-bottom: 30px;
		max-width: 60%;
	}

	.footer, .footer .social, .credits, .credits .social {
		text-align: center;
	}

}

@media screen and (max-width: 420px) {
	.project-cover {
		height: 200px;
	}

	.gallery .thumb img {
		height: 80px;
		margin-bottom: 30px;
	}
}