/* CSS

 ____________________________________________________________
|                                                            |
|    ENGINE + Complic  { http://complic.eu }                 |
|      DATE + 2017 Aprile                                    |
|   CREDITS + Complic                                        |
| COPYRIGHT + Copyright Complic 2017                         |
|____________________________________________________________|

*/

*, :after, :before {
    box-sizing: border-box;
    margin: 0px;
	padding: 0px;
}
* {
    text-rendering: optimizeLegibility;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    -webkit-tap-highlight-color: transparent;
}
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed, 
figure, figcaption, footer, header, hgroup, 
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline;
}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section {
	display: block;
}
ul,ol,li {
	list-style: none;
}
blockquote, q {
	quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
	content: '';
	content: none;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}
body {
	line-height: 1;
	behavior: url(IE_hover.htc);
	overflow-x: hidden;
	background-color: #000;
	color: #414141;
    font-size: 15px;
	/* font-family: 'Muli', sans-serif; */
	font-family: 'Roboto', sans-serif;
	letter-spacing: 0.5px;
}
hr {
    border-color: #ebebeb;
    margin-top: 20px;
    margin-bottom: 20px;
    border: 0;
    border-top: 1px solid #eee;
    box-sizing: content-box;
    height: 0;
}
li, p {
    font-size: 15px;
    line-height: 26px;
    letter-spacing: .02em;
}
h1, h2, h3, h4, h5, h6 {
    margin: 0;
    color: #000;
}
h1, h2 {
    letter-spacing: normal;
    text-transform: none;
}
h1 {
    font-size: 50px;
    line-height: 56px;
    margin-bottom: 40px;
}
h2 {
    font-size: 34px;
    line-height: 46px;
    margin-bottom: 10px;
}
h3 {
    font-size: 24px;
    line-height: 34px;
    letter-spacing: normal;
}
h4 {
    font-size: 18px;
    line-height: 24px;
    letter-spacing: .02em;
    margin-bottom: 36px;
}
h5, h6 {
    font-size: 12px;
    line-height: 20px;
    letter-spacing: .16em;
    text-transform: uppercase;
    margin-bottom: 10px;
}
h6 {
    color: #999;
}
.center {
	text-align: center;
}

p.mb0 {
    margin-bottom: 0;
}
p.lead {
    font-size: 18px;
    line-height: 30px;
    letter-spacing: .02em;
    margin-bottom: 40px;
    text-transform: none;
}
.link, a {
    color: #999;
    text-decoration: underline;
    cursor: pointer;
}
.link:focus, .link:hover, a:focus, a:hover {
    color: #999 !important;
    text-decoration: none;
}
label {
    display: inline-block;
    max-width: 100%;
    margin-bottom: 5px;
    font-weight: 700;
}
.font-muli {
	font-family: 'Muli', sans-serif;
	letter-spacing: 0.5px;
}
.font-playfair {
	font-family: 'Playfair Display', serif;
	letter-spacing: 1px;
}
blockquote, p.hero-lead {
    font-size: 28px;
    line-height: 36px;
    letter-spacing: normal;
    padding: 0;
    margin: 0;
    border: 0;
    padding: 40px 0;
    color: #000;
    border-top: 1px solid #000;
    border-bottom: 1px solid #000;
    margin-bottom: 40px;
    width: auto;
}
p.hero-lead.subsection {
	border-top: none;
	padding-bottom: 20px;	
}
.wrap-fields {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
}
.wrap-fields > div:first-child {
    margin-right: 30px;
}
.wrap-fields > div {
    -webkit-flex: 1;
    -ms-flex: 1;
    flex: 1;
}

/* Input */
input[type=checkbox], input[type=radio] {
    box-sizing: border-box;
    padding: 0;
}
input[type=checkbox], input[type=radio] {
    margin: 4px 0 0;
    margin-top: 1px\9;
    line-height: normal;
}
input[type=checkbox].styled {
    -webkit-flex: 0 0 auto;
    -ms-flex: 0 0 auto;
    flex: 0 0 auto;
    cursor: pointer;
    box-shadow: none;
    -moz-appearance: none;
    -webkit-appearance: none;
    display: inline-block;
    line-height: 1em;
    padding: 0;
    width: 1.25em;
    height: 1.25em;
    vertical-align: text-top;
    border-radius: 3px;
    width: 15px;
    height: 15px;
    outline: none;
    position: relative;
    margin: 0;
    margin-right: 15px;
    margin-top: 2px;
    background-color: rgba(34,45,51,.05);
    border: 1px solid rgba(34,45,51,.05);
}

/* homepage scroll invert*/
body.home{
	overflow: hidden;
}
.herowrapper .logo {
	display: inline-block;
    width: 130px;
    height: 31px;
    transition: all .4s;
    z-index: 1;
    position: absolute;
    top: 20%;
    left: 120px;
    fill: #fff;
    transform: translate(0,-50%);
}
.herowrapper .logo svg {
	fill: #FFF;
    width: 100%;
    height: 100%;
}
.herowrapper {
	width: 100vw;
	display: block;
	height: 100vh;
	top:0px;
	overflow: hidden;
    position: relative;
    box-shadow: 0 4px 15px 0 hsla(0,0%,50%,.25);
    -webkit-transition: all 0.5s;
    -moz-transition: all 0.5s;
    transition: all 0.5s;
}
.parallax {
	width: 100vw;
	display: block;
	max-height: 100vh;
	overflow: scroll;
}
.herowrapper .left {
    width: 100vw;
	display: table-cell;
	height: 100vh;
	-webkit-transition: all 0.5s;
    -moz-transition: all 0.5s;
    transition: all 0.5s;
}
.herowrapper .left .image {
	width: 100%;
	height: 100%;
	display: block;
	position: relative;
}
.herowrapper .left .image .title {
	font-size: 14vh;
    font-weight: bold;
    color: #fff;
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    text-shadow: 0px 2px 15px #000;
    white-space: nowrap;
}
.herowrapper .right {
	top: calc(100vh * 3);
	width: 50vw;
    display: table-cell;
    height: 100vh;
    position: absolute;
    right: 0px;
    pointer-events: none;
}
.herowrapper .right.animation {
	-webkit-transition: all 0.5s;
    -moz-transition: all 0.5s;
    transition: all 0.5s;
}

.herowrapper .right .image {
	width: 100%;
	height: 100%;
	display: block;
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
	position: relative;
	overflow: hidden;
}
.herowrapper .right .image .title {
	font-size: 14vh;
    font-weight: bold;
    color: #fff;
    position: absolute;
    top: 50%;
    transform: translate(-50%, -50%);
    white-space: nowrap;
    text-shadow: 0px 2px 15px rgba(0, 0, 0, 0.2);
}

.content {
    padding-top: 35px;
    opacity: 1;
    margin-top: 0;
    transition: all .4s .6s;
    margin-top: 20px;	
    visibility: visible;
    position: absolute;
    bottom: 50px;
    left: 140px;
    width: 30%;
    color: #fff;
}
.read-more-btn span{
	display: inline-block;
	vertical-align: middle;
}
.read-more-btn svg{
	display: inline-block;
	vertical-align: middle;
    width: 15px;
    height: 15px;
    fill: #FFF;	
}
.read-more-btn > .icon svg {
    width: 20px;
    height: 20px;
    fill: #FFF;
} 
.read-more-btn .font-muli {
    text-transform: uppercase;
    font-size: 12px;
    letter-spacing: .16em;
    text-decoration: none;
    color: #FFF;
}
.read-more-btn > .icon {
	background-color: #FFF;
    border: 1px solid rgba(255,255,255,0.4);
    color: #FFF;
    border-radius: 15px;
    box-sizing: content-box;
    padding: 8px 15px;
    height: 12px;
    width: 12px;
    transition: all .4s;
    margin-left: 20px;
    display: inline-block;
}
.read-more-btn span{
	color: #fff;
}
.herowrapper .link, .herowrapper a, .herowrapper h1, .herowrapper h2, .herowrapper h3 {
    color: #FFF;
    text-decoration: none;
    cursor: pointer;
}
.footer {
	background: #000;
	/*height: 500px;*/
	height: auto;
	width: 100%;
	
}
.home footer{
	top: 0px;
	height: 90vh;
	display: block;
	position: relative;
	-webkit-transition: all 0.5s;
    -moz-transition: all 0.5s;
    transition: all 0.5s;
}

/* Buttons */
button {
	outline: none;
}
.btn, .btn-style-none, .primary-btn, .secondary-btn {
    background: transparent;
    box-shadow: none;
    border: none;
    border-radius: 0;
}
.btn, .primary-btn, .secondary-btn {
    display: inline-block;
    margin-bottom: 0;
    font-weight: 400;
    text-align: center;
    vertical-align: middle;
    -ms-touch-action: manipulation;
    touch-action: manipulation;
    cursor: pointer;
    background-image: none;
    border: 1px solid transparent;
    white-space: nowrap;
    padding: 6px 12px;
    font-size: 14px;
    line-height: 1.428571429;
    border-radius: 4px;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}
