/*   
Theme Name: ELIXIR Italy
Theme URI: https://www.elixir-italy.org
Description: Original theme for ELIXIR Italy
Author: Silvestro Ferrara
Author URI: https://www.sferrara.it
Version: 1.0
*/

/* Foglio di reset */
* {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline;
    box-sizing: border-box;
}
aside, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section {
	display: block;
}
body {
    background-color: #FFFFFF;
    line-height: 1.2;
    overflow-x: hidden;
}
ol, ul {
	list-style: none;
}
blockquote, q {
	quotes: none;
}
blockquote::before, blockquote::after,
q::before, q::after {
	content: '';
	content: none;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}

/* Tipografia */
body, button, input {
    font-family: 'Lato', sans-serif;
    color: #4C4847;
}
a {
    text-decoration: none;
    color: inherit;
}
body, h1, h2, h3, h4, h5, h6 {
    font-size: 16px;
    line-height: 1.33;
}
blockquote p {
    line-height: 1.2;
}
.txt-400 {
    font-weight: 400;
}
.txt-700, strong {
    font-weight: 700;
}
.txt-900 {
    font-weight: 900;
}
.txt-11 {
    font-size: 0.6875rem; /* 11px / 16px = 0.6875rem */
}
.txt-12 {
    font-size: 0.75rem; /* 12px / 16px = 0.75em */
}
.txt-13 {
    font-size: 0.8125rem; /* 13px / 16px = 0.8125em */
}
.txt-14 {
    font-size: 0.875rem; /* 14px / 16px = 0.875em */
}
.txt-15 {
    font-size: 0.9375rem; /* 15px / 16px = 0.9375em */
}
.txt-16 {
    font-size: 1rem; /* 16px / 16px = 1em */
}
.txt-17 {
    font-size: 1.0625rem; /* 17px / 16px = 1.0625em */
}
.txt-18 {
    font-size: 1.125rem; /* 18px / 16px = 1.125em */
}
.txt-20 {
    font-size: 1.25rem; /* 20px / 16px = 1.25em */
}
.txt-22 {
    font-size: 1.375rem; /* 22px / 16px = 1.375em */
}
.txt-24, .txt-24x {
    font-size: 1.5rem; /* 24px / 16px = 1.5em */
}
.txt-26, .txt-26f {
    font-size: 1.625rem; /* 26px / 16px = 1.625em */
}
.txt-30 {
    font-size: 1.875rem; /* 30px / 16px = 1.875em */
}
.txt-32 {
    font-size: 2rem; /* 32px / 16px = 2em */
}
.txt-46 {
    font-size: 2.875rem; /* 46px / 16px = 2.875em */
}
.txt-60 {
    font-size: 3.75rem; /* 60px / 16px = 3.75em */
}
.txt-italic {
    font-style: italic;
}
.txt-maiuscolo {
    text-transform: uppercase;
}
.txt-ulg {
    position: relative;
}
.txt-ulg::before {
    content: '';
    display: inline-block;
    width: 100%;
    height: 6px;
    position: absolute;
    z-index: -1;
    bottom: 0px;
}
.txt-ulg.ul-isabella::before {
    background-color: #EEE8E3;
}
.txt-ulg.ul-arancio::before {
    background-color: #F7E0D0;
}

