@import url('https://fonts.googleapis.com/css?family=Montserrat:300,300i,400,600,600i&display=swap');

body{
  font-family: 'Montserrat', Helvetica, sans-serif;
  font-weight: 300;
  color:#455a64;
}

.h1, .h2, .h3, .h4, .h5, h1, h2, h3, h4, h5{
	font-family: 'Montserrat', Helvetica, sans-serif;
	font-weight: 600;
	/*color:#000;*/
}
.section-title h2,
.info-box h3,
.latest-news .content-box h4,
.featured-services .content-wrapper .container .content-box h3,
.slider .swiper-slide h6,
.blog .post .post-content h4{
	font-family: 'Montserrat', Helvetica, sans-serif;
}

.contact h6{
	font-weight: 300;
}

b, strong{
	font-weight: 600;
}

.page-header h1{
	font-weight: 800;
    color: #fff;
    font-size: 54px;
}



/* ==========================================
=================== COLORS ==================
============================================= */

/* BLACK */

.header .navbar .container .nav-menu li a,
.header .navbar .container .language li a,
.solutions .sidebar ul li a:hover,
.image-content-box .content-box h4,
.blog .post .post-content small,
.contact a{
	color:#000;
}
.header .topbar,
.sandwich-menu,
.footer,
.featured-services .content-wrapper,
.side-image-content .video,
.career .job-list li span a:hover,
.number-box .number-wrapper{
	background-color:#000;
}


/* PRIMARY COLOR */
.header .navbar .container .language li a.active,
.header .navbar .container .nav-menu li a:hover,
.header .navbar .container .language li a:hover,
.section-title h2,
.info-box h3,
.latest-news .content-box h4,
.featured-services .content-wrapper .container .content-box h3,
.slider .swiper-slide h2 span,
.career .job-list li:first-child,
.solutions .sidebar ul li a,
.number-box .number-wrapper,
.blog .post .post-content h4,
.contact h6,
a,
a:hover{
	color:#0071bb;
}
.header .navbar .container .nav-menu li a:hover:before,
.header .navbar .container .nav-menu li a:after,
.sandwich-btn:hover span,
.scrollup,
.footer .contact-wrapper,
.slider .swiper-slide a span,
.slide-inner,
.request-form form input[type=submit],
.page-header,
.showcases .masonry li figure,
.career .job-list li span a,
.form-group .file .button,
.careers-form input[type="submit"],
.product-form input[type="submit"],
.contact input[type=submit],
.product-box.blue,
.blog .post .post-content a:hover,
.latest-news .content-box a:hover,
.featured-services .content-wrapper .container .content-box a:hover,
input[type=checkbox]:checked,
.career form .form-group .file .button{
	background-color:#0071bb;
}

.blog .post .post-content a:hover,
.latest-news .content-box a:hover,
.featured-services .content-wrapper .container .content-box a:hover{
	border-color:#0071bb;
}

/* DARK GRAY */

p,
.section-title h6{
	color:#455a64
}


/* LIGHT GRAY */

.latest-news,
.featured-services,
.number-box .desc-wrapper{
	background-color:#eceff1;
}


/* ==========================================
================== BUTTONS ==================
============================================= */

.btn{
	text-transform: uppercase;
	padding:1rem 1.5rem;
	border-radius:0px;
	font-size: 90%;
	letter-spacing: 0.1em;
	font-weight: 400;
	border-color:#0071bb;
	color:#0071bb;
}
.btn:hover{
	background-color:#0071bb;
	color:#fff;
}
.btn.white{
	color:#fff;
	border-color:#fff;
}
.btn.white:hover{
	background-color: #fff;
	color:#0071bb;
}

.slider .swiper-slide a{
	text-transform: uppercase;
}
.slider .swiper-slide a:hover{
	border-color:#fff;
	color:#fff;
}



/* ==========================================
=================== HEADER ==================
============================================= */

.topbar a{
	color:#fff;
}
.topbar a:hover{
	color:#fff;
}

.header .topbar .container .phone span{
	font-weight: 400;
}
.header .navbar .container .nav-menu li a{
	font-weight: 400;
}
.header .navbar .container .logo a img{
	height: 30px;
}



/* ==========================================
=================== SLIDER ==================
============================================= */

.swiper-container-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet{
	text-transform: uppercase;
}
.slide-inner{
	text-align: left;
}
.slider .swiper-slide h6{
	font-weight: 400;
	font-style: normal;
	font-size: 21px;
}




/* ==========================================
================== CONTENT ==================
============================================= */

.featured-services{
	padding-bottom:80px;
}

.featured-services .content-wrapper .container .content-box{
	padding:90px 60px 40px;
	margin-right:0px;
}
.featured-services .content-wrapper .container .content-box a{
	width: 34px;
    height: 34px;
    line-height: 32px;
    display: inline-block;
    border: 1px solid #eaebee;
    border-radius: 50%;
    text-align: center;
}
.featured-services .content-wrapper .container .content-box a img{
	-webkit-filter: brightness(0) invert(1);
    filter: brightness(0) invert(1);
}
.featured-services .content-wrapper .container .content-box:not(:last-of-type){
	border-right-color:rgba(255,255,255,0.3);
}

