.contatti {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    overflow: auto;
}
/* ------------------------------------------------------------- */
/* PULSANTE CHIUSURA FINESTRA                                    */
/* ------------------------------------------------------------- */
.contatti .menu {
    position: absolute;
    top: var(--col);
    right: var(--col);
    -webkit-transform: translateY(-100%);
    transform: translateY(-100%);
}
.contatti .menu a {
    display: block;
    width: 2.0833vw;
    min-width: 40px;
    height: 1.3542vw;
    min-height: 26px;
    position: relative;
    opacity: 0.25;
    -webkit-transition: 0.25s;
    transition: 0.25s;
}
.contatti .menu a:hover {
    opacity: 1;
    -webkit-transition: 0.25s;
    transition: 0.25s;
}
.contatti .menu a span {
    position: absolute;
    top: 50%;
    left: 0;
    width: 100%;
    min-height: 2px;
    height: 0.104vw;
    background: #000;
}
.contatti .menu a span:nth-child(1) {
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}
.contatti .menu a span:nth-child(2) {
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
}
/* ------------------------------------------------------------- */
/* PULSANTE CONTATTI                                             */
/* ------------------------------------------------------------- */
.contatti .contacts {
    position: absolute;
    top: var(--col);
    right: calc(var(--col) + 120px);
    -webkit-transform: translate(0, -100%);
    transform: translate(0, -100%);
    -webkit-transition: opacity 0.25s;
    transition: opacity 0.25s;
}
.contatti .contacts a {
    display: block;
    width: 2.0833vw;
    min-width: 40px;
    opacity: 0.25;
}
.contatti .contacts a svg {
    display: block;
}
.contatti .contacts a svg .st0 {
    fill: #000;
}
/* ------------------------------------------------------------- */
/* PULSANTE PROFILO UTENTE                                       */
/* ------------------------------------------------------------- */
.contatti .profile {
    position: absolute;
    top: var(--col);
    right: calc(var(--col) + 240px);
    -webkit-transform: translate(0, -100%);
    transform: translate(0, -100%);
    -webkit-transition: opacity 0.25s;
    transition: opacity 0.25s;
}
.contatti .profile a {
    display: block;
    width: 2.0833vw;
    min-width: 40px;
    opacity: 0.25;
    -webkit-transition: 0.25s;
    transition: 0.25s;
}
.contatti .profile a svg {
    display: block;
}
.contatti .profile a svg #omino {
    fill: #000;
}
.contatti .profile a svg #log {
    display: none;
}
.contatti .profile.in a svg #log {
    display: block;
}
/* ------------------------------------------------------------- */
/* ICONA ATTIVA                                                  */
/* ------------------------------------------------------------- */
.contatti .contacts a:hover,
.contatti .profile a:hover {
    opacity: 1;
}
.contatti .contacts.active a,
.contatti .profile.active a {
    opacity: 1;
    cursor: pointer;
}
/* ------------------------------------------------------------- */
/* FORM DI CONTATTO                                              */
/* ------------------------------------------------------------- */
div.contatti {
    position: fixed;
    z-index: 9998;
    background: white;
    top: 0px;
    left: 0px;
    width: 100%;
    min-height: 100vh;
    padding: 4vw 0px 0px 0px;
    display: none;
}
div.contatti a {
    color: #000;
}
div.contatti div.modulo {
    width: 100%;
    max-width: 50%;
    margin: 0 auto;
    padding-top: 6.25vw;
    padding-bottom: 4vw;
}
div.contatti div.modulo div.busta {
    margin-bottom: 3.125vw;
}
div.contatti div.modulo div.busta svg {
    max-width: calc(var(--col) / 3);
    min-width: 30px;
    margin: 0 auto;
    display: block;
}
div.contatti div.modulo div.busta svg .st0 {
    fill: #000;
}
div.contatti div.modulo div.logo img {
    width: 12.5vw;
    min-width: 200px;
    margin: 0 auto;
}
div.contatti div.modulo form {
    padding-top: var(--col);
}
div.contatti div.modulo form div.row {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin-left: calc(var(--col) * -0.5);
}
div.contatti div.modulo form div.row > div {
    margin-bottom: calc(var(--fz) * 2);
    margin-left: calc(var(--col) * 0.5);
    position: relative;
}
div.contatti div.modulo form div.row div.col1 {
    width: 100%;
}
div.contatti div.modulo form div.row div.col2 {
    width: calc((100% - var(--col) * 1) / 2);
}
div.contatti div.modulo form label {
    cursor: pointer;
}
div.contatti div.modulo form input,
div.contatti div.modulo form textarea {
    width: 100%;
    height: calc(var(--fz) * 2);
    font-family: 'mislab-std', serif;
    font-weight: 400;
    font-style: italic;
    font-size: 100%;
    border: none;
    border-bottom: 1px solid #DADADA;
    resize: none;
    overflow: hidden;
}
div.contatti div.modulo form input.error,
div.contatti div.modulo form textarea.error {
    color: #931212;
    border-bottom: 1px solid #931212;
}
div.contatti div.modulo form input + label,
div.contatti div.modulo form textarea + label {
    position: absolute;
    width: 100%;
    display: block;
    color: #b1b1b1;
    top: 0;
    top: calc(var(--fz) * 0.25);
    left: 0;
    -webkit-transition: 0.25s;
    transition: 0.25s;
}
div.contatti div.modulo form input:focus,
div.contatti div.modulo form textarea:focus {
    border-bottom: 1px solid #000;
}
div.contatti div.modulo form input:focus + label,
div.contatti div.modulo form input:not([value=""]) + label {
    top: calc(var(--fz) * -1);
    -webkit-transition: 0.25s;
    transition: 0.25s;
}
div.contatti div.modulo form textarea:focus + label,
div.contatti div.modulo form textarea:not([value=""]) + label {
    top: calc(var(--fz) * -2);
    -webkit-transition: 0.25s;
    transition: 0.25s;
}
div.contatti div.modulo form div.radio_tipo input[type="radio"] {
    position: absolute !important;
    overflow: hidden !important;
    clip: rect(0 0 0 0) !important;
    height: 1px !important;
    width: 1px !important;
    margin: -1px !important;
    padding: 0 !important;
    border: 0 !important;
}
div.contatti div.modulo form input[type="radio"] + span {
    display: inline-block;
    width: calc(var(--fz) * 0.5);
    height: calc(var(--fz) * 0.5);
    min-width: 16px;
    min-height: 16px;
    border: 2px solid #DADADA;
    border-radius: 50%;
    position: relative;
    cursor: pointer;
    margin-left: 40px;
    -webkit-transform: translateY(20%);
    transform: translateY(20%);
    -webkit-transition: 0.25s;
    transition: 0.25s;
}
div.contatti div.modulo form input[type="radio"] + span.active span {
    background: #000;
    width: 50%;
    height: 50%;
    min-width: 8px;
    min-height: 8px;
    position: absolute;
    top: 50%;
    left: 50%;
    border-radius: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
}
div.contatti div.modulo form input[type="radio"] + span.active,
div.contatti div.modulo form input[type="radio"] + span:hover {
    border: 2px solid #000;
}
div.contatti div.modulo form ul.contatti_lista_interessi {
    list-style: none;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin-top: calc(var(--fz) * 1.5);
}
div.contatti div.modulo form ul.contatti_lista_interessi li {
    width: 25%;
}
div.contatti div.modulo form ul.contatti_lista_interessi li a {
    color: #b1b1b1;
    text-decoration: none;
    -webkit-transition: 0.25s;
    transition: 0.25s;
}
div.contatti div.modulo form ul.contatti_lista_interessi li a:hover {
    /*color: #000;*/
    -webkit-transition: 0.25s;
    transition: 0.25s;
}
div.contatti div.modulo form ul.contatti_lista_interessi li a.active {
    color: #000;
    font-weight: 500;
    -webkit-transition: 0.25s;
    transition: 0.25s;
}
div.contatti div.modulo form div.informativa {
    font-size: 90%;
}
div.contatti div.modulo form div.informativa p {
    line-height: 200%;
}
div.contatti div.modulo form div.informativa div.privacy {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
}
div.contatti div.modulo form div.informativa div.privacy div:nth-child(1) {
    margin-right: calc(var(--col) * 0.125);
}
div.contatti div.modulo form div.informativa div.privacy div:nth-child(1) input.accetta {
    position: absolute !important;
    overflow: hidden !important;
    clip: rect(0 0 0 0) !important;
    height: 1px !important;
    width: 1px !important;
    margin: -1px !important;
    padding: 0 !important;
    border: 0 !important;
}
div.contatti div.modulo form div.informativa div.privacy div:nth-child(1) span.accetta_check {
    display: inline-block;
    width: calc(var(--fz) * 0.5);
    height: calc(var(--fz) * 0.5);
    min-width: 16px;
    min-height: 16px;
    border: 2px solid #DADADA;
    border-radius: 50%;
    position: relative;
    cursor: pointer;
    -webkit-transform: translateY(25%);
    transform: translateY(25%);
    -webkit-transition: 0.25s;
    transition: 0.25s;
}
div.contatti div.modulo form div.informativa div.privacy div:nth-child(1) span.accetta_check:hover,
div.contatti div.modulo form div.informativa div.privacy div:nth-child(1) span.accetta_check.active {
    border: 2px solid #000;
}
div.contatti div.modulo form div.informativa div.privacy div:nth-child(1) span.accetta_check.active span {
    background: #000;
    width: 50%;
    height: 50%;
    min-width: 8px;
    min-height: 8px;
    position: absolute;
    top: 50%;
    left: 50%;
    border-radius: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
}
div.contatti div.modulo form div.informativa div.privacy div:nth-child(2) {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
}
div.contatti div.modulo form div.informativa div.privacy div p span {
    cursor: pointer;
}
div.contatti div.modulo form div.row div.contatti_msg p {
    color: #c30000;
    margin-top: 2vw;
}
div.contatti div.modulo div.row div.pulsanti {
    text-align: center;
}
div.contatti div.modulo div.row div.pulsanti button.invia {
    width: calc(var(--col) * 2);
    min-width: 210px;
    height: calc(var(--col) / 2);
    min-height: 45px;
    text-align: center;
    font-family: 'mislab-std', serif;
    font-size: 100%;
    background: -webkit-linear-gradient(left, #c88d00 0%, #f1c52a 50%, #fff4a4 100%);
    border: none;
    border-radius: 1000px;
    cursor: pointer;
    position: relative;
}
div.contatti div.modulo div.row div.pulsanti button.invia > span {
    position: absolute;
    top: 1px;
    left: 1px;
    width: calc(100% - 2px);
    height: calc(100% - 2px);
    background: white;
    border-radius: 1000px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
}
div.contatti div.modulo div.row div.pulsanti button.invia > span span {
    -webkit-align-self: center;
    -ms-flex-item-align: center;
    -ms-grid-row-align: center;
    align-self: center;
}
div.contatti div.modulo div.row div.pulsanti button.invia > span span:nth-child(2) {
    display: none;
    opacity: 0;
    -webkit-transition: 0.25s;
    transition: 0.25s;
}
div.contatti div.modulo div.row div.pulsanti button.invia:hover > span span:nth-child(2) {
    display: inline-block;
    width: 7px;
    margin-left: 15px;
    opacity: 1;
    -webkit-transition: 0.25s;
    transition: 0.25s;
}
div.contatti div.modulo form div.row div.contatti_msg {
    margin-bottom: 0 !important;
}
div.contatti div.modulo form div.row div.contatti_msg p {
    color: #c30000;
    margin-top: 0;
    margin-bottom: calc(var(--fz) * 1.5);
}
/* login */
div#user_login.contatti,
div#user_login.contatti input,
div#user_login.contatti div.modulo div.row div.pulsanti {
    text-align: center !important;
}
/* ------------------------------------------------------------- */
/* REGOLE RESPONSIVE                                             */
/* ------------------------------------------------------------- */
@media only screen and (min-width: 1921px) {
    .contatti .contacts {
        right: calc(var(--col) + 6.25vw);
    }
    .contatti .profile {
        right: calc(var(--col) + 12.5vw);
    }
}
@media only screen and (max-width: 1600px) {
    div.contatti div.modulo {
        max-width: 62.5%;
    }
}
@media only screen and (max-width: 1440px) {
    div.contatti div.modulo {}
    div.contatti div.modulo div.row div.pulsanti button.invia {}
    div.contatti div.modulo form input,
    div.contatti div.modulo form textarea {}
}
@media only screen and (max-width: 1280px) {
    div.contatti div.modulo {}
}
@media only screen and (max-width: 1280px) {
    div.contatti div.modulo {
        max-width: 75%;
    }
    div.contatti div.modulo form div.informativa div.privacy div:nth-child(1) {
        margin-right: 20px;
    }
}
@media only screen and (max-width: 1024px) {
    .contatti .menu {
        -webkit-transform: translate(0, 0);
        transform: translate(0, 0);
    }
    .contatti .menu a,
    .contatti .contacts a,
    .contatti .profile a {
        min-width: 30px;
    }
    .contatti .contacts {
        position: absolute;
        top: var(--col);
        right: var(--col);
        -webkit-transform: translate(-300%, 0%);
        transform: translate(-300%, 0%);
        -webkit-transition: opacity 0.25s, -webkit-transform 1s;
        transition: opacity 0.25s, -webkit-transform 1s;
        transition: opacity 0.25s, transform 1s;
        transition: opacity 0.25s, transform 1s, -webkit-transform 1s;
    }
    .contatti .profile {
        position: absolute;
        top: var(--col);
        right: var(--col);
        -webkit-transform: translate(-600%, 0%);
        transform: translate(-600%, 0%);
        -webkit-transition: opacity 0.25s, -webkit-transform 1s;
        transition: opacity 0.25s, -webkit-transform 1s;
        transition: opacity 0.25s, transform 1s;
        transition: opacity 0.25s, transform 1s, -webkit-transform 1s;
    }
    div.contatti div.modulo div.logo img {
        width: auto;
        height: 30px;
        -webkit-transform: translate(0, 15px);
        transform: translate(0, 15px);
    }
}
@media only screen and (max-width: 768px) {
    div.contatti div.modulo form {
        padding-top: calc(var(--col) * 2);
    }
    div.contatti {
        /*padding-top: 18.75vw;*/
    }
    div.contatti div.modulo div.logo img {
        -webkit-transform: translate(0, 8px);
        transform: translate(0, 8px);
    }
}
@media only screen and (max-width: 600px) {
    div.contatti div.modulo div.logo img {
        max-width: calc(var(--col) * 8);
    }
    div.contatti div.modulo form div.row > div {
        margin-bottom: calc(var(--fz) * 2);
    }
    .contatti .contacts,
    .contatti .profile {
        display: none;
    }
    div.contatti div.modulo form div.row div.col2 {
        width: 100%;
    }
    div.contatti div.modulo form ul.contatti_lista_interessi li {
        width: 50%;
    }
    div.contatti div.modulo div.row div.pulsanti button.invia {
        width: 100%;
        max-width: 100%;
    }
}
@media only screen and (max-width: 480px) {
    div.contatti div.modulo form ul.contatti_lista_interessi li {
        width: 100%;
    }
    div.contatti div.modulo form label {
        display: block;
        width: 100%;
    }
    div.contatti div.modulo form input[type="radio"] + span {
        margin-left: 0;
    }
}