#responsive-menu {
    background: none repeat scroll 0 0 #0c0c0c;
    box-shadow: 0 1px 8px #121212;
    display: none;
    font-size: 13px !important;
    text-transform: uppercase;
    max-width: 999px;
    position: absolute;
    right: -50%;
    top: 0 !important;
    padding-top: 80px !important;
    width: 240px;
    z-index: 9999;
}
#responsive-menu #responsive-menu-title {
    border: 0 solid #666;
    font-size: 14px !important;
    padding: 10px 0 10px 5% !important;
    width: 120px !important;
}
html body#subpage.RMPushOpen div#responsive-menu.RMOpened div.menu-navi-container ul#menu-navi-1.responsive-menu {
    padding: 0 40px;
}
.vc_btn3.vc_btn3-color-white.vc_btn3-style-outline {
  color: #FFFFFF !important;
}
.vc_btn3.vc_btn3-color-white:hover, .vc_btn3.vc_btn3-color-white.vc_btn3-style-flat:hover, .vc_btn3.vc_btn3-color-white:focus, .vc_btn3.vc_btn3-color-white.vc_btn3-style-flat:focus {
    color: #5e5e5e !important;
    text-decoration: none !important;
}
#toppy {
    background-color: transparent !important;
}
.vc_btn3.vc_btn3-size-md {
    border-radius: 200px
}
div.wpcf7-mail-sent-ok, div.wpcf7-validation-errors {
    border: 0px solid #FFF !important;
    background-color: transparent !important;
    color: #232323 !important;
    padding: 10px 20px !important;
    text-align: left !important;
    font-weight: 300 !important;
    font-size: 16px !important;
    line-height: 28px !important;
}
#responsive-menu .responsive-menu li a {
    border-top: 1px solid #0c0c0c !important;
    color: #666 !important;
    display: block !important;
    height: 5px !important;
    line-height: 26px !important;
    overflow: hidden !important;
    padding: 12px 0 12px 5% !important;
    text-decoration: none !important;
    white-space: nowrap !important;
    width: 95% !important;
}
.wpcf7-form h5 {
  font-size: 16px;
  line-height: 26px;
  padding-top: 10px
}
span.wpcf7-not-valid-tip {
  color: #232323;
    font-size: 14px;
    font-weight: 500;
}
.layered_home {
    height: auto !important;
}
.shiftnav-open #shiftnav-toggle-main.shiftnav-toggle-icon-x .shiftnav-toggle-burger .fa:before,
.shiftnav-open #shiftnav-toggle-main.shiftnav-toggle-main-entire-bar.shiftnav-toggle-icon-x:before {
    content: "";
}
.shiftnav-loading {
    display: none !important;
}
.vp-style-logo .viba-portfolio .viba-portfolio-title {
    font-size: 11px;
    letter-spacing: 0;
    line-height: 26px;
    text-transform: uppercase;
    font-family: Graphik, helvetica, sans-serif;
}
.vp-style-default .vp-loader,
.vp-style-default .vp-loader div,
.vp-style-default .vp-loader::after,
.vp-style-default .vp-loader::before {
    background-color: #fff;
    color: #232323;
}
#fancybox-content {
    border: 0 solid #fff !important;
}
#fancybox-close {
    position: fixed !important;
    top: 30px !important;
    right: 30px !important;
}
a.scrollup-pill {
    background: none repeat scroll 0 0 #1c1c1c;
    border-radius: 3px;
    bottom: 20px;
    color: #fff;
    font-family: Graphik, helvetica, serif;
    font-size: 9px;
    opacity: 0.9;
    padding: 10px 20px;
    text-decoration: none;
    text-transform: uppercase;
    transition: background 0.2s linear 0s;
    font-weight: 300;
}
a.scrollup-image {
    background-image: url(images/scrollup.png);
    bottom: 30px;
    height: 38px;
    right: 20px;
    width: 38px;
    opacity: 0.6;
}
a.scrollup-image:hover {
    opacity: 0.8;
}
@media only screen and (max-width: 320px) {
    #portfolio ul li img {
        width: 70%;
    }
    .boxed_artwork {
        width: 100% !important;
        margin: 0;
    }
}
.vc_row.vc_row-flex {
    margin: 0px;
}
.viba-portfolio-pagination .vp-load-more, .viba-portfolio-pagination .vp-pagination-arrow a, .viba-portfolio-pagination .page-numbers .page-numbers {
    background: none;
    border: 0px solid #EAEAEA;
    color: #121212;
    border-radius: 200px;
}

