@import url('https://fonts.googleapis.com/css2?family=Work+Sans:wght@400;700&display=swap');
@font-face {
	font-family: 'Avenir Next';
	src: url('../fonts/AvenirNext-Italic.eot');
	src: local('Avenir Next Italic'), local('AvenirNext-Italic'),
		url('../fonts/AvenirNext-Italic.eot?#iefix') format('embedded-opentype'),
		url('../fonts/AvenirNext-Italic.woff2') format('woff2'),
		url('../fonts/AvenirNext-Italic.woff') format('woff'),
		url('../fonts/AvenirNext-Italic.ttf') format('truetype');
	font-weight: normal;
	font-style: italic;
	font-display: swap;
}

@font-face {
	font-family: 'Avenir Next';
	src: url('../fonts/AvenirNext-Regular.eot');
	src: local('Avenir Next Regular'), local('AvenirNext-Regular'),
		url('../fonts/AvenirNext-Regular.eot?#iefix') format('embedded-opentype'),
		url('../fonts/AvenirNext-Regular.woff2') format('woff2'),
		url('../fonts/AvenirNext-Regular.woff') format('woff'),
		url('../fonts/AvenirNext-Regular.ttf') format('truetype');
	font-weight: normal;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'Avenir Next Demi';
	src: url('../fonts/AvenirNext-DemiBold.eot');
	src: local('Avenir Next Demi Bold'), local('AvenirNext-DemiBold'),
		url('../fonts/AvenirNext-DemiBold.eot?#iefix') format('embedded-opentype'),
		url('../fonts/AvenirNext-DemiBold.woff2') format('woff2'),
		url('../fonts/AvenirNext-DemiBold.woff') format('woff'),
		url('../fonts/AvenirNext-DemiBold.ttf') format('truetype');
	font-weight: 600;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'Avenir Next';
	src: url('../fonts/AvenirNext-Bold.eot');
	src: local('Avenir Next Bold'), local('AvenirNext-Bold'),
		url('../fonts/AvenirNext-Bold.eot?#iefix') format('embedded-opentype'),
		url('../fonts/AvenirNext-Bold.woff2') format('woff2'),
		url('../fonts/AvenirNext-Bold.woff') format('woff'),
		url('../fonts/AvenirNext-Bold.ttf') format('truetype');
	font-weight: bold;
	font-style: normal;
	font-display: swap;
}



a,
abbr,
acronym,
address,
applet,
article,
aside,
audio,
b,
big,
blockquote,
body,
canvas,
caption,
center,
cite,
code,
dd,
del,
details,
dfn,
div,
dl,
dt,
em,
embed,
fieldset,
figcaption,
figure,
footer,
form,
h1,
h2,
h3,
h4,
h5,
h6,
header,
hgroup,
html,
i,
iframe,
img,
ins,
kbd,
label,
legend,
li,
mark,
menu,
nav,
object,
ol,
output,
p,
pre,
q,
ruby,
s,
samp,
section,
small,
span,
strike,
strong,
sub,
summary,
sup,
table,
tbody,
td,
tfoot,
th,
thead,
time,
tr,
tt,
u,
ul,
var,
video {
    margin: 0;
    padding: 0;
    border: 0;
    font-size: 100%;
    font-family: 'Work Sans', sans-serif;
    word-spacing: 0;
    text-shadow: rgba(0, 0, 0, .01) 0 0 1px;
    -webkit-font-smoothing: antialiased
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
    display: block
}

body {
    line-height: 1
}

ol,
ul {
    list-style: none
}

blockquote,
q {
    quotes: none
}

blockquote:after,
blockquote:before,
q:after,
q:before {
    content: '';
    content: none
}

img {
    vertical-align: middle
}

table {
    border-collapse: collapse;
    border-spacing: 0
}

span {
    vertical-align: baseline
}

::-webkit-scrollbar {
    width: 6px;
    height: 6px;
    background-color: #F6F6F6
}

::-webkit-scrollbar-thumb {
    border-radius: 3px;
    background-color: #002855
}

body,
html {
    margin: 0;
    padding: 0;
    text-align: center;
    width: 100%;
    height: 100%;
    font-family: 'Work Sans', sans-serif;
    color: #595959;
    background-color: #F6F6F6;
}

body {
    min-width: 1024px
}

img {
    position: relative;
    display: inline-block
}

@media screen and (min-width:10px) {
    body {
        min-width: 10px
    }
}

a {
    text-decoration: none;
    color: #171717;
    font-family: inherit
}

a:visited {
    color: #000
}

a:hover {
    color: #114b7c
}

p {
    color: #fff;
    font-family: 'Work Sans', sans-serif;
    padding-left: 25px;
    padding-right: 25px
}

.riga {
    position: relative;
    top: 0;
    left: 0;
    display: block;
    width: 100%
}

.prima_riga {
    padding-top: 140px
}

.cont {
    position: relative;
    width: 100%;
    margin: auto;
    padding-top: 50px;
    padding-bottom: 50px;
    display: block;
    max-width: 1920px
}

.cont2 {
    width: 80%
}

.tendenza_colore {
    position: absolute;
    display: block;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(20, 20, 20, .75);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat
}

.imm_full {
    position: absolute;
    display: block;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat
}

.imm_full.top {
    background-position: top
}

.title {
    position: relative;
    font-size: 40px;
    line-height: 50px;
    letter-spacing: 2px;
    font-family: 'Avenir Next', sans-serif;
    padding-left: 25px;
    padding-right: 25px;
    text-align: left;
    font-weight: bold;
    font-style: normal;
    color: #595959;
    margin-bottom: 10px;
    text-transform: uppercase
}

.title2 {
    position: relative;
    font-size: 40px;
    line-height: 50px;
    font-family: 'Avenir Next', sans-serif;
    padding-left: 25px;
    padding-right: 25px;
    text-align: left;
    font-weight: bold;
    font-style: normal;
    color: #595959;
    margin-bottom: 10px;
    text-transform: uppercase
}