.btn, .primary-btn, .secondary-btn {
    text-transform: uppercase;
    /* border-radius: 21px; */
    font-size: 12px;
    letter-spacing: .16em;
    text-decoration: none;
    line-height: 22px;
    padding: 9px 40px;
    height: auto;
    transition: all .4s;
}
.secondary-btn.white {
    color: #fff;
    border-color: hsla(0,0%,100%,.2);
}
.secondary-btn {
    border: 1px solid rgba(0,0,0,.2);
    background-color: transparent;
    color: #000;
}

/* SVG Icon */
svg {
    vertical-align: middle;
}
svg.icon {
    width: 20px;
    height: 20px;
}
svg:not(:root) {
    overflow: hidden;
}

/* Red more */
.read-more-btn > span {
    text-transform: uppercase;
    font-size: 12px;
    letter-spacing: .16em;
    text-decoration: none;
    color: #000;
}
.read-more-btn > .icon {
    background-color: transparent;
    border: 1px solid rgba(0,0,0,.4);
    color: #000;
    border-radius: 15px;
    box-sizing: content-box;
    padding: 8px 15px;
    height: 12px;
    width: 12px;
    transition: all .4s;
    margin-left: 20px;
}
.col-md-home:hover .read-more-btn > .icon {
    border-color: #000;
    background-color: #000;
    color: #fff;
}

/* sidebar */
sidebar {
    position: fixed;
    top: 50vh;
    left: 15px;
    bottom: 0;
    background-color: #fff;
    text-align: center;
    padding-top: 80px;
    z-index: 14;
    width: 80px;
    height: 80vh;
    transform: translate(0,-50%);
    border-radius: 10px;
}
sidebar logo > svg {
	width: 35px;
    height: 35px;
}
sidebar logo > svg path {
	fill: #000;
}
sidebar #sidebar_enquire {
    border-radius: 0;
    position: absolute;
    bottom: 0;
    left: 0;
    -webkit-transform: rotate(-90deg);
    -ms-transform: rotate(-90deg);
    transform: rotate(-90deg);
    -webkit-transform-origin: 0 0;
    -ms-transform-origin: 0 0;
    transform-origin: 0 0;
    background-color: #ebebeb;
    color: #000;
    height: 80px;
    width: 250px;
    margin-bottom: -80px;
    padding: 10px 40px;
    border-bottom-left-radius: 10px;
    border-top-left-radius: 10px;
}
sidebar #sidebar_enquire .icon {
    width: 20px;
    height: 17px;
    margin-right: 15px;
    -webkit-transform: rotate(90deg);
    -ms-transform: rotate(90deg);
    padding-right: 1px;
}
sidebar #menu-container {
	position: absolute;
    top: 144px;
    left: 50%;
    width: 30px;
    -webkit-transform: translate(-50%,0);
    transform: translate(-50%,0);
    cursor: pointer;
}
sidebar #menu-container .bars {
	width: 30px;
    height: 30px;
    position: relative;
	-webkit-transition: -webkit-transform 0.3s cubic-bezier(0.694, 0.048, 0.335, 1);
	transition: -webkit-transform 0.3s cubic-bezier(0.694, 0.048, 0.335, 1);
	transition: transform 0.3s cubic-bezier(0.694, 0.048, 0.335, 1);
	transition: transform 0.3s cubic-bezier(0.694, 0.048, 0.335, 1), -webkit-transform 0.3s cubic-bezier(0.694, 0.048, 0.335, 1);
}
sidebar #menu-container .bars span {
	display: block;
    width: 100%;
    height: 2px;
    background-color: #000;
    margin-top: 4px;
}
sidebar #menu-container .bars span:first-child {
	margin-top: 9px;
	-webkit-transform: scaleX(1);
	transform: scaleX(1);
	-webkit-transition: -webkit-transform 0.2s cubic-bezier(0.694, 0.048, 0.335, 1);
	transition: -webkit-transform 0.2s cubic-bezier(0.694, 0.048, 0.335, 1);
	transition: transform 0.2s cubic-bezier(0.694, 0.048, 0.335, 1);
	transition: transform 0.2s cubic-bezier(0.694, 0.048, 0.335, 1), -webkit-transform 0.2s cubic-bezier(0.694, 0.048, 0.335, 1);
	-webkit-transition-delay: 0.4s;
	transition-delay: 0.4s;
}
sidebar #menu-container .bars span:nth-child(3) {
	width: 65%;
	-webkit-transition: width 0.2s cubic-bezier(0.694, 0.048, 0.335, 1);
	transition: width 0.2s cubic-bezier(0.694, 0.048, 0.335, 1);
	-webkit-transition-delay: 0.4s;
	transition-delay: 0.4s;
}
sidebar #menu-container .bars .other-bar {
	width: 2px;
    height: 0;
    background-color: #000;
    position: absolute;
    top: -8px;
    left: 50%;
    webkit-transition: height 0.4s cubic-bezier(0.694, 0.048, 0.335, 1);
    transition: height 0.4s cubic-bezier(0.694, 0.048, 0.335, 1);
    z-index: 10;
}
sidebar #menu-container.is-menu-open .bars {
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	-webkit-transition-delay: 0.4s;
	transition-delay: 0.4s;
	margin-left: -5px;
}
sidebar #menu-container.is-menu-open .bars span:first-child {
	-webkit-transform: scaleX(0);
	transform: scaleX(0);
	-webkit-transition: -webkit-transform 0.2s cubic-bezier(0.694, 0.048, 0.335, 1);
	transition: -webkit-transform 0.2s cubic-bezier(0.694, 0.048, 0.335, 1);
	transition: transform 0.2s cubic-bezier(0.694, 0.048, 0.335, 1);
	transition: transform 0.2s cubic-bezier(0.694, 0.048, 0.335, 1), -webkit-transform 0.2s cubic-bezier(0.694, 0.048, 0.335, 1);
}
sidebar #menu-container.is-menu-open .bars span:nth-child(3) {
	width: 0;
	-webkit-transition: width 0.2s cubic-bezier(0.694, 0.048, 0.335, 1);
	transition: width 0.2s cubic-bezier(0.694, 0.048, 0.335, 1);
}
sidebar #menu-container.is-menu-open .bars .other-bar {
	height: 30px;
	-webkit-transition: height 0.2s cubic-bezier(0.694, 0.048, 0.335, 1);
	transition: height 0.2s cubic-bezier(0.694, 0.048, 0.335, 1);
	-webkit-transition-delay: 0.3s;
	transition-delay: 0.3s;
}