@media only screen and (min-width: 320px) and (max-width: 1023px) {
    #wrapper {
        margin: 0 auto;
        width: 100% !important;
    }
    .last_toggle_el_margin,
    .wpb_button,
    .wpb_content_element,
    ul.wpb_thumbnails-fluid > li {
        padding: 0 0;
    }
    .boxed_artwork {
        width: 100% !important;
        margin: 0 auto;
    }
    #fullwidth {
        margin-top: 0;
        overflow: hidden;
        width: 100%;
    }
    #portfolio ul li img {
        width: 94%;
    }
    #portfolio span.project-title {
        display: none;
    }
    .filtra {
        display: none;
    }
    .three-cols,
    four-cols,
    two-cols {
        width: 100%;
        overflow: hidden;
        margin: 15px 0;
    }
    div#ez-toc-container {
        width: auto;
    }
    .column3 {
        width: 33.3%;
        float: left;
        margin-bottom: 15px;
        display: block;
        clear: right;
        overflow: hidden;
        margin-right: 30px;
    }
    .three-cols .column3 {
        margin-right: 24px;
    }
    .column3_lastcol {
        width: 33.3%;
        float: left;
        margin-bottom: 15px;
    }
    .column2,
    .column2_lastcol {
        width: 50%;
        float: left;
        margin-bottom: 15px;
    }
    .column2 {
        margin-right: 40px;
    }
    .column4,
    .four-cols .column4_lastcol {
        width: 25%;
        float: left;
        margin-bottom: 20px;
    }
    .column4 {
        margin-right: 26px;
    }
    .content-left {
        overflow: hidden;
        float: left;
        width: 100%;
        margin: 0;
        margin-bottom: 20px;
        margin-top: 24px;
        padding: 0 0;
    }
    h2 {
        font-size: 50px;
        font-style: normal;
        letter-spacing: -3px;
        line-height: 50px;
        margin-bottom: -45px;
        margin-top: 0;
        padding: 0 0 50px;
    }
    h3 {
        color: #121212;
        font-size: 19px;
        line-height: 19px;
        letter-spacing: -1px;
        margin-top: 8px;
        padding: 3px 0 0;
        font-weight: 500;
    }
    .recent-works h3 {
      font-size: 25px;
      line-height: 35px
    }
    .content-left p {
        width: auto;
        padding: 0 30px;
        font-size: 13px;
    }
    .vc_column_container h2 {
        color: #121212;
        font-family: Graphik, Helvetica, serif;
        font-size: 70px;
        letter-spacing: -2px;
        line-height: 70px;
        margin-top: 0;
        padding: 3px 0 0;
        margin-bottom: 30px;
        word-wrap: break-word;
    }
    .content-left h1,
    .content-left h2,
    .content-left h3,
    .content-left h4 {
        width: auto;
        padding: 0 30px;
    }
    div.content-left h2 {
        font-size: 33px;
        line-height: 31px;
        margin-bottom: 0;
    }
    #fullwidth ol,
    #fullwidth ul,
    .content-left ol,
    .content-left ul {
        margin-bottom: 15px;
        margin-top: 15px;
        overflow: hidden;
        padding: 20px;
    }
    blockquote {
        background: none repeat scroll 0 0 #121212;
        color: #fff;
        height: auto;
        margin: 0;
        margin-top: 30px;
        padding: 20px;
        width: auto;
        box-shadow: none;
        border-radius: 0;
    }
    blockquote div {
        background: 0 0 !important;
    }
    blockquote div div {
        background: 0 0 !important;
        padding: 0 41px 21px 44px;
        margin-left: 0;
        margin-top: 0;
    }
    .content-left blockquote h3 {
        width: auto;
        padding: 10px 20px;
        font-size: 25px;
        color: #fff;
    }
    .content-left blockquote p {
        width: auto;
        padding: 0 20px;
        text-align: justify;
        color: #bbb;
    }
    .content-left blockquote p a {
        color: #ccc;
    }
    .recent-works-singleportfolio ul.works-list li {
        list-style: none;
        width: 32%;
        height: auto;
    }
    .recent-works-singleportfolio ul.works-list li img {
        border: 1px solid #eaeaea;
    }
    .project-singolo {
        position: relative;
        width: 100%;
        margin: 0 auto;
        margin-top: 8px;
        list-style: none !important;
        float: left;
        display: inline-block;
        padding-left: 7px;
        padding-top: 7px;
        height: 200px;
        text-align: center;
    }
    .ngg-galleryoverview {
        overflow: hidden;
        margin-top: 10px;
        width: auto;
        padding: 0 20px;
        clear: both;
        display: block !important;
    }
    .separator {
        background: 0 0 !important;
        height: 20px;
        width: 100%;
        border: 0 solid #eaeaea;
    }
    .sidebar-block {
        background: 0 0 !important;
        height: auto;
        marin: 0;
        padding: 0;
        padding-bottom: 15px;
        margin-bottom: 15px;
        width: 100%;
        border-bottom: 1px solid #eaeaea;
    }
    .sidebar-block:last-child {
        display: none;
    }
    .sidebar-block ul {
        background: none no-repeat scroll left top transparent;
        margin-top: 0;
        padding: 0;
    }
    ul#popular-widget {
        background: none no-repeat scroll left top transparent;
        margin-top: 0;
        padding: 0 20px;
    }
    #sidebar {
        float: none;
        padding: 0 0;
        width: 100%;
        text-align: center;
    }
    #sidebar span.sidebar-top {
        background: none no-repeat scroll left center transparent;
        display: block;
        height: 23px;
        margin-top: 20px;
        position: relative;
        top: -3px;
        z-index: -5;
    }
    #sidebar .sidebar-middle {
        background: none repeat-y scroll 0 0 transparent;
        margin-top: -3px;
        padding-left: 0;
        z-index: -5;
    }
    #sidebar span.sidebar-bottom {
        background: none no-repeat scroll left center transparent;
        display: block;
        height: 71px;
        position: relative;
        top: -35px;
        z-index: -5;
        display: none;
    }
    .sidebar-block #search {
        background-image: url(images/template/cerca.png);
        background-repeat: no-repeat;
        float: none;
        height: 40px;
        margin: 0 0 35px;
        padding: 0;
        width: auto;
    }
    .grid3col {
        margin-bottom: 20px;
    }
    .recent-works-singleportfolio {
        float: left;
        text-align: justify;
        width: auto;
    }
    .recent-works-singleportfolio h3 {
        text-align: center;
        width: auto;
        line-height: 32px;
    }
    .recent-works-singleportfolio ul.works-list {
        list-style: outside none none;
        margin: 0 auto;
        overflow: hidden;
        padding: 20px;
        width: auto;
    }
    #footer .footer-middle .content {
        margin: 0 auto;
        overflow: hidden;
        width: 100%;
    }
    .three-cols-sidebar .col,
    .three-cols-sidebar .col1,
    .three-cols-sidebar .col2,
    .three-cols-sidebar .col3 {
        float: center;
        width: 100%;
    }
    .three-cols-sidebar .col1 {
        padding-right: 0;
        width: 100%;
    }
    #sampei {
        float: left;
        width: 100%;
        margin: 0 auto;
        text-align: center;
        padding-top: 0;
        margin-top: -70px !important;
    }
    #sampei li {
        padding: 0;
        float: none !important;
    }
    .viba-portfolio-single-content,
    .viba-portfolio-single-description,
    .viba-portfolio-single-meta,
    .vp-ajax-content,
    .vp-ajax-inner .viba-portfolio-item,
    .vp-ajax-wrapper {
        padding: 0 20px;
    }
    #header-subpage {
        background-repeat: no-repeat;
        background-position: bottom;
        max-height: 425px;
        margin: 0;
    }
    #main-content {
        margin-bottom: 0;
        overflow: hidden;
        padding: 0 0 0;
        width: 100%;
    }
    .navbar {
        height: 62px;
        margin: 00px 0 0;
        width: 100%;
        float: left;
        text-align: center;
    }
    .page-description,
    .page-title {
        float: none;
        margin: 0;
        margin-top: 0;
        text-align: center;
        width: auto;
        padding: 0 0;
    }
    .page-description {
        float: none;
        height: auto;
        width: auto;
        padding: 0 20px;
        margin-top: 0px;
        height: 328px;
        max-height: 328px;
        padding-top: 96px;
        overflow-y: hidden;
    }
    .page-description .page-title h2 {
        color: #fbfafa;
        height: auto;
        letter-spacing: -5px;
        margin: 0 auto;
        margin-top: 0;
        text-transform: none;
        width: 100%;
        font-size: 70px;
        line-height: 70px;
        letter-spacing: -5px;
        padding-top: 0;
        padding-bottom: 10px;
        font-weight: 500
    }
    .page-description .page-title span.subtitle {
        color: #fff;
        float: left;
        font-size: 16px;
        letter-spacing: -1px;
        margin: 0 auto;
        padding-left: 0;
        text-transform: none;
        width: 100%;
        margin-top: -15px;
    }
    .page-description .page-title span.descrizione {
        color: #777;
        float: left;
        font-size: 12px;
        line-height: 16px;
        padding: 0;
        padding-top: 3px;
        text-align: center;
        text-shadow: 1px 1px 0 #000;
        text-transform: none;
        width: auto;
        margin: 0;
        max-height: 98px;
        overflow-y: scroll;
    }
    .page-description .fadeimg2 {
        margin-left: 0;
        margin-top: 0;
        position: relative;
        width: 100%;
    }
    .page-description img.fadeimg2 {
        max-width: 300px;
        bottom: 0;
    }
    #header {
        background-repeat: no-repeat;
        background-position: bottom;
        height: 657;
    }
    #featured {
        height: auto;
        margin: 0;
        width: 100%;
        background-color: transparent;
    }
    .coda-slider,
    .coda-slider .panel {
        height: 392px;
        width: 100%;
    }
    .panel-wrapper .description-right h2 {
        display: none;
    }
    .panel-wrapper .description-right span.subtitle {
        display: none;
    }
    .panel-wrapper p {
        display: none;
    }
    .panel-wrapper .image-left {
        float: none;
        position: relative;
        top: 60px;
        left: -15px;
        width: 100%;
    }
    .panel-wrapper .image-left img {
        float: none;
        width: 25%;
    }
    #main-content-home {
        background: none no-repeat scroll 50% 100% rgba(0, 0, 0, 0);
        line-height: 1.4em;
        margin-bottom: 15px;
        overflow: hidden;
        width: 100%;
        margin: 0;
        padding: 0;
        border-top: 0 solid #eaeaea;
    }
    #main-content-home .text-content a h3 {
        padding: 20px 40px 0;
        font-size: 40px;
        line-height: 40px;
        letter-spacing: -3px;
    }
    #main-content-home .text-content h3 {
        padding: 0 40px;
        font-size: 20px;
        line-height: 28px;
        letter-spacing: -1px;
        font-weight: 500
    }
    #main-content-home .text-content h2 {
        padding: 0 40px;
        padding-bottom: 45px!important;
        font-size: 40px !important;
        line-height: 40px !important;
        letter-spacing: -1px;
        font-weight: 700
    }
    #main-content-home .text-content p {
        padding: 0 40px;
        font-size: 16px;
        line-height: 25px;
    }
    #news-ticker li {
        padding-left: 40px;
        padding-right: 40px;
        padding-top: 17px;
        padding-bottom: 5px;
    }
    .recent-works {
        float: none;
        margin: 0 auto;
        width: auto;
        padding: 20px 40px;
    }
    #promo {
        background: none no-repeat scroll 50% 100% rgba(0, 0, 0, 0);
        margin: 0 auto 0 0;
        padding: 0;
        width: 100%;
    }
    #promo-box {
        background: none no-repeat scroll 50% 100% rgba(0, 0, 0, 0);
        height: 260px;
        line-height: 1.4em;
        padding-bottom: 17px;
        padding-top: 10px;
        position: relative;
        width: auto;
        margin: 0 auto;
        padding-left: 25px;
    }
    #promo .boxy {
        border-left: 0 solid #eaeaea;
        float: left;
        height: 243px;
        padding-top: 0;
        width: 100%;
    }
    #promo .boxy:hover {
        background-color: #eaeaea;
        float: left;
        height: auto;
        padding-top: 0;
        width: 100%;
        height: 243px;
    }
    #portfolio {
        margin-top: 30px;
    }
    #portfolio ul li {
        display: inline-block;
        float: left;
        height: 240px;
        list-style: outside none none !important;
        margin: 0;
        position: relative;
        text-align: center;
        width: 100%;
    }
    #portfolio .project-text {
        margin-left: 0;
        margin-top: 30px;
        padding: 0 0;
        text-align: center;
        width: 100%;
    }
    #portfolio span.project-www {
        display: none;
    }
    #portfolio ul li a .hoverimage {
        display: none !important;
    }
    .recent-works ul.works-list li {
        background: 0 0;
        display: inline-block;
        float: left;
        height: auto;
        list-style: outside none none;
        margin: 0 4px 10px 0;
        overflow: hidden;
        width: 31%;
        border: 1px solid #eaeaea;
    }
    .recent-works ul.works-list li img {
        position: relative;
        top: 1px;
        left: 1px;
        border: 0 solid #eaeaea;
    }
    #promo-box .boxy h3 {
        float: left;
        font-size: 25px;
        letter-spacing: -2px;
        padding-bottom: 2px;
        padding-left: 20px;
        padding-top: 20px;
    }
    #promo-box .boxy p {
        font-size: 13px;
        line-height: 18px;
        padding-top: 55px;
    }
    #buystrip {
        display: none;
    }
    #preventivo {
      flex-direction: column-reverse;
        flex-wrap: wrap;
        height: auto;
        line-height: 1.4em;
        padding: 0px;
        position: relative;
        width: 100%;
        border-radius: 0px;
        margin: 0px
    }
    #preventivo .contenuto{
        width: auto;
        padding: 40px;
    }
    #preventivo .immagine{
        width: 100%
    }
    #footer .copyright .centra {
        margin: 0 auto;
        width: 100%;
    }
    #footer h3 {
        color: #FFFFFF;
        margin-bottom: 20px;
        width: 100%;
        font-size: 20px;
    }
    #footer p {
        font-size: 13px;
        width: 85%;
    }
    div#footer div.footer-middle div.content div.three-cols-sidebar div.col1,
    div#footer div.footer-middle div.content div.three-cols-sidebar div.col2,
    div#footer div.footer-middle div.content div.three-cols-sidebar div.col3 {
        width: 100%;
        margin: 0;
        height: auto;
        padding: 20px;
        border-bottom: 1px solid #121212;
        padding-top: 45px;
    }
    div#footer div.footer-middle div.content div.three-cols-sidebar div.col3 {
        border-bottom: 0 solid #121212;
        padding-top: 30px;
    }
    div#footer div.footer-middle div.content div.three-cols-sidebar div.col1 {
        display: none;
    }
    #footer ul {
        height: auto;
    }
    #footer .copyright {
        height: auto;
    }
    .copyright-content {
        padding: 20px;
    }
    #footer .copyright .centra .left {
        float: left;
        padding: 30px 0 0;
        width: 100%;
        font-size: 13px;
        line-height: 23px
    }
    #footer .copyright .centra .right {
        float: left;
        padding: 30px 0 0;
        width: 100%;
        text-align: center;
        font-size: 13px;
        line-height: 23px
    }
    #footer .copyright p {
        width: 100%;
    }
    .grid4col {
        width: 100%;
    }
    .grid4col .column {
        margin: 0;
        width: 100%;
        padding: 0;
    }
    .grid4col .column p {
        margin: 0;
        width: 80%;
        padding: 0;
    }
    .text-content {
        float: none;
        margin: 0;
        margin-bottom: 30px;
        width: 100%;
    }
    #preventivo h1 {
        font-size: 35px;
        letter-spacing: -3px;
        margin-bottom: 0;
        float: none;
        padding: 0 20px;
    }
    #preventivo h3 {
        width: 85%;
        padding: 0px;
    }
    #preventivo p {
        padding: 0;
        width: 85%;
        padding: 0px;
    }
    .immagine_preventivo {
        margin: 0;
        margin-top: 0;
        float: none;
        width: 70%;
        height: auto;
    }
    .preventivo_web {
        font-size: 40px;
        letter-spacing: -2px;
    }
    .title_artwork_choose {
        float: none;
        font-size: 40px;
        letter-spacing: -2px;
        text-align: left;
        margin-top: -15px;
    }
    .artwork_choose {
        width: 100%;
        text-align: left;
        margin: 10px 0;
    }
    .three-cols .col,
    .three-cols .col1,
    .three-cols .col2,
    .three-cols .col3 {
        float: none;
        margin: 0 auto;
        text-align: center;
        width: 100%;
        margin-bottom: 20px;
        border-bottom: 0 solid #eaeaea;
    }
    .three-cols .col1:last-child,
    .three-cols .col2,
    .three-cols .col3:last-child,
    .three-cols .col:last-child {
        border-bottom: 0 solid #eaeaea;
    }
    .three-cols .col img,
    .three-cols .col1 img,
    .three-cols .col2 img,
    .three-cols .col3 img {
        float: none;
        margin: 0 auto;
        padding: 10px 0 0;
    }
    .three-cols .col h3,
    .three-cols .col1 h3,
    .three-cols .col2 h3,
    .three-cols .col3 h3 {
        float: none;
        margin: 0;
    }
    .three-cols .col p,
    .three-cols .col1 p,
    .three-cols .col2 p,
    .three-cols .col3 p {
        padding: 5px 30px 20px;
        font-size: 15px;
        line-height: 25px;
    }
    .three-cols .col h3 a {
        font-size: 22px;
    }
    .tickerLink {
        font-size: 14px;
        line-height: 24px;
    }
    .tickerText {
        font-size: 14px;
        line-height: 24px;
    }
    .grid3col .column.first {
        border-left: medium none;
        border-right: 0 solid #ddd;
        padding: 20px 0;
        width: 100%;
    }
    .grid3col .column {
        border-left: 0 solid #fff;
        border-right: 1px solid #ddd;
        margin: 0;
        padding: 20px 0;
        width: 100%;
    }
    .grid3col .column.last {
        border-left: 0 solid #fff;
        border-right: medium none;
        padding: 20px 0;
        width: 100%;
    }
    .grid3col p.reduced-width {
        font-weight: 400;
        width: auto;
        padding: 0 20px;
        margin-top: 10px;
    }
    .grid3col .chiudi {
        font-weight: 400;
        width: auto;
        padding: 0 20px;
    }
    .grid3col h1 {
        line-height: 25px;
        margin-bottom: 1px;
        margin-top: 1px;
        padding: 0 20px;
        font-family: Graphik, Helvetica, serif;
        letter-spacing: -1.5px;
    }
    .grid3col .column img.right {
        display: none;
    }
    #news-ticker {
        background: none no-repeat scroll 0 0 transparent;
        height: 132px !important;
        margin-bottom: -25px;
        margin-top: 15px;
        width: 100%;
    }
    .linking a {
        font-size: 14px;
        line-height: 26px;
    }
    .vseparator-cols {
        display: none;
    }
    .linking {
        clear: both;
        font-size: 11px;
        margin: 0 auto;
        width: 85%;
        position: relative;
        text-align: center;
        padding: 10px;
    }
    #portfolio {
        overflow: hidden;
        width: 100%;
    }
    #portfolio-filter {
        width: 95%;
        height: auto;
        padding-top: 20px;
    }
    ul#portfolio-filter li {
        line-height: 40px;
    }
    #portfolio ul {
        display: inline;
        float: left;
        list-style: outside none none;
        width: auto;
    }
    .roundabout-holder {
        height: 12em;
        list-style: outside none none;
        margin-bottom: 0;
        margin-left: 30px;
        margin-right: 0;
        padding: 0;
        position: relative;
        top: 110px;
        width: 100%;
        display: none !important;
    }
    .roundabout-moveable-item img {
        height: auto;
        width: 75%;
    }
    #text-intro {
        margin: 26px auto 0;
        text-align: center;
        width: 75%;
    }
    ul.social-nav {
        list-style: outside none none;
        overflow: hidden;
        padding-top: 8px;
        width: 100%;
        margin: 0 auto;
    }
    ul.social-nav li {
        float: none;
    }
    .content-left span.project-www {
        margin-top: 10px;
        margin-right: 20px;
        padding: 5px 10px;
    }
    .content-left span.indietro {
        display: none;
    }
    div.wpcf7 {
        margin: 0;
        padding: 20px;
    }
}
@media only screen and (min-width: 481px) and (max-width: 768px) {
    .recent-works {
        float: none;
        margin: 0 auto;
        padding: 20px;
        width: auto;
        padding-right: 0;
    }
    .boxed_artwork {
        width: 100% !important;
        margin: 0;
    }
    .viba-portfolio-widget-item {
        float: left;
        margin: 5px;
        max-width: 150px;
        width: 100%;
    }
    .project-singolo {
        position: relative;
        width: 323px;
        margin: 0 1px 1px 0;
        margin-top: 8px;
        list-style: none !important;
        float: left;
        display: inline-block;
        padding-left: 7px;
        padding-top: 7px;
        height: 200px;
    }
    .content-left span.project-www {
        margin-top: -35px;
        margin-left: 0;
        padding: 5px 10px;
    }
    .three-cols .col,
    .three-cols .col1,
    .three-cols .col2,
    .three-cols .col3 {
        float: none;
        margin: 0 auto;
        text-align: center;
        width: 33%;
        margin-bottom: 20px;
        border-bottom: 0 solid #eaeaea;
        float: left;
    }
    #portfolio ul li img {
        width: 90%;
    }
    #portfolio ul li {
        display: inline-block;
        float: left;
        height: 240px;
        list-style: outside none none !important;
        margin: 0;
        position: relative;
        text-align: center;
        width: 50%;
    }
    #promo {
        background: none no-repeat scroll 50% 100% rgba(0, 0, 0, 0);
        margin: 0 auto 0 0;
        padding: 0;
        height: auto;
    }
    #promo-box {
        background: none no-repeat scroll 50% 100% rgba(0, 0, 0, 0);
        height: 260px;
        line-height: 1.4em;
        padding-bottom: 17px;
        padding-top: 10px;
        position: relative;
        width: 100%;
    }
    #promo .boxy {
        border-left: 1px solid #eaeaea;
        float: left;
        height: auto;
        padding-top: 30px;
        width: 49.8%;
        border-bottom: 1px solid #eaeaea;
        height: 200px;
    }
    #promo .boxy:hover {
        background-color: #eaeaea;
        float: left;
        height: auto;
        padding-top: 30px;
        width: 49.8%;
        height: 200px;
        border-bottom: 1px solid #eaeaea;
    }
    #promo .boxy h3 {
        float: none;
        font-size: 25px;
        letter-spacing: -2px;
        padding-bottom: 2px;
        padding-left: 20px;
        padding-top: 20px;
    }
    #promo .boxy h4 {
        float: none;
        font-size: 15px;
        letter-spacing: -1px;
        padding-bottom: 7px;
        padding-left: 22px;
        padding-top: 0;
    }
    #promo .boxy p {
        font-size: 11px;
        line-height: 14px;
        width: auto;
    }
    #promo .boxy img.right {
        margin-right: 3px;
        margin-top: 0;
        display: none;
    }
    .sidebar-block {
        background: none repeat scroll 0 0 rgba(0, 0, 0, 0) !important;
        border-bottom: 1px solid #eaeaea;
        height: auto;
        margin-bottom: 0;
        padding: 0 0 0;
        width: 48%;
        float: left;
        border-bottom: 0;
        border-left: 1px solid #ddd;
        height: 240px;
    }
    .sidebar-block:first-child {
        border-left: 0 solid #ddd;
        border-bottom: 1px solid #ddd;
    }
    .sidebar-block:nth-child(2) {
        border-bottom: 1px solid #ddd;
    }
    .grid3col .column.first {
        border-left: medium none;
        border-right: 1px solid #ddd;
        padding: 20px 0;
        width: 33%;
    }
    .grid3col .column {
        border-left: 0 solid #fff;
        border-right: 1px solid #ddd;
        margin: 0;
        padding: 20px 0;
        width: 33%;
    }
    .grid3col .column.last {
        border-left: 0 solid #fff;
        border-right: medium none;
        padding: 20px 0;
        width: 33%;
    }
    #text-intro h2 {
        color: #f5f5f5;
        font-size: 50px !important;
        letter-spacing: -1px;
    }
}
@media only screen and (min-width: 0px) and (max-width: 400px) {
.recent-works {
    float: none;
    margin: 0 auto;
    width: auto;
    padding: 20px 20px;
}
}
@media only screen and (min-width: 768px) and (max-width: 1023px) {
    .project-singolo {
        position: relative;
        width: 323px;
        margin: 0 1px 1px 0;
        margin-top: 8px;
        list-style: none !important;
        float: left;
        display: inline-block;
        padding-left: 7px;
        padding-top: 7px;
        height: 200px;
    }
    .boxed_artwork {
        width: 100% !important;
        margin: 0;
    }
    .roundabout-holder {
        list-style: none;
        width: auto;
        height: 12em;
        padding: 0;
        margin-right: 0;
        margin-left: 91px;
        margin-bottom: 0;
        position: relative;
        top: 90px;
    }
    .content-left {
        overflow: hidden;
        float: left;
        width: 100%;
        margin: 0;
        margin-bottom: 20px;
        margin-top: 44px;
        padding: 0 0;
    }
    div.content-left h2 {
        font-size: 45px;
        line-height: 42px;
        margin-bottom: 0;
    }
    .recent-works ul.works-list li {
        background: 0 0;
        display: inline-block;
        float: left;
        height: auto;
        list-style: outside none none;
        margin: 0 4px 10px 0;
        overflow: hidden;
        width: 23%;
        border: 1px solid #eaeaea;
    }
    .recent-works ul.works-list li img {
        position: relative;
        top: 1px;
        left: 1px;
        border: 0 solid #eaeaea;
        width: 100%;
    }
    #promo .boxy {
        border-left: 1px solid #eaeaea;
        border-bottom: 1px solid #eaeaea;
        float: left;
        height: 200px;
        padding-top: 30px;
        width: 49.8%;
    }
    #promo .boxy:hover {
        border-left: 1px solid #eaeaea;
        border-bottom: 1px solid #eaeaea;
        float: left;
        height: 200px;
        padding-top: 30px;
        width: 49.8%;
    }
    #promo-box {
        background: none no-repeat scroll 50% 100% rgba(0, 0, 0, 0);
        height: auto;
        line-height: 1.4em;
        position: relative;
        width: auto;
        margin: 0 auto;
        padding: 0 20px;
    }
    #promo-box .boxy {
        zoom: 75%;
    }
    div#footer div.footer-middle div.content div.three-cols-sidebar div.col1,
    div#footer div.footer-middle div.content div.three-cols-sidebar div.col2,
    div#footer div.footer-middle div.content div.three-cols-sidebar div.col3 {
        width: 44%;
        margin: 0;
        height: auto;
        padding: 20px;
        border-bottom: 1px solid #121212;
        padding-top: 30px;
        float: left;
    }
    #portfolio ul {
        display: inline;
        float: left;
        list-style: outside none none;
        width: auto;
    }
    #text-intro h2 {
        color: #f5f5f5;
        font-size: 35px;
        letter-spacing: -1px;
    }
    #portfolio ul li {
        display: inline-block;
        float: left;
        height: 240px;
        list-style: outside none none !important;
        margin: 0;
        padding: 0;
        position: relative;
        text-align: center;
        width: 50%;
    }
    div#footer div.footer-middle div.content div.three-cols-sidebar div.col1,
    div#footer div.footer-middle div.content div.three-cols-sidebar div.col2,
    div#footer div.footer-middle div.content div.three-cols-sidebar div.col3 {
        width: 44%;
        margin: 0;
        height: auto;
        padding: 20px;
        border-bottom: 0 solid #121212;
        padding-top: 30px;
        float: left;
    }
}
@media only screen and (min-width: 1440px) {
    #wrapper {
        margin: 0 auto;
        width: 100%;
    }
    /*.boxed_artwork {
        width: 1290px !important;
        max-width: 1290px !important;
        margin: 0 auto;
    }*/

    /*.cls .boxed_artwork {
        max-width: 1290px !important;
        width: 1290px !important;
        margin: 0 auto;
    }*/

    .artwork_box {
      max-width: var(--boxed-max);
      margin: 0 auto !important;
    }
    h3 {
        color: #121212;
        font-family: Graphik, Helvetica, serif;
        font-size: 23px;
        letter-spacing: -1px;
        margin-top: 0;
        padding: 3px 0 0;
        font-weight: 700;
    }
    .page-description,
    .page-title {
        float: left;
        margin-left: -10px;
        margin-top: 50px;
        max-height: 320px;
        width: 1224px;
    }
    .page-description .page-title h2 {
        color: #fbfafa;
        float: left;
        font-family: Graphik, sans-serif;
        font-size: 115px;
        font-weight: 300;
        letter-spacing: -10px;
        margin-left: 667px;
        margin-top: 69px;
        text-transform: none;
        width: 560px;
        font-weight: 500
    }
    .page-description .page-title span.subtitle {
        color: #fff;
        float: left;
        font-size: 18px;
        letter-spacing: 0px;
        margin-left: 667px;
        padding-left: 9px;
        text-transform: none;
        width: 560px;
        font-weight: 500
    }
    .page-description .page-title span.descrizione {
        color: #777;
        float: left;
        font-size: 12px;
        margin-left: 667px;
        padding-left: 9px;
        padding-top: 8px;
        text-shadow: 1px 1px 0 #000;
        text-transform: none;
        width: 510px;
    }
    .page-description .fadeimg2 {
        margin-left: 80px;
        margin-top: -305px;
        position: relative;
    }
    .navbar {
        height: 62px;
        margin: -10px 0 30px;
        width: 1224px;
    }
    .content-left {
        float: left;
        margin-bottom: 20px;
        margin-right: 10px;
        margin-top: 34px;
        overflow: hidden;
        width: 824px;
    }
    .content-left p {
        width: 100%;
    }
    #portfolio {
        overflow: hidden;
        width: 1224px;
    }
    #portfolio ul li {
        display: inline-block;
        float: left;
        height: 305px;
        list-style: outside none none !important;
        margin: 0;
        position: relative;
        width: 33%;
    }
    #portfolio ul li .project-thumbnail {
        height: 224px;
        margin-left: -5px;
        margin-top: -5px;
    }
    #portfolio ul li a .hoverimage {
        background: none no-repeat scroll 0 0 transparent;
        opacity: 0.65;
        cursor: pointer;
        display: none;
        height: 191px;
        left: 0;
        margin: 5px 0 0 7px;
        position: absolute;
        top: 0;
        width: 100%;
    }
    #portfolio .project-text {
        margin-left: 0;
        margin-top: 30px;
        width: 95%;
    }
    .fscf-div-field-left {
        clear: left;
        float: left;
        margin-right: 10px;
        max-width: 850px;
        width: 99%;
    }
    #fullwidth ol li,
    .content-left ol li {
        color: #737474;
        font-size: 12px;
        line-height: 24px;
        margin: 0 0 8px -17px;
        width: 100%;
    }
    span.wpcf7-form-control-wrap {
        padding-top: 20px;
    }
    blockquote {
        background: none repeat scroll 0 0 #fafafa;
        border-radius: 0;
        box-shadow: 0 0 0 #ccc;
        color: #121212;
        height: auto;
        margin-left: 1px;
        margin-top: 30px;
        padding: 15px 5px 5px 20px;
        width: 100%;
    }
    .content-left blockquote p {
        color: #666;
        width: 95%;
    }
    .separator {
        background: none no-repeat scroll center center rgba(0, 0, 0, 0);
        background-position: center;
        border-top: 1px solid #eaeaea;
        height: 68px;
        width: 1224px;
        display: none;
    }
    .vp-single-right-sidebar .viba-portfolio-single-content {
        float: right;
        padding: 0 30px;
    }
    .recent-works-singleportfolio {
        float: left;
        text-align: justify;
        width: 1224px;
    }
    .grid2col,
    .grid2cola,
    .grid2colb,
    .grid2colc,
    .grid2cold,
    .grid2cole,
    .grid2colf,
    .grid3col,
    .grid3cola,
    .grid4col,
    .grid5col,
    .grid6col {
        width: 1224px;
        margin: 0 auto;
    }
    .grid3col .column.first {
        border-left: medium none;
        border-right: 1px solid #ddd;
        padding-left: 0;
        width: 30%;
    }
    .grid3col p.reduced-width {
        font-weight: 400;
        line-height: 15px;
        width: 65%;
    }
    .grid3col .column {
        border-left: 1px solid #fff;
        border-right: 1px solid #ddd;
        margin: 0;
        padding: 10px 19px 9px 22px;
        width: 31%;
    }
    .grid3col .column.last {
        border-left: 0 solid #fff;
        border-right: medium none;
        padding-left: 19px;
        width: 30%;
    }
    #main-content-home {
        padding-top: 30px;
    }
    .text-content {
        float: left;
        margin-bottom: 30px;
        width: auto;
        background-color: #FFFFFF;
        border-radius: 20px;
    }
    .text-content .padding-mobile {
     padding: 50px
    }

    .recent-works {
        float: left;
        text-align: justify;
        width: 25%;
    }
    #news-ticker {
        background: none no-repeat scroll 0 0 transparent;
        height: 52px !important;
        margin-bottom: 0;
        margin-top: 15px;
        width: 100% !important;
    }
    #preventivo {
        width: 100%;
    }
    #preventivo p {
        color: #CCCCCC;
    }
    #preventivo p a {
        color: #CCCCCC;
    }
    html#ls-global body#home.fondale.shiftnav-enabled.shiftnav-lock div.shiftnav-wrap div#wrapper div#preventivo h1.title_artwork_choose {
        margin: 10px 0 0;
    }
    #promo-box #promo-box .boxy {
      background: rgb(245,245,245);
      background: linear-gradient(180deg, rgba(245,245,245,1) 0%, rgba(255,255,255,1) 19%, rgba(255,255,255,1) 100%);
      min-height: 203px;
      padding-top: 0;
      border-radius: 5px;
      border: 1px solid #EAEAEA;
      margin: 0 1.5%;
    }
    #promo-box .no-margin-left {
      margin-left: 0px
    }
    #promo-box .no-margin-left {
      margin-right: 0px
    }
    #promo-box .boxy:hover {
      background: rgb(235,235,235);
        padding-top: 0;
        border-radius: 20px;
        border: 1px solid #EAEAEA;
        padding: 10px;
        height: 223px;
    }
    #promo .boxy {
        height: 200px;
        padding: 50px 30px 30px 30px;
        width: 27.4%;
        border-bottom: 0 solid #eaeaea;
        border-radius: 20px;
    }
    #promo .boxy:hover {
        width: 27.4%;
        padding: 50px 30px 30px 30px;
        height: 200px;
    }
    #promo .boxy img.right {
        margin-right: 3px;
        margin-top: 25px;
        display: none;
    }
    #promo .boxy h3 {
        float: none;
        font-size: 28px;
        font-weight: 500
    }
    #promo .boxy h4 {
        float: none;
        font-size: 18px;
        line-height: 28px;
      }
    #promo .boxy p {
      font-size: 13px;
      font-weight: 300;
      line-height: 20px;
      padding-left: 22px;
      width: 90%;
      margin-top: 0px;
      color: #232323;
    }
    #footer .footer-middle .content {
        margin: 0 auto;
        overflow: hidden;
        width: 1224px;
    }
    .three-cols-sidebar .col,
    .three-cols-sidebar .col1,
    .three-cols-sidebar .col2,
    .three-cols-sidebar .col3 {
        float: left;
        margin-bottom: 25px;
        width: 30%;
    }
    #footer .copyright .centra {
        margin: 0 auto;
        width: 1224px;
    }
    #footer .copyright p {
        font-size: 11px;
        line-height: 16px;
        margin: 0 auto;
        overflow: hidden;
        padding-top: 28px;
        width: 1224px;
    }
    ul#slides {
        margin-left: 220px;
    }
}
@media screen and (min-width: 1599px) {
    p {
        color: #666;
        font-size: 13px;
        line-height: 24px;
    }
    strong {
        font-weight: 700;
    }
    .viba-portfolio-media-link {
        display: none;
    }
    .vc_column_container h1 {
        color: #121212;
        font-family: Graphik, Helvetica, serif;
        font-size: 90px;
        line-height: 95px;
        letter-spacing: -6px;
        font-weight: 500;
        margin-top: 0;
        padding: 3px 0 0;
    }
    .viba-portfolio-single-description h1 {
        font-size: 65px;
        line-height: 65px;
        font-weight: 500;
        letter-spacing: -2px;
    }
    .vc_column_container h2 {
        color: #121212;
        font-family: Graphik, Helvetica, serif;
        font-size: 60px;
        line-height: 65px;
        letter-spacing: -2px;
        font-weight: 500;
        margin-top: 0;
        padding: 3px 0 0;
    }
    .vc_column_container h5 {
        color: #121212;
        font-family: Graphik, Helvetica, serif;
        font-size: 30px;
        letter-spacing: -1px;
        line-height: 35px;
        margin-top: 0;
        padding: 3px 0;
    }
    .wpcf7 h5 {
        font-size: 18px;
        line-height: 28px;
    }
    .wpcf7-form select {
      width: 95%;
    }
    .vc_column_container h3 {
        color: #232323;
        font-family: Graphik, Helvetica, serif;
        font-size: 63px;
        line-height: 63px;
        letter-spacing: -3px;
        margin-top: 0;
        padding: 3px 0 0;
    }
    .vc_column_container p {
        color: #232323;
        font-size: 16px;
        line-height: 25px;
    }
    .vc_column_container .vc_btn,
    .vc_column_container .wpb_button {
        font-family: Graphik, Helvetica, serif;
        margin-bottom: 5px;
        margin-top: 5px;
        padding: 20px 25px;
        font-weight: 300;
        font-size: 13px;
    }
    .vc_column_container .vc_btn:hover,
    .vc_column_container .wpb_button:hover {
        opacity: 0.85;
    }
}
.mobile-left{
  text-align: center !important
}
@media only screen and (max-width: 768px) {
    .accauno {
        font-size: 45px !important;
        line-height: 45px !important;
        font-family: GraphikThin, Helvetica, serif;
    }
    .accadue {
        font-size: 45px !important;
        line-height: 50px !important;
        font-family: GraphikThin, Helvetica, serif !important;
    }
    h2.piccolo {
        font-size: 26px !important;
        line-height: 28px !important;
        letter-spacing: -2px !important;
        margin-bottom: 10px !important;
    }
    p.piccolo {
        font-size: 14px !important;
        line-height: 24px !important;
        letter-spacing: 0 !important;
    }
    .mobile-left{
      text-align: left !important
    }
}
h1.piccolo {
    font-size: 20px;
    line-height: 30px;
    letter-spacing: -1px;
    text-align: center;
}
h3.piccolo {
    font-size: 65px;
    line-height: 55px;
    letter-spacing: -2px;
    font-weight: 200;
    text-align: center;
}
.vc_column_container h3 {
    color: #121212;
    font-family: Graphik, Helvetica, serif;
    font-size: 55px;
    line-height: 60px;
    letter-spacing: -1px;
    margin-top: 0;
    padding: 3px 0 0;
    margin-bottom: 10px;
    font-weight: 500
}
.viba-portfolio-link {
    font-family: Graphik, Helvetica, serif !important;
}