/* Colori */
.txt-arancio {
    color: #f47d20;
}
.txt-arancio-02 {
    color: #fccda8;
}
.txt-blu {
    color: #023452;
}
.txt-verde {
    color: #BEBF32;
}
.txt-verde-02 {
    color: #EAEAAE;
}
.txt-bianco {
    color: #FFFFFF;
}
.txt-rosso {
    color: #dc3545;
}
.txt-grigione {
    color: #796f5f;
}
.bg-bianco {
    background-color: #FFFFFF;
}
.bg-bianco-sporco {
    background-color: #f2f2f2;
}
.bg-verde {
    background-color: #BEBF32;
}
.bg-verde-015 {
    background-color: #F5F5DF;
}
.bg-blu {
    background-color: #023452;
}
.bg-arancio {
    background-color: #F47D20;
}
.bg-arancio-015 {
    background-color: #F2E1D3;
}
.bg-isabella {
    background-color: #FBF9F6;
}
.bg-beige {
    background-color: #D8C6AB;
}
.bg-grigio {
    background-color: #4C4847;
}
.bg-grigio-01 {
    background-color: rgba(76, 72, 71, 0.1);
}
.bg-grigio-04-arancio {
    background-color: #AA6531;
}
.bg-trasparente {
    background-color: transparent;
}
.bg-multicolore-1 {
    background: linear-gradient(to right, #ECECC5, #FBDCBD);
}
.bg-multicolore-2 {
    background: linear-gradient(to right, #FBDCBD, #C2CAD2);
}
.bg-multicolore-2b {
    background: linear-gradient(to bottom, #FBDCBD, #C2CAD2);
}
.bg-multicolore-3 {
    background: linear-gradient(to bottom, #4D4848, #0E3253);
}
.bg-multicolore-3b {
    background: linear-gradient(to top, #4D4848, #0E3253);
}
.bg-multicolore-isabella-bianco {
    background: linear-gradient(to right, #FBF9F6, #FFFFFF);
}
.bg-multicolore-isabella-bianco-tl {
    background: linear-gradient(to left, #FBF9F6, #FFFFFF);
}
.bg-multicolore-isabella-bianco-tb {
    background: linear-gradient(to bottom, #FBF9F6, #FFFFFF);
}
.bg-multicolore-isabella {
    background: linear-gradient(to bottom, #F6F3EC, #FBF9F6);
}
.bg-multicolore-blu {
    background: linear-gradient(to bottom, #0E3253, #005490);
}

/* Stondature */
.br-std {
    border-radius: 15px;
}
.br-mini {
    border-radius: 5px;
}
.br-50 {
    border-radius: 50%;
}
.br-max {
    border-radius: 300px;
}

/* Focus */
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
[tabindex]:focus-visible {
    outline: 2px solid #F47D20;
    outline-offset: 2px;
}
a:focus:not(:focus-visible),
button:focus:not(:focus-visible),
input:focus:not(:focus-visible),
select:focus:not(:focus-visible),
textarea:focus:not(:focus-visible),
[tabindex]:focus:not(:focus-visible) {
    outline: none;
}
body > .skip-link {
    top: -40px;
    margin-bottom: -40px;
    left: 0;
    width: 100%;
    text-align: center;
    background: #F47D20;
    color: #023452;
    padding: 8px 16px;
    text-decoration: none;
    font-weight: 700;
    z-index: 100000;
    display: block;
}
body > .skip-link:focus {
    top: 0;
    outline: none;
    margin-bottom: 0px;
    position: relative !important;
}

/* Utilità  */
.pos-rel {
    position: relative;
}
.pos-abs {
    position: absolute;
}
.img-fluid {
    max-width: 100%;
    height: auto;
}
.img-cover {
    object-fit: cover;
    object-position: center;
    width: 100%;
    height: 100%;
}
.icona-tag {
    width: 18px;
    height: 18px;
    margin-top: 1px;
    margin-right: 5px;
}
.slide-card .icona-tag {
    width: 21px;
    height: 21px;
    margin-top: 0px;
}
.r90 {
    transform: rotate(90deg);
}
.r45 {
    transform: rotate(45deg);
}
.r180 {
    transform: rotate(180deg);
}
.r225 {
    transform: rotate(225deg);
}
.r315 {
    transform: rotate(315deg);
}
.bt-so {
    border-top: 1px solid #D8C6AB ;
}
.bb-so {
    border-bottom: 1px solid #D8C6AB;
}
.bt-da {
    border-top: 1px dashed #D8C6AB;
}
.bb-da {
    border-bottom: 1px dashed #D8C6AB;
}
.bs-da-bia {
    border-left: 1px dashed #FFFFFF;
}
.b-so {
    border: 1px solid #D8C6AB;
}
.b-so-025 {
    border: 1px solid #F5F1EA;
}
.ratio-v-4x3-2x1 {
    aspect-ratio: 1.333;
}
.ratio-v-2x1 {
    aspect-ratio: 2;
}
.ratio-v-3x2 {
    aspect-ratio: 1.5;
}
.celato {
    display: none !important;
}
.condivisione img.ico-share {
    width: 17px;
    height: 15px;
}
.share .social-icona {
    display: block;
    width: 40px;
    height: 40px;
}
.share .social-icona img {
    width: 20px;
    height: 20px;
    margin: 10px auto;
}
form.std .error,
.blocco_cb .form-std .error + label::before {
    border-color: #f42020;
}
form.std select {
    background-color: #fff;
    -moz-appearance: none;
    -webkit-appearance: none;
    appearance: none;
}
form.std .select-est::after {
    content: '';
    position: absolute;
    display: inline-block;
    width: 5px;
    height: 5px;
    border: solid #4C4847;
    border-width: 0 1px 1px 0;
    transform: rotate(45deg);
    margin-top: 17px;
    border-radius: 1px;
    right: 15px;
}
form.std input,
form.std select,
form.std textarea {
    font-family: 'Lato';
    color: #4C4847;
}
form.bg-isabella input:disabled,
form.bg-isabella input:disabled:-webkit-autofill,
form.bg-isabella select:disabled,
form.bg-isabella textarea:disabled {
    background-color: #fbf9f6; 
    color: #999;           
}
.ep-contenitore::after {
    content: attr(data-titolo);
    color: #023452;
    font-weight: 700;
    font-size: 1.5rem;
    margin-top: 1rem;
    display: block;
}
.elixir-player .foto-ant {
    left: 0;
    top: 0;
    width: 76%;
    height: 100%;
}
.elixir-player svg {
    top: 0; 
    width: auto;
}
.elixir-player svg.fondo {
    right: 0; 
}    
.elixir-player svg.helix {
    right: 14.6%; 
    height: 48%;
}
.elixir-player .testo {
    width: 40%;
    bottom: 0px;
    right: 0px;
}
.elixir-player .play {
    aspect-ratio: 1 / 1;        
    height: 28.8%;
    top: 19%;
    right: 23.5%;
}
.elixir-player .play::before {
    content: '';
    position: absolute;
    width: 100%;
    height: 100%;
    background-color: #023452;
    z-index: 0;
    border: 10px solid #023452;
    box-sizing: content-box;
    border-radius: 50%;
    margin-left: -10px;
    margin-top: -10px;
}
.elixir-player .play:focus-visible {
    outline: none;
}
.elixir-player .play:focus-visible::before {
    outline: 2px solid #F47D20;
    outline-offset: 2px;
}
.elixir-player .play::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' xml:space='preserve' style='fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2' viewBox='0 0 741 738'%3E%3Cpath d='M516.6 413.694 337.433 539.3c-36.585 25.646-86.986-.422-86.986-44.99V243.142c0-44.567 50.401-70.635 86.986-44.99L516.6 323.759c31.245 21.906 31.245 68.028 0 89.935Z' style='fill:%23fff'/%3E%3C/svg%3E");
}
.elixir-player .play:hover::after {
    animation: pulsazione 0.3s ease-in-out forwards;
}

/* Menu di sezione */
.menu-sezione {
    position: fixed;
    top: -0px;
    left: 0;
    width: 100%;
    z-index: 1000;
    transform: translateY(-100%);
    opacity: 0;
    transition: transform 0.3s ease, opacity 0.3s ease;
}
.menu-sezione.slide-down {
    transform: translateY(0);
    opacity: 1;
}
.menu-sezione.slide-up {
    transform: translateY(-100%);
    opacity: 0;
}
.menu-sezione.bg-blu a.attivo {
    background-color: #bebf32;
    color: #023452;
}
.menu-sezione.bg-blu a {
    background-color: #28516b;
}

/* Testo base */
.txt-base > p, .txt-base > ul, .txt-base > ol {
    margin-bottom: 1em;
}
.txt-base > .txt-base > *:last-child {
    margin-bottom: 0 !important;
}
.txt-base ul, .txt-base ol {
    padding-left: 1em;
}
.txt-base ul > li {
    list-style: none;
    position: relative;
}
.txt-base ul > li::before {
    content: '';
    display: block;
    width: 0.4em;
    height: 0.4em;
    background-color: #bebf32;
    position: absolute;
    left: -1em;
    margin-top: 0.5em;
}
.txt-base > ul > li + li,
.txt-base > ol > li + li {
    margin-top: 0.5rem;
}
.txt-base > ol > li {
    list-style-type: decimal;
}
.txt-base em {
    font-style: italic;
}
a.deco-titolo:hover {
    text-decoration: underline;
    text-decoration-color: #F47D20;
}
.txt-base a, a.deco, span.email-protetta.deco, a.txt-btn, .service-tag a, .membri-team .espansione a {
    text-decoration: underline;
    text-decoration-color: rgba(190, 191, 50, 0.5);
    text-decoration-style: dotted;
    text-underline-offset: 3px;
    text-decoration-thickness: 1px;
}
.txt-base a:hover, a.deco:hover, span.email-protetta.deco:hover, a.txt-btn:hover, .service-tag a:hover, .membri-team .espansione a:hover {
    text-decoration-style: solid;
    /*text-decoration-color: rgba(190, 191, 50, 0.75);*/
}
span.email-protetta.deco {
    cursor: pointer;
}
.email-protetta > span:first-child {
    display: none;
}
.txt-base .img-dida > div {
    padding-left: 24px;
    position: relative;
}
.txt-base .img-dida > div::before {
    content: '';
    display: block;
    width: 16px;
    height: 16px;
    background-color: #bebf32;
    background-image: url("assets/img/ico-info.svg");
    background-size: 22px 22px;
    background-position: center;
    background-repeat: no-repeat;
    border-radius: 50%;
    position: absolute;
    left: 0px;
}
.txt-base p:has(iframe.embed-responsive-item) {
    position: relative;
    display: block;
    width: 100%;
    padding: 0;
    overflow: hidden;
    aspect-ratio: 16/9;
    margin: 3rem 0;
}
.txt-base p iframe.embed-responsive-item {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: 0;
}
.txt-base hr {
    border-top: 1px dashed #D8C6AB;
    margin: 2rem 0;
}
.txt-base img[class*="wp-image-"] {
    max-width: 100%;
    height: auto;
}
.txt-base img.aligncenter {
    display: block;
    margin: 0 auto;
}
.separatore-quadrato::before {
    content: '';
    display: inline-block;
    width: 3px;
    height: 3px;
    background-color: #BEBF32;
    vertical-align: middle;
}
.wba {
    word-break: break-all;
}
.pnrr-banner {
    background-color: #2566af;
}
.pnrr-banner img {
    width: auto;
    height: 61px;
    display: block;
}

/* Intestazione */
.intestazione h1,
.lh1 {
    line-height: 1.111;
}
.lh2 {
    line-height: 1.25;
}
header {
    position: relative;
}
header.bg-bianco {
    border-bottom: 1px solid #D8C6AB;
    margin-bottom: -1px;
}
.logo img {
    display: block;
    width: auto;
    height: 48px;
}
.logo a:hover img {
    animation: pulsazione_sup 0.3s ease-in-out forwards;
}
@keyframes pulsazione_sup {
    0%, 100% {
        transform: scale(1);
    }
    50% {
        transform: scale(1.06);
    }
}
.main-nav li {
    display: inline-block;
    margin-right: 30px;
}
.main-nav li:last-child {
    margin-right: 0;
}
.main-nav li a {
    color: #FFFFFF;
    font-size: 16px;
    position: relative;
    padding: 10px 0;
    display: block
}
header.bg-bianco .main-nav li a {
    color: #4C4847;
}
#main-menu > li.selected {
    position: relative;
}
nav li .chevron {
    display: inline-block;
    width: 16px;
    height: 16px;
    background-color: rgba(251, 249, 246, 0.15);
    border-radius: 50%;
    margin-left: 4px;
    top: 1px;
    position: relative;
    transition: transform 0.3s ease-in-out, background-color 0.3s ease-in-out;
}
.main-nav li.selected .chevron,
#main-menu > li > a:hover .chevron {
    background-color: transparent;
}
.main-nav li .chevron::after {
    content: '';
    position: absolute;
    display: inline-block;
    width: 5px;
    height: 5px;
    border: solid #FFFFFF;
    border-width: 0 1px 1px 0;
    transform: rotate(45deg);
    margin-left: -3px;
    margin-top: 4px;
    border-radius: 1px;
    transition: border-color 0.3s ease-in-out;
}

/* Breadcrumb */
.breadcrumb {
    padding-left: 28px;
}
.breadcrumb a:hover {
    text-decoration: underline;
    text-decoration-style: dotted;
    text-decoration-color: rgba(190, 191, 50, 0.5);
    text-underline-offset: 4px;
}
.breadcrumb .icona {
    position: relative;
    margin-left: -28px;
    margin-top: 1px;
    margin-bottom: -1px;
}
.breadcrumb .icona img {
    display: block;
    width: 16px;
    height: 15px;
    margin-top: 1px;
}
.breadcrumb .icona a:hover img {
    animation: pulsazione 0.3s ease-in-out forwards;
}
.breadcrumb .icona > div {
    position: absolute;
}
.breadcrumb .icona .sfera1 {
    width: 8px;
    height: 8px;
    left: 7px;
}
.breadcrumb .icona .sfera2 {
    width: 13px;
    height: 13px;
    top: 3px;
}
.breadcrumb .icona .sfera3 {
    width: 10px;
    height: 10px;
    top: 8px;
    left: 9px;
}
.breadcrumb .livello {
    position: relative;
    padding-right: 28px;
}
.breadcrumb .livello::after {
    content: '';
    display: block;
    position: absolute;
    right: 13px;
    top: 50%;
    margin-top: 3px;
    transform: translateY(-50%);
    width: 7px;
    height: 7px;
    border: solid #F47D20;
    border-width: 0 1px 1px 0;
    transform: translateY(-75%) rotate(-45deg);
}

/* Pulsanti */
.pulsante {
    background-color: #FFFFFF;
    border-radius: 100px;
    display: inline-block;
    color: #4C4847;
    font-weight: 700;
    padding: 5px 5px 0px 20px;
    font-size: 17px;
    line-height: 29px;
    height: 40px;
}
button.pulsante {
    padding-bottom: 5px;
}
/*.pulsante:hover {
    background-color: #FEF2E9;
}*/
.pulsante.mini {
    font-size: 14px;
    line-height: 20px;
    padding-left: 15px;
    padding-bottom: 5px;
    height: 32px;
}
.pulsante.mini.bordato {
    color: #023452;
    border: 1px solid #023452;
    padding: 4px 4px 4px 14px;
}
.pulsante.mini.bordato.negativo {
    color: #fff;
    border-color: #fff;
    background-color: transparent;
}
.pulsante .icona,
.main-service .pulsantone::before,
.responsabile .corpo::after,
.txt-btn .icona {
    width: 30px;
    height: 30px;
    background-color: #FFFFFF;
    border-radius: 50%;
    color: #FFFFFF;
    background-image: url('assets/img/arrow-next-ara.svg');
    background-size: 18px 12px;
    background-repeat: no-repeat;
    background-position: center;
}
.pulsante:hover .icona {
    animation: freccia-avanti 1s linear infinite;
}
@keyframes freccia-avanti {
    0%, 50%, 100% {
        background-position: center;
    }
    25% {
        background-position: center right 30%;
    }  
    75% {
        background-position: center left 30%;
    }
}
.pulsante .icona {
    float: right;
    margin-left: 15px;
}
.pulsante.mini .icona,
.txt-btn .icona {
    width: 22px;
    height: 22px;
    margin-left: 10px;
    background-color: #F47D20;
    background-image: url('assets/img/arrow-next-std.svg');
    background-size: 13px 9px;
}
.txt-btn .icona {
    width: 18px;
    height: 18px;
    margin-left: 4px;
    background-color: #F47D20;
    background-image: url('assets/img/arrow-next-std.svg');
    background-size: 10px 7px;
    background-repeat: no-repeat;
    background-position: center;
    position: relative;
    top: 4px;
}
.txt-btn:hover .icona {
    animation: mezza-freccia-avanti 0.3s linear forwards;
}
.pulsante.mini .icona.icona-plus {
    background-image: url('assets/img/ico-plus-mini.svg');
    background-size: 22px 22px;
    transform-origin: center;
}
.txt-btn .icona.icona-plus {
    background-image: url('assets/img/ico-plus-mini.svg');
    background-size: 18px 18px;
    transform-origin: center;
}
.pulsante.mini:hover .icona.icona-plus,
.txt-btn:hover .icona.icona-plus {
    animation: rotazione_mini 1s linear forwards;
}
.pulsante.mini:hover .icona.r45.icona-plus,
.txt-btn:hover .icona.r45.icona-plus {
    animation: rotazione_mini_45 1s linear forwards;
}
@keyframes rotazione_mini {
    0% {
        transform: rotate(0deg);
    }
    50%, 100% {
        transform: rotate(90deg);
    }  
}
@keyframes rotazione_mini_45 {
    0% {
        transform: rotate(45deg);
    }
    50%, 100% {
        transform: rotate(135deg);
    }  
}
.pulsante.mini.col-std .icona {
    background-color: #FFFFFF;
    background-image: url('assets/img/arrow-next-std-ara.svg');
}
.pulsante.col-std {
    background-color: #023452;
    color: #FFFFFF;
}
.pulsante.col-bianco {
    color: #023452;
}
.pulsante.col-grigio {
    color: #FFFFFF;
    background-color: #4C4847;
}
.pulsante.col-bianco .icona {
    background-color: #F47D20;
    background-image: url('assets/img/arrow-next-bia.svg');
}
.pulsante.col-grigio .icona {
    background-color: #FFFFFF;
    background-image: url('assets/img/arrow-next-std-ara.svg');
}
button:not(.pulsante, .nav-toggle) {
    width: 28px;
    height: 28px;
    background-size: 28px 28px;
    background-repeat: no-repeat;
    background-position: center;
}
button:not(.pulsante) {
    border-radius: 50%;    
    border: none;
}
button:not(:disabled) {
    cursor: pointer;
}
button:not(:disabled):hover, .pulsante:not(:disabled):hover, .fpul:hover {
    box-shadow: 0 0 0 3px rgba(216, 198, 171, 0.4);
}
.fpul-arancio:hover {
    box-shadow: 0 0 0 2px #F47D20 !important;
}
.fpul-arancio.b-so.bg-bianco:hover {
    border-color: #fff;
}
.main-service .pulsantone:hover:not(:has(.schermo:hover)) {
    /*box-shadow: 0 0 0 5px rgba(244, 125, 32, 0.4);*/
    box-shadow: 0 0 0 5px rgba(216, 198, 171, 0.4);
}
.bg-grigio button:not(:disabled):hover, .bg-grigio .pulsante:not(:disabled):hover, .bg-multicolore-2 .pulsante:not(:disabled):hover {
    box-shadow: 0 0 0 3px rgba(255, 255, 255, 0.4);
}
button.espandibile {
    background-color: #F6F3EC;
    background-image: url('assets/img/ico-plus.svg');
    transition: transform 0.3s ease-in-out;
}
button.espandibile:hover {
    animation: zoomino 0.5s linear forwards;
}
@keyframes zoomino {
    0%, 100% {
        background-size: 28px 28px;
    }
    50% {
        background-size: 32px 32px;
    }  
}
.espanso button.espandibile {
    transform: rotate(45deg);
}
button.precedente,
button.successivo {
    background-color: #F47D20;
}
button.precedente:disabled,
button.successivo:disabled {
    background-color: #D8C6AB;
}
button.precedente.col-bianco:disabled,
button.successivo.col-bianco:disabled {
    opacity: 0.5;
}
button.successivo {
    background-image: url('assets/img/ico-chevron-dx.svg');
}
button.successivo:not(:disabled):hover {
    animation: mezza-freccia-avanti 0.5s linear forwards;
}
@keyframes mezza-freccia-avanti {
    0%, 100% {
        background-position: center;
    }
    50% {
        background-position: 3px center;
    }  
}
button.precedente {
    background-image: url('assets/img/ico-chevron-sx.svg');
}
button.precedente:not(:disabled):hover {
    animation: mezza-freccia-indietro 0.5s linear forwards;
}
@keyframes mezza-freccia-indietro {
    0%, 100% {
        background-position: center;
    }
    50% {
        background-position: -3px center;
    }  
}
button.precedente.col-bianco,
button.successivo.col-bianco {
    background-color: #FFFFFF;
}
button.successivo.col-bianco {
    background-image: url('assets/img/ico-chevron-dx-arancio.svg');
}
button.precedente.col-bianco {
    background-image: url('assets/img/ico-chevron-sx-arancio.svg');
}

/* Foto */
.portafoto {
    position: relative;
}
.portafoto.pf-full, 
.ar-175 {
    aspect-ratio: 1.75;
}
.portafoto img {
    width: 100%;
    height: auto;
    display: block;
}
.portafoto.pf-full img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}
.portafoto.pf-full.all-b img {
    object-position: bottom;
}
.portafoto.pf-full.all-a img {
    object-position: top;
}
.portafoto .info {
    width: 28px;
    height: 28px;
    bottom: 10px;
    right: 10px;
    border-radius: 50%;
    background-image: url('assets/img/ico-info.svg');
    background-size: 28px 28px;
    background-repeat: no-repeat;
    background-position: center;
    z-index: 1;
    cursor: help;
}
.portafoto .info + .dida {
    position: absolute;
    bottom: 0px;
    width: 100%;
    padding: 14px 60px 18px 20px;
    color: #FFFFFF;
    border-radius: 0px 0px 15px 15px;
    transition: transform 0.3s ease-in-out;
    transform: translateY(102%);
}
.portafoto .info.alto + .dida {
    bottom: auto;
    top: 0px;
    border-radius: 15px 15px 0px 0px;
    transform: translateY(-102%);
}
.portafoto .info:hover + .dida,
.portafoto .info + .dida:hover,
.portafoto .info:focus-visible + .dida {
    transform: translateY(0px);
}
.portafoto .info.alto {
    top: 10px;
    bottom: auto;
}

/* Paginazione */
.paginazione .pagine > * {
    display: inline-block;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    text-align: center;
    line-height: 27px;
}
.paginazione .pagine a:hover {
    background-color: #F6F3EC;
}
.paginazione .pagine .attivo {
    background-color: #EEEECA;
}

/* Barra di ricerca */
.barra-ricerca input[type="search"],
.barra-ricerca input[type="email"] {
    background-color: #fff;
    border: 1px solid #4c4847;
    border-radius: 100px;
    font-size: 18px;
    line-height: 20px;
    padding: 12px 20px;
    width: 100%;
    height: 48px;
}
.barra-ricerca input[type="search"] + button,
.barra-ricerca input[type="email"] + button {
    width: 38px;
    height: 38px;
    top: 5px;
    right: 5px;
}

/* Calendario */
.calendario {
    border-top: 4px solid #F47D20;
    overflow: hidden;
    width: 56px;
    height: 82px;
}
.calendario .giorno {
    height: 46px;
    line-height: 45px;
    font-size: 32px;
}
.calendario .mese {
    height: 32px;
    line-height: 31px;
    font-size: 15px;
}
time.calendario + span .ico-freccia {
    width: 10px;
    height: 7px;
    background-image: url('assets/img/arrow-next-ara.svg');
    background-size: 9px 7px;
    background-repeat: no-repeat;
    background-position: center left;
    vertical-align: middle;
}
.calendario.std .anno {
    width: 68px;
    margin-left: -34px;
    opacity: 0.75;
}
time.calendario + span.doppio .ico-freccia {
    margin: -73px 8px 0px;
}

/* Eventi */
.evento a:hover {
    text-decoration: underline;
    text-decoration-color: #F47D20;
}
.evento .luogo::before {
    content: '';
    display: block;
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 15px;
    height: 20px;
    background-image: url('assets/img/ico-marker.svg');
    background-size: 15px 20px;
    background-repeat: no-repeat;
    background-position: center;
}
.evento .luogo.online::before {
    background-image: url('assets/img/ico-mouse.svg');
}
.evento-banner .bordato {
    border: 1px solid #f2f2f2;
}
.evento-banner:hover .bordato {
    border-color: #f47d20;
    box-shadow: 0 0 0 1px #f47d20;
}
.lista-eventi .evento + .evento {
    border-top: 1px dashed #D8C6AB;
}
.evento-tag span {
    display: inline-block;
    height: 34px;
    line-height: 24px;
    padding-left: 40px;
}
.evento-tag span img {
    width: 24px;
    height: 24px;
    padding: 4px;
    top: 5px;
    left: 5px;
}
.training-promo-strumenti {
    border-top: 1px dashed #D8C6AB;
}
.training-promo {
    position: relative;
}
.training-promo::before {
    content: '';
    display: block;
    position: absolute;
    top: 0;
    right: -20vw;
    width: 140vw;
    height: 100%;
    background-color: #FBF9F6;
    z-index: -1;
}
.training-promo .evento {
    max-width: 500px;
}
.tabella-eventi .anno {
    border-bottom: 1px solid #D8C6AB;
}
.tabella-eventi .anno h3 {
    writing-mode: sideways-lr;
}
.tabella-eventi .righe .w-100::after {
    content: '';
    display: block;
    width: 100%;
    border-bottom: 1px dashed #D8C6AB;
    position: absolute;
    left: 0;
}
.tabella-eventi .righe .col-md-6 + .col-md-6 .evento,
.tabella-eventi .righe .w-100 + .col-md-6 .evento {
    border-top: 1px dashed #D8C6AB;
}
.tabella-eventi .colonna-eventi .evento + .evento {
    border-top: 1px solid #D8C6AB !important;
}
.tabella-eventi .url-esterno,
.evento .url-esterno {
    padding-right: 28px;
}
.tabella-eventi a:hover .url-esterno,
.evento a:hover .url-esterno {
    padding-right: 0px;
    text-decoration: underline;
    text-decoration-color: #F47D20;
}
.tabella-eventi a:hover .url-esterno::after,
.evento a:hover .url-esterno::after {
    content: '';
    display: inline-block;
    position: relative;
    bottom: -11px;
    margin-left: 7px;
    transform: translateY(-50%) rotate(315deg);
    width: 18px;
    height: 18px;
    background-size: 12px 12px;
    background-position: center;
    background-repeat: no-repeat;
    background-color: #F47D20;
    border-radius: 50%;
    background-image: url('assets/img/arrow-next-std.svg');
}

/* Evento */
.main-evento .banner {
    z-index: 1;
}
.main-evento .event-provider img {
    width: 48px;
    height: 48px;
}
/*.main-evento .slide-lista .txt-base h4 + ul {
    margin-top: -0.5rem !important;
}
.main-evento .slide-lista .txt-base ul {
    padding-left: 1.5rem;
}*/
.main-evento .slide-lista .txt-base ul li {
    break-inside: avoid;
    /*list-style: none;
    padding-top: 0.5rem !important;*/
}
.main-evento .slide-lista .evidenza {
    background-color: #FBF9F6;
}
.main-evento .slide-lista .evidenza h4 {
    border-bottom: 2px solid #f47d20;
    border-top: 2px solid #f47d20;
    background-color: #FFFFFF;
}
.main-evento .fascetta {
    line-height: 1.375rem;
    width: 100%;
}
.main-evento .fascetta::before,
.main-evento .fascetta::after {
    content: '';
    display: block;
    position: absolute;
    height: 100%;
    width: 50%;
    left: 50%;
    top: 0px;
    background-color: #F4EFE7;
}
.main-evento .fascetta::before {
    margin-left: -50%;
}
.main-evento .fascetta .col > * {
    padding-top: 1.125rem;
    padding-bottom: 1.25rem;
    background-color: #F4EFE7;
    position: relative;
    z-index: 1;
}
.main-evento .fascetta img,
.main-events .evento-tag img {
    height: 15px;
    margin-right: 6px;
    vertical-align: middle;
    margin-top: -3px;
}
/*.main-evento .slide-lista .txt-base ul li::before {
    content: '';
    width: 6px;
    height: 6px;
    background-color: #BEBF32;
    position: absolute;
    margin-left: -4px;
    margin-top: 10px;
}*/
.main-evento .slider-unico > .slide-lista + .slide-lista {
    border-top: 1px solid #D8C6AB;
}
.main-evento .notizia .portafoto.pph {
    background-image: url('assets/img/logo-elixir-it-mini.svg');
    background-repeat: no-repeat;
    background-position: center;
    background-size: 80px 80px;
}

/* Agenda */ 
.agenda.durata-multi .giornata {
    padding-top: 30px;
}
.agenda.durata-multi .giornata::after {
    content: attr(data-label);
    color: #023452;
    background-color: #BEBF32;
    font-size: 12px;
    text-transform: uppercase;
    padding: 3px 7px;
    border-radius: 4px 4px 0px 4px;
    position: absolute;
    top: 0px;
    left: 0px;
    width: 61px;
    font-weight: 700;
}
.agenda .giornata::before {
    content: '';
    display: block;
    background-color: #BEBF32;
    width: 1px;
    height: calc(100% - 35px);
    position: absolute;
    left: 74px;
    top: 20px;
}
.agenda.durata-multi .giornata::before {
    height: calc(100% - 17px);
    top: 4px;
}
.agenda .giornata .orario::before {
    content: '';
    display: block;
    width: 7px;
    height: 7px;
    margin-top: 12px;
    background-color: #BEBF32;
    position: absolute;
    border-radius: 50%;
    left: 71px;
}
.agenda .giornata .testo {
    padding-top: 0.15rem !important;
    padding-left: 97px;
}

/* Testata */
#testata.bg-grigio::after,
#testata.bg-blu::after {
    content: '';
    display: block;
    width: 100%;
    height: 1px;
    background-color: #7F97A4;
    position: absolute;
    top: 0px;
    left: 0px;
}
#testata.bg-multicolore-2-fix,
#testata.bg-multicolore-3-fix {
    position: relative;
    z-index: 0;
    overflow: hidden;
}
#testata.bg-multicolore-2-fix::before {
    content: '';
    display: block;
    width: 100%;
    height: 100%;
    background: linear-gradient(to right, #FBDCBD, #C2CAD2);
    position: absolute;
    z-index: -2;
    top: 0px;
    left: 0px;
}
#testata.bg-multicolore-3-fix::before {
    content: '';
    display: block;
    width: 100%;
    height: 100%;
    background: linear-gradient(to bottom, #023452, #02253C);
    position: absolute;
    z-index: -2;
    top: 0px;
    left: 0px;
}
.var_bb #testata.bg-multicolore-3-fix::before {
    background: linear-gradient(to bottom, #023452, #005490);
}
#testata.bg-multicolore-3-fix .container::after {
    content: '';
    display: block;
    width: 70%;
    height: 70%;
/*    background: radial-gradient(circle, rgba(41, 128, 185, 0.15) 0%, rgba(14, 50, 83, 0) 70%); */
    background: radial-gradient(circle, rgba(190, 191, 50, 0.05) 0%, rgba(14, 50, 83, 0) 70%);
    position: absolute;
    top: 15%;
    left: 15%;
    z-index: -1;
    border-radius: 50%;
    filter: blur(40px);
    opacity: 0.7;
    animation: bagliore-etereo 30s ease-in-out infinite alternate;
    transform-origin: center;
}

@keyframes bagliore-etereo {
    0% {
        opacity: 0.7;
        transform: translate(-30%, -30%) scale(0.9);
    }
    25% {
        opacity: 0.9;
        transform: translate(30%, -20%) scale(1);
    }
    50% {
        opacity: 0.8;
        transform: translate(20%, 30%) scale(1.1);
    }
    75% {
        opacity: 0.7;
        transform: translate(-20%, 20%) scale(1);
    }
    100% {
        opacity: 0.6;
        transform: translate(-30%, -30%) scale(0.9);
    }
}
#testata .cover {
    top: 0px;
    left: 0px;
}
.main-work #testata .cover,
.main-about #testata .cover {
    height: calc(100% + 160px) !important;
}
.main-work #testata,
.main-about #testata {
    overflow: visible;
}
#testata .cover img,
#testata .cover video {
    display: block;
    object-fit: cover;
    width: 100%;
    height: calc(100% + 160px);
    mix-blend-mode: luminosity;
    opacity: 0.075;
}
.deco-loghi {
    width: 100%;
    height: 100%;
    top: 0px;
    left: 0px;
}
.deco-loghi .col-a, .deco-loghi .col-b {
    width: 260px;
    height: 100%;
    top: 0px;
    left: 50%;
    padding-top: 70px;
}
.deco-loghi .col-a {
    margin-left: -558px;
}
.deco-loghi .col-b {
    margin-left: 298px;
}
.deco-loghi .dl {
    background-color: rgba(251, 249, 246, 0.15);
    border-radius: 3px;
}
.deco-loghi .dl img {
    opacity: 0.7;
}
.deco-loghi .dl-1 {
    width: 25px;
    height: 25px;
}
.deco-loghi .dl-2 {
    width: 50px;
    height: 50px;
}
.deco-loghi .dl-3 {
    width: 70px;
    height: 70px;
}
.deco-loghi .dl-4 {
    width: 95px;
    height: 95px;
}
.deco-loghi .dl.leg-tl {
    border-top-left-radius: 0px;
}
.deco-loghi .dl.leg-tr {
    border-top-right-radius: 0px;
}
.deco-loghi .dl.leg-bl {
    border-bottom-left-radius: 0px;
}
.deco-loghi .dl.leg-br {
    border-bottom-right-radius: 0px;
}
.main-industry .deco-loghi .dl {
    opacity: 0;
    transform: translateY(-140px);
    animation: discesa 0.8s ease-out forwards, pulsazione var(--durata-pulsazione) ease-in-out infinite;
    animation-delay: var(--ritardo-discesa), calc(var(--ritardo-discesa) + 0.8s);
}
.deco-loghi .dl-a {
    --ritardo-discesa: 0.1s;
    --durata-pulsazione: 3s;
}
.deco-loghi .dl-b {
    --ritardo-discesa: 0.3s;
    --durata-pulsazione: 2.4s;
}
.deco-loghi .dl-c {
    --ritardo-discesa: 0.5s;
    --durata-pulsazione: 2.1s;
}
.deco-loghi .dl-d {
    --ritardo-discesa: 0.2s;
    --durata-pulsazione: 2.5s;
}
.deco-loghi .dl-e {
    --ritardo-discesa: 0.7s;
    --durata-pulsazione: 3s;
}
.deco-loghi .dl-f {
    --ritardo-discesa: 0.4s;
    --durata-pulsazione: 3.2s;
}
.deco-loghi .dl-g {
    --ritardo-discesa: 0.6s;
    --durata-pulsazione: 3s;
}
.deco-loghi .dl-h {
    --ritardo-discesa: 0.3s;
    --durata-pulsazione: 3.1s;
}
.deco-loghi .dl-i {
    --ritardo-discesa: 0.5s;
    --durata-pulsazione: 2.9s;
}
.deco-loghi .dl-j {
    --ritardo-discesa: 0.2s;
    --durata-pulsazione: 2.8s;
}
.deco-loghi .dl-k {
    --ritardo-discesa: 0.6s;
    --durata-pulsazione: 3.3s;
}
.deco-loghi .dl-l {
    --ritardo-discesa: 0.4s;
    --durata-pulsazione: 2.8s;
}
.deco-loghi .dl-m {
    --ritardo-discesa: 0.7s;
    --durata-pulsazione: 3s;
}
.deco-loghi .dl-n {
    --ritardo-discesa: 0.1s;
    --durata-pulsazione: 2.9s;
}
.deco-loghi .dl-o {
    --ritardo-discesa: 0.5s;
    --durata-pulsazione: 3.1s;
}
@keyframes discesa {
    0% {
        opacity: 0;
        transform: scale(0.1) translateY(-140px);
    }
    100% {
        opacity: 1;
        transform: scale(1) translateY(0);
    }
}
@keyframes pulsazione {
    0%, 100% {
        transform: scale(1);
    }
    50% {
        transform: scale(0.94);
    }
}
#testata .deco-barre {
    position: absolute;
    width: 1980px;
    height: 100%;
    top: 0px;
    left: 50%;
    transform: translateX(-50%);
}
#testata .deco-barre .barra {
    width: 70px;
    background: linear-gradient(to top, #023452, rgba(255, 255, 255, 0.3));
    background-size: 70px 600px;
    background-position: bottom;
    border-radius: 5px 5px 0px 0px;
    height: 100px;
    margin: auto 10px 0px 10px;
}
.var_bb #testata .deco-barre .barra {
    background: linear-gradient(to top, #005490, rgba(255, 255, 255, 0.3));
}
#testata.bg-multicolore-2-fix .deco-barre .barra {
    background: none;
    background-color: rgba(246, 243, 236, 0.5);
}

/* Banner */
.banner.bg-deco-dna, .banner.bg-deco-dna-2 {
    overflow: hidden;
}
.banner.bg-deco-dna::before {
    content: '';
    display: block;
    position: absolute;
    top: -310px;
    right: -520px;
    width: 1178px;
    height: 791px;
    background-image: url('assets/img/logo-dna.svg');
    background-size: 1178px 791px;
    background-repeat: no-repeat;
    background-position: center;
    opacity: 0.05;
}
.banner.bg-deco-dna-2::before {
    content: '';
    display: block;
    position: absolute;
    bottom: -140px;
    width: 1000px;
    height: 671px;
    background-image: url('assets/img/logo-dna.svg');
    background-size: 1000px 671px;
    background-repeat: no-repeat;
    background-position: center;
    opacity: 0.2;
    transform: rotate(155deg);
}
.banner.bg-deco-dna-3::before {
    content: '';
    display: block;
    position: absolute;
    top: 25px;
    left: 120px;
    width: 500px;
    height: 385px;
    background-image: url('assets/img/logo-dna.svg');
    background-size: 500px 385px;
    background-repeat: no-repeat;
    background-position: center;
    opacity: 0.05;
}
.banner .barre {
    top: 0px;
    left: 0px;
}
.banner .barre .barra {
    width: 30px;
    height: 20px;
    background-color: #F6F3EC;
    border-radius: 5px 5px 0px 0px;
    bottom: 0px;
    position: relative;
    opacity: 0.5;
}