.subtitle_big {
    position: relative;
    font-size: 30px;
    line-height: 42px;
    font-family: 'Avenir Next', sans-serif;
    padding-left: 25px;
    padding-right: 25px;
    text-align: left;
    font-weight: normal;
    font-style: normal;
    color: #595959
}

.subtitle {
    position: relative;
    font-size: 27px;
    line-height: 40px;
    font-family: 'Avenir Next', sans-serif;
    padding-left: 25px;
    padding-right: 25px;
    text-align: left;
    font-weight: 700;
    color: #595959;
    margin-bottom: 10px
}

.desc {
    position: relative;
    font-size: 16px;
    line-height: 24px;
    font-family: 'Work Sans', sans-serif;
    padding-left: 25px;
    padding-right: 25px;
    text-align: left;
    font-weight: 400;
    color: #595959
}

.desc2 {
    font-size: 12px;
    line-height: 15px
}

.linea {
    position: relative;
    display: inline-block;
    height: 2px;
    width: 90%;
    width: calc(100% - 50px);
    margin: 25px
}

.button {
    position: relative;
    display: inline-block;
    padding: 15px 30px;
    margin: 25px;
    color: #fff;
    background-color: #76B729;
    font-family: 'Work Sans', sans-serif;
    font-weight: 700;
    font-size: 18px;
    line-height: 18px;
    left: 0;
    opacity: 1;
    text-align: center;
    z-index: 10;
    border-radius: 25px;
    transform: scale(1);
    -o-transition: color .3s ease-out, background-color .3s ease-out, background-position .3s ease-out, transform .3s ease-out;
    -ms-transition: color .3s ease-out, background-color .3s ease-out, background-position .3s ease-out, transform .3s ease-out;
    -moz-transition: color .3s ease-out, background-color .3s ease-out, background-position .3s ease-out, transform .3s ease-out;
    -webkit-transition: color .3s ease-out, background-color .3s ease-out, background-position .3s ease-out, transform .3s ease-out;
    transition: color .3s ease-out, background-color .3s ease-out, background-position .3s ease-out, transform .3s ease-out
}

.button:visited {
    color: #fff
}

.button:hover {
    color: #fff;
    background-color: #081e57;
    transform: scale(1)
}

.button.blue {
    background-color: #002855
}

.button.blue:visited {
    color: #fff;
    background-color: #002855
}

.button.blue:hover {
    color: #fff;
    background-color: #3EB7E1
}

.button.green {
	background-color: #439535;
}

.button.green:visited {
    color: #fff;
    background-color: #439535
}

.button.green:hover {
    color: #fff;
    background-color: #3EB7E1
}

.button.border {
    border-radius: 10px;
    background: 0 0;
    border: solid 1px #fff
}

.button.border:visited {
    color: #fff
}

.button.border:hover {
    color: #fff
}

.button.border_black {
    border-radius: 10px;
    background: 0 0;
    color: #141414;
    border: solid 1px #141414
}

.button.border_black:visited {
    color: #141414
}

.button.border_black:hover {
    color: #141414
}

.button.orange {
    background-color: #f26100
}

.button.orange:visited {
    color: #fff;
    background-color: #f6100
}

.button.orange:hover {
    color: #fff;
    background-color: #f26100
}

.button.button2 {
    background-color: #0079bc;
    color: #fff;
    border: solid 2px #fff
}

.button2:visited {
    color: #fff
}

.button2:hover {
    color: #0079bc;
    background-color: #fff
}

.button.button_orange {
    background-color: #fff;
    color: #eb6e07;
    border: solid 2px #eb6e07
}

.button_orange:visited {
    color: #eb6e07
}

.button_orange:hover {
    color: #fff;
    background-color: #eb6e07
}

.meta_riga {
    position: relative;
    display: inline-block;
    width: 50%;
    text-align: left;
    vertical-align: middle
}

.meta_riga.non_abs {
    position: relative;
    display: inline-block;
    width: 50%;
    left: 25%;
    text-align: left;
    vertical-align: middle
}

.meta_riga.abs {
    position: absolute;
    height: 100%;
    top: 0;
    left: 0;
    display: inline-block;
    width: 50%;
    text-align: left;
    vertical-align: middle
}

.terzo_riga {
    position: relative;
    display: inline-block;
    width: 33.33%;
    text-align: left;
    vertical-align: middle
}

.dueterzo_riga {
    position: relative;
    display: inline-block;
    width: 66.66%;
    text-align: left;
    vertical-align: middle
}

.quarti_riga {
    position: relative;
    display: inline-block;
    width: 25%;
    text-align: left;
    vertical-align: middle
}

.trequarti_riga {
    position: relative;
    display: inline-block;
    width: 75%;
    text-align: left;
    vertical-align: middle
}

.quinti_riga {
    position: relative;
    display: inline-block;
    width: 20%;
    text-align: left;
    vertical-align: middle
}

.quatroquinti_riga {
    position: relative;
    display: inline-block;
    width: 80%;
    text-align: left;
    vertical-align: middle
}

.meta_riga_web {
    display: inline-block
}

.meta_riga_cel {
    display: none
}

.loading_div {
    position: fixed;
    display: block;
    z-index: 1000;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: #fff
}

.text_load {
    opacity: 1;
    -o-transition: opacity .3s ease-out;
    -ms-transition: opacity .3s ease-out;
    -moz-transition: opacity .3s ease-out;
    -webkit-transition: opacity .3s ease-out;
    transition: opacity .3s ease-out
}

.text_load.active {
    opacity: 1;
    -o-transition: opacity .3s ease-out;
    -ms-transition: opacity .3s ease-out;
    -moz-transition: opacity .3s ease-out;
    -webkit-transition: opacity .3s ease-out;
    transition: opacity .3s ease-out
}