.preventivo-siti-internet {
    border-radius: 300px;
    background-color: #fff;
    color: #121212;
    border: 1px solid #fff;
    padding: 3px 22px 3px 22px;
    display: inline-block;
    float: right;
    font-size: 11px;
    margin-top: -9px;
    letter-spacing: 0.5px
}
.preventivo-siti-internet:hover {
    opacity: 0.9;
    text-decoration: none
}
a.preventivo-siti-internet.nero {
    border: 1px solid #121212;
    background-color: #121212;
    color: #FFFFFF;
}
a.preventivo-siti-internet.nero:hover {
    border: 1px solid #121212;
    background-color: transparent;
    color: #121212;
    text-decoration: none;
}
.fixed-menu {
    position: fixed;
    z-index: 99999;
    display: none;
}
.animateIn {
    transform: translateY(0);
    z-index: 99999;
    position: fixed;
}
.animateOut {
    transform: translateY(-100%);
    z-index: 99999;
    position: fixed;
}
.vc_column_container h1 {
    font-family: Graphik, Helvetica, serif;
    font-size: 70px;
    line-height: 70px;
    letter-spacing: -4px !important;
    margin-bottom: 10px;
    font-weight: 500
}
.vc_chart h2 {
  font-size: 50px !important;
  line-height: 50px !important;
  padding-bottom: 20px
}
@media only screen and (max-width: 1023px) {
    h3.piccolo {
        font-size: 45px;
        line-height: 45px;
        letter-spacing: -2px;
        font-weight: 200;
        text-align: center;
    }
    .call_to_action {
        padding: 0 10% 10%;
    }
    .call_to_action h1 {
        text-align: center;
        font-size: 40px;
        line-height: 45px;
        font-family: Graphik, sans-serif;
        letter-spacing: -3px;
        padding: 15px 0;
    }
  #subpage  .vc_column_container {
    padding: 0 0px;
}
    .vc_column_container h1 {
        font-family: Graphik, Helvetica, serif;
        font-size: 48px;
        line-height: 50px;
        letter-spacing: -3px!important;
        margin-bottom: 10px;
    }
    .vc_line-chart .vc_chart-legend {
      width: 100%
    }
    .vc_line-chart .vc_chart-with-legend {
    width: 100%;
}
    .vc_chart h2 {
      font-size: 30px !important;
      line-height: 36px !important;
    }
    .vc_column_container h2 {
        font-family: Graphik, Helvetica, serif;
        font-size: 50px;
        line-height: 50px;
        margin-bottom: 10px;
    }
    .artwork_small {
      font-size: 20px !important;
      line-height: 25px !important;
    }
    .vc_column_container h4 {
        font-family: Graphik, Helvetica, serif;
        font-size: 35px;
        line-height: 42px;
        font-weight: 500;
    }
    .vc_column_container h3 {
        color: #232323;
        font-family: Graphik, Helvetica, serif;
        font-size: 35px;
        line-height: 35px;
        font-weight: 500
    }
    .vc_column_container h5 {
        letter-spacing: -0.5px;
        font-size: 18px
    }
    .wpcf7-form-control-wrap h5 {
      font-size: 18px !important
    }
    .wpcf7-form select {
      width: 100%;
      border-radius: 3px;
    }
    @media (max-width: 768px) {
    		.wpcf7-form select {
        	width: 97% !important;
    		}
      }
    .wpcf7-form textarea {
      width: 88%;
    }
    .wpcf7-form .wpcf7-text {
      width: 88%;
    }
    h5.tiptip {
        letter-spacing: -1px !important;
    }
    .vc_col-has-fill > .vc_column-inner, .vc_row-has-fill + .vc_row-full-width + .vc_row > .vc_column_container > .vc_column-inner, .vc_row-has-fill + .vc_row > .vc_column_container > .vc_column-inner, .vc_row-has-fill + .vc_vc_row > .vc_row > .vc_vc_column > .vc_column_container > .vc_column-inner, .vc_row-has-fill + .vc_vc_row_inner > .vc_row > .vc_vc_column_inner > .vc_column_container > .vc_column-inner, .vc_row-has-fill > .vc_column_container > .vc_column-inner, .vc_row-has-fill > .vc_row > .vc_vc_column > .vc_column_container > .vc_column-inner, .vc_row-has-fill > .vc_vc_column_inner > .vc_column_container > .vc_column-inner {

    }

    #subpage .vc_row-has-fill + .vc_row-full-width + .vc_row > .vc_column_container > .vc_column-inner {
      padding: 0 0px;
    }

}
.vc_row.vc_row-o-content-bottom>.vc_column_container>.vc_column-inner {
  padding: 0 30px;
}
#featured {
    padding-top: 60px;
}
.testo-big {
   font-size: 100px !important;
   line-height: 110px !important;
   font-weight: 500
}
.wpcf7-form select {
    width: 100%;
}
.grande {
  font-size: 50px !important;
  line-height: 54px !important;
  margin: 0px;
  letter-spacing: -2px;
  padding-bottom: 10px !important;
}
.portfolio_grande {
  font-size: 60px !important;
  line-height: 60px !important;
  margin: 0px;
  letter-spacing: -2px;
  padding-bottom: 0px !important;
  margin-bottom: 0px
}
.artwork_grande {
    letter-spacing: -2px !important;
    font-size: 55px !important;
    line-height: 60px !important;
  }

    .artwork_grande2 {
        letter-spacing: -3px !important;
        font-size: 70px !important;
        line-height: 70px !important;
        font-weight: 700;
      }
  .artwork_grandissimo {
      letter-spacing: -3px !important;
      font-size: 95px !important;
      line-height: 95px !important;
      font-weight: 700;
    }
    .zoom_1 img {
      transition: transform .2s; /* Animation */
      transform: scale(1.35);
      padding-top: 100px;
    }
  .artwork_titolo_lungo {
      letter-spacing: -2px !important;
      font-size: 55px !important;
      line-height: 55px !important;
    }
