/*
Theme Name: Robin Studio
Theme URI: https://tandu.it
Author: Tandu
Author URI: https://tandu.it/
Description: Tema di tandù per Robin Studio
Version: 2019.1
License: GNU General Public License
License URI: https://www.gnu.org/licenses/gpl.html
Tags: tandu
Text Domain: robin

WordPress Theme © 2023 Tandu
*/

@import url('https://fonts.googleapis.com/css2?family=Open+Sans:ital,wght@0,300;0,400;0,700;1,300;1,400;1,700&family=Sintony:ital,wght@0,400;0,700&display=swap');
/* @import url('https://fonts.googleapis.com/css2?family=Open+Sans:ital,wght@0,300;0,400;0,700;1,300;1,400;1,700&family=Spectral:ital,wght@0,700;1,700&display=swap'); */

html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;font:inherit;vertical-align:baseline}body{line-height:1}button{outline:0}ol,ul{list-style:none}blockquote,q{quotes:none}blockquote:before,blockquote:after,q:before,q:after{content:'';content:none}q{display:inline;font-style:italic}q:before{content:'"';font-style:normal}q:after{content:'"';font-style:normal}textarea,input[type="text"],input[type="button"],input[type="submit"],input[type="reset"],input[type="search"],input[type="password"]{-webkit-appearance:none;appearance:none;border-radius:0}table{border-collapse:collapse;border-spacing:0}th,td{padding:2px}big{font-size:120%}small,sup,sub{font-size:80%}sup{vertical-align:super}sub{vertical-align:sub}dd{margin-left:20px}kbd,tt{font-family:courier;font-size:12px}ins{text-decoration:underline}del,strike,s{text-decoration:line-through}dt{font-weight:bold}address,cite,var{font-style:italic}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
.sticky{}.bypostauthor{}.wp-caption{}.wp-caption-text{}.gallery-caption{}.alignright{}.alignleft{}.aligncenter{}.screen-reader-text{clip:rect(1px, 1px, 1px, 1px);position:absolute !important}

/* --- GENERIC - TYPOGRAPHY --- */
/* --- :root --- */
:root {
    --header-lg: 210px;
    --header-md: 62px;

    --black: #000000;
    --white: #ffffff;

    --primary:#050219;
    --secondary:#687B99;
    --red:#FD004E;

    --gtr: 15px;
    /* --container: xx */
}

/* - Skipping bootstrap's containers - */
/* @media ( max-width: 990.1px ) {
    :root {
        --container: 2rem
    }
} */

/* .container-left { padding-left: var(--container); }
.container-right { padding-right: var(--container); } */

/* - GENERIC FONT FAMILY - */

html, body, div, span, applet, object, iframe, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {
    font-family: 'Helvetica', sans-serif;
    /* font-family: 'Open Sans', 'Helvetica', sans-serif; */
}

body h1, body h2, body h3, body h4, body h5, body h6 {
    font-family: 'Sintony', 'Times New Roman', serif;
    margin-bottom: 0;   
}

html body {
    width: 100%;
    margin: 0 auto;
    color: var(--white);
}

/* - Colored text, fonts - */
.spectral, .spectral * { font-family: 'Sintony', 'Times New Roman', serif; }
.open-sans, .open-sans * { font-family: 'Open Sans', 'Helvetica', sans-serif; }

.white-text, .white-text * { color:var(--white) }
.secondary-text, .secondary-text * { color:var(--secondary) }

/* - Colored backgrounds - */
.black-bcg { background-color: var(--black) }
.white-bcg { background-color: var(--white) }

.fixed-background {
    background-size: cover;
    background-position: center center;
    background-attachment: fixed;
    background-repeat: no-repeat
}

@media screen and ( max-width: 768px ) {
    .fixed-background { background-attachment: scroll; }
}

/* - Uppercase, lowercase, centered text, right text, font weights- */

.no-uppercase, .no-uppercase * { text-transform: none !important }
.all-uppercase, .all-uppercase * { text-transform: uppercase !important }
.all-lowercase, .all-lowercase * { text-transform: lowercase !important }
.centered-text, .centered-text * { text-align: center !important }
.right-text, .right-text * { text-align: right !important; float: right !important }

.font-r,
.font-r > * { font-weight: 400 }
.font-m,
.font-m > * { font-weight: 500 }
.font-sb,
.font-sb > * { font-weight: 600 }
.font-b,
.font-b > * { font-weight: 700 }
.font-eb,
.font-eb > * { font-weight: 900 }
.font-u,
.font-u > * { text-decoration: underline }
.font-i,
.font-i > * { font-style: italic; }
.cap-text,
.cap-text > * { text-transform: capitalize }