.header_imm {
    height: 66%;
    -o-transition: height .8s ease-out;
    -ms-transition: height .8s ease-out;
    -moz-transition: height .8s ease-out;
    -webkit-transition: height .8s ease-out;
    transition: height .8s ease-out
}

.header_imm2 {
    -o-transition: height 0s ease-out;
    -ms-transition: height 0s ease-out;
    -moz-transition: height 0s ease-out;
    -webkit-transition: height 0s ease-out;
    transition: height 0s ease-out
}

.slider_info {
    position: absolute;
    display: inline-block;
    bottom: 0;
    left: 0;
    width: 100%;
    padding-top: 15px;
    padding-bottom: 0;
    vertical-align: middle;
    overflow: hidden;
    vertical-align: top
}

.contenitor_gall_imm2 {
    vertical-align: top
}

.input {
    -webkit-appearance: none;
    -webkit-border-radius: 0;
    position: relative;
    display: inline-block;
    width: 90%;
    margin: 4%;
    padding: 1%;
    width: calc(100% - 74px);
    margin: calc(23px);
    padding: calc(10px) calc(10px);
    margin-top: calc(12.5px);
    margin-bottom: calc(12.5px);
    font-size: 18px;
    font-family: 'Work Sans', sans-serif;
    background-color: #fff;
    border: none;
    border: solid 1px #FFFFFF;
    color: #141414;
    border-radius: 25px
}

select.input {
    width: calc(100% - 50px);
    background-image: url(../imm/freccia_select.png);
    background-size: 50px 50px;
    background-repeat: no-repeat;
    background-position: right;
	padding-right: 50px;
}

select > option[value=""]{
	color: #707070; 
}

.input::placeholder {
    color: #a2a2a2
}

.input:focus {
    -webkit-appearance: none;
    -webkit-border-radius: 0;
    border-bottom: solid 1px #fcd116
}

textarea.input {
    min-height: 140px;
    resize: vertical
}

.submit {
    -webkit-appearance: none;
    -webkit-border-radius: 0;
    position: relative;
    display: inline-block;
    top: 0;
    left: 0;
    border: none;
    cursor: pointer;
    cursor: hand;
    padding: 10px;
    color: #fff;
    background-color: #141414;
    border-radius: 18px;
    font-family: 'Work Sans', sans-serif;
    font-weight: 700;
    font-size: .8em;
    text-align: center;
    left: 0;
    opacity: 1;
    cursor: pointer;
    text-transform: uppercase;
    -o-transition: color .3s ease-out, background-color .3s ease-out, background-position .4s ease-out;
    -ms-transition: color .3s ease-out, background-color .3s ease-out, background-position .4s ease-out;
    -moz-transition: color .3s ease-out, background-color .3s ease-out, background-position .4s ease-out;
    -webkit-transition: color .3s ease-out, background-color .3s ease-out, background-position .4s ease-out;
    transition: color .3s ease-out, background-color .3s ease-out, background-position .4s ease-out
}

.submit:hover {
    color: #fcd116;
    background-color: #141414;
    background-position: 80%
}

.submit:active {
    color: #fcd116;
    background-color: #141414;
    background-position: 90%
}

@media screen and (max-width:1280px) {
    .cont2 {
        width: 80%
    }
}

@media screen and (max-width:1024px) {
    .cont {
        width: 100%;
        padding-top: 50px;
        padding-bottom: 50px
    }
    .title {
        font-size: 30px;
        line-height: 40px;
    }
    .title2 {
        font-size: 30px;
        line-height: 40px
    }
    .subtitle {
        font-size: 20px;
        line-height: 28px
    }
    .subtitle_big {
        font-size: 26px;
        line-height: 32px
    }
    .desc {
        font-size: 14px;
        line-height: 20px
    }
    .desc2 {
        font-size: 10px;
        line-height: 14px
    }
    .quarti_riga.due {
        width: 50%
    }
    .cont2 {
        width: 100%
    }
    .prima_riga {
        padding-top: 140px
    }
}

@media screen and (max-width:840px) {
    .prima_riga {
        padding-top: 140px
    }
}

@media screen and (max-width:700px) {
    .meta_riga {
        width: 100%
    }
    .terzo_riga {
        width: 100%
    }
    .dueterzo_riga {
        width: 100%
    }
    .quarti_riga {
        width: 100%
    }
    .trequarti_riga {
        width: 100%
    }
    .quinti_riga {
        width: 100%
    }
    .quatroquinti_riga {
        width: 100%
    }
    .quarti_riga.due {
        width: 100%
    }
    .meta_riga_sec {
        margin-top: 25px
    }
    .terzo_riga.min_due {
        width: 50%
    }
    .title_extra {
        font-size: 50px;
        line-height: 50px
    }
    .meta_riga_web {
        display: none
    }
    .meta_riga_cel {
        display: inline-block
    }
    .cont {
        width: 100%;
        padding-top: 50px;
        padding-bottom: 50px
    }
    .cont2 {
        width: 100%
    }
    .prima_riga {
        padding-top: 140px
    }
    .cont_generale {
        padding-top: 102px;
        padding-bottom: 50px
    }
    .slider_info {
        position: relative
    }
}

@media screen and (max-width:600px) {
    .meta_riga {
        width: 100%
    }
    .meta_riga_sec {
        margin-top: 25px
    }
}

.bold_font {
    font-weight: 700
}

.italic_font {
    font-weight: 400;
    font-style: italic
}

.regular_font {
    font-weight: 400
}

.middle_align {
    position: relative;
    display: inline-block;
    height: 100%;
    width: 1px;
    vertical-align: middle
}

.normal_div {
    position: relative;
    display: inline-block
}

.align_mid {
    display: inline-block;
    vertical-align: middle
}

.align_top {
    vertical-align: top
}

.align_bottom {
    vertical-align: bottom
}

.t_align_center {
    text-align: center
}

