﻿@charset "utf-8";

@import url('https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@100;200;300;400;500;600;700&display=swap');


body{ font-size:16px; font-family: 'Montserrat', sans-serif !important; background:#111; color:#fff;}
form{ margin:0px;}

::selection{ background:#444; color:#fff; -webkit-background-clip: unset; -webkit-text-fill-color:#fff;}
::-moz-selection{ background:#444; color:#fff; -webkit-background-clip: unset; -webkit-text-fill-color:#fff;}
h1, h2, h3, h4, h5, h6, span.h2{ font-family: 'Montserrat', sans-serif; font-weight:500; margin-top:0px; }
a{ color:#e1e1e1; font-weight:400; transition: all .3s ease-in-out;}
a:hover, a:focus{ color:#fff;}
p, li{ color:#fff; font-size:16px; line-height:1.5; font-weight:300;}
p{ margin-bottom:10px;}
p strong{ font-weight:600;}
strong{ font-weight:600;}
.container-max{}
.container-fluid{ padding:0 80px;}
.container-fluid.container0{ padding:0px;}
.row{ margin:0 -20px;}
.row [class*="col-"]{ padding:0 20px;}
.row.row0{ margin:0px;}
.row.row0 > [class*="col-"]{ padding:0;}
.row.row01{ margin-left:-1px; margin-right:-1px;}
.row.row01 > [class*="col-"]{ padding:0 1px;}
.row.row05{ margin-left:-5px; margin-right:-5px;}
.row.row05 > [class*="col-"]{ padding:0 5px;}
.row.row10{ margin-left:-10px; margin-right:-10px;}
.row.row10 > [class*="col-"]{ padding:0 10px;}
.row.row15{ margin-left:-15px; margin-right:-15px;}
.row.row15 > [class*="col-"]{ padding:0 15px;}
.row.row40{ margin-left:-40px; margin-right:-40px;}
.row.row40 > [class*="col-"]{ padding:0 40px;}
.row.row30{ margin-left:-30px; margin-right:-30px;}
.row.row30 > [class*="col-"]{ padding:0 30px;}
.row.row60{ margin-left:-60px; margin-right:-60px;}
.row.row60 > [class*="col-"]{ padding:0 60px;}
.row.flex{ display:-webkit-box; display:-ms-flexbox; display:flex; -ms-flex-wrap:wrap; flex-wrap:wrap;}
.row.flex > [class*="col-"]{ display:-webkit-box; display:-ms-flexbox; display:flex; }
.row.flex:before, .row.flex:after{ content:none;}
.row.center{ align-items: center;}
.row.bottom{ align-items: end;}
.row.flex [class*="col-"].pull-right{ order:2;}
.mt0{ margin-top:0px !important;}
.countup{ display:inline; font-size:inherit; font-weight:inherit; margin:0px; white-space:normal; color:inherit;}
.countup > *{ float:left; font-size:inherit; font-weight:inherit;}
.text-right{ text-align:right;}
hr{ max-width:100%; margin:20px auto;}
hr.site{ width:100%; max-width:100%; height:1px; margin:0px; border:0px; background:#e1e1e1;}
input[type=text], input[type=email], input[type=password], input[type=search], input[type=file], input[type=tel], textarea{ font-family:'Montserrat', sans-serif; height:45px; float:left; font-size:17px; font-weight:400; background:#111; color:#fff; border-radius:0px; -webkit-appearance: none; -moz-appearance: none; appearance: none; border:1px solid #333;}
input[type=file]{ width:100%; height:auto; padding:12px 20px; font-size:14px;}
select{ width:100%; padding:10px; background:#fff; border:1px solid #e1e1e1; color:#000; -webkit-appearance:none;}
textarea{ -webkit-appearance: none; -moz-appearance: none; appearance: none;}
.form-group > label{ font-size:15px; text-align:left; font-weight:400; color:#000; position:relative; z-index:10;}
.form-group > label span{ color:#000; font-size:16px; line-height:24px; float:right;}
.chosen-container{ border-radius:0px; font-size:15px; background:#fff;}
.chosen-container-single .chosen-single{ height:43px; line-height:43px;}
.chosen-container-single .chosen-single span{ font-size:17px; font-weight:400; margin-right:35px;}
.chosen-container .chosen-drop{ border-radius:0px;}
.chosen-container .chosen-results{ border-radius:0px; padding:10px;}
.chosen-container .chosen-results li{ font-size:17px; line-height:30px; font-weight:400; border-radius:0px; color:#000;}
.chosen-container .chosen-results li:hover{ background:#000; color:#fff; border-radius:0px;}
.chosen-container-single .chosen-single div:after{ line-height:43px; font-size:15px;}
.widget .chosen-single{ font-weight:400; background:#f7f7f7;}
.widget .chosen-drop{ background:#f7f7f7;}
textarea{ height:110px;}
input[type="submit"].btn{ height:50px;}
.form-group{ margin-bottom:25px;}

.btn{ font-family: 'Montserrat', sans-serif; font-size:15px; height:auto; padding:12px 20px; line-height:20px; font-weight:300; text-transform:none; text-transform:uppercase; border-radius:0px;}
.btn.btn-input{ height:50px;}
.btn.btn-default{ background:#222; border:1px solid #222; color:#fff; vertical-align:top;}
.btn.btn-default:hover, .btn.btn-default:focus{ background:#000; border-color:#000; color:#fff;}
.btn.btn-primary{ background:#444; border:1px solid #444; vertical-align:top;}
.btn.btn-primary:hover, .btn.btn-primary:focus{ background:#000; border-color:#000; color:#fff;}

a.readmore{ display:inline-block; font-size:16px; line-height:1; position:relative; font-weight:600; padding-left:20px; color:#e1e1e1; text-transform:none;}
a.readmore span{ position:relative;}
a.readmore span:before{ content:""; width:0px; height:1px; position:absolute; right:0px; bottom:-5px; background:#fff; -webkit-transition: all .5s ease-in-out; -moz-transition: all .5s ease-in-out; -o-transition: all .5s ease-in-out; transition: all .5s ease-in-out;}
a.readmore:after{ content:"\f45c"; font-family: 'FontAwesome'; position:absolute; top:2px; left:0px; text-align:right; font-size:10px; color:#333; }
a.readmore:hover{ color:#fff;}
a.readmore:hover span:before{ width:100%;}

a.readmore.altenate span:before{ background:#062855;}
a.readmore.altenate:after{ color:#062855;}
a.readmore.white{ color:#fff;}


.content .form .row{ margin:0 -15px;}
.content .form .row + .row{ margin-top:0px;}
.content .form .row [class*="col-"]{ padding:0 15px;}

.check{ width:100%; float:left;}
.check input[type=checkbox] {display: none;}
.check label{float:left; width:100%; position:relative; font-weight:400; color:#5c5c5c; vertical-align:top;}
.check label:before{ width:24px; height:24px; left:0px; background:#111; border:1px solid #333; content:""; position:absolute; margin-right:10px; cursor:poMontserrat; border-radius:0px;}
.check input[type=checkbox]:checked + label:before { font-family: 'FontAwesome'; content:"\f00c"; text-align:center; line-height:24px; font-size:14px; color:#fff;}
.check label span{ display:inline-block; padding-left:34px; font-size:14px; text-align:left; color:#fff; line-height:24px; float:left;}
.check label span a{ font-weight:600;}
.check + .check{ margin-top:5px;}

.navbar-toggle{ width:50px; height:50px; line-height:50px; position:absolute; right:30px; top:25px; background-color:#333; border-radius:50%;}
.navbar-toggle i{ line-height:50px;}
.navbar-toggle:hover{ background:#222;}
.navbar-toggle:hover i{ color:#fff; font-size:20px;}
.check + input[type="submit"]{ margin-top:20px;}

ul.pagination.solid{ text-align:center; margin-top:20px;}
ul.pagination.solid li{ padding:0px 10px !important; margin:0px; border-right:1px solid #333;}
ul.pagination.solid li:first-child{ padding-left:0px;}
ul.pagination.solid li:last-child{ padding-right:0px; border:0px;}
ul.pagination.solid li a{ width:40px; height:20px; font-size:20px; line-height:20px; border:0px; border-radius:0px; font-weight:400; background:none; color:#fff;}
ul.pagination.solid li a:hover, ul.pagination.solid li a:focus{ background:none; color:#fff;}
ul.pagination.solid li.active a, ul.pagination.solid li.active a:hover,  ul.pagination.solid li.active a:focus{ background:none; color:#fff; font-weight:600;}

/* header */

.sticky-wrapper{ width:100%; position:absolute;}

.header{ width:100%; position:absolute; float:left; z-index:9999; /* background:rgba(255,255,255,0.3);  box-shadow:0px 0px 50px rgba(0,0,0,0.05); backdrop-filter: blur(5px); */ -webkit-transition: all .3s ease-in-out; -moz-transition: all .3s ease-in-out; -o-transition: all .3s ease-in-out; transition: all .3s ease-in-out;}
.header .navbar{ position:relative;}
.header .navbar a.navbar-brand{ float:left; font-size:0px; line-height:120px; padding:0px;}
.header .navbar a.navbar-brand img{ max-height:90px; margin:0px;}
.header .navbar .menu-wrap{ display:flex; flex-wrap:wrap; float:right; margin-top:35px;}
.header .navbar .navbar-collapse{ padding:0px; margin:0px; margin-right:0px;}
.header .navbar .navbar-nav{}
.header .navbar .navbar-nav > li{ padding-right:5px;}
.header .navbar .navbar-nav > li:after{ font-family: 'FontAwesome'; content:"\f45c"; position:absolute; font-size:6px; top:22px; right:0px; font-weight:200; color:#333;}
.header .navbar .navbar-nav > li > a{ font-family: 'Montserrat', sans-serif; font-size:15px; color:#e1e1e1; font-weight:400; padding:15px 0; padding-right:0px; margin:0 15px; border:0px; text-transform:uppercase; line-height:20px;}
.header .navbar .navbar-nav > li:last-child{ padding-right:0px; margin-right:0px;}
.header .navbar .navbar-nav > li:last-child:after{ display:none;}
.header .navbar .navbar-nav > li:last-child > a{ margin-right:0px;}
.header .navbar .navbar-nav > li.dropdown > a:after{ display:none;}
.header .navbar .navbar-nav > li > a:hover{ color:#fff;}
.header .navbar .navbar-nav > li.active > a{ font-weight:600; color:#fff;}
.header .navbar .sfHover .dropdown-toggle{ color:#fff !important;}
.header .navbar .navbar-nav > li > span.aprisottomenu{ display:none; width:22px; height:22px; float:right; position:absolute; right:0px; top:7px; cursor:poMontserrat; text-align:center; vertical-align:middle;}
.header .navbar .navbar-nav > li > span.aprisottomenu:before{ content:"\f107"; font-family: 'Material Symbols Outlined'; width:inherit; height:inherit; font-size:22px; line-height:19px; position:absolute; left:0px; top:0px; color:#000; -webkit-transition: all .3s ease-in-out; -moz-transition: all .3s ease-in-out; -o-transition: all .3s ease-in-out; transition: all .3s ease-in-out;}
.header .navbar .navbar-nav > li > span.aprisottomenu.aperto:before{ transform: rotate(180deg); color:#000; margin-top:-3px;}

/* social */

.header .social{ width:auto; float:left; margin-top:7px; margin-left:30px;}
.header .social ul{ margin:0; width:auto; float:left;}
.header .social li{ width:auto; float:left; padding:0px; margin:0 5px 0 0;}
.header .social li:last-child{ margin:0px;}
.header .social li:before{ display:none;}
.header .social li a{ float:left; position:relative; border-radius:0px; background:#333; color:#fff; border-radius:50%;}
.header .social li a span.circle{ width:32px; height:32px; float:left; text-align:center;}
.header .social li a span.circle i{ font-size:14px; line-height:32px; vertical-align:top;}
.header .social li.facebook a:hover{ background:#1877F2; border-color:#1877F2; color:#fff;}
.header .social li.linkedin a:hover{ background:#0A66C2; border-color:#0A66C2; color:#fff;}

.wrapper{ width:100%; float:left; overflow:unset;}
.content{ background:#111; overflow:hidden; }
.content .row + .row{ margin-top:60px;}

/* visual home page */

.visual{ position:relative; overflow:hidden;}
.visual .background-video{ position:absolute; min-width:100%; min-height:100%; width:auto; height:auto; z-index:0; overflow:hidden; opacity:1; filter:grayscale(1);}
.visual .background-video:before{ content:""; width:100%; height:100%; position:absolute; left:0px; top:0px; background: rgb(0,0,0);
background: linear-gradient(-180deg, rgba(0,0,0,1) 0%, rgba(0,0,0,0) 100%); z-index:2;}
/*.visual .background-video:after{ content:""; width:500px; height:500px; position:absolute; right:0px; bottom:-350px; background:url(../images/symbol-white.png); background-size:100% auto;}*/
.visual .background-video video{ width:100vw; height:100vh; object-fit:cover; position:absolute; left:0px; top:0px;}
.visual-image{ width:60%; height:100%; position:absolute; right:-40px; top:0px; padding:140px 0 60px 0;}
.visual-image video{ height:100%; float:right;}
.visual-image img{ display:none;}
.visual-content{ width:100%; height:90vh; min-height:700px; display:flex; flex-wrap:nowrap; align-items:center; justify-content:center; position:relative; z-index:10;}
.visual-content .inner{ width:100%; padding-top:120px;}
.visual-content .container-fluid{ width:100%;}
.visual-content .box{ width:100%; max-width:850px; text-align:center; margin:0 auto;}
.visual-content .box h1{ color:#fff; font-size:50px; line-height:1; font-weight:300; position:relative; z-index:2; margin-bottom:20px;}
.visual-content .box h1 strong{ color:#fff;}
.visual-content .box h2{ font-size:22px; line-height:1.4; color:#fff; font-weight:300; position:relative; z-index:2; margin-bottom:40px;}
.visual-content .box .actions{ display:flex; align-items:center; justify-content:center; margin:0px; padding:0px;}
.visual-content .box .actions li{ margin-right:30px;}
.visual-content .box .actions li:last-child{ margin-right:0px;}

.visual .down{ width:40px; height:40px; position:absolute; z-index:2; left:50%; margin-left:-20px; bottom:30px; background:#333; z-index:10;}
.visual .down:before{ content:""; width:40px; height:40px; position:absolute; left:0px; top:0px; background:url(../images/icon-down.png); background-position:center center; background-repeat:no-repeat; background-size:20px auto; z-index:999;}
.visual .down:hover{ background-color:#000;}

/* titolo pagina */

.title{ padding:140px 0 0 0; position:relative; text-align:center; overflow:hidden; background-repeat:no-repeat; background-position:center center; background-size:cover; overflow:hidden;}
/*.title:before{ content:""; width:300px; height:300px; position:absolute; right:0px; bottom:-175px; background-image:url(../images/symbol-invert.png); background-repeat:no-repeat; background-position:center center; background-size:200px auto; overflow:hidden; z-index:2; opacity:0.5;}*/
.title .container + .container{ margin-top:0px;}
.title .container + .container-fluid{ margin-top:0px;}
.title .text h1, .title .text h2{ color:#fff; font-size:50px; line-height:1; font-weight:600; position:relative; z-index:2; margin-bottom:0px;}
.title .breadcrumb{ width:auto; display:inline-block; min-height:18px; position:relative; z-index:2; text-transform:none; margin-top:0px;}
.title .breadcrumb .box{ width:auto; display:inline-block;}
.title .breadcrumb ul{ float:left; margin:0px; padding:0px;}
.title .breadcrumb li{ width:auto; float:left; display:inline-block; position:relative; font-size:13px; text-transform:uppercase; line-height:1; padding:0px;}
.title .breadcrumb a{ color:#e1e1e1; float:left; line-height:inherit; font-weight:inherit; position:relative;}
.title .breadcrumb a:hover{ color:#fff;}
.title .breadcrumb li:after{ float:right; margin:0 10px; margin-top:3px; font-family: 'FontAwesome'; content:"\f45c"; font-size:6px; font-weight:200; color:#333;}
.title .breadcrumb li:last-child:after{ display:none;}
.title hr.site{ margin-top:40px; background:#333;}

/* blocchi generale */

.block{ padding:100px 0;}
.block.small{ padding:60px 0;}
.block.gray{ background:#e1e1e1;}
.block.lightgray{ background: rgb(255,255,255); background: linear-gradient(0deg, rgba(255,255,255,1) 0%, rgba(227,227,227,1) 100%);}
.block.darkgray{ background:#222;}
.block.pt0{ padding-top:0px !important;}
.block.pb0{ padding-bottom:0px;}
.block h1, .block h2{ font-size:42px; line-height:1.1; color:#fff; margin-bottom:0px; font-weight:600;}
.block h1 strong, .block h2 strong{ color:#7f93ab; background: -webkit-linear-gradient(0deg,#7f93ab, #072956);  -webkit-background-clip: text; -webkit-text-fill-color: transparent}
.block span.h2{ display:block;}
.block h1:last-child, .block h2:last-child, .block span.h2:last-child{ margin-bottom:0px;}
.block h3{ font-size:22px; line-height:1.4; color:#fff; margin-bottom:15px; text-transform:none; font-weight:200;}
.block h3:last-child{ margin-bottom:0px;}
.block ul, .block ol{ margin:0px; padding:0px; margin-bottom:25px;}
.block ul:last-child, .block ol:last-child{ margin-bottom:0px;}
.block li{ position:relative; margin-bottom:0px; padding-left:20px;}
.block li:last-child{ margin-bottom:0px;}
.block li:before{ content:"\f105"; font-family:FontAwesome; position:absolute; left:0px; top:3px; font-size:12px; color:#666;}
.block h3 + a.readmore{ margin-top:30px;}

.block.presentation h2, .block.presentation span.h2{ margin-bottom:10px;}
.block.presentation h3{ margin-bottom:0px;}
.block.presentation h2 + p, .block.presentation span.h2 + p{ margin-top:15px;}
.block.presentation h3 + p{ margin-top:15px;}
.block.presentation h3 + ul{ margin-top:15px;}
.block.presentation h3 + .btn{ margin-top:30px;}
.block.presentation h3 + h2{ margin-top:30px;}
.block.presentation p{ }
.block.presentation h2 + ul{ margin-top:20px;}
.block.presentation p + h2, .block.presentation p + span.h2{ margin-top:20px;}
.block.presentation p + h3{ margin-top:15px;}
.block.presentation p + .readmore{ margin-top:10px;}
.block.presentation p + .btn{ margin-top:20px;}

.block.presentation .top-title{ text-align:center;}
.block.presentation .top-title h2{ font-size:55px; line-height:1; margin:0px; font-weight:300;}
.block.presentation .top-title h2 strong{ color:#7f93ab;}
.block.presentation .top-title h2 + .readmore{ margin-top:5px;}
.block.presentation .top-title h2 + h3{ margin-top:20px;}

/* fullwidth */

.block.fullwidth{ position:relative; padding:140px 0;}
.block.fullwidth.gray{ background:#f7f7f7}
.block.fullwidth .slideshow .swiper-container{ width:100%; height:100%;}
.block.fullwidth .slideshow .item{ width:100%; height:100%; position:absolute; left:0px; top:0px; background-size:cover; background-position:center center;}
.block.fullwidth .image{ width:50%; height:100%; position:absolute; top:0px; background-size:cover; background-position:center center; background-repeat:no-repeat;}
.block.fullwidth .image img{ display:none;}
.block.fullwidth.left .image{ top:0px; left:0px;}
.block.fullwidth.right .image{ top:0px; right:0px;}
.block.fullwidth.left .text{ padding-left:120px;}
.block.fullwidth.right .text{ padding-right:120px;}

.block.fullwidth.symbol.left .image:before{ content:""; width:50%; height:100%; position:absolute; left:0px; bottom:-75%; background-image:url(../images/symbol-gray.png); background-size:100% auto; display:none;}
.block.fullwidth.symbol.right .image:before{ content:""; width:50%; height:100%; position:absolute; right:0px; bottom:-75%; background-image:url(../images/symbol-white.png); background-size:100% auto; display:none;}

.block.fullwidth.homepage01{ background:#222;}
.block.fullwidth.homepage02{ background:#222;}


/* numbers */

.block.numbers{}
.block.numbers .item{ width:100%; display:flex; flex-wrap:nowrap; justify-content:center; flex-direction:column;}
.block.numbers .item .top{ width:100%; margin-bottom:10px;}
.block.numbers .item .top p{ text-align:center; text-transform:none; margin:0px; font-size:24px; line-height:1; margin-bottom:5px;}
.block.numbers .item .top h3{ display:flex; flex-wrap:nowrap; align-items:center; justify-content:center; margin:0px; color:#7f93ab;}
.block.numbers .item .top h3 span.countup{ display:flex; flex-wrap:nowrap; align-items:center; white-space:nowrap; justify-content:center;}
.block.numbers .item .top h3 span.countup .countup-amount{ font-size:80px; letter-spacing:-1px; line-height:1; font-weight:600;}
.block.numbers .item .top h3 span.countup .countup-sign{ font-size:40px; margin-left:5px; line-height:1; font-weight:300; color:#7f93ab;}
.block.numbers .item .top h3 span.text{ width:auto; font-size:50px; line-height:1; text-align:center; margin:0px; margin-right:3px; font-weight:300; text-transform:uppercase;}
.block.numbers .item .bottom{ text-align:center;}
.block.numbers .item .bottom h3{ font-size:26px; line-height:1.2; font-weight:600; text-transform:none; color:#1c335b; margin:0px; margin-bottom:10px;}


/* progetti */

.block.projects{ position:relative; overflow:hidden;}
.block.projects .item{ margin-bottom:40px; position:relative; overflow:hidden;}
.block.projects .item .link a{ width:100%; height:100%; position:absolute; left:0px; top:0px; z-index:4;}
.block.projects .item .image{ margin-bottom:0px;}
.block.projects .item .description{ width:100%; position:absolute; left:0px; bottom:0px; padding:20px 30px; z-index:3; -webkit-transition: all .5s ease-in-out; -moz-transition: all .5s ease-in-out; -o-transition: all .5s ease-in-out; transition: all .5s ease-in-out; pointer-events:none;}
.block.projects .item .description h2{ font-size:22px; color:#fff; line-height:1; margin:0px; margin-bottom:5px;}
.block.projects .item .description p{ font-size:16px; color:#fff; line-height:1.1; margin:0px;}
.block.projects .item:hover .action{ opacity:1;}
.block.projects .item:hover .description{ bottom:0px;}

.block.projects .carousel{ position:relative;}
.block.projects .carousel .items-wrap{ width:100%; position:relative;}
.block.projects .carousel .item{ margin-bottom:0px;}
.block.projects .carousel .swiper-container{ width:170%;}
.block.projects .swiper-arrow a{ width:60px; height:60px; position:absolute; background-color:#999; background-size:24px auto; background-position:center center; background-repeat:no-repeat;}
.block.projects .swiper-arrow a:hover{ background-color:#666;}
.block.projects .swiper-arrow.swiper-prev a{ left:0px; top:50%; margin-top:-30px; background-image:url(../images/icon-prev.png);  z-index:2;}
.block.projects .swiper-arrow.swiper-next a{ right:0px; top:50%; margin-top:-30px; background-image:url(../images/icon-next.png); z-index:2;}

.block.projects.page{ padding-bottom:60px;}
.block.projects.page .item{ margin-bottom:40px;}


/* categorie */

.block.services{ position:relative; padding-bottom:40px;}

/*.block.services .item{ width:100%; position:relative; margin-bottom:40px; background-size:cover; background-position:center center;}
.block.services .item .text{ width:100%; position:absolute; left:0px; top:50%; transform:translateY(-50%); padding:0 60px; z-index:2;}
.block.services .item.big{ height:0px; padding-bottom:calc(61.731% - 20px);}
.block.services .item.big .image{ width:50%; height:100%; background-size:auto 100%; background-position:left center; position:absolute; top:0px; right:0px; overflow:hidden;}
.block.services .item.big .image img{ display:none;}
.block.services .item.big .text{ width:50%; top:50%; padding-right:0px; transform: translateY(-50%);}
.block.services .item.big .text h2{ font-size:26px; color:#062855; line-height:1.2;}
.block.services .item.big .text p{ overflow: hidden; text-overflow: ellipsis; display: -webkit-box; -webkit-line-clamp:5; -webkit-box-orient: vertical;}
.block.services .item.normal{ height:0px; padding-bottom:125%; text-align:center;}
.block.services .item.normal .text{ width:100%;}
.block.services .item.normal .text h2{ font-size:26px; color:#062855; line-height:1.2;}
.block.services .item.normal .text p{}

.block.services .item.color1{ background:#062855;}
.block.services .item.color1 .text h2{ color:#fff;}
.block.services .item.color1 .text p{ color:#fff;}

.block.services .item.color2{ background:#c0cddd;}
.block.services .item.color2 .text h2{ color:#062855;}
.block.services .item.color2 .text p{ color:#000;}*/

.block.services .row.list{ justify-content:center;}
.block.services .item{ width:100%; position:relative; text-align:center; margin-bottom:60px;}
.block.services .item .image{ width:100%; float:left; margin-bottom:40px;}
.block.services .item .text h2{ text-align:center; font-size:28px; color:#fff; line-height:1.2;}


/* media gallery */

.block.media-gallery{ padding-bottom:60px;}
.block.media-gallery .gallery .image{ margin-bottom:40px;}
.block.media-gallery .gallery .image a{ position:relative;}
.block.media-gallery .gallery .image a img{ overflow:hidden}

/* storia */

.block.history{ padding-bottom:60px;}
.block.history .item{ margin-bottom:40px;}
.block.history .item h2{ font-size:30px; color:#072956; line-height:1;}

/* archivio news */

.block.archive{}
.block.archive .item{ width:100%; float:left; padding-bottom:10px; margin-bottom:60px; position:relative; overflow:hidden;}
.block.archive .item .image{ width:100%; float:left; margin-bottom:20px;}
.block.archive .item .text{ width:100%; float:left;  position:relative; z-index:2;}
.block.archive .item .text h2{ font-size:28px; line-height:1.2; font-weight:600;}
.block.archive .item .text h2 a{ font-weight:inherit; color:#fff;}
.block.archive .item .text h3{ font-size:16px; line-height:22px; margin-bottom:10px;}
.block.archive .item .text h3 + h2{ margin-top:0px;}

.block.archive .item.horizontal .image{ height:0px; padding-bottom:66.67%; background-size:cover; background-position:center center; position:relative;}
.block.archive .item.horizontal .image a{ width:100%; height:100%; position:absolute; left:0px; top:0px; z-index:10;}
.block.archive .item.horizontal .image img{ display:none;}

/* singola news */

.block.single-post{ padding-bottom:60px;}
.block.single-post .info{ text-align:center;}
.block.single-post .info h3{ font-size:16px; line-height:22px; font-weight:300; margin-bottom:5px;}
.block.single-post .info h1{ max-width:85%; margin:0 7.5%; font-weight:600;}
.block.single-post .body{ margin-bottom:40px;}
.block.single-post .body .text{ margin-bottom:20px;}
.block.single-post .body .text h2{ font-size:32px;}
.block.single-post .body .text h3 + p{ margin-top:20px;}
.block.single-post .main-image{ margin-top:5px; margin-bottom:40px;}
.block.single-post .main-image a img{ overflow:hidden;}


/* contatti */

.block.contacts{ position:relative;}
.block.contacts .item{ width:100%;}
.block.contacts .form{ margin-top:40px;}
.block.contacts .form .form-group{ position:relative;}
.block.contacts .form .form-group > label{ position:absolute; top:0px; margin:0px; margin-top:-12px; background:#111; color:#fff; padding:0 10px 0 0; z-index:2;}
.block.contacts .box-wrap{ width:100%; float:left; border-right:1px solid #333;}
.block.contacts .box-wrap .box h2{ font-size:30px; color:#fff;}
.block.contacts .box-wrap .box a, .block.contacts .box-wrap .box strong{ color:#e1e1e1; font-weight:600;}
.block.contacts .box-wrap .box a:hover{ color:#fff;}
.block.contacts .social{ width:100%; float:left; margin-top:20px;}
.block.contacts .social ul{margin:0;width:auto; display:flex; flex-wrap:nowrap; justify-content:left;}
.block.contacts .social li{ width:auto;float:left; padding-left:0px; margin:0 5px 0 0;}
.block.contacts .social li:before{ display:none;}
.block.contacts .social li a{float:left;position:relative;border-radius:0px; background:#333; border-radius:50%;}
.block.contacts .social li a span.circle{width:40px;height:40px;float:left;color:#fff;text-align:center;}
.block.contacts .social li a span.circle i{font-size:18px;line-height:40px;vertical-align:top;}
.block.contacts .social li.facebook a:hover{background:#1877F2}
.block.contacts .social li.linkedin a:hover{background:#0A66C2}
.block.contacts .social li a:hover{ background:#000;}

.block.contacts.lightgray .form .form-group > label{ background:#efefef;}
.block.contacts.lightgray input[type=text], .block.contacts.lightgray input[type=email], .block.contacts.lightgray input[type=password], .block.contacts.lightgray input[type=search], .block.contacts.lightgray input[type=file], .block.contacts.lightgray input[type=tel], .block.contacts.lightgray textarea{ background:#efefef;}
.block.contacts.lightgray .check label:before{ background:#efefef;}


/* mappa */

.block.map{ padding:0px;}
.block.map .iframe-wrap{}
.block.map .iframe{ width:100%; height:450px;}
.block.map .iframe .map-content{ padding:15px;}
.block.map .iframe .map-content h2{ font-family: 'Montserrat', sans-serif; font-size:24px; line-height:1; color:#000; font-weight:600; margin-bottom:10px;}
.block.map .iframe .map-content p{ font-family: 'Montserrat', sans-serif; font-size:16px; line-height:24px; margin-bottom:0px;}



/* footer */

.footer{ width:100%; position:relative; display:inline-block; font-family: 'Montserrat', sans-serif; width:100%; float:left; overflow:hidden; background:#000;}
.footer .footer-row{ text-align:center; position:relative; z-index:20; padding-top:80px; padding-bottom:40px; overflow:hidden;}
.footer .footer-row .row{ display:flex; flex-wrap:nowrap; justify-content:center;}
.footer .footer-row .row .colfooter{ width:33.33%;}
.footer .footer-row .row .colfooter:last-child{ border:0px;}
.footer .footer-row .row.rowfooter01{ max-width:1000px; margin:0 auto;}
.footer .footer-row .widget{ width:100%; min-width:100px; float:left; text-align:center; padding:0 20px; margin-bottom:0px;}
.footer .footer-row .widget h4{ font-size:20px; line-height:1; color:#fff; font-weight:600; text-transform:uppercase; margin-bottom:20px;}
.footer .footer-row .widget p,
.footer .footer-row .widget li{ font-size:16px; line-height:1.6; font-weight:300; color:#fff;}
.footer .footer-row .widget p + h4{ margin-top:20px;}
.footer .footer-row .widget p:last-child{ margin-bottom:0px;}
.footer .footer-row .widget p a{ color:#e1e1e1; font-weight:300;}
.footer .footer-row .widget p a:hover{ color:#fff;}
.footer .footer-row .widget.widget-company{background:none; text-align:center;}
.footer .footer-row .widget.widget-company img{ width:auto; height:100px; display:inline-block; margin-bottom:20px;}
.footer .footer-row .widget.widget-company strong{ color:#e1e1e1;}
.footer .footer-row .widget.widget-services ul{ margin-bottom:0px;}
.footer .footer-row .widget.widget-services li{ padding-left:0px; margin:0px;}
.footer .footer-row .widget.widget-services li:before{ display:none; content:"\f105"; font-family:FontAwesome; position:absolute; left:0px; font-size:14px; color:#072956;}
.footer .footer-row .widget.widget-services li a{ color:#e1e1e1; font-weight:300;}
.footer .footer-row .widget.widget-services li a:hover{ color:#fff;}
.footer .footer-row .book{ margin-bottom:40px;}
.footer .footer-row .book .btn{ font-size:14px; padding:5px 15px; font-size:13px;}
.footer .footer-row .social{ width:100%; float:left; margin-top:20px;}
.footer .footer-row .social ul{margin:0;width:auto; display:flex; flex-wrap:nowrap; justify-content:center;}
.footer .footer-row .social li{ width:auto;float:left; padding-left:0px; margin:0 5px;}
.footer .footer-row .social li:before{ display:none;}
.footer .footer-row .social li a{float:left;position:relative;border-radius:0px; background:#333; border-radius:50%;}
.footer .footer-row .social li a span.circle{width:40px;height:40px;float:left;color:#fff;text-align:center;}
.footer .footer-row .social li a span.circle i{font-size:18px;line-height:40px;vertical-align:top;}
.footer .footer-row .social li.facebook a:hover{background:#1877F2}
.footer .footer-row .social li.linkedin a:hover{background:#0A66C2}
.footer .footer-row .social li a:hover{ background:#000;}

.footer .footer-extra{ padding:0px; padding-top:20px; padding-bottom:40px; text-align:center; background:none; position:relative; z-index:20;}
.footer .footer-extra .row{ padding:0px;}
.footer .footer-extra .row p{ font-size:13px; line-height:18px; color:#999; font-weight:400;}
.footer .footer-extra .row p span{ color:#333; font-size:6px; vertical-align:middle; margin:0 10px;}
.footer .footer-extra .row a{ color:#999; font-weight:400;}
.footer .footer-extra .row a:hover{ color:#fff;}


/* modal */

body.modal-open .header{ filter: blur(4px);}
body.modal-open .wrapper{ filter: blur(4px);}
body.modal-open .footer{ filter: blur(4px);}

.modal{ z-index:999999; border-radius:0px; display:none !important;}
.modal.in { display:flex !important; align-items:center; flex-direction: column; justify-content:center;}
.modal-open .modal{ overflow:auto;}
.modal-backdrop{ z-index:99999; background:#f7f7f7;}
.modal-backdrop.in{ opacity:0.75;}
.modal .modal-dialog{ width:100%; max-width:1000px; margin:0px; overflow:auto !important; box-shadow:0px 0px 100px rgba(0,0,0,0.2);}
.modal.in .modal-dialog{ top:auto; transform:none;}
.modal-body{ padding:30px;}
.modal .modal-content{ border-radius:0px; border:0px;}
.modal .close{ width:40px; height:40px; position:absolute; background-color:#fff; background-image:url(../images/icon-close.png); background-size:30px 30px; background-repeat:no-repeat; background-position:center center; top:0px; right:0px; opacity:1; z-index:9999;}
.modal .modal-body{ border-radius:0px; padding:0px;}
.modal .modal-body .image{ width:100%; background-size:cover; background-position:center center;}
.modal .modal-body .image img{ display:none;}
.modal .modal-body .text{ padding:60px 40px;}
.modal .modal-body .text h3{ font-size:22px; line-height:28px; color:#000; font-weight:300; margin-bottom:10px;}
.modal .modal-body .text h2{ font-size:34px; line-height:34px; color:#000; margin-bottom:10px;}
.modal .modal-body .text h3 + h2{ margin-top:0px;}
.modal .modal-body .text p + .btn{ margin-top:20px;}
.modal .modal-body .text .btn{ width:100%; padding:15px 20px; font-size:20px;}

#scrolltop{ width:40px; height:40px; position:fixed; z-index:999; right:30px; bottom:30px; opacity:0; visibility:hidden; -webkit-transition: all .3s ease-in-out; -moz-transition: all .3s ease-in-out; -o-transition: all .3s ease-in-out; transition: all .3s ease-in-out;}
#scrolltop.show{ opacity:1; visibility:visible;}
#scrolltop a{ width:40px; height:40px; float:left; background:#333; border-radius:0px; text-align:center;}
#scrolltop a:before{ content:""; width:40px; height:40px; position:absolute; left:0px; top:0px; background:url(../images/icon-up.png); background-position:center center; background-repeat:no-repeat; background-size:20px auto; z-index:999;}
#scrolltop a:hover{ background:#000;}

.fancybox-caption{ font-family: 'Montserrat', sans-serif; font-weight:600; font-size:20px; line-height:1.2;}

.captchaField > div {	margin-bottom: 25px;}

@media (min-width: 1300px) {
	
	.container{ width:1300px;}
	.visual .container{ width:1300px !important; padding:0px 30px !important;}
	
}

@media (max-width: 1400px) {
	
	.container-fluid{ padding:0 30px;}
	
}

@media (max-width: 1299px) {
	
	.container{ width:1170px;}
	.visual .container{ width:1170px !important; padding:0 30px !important;}
	
	.block{ padding:80px 0;}
	.block.fullwidth{ padding:100px 0;}
	.block.fullwidth.right .text{ padding-right:80px;}
	
	.block.services .item{ margin-bottom:40px}
	.block.services .item .image{ margin-bottom:20px;}
	.block.services .row.row-lavorazioni{ margin-left:-30px; margin-right:-30px;}
	.block.services .row.row-lavorazioni > [class*="col-"]{ padding:0 30px;}	
	
	.block.projects .item .description{ padding:20px;}
	
	.footer .footer-row{ padding-top:60px;}
	
	.title .text h1, .title .text h2{ font-size:46px;}
	.visual-content .box h1{ font-size:46px;}
	.block h1, .block h2{ font-size:38px;}
	.block h3{ font-size:20px;}
	.visual-content .box h2{ font-size:20px;}
	.block.projects .item .description h2{ font-size:20px;}
	.block.contacts .box-wrap .box h2{ font-size:28px;}
	.block.archive .item .text h2{ font-size:26px;}
	.block.services .item .text h2{ font-size:24px;}
	.footer .footer-row .widget h4{ font-size:18px;}
	.footer .footer-row .widget p, .footer .footer-row .widget li{ font-size:15px;}
	.block.archive .item .text h3{ font-size:15px;}
	.block.single-post .info h3{ font-size:15px;}
	.block.projects .item .description p{ font-size:15px;}
	a.readmore{ font-size:15px;}
	p, li{ font-size:15px;}
	.footer .footer-extra .row p{ font-size:12px;}
	.title .breadcrumb li{ font-size:12px;}
	
}


@media (max-width: 1199px) {

	.container{ width:970px;}
	.visual .container{ width:970px !important;}
	
	.header .navbar a.navbar-brand img{ max-height:80px;}
	.header .navbar .navbar-nav > li > a{ font-size:14px; margin:0 10px;}
	
	.title .text h1, .title .text h2{ font-size:42px;}
	.visual-content .box h1{ font-size:42px;}
	.block h1, .block h2{ font-size:34px;}

}

@media (max-width: 1008px) {
	
	
	
		
}

@media (min-width: 992px) {
	
	.header .navbar-collapse{ display:block;}

}

@media (max-width: 992px) {
	
	.navbar-nav{ padding-bottom:0px;}	
	.footer-row [class*=col-]{ margin:0px;}
	
}

@media (max-width: 991px) {
	
	.content .row + .row{ margin-top:40px;}
	
	.navbar-toggle{ display:block !important;}
	
	.header .navbar a.navbar-brand{ line-height:100px;}
	.header .navbar a.navbar-brand img{ max-height:70px; line-height:100px;}
	.header .social{ position:absolute; right:100px; top:34px; margin:0px;}
	.header .navbar .menu-wrap{ width:100%; display:block; flex-wrap:unset; float:left; margin:0px;}
	.header .navbar .navbar-collapse{ background:#222; padding:0px; padding:30px; float:none !important; box-shadow:0px 0px 20px rgba(0,0,0,0.05); clear: both; width: 100%; margin: 0 !important;}
	.header .navbar .navbar-collapse.in{ }
	.header .navbar .navbar-nav{ width:100%; float:left;padding-bottom:0px; display:inherit; vertical-align:inherit; margin-bottom:0px; padding-bottom:0px; overflow:hidden;}
	.header .navbar .navbar-nav > li{ clear:both; width:100%; padding:0px; border-bottom:1px solid #333;}
	.header .navbar .navbar-nav > li:last-child{ border:0px;}
	.header .navbar .navbar-nav > li:after{ display:none;}
	.header .navbar .navbar-nav > li > a:after{ display:none;}
	.header .navbar .navbar-nav > li > a{ line-height:1 !important; font-size:15px; text-align:center; color:#fff; padding:10px 0; border-left:0px !important; margin:0px; border:0px;}
	.header .navbar .navbar-nav > li > a span:before, .header .navbar-nav > li.active > a span:before{ display:none;}
	.header .navbar .navbar-nav > li.active > a{ color:#fff; border:0px;}
	.header .navbar .navbar-nav > li > a:hover{ color:#fff; border:0px;}
	
	.block.services .row.row-lavorazioni{ margin-left:-20px; margin-right:-20px;}
	.block.services .row.row-lavorazioni > [class*="col-"]{ padding:0 20px;}	
	
	.title{ padding-top:120px;}

	.container{ width:750px;}
	.visual .container{ width:750px !important;}
	
	.block{ padding:60px 0;}
	.block.fullwidth{ padding:60px 0;}
	
	.block.fullwidth{ padding-top:0px !important; padding-bottom:60px;}
	.block.fullwidth .image{ width:100%; height:auto; position:static; left:auto; top:auto; right:auto; background:none !important; margin-bottom:40px;}
	.block.fullwidth .image img{ display:block;}
	.block.fullwidth .text{ text-align:center; padding:0px !important;}
	
	.block.about02 .row.flex [class*="col-"].pull-right{ order:0;}
	.block.about02 .image{ width:100%; margin-bottom:20px;}
	.block.about02 .image img{ width:100%; height:auto;}
	
	.footer .footer-row{ padding-bottom:0px;}
	.footer .footer-row .row{ flex-wrap:wrap;}
	.footer .footer-row .row .colfooter{ width:100%; margin-bottom:40px;}
	
	.block.contacts .box-wrap{ margin-bottom:40px; border:0px;}
	
	.modal{ padding:20px;}
	.modal.in .modal-dialog{ max-width:400px;}
	.modal .modal-body{ width:100%; float:left; background:#fff;}
	.modal .modal-body .row.flex{ display:block; flex-wrap:unset;}
	.modal .modal-body .row.flex > [class*="col-"]{ display:block;}
	.modal .modal-body .image{ background:none;}
	.modal .modal-body .image img{ display:block;}
	.modal .modal-body .text{ width:100%; float:left; padding:40px;}
	.modal .modal-body .text h2{ font-size:30px; line-height:30px;}
	
	.title .breadcrumb{ margin-top:10px;}
	.title .breadcrumb ul{ display:flex; flex-wrap:wrap; justify-content:center;}
	
}


@media (max-width: 768px){
	
	.content .row + .row{ margin-top:20px;}
	
	.title hr.site{ margin-top:20px;}
	
	.row.row40{ margin-left:-20px; margin-right:-20px;}
	.row.row40 > [class*="col-"]{ padding:0 20px;}
	.row.row30{ margin-left:-20px; margin-right:-20px;}
	.row.row30 > [class*="col-"]{ padding:0 20px;}
	
	.header .navbar a.navbar-brand img{ max-height:60px;}
	
	.container{ width:100%;}
	.visual .container{ width:100% !important;}
	
	.block{ padding:40px 0;}
	.block.fullwidth{ padding:40px 0;}
	
	.visual-content{ height:80vh; min-height:700px;}
	.visual-content .inner{ padding-top:0px;}
	
	.block.media-gallery .row{ margin-left:-10px; margin-right:-10px;}
	.block.media-gallery .row > [class*="col-"]{ padding:0 10px;}
	.block.media-gallery .gallery .image{ margin-bottom:0px;}
	
	.block.services{ padding-bottom:20px;}
	
	.block.projects.page{ padding-bottom:40px;}
	.block.projects.page .row.row-finiture{ margin-left:-10px; margin-right:-10px;}
	.block.projects.page .row.row-finiture > [class*="col-"]{ padding:0 10px;}
	.block.projects.page .item{ margin-bottom:20px;}
	
	.footer .footer-row{ padding-top:40px;}
	
	.block.projects .item .description{ padding:15px;}
	
	.block.single-post .info h1{ max-width:100%; margin:0px;}
	
	.title .text h1, .title .text h2{ font-size:34px;}
	.visual-content .box h1{ font-size:34px;}
	.block h1, .block h2{ font-size:30px;}
	.block h3{ font-size:19px;}
	.visual-content .box h2{ font-size:19px;}
	.block.projects .item .description h2{ font-size:19px;}
	.block.contacts .box-wrap .box h2{ font-size:22px;}
	.block.archive .item .text h2{ font-size:20px;}
	.block.services .item .text h2{ font-size:20px;}
	.footer .footer-row .widget h4{ font-size:17px;}
	.block.projects .item .description p{ font-size:14px;}
	
	.block.map .iframe .map-content h2{ font-size:20px;}
	.block.map .iframe .map-content p{ font-size:15px; line-height:20px;}
	
	.check label span{ font-size:12px;}
	
	
	
	
}

@media (max-width: 640px){
	
	
}

@media (max-width: 479px) {
	
	[class*=col-xs-]{ text-align:inherit;}
	
	[class*=col-xs-6]{ width:50%; float:left;}

}