/* - Basic definition - p - */
html {
    font-size: 16px !important;
    -webkit-font-smoothing: antialiased;
}
p, li {
    font-size: 1rem;
    line-height: 1.5em;
    margin: 0;
    -webkit-font-smoothing: antialiased;
}

.page-title {
    text-transform: uppercase;
    font-size: 3rem;
}
.title-p, .title-p * {
    font-size: 1rem;
    line-height: 1em;
}
.title-125, .title-125 * {
    font-size: 1.25rem;
    line-height: 1em;
}
.title-15, .title-15 * {
    font-size: 1.5rem;
    line-height: 1em;
}
.title-2, .title-2 * {
    font-size: 2rem;
    line-height: 1em;
}
.title-225, .title-225 * {
    font-size: 2.25rem;
    line-height: 1em;
}
.title-25, .title-25 * {
    font-size: 2.5rem;
    line-height: 1em;
}
.title-3, .title-3 * {
    font-size: 3rem;
    line-height: 1em;
}
.title-35, .title-35 * {
    font-size: 3.5rem;
    line-height: 1em;
}
.title-4, .title-4 * {
    font-size: 4rem;
    line-height: 1em;
}
.title-5, .title-5 * {
    font-size: 5rem;
    line-height: 1em;
}
.title-6, .title-6 * {
    font-size: 6rem;
    line-height: 1em;
}

.lh-15, .lh-15 * { line-height: 1.5em; }
.ls-2 { letter-spacing: 2px; }

/* - Titles, text, inline elements - */
h1, h2, h3, h4, h5, h6 { margin-bottom: 0; }

a { color: inherit }
.main_color a,
.main_color a:hover { color: inherit }

strong,
strong a,
b,
b a {
    font-size: inherit;
    font-weight: 700 !important;
    color: inherit !important;
}

/* - Readjusting gutters and container dimension for tablets - */
/* body .row {
    --bs-gutter-x: 3.5rem
}

@media ( max-width: 767.9px ) {
    body .row {
        --bs-gutter-x: 1.5rem
    }
} */

@media (max-width: 992px) {
    body .container { max-width: 100%; }
}


/* --- GENERIC --- */

/* - Images - */

img, a img {
    display: block;
    -webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none;
    width: 100%;
    height: auto;
}

/* - Hidden elements - */
.hidden-element { display: none !important }
.hidden-title {
    display: none;
    position: fixed;
    top: -300px;
    left: -300px;
}

/* - Selection - */
::-moz-selection {
    background-color:var(--black);
    color:var(--white);
}

::selection {
    background-color:var(--black);
    color:var(--white);
}


/* --- GENERIC - ELEMENTS --- */

/* - Forms - */

.cf-row p {
    display: flex;
    justify-content: space-between;
}
.cf-row p span {
    width: calc(50% - .5rem);
}

textarea, input[type="text"], input[type="email"], input[type="button"], input[type="submit"], input[type="reset"], input[type="search"], input[type="password"] {
    /* border: none;
    border-bottom: 1px #64748B solid;
    color:#64748B; */
    width: 100%;
}
/* .cf-row p span input,
.cf-row p span input::placeholder,
div p span textarea,
div p span textarea::placeholder {
    color: #AAAAAA;
}

.cf-row p span input,
div p span textarea {
    width: 100%;
    background-color: #F5F3F3;
    padding: .5rem 1rem;
    border: none;
    margin-bottom: 2rem;
} */

.wpcf7-form-control-wrap[data-name="acceptance-pp"] {
    padding-left: 1.5rem;
    position: relative;
}


.wpcf7-form-control-wrap[data-name="acceptance-pp"] input[type="checkbox"] { display: none; }
.wpcf7-form-control-wrap[data-name="acceptance-pp"] .wpcf7-list-item-label {
    padding-left: 1.5rem;
    display: block;
    font-size: 1rem;
}
.wpcf7-form-control-wrap[data-name="acceptance-pp"] .wpcf7-list-item-label::before {
    content: ' ';
    width: 1rem;
    height: 1rem;
    position: absolute;
    left: 0;
    top: 50%;
    transform: translate(0, -50%);
    background-color: #F5F3F3;
}
.wpcf7-form-control-wrap[data-name="acceptance-pp"] input:checked ~ .wpcf7-list-item-label::before {
    background-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg width='14px' height='14px' viewBox='0 0 14 14' version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Ctitle%3EPath 6%3C/title%3E%3Cg id='22012021' stroke='none' stroke-width='1' fill='none' fill-rule='evenodd' stroke-linecap='round' stroke-linejoin='round'%3E%3Cg id='associazione' transform='translate(-739.000000, -2300.000000)' stroke='%23CD0067' stroke-width='1.5'%3E%3Cpolyline id='Path-6' points='740.138329 2306.90481 744.823929 2313.09024 751.769219 2300.912'%3E%3C/polyline%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-size: .8em .8em;
    background-position: center;
}