.vc_chart .vc_chart-legend li {
  font-size: 12px
}
@media only screen and (min-width: 1600px) {
.artwork_titolo_lungo {
    letter-spacing: -2px !important;
    font-size: 65px !important;
    line-height: 65px !important;
}
.artwork_grande {
  letter-spacing: -2px !important;
  font-size: 75px !important;
  line-height: 65px !important;
}
.artwork_grande2 {
    letter-spacing: -3px !important;
    font-size: 70px !important;
    line-height: 70px !important;
    font-weight: 700;
  }
.artwork_grandissimo {
  letter-spacing: -2px !important;
  font-size: 95px !important;
  line-height: 95px !important;
  line-height: normal;
}
}
@media only screen and (min-width: 0px) and (max-width: 768px) {
    .webby {
      flex-direction: column-reverse;
      flex-wrap: wrap;
      }

    .webby h2 {
      font-size: 35px;
      line-height: 35px;
      padding-bottom: 60px
    }

    .webby .contenuto {
      width: auto;
      padding: 40px 40px 0
    }
    .webby .immagine {
      width: 100%
    }
    .webby .immagine .img-desktop {
      width: 60%;
      float: right;
      height: auto;
    }
    .webby .img-responsiva {
    	display: block;
      width: 100%;
      height: auto;
    }
    #promo .boxy {
        border-left: 1px solid #eaeaea;
        border-bottom: 1px solid #eaeaea;
        float: left;
        height: auto;
        padding: 10px;
        box-shadow: 0px 0px 5px -1px rgb(0 0 0 / 0%);
        margin: 10px 20px;
        width: auto;
        background-color: #FFFFFF;
    }
    #promo .boxy:hover {
        border-left: 1px solid #eaeaea;
        border-bottom: 1px solid #eaeaea;
        float: left;
        height: auto;
        padding: 10px;
        width: auto;
    }
    #promo-box {
        background: none no-repeat scroll 50% 100% rgba(0, 0, 0, 0);
        height: auto;
        line-height: 1.4em;
        position: relative;
        margin: 0 auto;
        padding: 0 20px;
    }
    #promo-box .boxy {
        margin-bottom: 20px
    }
    #promo-box .boxy:hover {
      width: 100%;
    }
    #promo-box .boxy .noreduce {
      width: 265px;
    }
    .vp-widget-col-3 .viba-portfolio-widget-item {
    zoom: 100%
}
    #promo .boxy img.right {
        display: none;
    }
    #promo .boxy h3,
    #promo .boxy h4 {
        float: none;
        padding-bottom: 10px;
        font-weight: 500;
        letter-spacing: -1.5px
    }
    #promo .boxy h4 {
        font-size: 18px;
        letter-spacing: -1px
    }
    #promo .boxy p {
        width: 80%;
        margin-top: 0;
        padding-left: 22px;
        font-size: 14px;
        line-height: 20px;
    }
    .viba-portfolio-widget-item {
        max-width: 156px;
    }
    #main-content-home {
        padding-top: 20px;
    }
    .home-title {
        font-size: 34px !important;
        line-height: 25px !important;
        letter-spacing: -2px !important;
    }
    .vc_column_container p {
    font-family: "Graphik",sans-serif;
}
    .single-full .vc_column_container p, .single-full .vc_column_container p a, .single-full .vc_column_container strong {
    font-size: 18px!important;
    line-height: 27px!important;
}
.vc_column_container p strong {
    font-family: "Graphik",sans-serif;
    font-weight: 500;
}
#ez-toc-container {
    padding: 20px !important;
}
.artwork_grande {
    letter-spacing: -2px !important;
    font-size: 34px !important;
    line-height: 36px !important;
  }
  .artwork_grande2 {
      letter-spacing: -3px !important;
      font-size: 40px !important;
      line-height: 45px !important;
      font-weight: 700;
    }
  .artwork_grandissimo {
      letter-spacing: -2px !important;
      font-size: 40px !important;
      line-height: 45px !important;
    }
  .artwork_titolo_lungo {
      letter-spacing: -2px !important;
      font-size: 30px !important;
      line-height: 35px !important;
    }