/* Main menu container */
#main_menu_container {
    width: 80px;
    transition: width .8s;
    background-color: #fff;
    box-shadow: 0 4px 15px 0 rgba(0,0,0,.25);
    z-index: 13;
    position: fixed;
    left: 15px;
    top: 50vh;
    bottom: 0;
    overflow-y: scroll;
    height: 80vh;
    transform: translate(0,-50%);
    border-radius: 10px;
}
#main_menu_container #main_menu {
    /*padding: 160px 0 83px 100px;*/
    padding: 160px 0 50px 100px;
    z-index: 15;
}
#main_menu_container #main_menu #sidebar_logo {
	position: absolute;
    top: 85px;
    left: 100px;
}
#main_menu_container #main_menu #sidebar_logo svg {
    width: 110px;
    height: 30px;
    display: block;
}
#main_menu_container #main_menu.overflow-auto .sidebar-menu-inner-wrapper {
    overflow-y: auto;
}
#main_menu_container #main_menu .sidebar-menu-inner-wrapper {
    height: 100%;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
}
#main_menu_container #main_menu .sidebar-menu-top {
    -webkit-flex: 1 0 auto;
    -ms-flex: 1 0 auto;
    flex: 1 0 auto;
}
#main_menu_container #main_menu .sidebar-menu-top hr {
    opacity: 0;  /* Solo se bisogna farlo vedere */
	opacity: 1;
    display: block;
    transform: translateY(0px);
}
#main_menu .sidebar-menu-top .menu li {
    padding-bottom: 4px;
    display: list-item;
    opacity: 0;
    transform: translateY(10px);
    transition: opacity 0.2s ease-out, transform 0.2s;
}
#main_menu .sidebar-menu-top .menu li a {
    text-decoration: none;
    font-size: 20px;
    line-height: 24px;
    letter-spacing: .02em;
    color: #000;
    transition: all .4s;
    display: inline-block;
    width: 100%;
    padding: 8px;
    pointer-events: auto;
}
#main_menu_container #main_menu .sidebar-menu-top .menu {
    margin-top: -8px;
    margin-left: -8px;
    margin-bottom: 10px;
    opacity: 0;
    transform: translateY(10px);
    transition: opacity 0.2s ease-out, transform 0.2s;
}
#main_menu_container #main_menu .sidebar-menu-top > hr {
    margin-top: 0;
    margin-bottom: 50px;
    border-color: #ebebeb;
}
#main_menu_container #main_menu .sidebar-menu-bottom {
	-webkit-flex: 0 0 auto;
	-ms-flex: 0 0 auto;
	flex: 0 0 auto;
}
#main_menu_container #main_menu .sidebar-menu-bottom .enquire {
    display: block;
    opacity: 0;
    transform: translateY(10px);
    transition: opacity 0.2s ease-out, transform 0.2s;
}
#main_menu_container #main_menu .sidebar-menu-bottom #main_menu_enquire {
    margin-left: -20px;
    padding: 20px;
    width: 100%;
    text-align: left;
}
#main_menu_container #main_menu .sidebar-menu-bottom #main_menu_enquire .icon {
    margin-right: 25px;
}
#main_menu_container #main_menu .sidebar-menu-bottom > hr {
    margin-top: 0;
    margin-bottom: 30px;
    border-color: #ebebeb;
}
#main_menu_container #main_menu .sidebar-menu-bottom .contact {
    color: #999;
    opacity: 0;
    transform: translateY(10px);
    transition: opacity 0.2s ease-out, transform 0.2s;
}
#main_menu_container #main_menu .sidebar-menu-bottom .contact a {
    color: #000;
    display: inline-block;
    padding: 2px 0;
}
#main_menu_container #main_menu .sidebar-menu-bottom .contact .link-tel {
    color: #999;
    text-decoration: none;
}
#main_menu_container #main_menu .sidebar-menu-bottom .contact .address {
    margin-top: 5px;
}
#main_menu_container #main_menu .sidebar-menu-bottom .social {
    opacity: 0;
    transform: translateY(10px);
    transition: opacity 0.2s ease-out, transform 0.2s;
}
#main_menu_container #main_menu .social-links {
    display: inline-block;
    margin-left: -14px;
    color: #000;
}
#main_menu_container #main_menu .social-links a {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    padding: 7px;
    margin: 0 7px;
    transition: color .2s ease-in;
    color: #000;
}
#main_menu_container #main_menu .social-links a .icon {
    width: 18px;
    height: 18px;
}
#main_menu_container #main_menu .social-links a:active, #main_menu_container #main_menu .social-links a:active:focus, #main_menu_container #main_menu .social-links a:focus {
    outline: none;
}
#main_menu_container #main_menu .social-links .inner {
    display: -webkit-inline-flex;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
}

/* Overlay */
overlay {
	position: fixed;
    top: 0px;
    left: 0px;
    right: 0px;
    bottom: 0px;
    background-color: #000;
    display: none;
    overflow: hidden;
}

/* Wrapper */
wrapper {
	/* position: absolute;
    top: 0px;
    left: 80px;
    right: 0px;
    bottom: 0px; */
    background-color: #FFF;
    height: auto;
    display: block;
    overflow: hidden;
}
wrapper section {
	background-color: #FFF;
}

/* header */
header {
    position: relative;
    height: 800px;
    max-height: 80vh;
    background-color: #fff;
}
body.home header {
    height: 1150px;
    min-height: 580px;
    z-index: 0;
}
header .inner-wrapper {
	position: relative;
    height: 100%;
    margin: 0 auto;
    width: 1400px;
    max-width: calc(100% - 300px);
    padding-left: 150px;
    padding-right: 150px;
    box-sizing: content-box;
}
header .content {
    position: absolute;
    left: 0;
    bottom: 60px;
    width: 600px;
    max-width: 100%;
    z-index: 3;
}
body.home header .logo {
    opacity: 0;
    margin-top: 70px;
    display: inline-block;
    width: 130px;
    height: 31px;
    transition: all .4s;
    position: relative;
    z-index: 1;
}
body.home header .logo h1 > svg {
    color: #FFF;
    width: 100%;
    height: 100%;
}
body.home header .logo h1 > svg path, body.home header .logo h1 > svg rect {
    fill: #FFF;
}​
body.home header .logo h1 {
    margin: 0;
    line-height: 0;
}
body.home header .content {
    position: relative;
    top: auto;
    left: auto;
    right: auto;
    bottom: auto;
    width: 760px;
    height: 100%;
}
body.home header .content > .inner {
    position: absolute;
    top: 121px;
    bottom: 180px;
    left: 0;
    right: 0;
}
body.home header .content > .inner .text {
    position: absolute;
    top: 50%;
    right: auto;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
}
body.home header  .content>.inner .text h2 {
    color: #fff;
    margin-bottom: 0;
}
body.home header #banner_video_btn, body.home header h2 {
    opacity: 0;
    -webkit-transform: translateY(20px);
    -ms-transform: translateY(20px);
    transform: translateY(20px);
    transition: opacity .6s,-webkit-transform .6s .3s;
    transition: opacity .6s,transform .6s .3s;
    transition: opacity .6s,transform .6s .3s,-webkit-transform .6s .3s;
}
body.home header .videoLoop {
    z-index: 2;
    background-color: #000;
    position: relative;
    overflow: hidden;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
}
body.home header .videoLoop #background_video {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%,-50%);
    -ms-transform: translate(-50%,-50%);
    transform: translate(-50%,-50%);
}
body.home header .videoLoop #video_cover {
    position: absolute;
    width: 100%;
    height: 100%;
    background-repeat: no-repeat;
    background-size: cover;
    background-position: 50%;
}
body.home header .videoLoop .videoLoop-overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    overflow: hidden;
    background: rgba(0,0,0,.3);
}
body.home header .banner-img.has-video {
    display: none;
}
body.home header .banner-img.mobile {
    display: none;
}
body header .banner-img {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    width: 67%;
    z-index: 0;
    background-size: cover;
    background-position: 50% 50%;
    background-color: #ebebeb;
}
body.home header .banner-img {
    width: 100%;
    overflow: hidden;
    z-index: 1;
    background-color: #222d33;
}
.banner-img.aboutus{
	background-image: url(/assets/images/about.jpg);
}
.banner-img.platform{
	background-image: url(/assets/images/platform.jpg);
}
.banner-img.tailormade{
	background-image: url(/assets/images/tailormade.jpg);
}
.banner-img.network{
	background-image: url(/assets/images/network.jpg);
}
.banner-img.solutions{
	background-image: url(/assets/images/solutions.jpg);
}
.banner-img.cloud{
	background-image: url(/assets/images/cloud.jpg);
}
.banner-img.security{
	background-image: url(/assets/images/security.jpg);
}
body.home header .content>.inner .text .secondary-btn {
    margin-top: 30px;
}
body.home header #banner_video_btn, body.home header #home_featured_projects {
    transition: opacity .6s,-webkit-transform .6s;
    transition: opacity .6s,transform .6s;
    transition: opacity .6s,transform .6s,-webkit-transform .6s;
}
body.home header #banner_video_btn, body.home header h2 {
    opacity: 0;
    -webkit-transform: translateY(20px);
    -ms-transform: translateY(20px);
    transform: translateY(20px);
    transition: opacity .6s,-webkit-transform .6s .3s;
    transition: opacity .6s,transform .6s .3s;
    transition: opacity .6s,transform .6s .3s,-webkit-transform .6s .3s;
}