.wpcf7-form-control-wrap[data-name="acceptance-pp"] ~ br { display: none; }
body form p label {
    width: 100%;
}
body form .cf-row label span.cf-label,
body form p label span.cf-label {
    display: block;
    padding: 0.5em;
    font-weight: 500;
}
body form p,
body form p .wpcf7-form-control-wrap textarea {
    width: 100%;
}
.wpcf7 form.sent .wpcf7-response-output {
    color: var(--black);
    padding: 1rem;
}
span[data-name="acceptance-pp"] .wpcf7-list-item { margin-left: 0; }
span[data-name="acceptance-pp"] .wpcf7-list-item-label { color: var(--black) }
span[data-name="acceptance-pp"] .wpcf7-list-item-label a { color: var(--black) }
@media ( max-width: 576px ) {
    .cf-row p {
        flex-wrap: wrap;
    }
    .cf-row p span {
        width: 100%;
    }
    .cf-row p span:last-child { margin-top: 1rem; }
}

/* - Buttons - */
input[type="submit"],
body div .btn {
    min-width: 200px;
    position: relative;
    font-size: inherit;
    line-height: inherit;
    text-align: center;
    /* 
    Choose:
    width: auto;
    padding: 0; */
    display: inline-flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none;
    text-decoration: none;
}
body div .btn span {
    font-family: 'Helvetica', 'Arial', sans-serif;
}

/* body div .btn.icon {
    justify-content: space-between;
}
body div .btn.icon::after {
    content: ' ';
    width: 1.5rem;
    flex: 0 0 1.5rem;
    height: 1.5rem;
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
    margin-left: 1rem;
} */

a.clean-link,
a.clean-link:hover,
.clean-link a,
.clean-link a:hover {
    color: inherit;
    text-decoration: none;
}

.cmb-xxs { margin-bottom: 1rem !important }
.cmb-xs { margin-bottom: 2rem !important }
.cmb-sm { margin-bottom: 3rem !important }
.cmb-md { margin-bottom: 4rem !important }
.cmb-lg { margin-bottom: 5rem !important }
.cmb-xl { margin-bottom: 6rem !important }

.cmt-xxs { margin-top: 1rem !important }
.cmt-xs { margin-top: 2rem !important }
.cmt-sm { margin-top: 3rem !important }
.cmt-md { margin-top: 4rem !important }
.cmt-lg { margin-top: 5rem !important }
.cmt-xl { margin-top: 6rem !important }

.cpb-xxs { padding-bottom: 1rem !important }
.cpb-xs { padding-bottom: 2rem !important }
.cpb-sm { padding-bottom: 3rem !important }
.cpb-md { padding-bottom: 4rem !important }
.cpb-lg { padding-bottom: 5rem !important }
.cpb-xl { padding-bottom: 6rem !important }

.cpt-xxs { padding-top: 1rem !important }
.cpt-xs { padding-top: 2rem !important }
.cpt-sm { padding-top: 3rem !important }
.cpt-md { padding-top: 4rem !important }
.cpt-lg { padding-top: 5rem !important }
.cpt-xl { padding-top: 6rem !important }

/* - Animations - REDO - */
.animated--bcg {
    position: absolute;
    left: 0;
    bottom: 0;
    right: 0;
    top: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    z-index: 1;
}
.animated--bcg > * {
    z-index: 2;
}
.moving--img {
    overflow: hidden;
    position: relative;
}
.moving--img img:first-child { 
    opacity: 0;
    pointer-events: none;
}
.moving--img img:last-child { 
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    width: 100%;
    height: 100%;
}

/* --- GENERIC - SITE SPECIFIC --- */

*:focus {
    outline: none !important
}
/* #content {
    padding-top: var(--header-lg);
} */

section {
    overflow: hidden;
    position: relative;
    margin-bottom: 5rem;
}
section.no-margin {
    margin-bottom: 0;
}