/* Filtri */
.filtri .filtro-opzioni .opzione {
    border-top: 1px solid #D8C6AB;
    position: relative;
}
.filtri .filtro-opzioni .opzione:last-child {
    border-bottom: 1px solid #D8C6AB;
}
.filtri .filtri-toggle {
    border-top: 1px solid #D8C6AB;
    border-bottom: 1px solid #D8C6AB;
    border-radius: 0;
    height: 50px;
}
.filtri .filtri-toggle .attivi {
    width: 20px;
    height: 20px;
    line-height: 19px;
    right: 0px;
    text-align: center;
    margin-top: -1px;
}
.filtri .filtri-toggle .etichetta {
    padding-left: 22px;
}
.filtri .filtri-toggle .etichetta:has(.attivi) {
    padding-right: 24px;
}
.filtri .filtri-toggle .etichetta::before {
    content: '';
    display: block;
    position: absolute;
    left: 0px;
    top: 50%;
    transform: translateY(-50%);
    width: 18px;
    height: 18px;
    background-image: url('assets/img/ico-filtri.svg');
    background-size: 18px 18px;
    background-repeat: no-repeat;
    background-position: center;
}
.form-std input[type="checkbox"] {
    position: absolute;
    opacity: 0;
    width: 10px;
    height: 10px;
    margin: 0;
    cursor: pointer;
}
.form-std input[type="checkbox"] + label {
    position: relative;
    padding-left: 30px;
    padding-right: 10px;
    cursor: pointer;
    display: block;
}
.form-std input[type="checkbox"] + label::before {
    content: '';
    position: absolute;
    left: 10px;
    top: 4px;
    width: 10px;
    height: 10px;
    border: 1px solid #D8C6AB;
    border-radius: 2px;
    background-color: transparent;
}
.main-contacts .form-std input[type="checkbox"] + label::before {
    background-color: #fff;
}
.main-contacts form button.pulsante:disabled {
    background-color: #D8C6AB;
    color: #595246;
    cursor: not-allowed;
}
.main-contacts form button.pulsante:disabled .icona {
    filter: sepia(100%);
}
.main-contacts form button.pulsante:disabled:hover .icona {
    animation: none;
}
/*.form-std input[type="checkbox"] + label::after {
    content: '';
    position: absolute;
    left: 12px;
    top: 6px;
    width: 8px;
    height: 8px;
    opacity: 0;
    background-color: #F47D20;
    border-radius: 1px;
}*/
.form-std input[type="checkbox"]:hover + label::before {
    border-color: #F47D20;
}
.form-std input[type="checkbox"]:focus + label::before {
    box-shadow: 0 0 0 3px rgba(0, 84, 144, 0.2);
}
.form-std input[type="checkbox"]:focus-visible + label::before {
    box-shadow: 0 0 0 2px #F47D20;
}
.form-std input[type="checkbox"]:checked + label::before {
    border-color: #4C4848;
    background-color: #F47D20;
    box-shadow: inset 0 0 0 1px #fff;
}
/*.form-std input[type="checkbox"]:checked + label::after {
    opacity: 1;
}*/
/* Checked + Hover 
.form-std input[type="checkbox"]:checked:hover + label::before {
    background-color: #F47D20;
    border-color: #F47D20;
} */
.form-std input[type="checkbox"]:active + label::before {
    transform: scale(0.9);
}
.form-std input[type="checkbox"]:disabled + label {
    color: #999;
    cursor: not-allowed;
}
.form-std input[type="checkbox"]:disabled + label::before {
    border-color: #999;
}
.filtri .filtro-opzioni .opzione:has(input[type="checkbox"]:checked) {
    background-color: #FBF9F6;
}
form .con-errore {
    border-color: #dc3545 !important;
}
form .msg-errore {
    margin-top: -1rem;
    margin-bottom: 1rem;
}
form .blocco_cb .msg-errore {
    margin-top: 0.166rem;
    margin-left: 3px;
    margin-bottom: 0rem;
}
form .blocco_cb:has(.msg-errore) .form-std input[type="checkbox"] + label::before {
    border-color: #dc3545;
}
.opzione select {
    width: 100%;
    border: none;
    background-color: transparent;
    color: #4C4847;
    cursor: pointer;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    text-overflow: ellipsis;
    overflow: hidden;
    white-space: nowrap;
    padding-right: 30px;
}
.opzione .opzione-sub-select {
    position: relative;
    padding-left: 30px;
    display: none;
}
.opzione input[type="checkbox"]:checked + label + .opzione-sub-select {
    display: block;
}
.opzione .opzione-sub-select::after {
    content: '';
    position: absolute;
    right: 12px;
    top: 50%;
    margin-top: 2px;
    transform: translateY(-50%);
    width: 6px;
    height: 6px;
    border: solid #4C4847;
    border-width: 0 1px 1px 0;
    transform: translateY(-75%) rotate(45deg);
    pointer-events: none;
}
.opzione .opzione-sub-select:has(select:focus)::after,
.opzione .opzione-sub-select:has(select:hover)::after {
    border-color: #005490;
}
.opzione select:disabled {
    color: #999;
    cursor: not-allowed;
}
.opzione select::-ms-expand {
    display: none;
}
.opzione select option {
    background-color: #FFFFFF;
    padding: 5px;
}
#master-filtri .reset {
    width: 18px;
    height: 18px;
    margin-top: -34px;
    transition: transform 0.5s;
}
#master-filtri .reset:hover {
    transform: rotate(90deg);
}
#master-filtri .reset::before,
#master-filtri .reset::after {
    content: '';
    position: absolute;
    top: 4px;
    left: 8px;
    width: 2px;
    height: 10px;
    background: #fff;
    border-radius: 1px;
}
#master-filtri .reset::before {
    transform: rotate(45deg);
}
#master-filtri .reset::after {
    transform: rotate(-45deg);
}        
form#contact-form select option[value=""],
form#contact-form select:has(option[value=""]:checked) {
    color: #796f5f;
}
form#contact-form select option:not([value=""]),
form#contact-form select:has(option[value=""]:checked) option:not([value=""]) {
    color: #4C4847 !important;
}
form#contact-form .info-tooltip .info-icona:hover + .info-testo,
form#contact-form .info-tooltip .info-icona:focus + .info-testo {
    display: block !important;
}
form#contact-form .info-tooltip .info-icona {
    width: 18px;
    height: 18px;
    padding-bottom: 1px;
    top: -1px;
    cursor: help;
    margin-left: 3px;
    position: relative;
    color: #4c4847 !important
}
form#contact-form .info-tooltip .info-testo {
    width: 240px;
    z-index: 10;
    display: none;
    left: 25px;
    top: -5px;
    border: 1px solid #bebf32;    
    transition: opacity 0.2s ease-in-out;
    opacity: 0;
    display: none;
    color: #4c4847 !important
}
form#contact-form .info-tooltip .info-icona:hover + .info-testo,
form#contact-form .info-tooltip .info-icona:focus + .info-testo {
    opacity: 1;
    display: block;
}
form#contact-form label + .contatore {
    right: 0px;
    margin-top: -28px;    
}

/* Selettore Tab */
.tab-pulsanti button {
    width: 100%;
    height: 90px;
    border-radius: 15px 15px 0 0;
    color: #4C4847;
    opacity: 0.75;
    background-color: transparent;
}
.tab-pulsanti .attivo button {
    background-color: #FBF9F6;
    opacity: 1;
    position: relative;
}
.tab-pulsanti .attivo button::before,
.tab-pulsanti .attivo button::after {
    content: '';
    display: block;
    position: absolute;
    width: 15px;
    height: 15px;
    position: absolute;
    bottom: 0;
    background-image: url('assets/img/ux-angolo.svg');
    background-size: 15px 15px;
    background-repeat: no-repeat;
    background-position: center;
}
.tab-pulsanti .attivo button::before {
    left: -15px;
    transform: rotate(270deg);
}
.tab-pulsanti .attivo button::after {
    right: -15px;
}