/* Page content */
body.home #home_featured_projects {
    opacity: 0;
    -webkit-transform: translateY(60px);
    -ms-transform: translateY(60px);
    transform: translateY(60px);
}
body.home #banner_video_btn, body.home #home_featured_projects {
    transition: opacity .6s,-webkit-transform .6s;
    transition: opacity .6s,transform .6s;
    transition: opacity .6s,transform .6s,-webkit-transform .6s;
}
#home_featured_projects .inner-wrapper {
    position: relative;
    margin: 0 auto;
    width: 1400px;
    max-width: calc(100% - 300px);
    padding-left: 150px;
    padding-right: 150px;
    box-sizing: content-box;
}
body.home #page_content {
    margin-top: -180px;
    padding-bottom: 100px;
    z-index: 1;
}
#home_featured_projects .row {
    margin-left: -40px;
    margin-right: -40px;
}
#home_featured_projects .col-md-home {
    width: 25%;
    position: relative;
    min-height: 1px;
    padding-left: 40px;
    padding-right: 40px;
    display: inline-block;
    float: left;
    cursor: pointer;
    -webkit-perspective: 300px;
    perspective: 300px;
}
#home_featured_projects .col-md-home a {
	outline: none;
	text-decoration: none;
}
#home_featured_projects .col-md-home p {
	color: #414141;
}
#home_featured_projects .col-md-home .img {
    width: 100%;
    height: 20vh;
    padding-bottom: 60%;
    background-size: cover;
    background-position: 50% 50%;
    position: relative;
    background-color: #000;
    overflow: hidden;
    -webkit-transition: .3s all ease;
    transition: .3s all ease;
}
#home_featured_projects .col-md-home:hover .img{
	-webkit-transform: rotateX(15deg) scale(.90);
    transform: rotateX(15deg) scale(0.90);
    box-shadow: 0 15px 20px 5px rgba(0,0,0,.2);
}
#home_featured_projects .col-md-home .img svg {
    height: 45%;
    -webkit-transform: translate(-50%,-50%);
    transform: translate(-50%,-50%);
    left: 50%;
    top: 50%;
    position: absolute;
    z-index: 9999;
}
#home_featured_projects .col-md-home .img svg path {
	fill: #FFF;
} 
#home_featured_projects .col-md-home .content {
    padding-top: 35px;
    opacity: 1;
    margin-top: 0;
    transition: all .4s .6s;
    margin-top: 20px;
    visibility: visible;
}
#home_featured_projects .col-md-home .read-more-btn, #home_featured_projects .col-md-home .read-more-btn a {
    outline: none;
    text-decoration: none;
}
#home_featured_projects .col-md-home .img .overlay {
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0px;
	left: 0px;
	transition: top .4s;
	background-color: rgba(0, 0, 0, 0.50);
}
#home_featured_projects .col-md-home:hover .img .overlay {
	top: 100vh;
}

/* logo home */
#home_featured_projects .col-md-home.cyber .img {
	background-color: #3a3a3a;
}
#home_featured_projects .col-md-home.cyber .img svg {
	height: 45%;
}
#home_featured_projects .col-md-home.complic .img {
	background-color: #28b5f5;
}
#home_featured_projects .col-md-home.complic .img svg {
	height: 35%;
}
#home_featured_projects .col-md-home.scatola .img {
	background-color: #e64d40;
}
#home_featured_projects .col-md-home.scatola .img svg {
	height: 40%;
}
#home_featured_projects .col-md-home.studio .img {
	background-color: #25c5db;
}
#home_featured_projects .col-md-home.studio .img svg {
	height: 30%;
}