.gen--title {
    padding-top: 3rem;
    padding-bottom: 3rem;
}
.gen--p p {
    margin-bottom: 1rem;
}
.gen--p p:last-child {
    margin-bottom: 0px;
}
.gen--bcg {
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}
.gen--bcg-contain {
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
}
.gen--bcg.gen--bcg-overlay {
    z-index: 1;
    position: relative;
}
.gen--bcg.gen--bcg-overlay::after {
    content: ' ';
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 2;
    opacity: 0.75;
    background-color:var(--black)
}
.gen--bcg.gen--bcg-overlay > * {
    position: relative;
    z-index: 5;
}
.gen--bef_aft-contain::before,
.gen--bef_aft-contain::after {
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}
.gen--img-cover {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.gen--img-contain {
    width: 100%;
    height: 100%;
    object-fit: contain;
}
.gen--hero-video {
    width: 100%;
    height: 100vh;
    position: relative;
}
.gen--hero-video iframe {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.gen--swiper-section {
    position: relative;
}
.gen--swiper-section .swiper-button-next::after,
.gen--swiper-section .swiper-button-prev::after {
    font-size: 1.25rem;
}
.gen--popup-gallery-wrapper .swiper-button-next::after,
.gen--popup-gallery-wrapper .swiper-button-prev::after {
    color:var(--white)
}
.gen--swiper-section .swiper-button-next, .gen--swiper-section .swiper-container-rtl .swiper-button-prev { right: -40px; }
.gen--swiper-section .swiper-button-prev, .gen--swiper-section .swiper-container-rtl .swiper-button-next { left: -40px; }

/* 
@media ( max-width: 768px ) {
    .gen--swiper-section .swiper-button-next, .gen--swiper-section .swiper-container-rtl .swiper-button-prev { right: -30px; }
    .gen--swiper-section .swiper-button-prev, .gen--swiper-section .swiper-container-rtl .swiper-button-next { left: -30px; }
} */
.gen--video {
    padding-bottom: 56.25%;
    position: relative;
    display: block;
}
.gen--video video {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
}
.gen--video::after {
    content: ' ';
    position: absolute;
    z-index: 1;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-image: linear-gradient(to right, #050219FF 0%, #05021900 100%);
    opacity: 0;
    transition: opacity 250ms ease;
}
.gen--video:hover::after {
    opacity: 1;

}
.video--title {
    position: absolute;
    text-align: left;
    bottom: 2rem;
    left: 2rem;
    z-index: 5;
    font-size: 1.5rem;
    font-weight: 400;
    transform: translate(0, 0rem);
    transition: all 250ms ease;
}
.video--title ~ .arrow {
    position: absolute;
    left: 2rem;
    z-index: 6;
    bottom: 2rem;
    display: block;
    margin-top: 1rem;
    width: 2rem;
    height: 2rem;
    background-image: url("data:image/svg+xml,%3Csvg width='29' height='29' viewBox='0 0 29 29' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M26.5004 0.707075L3.16572 0.000226813C2.60605 -0.0117732 2.13596 0.454178 2.1269 0.972578C2.1176 1.49928 2.57294 1.99394 3.09927 2.01134L24.1137 2.65202L0.292912 26.4728C-0.0976509 26.8634 -0.0976298 27.4965 0.29293 27.887C0.683439 28.2776 1.3166 28.2775 1.70714 27.887L25.5279 4.06621L26.1686 25.0807C26.1859 25.6072 26.6807 26.0706 27.2074 26.0531C27.7339 26.0361 28.1779 25.6043 28.1798 25.0142L27.4728 1.67961C27.4108 1.07981 26.9345 0.744775 26.5004 0.707075Z' fill='white'/%3E%3C/svg%3E%0A");
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    /* opacity: 0;
    transition: opacity 250ms ease 125ms; */
    transform: scale(0);
    transform-origin: bottom left;
    transition: transform 250ms ease;
}
.gen--video:hover .video--title {
    transform: translate(0, -3rem);
}
.gen--video:hover .video--title ~ .arrow {
    transform: scale(1);
    /* opacity: 1;
    transition-delay: 0; */
}
.audioplayer {
    position: fixed;
    z-index: 200;
    width: 2rem;
    height: 2rem;
    bottom: 2rem;
    right: 3rem;
    cursor: pointer;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30' fill='none'%3E%3Ccircle cx='15' cy='15' r='14.5' stroke='white'/%3E%3Cpath d='M15.4844 10.0003C15.371 10.0003 15.2621 10.0463 15.1758 10.1193L12.6738 12.2423H9.5C9.22387 12.2423 9.00002 12.4662 9 12.7423V16.7423C9.00002 17.0185 9.22387 17.2423 9.5 17.2423H12.6738L15.1758 19.3655C15.5005 19.6419 16 19.4114 16 18.9846V10.5003C16.0001 10.2179 15.7666 9.99135 15.4844 10.0003ZM19.5019 10.0003C19.4028 10.0007 19.306 10.0306 19.2238 10.0862C19.1417 10.1418 19.0779 10.2205 19.0407 10.3124C19.0034 10.4043 18.9943 10.5052 19.0145 10.6023C19.0348 10.6994 19.0834 10.7883 19.1543 10.8577C20.1859 11.8892 20.7656 13.2874 20.7656 14.7463C20.7656 16.2052 20.1859 17.6054 19.1543 18.637C19.1065 18.6831 19.0684 18.7382 19.0421 18.7992C19.0159 18.8602 19.0021 18.9259 19.0015 18.9923C19.0009 19.0587 19.0135 19.1246 19.0387 19.186C19.0638 19.2475 19.1009 19.3034 19.1479 19.3504C19.1949 19.3973 19.2507 19.4345 19.3122 19.4596C19.3736 19.4848 19.4395 19.4974 19.5059 19.4968C19.5723 19.4962 19.638 19.4824 19.699 19.4562C19.76 19.43 19.8152 19.3918 19.8613 19.344C21.0802 18.1252 21.7656 16.47 21.7656 14.7463C21.7656 13.0226 21.0802 11.3695 19.8613 10.1506C19.8145 10.1028 19.7586 10.0648 19.6969 10.0389C19.6352 10.0131 19.5689 10 19.5019 10.0003ZM17.5019 11.4143C17.4028 11.4147 17.306 11.4447 17.2238 11.5003C17.1417 11.5558 17.0779 11.6345 17.0407 11.7264C17.0034 11.8184 16.9943 11.9193 17.0145 12.0164C17.0348 12.1135 17.0834 12.2024 17.1543 12.2717C17.8108 12.9282 18.1797 13.8178 18.1797 14.7463C18.1797 15.6748 17.8108 16.5664 17.1543 17.2229C17.1062 17.269 17.0678 17.3242 17.0414 17.3853C17.0149 17.4463 17.0009 17.5121 17.0002 17.5786C16.9995 17.6452 17.0121 17.7113 17.0372 17.773C17.0624 17.8346 17.0996 17.8906 17.1466 17.9376C17.1937 17.9847 17.2497 18.0219 17.3113 18.047C17.373 18.0722 17.439 18.0847 17.5056 18.084C17.5722 18.0833 17.6379 18.0693 17.699 18.0429C17.7601 18.0164 17.8153 17.978 17.8613 17.9299C18.7051 17.0862 19.1797 15.9396 19.1797 14.7463C19.1797 13.553 18.7051 12.4084 17.8613 11.5647C17.8145 11.5169 17.7586 11.479 17.6969 11.4531C17.6352 11.4273 17.5689 11.4141 17.5019 11.4143Z' fill='white'/%3E%3C/svg%3E");
}
/* --- HEADER --- */
#masthead { display: none; }
#header {
    z-index: 200;
    position: fixed;
    width: 100%;
    top: 0;
    background-color: transparent;
}
/* 
Transparent menu > color menu

body.home #header {
    position: fixed;
    background-color: transparent;
    transition: background-color 250ms ease;
}
body.home #header.scrolled {
    transition: background-color 250ms ease;
    background-color: var(--black);
}
body.home #content .home--hero {
    padding-top: calc(var(--header-lg)*2);
} */
#header > .container-fluid .row .col-12 {
    padding: 2rem 3rem;
    position: relative;
    z-index: 110;
}
#logo {
    position: relative;
    z-index: 310;
}
#logo img {
    width: 108px;
    -o-object-fit: contain;
       object-fit: contain;
}
.logo-spacer,
.header-spacer { flex-grow: 1; }
.header-spacer { width: 108px; }
#header #menu li a,
#header #menu-mobile li a {
    text-decoration: none;
    color: var(--secondary);
    font-size: 1rem;
    font-weight: 400;
    display: flex;
}
#header > .container-fluid ul.menu {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin-bottom: 0;
    padding-left: 0;
}
#header > .container-fluid ul.menu li {
    padding: 0 20px;
    position: relative;
    display: flex;
    align-items: center;
}
#header > .container-fluid ul.menu li.menu-item-has-children ul.sub-menu {
    position: absolute;
    background-color: var(--white);
    padding: 5px;
    opacity: 0;
    pointer-events: none;
    top: 103%;
    left: 20px;
    width: -webkit-max-content;
    width: -moz-max-content;
    width: max-content;
}
#header > .container-fluid ul.menu li.menu-item-has-children:hover > a {
    border-bottom: 2px solid var(--black)
}
#header > .container-fluid ul.menu li.menu-item-has-children:hover ul.sub-menu {
    opacity: 1;
    pointer-events: all;
}
#header > .container-fluid ul.menu li.menu-item-has-children ul.sub-menu li { padding: 10px 20px; }
#header > .container-fluid ul.menu li.menu-item-has-children ul.sub-menu li a { border-bottom: none }
#menu-mobile ul.menu {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
}
/* --- HEADER - TABLET, MOBILE --- */
@media ( max-width: 1440.1px ) {
    #header > .container-fluid ul.menu li {
        padding: 0 10px;
        justify-content: center;
    }
}