.artwork_big {
    letter-spacing: -2px !important;
    font-size: 34px !important;
    line-height: 39px !important;
  }
  .artwork_medium {
    letter-spacing: -1.5px !important;
    font-family: 'Graphik', helvetica !important;
    font-size: 30px !important;
    line-height: 40px !important;
}
.testo-big {
   font-size: 60px !important;
   line-height: 70px !important;
}
.grande {
  font-size: 32px !important;
  line-height: 38px !important;
  margin: 0px;
  letter-spacing: -2px !important;
  padding-bottom: 0px !important;
}
.portfolio_grande {
  font-size: 36px !important;
  line-height: 42px !important;
  margin: 0px;
  letter-spacing: -1px;
  padding-bottom: 0px !important;
  margin-bottom: !important;
}
.lefty{
  text-align: left !important
}
}
.vc_gitem-post-data-source-post_title h5 {
  font-size: 26px !important
}
@media only screen and (max-width: 700px) {
    div.wpb_text_column.wpb_content_element.portfolio_testi div.wpb_wrapper h2 {
        font-size: 40px !important;
        line-height: 45px !important;
    }
}
@media only screen and (max-width: 320px) {
  .artwork_grande {
      letter-spacing: -1px !important;
      font-size: 32px !important;
      line-height: 36px !important;
    }
    .artwork_grande2 {
        letter-spacing: -3px !important;
        font-size: 32px !important;
        line-height: 36px !important;
        font-weight: 700;
      }
    .artwork_grandissimo {
        letter-spacing: -1px !important;
        font-size: 32px !important;
        line-height: 36px !important;
      }
  .artwork_big {
      letter-spacing: -1px !important;
      font-family: 'Graphik', helvetica !important;
      font-size: 30px !important;
      line-height: 40px !important;
      font-weight: 500 !important;
  }
  #promo-box .boxy {
    zoom: 100%;
}
.vp-widget-col-3 .viba-portfolio-widget-item {
    zoom: 83%;
}
#promo-box .boxy {
  zoom: 90%
}
#promo-box .boxy .noreduce {
  width: 265px;
}
}
@media only screen and (max-width: 1090px) and (orientation: landscape) {
    #navigation {
        min-width: 680px;
    }
    #navigation ul li a {
    font-size: 13px;
  }
  #navigation ul li {
  margin: 0 8px 0 8px;
}
}
@media only screen and (max-width: 1090px) and (orientation: portrait) {
    #navigation {
        min-width: 725px;
    }
    #navigation ul li {
    margin: 0 6px 0 6px;
  }
}
.hamburger-black .taptap-main-menu-button-six:before, .hamburger-black .taptap-main-menu-button-six:after {
  background-color: #232323
}
.hamburger-black  .taptap-main-menu-button:before, .hamburger-black  .taptap-main-menu-button div.taptap-main-menu-button-middle:before, .hamburger-black  .taptap-main-menu-button:after, .hamburger-black  .taptap-main-menu-button-two:before, .hamburger-black  .taptap-main-menu-button-two div.taptap-main-menu-button-two-middle:before, .hamburger-black  .taptap-main-menu-button-two:after, .hamburger-black  .taptap-main-menu-button-three:before, .hamburger-black  .taptap-main-menu-button-three div.taptap-main-menu-button-three-middle:before, .hamburger-black  .taptap-main-menu-button-three:after, .hamburger-black  .taptap-main-menu-button-four:before, .hamburger-black  .taptap-main-menu-button-four div.taptap-main-menu-button-four-middle:before,.hamburger-black .taptap-main-menu-button-four:after, .hamburger-black .taptap-main-menu-button-five:before, .hamburger-black .taptap-main-menu-button-five div.taptap-main-menu-button-five-middle:before, .hamburger-black .taptap-main-menu-button-five:after, .hamburger-black .taptap-main-menu-button-six:before, .hamburger-black .taptap-main-menu-button-six:after {
  background-color: #232323
}
.taptap-main-menu-button-six:before, .taptap-main-menu-button-six:after {
    width: 15px;
  }