/* Wrapper - content */
.freeform-section {
    padding: 80px 0;
    position: relative;
}
.freeform-section .row-container:first-child {
    margin-top: -80px;
    padding-top: 80px;
}
.freeform-section.last{
	padding-bottom: 0;
	padding-top: 140px;
}
.freeform-section .container {
    background: #e8eaea;
    padding-left: 120px;
    padding-top: 50px;
    padding-bottom: 50px;
}
.freeform-section .container.shortClaim .claim{
	width: 30%;
}
.freeform-section .container.shortClaim .description{
	width: 60%;
}
.freeform-section .container.thin .box_image{
	top: 50%;
    transform: translate(0,-50%);	
}
.freeform-section.last .box_image{
	top: 0;
	height: 90%;
}
.freeform-section .container .testo{
    width: 60%;
    display: inline-block;
    vertical-align: middle;
}
.freeform-section .container.invert .testo{
	margin-left: 30%;
}
.freeform-section .container .claim, .freeform-section .container .description{
	width: 45%;
	display: inline-block;
	vertical-align: top;
	margin: 10px;
}
.freeform-section .box_image {
    position: absolute;
    display: inline-block;
    vertical-align: middle;
    width: 25%;
    height: 65%;
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
    border-radius: 10px;
    margin: 10px;
}
.freeform-section .thin .box_image{
	height: 90%;
}
.freeform-section .invert .box_image {
	left: 105px;	
}
.about .freeform-section .box_image {
	background-image: url(/assets/images/about_us.jpg);
}
.platform .freeform-section .box_image.one {
	background-image: url(/assets/images/platform1.jpg);
}
.platform .freeform-section .box_image.cloud {
	background-image: url(/assets/images/platform2.jpg);
}
.platform .freeform-section .box_image.unvostro {
	background-image: url(/assets/images/platform3.jpg);
}
.platform .freeform-section .box_image.silce {
	background-image: url(/assets/images/silce.jpg);
}
.tailormade .freeform-section .box_image.tailorone {
	background-image: url(/assets/images/tailor_made1.jpg);
}
.tailormade .freeform-section .box_image.tailortwo {
	background-image: url(/assets/images/tailor_made2.jpg);
}
.network .freeform-section .box_image.cloud {
	background-image: url(/assets/images/cloud_rect.jpg);
}
.network .freeform-section .box_image.connettivita {
	background-image: url(/assets/images/connettivita_rect.jpg);
}
.network .freeform-section .box_image.mail {
	background-image: url(/assets/images/mail_rect.jpg);
}
.network .freeform-section .box_image.assistenza {
	background-image: url(/assets/images/assistenza_rect.jpg);
}
.network .freeform-section .box_image.telefonia {
	background-image: url(/assets/images/telefonia_rect.jpg);
}
.solutions .freeform-section .box_image.gestione {
	background-image: url(/assets/images/gestione_rect.jpg);
}
.solutions .freeform-section .box_image.sviluppo {
	background-image: url(/assets/images/sviluppo_rect.jpg);
}
.solutions .freeform-section .box_image.contenuti {
	background-image: url(/assets/images/contenuti_rect.jpg);
}
.solutions .freeform-section .box_image.business {
	background-image: url(/assets/images/business_rect.jpg);
}
.cloud .freeform-section .box_image.tutto {
	background-image: url(/assets/images/tutto_rect.jpg);
}
.security .freeform-section .box_image.cyber {
	background-image: url(/assets/images/cyber_rect.jpg);
}
.security .freeform-section .box_image.necessario {
	background-image: url(/assets/images/necessario_rect.jpg);
}
.security .freeform-section .box_image.recam {
	background-image: url(/assets/images/recam_rect.jpg);
}
.about .sub_section{
	margin-top: 50px;
	margin-left: 150px;
	border-bottom: 1px solid;
	width: 60vw;
	font-size: 26px;
	padding-bottom: 15px;
}
.about .code_container{
	margin-left: 150px;
	width: calc(100vw - 150px);
}
.about .code_container .icon{
	display: inline-block;
	vertical-align: middle;
	width: 150px;
	height: 150px;
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
}
.about .icon.node{
	background-image: url(/assets/images/node.svg);
}
.about .icon.php{
	background-image: url(/assets/images/php.svg);
}
.about .icon.swift{
	background-image: url(/assets/images/swift.svg);
}
.about .icon.java{
	background-image: url(/assets/images/java.svg);
}
.about .icon.html{
	background-image: url(/assets/images/html.svg);
}
.about .icon.python{
	background-image: url(/assets/images/python.svg);
}
.about .icon.apple{
	background-image: url(/assets/images/apple.svg);
}
.about .icon.rails{
	background-image: url(/assets/images/rails.svg);
}
.about .icon.angular{
	background-image: url(/assets/images/angular.svg);
}
.about .icon.mongo{
	background-image: url(/assets/images/mongo.svg);
}
.about .icon.node{
	background-image: url(/assets/images/node.svg);
}
.about .icon.json{
	background-image: url(/assets/images/json.svg);
}
.about .icon.net{
	background-image: url(/assets/images/net.svg);
}
.about .icon.visual{
	background-image: url(/assets/images/visual.svg);
}
.about .icon.android{
	background-image: url(/assets/images/android.svg);
}
.about .icon.registro{
	background-image: url(/assets/images/registro.svg);
}
.about .icon.open{
	background-image: url(/assets/images/open.svg);
}
.about .icon.eur{
	background-image: url(/assets/images/eur.svg);
}
.about .icon.ripe{
	background-image: url(/assets/images/ripe.svg);
}
.about .icon.tucows{
	background-image: url(/assets/images/tucows.svg);
}
.about .certificati{
	width: 100vw;
	padding-left: 75px;
	background-color: #4a7abc;
	text-align: center;
	color: #fff;
	padding-top: 50px;
	margin-bottom: 50px;
}
.about .certificati .title{
	opacity: 0.8;
	font-size: 20px;
	display: inline-block;
  	position: relative;  
}
.about .certificati .title:before,
.about .certificati .title:after {
  content: "";
  position: absolute;
  height: 5px;
  border-top: 1px solid white;
  top: 8px;
  width: 600px;
}
.about .certificati .title:before {
  right: 100%;
  margin-right: 15px;
}
.about .certificati .title:after {
  left: 100%;
  margin-left: 15px;
}
.about .certificazioni .iso{
	display: inline-block;
	vertical-align: middle;
	width: 150px;
	height: 150px;
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
	background-image: url(/assets/images/iso.svg);
}
.about .certificazioni .gdpr{
	display: inline-block;
	vertical-align: middle;
	width: 150px;
	height: 150px;
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
	background-image: url(/assets/images/gdpr.svg);
}
.about .certificazioni .sdi{
	display: inline-block;
	vertical-align: middle;
	width: 150px;
	height: 150px;
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
	background-image: url(/assets/images/sdi.svg);
}
.prodotti{
	margin-top: 50px;
	margin-bottom: 50px;
	padding-bottom: 50px;
	padding-left: 80px;
}
.prodotti .container{
	width: calc(100vw -  80px);
	text-align: center;
}
.prodotti .container .prodotto{
	width: 35%;
	margin: 40px;
	display: inline-block;
	vertical-align: middle;
	text-align: center;
}
.prodotti .container .prodotto .image {
    width: 300px;
    height: 200px;
    background-position: center center;
    background-size: cover;
    background-repeat: no-repeat;
    margin: 0 auto;
}
.prodotti .container .prodotto .logo{
	width: 250px;
	height: 50px;
	border-radius: 25px;
	box-shadow: 0 0 10px rgba(0,0,0,0.2);
	margin: 20px auto;
	line-height: 50px;
}
.prodotti .container .prodotto .logo .product_logo{
	width: 100%;
	height: 35px;
}
.logo .product_logo.unvostro{
	fill: #0063a3; 
}
.logo.scatola{
	background-color:#ff5a5a; 
}
.logo.sender{
	background-color:#f08a00; 
}
.logo.digital{
	background-image: linear-gradient(135deg, #4a7abc 0%, #262a66 100%);
}
.image.unvostro{
	background-image: url(/assets/images/unvostro.png);
}
.logo .product_logo.scatola{
	fill: #fff; 
}
.logo .product_logo.sender{
	fill: #fff; 
}
.logo .product_logo.bevoip{
	fill: #60aaf8; 
}
.logo .product_logo.digital{
	fill: #fff;
	width: 68% !important;
}
.logo .product_logo.digital .cls-1{
	opacity: 0.46;
}
.logo .product_logo.digital .cls-2{
	opacity:0.5;
}
.image.scatola{
	background-image: url(/assets/images/scatola.png);
}
.image.sender{
	background-image: url(/assets/images/sender.png);
}
.image.bevoip{
	background-image: url(/assets/images/bevoip.png);
}
.image.digital{
	background-image: url(/assets/images/digital.png);
}
.inner-wrapper, .wide-wrapper>.narrow-wrapper .map-custom .map-info-wrapper, .wide-wrapper>.narrow-wrapper .map-listing .map-info-wrapper, .wide-wrapper>.row .map-custom .map-info-wrapper {
    position: relative;
    margin: 0 auto;
    width: 1400px;
    max-width: calc(100% - 300px);
    padding-left: 150px;
    padding-right: 150px;
    box-sizing: content-box;
}
.cms-fragment a {
	text-decoration: none;
}
.cms-fragment .img {
    display: inline-block;
    width: 100%;
    height: 500px;
    background-position: 50% 50%;
    background-size: cover;
    transition: all .4s;
    margin-bottom: 35px;
    position: relative;
}
.cms-fragment .content {
    max-width: 650px;
}
.cms-fragment .subheading {
    margin-bottom: 6px;
}
.cms-fragment .heading {
    font-size: 26px;
    line-height: 34px;
}
.cms-fragment > a:hover .img .overlay {
    opacity: 1;
    visibility: visible;
}
.cms-fragment .img .overlay {
    background-color: #e8eaea;
    padding: 45px 50px;
    position: absolute;
    top: 80px;
    left: 80px;
    bottom: 0;
    right: 0;
    opacity: 0;
    visibility: hidden;
    transition: all .4s;
    color: #000;
    text-align: left;
}
.cms-fragment .img .overlay p {
    position: absolute;
    bottom: 45px;
    left: 50px;
    right: 50px;
    margin: 0;
    max-width: 400px;
}
.row-container li, .row-container p {
    color: #414141;
}

/* row-container */
.row {
    margin-left: -40px;
    margin-right: -40px;
}
.row-container .bg-color.h100, .row-container .row-bg-color.h100 {
    height: 100%;
}
.row-container .bg-color.h60, .row-container .row-bg-color.h60 {
    height: 60%;
}
.row-container .bg-color.h70, .row-container .row-bg-color.h70 {
    height: 70%;
}
.row-container .bg-color.h80, .row-container .row-bg-color.h80 {
    height: 80%;
}
.row-container .bg-color.white, .row-container .row-bg-color.white {
    background: #fff;
}
.row-container .bg-color.grey, .row-container .row-bg-color.grey {
    background: #e8eaea;
}
.row-container .bg-color.top, .row-container .row-bg-color.top {
    bottom: auto;
    top: 0;
}
.row-container .bg-color.top, .row-container .row-bg-color.top {
    bottom: auto;
    top: 0;
}
.row-container .bg-color, .row-container .row-bg-color {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 0;
}
.row:after, .row:before {
    content: " ";
    display: table;
}
.row:after {
    clear: both;
}
.row-container li, .row-container p {
    color: #414141;
}
.row-container p.lead {
    color: #000;
}

/* Page */
section.grey {
    background: #e8eaea;
}
section.freeform-section {
    padding: 80px 0;
	opacity: 0;
    transition: opacity .4s;
    margin-top: 50px;
    margin-bottom: 50px;
}
.freeform-section.unpadding{
	padding-bottom: 0;	
}
section.page_header {
	position: relative;
    height: 600px;
    max-height: 60vh;
	background-color: #fff;
}
section.page_header .banner-img {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	width: 67%;
	z-index: 0;
	background-size: cover;
	background-position: 50% 50%;
	background-color: #ebebeb;
}
section.page_header .banner-img:after {
    z-index: 2;
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
}
section.page_header .banner-img:after, .gradient-banner {
    background: linear-gradient(90deg,#FFFFFF 0,hsla(0,0%,100%,0));
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#FFFFFF",endColorstr="#00ffffff",GradientType=1);
}
section.page_header .inner-wrapper {
	position: relative;
	height: 100%;
}
section.page_header .inner-wrapper > .inner {
    position: relative;
    height: 100%;
}
section.page_header .inner-wrapper .content {
    position: absolute;
    left: 0;
    bottom: 60px;
    width: 600px;
    max-width: 100%;
    z-index: 3;
}
section.page_header .inner-wrapper .page_heading, section.page_header .inner-wrapper .page_description, section.articles {
	opacity: 0;
	-webkit-transform: translateY(20px);
	-ms-transform: translateY(20px);
	transform: translateY(20px);
	transition: opacity .6s,-webkit-transform .6s .3s;
	transition: opacity .6s,transform .6s .3s;
	transition: opacity .6s,transform .6s .3s,-webkit-transform .6s .3s;
}
.page_description.text_description{
	color: black;
	width: 60%;
}
.row .col-md-4.description{
	padding-left: 20px;
	padding-right: 20px;
}
section .col img {
    max-width: 100%;
    height: auto;
    vertical-align: middle;
    border: 0;
    position: relative;
}
section.reverse .col img {
	margin-top: -60%;
}

/* Section Article */
section .row article {
    width: 50%;
    max-width: 50%;
    min-width: 50%;
    padding-left: 40px;
    padding-right: 40px;
    margin-bottom: 100px;
    display: inline-block;
    float: left;
}
section .row article > a {
    position: relative;
    display: inline-block;
    width: 100%;
    text-decoration: none;
}
section .row article .img {
    position: relative;
    display: inline-block;
    width: 100%;
    height: 0;
    padding-bottom: 70%;
    margin-bottom: 30px;
    background-size: cover;
    background-position: 50% 50%;
    background-color: #999;
}
section .row article .img .overlay {
    position: absolute;
    top: 80px;
    left: 80px;
    right: 0;
    bottom: 0;
    background: #e8eaea;
    opacity: 0;
    visibility: hidden;
    transition: all .4s;
}
section .row article .img .overlay p {
    position: absolute;
    bottom: 55px;
    left: 60px;
    right: 60px;
    margin: 0;
}
section .row article > a:hover .img .overlay {
    opacity: 1;
    visibility: visible;
}
section .row article .content {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-align-items: flex-start;
    -ms-flex-align: start;
    align-items: flex-start;
}
section .row article .content .info {
    -webkit-flex: 1 0 auto;
    -ms-flex: 1 0 auto;
    flex: 1 0 auto;
}
section .row article .content .heading {
    font-size: 27px;
    line-height: 37px;
    margin-bottom: 10px;
}
section .row article .content .subheading {
    color: #b3b3b3;
    padding-left: 40px;
}
section .row article .content .more {
    -webkit-flex: 0 0 auto;
    -ms-flex: 0 0 auto;
    flex: 0 0 auto;
    margin-left: 20px;
    margin-top: -12px;
    display: inline-block;
    color: #000;
}
section .row article .content .more .icon {
    width: 45px;
    height: 45px;
    padding: 12px;
}

/* form */
.form-container {
    position: relative;
}
form {
    opacity: 1;
    visibility: visible;
    transition: all .3s;
}
.form-container .enquiry_error, .form-container .enquiry_success, .form-container .newsletter_error, .form-container .newsletter_success {
    display: none;
}
.form-container .enquiry_success, .form-container .newsletter_success {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
}
.form-group {
    margin-bottom: 15px;
}
.form-group {
    color: #222d33;
    -webkit-flex: 1 0 auto;
    -ms-flex: 1 0 auto;
    flex: 1 0 auto;
    margin-right: 0;
    margin-bottom: 30px;
    border-bottom: 1px solid rgba(0,0,0,.1);
    transition: border .4s;
}
.form-group label {
    color: #000;
    font-size: 12px;
    letter-spacing: .16em;
    text-transform: uppercase;
    margin-bottom: 0;
}
.parsley-errors {
    text-align: left;
    margin-top: 15px;
    margin-bottom: 20px;
}
.form-group .form-control {
    font-size: 16px;
    line-height: 23px;
    letter-spacing: normal;
    padding: 8px 0;
    border: 0;
    box-shadow: none;
    color: #000;
    background: transparent;
    border-radius: 0;
    height: 42px;
    max-width: 100%;
}
.form-control {
    width: 100%;
    height: 34px;
    padding: 6px 12px;
    background-color: #fff;
    background-image: none;
    border: 1px solid #ccc;
    border-radius: 4px;
    box-shadow: inset 0 1px 1px rgba(0,0,0,.075);
    transition: border-color .15s ease-in-out,box-shadow .15s ease-in-out;
}
.form-group .form-control:focus {
	outline: 0;
}
.form-group:hover {
    border-color: rgba(0,0,0,.4);
}
.form-group textarea.form-control {
    padding: 8px 0;
    height: 42px;
}
.form-control, output {
    display: block;
    font-size: 14px;
    line-height: 1.428571429;
    color: #555;
}
.checkbox-group.form-group {
    border: none;
}
.checkbox-group {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-direction: row-reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse;
    -webkit-justify-content: flex-end;
    -ms-flex-pack: end;
    justify-content: flex-end;
}
.checkbox-group label {
    font-weight: 500;
    text-transform: none;
    cursor: pointer;
    font-size: 14px;
    letter-spacing: normal;
    margin-bottom: 0;
}
.checkbox-group label a {
    text-decoration: underline;
}
.checkbox-group input {
    margin-right: 18px;
    margin-top: 3px;
}
.form-footer .primary-btn {
	border-radius: 21px;
    background-color: #000;
    color: #fff;
    border: 1px solid transparent;
}
.form-footer .primary-btn:focus, .form-footer .primary-btn:hover {
    color: #fff;
    background: rgba(0,0,0,.2);
    border-color: transparent;
    text-decoration: none;
}
.form-footer .primary-btn .icon {
    opacity: 1;
    visibility: visible;
    transition: opacity .4s,visibility .4s;
}

/* Footer */
footer {
    overflow: hidden;
    background-color: #000;
}
footer h3 {
    font-size: 21px;
    line-height: 32px;
}
footer .footer-info {
    padding: 70px 0;
}
footer .footer-info .top-row {
    margin-bottom: 70px;
}
footer .footer-info .logo {
    color: #fff;
    width: 130px;
    height: 32px;
    display: inline-block;
}
footer .footer-info .logo svg {
	fill: #FFF;
}
footer .footer-info .second-row:after {
	height: 50px;
}
footer .footer-info .social {
    text-align: right;
    margin-right: 50px;
}
footer .footer-info .social .social-links .inner {
    display: -webkit-inline-flex;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
}
footer .footer-info .social .social-links {
	display: inline-block;
    margin-left: 0;
    margin-right: -14px;
}
footer .footer-info .social .social-links a {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    padding: 7px;
    margin: 0 7px;
    transition: color .2s ease-in;
}
footer .footer-info .social .social-links.white a {
    color: #fff;
}
footer .second-row, footer .second-row * {
    color: #fff;
}
footer form.dark .form-group, form.dark .form-group {
    color: #fff;
    border-color: hsla(0,0%,100%,.2);
    font-size: 12px;
}
footer .form-group .form-control {
    font-size: 16px;
    line-height: 23px;
    letter-spacing: normal;
    padding: 8px 0;
    border: 0;
    box-shadow: none;
    color: #000;
    background: transparent;
    border-radius: 0;
    height: 42px;
    max-width: 100%;
    width: 100%;
    outline: none;
}
footer form.dark .form-group .form-control, form.dark .form-group .form-control {
    color: hsla(0,0%,100%,.5);
    font-size: 20px;
}
footer .footer-info .newsletter .primary-btn {
    position: relative;
    height: 42px;
    width: 82px;
    padding-left: 30px;
    padding-right: 30px;
    border-radius: 21px;
}
footer .footer-info .newsletter .primary-btn > span {
    display: none;
}
footer .footer-info .newsletter .primary-btn .icon {
    margin: 0;
    width: 20px;
    height: 20px;
}
footer .second-row, #main_footer .second-row * {
    color: #fff;
}
footer form.dark .primary-btn, form.dark .primary-btn {
    background-color: hsla(0,0%,100%,.2);
    color: #fff;
}
footer .footer-info .contact .address {
    margin-top: 4px;
    margin-bottom: 18px;
}
footer .footer-info .contact .text-link {
    color: #fff;
}
footer .footer-info .contact .link-tel {
    margin-top: -2px;
    text-decoration: none;
}
footer .footer-menu {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
}
footer .footer-menu > div {
    -webkit-flex: 1;
    -ms-flex: 1;
    flex: 1;
}
footer .footer-menu > div:first-child ul {
    padding-right: 30px;
}
footer .footer-menu ul {
    margin-left: -5px;
    margin-top: -5px;
}
footer .footer-menu ul li {
    margin-bottom: 0;
    padding-bottom: 0;
}
footer .footer-menu ul li a {
    text-decoration: none;
    color: hsla(0,0%,100%,.5);
    display: inline-block;
    width: 100%;
    padding: 3px 5px;
    font-size: 12px;
    letter-spacing: .16em;
    text-transform: uppercase;
}
footer .footer-credits {
    font-size: 14px;
}
footer .footer-credits > .inner-wrapper {
    padding-top: 40px;
    padding-bottom: 30px;
    position: relative;
}
footer .footer-credits > .inner-wrapper:before {
	content: "";
    position: absolute;
    top: 0;
    left: -60px;
    right: -60px;
    height: 1px;
    background-color: hsla(0,0%,100%,.1);
}
footer .footer-credits .links p {
    margin-bottom: 0;
}
footer .footer-credits .links, footer .footer-credits .links * {
    color: hsla(0,0%,100%,.4);
    width: 100%;
}

footer .copyright .row{
	margin-left: 0;
}

/* Colon */
.col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12, .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12, .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12, .col-xs-1, .col-xs-2, .col-xs-3, .col-xs-4, .col-xs-5, .col-xs-6, .col-xs-7, .col-xs-8, .col-xs-9, .col-xs-10, .col-xs-11, .col-xs-12 {
    position: relative;
    min-height: 1px;
    padding-left: 40px;
    padding-right: 40px;
}
@media screen and (min-width: 992px) {
	.col-md-offset-1 {
	    margin-left: 8.3333333333%;
	}
	.col-md-3 {
	    width: 25%;
	}
	.col-md-4 {
	    width: 33.3333333333%;
	}
	.col-md-6 {
		width: 50%;
	}
	.col-md-7 {
	    width: 58.3333333333%;
	}
	.col-md-8 {
	    width: 66.6666666667%;
	}
}
@media screen and (min-width: 992px) {
	.col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12 {
	    float: left;
	}	
}

/* error 404 */
.contain404 {
	width: 100%;
    height: 500px;
}
.contain404 .error {
	text-align: center;
	font-size: 200px;
	width: 400px;
    height: 140px;
    line-height: 200px;
	margin: auto;
	position: absolute;
	top: 0;
	bottom: 0;
	left: -60px;
	right: 0;
	animation: noise 2s linear infinite;
	overflow: default;
}
.contain404 .error span:after {
	content: '404';
	font-size: 200px;
	text-align: center;
	width: 400px;
	height: 60px;
	line-height: 200px;
	margin: auto;
	position: absolute;
	top: -40px;
	bottom: 0;
	left: 0;
	right: 0;
	opacity: 0;
	color: green;
	animation: noise-1 .1s linear infinite;
}
.contain404 .error:after {
	content: '404';
	font-size: 200px;
	text-align: center;
	width: 400px;
	height: 140px;
	line-height: 200px;
	margin: auto;
	position: absolute;
	top: -10px;
	bottom: 0;
	left: 0;
	right: 0;
	opacity: 0;
	color: blue;
	animation: noise-1 .2s linear infinite;
}
.contain404 .error:before {
	content: '404';
	font-size: 200px;
	text-align: center;
	width: 400px;
	height: 140px;
	line-height: 200px;
	margin: auto;
	position: absolute;
	top: 0;
	bottom: 0;
	left: -20px;
	right: 0;
	opacity: 0;
	color: red;
	animation: noise-2 .2s linear infinite;
}
.contain404 .info {
	font-size: 15px;
    text-align: center;
    width: 200px;
    height: 140px;
    line-height: 60px;
    margin: 0 auto;
    bottom: 0;
    left: 0;
    right: 0;
    animation: noise-3 1s linear infinite;
}
.contain404 .update {
	text-align: center;
	font-size: 200px;
	width: 400px;
    height: 140px;
    line-height: 200px;
	margin: auto;
	position: absolute;
	top: 0;
	bottom: 0;
	left: -60px;
	right: 0;
	animation: noise 2s linear infinite;
	overflow: default;
}
.contain404 .update span:after {
	content: '204';
	font-size: 200px;
	text-align: center;
	width: 400px;
	height: 60px;
	line-height: 200px;
	margin: auto;
	position: absolute;
	top: -40px;
	bottom: 0;
	left: 0;
	right: 0;
	opacity: 0;
	color: green;
	animation: noise-1 .1s linear infinite;
}
.contain404 .update:after {
	content: '204';
	font-size: 200px;
	text-align: center;
	width: 400px;
	height: 140px;
	line-height: 200px;
	margin: auto;
	position: absolute;
	top: -10px;
	bottom: 0;
	left: 0;
	right: 0;
	opacity: 0;
	color: blue;
	animation: noise-1 .2s linear infinite;
}
.contain404 .update:before {
	content: '204';
	font-size: 200px;
	text-align: center;
	width: 400px;
	height: 140px;
	line-height: 200px;
	margin: auto;
	position: absolute;
	top: 0;
	bottom: 0;
	left: -20px;
	right: 0;
	opacity: 0;
	color: red;
	animation: noise-2 .2s linear infinite;
}
@keyframes noise-1 {
	0%, 20%, 40%, 60%, 70%, 90% {opacity: 0;}
	10% {opacity: .1;}
	50% {opacity: .5; left: -6px;}
	80% {opacity: .3;}
	100% {opacity: .6; left: 2px;}
}
@keyframes noise-2 {
	0%, 20%, 40%, 60%, 70%, 90% {opacity: 0;}
	10% {opacity: .1;}
	50% {opacity: .5; left: 6px;}
	80% {opacity: .3;}
	100% {opacity: .6; left: -2px;}
}
@keyframes noise {
	0%, 3%, 5%, 42%, 44%, 100% {opacity: 1; transform: scaleY(1);}  
	4.3% {opacity: 1; transform: scaleY(1.7);}
	43% {opacity: 1; transform: scaleX(1.5);}
}
@keyframes noise-3 {
	0%,3%,5%,42%,44%,100% {opacity: 1; transform: scaleY(1);}
	4.3% {opacity: 1; transform: scaleY(4);}
	43% {opacity: 1; transform: scaleX(10) rotate(60deg);}
}

/* context menu */
ul.contextMenu{
	list-style:none; 
	margin:0;padding:0;
	font: 300 15px 'Roboto', sans-serif;
	position: absolute;
	color: #333;
	box-shadow: 0 12px 15px 0 rgba(0, 0, 0, 0.2);
}
ul.contextMenu *{
	transition:color .4s, background .4s;
}
ul.contextMenu li{
	min-width:150px;
	overflow: hidden;
	white-space: nowrap;
	padding: 12px 15px;
	background-color: #fff;
	border-bottom:1px solid #ecf0f1;
}
ul.contextMenu li a{
	color:#333;
	text-decoration:none;
}
ul.contextMenu li:hover{
	background-color: #ecf0f1;
}
ul.contextMenu li:first-child{
	border-radius: 5px 5px 0 0;
}
ul.contextMenu li:last-child{
	background:#ecf0f1;
	border-bottom:0;
	border-radius: 0 0 5px 5px
}
/* Last child:
ul.contextMenu li:last-child a {
	width:26%;
}
ul.contextMenu li:last-child:hover a {
	color:#2c3e50;
}
ul.contextMenu li:last-child:hover a:hover{
	color:#2980b9;
}*/

/*specifica per ios-safari*/

.safari-ios .herowrapper .right{
	display: none;
}

.safari-ios .left .image{
    background-position: center center;
    background-size: cover;
    background-repeat: no-repeat;
}

.safari-ios .left .image#platform-img{
	background-image: url('/assets/images/platform.jpg');
}