/* --- MENU - MOBILE --- */
#menu {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
}
#nav-icon2 { display: none; }
.menu-phone-mobile { display: none; }
@media ( max-width: 1200px ) {
    /* #header > .container-fluid .row .col-12,
    #header > .container-fluid {
        height: var(--header-md)
    } */
    #content {
        /* padding-top: var(--header-md); */
        padding-top: 0;
    } 
    /* 
    Transparent header > color header
    body.home #content {
        padding-top: 0;
    } 
    body.home #content .home--hero {
        padding-top: calc(var(--header-md)*2);
    } */
    #logo img {
        width: 64px;
    }
}
#menu { display: none; }
#nav-icon2 { display: block }
.menu-phone-mobile { display: block; }
.header--mobile {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
}
#nav-icon2 {
    z-index: 150;
    width: 30px;
    height: 22.5px;
    position: relative;
    -webkit-transform: rotate(0deg);
    -ms-transform: rotate(0deg);
        transform: rotate(0deg);
    -webkit-transition: .5s ease-in-out;
    -o-transition: .5s ease-in-out;
    transition: .5s ease-in-out;
    cursor: pointer;
}

#nav-icon2 span {
  display: block;
  position: absolute;
  height: 2px;
  width: 50%;
  background: var(--white);
  opacity: 1;
  -webkit-transform: rotate(0deg);
  -ms-transform: rotate(0deg);
      transform: rotate(0deg);
  -webkit-transition: .25s ease-in-out;
  -o-transition: .25s ease-in-out;
  transition: .25s ease-in-out;
}