.t_align_right {
    text-align: right
}

.t_align_left {
    text-align: left
}

.t_align_justify {
    text-align: justify
}

.t_align_left_center {
    text-align: left
}

.t_align_right_center {
    text-align: right
}

@media screen and (max-width:700px) {
    .t_align_left_center {
        text-align: center
    }
    .t_align_right_center {
        text-align: center
    }
}

.quinti_riga_clienti {
    width: 20%;
    margin-top: 25px
}

.imm_clienti {
    position: relative;
    display: inline-block;
    width: 90%;
    margin-left: 5%;
    width: calc(100% - 90px);
    margin-left: calc(25px)
}

.footer_home {
    padding-top: 50px;
    padding-bottom: 50px
}

.cont_sec {
    width: 100%
}

@media screen and (min-width:1440px) {
    .title {
        font-size: 122px;
        line-height: 122px;
        letter-spacing: 11px;
    }
    .title2 {
        font-size: 45px;
        line-height: 45px
    }
    .subtitle {
        font-size: 32px;
        line-height: 44px
    }
    .subtitle_big {
        font-size: 38px;
        line-height: 48px
    }
    .desc {
        font-size: 16px;
        line-height: 24px
    }
    .desc2 {
        font-size: 12px;
        line-height: 15px
    }
    .cont {
        padding-top: 50px;
        padding-bottom: 50px
    }
    .cont2 {
        width: 80%
    }
}

@media screen and (min-width:1920px) {
    .cont2 {
        width: 80%
    }
}

@media screen and (max-width:1280px) {
    .footer_home {
        padding-top: 25px;
        padding-bottom: 25px
    }
}

@media screen and (max-width:1024px) {
    .footer_home {
        padding-top: 25px;
        padding-bottom: 25px
    }
}

@media screen and (max-width:800px) {
    .quinti_riga_clienti {
        width: 25%
    }
    .quinti_riga_clienti_1 {
        display: none
    }
}

@media screen and (max-width:700px) {
    .quinti_riga_clienti_2 {
        display: none
    }
    .cont_sec {
        width: 90%
    }
    .meta_riga.non_abs {
        position: relative;
        display: inline-block;
        width: 100%;
        left: 0
    }
    .meta_riga.abs {
        position: relative;
        height: auto;
        width: 100%
    }
}

@media screen and (max-width:625px) {
    .quinti_riga_clienti {
        width: 33%
    }
}

@media screen and (max-width:420px) {
    .quinti_riga_clienti {
        width: 50%
    }
}

.scroll_controll .cont {
    -o-transition: -o-transform .4s ease-out;
    -ms-transition: -ms-transform .4s ease-out;
    -moz-transition: -moz-transform .4s ease-out;
    -webkit-transition: -webkit-transform .4s ease-out;
    transition: transform .4s ease-out
}

.scroll_controll .cont.sc {
    -o-transform: scale(.9);
    -ms-transform: scale(.9);
    -moz-transform: scale(.9);
    -webkit-transform: scale(.9);
    transform: scale(.9)
}

.btn_controll_indicator {
    position: absolute;
    display: inline-block;
    width: 40px;
    height: 40px;
    top: 0;
    left: 0;
    background-image: url(../imm/indicatore_piccolo_color@2x.png);
    background-size: 25px;
    background-position: center;
    background-repeat: no-repeat;
    vertical-align: middle;
    z-index: 10
}

.btn_controll_scroll {
    position: relative;
    display: inline-block;
    width: 40px;
    height: 40px;
    margin-top: 50px;
    background-image: url(../imm/indicatore_grande_white@2x.png);
    background-size: 5px;
    background-position: center;
    background-repeat: no-repeat;
    z-index: 10;
    vertical-align: middle
}

.btn_controll_scroll:hover {
    background-size: 9px
}

.btn_controll_scroll .title_sc {
    position: absolute;
    display: inline-block;
    right: 0;
    left: auto;
    top: 50%;
    width: 80px;
    margin-top: -8px;
    opacity: 0;
    color: #aca9b5;
    -o-transition: right .4s ease-out, opacity .4s ease-out;
    -ms-transition: right .4s ease-out, opacity .4s ease-out;
    -moz-transition: right .4s ease-out, opacity .4s ease-out;
    -webkit-transition: right .4s ease-out, opacity .4s ease-out;
    transition: right .4s ease-out, opacity .4s ease-out
}

.cont_btn_scroll.not_anno .btn_controll_scroll {
    background-image: url(../imm/indicatore_piccolo_white@2x.png)
}

.cont_btn_scroll.not_anno .btn_controll_scroll .title_sc {
    color: #fff
}

.btn_controll_scroll:hover .title_sc {
    right: 100%;
    opacity: 1
}

.riga_back {
    background-color: #aca9b5
}

.cont_btn_scroll.not_anno .riga_back {
    background-color: #fff
}

.btn_controll_scroll.first {
    margin-top: 0
}

@media screen and (max-width:700px) {
    .btn_controll_scroll .title_sc {
        display: none
    }
}

.news {
    position: relative;
    display: inline-block;
    width: 100%;
    text-align: center;
    margin-top: 25px
}

.imm_news {
    position: relative;
    display: inline-block;
    width: 100%;
    overflow: hidden;
    box-shadow: 0 0 0 0 #b4b4b4;
    -o-transition: box-shadow .3s ease-out;
    -ms-transition: box-shadow .3s ease-out;
    -moz-transition: box-shadow .3s ease-out;
    -webkit-transition: box-shadow .3s ease-out;
    transition: box-shadow .3s ease-out
}

.imm_news .imm_full {
    -o-transition: width .3s ease-out, height .3s ease-out, top .3s ease-out, left .3s ease-out;
    -ms-transition: width .3s ease-out, height .3s ease-out, top .3s ease-out, left .3s ease-out;
    -moz-transition: width .3s ease-out, height .3s ease-out, top .3s ease-out, left .3s ease-out;
    -webkit-transition: width .3s ease-out, height .3s ease-out, top .3s ease-out, left .3s ease-out;
    transition: width .3s ease-out, height .3s ease-out, top .3s ease-out, left .3s ease-out
}