.featured-services .content-wrapper{
	margin-bottom:80px;
}

.img-wrapper{
	position: relative;
	overflow: hidden;
}
.img-wrapper img{
	object-fit: cover;
    min-height: 100%;
    object-position: center;
}
.img-wrapper.right img{
	object-position: right;
}
.img-wrapper.left img{
	object-position: left;
}

blockquote.center-quote{
	text-align: center;
	position: relative;
	padding-top:60px;
	padding-bottom:60px;
	color:#000;
}
blockquote.center-quote:before{
	content:"\f10d";
	position: absolute;
	top:0px;
	left:0px;
	font-size: 72px;
	color:rgba(0,0,0,0.08);
	font-family: 'FontAwesome';
}
blockquote.center-quote:after{
	content:"\f10e";
	position: absolute;
	bottom:0px;
	right:0px;
	font-size: 72px;
	color:rgba(0,0,0,0.08);
	font-family: 'FontAwesome';
}

body.home .request-form{
	background-color:#fff;
}
.request-form form label, .contact label{
	color:#000;
}

.image-content-box h5{
	color:#000;
	text-align: center;
}
.image-content-box .service-box{
	position: relative;
	background-color: #000;
	background-repeat: no-repeat;
}
.image-content-box .service-box figure{
	background-color:#000;
	margin-bottom:0px;
	height: 100%;
}
.image-content-box .service-box h3{
	position: absolute;
	top:50%;
	color:#fff;
	text-align: center;
	display: block;
	width: 100%;
	transform:translateY(-50%);
}
.image-content-box .service-box.content-box .js-bg{
	filter: grayscale(1);
	position: absolute;
	height: 100%;
	width: 100%;
	top:0;
	left:0;
}
.image-content-box .service-box.content-box:after{
	content:'';
	position: absolute;
	top:0;
	left:0;
	width:100%;
	height: 100%;
	background-color:#0071bb;
	mix-blend-mode: multiply;
}
.image-content-box .service-box.content-box h3{
	position: relative;
	z-index: 1;
}

.clients ul li{
	flex-basis:auto;
}
.clients ul li figure{
	float:none;
	padding:30px;

}
.clients ul li figure img{
	height: 100%;
	width:auto;
	float:none;
	opacity: 0.8;
}
.clients ul li figure figcaption{
	font-size: 18px;
}

.number-box{
	display: flex;
	flex-direction: column;
	height: 100%
}
.number-box .number-wrapper{
	padding:30px;
	text-align: center;
	display: flex;
	flex-direction: column;
	justify-content: center;
	min-height: 300px;
}
.number-box .number-wrapper .number{
	display: block;
    font-size: 62px;
    font-weight: 600;
    line-height: 1;
}
.number-box .number-wrapper .desc{
	text-transform: uppercase;
    font-size: 18px;
    font-weight: 600;
}
.number-box .desc-wrapper{
	padding:15px;
	flex:1;
}
.number-box .desc-wrapper h6{
	text-transform: uppercase;
	font-weight: 600;
}


.text-wrapper{
	padding:60px;
}
.text-wrapper h3{
	color:#000;
}

.product-box-wrapper:first-of-type{
	border-bottom:1px solid rgba(255,255,255,0.25);
}
.product-box-wrapper div[class^="col"]:not(:last-of-type) .product-box{
	border-right:1px solid rgba(255,255,255,0.25);
}
.product-box{
	height: 100%;
	padding:50px;
}


.product-box h3{
	color:#fff;
}
.product-box .desc{
	font-size: 18px;
	color:#fff;
}
.product-box .row:not(:last-of-type){
	margin-bottom:15px;
}
.product-box ul{
	list-style: none;
	padding:0px;
	margin:0px;
}
.product-box ul li:not(:last-of-type){
	margin-bottom:8px;
}
.product-box ul li img{
	width: 20px;
	height: auto;
	margin-right:15px;
}

.latest-news .content-box a:hover img,
.featured-services .content-wrapper .container .content-box a:hover img{
	-webkit-filter: brightness(0) invert(1);
    filter: brightness(0) invert(1);
}

.career .job-list li span{
	width:25%;
}
.career .job-list li span:first-child{
	width:50%;
}

.azienda-carousel{
    width: 100%;
    height: 100%;
    padding-bottom:50px;
}
.azienda-carousel .double.three{
	float:right;
}
.azienda-carousel .swiper-navigation{
	position: absolute;
	bottom:0;
	width:100%;
	height: 44px;
}
.azienda-carousel .swiper-button-next, .azienda-carousel .swiper-button-prev{
	width:44px;
	background-size:25%;
	border:1px solid #007aff;
}


/* FORM */

.form-products{
	padding:120px 0;
}

textarea{
	width: 100%;
}
.request-form form input[type=submit], .careers-form input[type="submit"], .product-form input[type="submit"]{
	border: none;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    font-weight: 400;
    color:#fff;
}