#nav-icon2 span:nth-child(even) {
  left: 50%;
  border-radius: 0 9px 9px 0;
}

#nav-icon2 span:nth-child(odd) {
  left:0px;
  border-radius: 9px 0 0 9px;
}
#nav-icon2 span:nth-child(1), #nav-icon2 span:nth-child(2) { top: 0px }
#nav-icon2 span:nth-child(3), #nav-icon2 span:nth-child(4) { top: 10px }
#nav-icon2 span:nth-child(3) { left: 0.7rem }
#nav-icon2 span:nth-child(5), #nav-icon2 span:nth-child(6) { top: 20px }

.hamburger-active #nav-icon2 span:nth-child(1),.hamburger-active #nav-icon2 span:nth-child(6) {
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
      transform: rotate(45deg);
}
.hamburger-active #nav-icon2 span:nth-child(2),.hamburger-active #nav-icon2 span:nth-child(5) {
  -webkit-transform: rotate(-45deg);
  -ms-transform: rotate(-45deg);
      transform: rotate(-45deg);
}
.hamburger-active #nav-icon2 span:nth-child(1) { left: 5px; top: 7px; }
.hamburger-active #nav-icon2 span:nth-child(2) { left: calc(50% - 5px); top: 7px; }
.hamburger-active #nav-icon2 span:nth-child(3) { left: -50%; opacity: 0; }
.hamburger-active #nav-icon2 span:nth-child(4) { left: 100%; opacity: 0; }
.hamburger-active #nav-icon2 span:nth-child(5) { left: 5px; top: 12px; }
.hamburger-active #nav-icon2 span:nth-child(6) { left: calc(50% - 5px); top: 12px; }

#menu-mobile {
    z-index: 300;
    /* z-index: 130; */
    position: fixed;
    background-color: var(--primary);
    width: 100%;
    right: 0;
    top: 0;
    bottom: 0;
    /* -webkit-transform: translateX(120%);
        -ms-transform: translateX(120%);
            transform: translateX(120%);
    -webkit-transition: -webkit-transform 500ms ease-in-out;
    transition: -webkit-transform 500ms ease-in-out;
    -o-transition: transform 500ms ease-in-out;
    transition: transform 500ms ease-in-out;
    transition: transform 500ms ease-in-out, -webkit-transform 500ms ease-in-out; */
    padding-top: 90px;
    will-change: clip-path;
    clip-path: polygon(100% 0, 100% 0, 100% 100%, 100% 100%);
    transition: clip-path 1600ms ease-in-out;
    transition: clip-path 1600ms cubic-bezier(.5,0,0,1);
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden;
	transform: scale(1);
	-webkit-transform: scale(1);
    /* transition: clip-path 1600ms cubic-bezier(.0.86, 0, 0.07, 1); */
}
#menu-mobile ul li a {
    color:var(--secondary);
    text-decoration: none;
}
.hamburger-active #menu-mobile {
    /* -webkit-transform: translateX(0%);
        -ms-transform: translateX(0%);
            transform: translateX(0%);
    -webkit-transition: -webkit-transform 500ms ease-in-out;
    transition: -webkit-transform 500ms ease-in-out;
    -o-transition: transform 500ms ease-in-out;
    transition: transform 500ms ease-in-out;
    transition: transform 500ms ease-in-out, -webkit-transform 500ms ease-in-out; */
    clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
}
/* @keyframes menu-clip-path {
    0% {

    }
    100
} */
#menu-mobile img {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    height: 100%;
    width: auto;
    opacity: 0.2;
}
/* .hamburger-active #menu-mobile { display: none; } */

