@charset "utf-8";
/* Roboto regular */
@font-face {
    font-family: "Montserrat";
    src: url("fonts/Montserrat-Regular.eot");
    src: url("fonts/Montserrat-Regular.eot?#iefix") format('embedded-opentype'),
         url("fonts/Montserrat-Regular.woff2") format('woff2'),
         url("fonts/Montserrat-Regular.woff") format('woff'),
         url("fonts/Montserrat-Regular.ttf") format('truetype');
    font-weight: 400;
    font-style: normal;
}
/* Roboto italic */
@font-face {
    font-family: "Montserrat";
    src: url('fonts/Montserrat-Italic.eot');
    src: url('fonts/Montserrat-Italic.eot?#iefix') format('embedded-opentype'),
         url('fonts/Montserrat-Italic.woff2') format('woff2'),
         url('fonts/Montserrat-Italic.woff') format('woff'),
         url('fonts/Montserrat-Italic.ttf') format('truetype');
    font-weight: 400;
    font-style: italic;
}
/* Roboto bold */
@font-face {
    font-family: "Montserrat";
    src: url('fonts/Montserrat-Bold.eot');
    src: url('fonts/Montserrat-Bold.eot?#iefix') format('embedded-opentype'),
         url('fonts/Montserrat-Bold.woff2') format('woff2'),
         url('fonts/Montserrat-Bold.woff') format('woff'),
         url('fonts/Montserrat-Bold.ttf') format('truetype');
    font-weight: 700;
    font-style: normal;
}
/* Roboto Light */
@font-face {
    font-family: "Montserrat";
    src: url('fonts/Montserrat-Light.eot');
    src: url('fonts/Montserrat-Light.eot?#iefix') format('embedded-opentype'),
         url('fonts/Montserrat-Light.woff2') format('woff2'),
         url('fonts/Montserrat-Light.woff') format('woff'),
         url('fonts/Montserrat-Light.ttf') format('truetype');
    font-weight: 200;
    font-style:normal;
}
@font-face {
  font-family: 'sm-nicol';
  src:  url('fonts/sm-nicol.eot?879one');
  src:  url('fonts/sm-nicol.eot?879one#iefix') format('embedded-opentype'),
    url('fonts/sm-nicol.ttf?879one') format('truetype'),
    url('fonts/sm-nicol.woff?879one') format('woff'),
    url('fonts/sm-nicol.svg?879one#sm-nicol') format('svg');
  font-weight: normal;
  font-style: normal;
  font-display: block;
}
/* CSS Document */
*{margin:0;padding:0;list-style:none}
.content-wrap ul{list-style:disc}
body{
	background:rgba(246,246,246,1);
	color:rgba(51,51,51,1);
	font-family: 'Montserrat', sans-serif;
	font-size:20px;
}
img{width:99%;height:auto}
.thin{font-weight:200}
.normal{font-weight:400}
/*- Header
-------------*/
#head-wrap{position:relative;width:100%;z-index:10;min-height:52px;background:rgba(70,70,70,1)}
#head-wrap.home{position:fixed;top:0;background:rgba(51,51,51,1)}
#head-wrap h1{
	float:left;
	font-weight:normal;
	color:rgba(255,255,255,.8);
}
#head-wrap p.logo{
	padding:0;
	width:130px;
	height:52px;
	background:url(img/logo-mobile.png) no-repeat top left;
	float:left;
	text-indent:-9999px
}
.header,.wrap,.content-wrap{
	width:95%;
	max-width:1140px;
	margin:0 auto
}
.content-wrap{
	padding:20px 0;
	font-weight:200
}
.section-curve{
	position:relative;
	background-image: linear-gradient(#ff9d2f, #ff6126);
	-webkit-clip-path: url("#clip-polygon");
	clip-path: url("#clip-polygon");
	padding:40px 0;
	top:-21px;
	z-index:3;
	margin-bottom:-21px
}
.clip-svg {
    width: 0;
    height: 0;
	position:absolute;bottom:0
}

/*- Menu
--------*/
.menu-toggle {
	background-color: #000;
	border-radius: 0;
	cursor: pointer;
	font-size: 0;
	height: 52px;
	margin: 0;
	overflow: hidden;
	padding: 0;
	position: absolute;
	top: 0;
	right: 0;
	text-align: center;
	width:52px;
	border:0;
	-webkit-appearance: none;
}

.menu-toggle:before {
	color: #fff;
	content: "\e900";
	display: inline;
	-webkit-font-smoothing: antialiased;
	display: inline-block;
	font: normal 16px/1 'sm-nicol';
	text-decoration: inherit;
	vertical-align: text-bottom;
}

.menu-toggle:active,
.menu-toggle:focus,
.menu-toggle:hover {
	background-color: #444;
}

.menu-toggle:focus {
	outline: 1px dotted;
}
.site-navigation a {
	color:rgba(51,51,51,1);
	display: block;
	text-decoration:none
}
.site-navigation a:hover {
	color:/*rgba(252,83,76,1)*/rgba(78,186,224,1);
}
.site-navigation.home a{color:rgba(255,255,255,1)}
.site-navigation .current_page_item > a,
.site-navigation .current_page_ancestor > a,
.site-navigation .current-menu-item > a,
.site-navigation .current-menu-parent > a,
.site-navigation .current-menu-ancestor > a {
	color:/*rgba(252,83,76,1)*/rgba(78,186,224,1);
}
.primary-navigation {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}
.primary-navigation img{width:auto;height:auto}
.primary-navigation .lang{display:inline-block}
.primary-navigation.toggled-on {
	clear:both;
	float:none;
	padding-top:0
}
.primary-navigation .nav-menu {
	border-bottom: 1px solid rgba(255, 255, 255, 1);
	display: none;
}
.primary-navigation.toggled-on .nav-menu {
	display: block;
}
/* Content
--------------*/
.content p{
	padding:10px 0;
	font-weight:200
}
.dynamic-wrapper{
	position:absolute;top:52px;z-index:9
}
h1.dynamic{
	position:relative;
	top:0px;
	left:20px;
	z-index:999;
	color:#fff;
	font-size:45px;
	text-shadow:1px 1px 0 rgba(0,0,0,1)
}
h1.dynamic span,h1.dynamic strong{
	display:block
}
/*- Flex Box
-----------------*/
.flex{
	display:-webkit-flex;
	display:flex;
	display:-ms-flexbox;
	flex-direction:column;
	flex-wrap:nowrap;
	justify-content:space-between;
	align-items:flex-start;
	padding:10px 0
}
.flex .items{
	align-self:stretch;
	flex:1;
	margin:0 5px;
	max-width:100%;
}
.flex .img{
	max-width:50%;
	width:100%
}
.flex .items.content{
	padding:10px 15px;
	background:#fff;
	border:1px solid rgba(204,204,204,.4)
}
.flex .items.middle{
	align-self:center
}

/*- Contact
-----------------*/
#contact form{
	padding:10px 0
}
#contact fieldset{border-color:rgba(255,255,255,.5);padding:0 10px 15px 10px}
#contact form legend{padding:2px 5px;margin-left:10px}
#contact input[type=text],#contact input[type=tel],#contact input[type=email],#contact textarea{
	display:block;
	width:calc(100% - 20px);
	padding:5px 10px;
	margin:2px 0;
	border:0px;
	border-bottom:1px solid rgba(153,153,153,1);
    -moz-appearance:textfield;
    -webkit-appearance:textfield;
    appearance:textfield;
	background:transparent;
	font-weight:100
}
#contact textarea{min-height:200px;font-family:Verdana, Geneva, sans-serif}