/* Slider */
.slider-grande {
    overflow: hidden;
}
.slider-grande .spento {
    display: none;
}
.slider-grande .swiper {
    padding: 3px 0px;
    margin: -3px 0px;
}
.slider-grande .slide-card {
    width: calc(100% - 40px);
}
.slider-grande .slide-card .ss {
    width: 100%;
    height: auto;
    border: 2px solid #FBF9F6;
}
.slider-grande .slide-card video.ss {
    aspect-ratio: 1.65;
    height: 100%;
}
.slider-grande .slide-lista::after,
.bg-sfumato::after {
    content: '';
    display: block;
    width: 100%;
    height: 80px;
    background: linear-gradient(to top, #fff, #FBF9F6);
    position: relative;
    bottom: 0;
    left: 0;
}
.slider-grande .tab-pulsanti .col {
    display: none;
}
.slider-grande .tab-pulsanti .col.attivo {
    display: block;
}
.paginazione-slide .swiper-pagination-bullet {
    background-color: #F7F3ED;
    height: 12px;
    width: 12px;
    opacity: 1;
}
.paginazione-slide .swiper-pagination-bullet:not(.swiper-pagination-bullet-active):hover {
    background-color: #EBE2D4;
}
.paginazione-slide .swiper-pagination-bullet.swiper-pagination-bullet-active {
    /*width: 24px;*/
    background-color: #bebf32;
}
.slider-laterale.swiper {
    overflow: visible !important;
}
.slider-laterale .card-laterale {
    width: 100%;
}
.slider-laterale .card-laterale .dettagli {
    display: none;
}
.slider-laterale .card-laterale .base > *:last-child,
.slider-laterale .card-laterale .dettagli > *:last-child {
    margin-bottom: 0px !important;
}
.card-laterale .logo {
    height: 35px;
    width: auto;
}
.card-laterale .logo.hs {
    padding-bottom: 7px;
}
.card-laterale .logo.hl {
    height: 42px;
}
.card-laterale .logo.hl + div {
    margin-top: -7px;
}
.card-laterale .services {
    border-top: 1px solid #D8C6AB !important;
}
/*.slider-pieno */.tab-pulsanti > .row > .col:first-child.attivo button::before,
.slider-pieno .tab-pulsanti > .row > .col:last-child.attivo button::after {
    display: none !important;
}

/* Home */
.main-home .intro h1 span {
    white-space: nowrap;
}
.main-home .intro h1 span::before {
    content: '';
    display: block;
    width: 232px;
    height: 9px;
    position: absolute;
    left: -1px;
    bottom: -8px;
    background-image: url('assets/img/ux-sottolineatura-lunga.svg');
    background-size: 232px 9px;
    background-repeat: no-repeat;
    background-position: top left;
    z-index: -1;
}
.main-home .video-hero {
    width: 100%;
    height: 0;
    padding-bottom: 78.5%;
    position: relative;
    background-color: #000;
}
.main-home .video-hero video {
    object-fit: cover;
    position: absolute;
}
.main-home .det::before {
    content: '';
    position: absolute;
    height: 100%;
    width: calc(100% + 260px);
    border-radius: 15px;
    background: linear-gradient(to right, #FBF9F6, #FFFFFF);
    top: 0;
    left: 32px;
    z-index: -1;
}
.main-home .det > div {
    min-height: 64px;
}
.main-home .det > div::before {
    content: '';
    position: absolute;
    left: -5px;
    margin-top: -5px;
    width: 64px;
    height: 64px;
    background-color: #F47D20;
    background-repeat: no-repeat;
    background-position: center;
    border-radius: 50%;
    border: 5px solid #FFFFFF;
}
.main-home .det .det-elixir::before {
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' xml:space='preserve' style='fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2' viewBox='0 0 38 29'%3E%3Cpath d='M35.377 0a2.122 2.122 0 0 0-1.865 3.136c-.212.105-.704.352-1.393.71a1.578 1.578 0 1 0-2.781 1.49c-.355.195-.723.401-1.1.614a1.24 1.24 0 0 0-2.143 1.244c-.391.233-.784.472-1.178.715a.907.907 0 0 0-1.461.924c-1.587 1.031-3.105 2.112-4.335 3.162-1.434-3.207-3.549-6.727-6.492-9.593l-.008-.008c-.345-.34-.63-.19-.234.233l.015.016c2.498 2.688 4.46 6.578 5.798 10.125-5.074 4.333-10.666 12.727-4.536 15.365.892.384 1.299-.351.915-.577-.069-.04-2.799-1.516-1.064-6.05h4.369a.423.423 0 0 0 0-.847h-4.007c.235-.501.521-1.036.865-1.605h3.141a.423.423 0 1 0 0-.847h-2.601a28.28 28.28 0 0 1 1.097-1.525h1.504a.424.424 0 1 0 0-.847h-.832c.475-.58.999-1.186 1.578-1.82l.015-.016c1.152 3.336 1.708 6.181 1.586 7.13-.066.516-.399.732-.533.795-.215.102-.303.398.034.497 1.073.317 1.734-.749 1.853-1.604.119-.862-.467-4.02-2.017-7.784 1.295-1.289 2.789-2.519 4.312-3.647a.906.906 0 0 0 1.342-.963 61.81 61.81 0 0 1 1.207-.822 1.242 1.242 0 0 0 1.976-1.269c.398-.247.783-.481 1.154-.703a1.58 1.58 0 0 0 2.658-1.534c.675-.375 1.167-.641 1.407-.778A2.122 2.122 0 1 0 35.377 0Z' style='fill:%23fff;fill-rule:nonzero'/%3E%3Cpath d='M11.226 16.989c.079-.171.145-.356.225-.581.079-.212.159-.476.225-.78l.806-3.49c.066-.357.118-.622.133-.78.026-.119.026-.251.026-.423v-.159h1.824l-1.097 4.852c-.08.344-.132.608-.159.793-.04.198-.04.383-.04.568h-1.943ZM6.253 12.138c.04-.119.053-.238.053-.317 0-.053-.013-.093-.026-.133-.054-.079-.185-.118-.371-.118H3.106c-.184 0-.317.039-.396.118-.093.08-.158.225-.185.45l-.331 1.427h3.728l.331-1.427Zm.423 4.851H1.269c-.542 0-.912-.118-1.111-.37-.105-.145-.158-.343-.158-.594 0-.186.026-.41.092-.675l.675-2.935c.145-.594.356-1.018.647-1.269.304-.251.714-.37 1.27-.37h3.992c.568 0 .939.119 1.123.37.119.146.173.344.173.609 0 .198-.027.409-.093.66l-.436 1.944H2.009l-.291 1.269a1.742 1.742 0 0 0-.039.304c0 .066 0 .119.027.145.039.08.158.119.343.119h3.966c.383 0 .74-.039 1.031-.105l-.37.898ZM8.024 16.989c.084-.192.154-.399.238-.651.085-.238.169-.534.238-.875l1.389-6.432c.084-.4.14-.697.168-.875a7.59 7.59 0 0 0 .028-.652h1.936l-1.725 7.959c-.084.385-.141.682-.169.889-.042.223-.042.43-.042.637H8.024ZM21.775 16.989c.078-.171.144-.356.224-.581.079-.212.159-.476.224-.78l.807-3.49c.066-.357.119-.622.132-.78.027-.119.027-.251.027-.423v-.159h1.824l-1.097 4.852a9.723 9.723 0 0 0-.158.793c-.04.198-.04.383-.04.568h-1.943ZM30.329 11.821a8.543 8.543 0 0 0-.622-.027h-.885c-.171 0-.317.039-.397.106-.105.079-.172.211-.224.409l-.741 3.319c-.132.515-.185.912-.185 1.216v.145h-1.93c.079-.198.159-.384.211-.568.053-.172.12-.436.212-.793l.793-3.49c.093-.344.133-.608.173-.807.026-.185.026-.37.026-.555h1.626l-.066.634c.105-.21.238-.369.409-.475.172-.106.397-.159.701-.159h1.587l.382.687a1.461 1.461 0 0 0-.224.252c-.092.118-.158.171-.198.171-.238-.026-.45-.053-.648-.065ZM14.771 8.603a.895.895 0 1 1-1.79 0 .895.895 0 0 1 1.79 0Z' style='fill:%23fff;fill-rule:nonzero'/%3E%3C/svg%3E");
    background-size: 70% auto;
}
.main-home .det .det-iib::before {
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' xml:space='preserve' style='fill-rule:evenodd;clip-rule:evenodd' viewBox='0 0 25 17'%3E%3Cpath d='M1.654 1.654h2.299v13.328H1.654zM7.311 1.654H9.61v13.328H7.311zM22.654 11.179c0 .675-.114 1.255-.341 1.74-.221.48-.523.874-.908 1.183a3.854 3.854 0 0 1-1.343.671 6.173 6.173 0 0 1-1.627.208h-5.467V1.654h5.003c.644 0 1.217.069 1.722.208a3.4 3.4 0 0 1 1.277.614c.347.278.608.628.785 1.05.177.417.265.909.265 1.476 0 .757-.174 1.397-.52 1.92-.341.517-.861.867-1.561 1.05.883.126 1.554.467 2.015 1.022.466.548.7 1.277.7 2.185ZM19.721 5.38c0-.599-.157-1.024-.473-1.277-.309-.252-.772-.378-1.39-.378h-2.601v3.301h2.62c.643 0 1.11-.135 1.4-.406.296-.278.444-.691.444-1.24Zm.634 5.581c0-.353-.057-.649-.17-.889a1.47 1.47 0 0 0-.473-.577 1.876 1.876 0 0 0-.691-.312 3.76 3.76 0 0 0-.87-.095h-2.894v3.822h2.989c.302 0 .58-.029.832-.085.259-.063.482-.167.672-.312.189-.152.337-.354.444-.606.107-.252.161-.567.161-.946Z' style='fill:%23fff;fill-rule:nonzero;stroke:%23fff;stroke-width:.8px'/%3E%3C/svg%3E");
    background-size: 50% auto;
}
.main-home .porta-video {
    top: -170px;
    position: relative;
    margin-bottom: -70px;
}
.main-home .video-hero {
    height: 0;
    position: relative;
    background-color: #000;
    border-radius: 50%;
    width: 334px;
    padding-bottom: 334px;
    left: calc(50% - 167px);
    margin-top: -380px
}
.main-home .hero-deco {
    position: relative;
    height: auto;
    animation: rotazione 360s linear infinite;
    left: 50%;
    width: 414px;
    height: 100%;
    margin-left: -207px;
}
.main-home .promo-team .media {
    margin-left: -20px;
    margin-right: -20px;
}
.main-home .promo-team .media video {
    object-fit: cover;
    height: 100%;
    width: 100%;
}
.main-home .promo-iib .placca {
    border-radius: 15px 15px 0px 0px;
}
.main-home .promo-iib .media {
    border-radius: 0px 0px 15px 15px;
}
.main-home .iib {
    height: auto;
    width: 100%;
    max-width: 286px
}
.main-home .promo-iib .deco {
    width: 100px;
    height: 100px;
    border: 1px solid #F6F3EC;
    left: -15px;
    top: -32px;
    z-index: -1;
    transform-origin: center;
    animation: propagazione 6s infinite linear;
}
.main-home .promo-iib .deco-1 {
    animation-delay: -4s;
    /*transform: scale(1.5);
    opacity: 0.5;*/
}
.main-home .promo-iib .deco-2 {
    animation-delay: -2s;
    /*transform: scale(2.5);
    opacity: 0.4;*/
}
.main-home .promo-iib .deco-3 {
    animation-delay: 0s;
    /*transform: scale(3.5);
    opacity: 0.3;*/
}
@keyframes propagazione {
    0% {
        transform: scale(1.5);
        opacity: 0.5;
    }
    50% {
        opacity: 0.25;
    }
    100% {
        transform: scale(4.5);
        opacity: 0;
    }
}
.main-home .foto {
    border: 15px solid #FFFFFF;
    width: 180px;
    height: 180px;
    position: absolute;
    right: -50px;
    margin-top: -50px;
}
.main-home .promo-work h3 span {
    top: -1rem;
}
.main-home .promo-impact .bordato {
    border-top: 1px dashed #FFFFFF;
}
.main-home .promo-services .intro > * {
    z-index: 2;
}
.main-home .promo-services .row > * {
    padding-bottom: 480px;
}
.main-home .promo-services .screen {
    border: 1px solid #D8C6AB;
    aspect-ratio: 1.61;
    will-change: transform;
    transition: transform 0.1s ease-out;
    background-color: #fff;
}
.main-home .promo-services .screen video {
    width: 100%;
    height: 100%;
}
.main-home .promo-services .s1 {
    width: 280px;
    bottom: -88px;
    left: -15px;
    transform: rotate(5deg);
    z-index: 2;
}
.main-home .promo-services .s2 {
    width: 320px;
    bottom: 242px;
    left: 55px;
    transform: rotate(8deg);
    z-index: 2;
}
.main-home .promo-services .s3 {
    width: 270px;
    bottom: 120px;
    right: -10px;
    transform: rotate(-5deg);
}
.main-home .promo-services .s4 {
    width: 420px;
    bottom: 422px;
    left: 598px;
    transform: rotate(-28deg);
}
.main-home .promo-services .s5 {
    width: 420px;
    bottom: 54px;
    left: 1000px;
    transform: rotate(20deg);
}
.main-home .promo-jobs .edi {
    object-fit: cover;
}
.main-home .promo-jobs .slide img {
    width: 48px;
    height: 48px;
}
/*.main-home .promo-jobs button {
    height: 18px;
    width: 18px;
    background-size: 18px 18px;
}*/
.main-home .lista-progetti-mini.swiper {
    padding: 3px 20px;
    margin: -3px -20px;
}
.main-home .lista-progetti-mini .swiper-slide {
    width: 270px;
}
.main-home .lista-progetti-mini .card {
    height: 300px;
    display: inline-block;
}
/*.main-home .promo-newsletter img {
    height: auto;
}*/
.main-home .promo-newsletter ul li:nth-child(1) {
    border-top-right-radius: 5px;
    border-top-left-radius: 5px;
}
.main-home .promo-newsletter ul li:nth-child(3) {
    border-bottom-right-radius: 5px;
    border-bottom-left-radius: 5px;
}
.main-home .promo-newsletter ul li:nth-child(2),
.main-home .promo-newsletter ul li:nth-child(3) {
    margin-top: -1px;
    margin-bottom: -1px;
}
.main-home .slider-micro .stemma {
    top: -2px;
    left: -16px;
}
.main-home .slider-micro img {
    width: 50px;
    height: 50px;
}
.main-home .banner img {
    width: 34px;
    height: 34px;
}
.main-home .testimonial .deco {
    width: 120px;
    height: 120px;
    border: 1px solid #F6F3EC;
    left: 50%;
    top: -1px;
    margin-left: -60px;
    z-index: -1;
    transform-origin: center;
    transition: all 0.2s ease-in-out;
}
.main-home .testimonial .deco-1.aperto {
    transform: scale(1.75);
    opacity: 0.5;
}
.main-home .testimonial .deco-2.aperto {
    transform: scale(2.5);
    opacity: 0.4;
}
.main-home .testimonial .deco-3.aperto {
    transform: scale(3.25);
    opacity: 0.3;
}
.main-home .testimonial img {
    width: 120px;
    height: 120px;
}
.main-home .testimonial .paginazione-slide {
    z-index: 2;
}
.main-home .testimonial button {
    margin-top: 102px;
}
.main-home .testimonial .precedente {
    left: 0px;
}
.main-home .testimonial .successivo {
    right: 0px;
}

/**/
.responsabile .linguetta,
.responsabile .linguetta h2.bg-multicolore-blu-fix::before {
    border-radius: 15px 15px 0px 0px;
}
.responsabile .linguetta::before {
    content: '';
    display: block;
    position: absolute;
    width: 15px;
    height: 15px;
    background-image: url('assets/img/ux-angolo-blu-prussia.svg');
    background-size: 15px 15px;
    background-repeat: no-repeat;
    background-position: left bottom;
    bottom: 0px;
    right: -15px;
}
.responsabile .linguetta h2.bg-multicolore-blu-fix {
    z-index: 0;
}
.responsabile .linguetta h2.bg-multicolore-blu-fix::before {
    content: '';
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    z-index: -1;
    top: 0px;
    left: 0px;
}
.responsabile .linguetta + .corpo {
    border-radius: 0px 15px 15px 15px;
    z-index: 1;
}
.responsabile .corpo::before {
    content: '';
    display: block;
    position: absolute;
    bottom: -80px;
    left: -20px;
    transform: rotate(15deg);
    width: 287px;
    height: 306px;
    background-image: url('assets/img/logo-dna-rec.svg');
    background-size: 287px 306px;
    background-repeat: no-repeat;
    background-position: center;
    opacity: 0.1;
    z-index: -1;
}
.responsabile .deco {
    width: 180px;
    height: 180px;
    left: 135px;
    top: -62px;
    z-index: -1;
    transform-origin: center;
}
.responsabile .deco-1 {
    background-color: #FBF9F6;
    background-image: url('assets/img/ico-busta.svg');
    background-size: 24px 24px;
    background-repeat: no-repeat;
    background-position: center;
}
.responsabile .deco-2 {
    border: 1px solid #F6F3EC;
    transform: scale(1.5);
    opacity: 0.5;
}
.main-industry .bg-sfumato + * {
    position: relative;
    z-index: 1;
}
.citazioni-volti img {
    width: 136px;
    height: 136px;
}
.citazioni-volti .volto-mini {
    overflow: hidden;
    top: -10px;
    left: 50%;
}
.citazioni-volti .volto-mini:hover img {
    animation: inchino 0.5s linear forwards;
}
@keyframes inchino {
    0%, 100% {
        transform: scale(1) translateY(0);
    }
    50% {
        transform: scale(1.05) translateY(2px);
    }
}
.citazioni-volti .volto-mini,
.citazioni-volti .volto-mini img {
    width: 40px;
    height: 40px;
}
.citazioni-volti .vm-1 {
    margin-left: -75px;
}
.citazioni-volti .vm-2 {
    margin-left: -20px;
}
.citazioni-volti .vm-3 {
    margin-left: 35px;
}
.citazioni-volti .deco {
    width: 136px;
    height: 136px;
    border: 1px solid #F6F3EC;
    left: 50%;
    top: 48px;
    margin-left: -68px;
    z-index: -1;
    transform-origin: center;
    transition: all 0.2s ease-in-out;
}
.citazioni-volti .deco-1.aperto {
    transform: scale(1.5);
    opacity: 0.5;
}
.citazioni-volti .deco-2.aperto {
    transform: scale(2);
    opacity: 0.4;
}
.citazioni-volti .deco-3.aperto {
    transform: scale(2.5);
    opacity: 0.3;
}
.citazioni-volti + div h2 {
    position: absolute;
    width: 100%;
    text-align: center;
    left: 0px;
    top: 0px;
}
.main-industry blockquote::after,
.main-home .testimonial blockquote::before,
.main-home .testimonial blockquote::after {
    content: '';
    display: block;
    width: 120px;
    height: 70px;
    background-image: url('assets/img/ux-quote.svg');
    background-size: 63px 70px;
    background-repeat: repeat-x;
    background-position: bottom right;
    position: absolute;
    right: 0px;
    bottom: -10px;
    opacity: 0.2;
    z-index: -1;
}
.main-home .testimonial blockquote::after {
    bottom: -50px;
    right: -40px;
}
.main-home .testimonial blockquote::before {
    transform: rotate(180deg);
    right: auto;
    bottom: auto;
    left: -40px;
    top: 20px;
}

/* Community */
.lista-community img {
    width: 48px;
    height: 48px;
}
.main-communities .copertina img {
    animation: avvicina_sotto_mini 0.5s ease-in-out forwards;
}
@keyframes avvicina_sotto_mini {
    0%, 100% {
        transform: scale(1);
    }
    50% {
        transform: scale(1.04);
    }
}
.main-communities .copertina img {
    border-radius: 5px 15px 15px 5px;
    position: relative;
    z-index: 1;
    border: 1px solid #023452;
}       
.main-communities .copertina::before {
    content: '';
    display: block;
    width: 90%;
    position: absolute;
    left: 5%;
    height: 30px;
    background-color: #F2E1D3;
    top: -22px;
    z-index: -1;
    animation: risalita_a 0.8s ease-in-out forwards;
}       
.main-communities .copertina::after {
    content: '';
    display: block;
    width: 86%;
    position: absolute;
    left: 7%;
    height: 14px;
    background-color: #FBF9F6;
    top: -14px;
    animation: risalita_d 1s ease-in-out forwards;
}
@keyframes risalita_a {
    0% {
        opacity: 0;
        transform: scale(0.9) translateY(40px) rotate(-4deg);
    }
    100% {
        opacity: 1;
        transform: scale(1) translateY(0) rotate(-2deg);
    }
}
@keyframes risalita_d {
    0% {
        opacity: 0;
        transform: scale(0.9) translateY(40px) rotate(1deg);
    }
    100% {
        opacity: 1;
        transform: scale(1) translateY(0) rotate(0.5deg);
    }
}
.main-community .psc {
    left: 50%;
    transform: translateX(-50%);
    top: -90px;
}
.main-community .ps {
    left: 0px;
    top: 0px;
}
.main-community .ps .logo {
    width: 150px;
    height: 150px;
    display: block;
}
.main-community .volto,
.main-community .volto img,
.main-focus-group .volto,
.main-focus-group .volto img {
    width: 84px;
    height: 84px;
}

/* Focus groups */
.main-fg .lista-chiusi a::before {
    content: '';
    display: block;
    background-color: #D8C6AB;
    width: 12px;
    height: 12px;
    border-radius: 50%;
    position: absolute;
    right: 1px;
    top: 50%;
    transform: translateY(-50%);
    background-image: url('assets/img/arrow-next-bia.svg');
    background-size: 8px 8px;
    background-repeat: no-repeat;
    background-position: center;
}
.main-fg .lista-chiusi a:hover:before {
    background-color: #f47d20;
}

/* Platforms */
.main-platforms .ico-p {
    width: 80px;
    height: 80px;
    padding: 5px;
}
.main-platforms .ico-p.pos-md-abs {
    right: 12px;
}
.main-platforms section ul li {
    position: relative;
}
.main-platforms section ul li span {
    padding-left: 30px;
    display: block;
}
.main-platforms section ul li::before {
    content: '';
    display: block;
    width: 20px;
    height: 20px;
    position: absolute;
    background: url('assets/img/ico-check.svg');
    background-size: 20px 20px;
    background-repeat: no-repeat;
    background-position: center;
    left: 12px;
    top: 2px;
}
.main-platforms .esagono {
    width: 300px;
    height: 270px;
    position: relative;
    z-index: 1;
}
.main-platforms .esagono .base {
    animation: rotazione 60s linear infinite;
}
@keyframes rotazione {
    from {
        transform: rotate(0deg);
    }
    to {
        transform: rotate(360deg);
    }
}
@keyframes rotazione_inversa {
    from {
        transform: rotate(0deg);
    }
    to {
        transform: rotate(-360deg);
    }
}
.main-platforms .esagono .plat {
    width: 69px;
    height: 69px;
    position: absolute;
    animation: rotazione_inversa 60s linear infinite;
}
.main-platforms .esagono .plat img {
    padding: 10px;
    border: 1px solid rgb(216,198,171);
    border-radius: 50%;
    width: 100%;
    height: 100%;
    transform-origin: center;
    transition: transform 0.3s ease;
}
.main-platforms .bg-blu .esagono .plat img {
    border-color: #7f97a4;
    background-color: #15425e;
}
.var_bb .main-platforms .bg-blu .esagono .plat img {
    background-color: #0e507b;
}
/*.main-platforms .esagono:has(.logo:hover) .plat img {
    animation: pulsazione 1s infinite;
}*/
.main-platforms .esagono .plat img:hover {
    transform: scale(1.05);
}
.main-platforms .esagono .p1,
.main-platforms .esagono .p2 {
    top: 0.05%;
}
.main-platforms .esagono .p1,
.main-platforms .esagono .p5 {
    left: 19.05%;
}
.main-platforms .esagono .p6,
.main-platforms .esagono .p3 {
    top: 37.4%;
}
.main-platforms .esagono .p6 {
    left: 0.45%;
}
.main-platforms .esagono .p3 {
    right: 0.45%;
}
.main-platforms .esagono .p2,
.main-platforms .esagono .p4 {
    left: 57.5%;
}
.main-platforms .esagono .p4,
.main-platforms .esagono .p5 {
    bottom: 1.55%;
}
.main-platforms .esagono .logo {
    top: 50%;
    left: 50%;
    width: 60px;
    height: auto;
    transform: translate(-50%, -50%);
}

/* Services */
.main-services .statistiche {
    width: 230px;
    height: 230px;
    animation: comparsa_supdx 1s ease-out forwards;
    transform-origin: bottom left;
}
@keyframes comparsa_supdx {
    0% {
        opacity: 0;
        transform: scale(0.8) translate(100%, -100%);
    }
    100% {
        opacity: 1;
        transform: scale(1) translate(0, 0);
    }
}
.main-services .statistiche .swiper {
    opacity: 0;
    animation: apparizione 0.5s ease-out forwards;
    animation-delay: 0.5s;
}
@keyframes apparizione {
    0% {
        opacity: 0;
    }
    100% {
        opacity: 1;
    }
}
.main-services .statistiche .swiper .swiper-slide {
    min-height: 196px;
}
.main-services .statistiche::before {
    content: '';
    display: block;
    position: absolute;
    width: 1810px;
    height: 1928px;
    background: url('assets/img/logo-dna-xl-rov.svg');
    background-size: 1810px 1928px;
    background-repeat: no-repeat;
    background-position: center;
    z-index: -1;
    left: -30px;
    bottom: -31px;
}
.main-services .statistiche .contatore span {
    width: 56px;
    height: 85px;
    line-height: 85px;
    margin: 0px 1px;
    z-index: 0;
    font-weight: 400;
}
.main-services .statistiche .contatore span::before,
.main-services .statistiche .contatore span::after {
    content: '';
    display: block;
    position: absolute;
    width: 100%;
    height: 42px;
    left: 0px;
    background-color: #fff;
    z-index: -1;
    opacity: 0.66;
}
.main-services .statistiche .contatore span::before {
    top: 0px;
    border-radius: 5px 5px 0 0;
}
.main-services .statistiche .contatore span::after {
    bottom: 0px;
    border-radius: 0 0 5px 5px;
}
.main-services .risultati .pulsante {
    margin-top: 9px;
}
.main-services:has(#testata.bg-multicolore-3-fix) .slider-grande,
.main-services #testata.bg-multicolore-3-fix + .risultati {
    background-color: #02253C;
}
.var_bb .main-services:has(#testata.bg-multicolore-3-fix) .slider-grande,
.var_bb .main-services #testata.bg-multicolore-3-fix + .risultati {
    background-color: #005490;
}
.main-services:has(#testata.bg-multicolore-3-fix) .slider-grande .tab-pulsanti .col:not(.attivo) button {
    color: #FFFFFF;
}
.main-services:has(#testata.bg-multicolore-3-fix) .slider-grande .tab-pulsanti .col:not(.attivo) button {
    opacity: 0.75;
}
article .stemma_spento {
    filter: sepia(1) grayscale(1);
}
.schermo_card {
    aspect-ratio: 3/2; 
    margin: 6px;
}


/* Main generico */
header:not(.bg-bianco) + .std-gradiente {
    position: relative;
    z-index: 1;
}
header:not(.bg-bianco) + .std-gradiente::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 330px;
    background: linear-gradient(to top, #fff, #E7D6C4, #C2CAD2);
    opacity: 0.2;
    z-index: -1; 
}

/* Contacts */
.main-contacts form.bg-isabella::before {
    content: '';
    display: block;
    position: absolute;
    width: 100vw;
    height: 100%;
    background-color: #fbf9f6;
    top: 0px;
    left: 0px;
    margin-left: -20px;
    z-index: -1;
}
.main-contacts form.std textarea {
    min-height: 162px;
}
.main-contacts form .blocco_cb {
    margin-left: -3px;
}
.main-contacts form .form-std {
    margin-left: -7px;
}
.main-contacts form .form-std label {
    display: inline-block;
}
.main-contacts .ico-busta::before,
.main-membro .ico-busta::before {
    content: '';
    display: block;
    width: 24px;
    height: 19px;
    background-image: url('assets/img/ico-mail.svg');
    background-size: 24px 19px;
    background-repeat: no-repeat;
    background-position: center;
    margin-bottom: 12px;
}
.main-contacts .ruoli .volto,
.main-contacts .ruoli .volto img {
    width: 84px;
    height: 84px;
}
.main-contacts .ruoli .swiper {
    margin-right: -20px;
    margin-left: -20px;
}
.main-contacts .ruoli .swiper .swiper-slide {
    padding-left: 20px;
    padding-right: 20px;
}
.main-contacts .msg {
    padding-left: 23px;
    position: relative;
    font-weight: 700;
}
.main-contacts .msg::before {
    content: '';
    display: block;
    width: 18px;
    height: 18px;
    background-size: 18px 18px;
    background-repeat: no-repeat;
    background-position: center;
    position: absolute;
    left: 0px;
    top: 2px;
}
.main-contacts .msg_errore::before {
    background-image: url('assets/img/ico-attenzione.svg');
    top: 1px;
}
.main-contacts .msg_ok::before {
    background-image: url('assets/img/ico-ok.svg');
}

/* People */
.main-people .volti-team {
    max-width: 242px;
}
.main-people .volti-team .volto, .main-people .volti-team .volto img,
.main-jobs .candidati .volto, .main-jobs .candidati .volto img {
    width: 68px;
    height: 68px;
}
.main-people .volti-team .volto img {
    animation: capolino 1s ease-in-out forwards;
}
@keyframes capolino {
    0% {
        margin-top: 6px;
        margin-left: 3px;
        margin-right: 3px;
        width: 62px;
        height: 62px;
    }
    100% {
        margin-top: 0px;
        margin-left: 0px;
        margin-right: 0px;
        width: 68px;
        height: 68px;
    }
}
.main-people .volti-team .volto + .volto {
    margin-right: -68px;
    animation: sventagliata 1s ease-in-out forwards;
}
.main-people .volti-team .volto.bg-beige {
    animation: sventagliata_dafermo 1s ease-in-out forwards;
}
.main-people .volti-team .volto.bg-blu, .main-people .volti-team .volto.bg-blu img {
    animation-delay: 0.4s !important;
}
.main-people .volti-team .volto.bg-beige, .main-people .volti-team .volto.bg-beige img,
.main-people .volti-team .volto.bg-verde, .main-people .volti-team .volto.bg-verde img {
    animation-delay: 0.2s !important;
}
@keyframes sventagliata {
    0% {
        margin-right: -68px;
        transform: rotate(30deg);
    }
    100% {
        margin-right: -10px;
        transform: rotate(0deg);
    }
}
@keyframes sventagliata_dafermo {
    0% {
        transform: rotate(30deg);
    }
    100% {
        transform: rotate(0deg);
    }
}
.main-people .volti-team img.volto,
.membri-team .membro img.volto,
.membri-sab .membro img.volto,
.responsabile .volto {
    width: 68px;
    height: 68px;
}
.main-content .recap, .risultati .ris_recap {
    padding: 3px 0px;
}
.membri-team .membro .spazio {
    width: 68px;
}
.membri-team .membro button.espandibile {
    position: relative;
    top: -4px;
}
.membri-team .membro .social a {
    padding-left: 23px;
}
.membri-team .membro .social a::before {
    content: '';
    display: block;
    width: 16px;
    height: 16px;
    position: absolute;
    left: 0px;
    top: 0px;
    border-radius: 2px;
    margin-top: 1px;
    background-size: 16px 16px;
    background-repeat: no-repeat;
    background-position: center;
}
.membri-team .membro .social .ico-rg a::before {
    background-color: #40BA9B;
    background-image: url('assets/img/ico-rg-mini.svg');
}
.membri-team .membro .social .ico-li a::before {
    background-color: #0E76A8;
    background-image: url('assets/img/ico-li-mini.svg');
}
.membri-team .membro .extra .separatore {
    border-top: 1px dashed #D8C6AB;
}
.membri-sab .membro a {
    width: 24px;
    height: 24px;
    border: 3px solid #FBF9F6;
    top: 48px;
    left: 50%;
    margin-left: 15px;
    background-image: url('assets/img/ico-freccia-ne.svg');
    background-size: 16px 16px;
    background-repeat: no-repeat;
    background-position: center;
    outline-offset: 0px;
}
.membri-sab .membro a:hover {
    border-color: #ede5d8;
    animation: freccia-ne 1s linear infinite;
}
@keyframes freccia-ne {
    0%, 50%, 100% {
        background-position: center;
    }
    25% {
        background-position: bottom -1px left -1px;
    }  
    75% {
        background-position: top -1px right -1px;
    }
}

/* Jobs */
.main-jobs .candidati {
    width: 284px;
}
.main-jobs .candidati .volto.vuoto {
    margin: 0px 40px;
    animation: avvicina_sotto 1s 2 ease-in-out;
}
.main-jobs .candidati .volto.vuoto::after,
.main-news .gal-volti .volto.vuoto::after {
    content: '';
    display: block;
    position: absolute;
    width: 20px;
    height: 37px;
    background-image: url('assets/img/ico-domanda.svg');
    background-size: 20px 37px;
    background-position: center;
    background-repeat: no-repeat;
    top: 15px;
    left: 24px;
}
.main-jobs .candidati::after {
    content: '';
    display: block;
    position: absolute;
    width: 138px;
    height: 138px;
    background-image: url('assets/img/clip-lente.svg');
    background-size: 138px 138px;
    background-position: center;
    background-repeat: no-repeat;
    top: -18px;
    right: 56px;
    transform: scale(1.08);
    transform-origin: 51px 51px;
    animation: avvicina 1s 2 ease-in-out;
}
@keyframes avvicina {
    0%, 100% {
        transform: scale(1.08);
    }
    50% {
        transform: scale(1);
    }
}                
@keyframes avvicina_sotto {
    0%, 100% {
        transform: scale(1);
    }
    50% {
        transform: scale(1.08);
    }
}
.main-jobs aside.bg-isabella::before {
    content: '';
    display: block;
    position: absolute;
    left: 50%;
    margin-left: -50vw;
    top: 0px;
    width: 100vw;
    height: 100%;
    background-color: #fbf9f6;
    z-index: -1;
}
.offerta .sede::before {
    content: '';
    display: block;
    position: absolute;
    left: 0;
    top: 1px;
    width: 15px;
    height: 20px;
    background-image: url('assets/img/ico-marker.svg');
    background-size: 15px 20px;
    background-repeat: no-repeat;
    background-position: center;
}
.offerta time.veloce::before {
    content: '';
    display: block;
    position: absolute;
    background-image: url('assets/img/ico-hurry.svg');
    width: 28px;
    height: 18px;
    right: 0px;
    margin-right: -35px;
    bottom: 2px;
}
.main-jobs .offerta.in_italia::before {
    content: '';
    position: absolute;
    top: 10px;
    left: -20px;
    width: calc(100% + 40px);
    height: calc(100% - 20px);
    background-color: #F2E1D3;
    z-index: -1;
}

/* How we work */
.main-work .schedona::before,
.main-about .schedona::before {
    content: '';
    display: block;
    position: absolute;
    width: 100%;
    height: 160px;
    background-color: #02253C;
    left: 0px;
    top: 0px;
    z-index: -1;
}
.var_bb .main-work .schedona::before,
.var_bb .main-about .schedona::before {
    background-color: #005490;
}
.lista-platforms img {
    margin-top: -2px;
    float: left;
    margin-right: 12px;
    width: 36px;
    height: 36px;
}
.main-work .lista-platforms > li:nth-child(odd)  {
    background: linear-gradient(to right, #FBF9F6, #FFFFFF);
}
.main-work .portafoto-blocco .marquee {
    border-bottom: 2px dotted #FFFFFF;
    white-space: nowrap;
    overflow: hidden;
    height: 60px;
    z-index: 1;
}
.main-work .portafoto-blocco .marquee .marquee-wrapper {
    display: inline-block;
    white-space: nowrap;
    will-change: transform;
}
.main-work .portafoto-blocco .marquee::before {
    content: '';
    display: block;
    width: 100%;
    height: 100%;
    top: 0px;
    left: 0px;
    position: absolute;
    background-color: rgba(2, 52, 82, 0.5);
    z-index: -1;
}
.main-work .portafoto-blocco .blocco {
    margin-top: -58px;
    margin-left: -1rem;
    margin-right: -1rem;
}
.main-work .schedona .cornice {
    z-index: 0;
}
.main-work .schedona .cornice::before,
.main-about .schedona .cornice::before {
    content: '';
    display: block;
    position: absolute;
    width: 100%;
    aspect-ratio: 2;
    background: linear-gradient(to bottom, #FBF9F6, #F6F3EC);
    bottom: 0px;
    left: 0px;
    border-radius: 0px 0px 15px 15px;
}
.main-work .schedona .cornice::before {
    z-index: -1;
}
.main-work .schedona .portafoto.pf-full,
.main-about .schedona .portafoto.pf-full {
    aspect-ratio: 1.6;
    overflow: hidden;
    border-radius: 10px;
}
.main-work .portafoto-blocco .portafoto.pf-full,
.main-about .portafoto-blocco .portafoto.pf-full {
    aspect-ratio: 1.6;
    margin-left: -1.25rem;
    margin-right: -1.25rem;
}
#communities-promo .slider-verticale {
    margin-left: -20px;
    margin-right: -20px;
    padding-top: 2px;
    padding-bottom: 2px;
}
#communities-promo .card {
    height: 246px;
    width: 246px;
}
#communities-promo .card img {
    width: 48px;
    height: 48px;
}
#showreel-progetti .lista-progetti {
    padding-top: 2px;
    padding-bottom: 2px;
}
#footer-promo .doppio {
    min-height: 420px;
}
#footer-promo .deco-loghi:has(.dl:hover) .dl {
    animation: pulsazione var(--durata-pulsazione) linear infinite;
}
#footer-promo .deco-loghi .dl-4 {
    margin-top: 70px;
    --durata-pulsazione: 0.8s;
}
#footer-promo .deco-loghi .dl-3 {
    --durata-pulsazione: 1s;
}
#footer-promo .deco-loghi .dl-2 {
    margin-top: 20px;
    --durata-pulsazione: 1.2s;
}
#footer-promo .deco-loghi .dl-1 {
    margin-top: 70px;
    --durata-pulsazione: 0.9s;
}
#footer-promo .deco-barre {
    top: 45px;
    left: -140px;
    transform: scaleX(-1);
}
#footer-promo .deco-barre .barra {
    height: 30px;
    width: 100px;
    background-color: rgba(246, 243, 236, 0.5);
    border-radius: 5px 0px 0px 5px;
}