.safari-ios .left .image#tailor-img{
	background-image: url('/assets/images/tailormade.jpg');
}

.safari-ios .left .image#cloud-img{
	background-image: url('/assets/images/cloud.jpg');
}

.safari-ios .left .image#network-img{
	background-image: url('/assets/images/network.jpg');
}

.safari-ios .left .image#solutions-img{
	background-image: url('/assets/images/solutions.jpg');
}

.safari-ios .left .image#security-img{
	background-image: url('/assets/images/security.jpg');
}

.safari-ios .herowrapper .left .image .title{
	font-size: 10vh;
	position: absolute;
	z-index: 1;
	box-shadow: none;
}

.safari-ios .herowrapper .left .content {
    padding-top: 0px;
    opacity: 1;
    margin-top: 0;
    transition: all .4s .6s;
    margin-top: 0px;
    visibility: visible;
    position: absolute;
    bottom: 0px; 
    left: 0px;
    width: 100vw;
    color: #fff;
    height: 100vh;
    background-color: rgba(0,0,0,0.5);
}

.safari-ios .herowrapper .left .content .container{
	width: 40vw;
	position: absolute;
	left: 130px;
	bottom: 20%;
    transform: translate(0,50%);
}


@media screen and (max-width: 992px) {
	.prodotti .container .prodotto {
	    width: 80%;
	}	
	
	section.page_header .banner-img:after, .gradient-banner {
	    background: linear-gradient(0deg,#FFFFFF 0,hsla(0,0%,100%,0));
	}
	
	section.page_header .banner-img{
		width: 100%;
		height: 70%;
	}
	
	section.page_header .inner-wrapper .content{
		max-width: none;
		width: 90%;
	}
	
	.inner-wrapper, .wide-wrapper>.narrow-wrapper .map-custom .map-info-wrapper, .wide-wrapper>.narrow-wrapper .map-listing .map-info-wrapper, .wide-wrapper>.row .map-custom .map-info-wrapper{
		max-width: calc(100% - 150px);
		width: 100%;
	}
	
	.claim h3{
		color: #fff;
		text-shadow: 0px 0px 5px black;		
	}
	
	.freeform-section .container{
		background: rgba(0,0,0,0.6);
		width: 80%;
		color: #fff;
		text-shadow: 0px 0px 10px black;
		border-top-right-radius: 10px;
		border-bottom-right-radius: 10px;
		border-top-left-radius: 0;
		border-bottom-left-radius: 0;
	}
	
	.freeform-section .box_image{
	    width: 80%;
		height: calc(100% - 160px) !important;
		margin: 0;
		top: 80px;
	    left: 0;
	    z-index: -1;
	    border-top-right-radius: 10px;
		border-bottom-right-radius: 10px;
		border-top-left-radius: 0;
		border-bottom-left-radius: 0;
	}
	
	.freeform-section.last .container.invert{
		border-bottom-right-radius: 0;
		border-bottom-left-radius: 0;
	}
	
	.freeform-section.last .box_image{
		border-bottom-right-radius: 0 !important;
		border-bottom-left-radius: 0 !important;
	}
	
	.freeform-section .invert .box_image{
		left: 0;
		margin-left: 20%;
		border-top-right-radius: 0;
		border-bottom-right-radius: 0;
		border-top-left-radius: 10px;
		border-bottom-left-radius: 10px;
	}
	
	.freeform-section .container.thin .box_image{
		top: 80px;
		transform: none;
	}
	
	.freeform-section .container.invert{
		margin-left: 20%;
		border-top-right-radius: 0;
		border-bottom-right-radius: 0;
		border-top-left-radius: 10px;
		border-bottom-left-radius: 10px;
	}
	
	.freeform-section.last .box_image{
		top: 140px;
		height: calc(100% - 140px) !important;
	}
	
	.freeform-section .container .testo {
   		width: 100%;
   	}
   	
   	.freeform-section .container.invert{
	   	padding-left: 30px;
   	}
   	
   	.freeform-section .container.invert .testo {
		margin-left: 0;
	}
	
	.description p{
		font-size: 16px;
	}
	
	section.freeform-section{
		margin-top: 0;
		margin-bottom: 0;
	}
	
	.herowrapper .right{
	display: none;
	}
	
	.left .image{
	    background-position: center center;
	    background-size: cover;
	    background-repeat: no-repeat;
	}
	
	.left .image#platform-img{
		background-image: url('/assets/images/platform.jpg');
	}
	
	.left .image#tailor-img{
		background-image: url('/assets/images/tailormade.jpg');
	}
	
	.left .image#cloud-img{
		background-image: url('/assets/images/cloud.jpg');
	}
	
	.left .image#network-img{
		background-image: url('/assets/images/network.jpg');
	}
	
	.left .image#solutions-img{
		background-image: url('/assets/images/solutions.jpg');
	}
	
	.left .image#security-img{
		background-image: url('/assets/images/security.jpg');
	}
	
	.herowrapper .left .image .title{
		font-size: 10vh;
		position: absolute;
		z-index: 1;
		box-shadow: none;
	}
	
	.herowrapper .left .content {
	    padding-top: 0px;
	    opacity: 1;
	    margin-top: 0;
	    transition: all .4s .6s;
	    margin-top: 0px;
	    visibility: visible;
	    position: absolute;
	    bottom: 0px; 
	    left: 0px;
	    width: 100vw;
	    color: #fff;
	    height: 100vh;
	    background-color: rgba(0,0,0,0.5);
	}
	
	.herowrapper .left .content .container{
		width: 40vw;
		position: absolute;
		left: 130px;
		bottom: 20%;
		transform: translate(0,50%);
	}

	footer .footer-credits .links, footer .footer-credits .links *{
		font-size: 12px;
	}
}