.imm_news:hover {
    box-shadow: 0 0 15px 5px #b4b4b4
}

.imm_news:hover .imm_full {
    width: 110%;
    height: 110%;
    top: -5%;
    left: -5%
}

.news_riga {
    width: 21%;
    margin-left: 2%;
    margin-left: calc(25px);
    width: calc((100% - 25px)/ 4 - 25px);
    vertical-align: top
}

.news p {
    margin-top: 15px;
    padding: 0
}

@media screen and (max-width:1440px) {
    .news_riga {
        width: 31%;
        margin-left: 2%;
        margin-left: calc(25px);
        width: calc((100% - 25px)/ 3 - 25px)
    }
}

@media screen and (max-width:1120px) {
    .news_riga {
        width: 46%;
        margin-left: 2%;
        margin-left: calc(25px);
        width: calc((100% - 25px)/ 2 - 25px)
    }
}

@media screen and (max-width:640px) {
    .news_riga {
        width: 96%;
        margin-left: 2%;
        margin-left: calc(25px);
        width: calc(100% - 50px)
    }
}

.progetti {
    position: relative;
    display: inline-block;
    width: 100%;
    text-align: center;
    margin-top: 25px
}

.imm_progetti {
    position: relative;
    display: inline-block;
    width: 100%;
    overflow: hidden;
    box-shadow: 0 0 0 0 #b4b4b4;
    -o-transition: box-shadow .3s ease-out;
    -ms-transition: box-shadow .3s ease-out;
    -moz-transition: box-shadow .3s ease-out;
    -webkit-transition: box-shadow .3s ease-out;
    transition: box-shadow .3s ease-out
}

.imm_progetti .imm_full {
    -o-transition: width .3s ease-out, height .3s ease-out, top .3s ease-out, left .3s ease-out;
    -ms-transition: width .3s ease-out, height .3s ease-out, top .3s ease-out, left .3s ease-out;
    -moz-transition: width .3s ease-out, height .3s ease-out, top .3s ease-out, left .3s ease-out;
    -webkit-transition: width .3s ease-out, height .3s ease-out, top .3s ease-out, left .3s ease-out;
    transition: width .3s ease-out, height .3s ease-out, top .3s ease-out, left .3s ease-out
}

.imm_progetti:hover {
    box-shadow: 0 0 15px 5px #b4b4b4
}

.imm_progetti:hover .imm_full {
    width: 110%;
    height: 110%;
    top: -5%;
    left: -5%
}

.progetti_riga {
    width: 31%;
    margin-left: 2%;
    margin-left: calc(25px);
    width: calc((100% - 25px)/ 3 - 25px);
    vertical-align: top
}

.progetti p {
    padding: 0
}

@media screen and (max-width:1120px) {
    .progetti_riga {
        width: 46%;
        margin-left: 2%;
        margin-left: calc(25px);
        width: calc((100% - 25px)/ 2 - 25px)
    }
}

@media screen and (max-width:640px) {
    .progetti_riga {
        width: 96%;
        margin-left: 2%;
        margin-left: calc(25px);
        width: calc(100% - 50px)
    }
}

.contenitor_gall {
    position: relative;
    display: inline-block;
    width: 90%;
    width: calc(100% - 50px);
    overflow: hidden
}

.gall {
    position: relative;
    display: inline-block;
    max-width: 100%;
    max-height: 100%;
    top: 0;
    left: 0;
    vertical-align: middle;
    overflow: hidden;
    background-image: url(../imm/carica_image.gif);
    background-size: 40px;
    background-position: center;
    background-repeat: no-repeat
}

.gall2 {
    position: relative;
    display: inline-block;
    max-width: 100%;
    max-height: 100%;
    top: 0;
    left: 0;
    vertical-align: middle;
    overflow: hidden;
    background-image: url(../imm/carica_image.gif);
    background-size: 40px;
    background-position: center;
    background-repeat: no-repeat
}

.gall .cont_media {
    position: relative;
    display: inline-block;
    margin-left: -4px;
    margin-right: -4px;
    max-width: 100%;
    max-height: 100%;
    vertical-align: middle
}

.granulato {
    background-image: url(../imm/granulato.png);
    background-size: auto;
    background-repeat: repeat
}

.cucitura {
    position: absolute;
    height: 1px;
    width: 270px;
    left: 50%;
    margin-left: -135px;
    border-top: dashed 1px #b4b4b4;
    top: 12.5px
}

.cucitura.bot {
    top: auto;
    bottom: 12.5px
}

#barra {
    background-position: center;
    z-index: 120;
    position: fixed;
    left: 0;
    top: 0;
    margin-bottom: 0;
    padding-bottom: 0;
    text-align: center;
    background-color: #000640;
    -o-transition: background-color .4s ease-out, box-shadow .4s ease-out, height .4s ease-out;
    -ms-transition: background-color .4s ease-out, box-shadow .4s ease-out, height .4s ease-out;
    -moz-transition: background-color .4s ease-out, box-shadow .4s ease-out, height .4s ease-out;
    -webkit-transition: background-color .4s ease-out, box-shadow .4s ease-out, height .4s ease-out;
    transition: background-color .4s ease-out, box-shadow .4s ease-out, height .4s ease-out
}

.barra2 {
    background-color: #000640
}

.barra3 {
    background-color: #000640
}

.barra4 {
    background-color: #000640
}

.barra {
    box-shadow: 0 0 16px 0 #00000080;
    background-color: #000640
}