.taptap-menu-active .taptap-main-menu-button-four:before, .taptap-menu-active .taptap-main-menu-button-four:after, .taptap-menu-active .taptap-main-menu-button-six:before,.taptap-menu-active  .taptap-main-menu-button-six:after {
  background-color: #FFFFFF
}
.taptap-by-bonfire ul li a {
    font-family: Graphik;
    color: #FFFFFF;
    letter-spacing: 0px;
    margin-top: 0;
    line-height: 26px;
    font-size: 23px;
    font-weight: 600;
}
.taptap-by-bonfire > .menu > li.menu-item-has-children > span {
    top: 12px;
}
.taptap-by-bonfire .sub-menu a {
    color: #FFFFFF;
    font-size: 16px;
    line-height: 16px;
    font-family: 'Graphik',sans-serif;
    padding-left: 10px;
    font-weight: 500
  }
.taptap-by-bonfire .sub-menu .current-menu-item > a {
  color: #9b9b9b;
}
.taptap-sub-arrow-inner::before, .taptap-sub-arrow-inner::after {
    top: 9px;
    width: 7px;
    height: 1px;
}
.taptap-heading, .taptap-heading a {
  background-color: #FFFFFF;
  width: 150px;
  color: #232323;
  border-radius: 200px;
  text-align: center;
  position: absolute;
    bottom: 10px;
    right: 25px;
}
.preventivo-mobile {
    text-align: left !important;
    margin-top: 20px !important;
    margin: 0 auto !important;
    padding-top: 30px !important;
}
.preventivo-mobile a {
  background-color: #FFFFFF;
    width: 180px !important;
    color: #000;
    border-radius: 200px;
    font-weight: 400 !important;
    font-size: 13px !important;
    color: #232323 !important;
    letter-spacing: 0.5px !important;
    text-transform: uppercase;
    text-align: center;
    font-family: "Graphik", helvetica, sans-serif !important;
    padding: 16px 0px !important;
}
current-menu-item.preventivo-mobile > a {
  color: #000 !important;
}
.taptap-sub-arrow-inner::after {
    left: 19px;
  }

.button-cerca {
  text-align: center;
  padding-top: 20px
}
.risultato {
  padding-top: 30px;
}
#serp input {
  padding: 10px;
  border: 1px solid #EAEAEA;
  border-radius: 3px;
  background-color: #FFFFFF;
  width: 100%;
  font-size: 16px;
    font-weight: 300;
    font-family: "Graphik",sans-serif;
}

#serp input[type="submit"] {
    padding-top: 20px;
    background-color: #232323;
    max-width: 300px;
    margin: 0 auto;
    text-align: center;
    text-transform: uppercase
}
.serp-artwork {
  padding: 2px 0px
}
.serp-focus {
  background-color: #dfebd7;
  border: 1px solid #a1b396 !important;
}
.serp-artwork .title {
  font-size: 18px;
  line-height: 28px;
  color: #1a0dab;
  margin: 0px;
  font-weight: 400;
}
.serp-artwork .numero {
    position: absolute;
    right: 35px;
    top: 0px;
    font-weight: 600;
}
.serp-focus .numero {
    color: #a1b396
}

.serp-artwork .title b{
  font-weight: 600;
}
.serp-artwork .title:visited {
  color: #609;
}
.serp-artwork .result {
  border: 1px solid #EAEAEA;
  border-radius: 3px;
  padding: 15px;
}
.serp-artwork .description {
  margin: 0px;
  font-size: 14px;
  line-height: 20px;
}
.serp-artwork .url {
  font-size:12px
}
@media only screen and (max-width: 768px)  {
  #serp input {
      width: 95%;
    }
    .cls .wpb_text_column {
    padding-left: 5px !important;
    padding-right: 5px !important;
  }
  .call_to_action h2 {
    font-size: 16px;
    line-height: 26px;
}
.ult-content-box p {
  font-size: 14px;
  line-height: 24px
}
}
.upb_row_bg {
    width: 100% !important;
  }

@media screen and (max-width: 414px) and (orientation: portrait), screen and (max-width: 736px) and (orientation: landscape) {
.cc-window .cc-message {
    margin-bottom: 1em;
    font-size: 12px;
    line-height: 16px;
}
.cc-window.cc-floating {
  padding: 1em;
}
.cc-btn {
    font-size: .8em;
  }
}
.taptap-menu-button-wrapper {
  top: 10px;
  right: 1.5vw;
}