/* About us */
.main-about #organization a.pulsante.mini.col-bianco,
.main-about #iib-info a.pulsante.mini.col-bianco {
    outline: 1px solid #023452;
    outline-offset: -1px;
}
.main-about .portagrafico .elixir-eu {
    max-width: 100px;
}
.main-about .portagrafico .figli .row img {
    height: 45px;
    width: auto;
}
.main-about .portagrafico::before {
    content: '';
    display: block;
    width: 100%;
    height: 96px;
    position: absolute;
    left: 0px;
    top: -96px;
    background-color: #fbf9f6;
}
.main-about .portagrafico .cornice {
    background-color: #fff;
}
.main-about #quick-facts .row > div > a {
    padding: 0.5rem 0;
    float: left;
    width: 100%;
}
.main-about #quick-facts .row > div .num {
    float: left;
    font-size: 2rem;
}
.main-about #quick-facts .row > div .did {
    float: right;
    font-size: 1.125rem;
    padding-top: 0.5rem;
}
.main-about #quick-facts .col-12 + .col-12 {
    border-top: 1px dashed #D8C6AB;
}
.main-about #quick-facts .col a {
    min-height: 258px;
}
.main-about #quick-facts .col-12 a:hover {
    color: #023452;
}
.lista-faq .domanda::before {
    content: '';
    display: block;
    width: 28px;
    height: 28px;
    background-size: 28px 28px;
    background-repeat: no-repeat;
    background-position: center;
    background-color: #EEEEEC;
    background-image: url('assets/img/ico-plus.svg');
    transition: transform 0.3s ease-in-out;
    border-radius: 50%;
    right: 0;
    position: absolute;
}
.lista-faq .domanda:hover::before {
    box-shadow: 0 0 0 3px rgba(216, 198, 171, 0.4);
    animation: zoomino 0.5s linear forwards;
}
.lista-faq .attivo .domanda::before {
    transform: rotate(45deg);
}

/* Progetti */
.lista-progetti-mini .card .stato::before,
.lista-progetti .card .stato::before,
.lista-progetti-verticale .card .stato::before,
.main-progetti .featured article .stato::before {
    content: '';
    display: block;
    width: 7px;
    height: 7px;
    background-color: #D8C6AB;
    border-radius: 50%;
    float: left;
    margin-top: 4px;
    margin-right: 4px;
}
.lista-progetti-mini .card .stato.attivo::before,
.lista-progetti .card .stato.attivo::before,
.lista-progetti-verticale .card .stato.attivo::before,
.main-progetti .featured article .stato.attivo::before {
    background-color: #2A9D8F;
}
.lista-progetti-mini .card .stato.chiuso::before,
.lista-progetti .card .stato.chiuso::before,
.lista-progetti-verticale .card .stato.chiuso::before,
.main-progetti .featured article .stato.chiuso::before {
    background-color: #D52D2D;
}
.lista-progetti .card {
    height: 300px;
    width: 264px;
} 
.lista-progetti-mini .card img,
.lista-progetti .card img {
    height: 80px;
    width: auto;
}
.main-progetti .pl {
    width: 232px;
    margin-top: -80px;
    position: relative;
}
.main-progetti .pl img {
    max-width: 160px;
    height: auto;
}
.main-progetti .fix-titolo {
    width: 280px;
    height: 20px;
    float: right;
}
.lista-progetti-verticale .card {
    min-height: 300px;
}
.lista-progetti-verticale .card .portalogo {
    height: 80px;
}
.lista-progetti-verticale .card .portalogo img {
    object-fit: contain;
    width: 100%;
    height: 100%;
}

/* Servizio */
.service-desc {
    z-index: 1;
}
.service-desc .provider {
    border-top: 1px dashed #D8C6AB;
}
.service-desc .provider .member img,
.service-desc .provider .persona img {
    width: 48px;
    height: 48px;
}
.service-desc .provider .persona a,
.service-desc .provider .persona .email-protetta {
    padding-left: 25px;
}
.service-desc .provider .persona a::before,
.service-desc .provider .persona .email-protetta::before {
    content: '';
    display: block;
    width: 18px;
    height: 14px;
    position: absolute;
    top: 4px;
    left: 0px;
    background-image: url('assets/img/ico-mail.svg');
    background-size: 18px 14px;
    background-repeat: no-repeat;
    background-position: center;
}
.main-service .sidebar {
    position: relative;
}
.main-service .sidebar::before {
    content: '';
    display: block;
    position: absolute;
    top: 0;
    left: 50%;
    width: 100vw;
    height: 200px;
    background: linear-gradient(to top, #fff, #FBF9F6);
    transform: translateX(-50%);
    z-index: -1;
}
.main-service .sidebar .info-tabella .voce + .voce {
    border-top: 1px solid #D8C6AB;
}
.main-service .sidebar .info-tabella .icona-os {
    width: 16px;
    height: 16px;
}
.main-service .pulsantone {
    background-color: #023452;
    color: #FFFFFF;
    border-radius: 15px;
    margin-top: 154px;
}
.main-service .pulsantone::before,
.responsabile .corpo::after {
    content: '';
    display: block;
    position: absolute;
    bottom: 15px;
    right: 15px;
}
.main-service .pulsantone:hover::before,
.responsabile .corpo:hover::after {
    animation: freccia-avanti 1s linear infinite;
}
.responsabile .corpo:hover .volto {
    animation: pulsazione 0.5s linear forwards;
}
.servizio-doc .schermo {
    width: 240px;
    height: 160px;
    background-color: #FFFFFF;
    margin: -130px auto 0px auto;
    overflow: hidden;
    border: 1px solid #ebe2d4;
    z-index: 2;
    position: relative;
}
.servizio-doc .pulsantone:has(a:hover) .schermo .abbinato {
    display: none;
}
.main-service .usi .uso {
    border-top: 1px solid #D8C6AB;
}
.main-service .usi .uso:last-child {
    border-bottom: 1px solid #D8C6AB;
}
.main-service .usi .uso .caso,
.main-service .usi .uso strong {
    padding-left: 35px;
}
.main-service .usi .uso .caso {
    padding-top: 5px;
}
.main-service .usi .uso .caso img {
    width: 24px;
    height: 24px;
    left: 0px;
    top: -20px;
}
.servizi-correlati .lista-correlati.swiper {
    padding: 3px 0px;
    margin: -3px -20px;
}
.servizi-correlati .lista-correlati.swiper .swiper-slide {
    padding: 0px 20px;
}
.servizi .card .minimo {
    min-height: 160px;
}
.servizi .card .service-tag a,
.slide-card .service-tag a {
    position: relative;
    z-index: 1;
}
.servizi .card .stemma,
.slide-card .piede .stemma {
    width: 48px;
    height: 48px;
    /*box-shadow: 0 6px 0 0 #FFFFFF;
    box-shadow: 0 -6px 0 0 #FFFFFF;
    box-shadow: -6px 0 0 0 #FFFFFF;
    box-shadow: 6px 0 0 0 #FFFFFF;
    box-shadow: 0 0 0 6px #FFFFFF;*/
}
.servizi .card .icona-tag {
    width: 14px;
    height: 14px;
    margin-top: 2px;
}
.service-tag-pa {
    padding-left: 20px;
}
.slide-card .service-tag-pa {
    padding-left: 28px;
}
.service-tag-pa img.icona-tag {
    top: -1px; 
    left: 0px;
}

/* Impact */
.main-impact {
    /* rgba(216, 198, 171, 0.3) */
    background-image: repeating-linear-gradient(to right, #f0eae0 0, #f0eae0 1px,  transparent 0px, transparent 120px);
    background-size: 1201px 1px;
    background-repeat: repeat-y;
    background-position: top center;
}
.main-impact #toolkit {
    background-image: repeating-linear-gradient(to top, #f0eae0 0, #f0eae0 1px,  transparent 0px, transparent 50px);
    background-repeat: repeat-x;
    background-position: bottom center;
    background-size: 1px 1000px;
}
.main-impact #toolkit ul li::before {
    content: '';
    width: 6px;
    height: 6px;
    background-color: #BEBF32;
    position: absolute;
    margin-left: -18px;
    margin-top: 7px;
}
.main-impact + footer::before {
    content: '';
    display: block;
    width: 100%;
    height: 10px;
    position: absolute;
    left: 0px;
    margin-top: -34px;
    background-image: repeating-linear-gradient(to right, #f0eae0 0, #f0eae0 9px,  transparent 0px, transparent 120px);
    background-size: 1209px 1px;
    background-repeat: repeat-y;
    background-position: top center;
}
.main-impact #data .contenitore.animato {
    transition: all 0.4s ease;
}
.main-impact #data .contenitore.col-12 {
    flex: 0 0 100%;
    max-width: 100%;
}
.set-dati  {
    z-index: 0;
}
.set-dati .set .ico {
    width: 56px;
    height: 56px;
    border: 2px solid #FBF9F6;
    margin-top: -10px;
    right: 22px;
    position: absolute;
}
.set-dati .set .ico-nuovo {
    width: 16px;
    height: 16px;
    position: relative;
    top: 3px;
    margin-left: 4px;
    background-image: url('assets/img/ico-aggiornato.svg');
    background-size: 16px 16px;
    background-repeat: no-repeat;
    background-position: center;
    cursor: help;
}
.set-dati .set .ico-nuovo:hover {
    transform: rotate(180deg);
    transition: transform 0.5s ease-in-out;
}
.set-dati .grafico-ph {
    box-sizing: border-box; 
    display: block; 
    border-bottom: 1px solid #4D4848;
    border-left: 1px solid #4D4848;
    background-image: linear-gradient(to right, #F5F1EA 1px, transparent 1px), linear-gradient(to bottom, #F5F1EA 1px, transparent 1px);
    background-size: 80px 40px;
    background-position: bottom;
    width: 100%;
    aspect-ratio: 2.6;
}
.set-dati .chart-container {
    position: relative;
    width: 100%;
    max-width: 100%;
}
.set-dati .chart-container canvas {
    max-width: 100%;
    height: auto !important;
}
.set-dati .chart-container > svg {
    aspect-ratio: 2.5;
}
.set-dati .tabella-dati-wrapper {
    overflow-x: auto;
    overflow-y: auto;
    max-width: 100%;
    max-height: 480px;
}
.set-dati .tabella-dati {
    width: 100%;
    border-collapse: collapse;
    font-size: 14px;
    min-width: 580px;
}
.set-dati .tabella-dati thead th {
    background: #023452;
    color: #fff;
    padding: 12px 15px;
    text-align: left;
    font-weight: 700;
    white-space: nowrap;
}
.set-dati .tabella-dati tbody tr:nth-child(odd) {
    background: #fbf9f6;
}
.set-dati .tabella-dati tbody tr:nth-child(even) {
    background: #fff;
}
.set-dati .tabella-dati tbody td {
    padding: 10px 15px;
    border-bottom: 1px solid #e5e5e5;
    vertical-align: top;
}
.set-dati .tabella-dati tbody td a {
    word-break: break-all;
}
.set-dati .micro-det p + p {
    margin-top: 1em;
}

/* Caricamento */
#caricamento {
    position: fixed;
    top: 0px;
    left: 0px;
    width: 100vw;
    height: 100vh;
    background-color: rgba(255,255,255,0.95);
    z-index: 9999;
}
#caricamento .ani {
    position: absolute; 
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 140px;
    height: 70px;
}
#caricamento #cer1, #caricamento #cer2, #caricamento #cer3, #caricamento #cer4, #caricamento #cer5, #caricamento #cer6, #caricamento #cer7, #caricamento #cer8, #caricamento #cer9, #caricamento #cer10 {
    position: absolute;
    width: 10px;
    height: 10px;
    border-radius: 50px 50px;
    background: #F47D20;
    animation: spin 1.5s linear infinite;
    transform-origin: center center;
    z-index: 1;
}
#caricamento #cer2 {
    animation: spin 1.5s -0.75s linear infinite;
}
#caricamento #cer3 {
    left: 30px;
    animation: spin 1.5s -1.3s linear infinite;
}
#caricamento #cer4 {
    left: 30px;
    animation: spin 1.5s -0.55s linear infinite;
}
#caricamento #cer5 {
    left: 60px;
    animation: spin 1.5s -1.1s linear infinite;
}
#caricamento #cer6 {
    left: 60px;
    animation: spin 1.5s -0.35s linear infinite;
}
#caricamento #cer7 {
    left: 90px;
    animation: spin 1.5s -0.9s linear infinite;
}
#caricamento #cer8 {
    left: 90px;
    animation: spin 1.5s -0.15s linear infinite;
}
#caricamento #cer9 {
    left: 120px;
    animation: spin 1.5s -0.7s linear infinite;
}
#caricamento #cer10 {
    left: 120px;
    animation: spin 1.5s 0.05s linear infinite;
}
#caricamento #base1, #caricamento #base2, #caricamento #base3, #caricamento #base4, #caricamento #base5 {
    position: absolute;
    top: 30px;
    left: 5px;
    width: 1px;
    height: 10px;
    background: #D8C6AB;
    animation: flex 1.5s linear infinite;
    transform-origin: center center;
}
#caricamento #base2 {
    left: 35px;
    animation: flex 1.5s -1.3s linear infinite;
}
#caricamento #base3 {
    left: 65px;
    animation: flex 1.5s -1.1s linear infinite;
}
#caricamento #base4 {
    left: 95px;
    animation: flex 1.5s -0.9s linear infinite;
}
#caricamento #base5 {
    left: 125px;
    animation: flex 1.5s -0.7s linear infinite;
}
#caricamento .eti {
    position: absolute;
    top: 50%;
    width: 100%;
    margin-top: 51px;
}
@keyframes spin {
    0%, 100% {
        transform: translateY(0px) scale(1);
    }
    25% {
        transform: translateY(30px) scale(2);
    }
    50% {
        transform: translateY(60px) scale(1);
    }
    75% {
        transform: translateY(30px) scale(0.3);
    }
}
@keyframes flex {
    0%, 100% {
      transform: scaleY(5);
    }
    25% {
      transform: scaleY(1);
    }
    50% {
      transform: scaleY(5);
    }
    75% {
      transform: scaleY(1);
    }
}

/* Newsletter */
.main-newsletter .barra-ricerca input[type="email"] {
    border-color: #28516b;
}
.main-newsletter .barra-ricerca input[type="email"] + button img {
    width: 20px;
    top: 50%;
    position: absolute;
    left: 50%;
    transform: translate(-50%, -50%);
}
.main-newsletter .notifica_ani {
    background-color: transparent;
    width: 108px;
    height: 108px;
    padding: 10px;
    bottom: -150px;
    left: 50%;
    margin-left: -54px;
}
.main-newsletter .notifica_ani .cont {
    width: 88px;
    height: 88px;
}
.main-newsletter .notifica_ani .cont::before {
    content: '';
    display: block;
    background: url('assets/img/ux-bubble.svg');
    background-size: 88px 96px;
    background-repeat: no-repeat;
    background-position: center;
    width: 88px;
    height: 96px;
    position: absolute;
    top: 2px;
    right: 10px;
    transform: rotate(180deg);
}
.main-newsletter .notifica_ani .rotella {
    border-style: solid;
    width: 100%;
    height: 100%;
    border-radius: 50%;
    border-color: transparent transparent transparent #BEBF32;
    border-width: 4px;
    top: 0px;
    left: 0px;
    animation: rotella_mob 6s linear infinite;
}
@keyframes rotella_mob {
    0%, 20%, 100% {
        transform: rotate(20deg);
    }
    10% {
        transform: rotate(-180deg);
    }
}
@keyframes rotella {
    0%, 20%, 100% {
        transform: rotate(200deg);
    }
    10% {
        transform: rotate(0deg);
    }
}
.main-newsletter .notifica_ani svg {
    display: block;
    font-size: 90px;
    width: 1em;
    height: 1em;
    left: 50%;
    position: absolute;
    top: 50%;
    transform: translate(-50%, -50%) rotate(45deg);
}
.main-newsletter .notifica_ani .campana-cont {
    transform-origin: 9.5px 9.5px;
    transform: scale(0.5); 
}
.main-newsletter .notifica_ani .campana {
    animation: ring 6s linear infinite;
    transform-origin: 9.5px 2.4781px;
    color: #fbf9f6;
}
.main-newsletter .notifica_ani .campana_parte {
    fill: currentColor;
}
.main-newsletter .notifica_ani .campana_parte--end {
    animation: ding 6s linear infinite;
}
@keyframes ring {
    0% {
        transform: rotate(0deg);
    }
    3% {
        transform: rotate(30deg);
    }
    5% {
        transform: rotate(-25deg);
    }
    7.5% {
        transform: rotate(20deg);
    }
    10.3% {
        transform: rotate(-10deg);
    }
    13.3% {
        transform: rotate(5deg);
    }
    16% {
        transform: rotate(-2deg);
    }
    20% {
        transform: rotate(0deg);
    }
    100% {
        transform: rotate(0deg);
    }
}
@keyframes ding {
    0% {
        transform: translateX(0);
    }
    2.4% {
        transform: translateX(4px);
    }
    3% {
        transform: translateX(4px);
    }
    4.6% {
        transform: translateX(-4px);
    }
    5% {
        transform: translateX(-4px);
    }
    7.1% {
        transform: translateX(4px);
    }
    7.5% {
        transform: translateX(4px);
    }
    10.9% {
        transform: translateX(-3px);
    }
    14.3% {
        transform: translateX(2px);
    }
    18% {
        transform: translateX(-1px);
    }
    22% {
        transform: translateX(0);
    }
    100% {
        transform: rotate(0deg);
    }
}
.main-newsletter aside::before {
    content: '';
    display: block;
    position: absolute;
    width: 100vw;
    height: 100%;
    background-color: #fbf9f6;
    top: 0px;
    left: 0px;
    margin-left: -20px;
    z-index: -1;
}
.main-newsletter aside a:hover strong::after {
    content: '';
    display: block;
    background-color: #f47d20;
    width: 12px;
    height: 12px;
    border-radius: 50%;
    position: absolute;
    right: -19px;
    top: 50%;
    margin-top: 1px;
    transform: translateY(-50%);
    background-image: url('assets/img/arrow-new-window-micro-bianco.svg');
    background-size: 10px 10px;
    background-repeat: no-repeat;
    background-position: center;
}
.main-newsletter aside time {
    margin-top: 3px;
}
.main-newsletter .nl-banner .logo {
    width: 63px;
}
.promo-newsletter .nl-banner .logo {
    width: 20%;
    position: absolute;
    top: 14%;
    left: 8%;
}
.nl-banner {
    padding-bottom: 305px !important;
}
.promo-newsletter .nl-banner {
    padding-bottom: 0px !important;
}
.nl-banner .simulazione {
    width: 240px;
    aspect-ratio: 0.944;
    bottom: 0px;
    left: 50%;
    transform: translateX(-32%);
}
.promo-newsletter .nl-banner .simulazione {
    width: auto;
    height: 83%;
    left: auto;
    right: 5%;
    transform: none;
}
.nl-banner .simulazione img,
.main-events .banner .simulazione img {
    display: block;
    height: 101%;
}
.nl-banner .simulazione .schermo,
.main-events .banner .simulazione .schermo {
    width: 36%;
    height: 59.4%;
    top: 8.2%;
    left: 13.2%;
}
.nl-banner .simulazione .schermo img,
.main-events .banner .simulazione .schermo img {
    width: 100%;
    height: auto;
    transition: transform 1s ease-out;
}
.nl-banner:hover .simulazione .schermo img,
.main-events .banner:hover .simulazione .schermo img {
    transform: translateY(-110px);
    transition-duration: 5s;
}