.logo_barra {
    position: relative;
    height: 40px;
    margin: 25px;
    left: 0;
    top: 0;
    padding: 25px;
    left: 0;
    opacity: 1;
    -o-transition: height .4s ease-out, left .4s ease-out, margin .4s ease-out, opacity .4s ease-out;
    -ms-transition: height .4s ease-out, left .4s ease-out, margin .4s ease-out, opacity .4s ease-out;
    -moz-transition: height .4s ease-out, left .4s ease-out, margin .4s ease-out, opacity .4s ease-out;
    -webkit-transition: height .4s ease-out, left .4s ease-out, margin .4s ease-out, opacity .4s ease-out;
    transition: height .4s ease-out, left .4s ease-out, margin .4s ease-out, opacity .4s ease-out
}

.menu_barra {
    position: absolute;
    margin-top: 33px;
    left: auto;
    top: 0;
    right: 0;
    padding: 0
}

.menu_sez {
    position: relative;
    display: inline-block;
    vertical-align: middle;
    padding: 16px 0;
    margin: 26px 25px;
    font-family: 'Avenir Next', serif;
    font-weight: 600;
    font-size: 16px;
    text-transform: uppercase;
    color: #fff;
    letter-spacing: 1px;
    -o-transition: height .4s ease-out, left .4s ease-out, padding .4s ease-out, color .4s ease-out, opacity .4s ease-out, top .4s ease-out, background-color .4s ease-out, margin .4s ease-out;
    -ms-transition: height .4s ease-out, left .4s ease-out, padding .4s ease-out, color .4s ease-out, opacity .4s ease-out, top .4s ease-out, background-color .4s ease-out, margin .4s ease-out;
    -moz-transition: height .4s ease-out, left .4s ease-out, padding .4s ease-out, color .4s ease-out, opacity .4s ease-out, top .4s ease-out, background-color .4s ease-out, margin .4s ease-out;
    -webkit-transition: height .4s ease-out, left .4s ease-out, padding .4s ease-out, color .4s ease-out, opacity .4s ease-out, top .4s ease-out, background-color .4s ease-out, margin .4s ease-out;
    transition: height .4s ease-out, left .4s ease-out, padding .4s ease-out, color .4s ease-out, opacity .4s ease-out, top .4s ease-out, background-color .4s ease-out, margin .4s ease-out
}

.barra .cont .cont .normal_div .menu_sez {
    margin: 16px 25px
}

.menu_sez.menu_sez2 {
    padding: 16px 0;
    margin: 0;
    color: #fcd116
}

.menu_sez.menu_sez3 {
    width: 100%;
    padding: calc(25px);
    padding-top: 10px;
    padding-bottom: 10px;
    margin: 0;
    background-color: #141414;
    color: #fff
}

.menu_sez:visited {
    color: #fff
}

.menu_sez2:visited {
    color: #fff
}

.menu_sez3:visited {
    color: #fff
}

.menu_sez:hover {
    color: #fcd116
}

.menu_sez.menu_sez2:hover {
    color: #fcd116
}

.menu_sez.menu_sez3:hover {
    color: #fcd116
}

.sotto_menu {
    position: absolute;
    top: 0;
    left: -20%;
    width: 140%;
    overflow: hidden;
    visibility: hidden;
    -o-transition: visibility .4s ease-out;
    -ms-transition: visibility .4s ease-out;
    -moz-transition: visibility .4s ease-out;
    -webkit-transition: visibility .4s ease-out;
    transition: visibility .4s ease-out
}

.sotto_menu .menu_sez3 {
    width: 100%;
    left: 0;
    margin-left: -25px;
    top: -25px;
    opacity: 0;
    text-align: center
}

.open_sotto:hover .sotto_menu {
    visibility: visible
}

.open_sotto:hover .sotto_menu .menu_sez3 {
    top: 0;
    opacity: 1
}

.barra .cont .cont .normal_div .menu_sez2 {
    margin: 0
}

.barra .cont .cont .normal_div .menu_sez3 {
    margin: 0;
    margin-left: -45px
}

.header_barra {
    overflow: hidden;
    height: 100px;
    -o-transition: height .4s ease-out, left .4s ease-out, padding .4s ease-out, color .4s ease-out, opacity .4s ease-out, top .4s ease-out, background-color .4s ease-out;
    -ms-transition: height .4s ease-out, left .4s ease-out, padding .4s ease-out, color .4s ease-out, opacity .4s ease-out, top .4s ease-out, background-color .4s ease-out;
    -moz-transition: height .4s ease-out, left .4s ease-out, padding .4s ease-out, color .4s ease-out, opacity .4s ease-out, top .4s ease-out, background-color .4s ease-out;
    -webkit-transition: height .4s ease-out, left .4s ease-out, padding .4s ease-out, color .4s ease-out, opacity .4s ease-out, top .4s ease-out, background-color .4s ease-out;
    transition: height .4s ease-out, left .4s ease-out, padding .4s ease-out, color .4s ease-out, opacity .4s ease-out, top .4s ease-out, background-color .4s ease-out
}

.barra .header_barra {
    height: 0
}

.logo_sotto {
    vertical-align: middle;
    height: 75px;
    margin: 0;
    margin-right: -131px;
    margin-left: 25px;
    margin-top: -150px;
    -o-transition: height .4s ease-out, left .4s ease-out, margin .4s ease-out, color .4s ease-out, opacity .4s ease-out, top .4s ease-out, background-color .4s ease-out;
    -ms-transition: height .4s ease-out, left .4s ease-out, margin .4s ease-out, color .4s ease-out, opacity .4s ease-out, top .4s ease-out, background-color .4s ease-out;
    -moz-transition: height .4s ease-out, left .4s ease-out, margin .4s ease-out, color .4s ease-out, opacity .4s ease-out, top .4s ease-out, background-color .4s ease-out;
    -webkit-transition: height .4s ease-out, left .4s ease-out, margin .4s ease-out, color .4s ease-out, opacity .4s ease-out, top .4s ease-out, background-color .4s ease-out;
    transition: height .4s ease-out, left .4s ease-out, margin .4s ease-out, color .4s ease-out, opacity .4s ease-out, top .4s ease-out, background-color .4s ease-out
}