#logo-mobile {
    display: block;
    padding: 0;
    width: 180px;
    margin-left: 60px;
    margin-bottom: 30px;
}


.hamburger-wrapper {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 3rem;
    width: 3rem;
    position: relative;
    z-index: 500;
}

.loader {
    position: fixed;
    width: 100%;
    height: 100%;
    z-index: 500;
    display: flex;
    align-items: center;
    justify-content: center;
    clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
    background-color: var(--primary);
    transition: clip-path 1000ms ease;
    /* transition: clip-path 1000ms cubic-bezier(.0.86, 0, 0.07, 1); */
}
.loader .row {
    width: 100%;
}
.load-bar {
    position: relative;
    width: 100%;
    height: 1.5rem;
    border-radius: 2rem;
    background-color: var(--secondary);
}
#load-progression {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 0%;
    height: 1.5rem;
    border-radius: 2rem;
    background-color: var(--white);
    transition: width 500ms ease;
}
body.loaded .loader {
    clip-path: polygon(0 0, 100% 0, 100% 0%, 0 0%);
}
/* body.loaded-done .loader {
    display: none;
} */

/* --- HOMEPAGE --- */
body.home {
    /*background-image: url('/texture.jpg');
    background-repeat: repeat-y;
    background-position: center;
    background-attachment: fixed;
    background-size: 100% auto; */
    background-color:#050219;
    height: auto !important;
}
body.home canvas {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 0;
}
#background-lights
#canvas,
#projector {
    position: fixed; 
    top: 0px;
    left: 0px;
    width:100%;
    height:100%;
    z-index: 0;
} 
#canvas { z-index: 1;}
#projector { z-index: 0 }
#background-lights { z-index: -1;}
body.home section {
    position: relative;
    z-index: 5;
}

.light--1,
.light--2,
.light--3,
.light--4,
.light--5,
.light--6 {
    position: fixed;
    aspect-ratio: 1;
    z-index: 20;
    filter: blur(70px);
    border-radius: 50%;
    background-color: var(--secondary);
    opacity: 0.1;
    animation: lights-1 5000ms ease infinite;
}
.light--1 { /* TOP LEFT */
    top: -15%;
    left: -15%;
    width: 40%;

}
.light--2 { /* TOP RIGHT */
    top: 5%;
    left: 75%;
    width: 30%;
    animation-delay: 2000ms;
}
.light--3 { /* BOTTOM CENTER */
    top: 65%;
    left: 30%;
    width: 35%;
    animation-delay: 4000ms;
}
.light--4,
.light--5,
.light--6 {
    animation-name: lights-2;
}
.light--4 { /* TOP CENTER */
    top: -15%;
    left: 40%;
    width: 40%;

}
.light--5 { /* BOTTOM RIGHT */
    top: 75%;
    left: 75%;
    width: 30%;
    animation-delay: 1500ms;
}
.light--6 { /* BOTTOM LEFT */
    top: 65%;
    left: -5%;
    width: 35%;
    animation-delay: 3500ms;
}
@keyframes lights-1 {
    0%, 100% {
        transform: translate(0%, 0%);
        background-color: #2DBB26;
    }
    25% {
        transform: translate(10%, 5%);
    }
    55% {
        transform: translate(5%, -15%);
        background-color: #FF00D6;
    }
    85% {
        transform: translate(15%, 5%);
    }
}
@keyframes lights-2 {
    0%, 100% {
        transform: translate(0%, 0%);
        background-color: #2DBB26;
    }
    25% {
        transform: translate(-10%, -5%);
    }
    55% {
        transform: translate(-5%, 15%);
        background-color: #FF00D6;
    }
    85% {
        transform: translate(-15%, -5%);
    }
}