/* News */
.main-news .main-content .pf,
.main-news-singola .portafoto,
.main-evento #zenodo_res .thumb,
.main-evento .notizia .portafoto {
    aspect-ratio: 1.5;
    display: flex;
    align-items: center;
    justify-content: center;
}
.main-news .main-content .pf a {
    display: block;
    width: 100%;
    height: 100%;
}
.main-evento .banner.filo,
.main-events .evento-banner.filo {
    box-shadow: 0 0 0 1px #F2E1D3;
}
.main-news .main-content .pf.bordato,
.main-news-singola .portafoto.bordato,
.main-evento .banner.bordato,
.main-events .evento-banner.bordato,
.main-evento #zenodo_res .thumb,
.main-evento .notizia .portafoto.bordato,
.promo-eventi .evento-banner.bordato {
    padding: 20px;
}
.main-news .main-content .pf img,
.main-news-singola .portafoto img,
.main-evento .banner img,
.main-events .evento-banner img,
.main-evento .notizia .portafoto img,
.promo-eventi .evento-banner img {
    object-fit: cover;
    display: block;
    height: 100%;
    width: 100%;
}
.main-news .main-content .pf.bordato img,
.main-news-singola .portafoto.bordato img,
.main-evento .banner.bordato img,
.main-events .evento-banner.bordato img,
.main-evento #zenodo_res .thumb img,
.main-evento .notizia .portafoto.bordato img,
.promo-eventi .evento-banner.bordato img {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
    object-position: center;
}
.main-news .recap .txt-btn {
    margin-top: -6px;
}
.main-news-singola .condivisione + div > .txt-base > *:first-child {
    margin-top: 0px !important;
}
/*.main-news-singola .portafoto.ratio-v-3x2:not(.bordato) img {
    object-fit: cover;
    display: block;
    height: 100%;
    width: 100%;
}*/
.main-news .gal-volti .volto, .main-news .gal-volti .volto img {
    width: 68px;
    height: 68px;
}
.main-news .gal-volti .riga {
    width: 420px;
    transform: translateX(-50%);
    margin-left: 50%;
}
.main-news .gal-volti .riga.corta {
    width: 336px;
}
.main-news .pe-deco {
    padding-left: 24px;
}
.main-news .pe-deco::before {
    content: '!';
    position: absolute;
    width: 18px;
    height: 18px;
    background-color: #BEBF32;
    border-radius: 50%;
    left: 0px;
    top: 50%;
    transform: translateY(-50%);
    color: #fff;
    text-align: center;
    line-height: 17px;
    font-size: 15px;
    font-weight: 900;
}

/* Members */
.main-membri .featured > div:first-child,
.main-membri .titolazione > div:first-child {
    z-index: 1;
}
.main-membri .lista-membri img {
    width: 48px;
    height: 48px;
}
.main-membri .lista-membri article.card {
    min-height: 196px;
}
.main-membri .lista-membri article.card .citta::before {
    content: '';
    display: block;
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 13px;
    height: 15px;
    margin-top: -1px;
    background-image: url('assets/img/ico-marker.svg');
    background-size: 13px 15px;
    background-repeat: no-repeat;
    background-position: center;
}
.main-membri .lista-membri article.card .coord {
    padding-right: 36px;
    position: relative;
}
.main-membri .lista-membri article.card .coord::after,
.main-membro .eti-coordinatore::after {
    content: '';
    display: block;
    position: absolute;
    top: 50%;
    width: 28px;
    height: 28px;
    background-size: 28px 28px;
    transform: translateY(-50%);
    background-image: url('assets/img/ico-coordinator.svg');
    background-repeat: no-repeat;
    background-position: center;
}
.main-membro .eti-coordinatore {
    margin-left: 34px;
}
.main-membro .eti-coordinatore::after {
    left: -34px;
    float: left;
}
.main-membri .lista-membri article.card .coord::after {
    right: 0px;
    float: right;
}
.main-membri .mappa {
    width: 520px;
    height: 520px;
    top: -20px;
    left: 50%;
    margin-left: 70px;
}
.main-membri .mappa::before {
    content: '';
    display: block;
    width: 100%;
    height: 100%;
    top: 0px;
    left: 0px;
    border-radius: 50%;
    background-color: #FBF9F6;
    animation: avvicina_sotto_mini 1s ease-in-out forwards;
    z-index: -1 ;
}
.main-membri .mappa .italia {
    width: 280px;
    height: 311px;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}
.main-membri .mappa .italia svg circle {
    opacity: 0;
    transition: opacity 0.6s;
}
.main-membri .mappa .italia svg circle.visibile {
    opacity: 1;
}
.main-membri .mappa .italia .citta {
    width: 16px;
    height: 16px;
    background-color: #BEBF32;
    border: 3px solid #FBF9F6;
    position: absolute;
    transform: scale(0) translate(-8px, 8px);
    border-radius: 50%;
    transform-origin: bottom left;
}
.main-membri .mappa .italia .citta.visibile {
    animation: spunta_citta 0.5s linear forwards;
}
@keyframes spunta_citta {
    0% {
        transform: scale(0) translate(-8px, 8px);
        opacity: 0;
    }
    50% {
        opacity: 1;
    }
    100% {
        transform: scale(1) translate(-8px, 8px);
    }
}
.main-membri .mappa .italia .citta.sm {
    width: 24px;
    height: 24px;
}
.main-membri .mappa .italia .citta span {
    display: none;
    position: absolute;
    background-color: #023452;
    color: #fff;
    font-size: 0.75rem;
    right: 17px;
    text-align: right;
    white-space: nowrap;
    border-radius: 5px;
    padding: 5px 8px;
    top: -16px;
}
.main-membri .mappa .italia .citta.sm span {
    right: 25px;
    top: -12px;
}
.main-membri .mappa .italia .citta span strong {
    display: block;
}
.main-membri .mappa .italia .citta:hover {
    background-color: #F47D20;
    z-index: 1;
}
.main-membri .mappa .italia .citta:hover span {
    display: block;
}
.main-membri .mappa .italia .roma {
    left: 49%;
    top: 45%;
}
.main-membri .mappa .italia .cagliari {
    left: 21%;
    top: 73.5%;
}
.main-membri .mappa .italia .torino {
    left: 9%;
    top: 16%;
}
.main-membri .mappa .italia .milano {
    left: 21%;
    top: 11%;
}
.main-membri .mappa .italia .verona {
    left: 36%;
    top: 12%;
}
.main-membri .mappa .italia .trento {
    left: 39%;
    top: 5%;
}
.main-membri .mappa .italia .bologna {
    left: 40%;
    top: 21%;
}
.main-membri .mappa .italia .parma {
    left: 30%;
    top: 18%;
}
.main-membri .mappa .italia .padova {
    left: 43%;
    top: 13%;
}
.main-membri .mappa .italia .firenze {
    left: 40%;
    top: 29%;
}
.main-membri .mappa .italia .pisa {
    left: 34%;
    top: 30%;
}
.main-membri .mappa .italia .viterbo {
    left: 46%;
    top: 39%;
}
.main-membri .mappa .italia .trieste {
    left: 59%;
    top: 7%;
}
.main-membri .mappa .italia .napoli {
    left: 70%;
    top: 58%;
}
.main-membri .mappa .italia .salerno {
    left: 73.2%;
    top: 62.8%;
}
.main-membri .mappa .italia .bari {
    left: 85.7%;
    top: 54.4%;
}
.main-membri aside .fservices ul li:hover:has(.stretched-link) video,
.main-membri aside .fservices ul li:has(.stretched-link:focus-visible) video {
    border-color: #fff;
    box-shadow: 0 0 0 2px #F47D20;
}
.main-membri aside .fservices video {
    background-color: #fff;
    aspect-ratio: 1.6;
}

/* Progetto */
.main-progetto .txt-base > *:last-child {
    margin-bottom: 0;
}
.main-progetto aside .stato::before {
    content: '';
    background-color: #e9dfd0;
    display: inline-block;
    width: 12px;
    height: 12px;
    margin-right: 5px;
    border-radius: 50%;
}
.main-progetto aside .barra.attivo,
.main-progetto aside .stato.attivo::before {
    background-color: #2A9D8F;
}
.main-progetto aside .barra.chiuso,
.main-progetto aside .stato.chiuso::before {
    background-color: #D52D2D;
}
.main-progetto aside .barra {
    left: 0px;
    top: 0px;
    z-index: -1;
    opacity: 0.12;
    border-top: 3px solid #fff;
    border-bottom: 3px solid #fff;
}
.main-progetto .risultati .tipo + .tipo {
    border-top: 1px solid #D8C6AB;
}
.main-progetto .risultati ul.lista li::before {
    content: '';
    width: 6px;
    height: 6px;
    background-color: #BEBF32;
    position: absolute;
    margin-left: -15px;
    margin-top: 10px;
}
.main-progetto .risultati ul.lista > li:last-child {
    margin-bottom: 0 !important;
}
.main-progetto .volto,
.main-progetto .volto img {
    width: 48px;
    height: 48px;
}

/* Membro */
.main-membro .psc::before {
    content: '';
    display: block;
    position: absolute;
    top: 50%;
    left: 50%;
    margin-left: -50vw;
    width: 100vw;
    height: 50%;
    background-color: #FFFFFF;
}
.main-membro .ps {
    float: left;
    position: relative;
    left: 50%;
    transform: translateX(-50%);
}
.main-membro .ps .stemma {
    width: 150px;
    height: 150px;
    display: block;
}
.main-membro .volto,
.main-membro .volto img {
    width: 84px;
    height: 84px;
}

/* Errore 404 */
.main-404 {
    height: auto;
    min-height: calc(100vh - 88px);
    background: linear-gradient(to top, #023452, #02253C);
}
.main-404 #microscopio {
    position: absolute;
    width: 100%;
    height: 100%;
    z-index: 1;
    opacity: 0.2;
}
.main-404 .pagina {
    top: 0px;
    left: 0px;
    z-index: 1;
}

/* Footer */
footer {
    color: #FFFFFF;
}
footer .logo img {
    height: 64px;
}
.footer-tools {
    background-color: #02253C;
    position: relative;
    border-radius: 15px 15px 0 0;
}
.footer-tools::before {
    content: '';
    display: block;
    background-color: #02253C;
    height: 80px;
    position: absolute;
    top: 99%;
    left: 0px;
    width: 100%;
}
.footer-tools .social {
    border-bottom: 1px solid #005490;
}
.footer-tools .social-icona {
    display: inline-block;
    width: 40px;
    height: 40px;
    background-color: #F1F1F1;
    border-radius: 50%;
}
.footer-tools .social-icona + span + .social-icona {
    margin-left: 15px;
}
.footer-tools .social-icona img {
    width: 20px;
    height: 20px;
    display: block;
    margin: 10px auto;
}
.footer-tools .social-icona:hover img {
    animation: pulsazione_sup 0.5s ease-in-out forwards;
}
.footer-bar {
    background-color: #005490;
    position: relative;
    z-index: 1;
}
.footer-bar a:hover {
    text-decoration: underline;
    text-decoration-color: #BEBF32;
    text-underline-offset: 2px;
}
.footer-bar .external-links a {
    margin-right: 15px;
}
.footer-bar .external-links a:last-child {
    margin-right: 0;
}
.footer-bar .external-links a .icona {
    width: 12px;
    height: 12px;
    background-color: #FFFFFF;
    border-radius: 50%;
    display: inline-block;
    margin-left: 3px;
    vertical-align: sub;
    background-image: url('assets/img/arrow-new-window-micro.svg');
    background-size: 10px 10px;
    background-repeat: no-repeat;
    background-position: center;
}
.footer-bar .external-links a:hover .icona {
    animation: pulsazione_sup 0.3s ease-in-out infinite;
}
.footer-nav a:hover {
    text-decoration: underline;
    text-decoration-color: #f47d20;
    text-underline-offset: 2px;
}
.footer-nav .txt-maiuscolo a:hover {
    color: #f47d20;
    text-decoration: none;
}
#promo_eu {
	position: fixed;
	bottom: 20px;
	right: -120px;
	height: 50px;
	width: 170px;
	border-radius: 25px 0px 0px 25px;
	z-index: 1;
	transition: right 1s ease-out;
	transition-delay: 1s;
    background-color: #F2ECE3;
    color: #4C4847;
    padding-left: 52px;
    padding-top: 9px;
    line-height: 16px;
    text-align: left;
}
#promo_eu:hover {
    outline: 2px solid #F47D20;
}
#promo_eu::before {
    content: '';
    position: absolute;
    display: block;
    background-color: #19479A;
    top: 6px;
    left: 6px;
    width: 38px;
    height: 38px;
    border-radius: 50%;
	background-image: url('assets/img/bandiera_eu.svg');
	z-index: -1;
	animation: rotazione 20s linear infinite;
}
.ani #promo_eu { 
	transition-delay: 0s;
}
.ani #promo_eu,
.ani #promo_eu.eu_min:hover { 
	right: 0px;
}
.ani #promo_eu.eu_min {
	right: -120px;    
}

/* Accessibilità - Navigazione da tastiera */
body > .skip-link:focus {
    outline: 2px solid #023452;
    outline-offset: 2px;
}
header .logo a:focus-visible {
    outline-offset: 12px;
}
.main-progetti .featured article h3:has(a:focus-visible),
.responsabile:has(a.stretched-link:focus-visible) .corpo::after {
    outline-offset: 2px;
}
.main-progetti .featured article h3:has(a:focus-visible) {
    z-index: 1;
    position: relative;
}
.main-progetti .featured article h3:has(a:focus-visible),
.responsabile:has(a.stretched-link:focus-visible) .corpo::after,
.lista-faq > li > a:focus-visible::before {
    outline: 2px solid #f47d20;
}
.main-service .pulsantone:has(.stretched-link:focus-visible) {
    box-shadow: 0 0 0 4px #F47D20 !important;
}
.promo-newsletter ul li.fpul-arancio:has(.stretched-link:focus-visible),
.attualita .promo-news article .fpul-arancio:has(.stretched-link:focus-visible),
.main-news aside.fpul-arancio:has(.stretched-link:focus-visible),
.main-news .nl-banner:has(.stretched-link:focus-visible),
.main-news .main-content .pf:has(a:focus-visible),
.main-evento .notizia .portafoto.bordato:has(.stretched-link:focus-visible),
.evento-banner.fpul-arancio:has(a:focus-visible),
article.card:has(.stretched-link:focus-visible),
article.slide-card:has(.stretched-link:focus-visible) {
    box-shadow: 0 0 0 2px #F47D20 !important;
}
.promo-newsletter ul li.fpul-arancio:has(.stretched-link:focus-visible),
article.card.b-so.bg-bianco:has(.stretched-link:focus-visible),
article.slide-card.b-so.bg-bianco:has(.stretched-link:focus-visible) {
    border-color: #fff;
}
.main-progetti .featured article h3 a:focus-visible,
.promo-newsletter ul li.fpul-arancio .stretched-link:focus-visible,
.attualita .promo-news article .fpul-arancio .stretched-link:focus-visible,
.main-news aside.fpul-arancio .stretched-link:focus-visible,
.main-news .nl-banner .stretched-link:focus-visible,
.main-news .main-content .pf a:focus-visible,
.lista-faq > li > a:focus-visible,
article.card .stretched-link:focus-visible,
article.slide-card .stretched-link:focus-visible,
.main-membri aside .fservices ul li .stretched-link:focus-visible,
.responsabile a.stretched-link:focus-visible,
.main-evento .notizia .portafoto.bordato .stretched-link:focus-visible,
.main-service .pulsantone .stretched-link:focus-visible {
    outline: none;
}
.swiper.sw_fix_sx1:has(*:focus-visible) {
    margin-left: -4px;
}
.swiper.sw_fix_sx1:has(*:focus-visible) .swiper-slide.swiper-slide-active {
    padding-left: 4px;
}
.main-home .attualita .promo-news article h4 a:focus-visible,
.main-home .attualita .promo-training article h4 a:focus-visible,
.main-jobs .offerte h3 a:focus-visible,
.main-evento .notizia h3 a.deco-titolo:focus-visible,
.main-news .main-content article h2 a:focus-visible,
.membri-team ul.recap li a:focus-visible {
    display: inline-block;
}

/* Fix */
@media (max-width: 575px) {

    /* Correzione bordi mobile */
    .container, .container-fluid, .container-lg, .container-md, .container-sm, .container-xl, .container-xxl {
        --bs-gutter-x: 2.5rem;
    }

    /* Progetti */
    .main-progetti .pl {
        border-top-right-radius: 0px;
    }

    /* Community */
    .main-communities .copertina {
        max-width: 220px;
    }

}