input.form-control, textarea.form-control, select.form-control{
	height: 54px;
    border: 1px solid #eaebee;
    background: #fff;
    padding: 0 20px;
    border-radius:0px;
}

textarea.form-control{
	height:100px;
	padding:15px;
}

.form-group input[type=text]{
	width:100%;
}
.form-group .file {
    width: 100%;
    height: 54px;
    padding: 0 20px;
    background: #fff;
    border: 1px solid #eaebee;
    position: relative;
}
.form-group .file input[type=file] {
    width: 84px;
    height: 48px;
    float: right;
    color: #999;
    padding-top: 16px;
    opacity: 0;
    position: relative;
    z-index: 2;
}
.form-group .file input[type=text] {
    width: 60%;
    height: 44px;
    margin: 4px 0;
    padding: 0;
    border: none;
}
.form-group .file .button {
    height: 38px;
    line-height: 38px;
    position: absolute;
    right: 7px;
    top: 7px;
    color: #fff;
    font-size: 12px;
    font-weight: 600;
    padding: 0 15px;
    cursor: pointer;
}

.select-wrapper{
	position: relative;
}
.select-wrapper::after{
	position: absolute;
	content:'\f078';
	font-family: 'FontAwesome';
	right:15px;
	top:50%;
	margin-top:-9px;
	color:inherit;
	font-size: 14px;
	pointer-events: none;
}

.input-group>.input-group-append:last-child>.btn:not(:last-child):not(.dropdown-toggle), .input-group>.input-group-append:last-child>.input-group-text:not(:last-child), .input-group>.input-group-append:not(:last-child)>.btn, .input-group>.input-group-append:not(:last-child)>.input-group-text, .input-group>.input-group-prepend>.btn, .input-group>.input-group-prepend>.input-group-text,
.input-group>.input-group-append>.btn, .input-group>.input-group-append>.input-group-text, .input-group>.input-group-prepend:first-child>.btn:not(:first-child), .input-group>.input-group-prepend:first-child>.input-group-text:not(:first-child), .input-group>.input-group-prepend:not(:first-child)>.btn, .input-group>.input-group-prepend:not(:first-child)>.input-group-text{
	border-radius:0px;
}

.input-group-text{
	border-color:#eaebee;
}

.form-group .file #FileAttachment{
	width: 84px;
    height: 48px;
    float: right;
    color: #999;
    padding-top: 16px;
    opacity: 0;
    position: relative;
    z-index: 2;
}

input.sf_btn{
	    height: 38px;
    line-height: 38px;
    position: absolute;
    right: 7px;
    top: 7px;
    color: #fff;
    background: #405089;
    font-size: 12px;
    font-weight: 600;
    padding: 0 15px;
    cursor: pointer;
}

#my_captcha_img{
	margin-bottom:15px;
}



/* ==========================================
=================== FOOTER ==================
============================================= */

.footer .contact-wrapper{
	background-blend-mode: multiply;
}

.footer .contact-wrapper .container .content-box{
	padding:70px 0;
}

.footer .content-wrapper .logo,
.footer .content-wrapper .contact-box p{
	margin-bottom:20px;
}
p.legal-data{
	border-bottom:1px solid rgba(255, 255, 255, 0.3);
	padding-bottom:8px;
	margin-bottom:8px;
}

.footer .content-wrapper .logo{
	height: 30px;
}



/* ==========================================
=============== MEDIA QUERIES ===============
============================================= */

@media (max-width: 1240px){
	.featured-services .content-wrapper .container .content-box:first-of-type{
		padding-left:60px;
	}
}
/* Large devices (desktops, 992px and up) */
@media (min-width: 992px){
	.sandwich-btn{
		display: none;
	}
}

/* Medium devices (tablets, less than 992px) */
@media (max-width:991.98px){
	.sandwich-menu .nav-menu li a{
		font-weight: 400;
	}
}

@media (min-width: 768px){

	.sandwich-menu ul.language{
		display: none;
	}
}

/* Small devices (landscape phones, less than 768px) */
@media (max-width:767.98px){
	.sandwich-menu .nav-menu{
		margin-bottom:20px;
	}
	ul.language{
		padding:0px;
		list-style-type: none;
		margin-bottom:30px;
	}
	ul.language li{
		display: inline-block;
		font-weight: 600;
	}
	ul.language li:first-of-type{
		padding-right:15px;
		margin-right:15px;
		border-right:1px solid rgba(255,255,255,0.5);
	}
	ul.language li a{
		color:#fff;
	}
	.footer .contact-wrapper .container .content-box{
		border-bottom:0px;
	}
	.featured-services .content-wrapper .container .content-box{
		padding-left:0px;
	}
	.side-image-content .sides.bg-image{
		padding:100px 0;
	}
	.text-wrapper{
		padding:30px;
	}
	.image-content-box .content-box{
		flex:auto;
	}
}
/* Extra small devices (portrait phones, less than 576px) */
@media (max-width: 575.98px) {
	.product-box-wrapper div[class^="col"]:not(:last-of-type) .product-box{
		border-right:0px;
		border-bottom:1px solid rgba(255,255,255,0.25);
	}
}