.home--hero {
    height: 100vh;
}
.home--hero p span {
    color: rgba(255,255,255,.2);
    /* -webkit-text-stroke-width: 1px;
    -webkit-text-stroke-color: var(--red); */
}
.home--category {
    height: 150vh;
}
.home--category span {
    font-family: 'Spectral', 'Times New Roman', serif;
    color: #ffffff;
    color: rgba(255,255,255,0);
    -webkit-text-stroke-width: 1px;
    -webkit-text-stroke-color: #FF00D6;
}
.home--portfolio-screen {
    position: fixed;
    z-index: 4;
    background-color: var(--primary);
    height: 100%;
    width: 100%;
    top: 0;
    left: 0;
}
.home--portfolio a {
    text-decoration: none;
    color: var(--secondary);
    transition: color 250ms ease;
}
.home--portfolio a p:not(.spectral) {
    opacity: 0;
    transition: opacity 250ms ease;
}
.home--portfolio a:hover {
    color: var(--white);
}
.home--portfolio a:hover p:not(.spectral) { opacity: 1; }
.home--portfolio li:not(:first-child) {
    margin-top: 4rem;
}
/* --- FOOTER --- */
#footer {
    position: relative;
    z-index: 5;
}
.logo-footer {
    max-width: 11rem;
}
.social {
    display: flex;
    align-items: center;
}
.social a {
    display: block;
    margin-left: 1rem;
    width: 1.25rem;
    height: 1.25rem;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: left center;
}
.social a:first-child {
    margin-left: 0;
}
.social a.fb {background-image: url("data:image/svg+xml,%3Csvg width='11' height='20' viewBox='0 0 11 20' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M9.44684 11.2336L9.97027 7.81698H6.6926V5.59967C6.6926 4.66463 7.14993 3.75501 8.61855 3.75501H10.1092V0.846581C10.1092 0.846581 8.75743 0.616211 7.46329 0.616211C4.76322 0.616211 2.99989 2.25252 2.99989 5.21346V7.81698H0V11.2336H2.99989V19.4913C3.60123 19.5862 4.21779 19.6353 4.84623 19.6353C5.47466 19.6353 6.09127 19.5862 6.6926 19.4913V11.2336H9.44519H9.44684Z' fill='white'/%3E%3C/svg%3E%0A");}
.social a.ig {background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='19' height='19' viewBox='0 0 19 19' fill='none'%3E%3Cpath d='M14.4215 3.36755C13.8106 3.36755 13.3151 3.86316 13.3151 4.47402C13.3151 5.08489 13.8106 5.5805 14.4215 5.5805C15.0324 5.5805 15.528 5.08489 15.528 4.47402C15.528 3.86316 15.0324 3.36755 14.4215 3.36755Z' fill='white'/%3E%3Cpath d='M9.50686 4.78491C6.94584 4.78491 4.86426 6.86877 4.86426 9.42748C4.86426 11.9862 6.94814 14.07 9.50686 14.07C12.0656 14.07 14.1494 11.9862 14.1494 9.42748C14.1494 6.86877 12.0656 4.78491 9.50686 4.78491ZM9.50686 12.4034C7.86559 12.4034 6.53318 11.0687 6.53318 9.42978C6.53318 7.79082 7.8679 6.45614 9.50686 6.45614C11.1458 6.45614 12.4805 7.79082 12.4805 9.42978C12.4805 11.0687 11.1458 12.4034 9.50686 12.4034Z' fill='white'/%3E%3Cpath d='M13.1924 18.8561H5.66371C2.54023 18.8561 0 16.3158 0 13.1924V5.66375C0 2.54027 2.54023 0 5.66371 0H13.1924C16.3158 0 18.8561 2.54027 18.8561 5.66375V13.1924C18.8561 16.3158 16.3158 18.8561 13.1924 18.8561ZM5.66371 1.77496C3.51992 1.77496 1.77495 3.51996 1.77495 5.66375V13.1924C1.77495 15.3361 3.51992 17.0811 5.66371 17.0811H13.1924C15.3361 17.0811 17.0811 15.3361 17.0811 13.1924V5.66375C17.0811 3.51765 15.3361 1.77496 13.1924 1.77496H5.66371Z' fill='white'/%3E%3C/svg%3E");}
.social a.yt {background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='28' height='19' viewBox='0 0 28 19' fill='none'%3E%3Cpath d='M27.147 5.9564C27.147 2.66704 24.4799 0 21.1906 0H5.9564C2.66704 0 0 2.66704 0 5.9564V13.0436C0 16.333 2.66704 19 5.9564 19H21.1906C24.4799 19 27.147 16.333 27.147 13.0436V5.9564ZM18.1892 10.0316L11.358 13.4099C11.0913 13.5557 10.181 13.3601 10.181 13.0578V6.11996C10.181 5.81059 11.0984 5.61857 11.3652 5.77148L17.9048 9.32754C18.1786 9.484 18.4666 9.87872 18.1892 10.0316Z' fill='white'/%3E%3C/svg%3E");}


/* --- 404 --- */
.error-404 {
    height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
}
.error-404 img {
    padding: 0 15px;
    max-width: 425px;
    margin: 0 auto 3rem;
}
body.error404 header { position: fixed !important }
body.error404 #content { padding-top: 0 }




/* --- STAMPA --- */
@media screen {
    .print-only { display: none; }
}
@media print {
    .screen-only { display: none; }
}