@media only screen
  and (min-device-width: 768px)
  and (max-device-width: 1024px)
  and (-webkit-min-device-pixel-ratio: 1) {
    .vc_column_container h2 {
        font-size: 55px;
        line-height: 65px;
        letter-spacing: -3px
    }
    .vc_column_container h3 {
      font-size: 45px;
      line-height: 55px;
    }

}
@media only screen
  and (min-device-width: 375px)
  and (max-device-width: 812px)
  and (-webkit-min-device-pixel-ratio: 3)
  and (orientation: portrait) {
    .vc_column_container h2 {
        font-family: Graphik, Helvetica, serif;
        font-size: 30px;
        line-height: 35px;
    }
    .artwork_small {
    font-size: 17px !important;
    line-height: 24px !important;
    letter-spacing: -1px !important;
  }
}

@media only screen
  and (min-device-width: 768px)
  and (max-device-width: 1024px)
  and (-webkit-min-device-pixel-ratio: 1)
  and (orientation: portrait) {
    .vc_col-sm-6 {
        width: 100%;
    }
}
@media screen and (min-width: 1600px) {
	#wrapper{
			max-width: 100vw;
			margin: 0 auto;
	}
  div.vc_row {
    max-width: 1500px;
    margin: 0 auto !important;
  }
  div.vc_row[data-vc-full-width=true] {
    max-width: 100vw!important;
  }

  div.vc_row[data-vc-full-width=true] .vc_col-sm-12 {

  }

  #header .top, #header-subpage .top, #header-normal .top {
    width: auto;
  }
  #home #header .top, #home #header-subpage .top, #home #header-normal .top {
    width: 88%;
  }
  #home #header .scurisci {
    width: 100%;
    left: 0px;
    margin-left: 0px;
  }

}
@media only screen
  and (min-device-width: 768px)
  and (max-device-width: 1024px)
  and (-webkit-min-device-pixel-ratio: 1)
  and (orientation: landscape) {

    .three-cols .col, .three-cols .col1, .three-cols .col2, .three-cols .col3 {
    width: 28%;
    float: left;
    margin-bottom: 25px;
    text-align: center;
}
#promo .boxy h3 {
  font-weight: 700
}
#main-content-home {
  width: auto;
    padding: 0 20px;
  }
  #main-content-home h2 {
    font-size: 40px !important;
    line-height: 40px!important
  }
  #main-content-home h3, .grid4col h3 {
    font-weight: 700
  }
}
@media only screen
  and (min-device-width: 768px)
  and (max-device-width: 1024px)
  and (orientation: portrait)
  and (-webkit-min-device-pixel-ratio: 1) {
    #promo .boxy {
      width: 42%;
      float: left;
      min-height: 220px;
    }
}

@media only screen
  and (min-device-width: 0px)
  and (max-device-width: 767px)
  and (-webkit-min-device-pixel-ratio: 1){

    .img-mobile {
      display: block;
    }
    .testo-intro {
      font-size: 16px !important;
      line-height: 26px !important
    }
}
@media only screen
  and (min-device-width: 1024px)
  and (max-device-width: 1366px)
  and (-webkit-min-device-pixel-ratio: 1)
  and (orientation: portrait){

    .three-cols .col, .three-cols .col1, .three-cols .col2, .three-cols .col3 {
    width: 28%;
    }
    #promo .boxy {
        width: 42.9%;
        float: left;
        min-height: 220px;
    }
}
@media only screen
  and (min-device-width: 767px)
  and (max-device-width: 1024px)
  and (-webkit-min-device-pixel-ratio: 1)
  and (orientation: portrait){
#navigation {
    min-width: 725px;
}
}

@media only screen
  and (min-device-width: 767px)
  and (max-device-width: 1024px)
  and (-webkit-min-device-pixel-ratio: 1)
  and (orientation: portrait){

.artwork.vc_col-sm-6 {
  width: 50% !important
}
.sotto.home_intro .contenuto {
    text-align: center;
    padding-bottom: 350px;
}
.sopra.home_intro .contenuto{
	text-align: center;
	padding-top: 350px
}
}
@media only screen
  and (min-device-width: 0px)
  and (max-device-width: 767px)
  and (-webkit-min-device-pixel-ratio: 1)
  and (orientation: portrait){
    .webby .contenuto p {
        font-size: 16px;
        line-height: 26px;
        font-weight: 300;
    }
    #main-content-home {
    padding-top: 0px;
    }
    .text-content .padding-mobile {
    padding: 10px;
    }
    .padding-mobile p {
    text-align: left !important
    }
}
@media only screen
  and (min-device-width: 0px)
  and (max-device-width: 1023px)
  and (-webkit-min-device-pixel-ratio: 1)
  and (orientation: portrait){
  .home_intro .contenuto {
    	padding: 25px 40px
  }

.sotto.home_intro .contenuto {
    text-align: center;
    padding-bottom: 210px;
}
.contenuto.stretto {
	padding-bottom: 210px !important;
}
.sopra.home_intro .contenuto{
	text-align: center;
	padding-top: 210px
}
}
.vc_general.bottone_home {
    padding: 15px 30px !important;
}
@media only screen and (max-width: 1280px) {
  .artwork_grande2 {
      letter-spacing: -2px !important;
      font-size: 65px !important;
      line-height: 65px !important;
      font-weight: 700;
    }
.artwork_grandissimo {
  letter-spacing: -2px !important;
  font-size: 65px !important;
  line-height: 65px !important;
}
}
@media only screen and (max-width: 767px) {
  .artwork_grande2 {
      letter-spacing: -2px !important;
      font-size: 40px !important;
      line-height: 40px !important;
      font-weight: 700;
    }
.artwork_grandissimo {
    letter-spacing: -2px !important;
    font-size: 40px !important;
    line-height: 45px !important;
  }
 .resetta_div .ult-content-box {
   background-image: none !important;
   background-color: #FFFFFF !important;
   border: 1px solid #f2f2f2 !important;
 }
 .resetta_div .ult-content-box :is(h1, h2, h3, h4, h5, h6, p, a) {
   color:#121212 !important;
 }
}

@media only screen and (max-width: 320px){
  .uavc-icons, .wpb_column .wpb_wrapper .uavc-icons {
    margin-bottom: 15px;
  }
  .vc_column-inner {
    padding-right: 5% !important;
    padding-left: 5% !important;
  }
  h2, .artwork_grande, .artwork_grandissimo, .artwork_grande2, .call_to_action h1 {
      font-size: 30px !important;
      line-height: 35px !important;
      letter-spacing: -2px !important;
  }
  .vc_general.vc_btn3, .vc_btn3.vc_btn3-size-md.vc_btn3-style-outline {
    padding: 18px 25px !important;
    font-size: 10px !important
  }
  h3 {
      font-size: 22px !important;
      line-height: 26px !important;
      letter-spacing: -1px !important;
  }
  .artwork_medium {
    letter-spacing: -1.5px !important;
    font-size: 25px !important;
    line-height: 35px !important;
  }
  #logo {
    width: 105px;
    height: 30px;
  }
  #logo:hover {
    width: 105px;
    height: 30px;
  }
  .taptap-by-bonfire {
    margin: 0px 25px 0 25px;
  }
  .taptap-by-bonfire ul li a {
    line-height: 25px;
    font-size: 18px;
  }
  .logo_full {
    padding-left: 15px;
  }
  .wpcf7-form .wpcf7-text, .wpcf7-form textarea {
      width: 87%;
  }
  .vc_column_container p, .vc_column_container p strong {
      font-size: 14px;
      line-height: 24px;
  }
  .vc_column_container h1 {
    font-size: 36px;
    line-height: 46px;
    letter-spacing: -2px;
    margin-bottom: 0px
  }
}
@media (max-width: 767px) {
  /* regole di stile per dispositivi mobili */
  .vc_rtl-columns-reverse {
    flex-direction: column-reverse !important;
  }
  .gira {
    flex-direction: column-reverse;
  }
}
@media (max-width: 993px) {
  #logo, #logo:hover {
    width: 100px;
    height: 29px;
    margin: 8px 0 0 0px
  }
  .taptap-sub-arrow-inner {
    top: 3px;
  }