.barra .logo_sotto {
    height: 40px;
    margin: 10px;
    margin-right: 0;
    margin-left: 25px;
    margin-top: 7.5px
}

.hh_barra_sopra {
    height: 100px
}

.titles_cont {
    width: 50%;
    margin-left: 129px
}

.titles_cont2 {
    position: absolute;
    top: 26px;
    left: auto;
    right: 25px;
    width: 30%;
    padding-right: 62.5px;
    background-size: 40px;
    background-position: right;
    background-repeat: no-repeat;
    background-image: url(../imm/icons/icon_orario_menu.png)
}

.button_chiamaci {
    position: absolute;
    left: auto;
    right: 25px;
    top: 50%;
    margin-top: -16px
}

@media screen and (max-width:840px) {
    .logo_sotto {
        display: none;
        height: 50px;
        margin: 0;
        margin-right: -95px;
        margin-left: 5px;
        margin-top: -80px;
        -o-transition: height .4s ease-out, left .4s ease-out, margin .4s ease-out, color .4s ease-out, opacity .4s ease-out, top .4s ease-out, background-color .4s ease-out;
        -ms-transition: height .4s ease-out, left .4s ease-out, margin .4s ease-out, color .4s ease-out, opacity .4s ease-out, top .4s ease-out, background-color .4s ease-out;
        -moz-transition: height .4s ease-out, left .4s ease-out, margin .4s ease-out, color .4s ease-out, opacity .4s ease-out, top .4s ease-out, background-color .4s ease-out;
        -webkit-transition: height .4s ease-out, left .4s ease-out, margin .4s ease-out, color .4s ease-out, opacity .4s ease-out, top .4s ease-out, background-color .4s ease-out;
        transition: height .4s ease-out, left .4s ease-out, margin .4s ease-out, color .4s ease-out, opacity .4s ease-out, top .4s ease-out, background-color .4s ease-out
    }
    .barra .logo_sotto {
        height: 50px;
        margin: 0;
        margin-right: -95px;
        margin-left: 5px;
        margin-top: -80px
    }
    #barra .cont_all {
        height: 100%
    }
    #barra .menu_cont {
        position: absolute;
        top: 61px;
        height: 80%;
        height: calc(100% - 61px);
        overflow: auto;
        -o-transition: height .4s ease-out;
        -ms-transition: height .4s ease-out;
        -moz-transition: height .4s ease-out;
        -webkit-transition: height .4s ease-out;
        transition: height .4s ease-out
    }
    #barra {
        /*height: 50px;
        overflow: hidden*/
    }
    #barra.aperto {
        height: 100%
    }
    .barra2 {
        background-color: #000640;
    }
    .barra3 {
        background-color: #000640;
    }
    .barra4 {
        background-color: #000640;
    }
    .barra {
        background-color: #000640;
    }
    #barra.aperto {
        background-color: #000640;
    }
    .header_barra {
        height: 50px
    }
    .barra .header_barra {
        height: 50px
    }
    .hh_barra_sopra {
        height: 50px;
        display: none
    }
    .titles_cont {
        width: 60%;
        margin-left: 0
    }
    .titles_cont2 {
        display: none
    }
    .button_chiamaci {
        position: relative;
        right: auto;
        top: auto;
        margin: 12.5px;
        text-align: center
    }
}

.contact_icon {
    position: absolute;
    display: inline-block;
    width: 40px;
    height: 40px;
    margin-top: 25px;
    left: auto;
    top: 0;
    right: 25px;
    padding: 0;
    background-size: 25px;
    background-repeat: no-repeat;
    background-position: center;
    -o-transition: background-size .2s ease-out, margin .4s ease-out;
    -ms-transition: background-size .2s ease-out, margin .4s ease-out;
    -moz-transition: background-size .2s ease-out, margin .4s ease-out;
    -webkit-transition: background-size .2s ease-out, margin .4s ease-out;
    transition: background-size .2s ease-out, margin .4s ease-out
}

.contact_icon2 {
    position: relative;
    display: inline-block;
    width: 40px;
    height: 40px;
    background-size: 25px;
    background-repeat: no-repeat;
    background-position: center;
    -o-transition: background-size .2s ease-out, margin .4s ease-out;
    -ms-transition: background-size .2s ease-out, margin .4s ease-out;
    -moz-transition: background-size .2s ease-out, margin .4s ease-out;
    -webkit-transition: background-size .2s ease-out, margin .4s ease-out;
    transition: background-size .2s ease-out, margin .4s ease-out
}

.contact_icon.due {
    right: 70px
}

.contact_icon.tre {
    right: 110px
}

.barra .contact_icon {
    margin-top: 10px
}

.contact_icon:hover {
    background-size: 40px
}

.contact_icon2:hover {
    background-size: 40px
}

.linkedin {
    background-image: url(../imm/icon_linkedim.png)
}

.instagram {
    background-image: url(../imm/icon_instagram.png)
}

.facebook {
    background-image: url(../imm/icon_facebook.png)
}

.youtube {
    background-image: url(../imm/icon_youtube.png)
}

.apertura {
    position: absolute;
    display: inline-block;
    margin-top: 25px;
    left: 25px;
    top: 0;
    padding: 10px 0;
    padding-left: 40px;
    padding-top: 16px;
    background-size: 25px;
    background-repeat: no-repeat;
    background-position: left;
    background-image: url(../imm/icons/icon_orario_menu.png);
    -o-transition: background-size .2s ease-out, margin .4s ease-out;
    -ms-transition: background-size .2s ease-out, margin .4s ease-out;
    -moz-transition: background-size .2s ease-out, margin .4s ease-out;
    -webkit-transition: background-size .2s ease-out, margin .4s ease-out;
    transition: background-size .2s ease-out, margin .4s ease-out
}