@media screen and (max-width: 720px) {
	.freeform-section .container .claim, .freeform-section .container .description{
		width: 90%;
	}
	
	.freeform-section .container{
		width: 90%;	
	}
	
	.freeform-section .box_image {
    	width: 90%;
    }
    
    sidebar {
	    top: 10px;
	    padding-top: 0;
	    left: 50vw;
	    width: 90vw;
	    height: 80px;
	    transform: translate(-50%);
	}
	
	sidebar #menu-container {
	    position: absolute;
	    top: 50%;
	    left: auto;
	    right: 30px;
	    width: 30px;
	    -webkit-transform: translate(0,-50%);
	    transform: translate(0,-50%);
	    cursor: pointer;
	}
	
	#main_menu_container {
	    width: 90vw;
	    left: 50vw;
	    top: 10px;
	    height: 80px;
	    transform: translate(-50%);
	}
	
	sidebar #menu-container .bars {
	    width: 30px;
	    height: 20px;
	}
	
	.svg_complic_symbol{
		position: fixed;
	    top: 50%;
	    transform: translate(0,-50%);
	    left: 30px;
	}
	
	sidebar #sidebar_enquire {
		display: none;	
	}
	
	sidebar #sidebar_logo {
	    position: absolute;
	    top: 50%;
	    left: 95px;
	    transform: translate(0,-50%);
	}
	
	sidebar #sidebar_logo svg{
		width: 110px;
		height: 30px;
		display: block;
	}
	
	#main_menu_container #main_menu {
	    padding: 80px 0 15px 100px;
	}
	
	#main_menu_container #main_menu .sidebar-menu-top > hr {
    	margin-bottom: 15px;
    }
    
    .inner-wrapper, .wide-wrapper>.narrow-wrapper .map-custom .map-info-wrapper, .wide-wrapper>.narrow-wrapper .map-listing .map-info-wrapper, .wide-wrapper>.row .map-custom .map-info-wrapper{
	    padding-left: 25px;
    }
    
    .inner-wrapper, .wide-wrapper>.narrow-wrapper .map-custom .map-info-wrapper, .wide-wrapper>.narrow-wrapper .map-listing .map-info-wrapper, .wide-wrapper>.row .map-custom .map-info-wrapper{
	    max-width: calc(100% - 25px);
    }
    
    .page_description.text_description{
	    width: 100%;
    }
    
    section.freeform-section {
    	padding: 30px 0;
    }
    
    .freeform-section .box_image{
	    height: calc(100% - 60px) !important;
	    top: 30px;
    }
    
    .freeform-section .container.thin .box_image{
	    top: 30px;
    }
    
    .freeform-section .container, .freeform-section .container.invert{
	    padding-left: 15px;
    }
    
    .freeform-section .container.shortClaim .description, .freeform-section .container.shortClaim .claim{
	    width: calc(85% - 15px);
    }
    .freeform-section.last {
	    padding-top: 30px;
	}
	
	.freeform-section.last .box_image {
	    top: 30px;
	    height: calc(100% - 30px) !important;
	}
	
	.prodotti{
		padding-left: 0;
	}
	
	.prodotti .container {
		width: 100vw;
	}
	
	.herowrapper .logo, .safari-ios .herowrapper .logo{
		display: none;
	}
		
	
	.herowrapper .left .image .title, .safari-ios .herowrapper .left .image .title{
		display: none;
	}
	
	.herowrapper .left .content_element, .safari-ios .herowrapper .left .content_element {
	    top: 50%;
	    width: 85vw;
	    left: 50%;
	    transform: translate(-50%,-50%);
	    text-shadow: 0px 0px 10px black;
	}
	
	.herowrapper .left .content_element .heading, .safari-ios .herowrapper .left .content_element .heading{
		font-size: 30px;
		margin: 0;
	}
	
	.herowrapper .left .content_element .description, .safari-ios .herowrapper .left .content_element .description{
		font-size: 15px;
	}
	
	.herowrapper .left .read-more-btn, .safari-ios .herowrapper .left .read-more-btn {
	    width: 60%;
	    height: 60px;
	    text-align: center;
	    position: absolute;
	    left: 50%;
	    transform: translate(-50%);
	    border-radius: 10px;
	    box-shadow: 0 4px 15px 0 rgba(0,0,0,.25);
	    bottom: -75px;
	}
	
	.herowrapper .left .content .container, .safari-ios .herowrapper .left .content .container{
	    width: 90vw;
	    position: relative;
	    top: 50%;
	    left: 50%;
	    transform: translate(-50%,-50%);
	}
	
	.herowrapper .left .read-more-btn .font-muli, .safari-ios .herowrapper .left .read-more-btn .font-muli{
	    position: relative;
	    top: 50%;
	    transform: translate(0,-50%);
	    font-size: 20px;
	}
	
	.read-more-btn svg{
		position: relative;
		width: 20px;
		height: 18px;
		top: 50%;
		transform: translate(0,-50%);
	}
	
	#platform-img .read-more-btn{
		background-color: #090e23;	
	}
	
	#tailor-img .read-more-btn{
		background-color: #15244d;	
	}
	
	#cloud-img .read-more-btn{
		background-color: #1d1351;
	}
	
	#network-img .read-more-btn{
		background-color: #222966;
	}
	
	#solutions-img .read-more-btn{
		background-color: #002f5d;
	}
	
	#security-img .read-more-btn{
		background-color: #2d2d2d;
	}
	
	footer .footer-info .top-row {
	    margin-bottom: 15px;
	}
	
	footer .footer-info {
	    padding: 35px 0;
	}
	
	footer .footer-info .second-row:after {
	    height: 0px;
	}
	
	footer .footer-credits > .inner-wrapper{
	    padding-top: 15px;
	    width: calc(100% - 35px);
	}
	
	footer .copyright .row{
		width: 100%;
	}
}

@media screen and (max-width: 400px) {
	
	footer .footer-info .social {
	    top: -34px;
	    position: relative;
	    margin-right: 28px;
	}
	
	footer .footer-info .social .social-links a{
		margin: 0;
	}
	
	footer .footer-info .top-row{
		height: 35px;
	}
	
	footer h3 {
    	font-size: 18px;
    }
    
    .form-group label{
	    font-size: 11px;
    }
	
	footer form.dark .form-group .form-control, form.dark .form-group .form-control{
		font-size: 15px;
	}
	
	footer .footer-info .newsletter .primary-btn .icon {
	    top: -2px;
	    position: relative;
	}
	
	.form-group{
		margin-bottom: 8px;
	}
}

/* end of css */