.taptap-menu-active .taptap-main-menu-button-six:before, .taptap-menu-active .taptap-main-menu-button-six:after {
      margin-top: 8px;
}
.taptap-by-bonfire {
    margin: 0px 25px 0 60px;
}
.taptap-main-menu-button-six:before, .taptap-main-menu-button-six:after {
    height: 1px !important;
}
.navy {
  height: 45px !important
}
.page-id-1305 #featured {
  display: none!important;
}
}
.page-id-1305 #featured {
  display: none!important;
}
.sito-web-541-wrap {
  display: none
}
@media (min-width: 768px) {
  /* regole di stile per dispositivi desktop */
  .vc_rtl-columns-reverse {
    flex-direction: row !important;
  }

}
.mejs-container .mejs-controls {
  display: none
}
.video-con-zoom {
    border-radius: 25px !important;

}
.gradiente_nero_verticale {
    position: relative;
		z-index: 0;
    overflow: hidden;
}
.gradiente_nero_verticale::after {
     content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%!important;
    height: 100%!important;
    background: linear-gradient(0deg, rgba(0, 0, 0, 0.40802258403361347) 0%, rgba(0, 0, 0, 0.6965379901960784) 100%);
    z-index: 2;
}
.gradiente_nero_verticale .wpb_column {
	z-index: 3
}
.border-radius-dx img {
    border-bottom-right-radius: 25px 25px;
    border-top-right-radius: 25px 25px;
}
@media (max-width: 767px) {
.stats-top .stats-number {
  padding: 8px 0;
  font-size: 60px!important;
}
.border-radius-dx img {
    border-top-right-radius: 0px 0px;
    border-bottom-right-radius: 25px 25px;
    border-bottom-left-radius: 25px 25px;
}
}
.vc_btn3.vc_btn3-size-xs {
      padding: 7px 15px !important;
      font-size: 10px !important;
}
.sticky_z-index {
  z-index: 99997 !important;
}
.sticky_z-index h3{
  font-size: 15px !important;
  margin: 0px;
  line-height: 18px;
  letter-spacing: -0.5px
}
.sticky_z-index p{
  font-size: 13px !important;
  margin: 0px;
  color: #232323;
}
.sticky_z-index p a {
  font-weight: 400 !important
}
.sticky_z-index .vc_row {
  padding-left: 6% !important;
  padding-right: 6% !important;
}
.fixto-fixed {
  background: rgba(255,255,255,0.7);
  z-index: 99997 !important;
  background-color: rgba(255,255,255,0.80);
  -webkit-backdrop-filter: saturate(180%) blur(20px);
  backdrop-filter: saturate(180%) blur(20px);
  border-bottom: 1px solid #EAEAEA
}
.fixto-fixed .vc_row {
  border-bottom: 0px !important
}
.sticky_z-index .interno .wpb_wrapper {
  display: flex;
}
.sticky_z-index .interno ul {
  /* overflow: hidden; */
}
.sticky_z-index .interno ul li {
  float: left;
  font-size: 13px !important;
  list-style: none;
  margin: 0 15px 0 0;
  padding: 0px
}
.sticky_z-index .interno ul li a {
  display: block;
  color: #232323;
}
.sticky_z-index .interno ul li a:hover {
  text-decoration: none;
  color: #777777;
}
.servizi h5 {
  font-size: 24px;
}
@media (max-width: 768px) {
  .servizi h5 {
    font-size: 18px;
  }
  .sticky_z-index .vc_row {
    padding: 10px !important;
  }

  .sticky_z-index h3 {
    display: none;
  }

  .sticky_z-index .interno .wpb_wrapper {
    position: relative;
    overflow: hidden; /* Nascondi la scrollbar orizzontale */
    max-width: calc(100% - 30px); /* Larghezza massima del div del menu */
    margin: 0 auto; /* Centra il div del menu nella viewport */
  }

  .sticky_z-index .interno .wpb_wrapper ul {
    display: flex;
    flex-wrap: nowrap;
    padding: 0;
    margin: 0;
    overflow-x: auto; /* Abilita lo scorrimento orizzontale del menu */
    -webkit-overflow-scrolling: touch; /* Abilita lo scorrimento fluido su dispositivi iOS */
  }

  .sticky_z-index .interno ul {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    align-items: center; /* Centra verticalmente gli elementi all'interno del div del menu */
  }

  .sticky_z-index .interno ul li {
    margin-right: 5px;
  }

  .sticky_z-index .interno ul li a {
    font-size: 14px !important;
    white-space: nowrap;
    padding-right: 10px; /* Aggiungi spazio a destra del testo per evitare sovrapposizioni con le frecce */
  }

  .sticky_z-index .ult-sticky-section .interno::before,
  .sticky_z-index .ult-sticky-section .interno::after {
    content: ' ';
    width: 15px;
    height: 15px;
    background-size: contain;
    background-repeat: no-repeat;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
  }

  .sticky_z-index .ult-sticky-section .interno::before {
    background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="15 18 9 12 15 6"/></svg>');
    left: 0;
  }

  .sticky_z-index .ult-sticky-section .interno::after {
    background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="9 18 15 12 9 6"/></svg>');
    right: 0;
  }

  .sticky_z-index .interno2 {
    display: none;
  }
  #home .scurisci, .sticky-black .scurisci, .sticky-white .scurisci {
      margin: 0px;
      transition: 0.15s all ease;
      border-radius: 0px;
      width: calc(100% - 0px);
  }

}
.vc_btn3.vc_btn3-color-white, .vc_btn3.vc_btn3-color-white.vc_btn3-style-flat {
  color: #121212 !important;
}
.wpb-content-wrapper .vc_section {
    padding-left: 0;
    padding-right: 0;
    margin-left: 0;
    margin-right: 0;
}

/* Nascondi il checkbox originale */
.wpcf7-list-item {
  margin: 0px
}
.privacy-container input[type="checkbox"] {
    display: none !important;
}

/* Label base */
.privacy-container .wpcf7-list-item-label {
    position: relative !important;
    padding-left: 34px !important;
    cursor: pointer !important;
    display: inline-block !important;
    line-height: 22px !important;
    font-size: 15px !important;
    color: #444 !important;
    font-weight: 300;
    user-select: none;
}

/* Il quadratino minimale */
.privacy-container .wpcf7-list-item-label:before {
    content: "" !important;
    position: absolute !important;
    left: 0 !important;
    top: 0 !important;
    width: 22px !important;
    height: 22px !important;
    border: 0.5px solid #333 !important; /* Bordo un po' più deciso */
    background: #fff !important;
    border-radius: 3px !important;
    transition: all 0.2s ease !important;
}

/* Il segno di spunta in SVG (Codificato) */
.privacy-container input:checked + .wpcf7-list-item-label:after {
    content: "" !important;
    position: absolute !important;
    left: 2px !important;
    top: 1px !important;
    width: 20px !important;
    height: 20px !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'%3E%3C/polyline%3E%3C/svg%3E") !important;
    background-size: contain !important;
    background-repeat: no-repeat !important;
    display: block !important;
}

/* Feedback al check: il bordo diventa leggermente più spesso o cambia colore */
.privacy-container input:checked + .wpcf7-list-item-label:before {
    border-color: #000 !important;
    background-color: #f9f9f9 !important;
}

/* Fix errori Form prima di invio
/* Nascondi tutti i messaggi di errore inizialmente */
.wpcf7-not-valid-tip {
    display: none !important;
}

/* Mostrali solo quando il modulo viene inviato ed è effettivamente invalido */
.wpcf7-form.invalid .wpcf7-not-valid-tip,
.wpcf7-form.sent .wpcf7-not-valid-tip,
.wpcf7-form.failed .wpcf7-not-valid-tip {
    display: block !important;
}

/* Evita che i campi si colorino di rosso al click */
.wpcf7-form input:not(:submit).wpcf7-not-valid {
    border-color: #ccc !important; /* Colore neutro */
}

/* Colora di rosso solo dopo il tentativo di invio */
.wpcf7-form.invalid input:not(:submit).wpcf7-not-valid {
    border-color: #ff0000 !important;
}

/* Nasconde le label ma le lascia leggibili agli screen reader */
.hidden-label {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}

/* Allinea pulsante e spinner sulla stessa riga */
.submit-container p {
    display: flex !important;
    align-items: center !important; /* Centra verticalmente lo spinner rispetto al tasto */
    gap: 10px; /* Crea uno spazio tra il tasto e lo spinner */
    margin: 0 !important;
}

/* Assicurati che lo spinner non abbia margini strani che lo spingono giù */
.wpcf7-spinner {
    margin: 0 !important;
    display: inline-block !important;
    position: relative !important;
    vertical-align: middle !important;
}

/* Rimuovi eventuali clear o blocchi che il tema forza sui paragrafi del form */
.submit-container p::before,
.submit-container p::after {
    display: none !important;
}


/* Spaziatura tra i campi se hai disattivato l'AUTOP */
.wpcf7-form-control-wrap {
    display: block;
    margin-bottom: 0px !important;
    padding: 0px
}
span.wpcf7-form-control-wrap {
  padding: 0px !important;
}

.submit-container {
    margin-top: 10px;
}

.testo_grandissimo{
  font-size: clamp(1.5rem, 6vw + 1.5rem, 6rem) !important;
  line-height: 1 !important;
}
.testo_grande{
  font-size: clamp(1.5rem, 5vw + 1rem, 5rem) !important;
  line-height: 1 !important;
  letter-spacing: -0.05em !important;
}
.testo_medio{
  font-size: clamp(1.5rem, 4vw + 1.5rem, 4rem) !important;
  line-height: 1 !important;
  letter-spacing: -0.03em !important;
}
.testo_normale{
  font-size: clamp(1.5rem, 3vw + 1.5rem, 3rem) !important;
  line-height: 1 !important;
  letter-spacing: -0.03em !important;
}
.testo_ridotto{
  font-size: clamp(1.5rem, 2vw + 1rem, 2rem) !important;
  line-height: 1.2 !important;
  letter-spacing: -0.02em !important;
  font-weight: 800 !important;
}
.testo_piccolo{
  font-size: clamp(1.5rem, 1vw + 1rem, 1rem) !important;
  line-height: 1.2 !important;
  letter-spacing: -0.02em !important;
  font-weight: 800 !important;
}
.artwork-slide-inner-elements p {
  margin: 0px !important
}
@media (max-width: 767px) {
    .three-cols-sidebar .col1 {
        display: none
    }
}

/* 1. RESET LOGICA RIGHE (ROW) */
/* Applichiamo il wrap e la direzione alla riga che ha la classe box-bianco */
.vc_row.box-bianco {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 15px !important; /* Il gap che volevi */
    flex-direction: row !important; /* Default desktop/tablet */
    justify-content: center; /* Centra gli elementi spaiati su tablet */
}

/* 2. DESIGN DELLE COLONNE (Sempre attivo) */
/* Nota: ho tolto lo spazio tra .box-bianco e .vc_column_container
   perché la classe è applicata allo stesso elemento */
.box-bianco.vc_column_container,
.box-bianco .vc_column_container {
    background-color: #FFFFFF !important;
    border: 0.5px solid #EAEAEA !important;
    border-radius: 20px !important;
    box-sizing: border-box !important;
    display: flex !important;
}

/* 3. MOBILE (Fino a 767px) */
@media (max-width: 767px) {
    #subpage #logo {
        margin-top: 10px;
    }
    /* Forza la riga a diventare una colonna verticale */
    .vc_row.box-bianco {
        flex-direction: column !important;
    }

    .box-bianco.vc_column_container,
    .box-bianco .vc_column_container {
        width: 100% !important;
        flex: 0 0 100% !important;
        max-width: 100% !important;
        padding: 30px !important; /* Padding abbondante per mobile */
        margin-bottom: 15px !important; /* Spazio tra i box impilati */
        float: none !important;
    }
}

/* 4. TABLET (Da 768px a 1023px) */
@media (min-width: 768px) and (max-width: 1023px) {
    .box-bianco.vc_column_container,
    .box-bianco .vc_column_container {
        width: calc(50% - 15px) !important;
        flex: 0 0 calc(50% - 15px) !important;
    }
}

/* 5. DESKTOP (Da 1024px in su) */
@media (min-width: 1024px) {
    .box-bianco.vc_column_container,
    .box-bianco .vc_column_container {
        width: calc(33.33% - 15px) !important;
        flex: 0 0 calc(33.33% - 15px) !important;
        padding: 3% !important;
    }
}

/* BOX SENZA radius
@media screen and (max-width: 1440px){
  .ult-content-box-container, .ult-content-box-container * {
    border-radius: 0px;
  }
  .vc_column_container>.vc_column-inner {
    box-sizing: border-box;
    padding-left: 0px;
    padding-right: 0px;
  }
}*/