#contact input[type=submit]{
  background: #3498db;
  background-image: -webkit-linear-gradient(top, #3498db, #2980b9);
  background-image: -moz-linear-gradient(top, #3498db, #2980b9);
  background-image: -ms-linear-gradient(top, #3498db, #2980b9);
  background-image: -o-linear-gradient(top, #3498db, #2980b9);
  background-image: linear-gradient(to bottom, #3498db, #2980b9);
  -webkit-border-radius: 2;
  -moz-border-radius: 2;
  border-radius: 2px;
  font-family: Arial;
  color: #ffffff;
  font-size: 18px;
  padding:8px 20px 8px 20px;
  text-decoration: none;
  border:1px solid rgba(255,255,255,.1);
  cursor:pointer;
  margin:10px 0 0 0
}

#contact input[type=submit]:hover {
  background: #3cb0fd;
  background-image: -webkit-linear-gradient(top, #3cb0fd, #3498db);
  background-image: -moz-linear-gradient(top, #3cb0fd, #3498db);
  background-image: -ms-linear-gradient(top, #3cb0fd, #3498db);
  background-image: -o-linear-gradient(top, #3cb0fd, #3498db);
  background-image: linear-gradient(to bottom, #3cb0fd, #3498db);
  text-decoration: none;
}
/*- Footer
-----------------*/
#footer{
	background:rgba(70,70,70,1);
	color:rgba(255,255,255,.8);
	font-size:14px;
	font-family:Verdana, Geneva, sans-serif;
	border-top:2px solid rgba(0,0,0,.2);
	text-shadow:1px 1px 0 rgba(51,51,51,1)
}
#footer img{width:auto;height:auto}
#footer #bottom{
	background:rgba(57,57,57,1);
	border-top:1px solid rgba(0,0,0,.2)
}
#footer h4{padding-top:15px;margin-bottom:10px;font-size:20px;border-bottom:3px solid rgba(255,255,255,.5);display:inline-block;font-weight:400}
#footer li{padding:2px 0}
#footer a{
	color:rgba(255,255,255,1);
	text-decoration:underline
}
#footer a:hover{
	color:rgba(255,255,255,1);
	text-decoration:none
}
#footer .social{padding:10px 0}
#footer .social a{
	font-size:20px;
	padding:5px;
	background:rgba(0,0,0,.1);
	width:25px;
	display:inline-block;
	text-align:center;
	border-right:1px solid rgba(255,255,255,.1);
}
#footer .social a:hover{
	background:rgba(0,0,0,.2);
	border-color:rgba(255,255,255,.6)
}
/*- Video
--------------*/
#video,.full{width:100%;height:60vh;position:relative;top:0;overflow:hidden;background: url(img/img-4-mobile.jpg) 40% 0 no-repeat;}
.vidbg-container {
    position: absolute;
    z-index: -1;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    overflow: hidden;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center center
}
.vidbg-container video {
    position: absolute;
    margin: 0;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    transition: 0.25s opacity ease-in-out;
    max-width: none;
    opacity: 0
}
.vidbg-overlay {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0
}
.full{background:url(img/inner.jpg) 0 0 no-repeat;background-size:cover;height:85vh}
.full.servizi,.full.contatti{background:url(img/servizi.jpg) 0 0 no-repeat}
.full.contatti{height:75vh}
.full-wrap-dark{
	width:100%;
	height:100%;
	display:block;
	background:rgba(0,0,0,.5) url(img/overlay.png) repeat;
}
.inner-headline h1{
	text-align:center;
	padding-top:20%;
	font-size:55px;
	color:#fff;
}
#map_canvas{width:100%;height:100%;margin:0;opacity:0.9}
#map_canvas #mapcontent{opacity:1 !important}
/*- Responsive
-----------------*/
@media screen and (max-width:782px){
}
@media screen and (min-width: 783px) {
	#head-wrap{position:relative;width:100%;z-index:10;min-height:70px;background:rgba(70,70,70,1)}
	#head-wrap.home{background:rgba(70, 70, 70, 0)}
	#head-wrap.home.on{background:rgba(70, 70, 70, 1)}
	#head-wrap p.logo{
		margin:5px 0 0 0;
		padding:0;
		width:150px;
		height:60px;
		background:url(img/logo.png) no-repeat top left;
		float:left;
		text-indent:-9999px
	}
	.content-wrap{
		overflow:hidden;
		padding:30px 0
	}
	.content-wrap ul{
		margin:0 20px;
	}
	.content-wrap ul li:before{
		font-family:'sm-nicol';
		content:"\e901";
		margin-right:10px;
		font-weight:200
	}
	.flex{
		flex-direction:row;
	}
	.flex .items{
		width:inherit
	}
	.flex .items.items-2{
		flex-grow:2;
		flex-shrink:2
	}
	.flex .items.design{
		font-size:80%;
		text-align:right;
		align-items:center
	}
	#head-wrap.home{background:rgba(51,51,51,0)}
	.primary-navigation {
		float: right;
		margin: 3.5px 1px 0 0;
		padding: 0;
	}

	.primary-navigation.toggled-on {
		border-bottom: 0;
		margin: 0;
		padding: 0;
	}

	.primary-navigation .menu-toggle {
		display: none;
		padding: 0;
	}

	.primary-navigation .nav-menu {
		border-bottom: 0;
		display: block;
		padding:0
	}

	.primary-navigation a {
		padding:18px 15px;
		white-space: nowrap;
	}

	.primary-navigation .lang a {
		padding:0px;
		white-space: nowrap;
	}
	.primary-navigation .lang img{margin-bottom:-5px}

	.primary-navigation a:before {
		position: relative;
		line-height: 0;
		margin-right: 9px;
		font-weight: 100;
	}

	.primary-navigation ul ul a {
		padding: 10px 10px 10px 17px;
		white-space: normal;
		width: 276px;
		font-size:calc(1rem + ((1vw - 0.9rem) * 1.1111));
		text-shadow:0;
		border:0
	}
	
	.primary-navigation.home ul ul a{color:rgba(51,51,51,1)}
	
	.primary-navigation ul ul a:before{
		margin-right:5px;
		-webkit-transition: all 0.5s ease-out;
		-moz-transition: all 0.5s ease-out;
		-ms-transition: all 0.5s ease-out;
		-o-transition: all 0.5s ease-out;
		transition: all 0.5s ease-out;
	}
	
	.primary-navigation ul ul a:hover:before{
		margin-right:0;
		margin-left:5px
	}

	.primary-navigation ul ul a:hover,
	.primary-navigation ul ul li.focus > a {
		/*background-color: #096AAA;*/
		text-shadow:0;
		color:/*rgba(252,83,76,.5)*/rgba(78,186,224,1);
		background:none;
		border:0;
	}

	.primary-navigation .menu-item-has-children > a,
	.primary-navigation .page_item_has_children > a {
		padding-right: 26px;
	}

	.primary-navigation .menu-item-has-children > a:after,
	.primary-navigation .page_item_has_children > a:after {
		-webkit-font-smoothing: antialiased;
		content: "\e900";
		display: inline-block;
		font: normal 8px/1 'sm-nicol';
		position: absolute;
		right: 12px;
		top: 30px;
		vertical-align: text-bottom;
		text-shadow:none
	}

	.primary-navigation .menu-item-has-children li.menu-item-has-children > a:after,
	.primary-navigation .menu-item-has-children li.page_item_has_children > a:after,
	.primary-navigation .page_item_has_children li.menu-item-has-children > a:after,
	.primary-navigation .page_item_has_children li.page_item_has_children > a:after {
		content: "\f501";
		right: 8px;
		top:25px;
	}

	.primary-navigation li .menu-item-has-children > a,
	.primary-navigation li .page_item_has_children > a {
		padding-right: 20px;
		width: 168px;
	}

	.primary-navigation li:hover > a,
	.primary-navigation li.focus > a {
		color:rgba(255,255,255,.8);
		background:rgba(51,51,51,1)
	}
	
	.primary-navigation li.lang:hover > a{background:none}

	.primary-navigation ul ul a:hover,
	.primary-navigation ul ul li.focus > a,
	.site-navigation ul ul .current-menu-item > a{
		color:/*rgba(252,83,76,1)*/rgba(78,186,224,1);
		text-shadow:none
	}

	.primary-navigation li {
		border: 0;
		height:30px;
		display: inline-block;
		position: relative;
	}

	.primary-navigation li li {
		display: block;
		height: auto;
		line-height: 1.0909090909;
	}
	
	.primary-navigation li li:first-child{border-top:0}
	.primary-navigation li li:last-child{border-bottom:0}

	.primary-navigation ul li:hover > ul,
	.primary-navigation ul li.focus > ul {
		left: auto;
	}

	.primary-navigation ul ul li:hover > ul,
	.primary-navigation ul ul li.focus > ul {
		left: 100%;
	}

	.primary-navigation ul ul {
		background-color:rgba(255,255,255,1);
		float: left;
		margin: 0;
		position: absolute;
		top: 58px;
		left: -999em;
		z-index: 99999;
		width:250px;
		border:2px solid rgba(255,255,255,1) /*rgba(153,153,153,1) rgba(252,83,76,1)*/;
		border-top-width:3px;
		-webkit-border-bottom-right-radius: 3px;
		-webkit-border-bottom-left-radius: 3px;
		-moz-border-radius-bottomright: 3px;
		-moz-border-radius-bottomleft: 3px;
		border-bottom-right-radius: 3px;
		border-bottom-left-radius: 3px;
	}
	.primary-navigation ul ul:after, .primary-navigation ul ul:before {
		bottom: calc(100% + 2px);
		left: 15%;
		border: solid transparent;
		content: " ";
		height: 0;
		width: 0;
		position: absolute;
		pointer-events: none;
	}
	
	.primary-navigation ul ul:after {
		border-width: 5px;
		margin-left: -5px;
	}
	.primary-navigation ul ul:before {
		border-bottom-color:rgba(255,255,255,1)/*rgba(153,153,153,1) rgba(252,83,76,1)*/;
		border-width: 8px;
		margin-left: -8px;
	}
	.primary-navigation ul ul ul {
		left: -999em;
		top: 0;
	}

	.primary-navigation .mega-menu .menu-item {
		float: none;
	}

	.primary-navigation ul .mega-menu ul {
		position: static;
		float: none;
	}

	.primary-navigation .menu-item-has-mega-menu {
		position: relative;
	}
	
	.primary-navigation .menu-item-has-mega-menu li li,.primary-navigation .menu-item-has-mega-menu li{border-top:0;border-bottom:0;border-right:0}
	.primary-navigation .menu-item-has-mega-menu li li a:before{display:none}

	.primary-navigation .mega-menu {
		display: none;
		position: absolute;
		left: -500px;
		top: calc(100% + 9px);
		background: #efefef; /* overrides from settings / styling / mega-menu */
		border-top: 2px solid #55d737;
		z-index: 10;
		color:#333;
		-webkit-border-bottom-right-radius: 3px;
		-webkit-border-bottom-left-radius: 3px;
		-moz-border-radius-bottomright: 3px;
		-moz-border-radius-bottomleft: 3px;
		border-bottom-right-radius: 3px;
		border-bottom-left-radius: 3px;
		border-bottom:2px solid #999
	}

	.primary-navigation .mega-menu ul {
		background: none;
	}

	.primary-navigation .mega-menu a {
		padding: 0;
		display: inline;
		position: relative;
		line-height: 22px;
		text-transform: none;
		color:rgba(71, 153, 207, 1)
	}

	.primary-navigation .mega-menu a:hover {
		color:rgba(9, 106, 170, .6);
		padding-left:0
	}
	
	#masthead .primary-navigation .mega-menu .current-menu-item a {
		font-weight: normal;
		color: #3de132;
	}

	.primary-navigation .mega-menu a:hover,
	.primary-navigation .mega-menu a:focus {
		text-decoration: underline;
	}

	.primary-navigation .mega-menu p {
		padding:10px 0;
	}

	.primary-navigation .mega-menu a:before {
		top: -2px;
		line-height: 22px;
		text-decoration: none;
	}

	.primary-navigation .mega-menu a:after {
		display: none !important;
	}

	.primary-navigation .mega-menu li,
	.primary-navigation .mega-menu li:hover {
		background: none;
	}

	.primary-navigation .menu-item-has-mega-menu:hover .mega-menu {
		display: block;
	}

	.primary-navigation .mega-menu .menu-item {
		color:#333;
		text-transform: none;
		line-height: 20px;
	}
	
	.primary-navigation .mega-menu .menu-item a.fa{
		font-size:13px
	}
	
	.primary-navigation .mega-menu .mega-menu-col > a.fa{
		font-size:19px
	}

	/* row */
	.primary-navigation .mega-menu-row {
		width: 100%;
		display: table;
		table-layout: fixed;
		padding: 30px 0;
	}

	.primary-navigation .mega-menu-row {
		border-top: 1px solid #484848; /* overrides from settings / styling / mega-menu */
	}

	.primary-navigation .mega-menu-row:first-child {
		border-top: none;
	}

	/* column */
	.primary-navigation .mega-menu-col {
		display: table-cell;
		width: 1px;
		padding: 0 30px;
		border-left: 1px solid #484848; /* overrides from settings / styling / mega-menu */
	}

	.primary-navigation .mega-menu-col:first-child {
		border-left: none;
	}

	.primary-navigation .mega-menu-col > a {
		display: inline-block;
		width: auto !important;
		padding: 0 !important;
		font-size: 19px;
		margin-top: 5px;
		margin-bottom: 5px;
		text-transform: none;
	}
	
	.primary-navigation .mega-menu-col:hover > a,
	.primary-navigation .mega-menu-col li:hover > a {
		color:/*rgba(9, 106, 170, .6)*/rgba(78,186,224,1)
	}

	.primary-navigation .mega-menu-col > a:before {
		top: 2px;
	}

	/* column sub-menus */
	.primary-navigation .mega-menu-col .sub-menu .sub-menu {
		padding-left: 27px;
	}

	.primary-navigation .mega-menu-row .sub-menu-has-icons {
		padding-left: 27px;
	}

	.primary-navigation .mega-menu-row .menu-item-has-icon > p {
		margin-left: -27px;
	}

	.primary-navigation .mega-menu-row .sub-menu-has-icons a:before,
	.primary-navigation .mega-menu-row > .menu-item-has-icon > a:before {
		position: absolute;
		left: -27px;
		width: 18px;
		text-align: center;
		margin: 0;
	}

	.primary-navigation .mega-menu-row > .menu-item-has-icon > a {
		left: 27px;
	}

	.primary-navigation .mega-menu li:hover a {
		background: none;
	}

	.primary-navigation .mega-menu-col p + .sub-menu {
		margin-top: 12px;
	}
	.landing{
		position:relative;
		top:-51px;
		background:rgba(0,51,255,1) url(img/img-1.jpg) no-repeat;
		background-size:cover;
		height:calc(90vh - 52px);
		z-index:1;
		margin-bottom:-51px
	}
	.landing .overlay{
		width:100%;
		height:calc(100% - 52px);
		padding-top:52px;
		background:rgba(0,0,0,.3);
		color:rgba(255,255,255,1);
		text-shadow:1px 1px 0 rgba(0,0,0,.8)
	}
	.fullWidth{display:block}
	/*- Dynamic Content
	---------------------*/
	h1.dynamic{
		position:relative;
		top:150px;
		left:200px;
		z-index:9;
		color:#fff;
		font-size:45px;
		text-shadow:1px 1px 0 rgba(0,0,0,1)
	}
	h1.dynamic span{display:inline}
	/*- Contact
	---------------------*/
	#contact{
		width:100%;
	}
	#contact input[type=text],#contact input[type=tel],#contact input[type=email]{
		width:calc(49% - 20px);
		float:left;
		font-size:18px
	}
	#contact input:nth-child(odd){float:right}
	#contact textarea{clear:both;font-size:18px}
	/*- Footer
	---------------------*/
	#footer h4{padding:10px 0;line-height:10px}
	/*- Video
	--------------*/
	#video{width:100%;height:100vh;position:relative;top:0;overflow:hidden;background: url(img/img-4.jpeg) 0 0 /*-150px*/ no-repeat}
	.video-background {
	  position: relative;
	  top: 0px;
	  left: 0;
	  overflow: hidden;
	  z-index: 0;
	  background:rgba(0,102,255,1);
	  overflow:visible
	}
	.video-background.responsive{
		background: url(img/img-4.jpeg) no-repeat top center;
		background-size: cover;
		width:100%;
		height:60vh;
	}
	
	.video-background video {
	  height: 130%;
	  width: 130%;
	  margin-top:-15.6%;
	  margin-left:-15%;
	}
	.video-background:after{
		position:absolute;
		width:100%;
		height:100%;
		top:0;
		left:0;
		content:"";
		background:rgba(0,0,0,.3);
		z-index:1;
	}
}