/* Versione mobile orizzontale */
@media (min-width: 576px) {
    
    /* Home */
    .main-home .video-hero {
        width: 394px;
        padding-bottom: 394px;
        left: calc(50% - 197px);  
        margin-top: -450px;
    }
    .main-home .hero-deco {
        width: 494px;
        margin-left: -247px;
    }
    .main-home .promo-team .media {
        margin-left: 0px;
        margin-right: 0px;
        border-radius: 15px;
    }

    /* Testo base */
    .pnrr-banner .w-100 {
        width: 50% !important;
    }
    .pnrr-banner img {
        height: 56px;
    }
    
    /* Utilità */ 
    .elixir-player .play::before {
        border-width: 20px;
        margin-left: -20px;
        margin-top: -20px;
    }

    /* Slider */
    .slider-laterale .card-laterale.br-std {
        border-radius: 0px;
    }
    .slider-grande .slide-card,
    .slider-laterale .card-laterale {
        width: 516px;
    }
    .slider-laterale > .swiper-wrapper > .card-laterale:first-child {
        border-radius: 15px 0px 0px 15px !important;
    }
    .slider-laterale > .swiper-wrapper > .card-laterale:last-child {
        border-radius:  0px 15px 15px 0px !important;
    }
    
    /* Services */
    .main-service .sidebar::before {
        width: 100%;
        left: 0px;
        border-radius: 15px 15px 0 0;
        transform: none;
    }
    .main-services .risultati .pulsante {
        margin-top: 13px;
    }

    /* How we work */
    .main-work .portafoto-blocco .portafoto.pf-full,
    .main-about .portafoto-blocco .portafoto.pf-full {
        margin-left: 0px;
        margin-right: 0px;
    }
    .main-work .portafoto-blocco .portafoto.pf-full img,
    .main-about .portafoto-blocco .portafoto.pf-full img {
        border-radius: 15px;
    }
    #communities-promo .slider-verticale {
        margin-left: calc(50% - 50vw);
        margin-right: calc(50% - 50vw);
    }

    /* About us */
    .main-about #quick-facts .row > div > a {
        padding: 0.5rem 1.5rem;
    }
    .main-about #quick-facts .row > .col-sm-6 > a {
        padding-right: 1.5rem;
        padding-bottom: 1.5rem;
    }
    .main-about #quick-facts .col-sm-6,
    .main-about #quick-facts .col-sm-6.col-12 + .col-sm-6.col-12 {
        border-top: 0;
    }
    .main-about #quick-facts .col-sm-6 + .col-sm-6 {
        border-left: 1px dashed #D8C6AB;
    }
    .main-about #quick-facts .row > .col-sm-6 .num {
        float: none;
        font-size: 2.875rem;
        margin-bottom: 0.25rem;
    }
    .main-about #quick-facts .row > .col-sm-6 .did {
        float: none;
        font-size: 1.25rem;
    }

    /* Contacts */
    .main-contacts form.bg-isabella::before {
        display: none;
    }
    .main-contacts .ruoli .swiper {
        margin-left: calc((516px - 100vw)/2);
        margin-right: calc((516px - 100vw)/2);
    }     
    .main-contacts .ruoli .swiper .swiper-slide {
        padding-left: calc((100vw - 516px)/2);
        padding-right: calc((100vw - 516px)/2);
    }

    /* Evento */
    .main-evento .fascetta::before,
    .main-evento .fascetta::after {
        width: 200px;
    }
    .main-evento .fascetta::before {
        margin-left: -458px;
        background: linear-gradient(to right, #FBF9F6, #F4EFE7);
    }
    .main-evento .fascetta::after {
        margin-left: 258px;
        background: linear-gradient(to left, #FBF9F6, #F4EFE7);
    }

    /* Community */ 
    .lista-community .piede {
        min-height: 98px;
    }

    /* Focus groups */
    .main-fg .lista-chiusi {
        column-count: 2;
        column-gap: 24px;
    }

    /* Newsletter */
    .main-newsletter aside::before {
        display: none;
    }
    .main-newsletter .nl-banner {
        padding-bottom: 3rem !important;
        aspect-ratio: 1.75;
    }
    .main-newsletter .nl-banner h3 {
        padding-right: 200px;
    }
    .main-newsletter .nl-banner .logo {
        width: 85px;
        top: 40px;
        position: absolute;
    }
    .main-newsletter .nl-banner .simulazione {
        left: auto;
        transform: none;
        right: -10px;
    }

}

/* Versione tablet */
@media (min-width: 768px) {

    /* Tipografia */
    .txt-24x {
        font-size: 1.625rem; /* 26px / 16px = 1.625em */
    }
    .txt-32 {
        font-size: 2.375rem; /* 38px / 16px = 2.375em */
    }
    .txt-46:not(.txt-ni) {
        font-size: 3.375rem; /* 54px / 16px = 3.375em */
    }

    /* Utilità  */
    .pos-md-abs {
        position: absolute;
    }
    .ep-contenitore::after {
        display: none;
    }

    /* Slider */
    .slider-grande .slide-card,
    .slider-laterale .card-laterale {
        width: 696px;
    }
    .slider-grande .tab-pulsanti .col {
        display: block;
    }
    
    /* Testata */
    .logo img {
        height: 64px;
    }

    /* Testo base */
    .pnrr-banner .w-100 {
        width: auto !important;
    }

    /* Home */
    .main-home .intro h1 span::before {
        width: 275px;
        height: 11px;
        background-size: 275px 11px;
    }
    .main-home .porta-video {
        margin-bottom: -20px;
    }
    .main-home .video-hero {
        width: 580px;
        padding-bottom: 580px;
        left: calc(50% - 290px);  
        margin-top: -750px;
    }
    .main-home .hero-deco {
        width: 720px;
        margin-left: -360px;
        top: -95px;
    }
    .main-home .foto {
        width: 260px;
        height: 260px;
        margin-top: -130px;
    }
    .main-home .promo-work .ico-plat {
        margin-top: 1px;
    }
    .main-home .promo-work .ico-fg {
        margin-top: -9px;
    }
    .main-home .promo-impact .bordato {
        border-top: none;
        border-left: 1px dashed #FFFFFF;
    }
    .main-home .promo-impact .bordato + .bordato {
        border-top: 1px dashed #FFFFFF;
    }
    .main-home .promo-services .s1 {
        width: 330px;
        left: -155px;
    }
    .main-home .promo-services .s2 {
        width: 380px;
        bottom: 184px;
        left: 35px;
    }
    .main-home .promo-services .s3 {
        width: 330px;
        bottom: 40px;
        right: auto;
        left: 530px;
    }
    .main-home .promo-jobs .slide img {
        width: 68px;
        height: 68px;
    }
    .main-home .promo-eventi::before {
        content: '';
        display: block;
        background-color: #FBF9F6;
        border-radius: 0px 15px 15px 0px;
        position: absolute;
        z-index: -1;
        width: 3000px;
        height: calc(100% + 6rem);
        right: -54px;
        top: -3rem;
    }
    .main-home .promo-news {
        border-bottom: 1px dashed #D8C6AB;
    }
    .main-home .lista-progetti-mini.swiper {
        padding-left: 3px;
        padding-right: 3px;
        margin-left: -3px;
        margin-right: -3px;
    }
    .main-home .lista-progetti-mini .swiper-slide {
        width: 276px;
    }
    .main-home .promo-newsletter ul li {
        border-radius: 5px;
    }
    .main-home .promo-newsletter ul li:nth-child(1) {
        z-index: 2;
    }
    .main-home .promo-newsletter ul li:nth-child(2) {
        margin-left: -0.75rem;
        margin-right: 12px;
        z-index: 1;
    }
    .main-home .promo-newsletter ul li:nth-child(3) {
        margin-right: 24px;
        margin-left: -1.5rem;
        margin-right: 1.5rem;
        z-index: 0;
    }
    .main-home .promo-newsletter ul li:nth-child(2),
    .main-home .promo-newsletter ul li:nth-child(3) {
        margin-top: -169px;
    }
    .main-home .promo-newsletter ul li:nth-child(2) a,
    .main-home .promo-newsletter ul li:nth-child(3) a {
        padding-top: 184px !important;
    }

    /* People */
    .membri-team .membro button.espandibile {
        top: 2px;
    }
    
    /* Banner */
    .banner.bg-deco-dna-2::before {
        bottom: auto;
        top: -800px;
        width: 2000px;
        height: 1342px;
        background-size: 2000px 1342px;
    }
    .banner.bg-deco-dna-3::before {
        top: -205px;
        left: 140px;
        width: 1000px;
        height: 671px;
        background-size: 1000px 671px;
    }

    /* Evento */
    .main-evento .fascetta::before {
        margin-left: -548px;
    }
    .main-evento .fascetta::after {
        margin-left: 348px;
    }
    .main-evento .slide-lista .txt-base ul {
        column-count: 2;
        column-gap: 48px; 
    }
    .slider-unico .spento {
        display: none;
    }
    .main-evento .slider-unico + .fondo {
        border-radius: 0px 0px 15px 15px;
    }
    .main-evento .slider-unico .tab-pulsanti + .slide-lista {
        border-radius: 0px 15px 0px 0px !important;
    }
    .main-evento .slider-unico.slider-tab-3 > .slide-lista:not(:last-child):not(:first-child),
    .main-evento .slider-unico.slider-tab-2 > .slide-lista:last-child {
        border-radius: 15px 15px 0px 0px;
    }
    .main-evento .slider-unico.slider-tab-3 > .slide-lista:last-child {
        border-radius: 15px 0px 0px 0px;
    }
    .main-evento .slider-unico.troncato .tab-pulsanti + .slide-lista,
    .main-evento .slider-unico.troncato.slider-tab-3 > .slide-lista:not(:last-child):not(:first-child),
    .main-evento .slider-unico.troncato.slider-tab-2 > .slide-lista:last-child,
    .main-evento .slider-unico.troncato.slider-tab-3 > .slide-lista:last-child {
        border-bottom-left-radius: 15px !important;
        border-bottom-right-radius: 15px !important;
    }
    .main-evento .slider-unico > .slide-lista,
    .main-evento .slider-unico + .fondo,
    .main-evento .slide-lista .evidenza h4 {
        background-color: #FBF9F6;
    }
    .main-evento .slider-unico > .slide-lista + .slide-lista {
        border-top: 0px;
    }
    .main-evento .slide-lista .evidenza {
        background-color: #FFFFFF;
    }
    .main-services .evento .url-esterno,
    .main-services .evento a:hover .url-esterno {
        padding-right: 0px;
    }
    .main-services .evento a:hover .url-esterno::after {
        position: absolute;
        bottom: -31px;
        margin-left: -18px;
    }    

    /* Community */
    .main-community .about {
        padding-left: 100px;
    }
    .main-community .psc {
        left: -80px;
        transform: none;
        top: auto;
    }

    /* Footer */
    footer .logo img {
        height: 90px;
    }
    .main-impact + footer::before {
        background-image: repeating-linear-gradient(to right, #f0eae0 0, #f0eae0 9px,  transparent 0px, transparent 190px);
        background-size: 1529px 1px;
        margin-top: -58px;
    }
    
    /* Servizio */
    .main-service .usi .uso strong {
        padding-left: 0px;
    }
    .main-service .usi .uso .caso {
        padding-top: 0px;
        padding-left: 32px;
    }
    .main-service .usi .uso .caso img {
        top: auto;
    }
    .servizi-correlati .lista-correlati.swiper {
        margin-left: -3px;
        margin-right: -3px;
        padding-left: 3px;
        padding-right: 3px;
    }
    .servizi-correlati .lista-correlati.swiper .swiper-slide {
        padding: 0px;
    }
    
    /* Eventi */
    .tabella-eventi .anno h3 {
        writing-mode: inherit;
    }
    .tabella-eventi .righe .col-md-6 + .col-md-6 .evento,
    .tabella-eventi .righe .w-100 + .col-md-6 .evento {
        border-top: none;
    }
    .main-events .banner .simulazione {
        width: 220px;
        aspect-ratio: 0.944;
        bottom: 0px;
        right: 20px;
    }

    /* Industry */
    .citazioni-volti .deco {
        left: auto;
        margin-left: 0px;
        right: 36px;
        top: 48px;
    }
    .citazioni-volti .volto-mini {
        left: auto;
        margin-left: 0px;
    }
    .citazioni-volti .vm-1 {
        right: 199px;
        top: 66px;
    }
    .citazioni-volti .vm-2 {
        right: 191px;
        top: 146px;
    }
    .citazioni-volti .vm-3 {
        right: 135px;
        top: 202px;
    }
    #partnerships {
        overflow: hidden;
    }
        
    /* How we work */
    .main-work .schedona .portafoto.pf-full,
    .main-about .schedona .portafoto.pf-full {
        aspect-ratio: 2;
    }
    .main-work .lista-platforms > li:nth-child(odd) {
        border-radius: 0px 10px 10px 0px;
    }
    .main-work .portafoto-blocco .blocco,
    .main-about .portafoto-blocco .blocco {
        margin-left: 0px;
        margin-right: 0px;
    }
    #communities-promo .slider-verticale {
        margin-left: 0px;
        margin-right: 0px;
        height: 600px;
        padding-bottom: 0px;
        padding-top: 0px;
        padding-left: 2px;
        padding-right: 2px;
    }
    #communities-promo .card {
        width: auto;
        height: 300px;
    }
    /*.lista-progetti {
        width: 3000px;
    }*/
    .lista-progetti .card {
        width: 276px;
    }
    #footer-promo .deco-loghi {
        top: -20px;
    }
    #footer-promo .deco-loghi .dl-4 {
        border-top-right-radius: 3px;
    }

    /* About us */
    .main-about #quick-facts .col-md-4.col-12 {
        border-top: 0;
    }
    .main-about #quick-facts .col-md-4 + .col-md-4,
    .main-about #quick-facts .col-md-6 + .col-md-6 {
        border-left: 1px dashed #D8C6AB;
    }
    .main-about #quick-facts .row > .col-md-4 .num {
        float: none;
        font-size: 2.875rem;
        margin-bottom: 0.25rem;
    }
    .main-about #quick-facts .row > .col-md-4 .did {
        float: none;
        font-size: 1.25rem;
    }
     
    /* Foto */
    .portafoto.pf-full {
        aspect-ratio: 2.25;
    }

    /* Impact */
    .main-impact {
        background-image: repeating-linear-gradient(to right, #f0eae0 0, #f0eae0 1px,  transparent 0px, transparent 190px);
        background-size: 1521px 1px;    
    }
    .set-dati .set .ico {
        width: 70px;
        height: 70px;
        border-width: 4px;
        margin-top: 0px;
        right: auto;
        position: relative;
    }
    .set-dati::before, .set-dati::after {
        content: '';
        display: block;
        width: 100%;
        position: absolute;
        left: 0px;
        z-index: -1;
        background-repeat: no-repeat;
    }
    .set-dati::before {
        top: -48px;
        height: 900px;
        background-image: url('assets/img/deco-impact-1.svg');
        background-size: 3000px 1390px;
        background-position: center -620px;
    }
    .set-dati::after {
        bottom: 40px;
        height: 900px;
        background-image: url('assets/img/deco-impact-2.svg');
        background-size: 3000px 1390px;
        background-position: center -430px;
    }
    .main-impact #data .contenitore.col-md-11 {
        flex: 0 0 91.66666667%;
        max-width: 91.66666667%;
    }    
    .main-impact #data .contenitore .col-md-8 > * {
        max-width: 352px;
    }

    /* Contacts */
    .main-contacts .ruoli .swiper {
        margin-left: 0px;
        margin-right: 0px;
    }
    .main-contacts .ruoli .swiper .swiper-slide {
        padding-left: 0px;
        padding-right: 0px;
    }
    
    /* Membro */
    .main-membro .psc::before {
        display: none;
    }
    .main-membro .ps {
        float: none;
        position: absolute;
        right: 0px;
        top: -140px;
        left: auto;
        transform: none;
    }

    /* Platforms */
    .main-platforms .esagono {
        width: 357px;
        height: 322px;
    }
    .main-platforms .esagono .plat {
        width: 82px;
        height: 82px;
    }
    .main-platforms .ico-p {
        margin-top: -15px;
    }
    .main-platforms ul.fix-ultimo > li:last-child {
        padding-bottom: 0px !important;
    }

    /* Progetto */
    .main-progetto aside > *:first-child {
        max-width: 400px;
        margin-left: auto !important;
        margin-right: auto !important;
    }

    /* Newsletter */
    .main-newsletter .nl-banner .simulazione {
        width: 330px;
        right: 30px;
    }
    .main-newsletter .nl-banner h3 {
        padding-right: 330px;
    }

    /* Errore 404 */ 
    .main-404 {
        min-height: calc(100vh - 120px);
    }

}

/* Versione desktop */
@media (min-width: 992px) { 

    /* Tipografia */
    .txt-26 {
        font-size: 32px;
    }

    /* Navigazione */
    .main-nav > ul > li > a:focus-visible::before,
    #main-menu > li.selected::before,
    #main-menu > li:not(.selected):has(>a:hover)::before {
        content: '';
        display: block;
        position: absolute;
        border-radius: 50px;
        width: calc(100% + 30px);
        height: 34px;
        top: 50%;
        margin-top: -16px;
        left: -15px;
    }
    .main-nav > ul > li > a:focus-visible::before {
        outline: 2px solid #f47d20;
    }
    #main-menu > li.selected::before,
    #main-menu > li:not(.selected):has(>a:hover)::before {
        background-color: #28516b;
    }
    .main-nav li .chevron {
        width: 14px;
        height: 14px;
        top: 2px;
    }
    header.bg-bianco #main-menu > li.selected::before,
    header.bg-bianco #main-menu > li:not(.selected):has(> a:hover)::before,
    header.bg-bianco .main-nav li .chevron {
        background-color: #fbf9f6; 
    }
    .main-nav li .chevron::after {
        margin-top: 3px;
        margin-left: -10px;
    }
    header.bg-bianco .main-nav li .chevron::after {
        border-color: #4C4847;
    }
    .main-nav #main-menu > li > ul {
        display: none;
        position: absolute;
        background-color: #bebf32;
        z-index: 99;
        transform: translateX(-50%);
        margin-left: 50%;
        border-radius: 5px;
        padding: 5px;
        font-weight: 700;
        margin-top: 16px;
        overflow: hidden;
        opacity: 0;
        animation: calata 0.3s ease-in forwards;
    }
    @keyframes calata {
        0% {
            opacity: 0;
            margin-top: -5px;
        }
        100% {
            opacity: 1;
            margin-top: 5px;
        }
    }    
    .main-nav #main-menu > li:hover > ul,
    .main-nav #main-menu > li a:focus + ul,
    .main-nav #main-menu > li a + ul:has(a:focus),
    .main-nav #main-menu > li:focus-within > ul {
        display: block;
    }
    .main-nav #main-menu > li:hover .chevron,
    .main-nav #main-menu > li a:focus .chevron,
    .main-nav #main-menu > li:focus-within .chevron {
        background-color: #ffffff;
        transform: rotate(-90deg);
    }
    .main-nav #main-menu > li:hover .chevron::after,
    .main-nav #main-menu > li a:focus .chevron::after,
    .main-nav #main-menu > li:focus-within .chevron::after {
        border-color: #023452;
    }
    header.bg-bianco .main-nav #main-menu > li:hover .chevron,
    header.bg-bianco .main-nav #main-menu > li a:focus .chevron,
    header.bg-bianco .main-nav #main-menu > li:focus-within .chevron {
        background-color: #F47D20;
    }
    header.bg-bianco .main-nav #main-menu > li:hover .chevron::after,
    header.bg-bianco .main-nav #main-menu > li a:focus .chevron::after,
    header.bg-bianco .main-nav #main-menu > li:focus-within .chevron::after {
        border-color: #ffffff;
    }
    .main-nav #main-menu > li:hover::after,
    .main-nav #main-menu > li:has(a:focus)::after {
        content: '';
        display: block;
        width: 100%;
        height: 17px;
        position: absolute;
    }
    .main-nav #main-menu > li > ul > li {
        display: block;
        margin: 0px;
        text-align: center;
    }
    .main-nav #main-menu > li > ul > li > a {
        font-size: 14px;
        text-transform: none;
        padding: 10px 25px;
        color: #023452;
        position: relative;
    }
    .main-nav #main-menu > li > ul > li:first-child > a {
        border-radius: 4px 4px 0px 0px;
    }
    .main-nav #main-menu > li > ul > li:last-child > a {
        border-radius: 0px 0px 4px 4px;
    }
    .main-nav #main-menu > li > ul > li > a:hover {
        background-color: rgba(255,255,255,0.15);
    }
    .main-nav #main-menu > li > ul > li + li {
        border-top: 1px solid rgba(255,255,255,0.5);
    }
    .mchiaro .main-nav #main-menu > li > ul {
        background-color: #FBF9F6;
        border: 1px solid #023452;
        min-width: 102%;
    }
    header.bg-bianco .mchiaro .main-nav #main-menu > li > ul {
        border-color: #D8C6AB;
    }
    header.bg-bianco .mchiaro .main-nav #main-menu > li > ul > li > a {
        color: #4C4847;
    }
    .mchiaro .main-nav #main-menu > li > ul > li + li {
        border-top: 1px solid rgba(216, 198, 171, 0.5) ;
    }
    .mchiaro .main-nav #main-menu > li > ul > li > a:hover {
        background-color: rgba(216, 198, 171,0.15);
    }

    /* Testo base */
    .pnrr-banner img {
        height: 76px;
    }

    /* Utilità */
    .txt-2c {
        column-count: 2;
        column-gap: 3rem;
    }
    .ratio-v-4x3-2x1 {
        aspect-ratio: 2;
    }
    .training-promo.fissato-top,
    .platforms-intro.fissato-top {
        position: fixed;
        top: 48px;
        left: auto;
        right: auto;
        z-index: 10;
        margin-top: 0px !important;
    }
    .training-promo.fissato-bottom,
    .platforms-intro.fissato-bottom,
    .main-progetti .featured.fissato-bottom {
        position: absolute;
        bottom: 0;
        top: auto;
    }
    .main-progetti .featured.bloccato-bottom {
        position: fixed;
        bottom: 0;
        top: auto;
    }
    .main-progetti .featured.fissato-bottom,
    .main-progetti .featured.bloccato-bottom {
        width: 536px;
    }
    
    /* Banner */
    .banner.bg-deco-nl::after {
        content: '';
        display: block;
        position: absolute;
        bottom: -60px;
        right: -95px;
        width: 273px;
        height: 285px;
        background-image: url('assets/img/deco-nl.svg');
        background-size: 273px 285px;
        background-repeat: no-repeat;
        background-position: center;
    }
    .banner.bg-deco-dna::before {
        top: -360px;
        right: -310px;
    }
    .banner.bg-deco-dna-3::before {
        top: -305px;
    }

    /* Home */
    .main-home .porta-video {
        position: absolute;
        left: 50%;
        margin-left: -120px;
        top: 90px;
    }
    .main-home .video-hero {
        left: calc(50% - 190px);  
    }
    .main-home .hero-deco {
        margin-left: -260px;
    }
    .main-home .ante-membri {
        margin-top: 713px !important;
    }
    .main-home .det {
        margin-right: -74px;
    }
    .main-home .promo-iib .bg-isabella {
        background-color: transparent;
    }
    .main-home .promo-iib .placca {
        border-radius: 0px;
    }
    .main-home .promo-iib .media {
        border-radius: 15px;
    }
    .main-home .foto {
        position: relative;
        margin-top: 0;
        right: auto;
    }
    .main-home .banner img {
        width: 50px;
        height: 50px;
    }
    .main-home .promo-impact .bordato + .bordato {
        border-top: 0;
    }
    .main-home .promo-newsletter ul li:nth-child(2),
    .main-home .promo-newsletter ul li:nth-child(3) {
        margin-top: -179px;
    }
    .main-home .promo-newsletter ul li:nth-child(2) a,
    .main-home .promo-newsletter ul li:nth-child(3) a {
        padding-top: 194px !important;
    }
    .main-home .promo-jobs .swiper-wrapper {
        align-items: stretch;
    }
    .main-home .promo-jobs .swiper-slide {
        height: auto;
        display: flex;
        flex-direction: column;
    }
    .main-home .promo-jobs .swiper-slide > div {
        flex-grow: 1;
        display: flex;
        flex-direction: column;
    }
    .main-home .promo-jobs .evento-info {
        display: flex;
        flex-direction: column;
        flex-grow: 1;
        justify-content: space-between;
    }

    /* People */
    .main-people .volti-team {
        max-width: none;
    }
    .membri-sab .membro a {
        left: 50px;
        margin-left: 0px;
    }

    /* Members */
    .main-membri aside {
        padding-top: 200px;
    }

    /* Membro */
    .main-membro .ps {
        right: auto;
        left: 50%;
        transform: translateX(-50%);
        /*top: 0px;*/
        top: auto;
        bottom: -92px;
    }
    .main-membro .ps .stemma {
        width: 216px;
        height: 216px;
    }
      
    /* Jobs */
    .main-jobs aside.bg-isabella::before {
        left: auto;
        right: 0px;
        margin-left: 0px;
        margin-right: -280px;
        width: 300px;
    }
    .offerta time.veloce::before {
        right: auto;
        margin-right: 0px;
        margin-left: -35px;
        left: 0px;
    }
    .main-jobs .offerta > .pb-2.pb-lg-0 {
        padding-right: 12rem !important;
    }

    /* Contacts */
    .main-contacts .ruoli .swiper {
        margin-right: -104px;
        margin-left: calc((936px - 100vw)/2);
    }     
    .main-contacts .ruoli .swiper .swiper-slide {
        padding-left: calc((100vw - 936px)/2);
    }

    /* Services */
    .main-service .sidebar::before {
        height: calc(100% + 48px);
        top: -24px;
    }
    .main-service .sidebar::after {
        content: "";
        display: block;
        position: absolute;
        width: calc(100% + 96px);
        height: 204px;
        background: linear-gradient(to bottom, #fbf9f6, white);
        margin-left: -48px;
        top: -117px;
        border-top: 120px solid #fbf9f6;
        z-index: -2;
    } 

    /* Platforms */
    .main-platforms .titolazione::before,
    .main-platforms .titolazione::after {
        content: '';
        display: block;
        position: absolute;
        left: 50%;
        z-index: -1;
        opacity: 0.6;
    }
    .main-platforms .bg-blu .titolazione::before,
    .main-platforms .bg-blu .titolazione::after {
        z-index: auto;
    }
    .main-platforms .bg-blu .titolazione::before {
        opacity: 0.05;
    }
    .main-platforms .bg-blu .titolazione::after {
        opacity: 0.08;
    }
    .main-platforms .titolazione::before {
        width: 680px;
        height: 342px;
        background: url('assets/img/bg-esagoni-1.svg');
        background-size: 680px 342px;
        background-repeat: no-repeat;
        background-position: center;
        top: 0px;
        margin-left: 25px;
        margin-top: -70px;
    }
    .main-platforms .titolazione::after {
        width: 607px;
        height: 203px;
        background: url('assets/img/bg-esagoni-2.svg');
        background-size: 606px 202px;
        background-repeat: no-repeat;
        background-position: center;
        bottom: 0px;
        margin-left: -15px;
        margin-bottom: -75px;
    }
    .main-platforms .esagono {
        margin-top: -40px;
    }
    .main-platforms .esagono .logo {
        width: 70px;
    }
    .main-platforms .ico-p {
        width: 100px;
        height: 100px;
        padding: 10px;
        margin-top: -25px;
    }

    /* Progetti */
    .main-progetti .pl {
        width: 252px;
    }
    .main-progetti .pl img {
        max-width: 180px;
    }
    .main-progetti .fix-titolo {
        width: 300px;
    }
    
    /* Progetto */
    .main-progetto {
        overflow: hidden;
    }
    .main-progetto .pl {
        margin-top: 0px;
    }
    .main-progetto .pl::before {
        content: '';
        display: block;
        width: calc(100% + 48px);
        height: 150px;
        position: absolute;
        margin-left: -72px;
        background-color: #fff;
        z-index: 0;
        margin-top: -48px;
        border-radius: 15px 15px 0px 0px;
    }
    .main-progetto .pl img {
        z-index: 2;
        position: relative;
    }
    .main-progetto aside, .main-progetto aside .as-wrap {
        position: relative;
    }
    .main-progetto aside::before {
        content: "";
        display: block;
        position: absolute;
        width: calc(100% + 72px);
        height: 204px;
        background: linear-gradient(to bottom, #fbf9f6, white);
        margin-left: -48px;
        top: -94px;
        border-top: 120px solid #fbf9f6;
    }
    .main-progetto aside .as-wrap::before {
        content: '';
        display: block;
        width: calc(100% + 48px);
        background-color: #fff;
        height: 100%;
        position: absolute;
        margin-left: -24px;
        border-radius: 15px;
    }
    .main-progetto aside .as-wrap > * {
        position: relative;
        z-index: 1;
    }

    /* Servizio */
    .main-service .sidebar::before {
        height: calc(100% + 24px);
        width: calc(100% + 48px);
        background: #FFFFFF;
        top: -12px;
        left: -24px;
        border-radius: 15px;
    }
    .main-service .pulsantone {
        border-top-right-radius: 100px;
        border-bottom-right-radius: 100px;
        margin-top: inherit;
    }
    .main-service .pulsantone::before {
        width: 40px;
        height: 40px;
        bottom: 15px;
        top: 50%;
        right: 40px;
        transform: translateY(-50%);
        background-size: 27px 18px;
    }
    .main-service .pulsantone span.d-block {
        padding-left: 34% !important;
        padding-right: 100px !important;
    }
    .servizio-doc .schermo {
        position: absolute;
        bottom: 30px;
        left: 30px;
    }

    /* Focus group */
    .main-fg .lista-chiusi {
        column-count: 1;
        column-gap: 0px;
    }
    .lista-fg article.card {
        min-height: 196px;
    }

    /* Calendario */
    .calendario.std {
        width: 69px;
        height: 100px;
    }
    .calendario.std .giorno {
        height: 56px;
        line-height: 55px;
        font-size: 38px;
    }
    .calendario.std .mese {
        height: 40px;
        line-height: 39px;
        font-size: 18px;
    }

    /* Slider */
    .bg-sfumato::after {
        height: 100px;
    }
    .slider-grande .slide-card {
        width: 936px;
    }
    .slider-laterale .card-laterale {
        width: 776px;
    }

    /* How we work */
    .platforms-intro.fissato-top,
    .platforms-intro.fissato-bottom {
        width: 296px;
    }

    /* About us */
    .main-about #quick-facts .row > div > a {
        padding-top: 1rem;
        padding-bottom: 1.5rem;
    }
    .main-about #quick-facts .col-12 + .col-12 {
        border-top: 0;
        border-left: 1px dashed #D8C6AB;
    }
    .main-about #quick-facts .row > div .num {
        float: none;
        font-size: 2.875rem;
        margin-bottom: 0.5rem;
    }
    .main-about #quick-facts .row > div .did {
        float: none;
        font-size: 1.25rem;
    }
    .main-about #quick-facts .row > div a:hover .did::after {
        content: '';
        display: inline-block;
        height: 18px;
        width: 18px;
        border-radius: 50%;
        background-color: #F47D20;
        margin-left: 0.5rem;
        vertical-align: text-top;
        margin-top: 0.3125rem;
        background-image: url('assets/img/arrow-next-bia.svg');
        background-size: 12px 12px;
        background-position: center;
        background-repeat: no-repeat;
    }
    .main-about #quick-facts .row > div > a:hover {
        outline: 2px solid #F47D20;
        border-radius: 5px;
    }
    .main-about #quick-facts .col-12:has(a:hover),
    .main-about #quick-facts .col-12:has(a:hover) + .col-12 {
        border-left-color: transparent;
    }            

    /* Events */
    .training-promo {
        margin-top: 120px !important;
    }
    .training-promo::before {
        right: -280px;
        width: 300px;
    }
    .training-promo.fissato-top,
    .training-promo.fissato-bottom {
        width: 296px;
    }

    /* Evento */
    .main-evento .evento .text-lg-end .luogo::before {
        left: auto;
        right: 0px;
    }
    .main-evento .fascetta::before {
        margin-left: -668px;
    }
    .main-evento .fascetta::after {
        margin-left: 468px;
    }

    /* Testata */
    #testata:not(.fluida) {
        min-height: 650px;
    }
        
    /* Industry */
    .deco-loghi .dl-a {
        margin-left: 70px;
    }
    .deco-loghi .dl-b,
    .deco-loghi .dl-d {
        margin-left: 95px;
    }
    .deco-loghi .dl-e {
        margin-top: 55px;
    }
    .deco-loghi .dl-f {
        margin-left: 190px;
    }
    .deco-loghi .dl-g {
        margin-left: 140px;
    }
    .deco-loghi .dl-j {
        margin-top: -20px;
        margin-bottom: 40px;
    }
    .deco-loghi .dl-k,
    .deco-loghi .dl-h,
    .deco-loghi .dl-n {
        margin-left: 165px;
    }
    .deco-loghi .dl-l {
        margin-left: 70px;
    }
    .deco-loghi .dl-i,
    .deco-loghi .dl-m {
        margin-left: 190px;
    }
    .deco-loghi .dl-o {
        margin-left: 95px;
    }
    .deco-loghi .dl-m {
        margin-top: 20px;
        margin-bottom: 20px;
    }
    .deco-loghi .col-a {
        margin-left: -468px;
    }
    .deco-loghi .col-b {
        margin-left: 208px;
    }
    .citazioni-volti .deco {
        top: 72px;
    }
    .citazioni-volti + div h2 {
        position: relative;
        width: auto;
        text-align: inherit;
        left: auto;
        top: auto;
    }
    .citazioni-volti .vm-1 {
        top: 90px;
    }
    .citazioni-volti .vm-2 {
        top: 170px;
    }
    .citazioni-volti .vm-3 {
        top: 226px;
    }

    /* Impact */
    .main-impact #data .contenitore.col-lg-9 {
        flex: 0 0 75%;
        max-width: 75%;
    }    
    .main-impact #data .contenitore .col-md-8 > * {
        max-width: 392px;
    }
   
    /* How we work */
    .main-work .lista-platforms > li:nth-child(odd)  {
        background: transparent;
        border-radius: 0px;
    }
    .main-work .lista-platforms > li:nth-child(even)  {
        background: linear-gradient(to right, #FBF9F6, #FFFFFF);
    }
    .lista-platforms img {
        width: 40px;
        height: 40px;
        margin-left: -60px;
        margin-top: -3px;
        position: absolute;
        margin-right: 0px;
    }
    .main-work .schedona .portafoto.pf-full,
    .main-about .schedona .portafoto.pf-full {
        border-radius: 15px;
    }
    .main-work .portafoto-blocco,
    .main-about .portafoto-blocco {
        padding-bottom: 108px;
    }
    .main-work .portafoto-blocco .blocco,
    .main-about .portafoto-blocco .blocco {
        position: absolute;
        margin-top: 0px;
        width: 100%;
        bottom: -60px;
    }
    .main-work .portafoto-blocco .marquee {
        border-bottom: none;
        border-top: 2px dotted #FFFFFF;
    }
    /* .lista-progetti {
        width: 2880px;
    } */
    .lista-progetti .card {
        width: 296px;
    }
    #footer-promo .deco-barre {
        top: 0px;
        left: 10%;
        transform: none;
    }

    /* Community */
    .main-community .psc {
        left: -99px;
    }

    /* News */
    .main-news-singola .intestazione.bordata:has(.portafoto)::before,
    ._main-evento .intestazione.bordata::before {
        content: '';
        display: block;
        position: absolute;
        left: 0px;
        bottom: 0px;
        height: 72px;
        width: 100%;
        background-color: #fff;
    }

    /* Newsletter */
    .main-newsletter .notifica_ani {
        width: 148px;
        height: 148px;
        right: -164px;
        top: 8px;
        left: auto;
        bottom: auto;
        margin-left: 0px;
    }
    .main-newsletter .notifica_ani .cont::before {
        background-size: 128px 141px;
        width: 128px;
        height: 141px;
        top: 10px;
        transform: rotate(0deg);
    }
    .main-newsletter .notifica_ani .rotella {
        animation-name: rotella;
    }
    .main-newsletter .notifica_ani .cont {
        width: 128px;
        height: 128px;
    }
    .main-newsletter .notifica_ani svg {
        font-size: 150px;
    }
    .main-newsletter aside::before {
        display: block;
        width: 300px;
        left: auto;
        right: -150px;
    }
    .main-newsletter .nl-banner .simulazione {
        width: 240px;
        right: -30px;
    }
    .main-newsletter .nl-banner h3 {
        padding-right: 190px;
    }

    /* Footer */
    .footer-tools .social-icona {
        width: 36px;
        height: 36px;
    }
    .footer-tools .social-icona + span + .social-icona {
        margin-left: 8px;
    }
    .footer-tools .social-icona img {
        width: 18px;
        height: 18px;
        margin: 9px auto;
    }
    
    /* Accesibilità - Navigazione da tastiera */
    .main-nav > ul > li > a:focus-visible {
        outline: none;
    }

}