.apertura.chiuso {
    background-image: url(../imm/icons/icon_orario_menu_chiuso.png)
}

.barra .apertura {
    margin-top: 10px
}

.menu_btn {
    position: absolute;
    width: 50px;
    height: 50px;
    right: 0;
    top: 5px;
    left: auto;
    display: none
}

.menu_btn .riga {
    position: absolute;
    display: block;
    width: 32px;
    height: 2px;
    border-radius: 1px;
    background-color: #fff;
    -o-transition: all .4s ease-out;
    -ms-transition: all .4s ease-out;
    -moz-transition: all .4s ease-out;
    -webkit-transition: all .4s ease-out;
    transition: all .4s ease-out
}

.menu_btn .riga_white {
    background-color: #fff
}

.menu_btn:hover .riga {
    background-color: #fff;
    -o-transition: all .4s ease-out;
    -ms-transition: all .4s ease-out;
    -moz-transition: all .4s ease-out;
    -webkit-transition: all .4s ease-out;
    transition: all .4s ease-out
}

.menu_btn .riga.r1 {
    top: 16px;
    left: 8px;
    -o-transition: all .3s ease-out;
    -ms-transition: all .3s ease-out;
    -moz-transition: all .3s ease-out;
    -webkit-transition: all .3s ease-out;
    transition: all .3s ease-out
}

.menu_btn .riga.r2 {
    top: 24px;
    left: 8px;
    -o-transition: all .3s ease-out;
    -ms-transition: all .3s ease-out;
    -moz-transition: all .3s ease-out;
    -webkit-transition: all .3s ease-out;
    transition: all .3s ease-out
}

.menu_btn .riga.r3 {
    top: 32px;
    left: 8px;
    -o-transition: all .3s ease-out;
    -ms-transition: all .3s ease-out;
    -moz-transition: all .3s ease-out;
    -webkit-transition: all .3s ease-out;
    transition: all .3s ease-out
}

.menu_btn .riga.x.r1 {
    top: 24px;
    left: 10px;
    -webkit-transform: rotate(-135deg);
    -moz-transform: rotate(-135deg);
    -ms-transform: rotate(-135deg);
    transform: rotate(-135deg);
    -o-transition: all .3s ease-out;
    -ms-transition: all .3s ease-out;
    -moz-transition: all .3s ease-out;
    -webkit-transition: all .3s ease-out;
    transition: all .3s ease-out
}

.menu_btn .riga.x.r2 {
    top: 24px;
    left: 10px;
    -webkit-transform: rotate(-135deg);
    -moz-transform: rotate(-135deg);
    -ms-transform: rotate(-135deg);
    transform: rotate(-135deg);
    -o-transition: all .3s ease-out;
    -ms-transition: all .3s ease-out;
    -moz-transition: all .3s ease-out;
    -webkit-transition: all .3s ease-out;
    transition: all .3s ease-out
}

.menu_btn .riga.x.r3 {
    top: 24px;
    left: 10px;
    -webkit-transform: rotate(135deg);
    -moz-transform: rotate(135deg);
    -ms-transform: rotate(135deg);
    transform: rotate(135deg);
    -o-transition: all .3s ease-out;
    -ms-transition: all .3s ease-out;
    -moz-transition: all .3s ease-out;
    -webkit-transition: all .3s ease-out;
    transition: all .3s ease-out
}

@media screen and (min-width:1920px) {
    .menu_barra {
        margin-top: 48px
    }
}

@media screen and (min-width:1680px) {
    .menu_sez {
        margin: 26px 45px
    }
    .barra .cont .cont .normal_div .menu_sez {
        margin: 16px 45px
    }
}

@media screen and (max-width:1280px) {
    .menu_barra {
        margin: 36px 15px
    }
}

@media screen and (max-width:1140px) {
    .menu_sez {
        font-size: 12px;
        padding: 18px 0;
        margin: 26px 15px
    }
    .barra .cont .cont .normal_div .menu_sez {
        margin: 16px 15px
    }
}

@media screen and (max-width:840px) {
    .menu_btn {
        display: inline-block
    }
    .menu_barra {
        margin-top: 18px
    }
    .menu_sez {
        font-size: 25px;
        font-family: 'Avenir Next', sans-serif;
        text-align: center;
        width: 96%;
        width: calc(100% - 50px);
        margin: 0;
        padding: 12.5px 2%;
        padding: 12.5px calc(25px)
    }
    .barra .cont .cont .normal_div .menu_sez {
        margin: 0
    }
    #barra .cont {
    }
    .apertura {
        top: 0;
        left: 205px;
        width: 80px;
        margin: 0;
        padding-left: 0;
        background: 0 0;
        padding-top: 14px
    }
    .apertura.chiuso {
        background: 0 0
    }
    .barra .apertura {
        margin-top: 0
    }
    .contact_icon {
        display: none
    }
    .sotto_menu {
        position: relative;
        left: 0;
        width: 100%;
        overflow: hidden;
        visibility: visible;
        padding-top: 5px
    }
    div.menu_sez {
        color: #a2a2a2;
        padding-bottom: 7.5px
    }
    div.menu_sez:hover {
        color: #a2a2a2
    }
    .open_sotto .sotto_menu .menu_sez2 {
        display: none
    }
    .open_sotto .sotto_menu .menu_sez3 {
        display: inline-block;
        overflow: hidden;
        margin: 0;
        top: 0;
        opacity: 1;
        padding: 5px 0;
        padding-top: 5px;
        background: 0 0;
        -o-transition: height .4s ease-out, padding .4s ease-out;
        -ms-transition: height .4s ease-out, padding .4s ease-out;
        -moz-transition: height .4s ease-out, padding .4s ease-out;
        -webkit-transition: height .4s ease-out, padding .4s ease-out;
        transition: height .4s ease-out, padding .4s ease-out
    }
}