/* Versione desktop esteso */
@media (min-width: 1200px) {

    /* Home */
    .main-home .porta-video {
        margin-left: -62px;
        top: -60px;
    }
    .main-home .video-hero {
        left: calc(50% - 280px);  
    }
    .main-home .hero-deco {
        margin-left: -350px;
    }
    .main-home .ante-membri {
        margin-top: 633px !important;
    }
    .main-home .det {
        margin-right: -84px;
    }
    .main-home .iib {
        max-width: 302px
    }
    .main-home .promo-services .s4 {
        left: 698px;
    }
    .main-home .promo-eventi::before {
        right: -110px;
    }
    .main-home .promo-eventi .txt-btn {
        margin-right: calc(3rem - 110px);
        float: right;
    }
    /*.main-home .promo-newsletter img {
        max-width: 240px;
    }*/
    .main-home .promo-newsletter .nl-banner {
        width: 240px;
    }
    .main-home .promo-newsletter ul li:nth-child(2),
    .main-home .promo-newsletter ul li:nth-child(3) {
        margin-top: -115px;
    }
    .main-home .promo-newsletter ul li:nth-child(2) a,
    .main-home .promo-newsletter ul li:nth-child(3) a {
        padding-top: 130px !important;
    }


    /* Slider */
    .slider-grande .slide-card {
        width: 1116px;
    }
    .slider-laterale .card-laterale {
        width: 736px;
    }
    .slide-card .piede .stemma {
        width: 68px;
        height: 68px;
    }

    /* Servizio */
    .servizio-doc .schermo {
        width: 300px;
        height: 200px;
    }

    /* Utilità */
    .main-progetti .featured.fissato-bottom,
    .main-progetti .featured.bloccato-bottom {
        width: 546px;
    }

    /* Impact */
    .main-impact #data .contenitore.col-xl-8 {
        flex: 0 0 66.75%;
        max-width: 66.75%;
    }
    .main-impact #data .contenitore .col-md-8 > * {
        max-width: 419px;
    }

    /* How we work */
    .platforms-intro.fissato-top,
    .platforms-intro.fissato-bottom {
        width: 356px;
    }

    /* About us */
    .main-about #quick-facts .row > div > a {
        padding: 2.5rem 3rem 3rem !important;
        float: none;
    }
    
    /* Events */
    .training-promo::before {
        display: none;
    }
    .training-promo.fissato-top,
    .training-promo.fissato-bottom {
        width: 356px;
    }
    .main-events .banner .simulazione {
        right: 60px;
    }

    /* Community */
    .main-community .about {
        padding-right: 46px;
    }
    .main-community .ps .stemma {
        width: 240px;
        height: 240px;
    }
    
    /* Industry */
    .deco-loghi .col-a {
        margin-left: -558px;
    }
    .deco-loghi .col-b {
        margin-left: 298px;
    }
    .citazioni-volti .vm-1 {
        right: 190px;
        top: 40px;
    }
    .citazioni-volti .vm-2 {
        right: 230px;
        top: 140px;
    }
    .citazioni-volti .vm-3 {
        right: 165px;
        top: 225px;
    }

    /* How we work */
    /*.lista-progetti {
        width: 2850px;
    }*/
    .lista-progetti .card {
        width: 261px;
    }
    #footer-promo .deco-barre {
        left: 0px;
    }
    #footer-promo .deco-loghi {
        top: 0px;
    }
    #footer-promo .deco-loghi .dl-4 {
        border-top-right-radius: 0px;
    }

     /* Utilità */
    .main-progetti .featured.fissato-bottom,
    .main-progetti .featured.bloccato-bottom {
        width: 636px;
    }

    /* Members */
    .main-membri aside {
        padding-top: 300px;
    }
    .main-membri .mappa {
        margin-left: 85px;
        width: 620px;
        height: 620px;
    }
    .main-membri .mappa .italia {
        width: 360px;
        height: 401px;
    }

    /* Membro */
    .main-membro .ps .stemma {
        width: 240px;
        height: 240px;
    }

    /* Newsletter */
    .main-newsletter aside::before {
        display: none;
    }
    .main-newsletter .nl-banner .simulazione {
        width: 280px;
        right: 10px;
    }
    .main-newsletter .nl-banner h3 {
        padding-right: 260px;
    }

    /* Evento */
    .main-evento .pf {
        align-self: flex-end !important;
        position: relative;
        z-index: 2;
    }
    .main-evento .banner {
        margin-bottom: -132px;
    }
    .main-evento .intestazione.con_foto {
        margin-bottom: 72px;
    }
    .main-evento .fascetta::before {
        margin-left: -758px;
    }
    .main-evento .fascetta::after {
        margin-left: 558px;
    }

    /* Contacts */
    .main-contacts .ruoli .swiper {
        margin-right: -119px;
        margin-left: calc((1116px - 100vw)/2);
    }     
    .main-contacts .ruoli .swiper .swiper-slide {
        padding-left: calc((100vw - 1116px)/2);
    }

    /* Footer */
    .footer-tools .social-icona + span + .social-icona {
        margin-left: 12px;
    }

}

/* Versione Desktop XXL */
@media (min-width: 1400px) {

    /* Home */
    .main-home .porta-video {
        top: -160px;
    }
    .main-home .video-hero {
        width: 672px;
        padding-bottom: 672px;
        left: calc(50% - 336px);  
        top: -115px;
    }
    .main-home .hero-deco {
        width: 860px;
        margin-left: -430px;
    }
    .main-home .ante-membri {
        margin-top: 624px !important;
    }
    .main-home .det {
        margin-right: 0px;
    }
    .main-home .promo-iib .txt-20 {
        font-size: 1.375rem;
    }

    /* Utilità */
    .elixir-player .testo strong {
        font-size: 1.875rem !important;
    }

    /* Slider */
    .slider-laterale .card-laterale {
        width: 856px;
    }

    /* Platforms */
    .main-platforms .titolazione::before {
        margin-left: 70px;
    }
    .main-platforms .titolazione::after {
        margin-left: 40px;
    }

    /* Jobs */
    .main-jobs aside.bg-isabella::before {
        display: none;
    }
    .main-jobs .candidati {
        margin-right: 11px !important;
    }
    
    /* Industry */
    .deco-loghi .col-a {
        margin-left: -648px;
    }
    .deco-loghi .col-b {
        margin-left: 388px;
    }

    /* Impact */
    .main-impact #data .contenitore .col-md-8 > * {
        max-width: 499px;
    }

    /* Community */
    .main-community .about {
        padding-right: 62px;
    }

    /* How we work */
    .platforms-intro.fissato-top,
    .platforms-intro.fissato-bottom {
        width: 416px;
    }

    /* About us */
    .main-about #quick-facts .row > div .num {
        font-size: 3.375rem !important;
    }
    .main-about #quick-facts .row > div .did {
        font-size: 1.5rem !important;
    }
    .main-about #quick-facts .row > div a:hover .did::after {
        margin-top: 0.5rem;
    }

    /* Events */
    .training-promo.fissato-top,
    .training-promo.fissato-bottom {
        width: 416px;
    }

    /* Evento */
    .main-evento .fascetta::before {
        margin-left: -848px;
    }
    .main-evento .fascetta::after {
        margin-left: 648px;
    }

    /* Members */
    .main-membri .mappa {
        margin-left: 130px;
    }

    /* Newsletter */
    .main-newsletter .nl-banner .simulazione {
        width: 330px;
        right: 30px;
    }
    .main-newsletter .nl-banner h3 {
        padding-right: 340px;
    }

    /* Contacts */
    .main-contacts .ruoli .swiper {
        margin-right: -134px;
        margin-left: calc((1296px - 100vw)/2);
    }     
    .main-contacts .ruoli .swiper .swiper-slide {
        padding-left: calc((100vw - 1296px)/2);
    }
    
    /* Footer */
    .footer-tools .social-icona {
        width: 40px;
        height: 40px;
    }
    .footer-tools .social-icona + span + .social-icona {
        margin-left: 15px;
    }
    .footer-tools .social-icona img {
        width: 20px;
        height: 20px;
        margin: 10px auto;
    }

}

/* Versioni mobile e tablet */
@media (max-width: 991px) {

    /* Navigazione mobile */
    .nav-toggle {
        display: block;
        background: transparent;
        border: none;
        padding: 10px 8px;
        cursor: pointer;
        width: auto;
        height: auto;
        z-index: 1000;
        transition: all 0.3s ease;
    }
    .hamburger {
        display: block;
        position: relative;
        width: 24px;
        height: 20px;
    }
    .hamburger span {
        position: absolute;
        left: 0;
        width: 100%;
        height: 2px;
        background-color: #FFFFFF;
        border-radius: 1px;
        transition: all 0.3s ease;
    }
    .hamburger span:nth-child(1) {
        top: 0;
    }
    .hamburger span:nth-child(2) {
        top: 9px;
    }
    .hamburger span:nth-child(3) {
        bottom: 0;
    }
    .nav-toggle.active .hamburger span:nth-child(1) {
        transform: translateY(9px) rotate(45deg);
    }
    .nav-toggle.active .hamburger span:nth-child(2) {
        opacity: 0;
    }
    .nav-toggle.active .hamburger span:nth-child(3) {
        transform: translateY(-9px) rotate(-45deg);
    }    
    .main-nav #main-menu {
        visibility: hidden;
        opacity: 0;
        position: fixed;
        position: fixed;
        top: 88px;
        right: -105vw;
        width: 100vw;
        min-height: 100vh;
        background: linear-gradient(to bottom, #023452, #02253C);
        flex-direction: column;
        align-items: flex-start;
        padding: 30px 20px 118px;
        transition: right 0.3s ease;
        z-index: 990;
        text-align: center;
        font-size: 20px;
        overflow-y: auto;
        max-height: calc(100vh - 88px);
    }
    .main-nav #main-menu.active {
        visibility: visible;
        opacity: 1;
        right: 0;
    }
    /*.main-nav #main-menu li.selected > a,*/
    .main-nav #main-menu li a:hover {
        background-color: rgba(255,255,255,0.15);
    }
    .main-nav li {
        margin: 0;
        display: block;
        width: 100%;
    }
    .main-nav #main-menu > li + li {
        border-top: 1px solid rgba(255,255,255,0.5);
    }
    .main-nav #main-menu > li > ul {
        max-height: 0;
        overflow: hidden;
        transition: max-height 0.3s ease-in-out, padding 0.3s ease-in-out;
        padding-bottom: 0;
    }
    .main-nav #main-menu > li a + ul:has(a:focus),
    .main-nav #main-menu > li:focus-within > ul,
    .main-nav #main-menu > li > a:focus-visible + ul,
    .main-nav #main-menu > li > a.aperto + ul {
        max-height: 500px;
        padding-bottom: 20px;
    }
    .main-nav #main-menu > li > ul > li > a:focus-visible {
        border: 2px solid #F47D20;
        outline: none;
        padding: 8px 0px;
    }
    .main-nav #main-menu > li > a:focus-visible .chevron,
    .main-nav #main-menu > li > a.aperto .chevron {
        transform: rotate(-90deg);
    }
    .main-nav #main-menu > li > a {
        font-size: 20px;
        padding: 20px 0;
    }
    .main-nav #main-menu > li > a:has(.chevron) {
        padding-left: 20px;
    }
    body.menu-open {
        overflow: hidden;
    }

    /* Tipografia */
   .main-home .promo-impact .txt-46 {
        font-size: 2rem;
    }
    .main-home .promo-impact .bordato .txt-18 {
        font-size: 0.9375rem;
    }

    /* Filtri */
    .filtri.chiuso .filtri-blocco {
        display: none
    }

    /* Menu di sezione */
    .menu-sezione .row {
        height: 43.95px;
        overflow-y: hidden;
    }
    .menu-sezione:has(.attivo) .row li:has(.attivo) {
        display: block;
    }
    .menu-sezione:has(.attivo) .row li:not(:has(.attivo)) {
        display: none;
    }

}

/* Versioni mobile */
@media (max-width: 767px) {

    /* Tipografia */
    .main-home .promo-impact .txt-46 {
        font-size: 1.625rem;
    }

    /* Varie */
    .main-home .testimonial blockquote::before,
    .main-home .testimonial blockquote::after {
        display: none;
    }
    #toolkit .banner.bg-deco-dna-3::before {
        top: auto;
        bottom: -75px;
        left: 90px;
    }
    .main-home .promo-newsletter ul li:has(a:hover) {
        z-index: 1;
    }

}