/*
 *
 * BY ing. Nicolò Chiellini n.chiellini@4sigma.it
 * dott. Valeria La Mantia v.lamantia@4sigma.it
 * dott. Livia Ranzini l.ranzini@4sigma.it
 *
 */
 :root {
    --scrollbar-width: 0px;
    --vh: 1vh;
    --vw: 1vw;
    --bianco: #fff;
    --nero: #000;
    --rosso: #E21E25;
    --azzurro: #AADAE2;
    --rosa: #FCA1CC;
    --violetto: #E1D1EA;
    --arancio: #FFD993;
    --verde: #C1E1A2;
}

.atk-mono {
    font-family: "Atkinson Hyperlegible Mono", sans-serif;
}
.gt-pressura {
    font-family: "GTPressura";
}
.grotesque {
    font-family: "aktiv-grotesk";
}

html {
    width: 100%;
    min-height: 100%;
    margin: 0px;
    float: left;
    padding: 0px;
    font-family: "GTPressura";
    font-size: 15px;
    line-height: 22px;
    background-color: var(--bianco);
    color: var(--rosso);
    overflow-x: hidden;
    scroll-behavior: smooth;
}
body {
    border: none;
    padding: 0px;
    margin: 0px;
    width: 100%;
    min-height: 100vh;
    float: left;
    -webkit-text-size-adjust: 100%;
    font-weight: 400;
    position: relative;
    color: var(--rosso);
    overflow-x: hidden;
}

td {
    border: none;
    text-align: left;
    margin: 0px;
    padding: 0px;
}
div, p, h1, h2, h3, h4, h5, h6, ul,
footer, header, nav, article, main, aside,
section, form, fieldset, marquee,
figure, figcation {
    float: left;
    margin: 0px;
    padding: 0px;
    width: 100%;
    text-align: left;
    text-decoration: none;
    -webkit-text-size-adjust: 100%;
}
img {
    text-decoration: none;
    border: none;
    vertical-align: middle;
}
svg {
    border: none;
    border-image-width: 0;
    stroke-width: 0px;
}
iframe {
    margin: 0px;
    padding: 0px;
    border: none;
/*    height: auto;
    width: 100%;*/
}
video[poster] {
    height:100%;
    object-fit: cover;
}
video {
    max-width: 100%;
}
table, td, tr {
    margin: 0px;
    padding: 0px;
    border: none;
}
table {
    float: left;
}
label {
    cursor: pointer;
}
a {
    outline: none;
    text-decoration: none;
    cursor: pointer;
    color: var(--rosso);
    transition: all 0.5s;
    -webkit-transition: all 0.5s;
}
li {
    outline: none;
}

i, em, .italic {
    font-style: italic;
    font-weight: inherit;
}
i strong, em strong {
    font-style: italic;
}
.underline {
    text-decoration: underline;
}
*:-placeholder
{
    color: var(--rosso);
}
button::-moz-focus-inner {
  border: 0;
}
a:focus {
    outline: none;
}
input:focus:-webkit-input-placeholder { color:transparent; }
input:focus:-moz-placeholder { color:transparent; }
input:focus:-ms-input-placeholder  { color:transparent; }

input,
textarea,
select,
button {
    outline: none;
    border: none;
    padding: 0px;
    -webkit-border-radius: 0px;
    font-family: "GTPressura";
}
input[type=checkbox] {
    cursor: pointer;
}
input[type=number]::-webkit-inner-spin-button,
input[type=number]::-webkit-outer-spin-button {
    -webkit-appearance: none;
    margin: 0;
}
input[type=number] {
    -moz-appearance:textfield;
}
input[type=date]::-webkit-inner-spin-button,
input[type=date]::-webkit-outer-spin-button {
    -webkit-appearance: none;
    margin: 0;
}
input[type=date] {
    -moz-appearance:textfield;
}
input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus,
input:-webkit-autofill:active{
    -webkit-background-clip: text;
    -webkit-text-fill-color: var(--rosso);
    transition: background-color 5000s ease-in-out 0s;
    box-shadow: inset 0 0 20px 20px transparent;
}
button {
    cursor: pointer;
    -webkit-appearance: none;
    background-color: transparent;
    font-family: "GTPressura";
}
input[type="checkbox"] {
    -webkit-appearance: checkbox;
    -webkit-border-radius: auto;
    vertical-align: middle;
}
input[type="radio"] {
/*    -webkit-appearance: checkbox;
    -webkit-border-radius: auto;*/
    vertical-align: middle;
}

/* CUSTOM INPUT RADIO */
[type="radio"]:checked,
[type="radio"]:not(:checked) {
    position: absolute;
    left: -9999px;
}
[type="radio"]:checked + label,
[type="radio"]:not(:checked) + label {
    position: relative;
    padding-left: 28px;
    cursor: pointer;
    font-size: 20px;
    line-height: 24px;
    display: inline-block;
    color: var(--rosso);
}
[type="radio"]:checked + label {
    font-weight: 700;
}
[type="radio"]:checked + label:before,
[type="radio"]:not(:checked) + label:before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    width: 20px;
    height: 20px;
    border: 1.5px solid var(--rosso);
    border-radius: 100%;
    background: var(--bianco);
}
[type="radio"]:checked + label:after,
[type="radio"]:not(:checked) + label:after {
    content: '';
    width: 14px;
    height: 14px;
    background: var(--rosso);
    position: absolute;
    top: 4.5px;
    left: 4.5px;
    border-radius: 100%;
    -webkit-transition: all 0.5s ease;
    transition: all 0.5s ease;
}
[type="radio"]:not(:checked) + label:after {
    opacity: 0;
    -webkit-transform: scale(0);
    transform: scale(0);
}
[type="radio"]:checked + label:after {
    opacity: 1;
    -webkit-transform: scale(1);
    transform: scale(1);
}
/**/

/* CUSTOM INPUT CHECKBOX */
[type="checkbox"]:checked,
[type="checkbox"]:not(:checked) {
    position: absolute;
    left: -9999px;
}
[type="checkbox"]:checked + label,
[type="checkbox"]:not(:checked) + label {
    position: relative;
    padding-left: 28px;
    cursor: pointer;
    font-size: 12px;
    line-height: 14px;
    display: inline-block;
    color: var(--rosso);
}
[type="checkbox"]:checked + label
[type="checkbox"]:checked + label:before,
[type="checkbox"]:not(:checked) + label:before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    width: 13px;
    height: 13px;
    border: 1.5px solid var(--rosso);
    background: transparent;
}
[type="checkbox"]:checked + label:after,
[type="checkbox"]:not(:checked) + label:after {
    content: '';
    width: 10px;
    height: 10px;
    background: var(--rosso);
    position: absolute;
    top: 3px;
    left: 3px;
    -webkit-transition: all 0.5s ease;
    transition: all 0.5s ease;
}
[type="checkbox"]:not(:checked) + label:after {
    opacity: 0;
    -webkit-transform: scale(0);
    transform: scale(0);
}
[type="checkbox"]:checked + label:after {
    opacity: 1;
    -webkit-transform: scale(1);
    transform: scale(1);
}
/**/

input[type=submit] {
    -webkit-border-radius:0px;
    -webkit-appearance: none;
}
.hidden,
#accedi-recupera-form .hidden,
#aggiornamento-utente-form .hidden,
label.hidden.form-full-input-cont {
    display: none;
}
.show-tab {
    display: none;
}
.over_hidden {
    overflow: hidden;
}
.block {
    display: block;
}
.flex {
    display: flex;
}
.flex-center {
    display: flex;
    align-items: center;
    justify-content: center;
}
.mobile {
    display: none;
}
.opacity_0 {
    opacity: 0;
}
.opacity_03 {
    opacity: 0.3;
}
.opacity_05 {
    opacity: 0.5;
}
.opacity_06 {
    opacity: 0.6;
}
.inline-block {
    display: inline-block;
}
.inline-desktop {
    display: inline;
}
.table {
    display: table;
    float: none;
    table-layout: fixed;
}
.table-cell {
    display: table-cell;
    float: none;
    vertical-align: middle;
}
.table-row {
    display: table-row;
    float: none;
}
.relative {
    position: relative;
}
.absolute {
    position: absolute;
}
.pointer {
    cursor: pointer;
}
.cursor-default {
    cursor: default;
}
.wait {
    cursor: wait;
}
.left {
    float: left;
}
.right {
    float: right;
}
.none {
    float: none;
}
.clear {
    clear: both;
}
.v_top {
    vertical-align: top;
}
.text_top {
    vertical-align: text-top;
}
.v_middle {
    vertical-align: middle;
}
.v_bottom {
    vertical-align: bottom;
}
.m_auto {
    margin: 0px auto
}
.w_auto {
    width: auto;
}
.max_w100pe {
    max-width: 100%;
}
.max_w80pe {
    max-width: 80%;
}
.max_w75pe {
    max-width: 75%;
}
.max_w70pe {
    max-width: 70%;
}
.max_w50pe {
    max-width: 50%;
}
.w_33pe {
    width: 33.333333%;
}
.maxw_100pe {
    max-width: 100%;
}
.text-center {
    text-align: center;
}
.text-left {
    text-align: left;
}
.text-right {
    text-align: right;
}
.text-justify {
    text-align: justify;
}
.text-truncate {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.extralight {
    font-weight: 200;
}
.light {
    font-weight: 300;
}
.normal {
    font-weight: 400;
}
.style-normal {
    font-style: normal;
}
.strike {
    text-decoration: line-through;
}
.medium {
    font-weight: 500;
}
.semibold {
    font-weight: 600;
}
.bold,
strong,
b {
    font-weight: 700;
}
.extrabold {
    font-weight: 900;
}
.red {
    color: red;
}
.green {
    color: green;
}
.black,
.nero {
    color: var(--nero);
}
.white, .bianco {
    color: var(--bianco);
}
.rosso {
    color: var(--rosso);
}
.bg-rosso {
    background-color: var(--rosso);
}
.azzurro {
    color: var(--azzurro);
}
.bg-azzurro {
    background-color: var(--azzurro);
}
.rosa {
    color: var(--rosa);
}
.bg-rosa {
    background-color: var(--rosa);
}
.violetto {
    color: var(--violetto);
}
.bg-violetto {
    background-color: var(--violetto);
}
.arancio {
    color: var(--arancio);
}
.bg-arancio {
    background-color: var(--arancio);
}
.verde {
    color: var(--verde);
}
.bg-verde {
    background-color: var(--verde);
}

.cover {
    background-size: 100% 100%;
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
}
.cover-picture,
.cover-picture-full {
    display: block;
    float: left;
    width: 100%;
}
.cover-picture img,
.cover-picture-full img {
    object-fit: cover;
    width: 100%;
    height: auto;
}
.cover-picture-full {
    height: 100%;
}
.cover-picture-full img {
    height: 100%;
}
.uppercase {
    text-transform: uppercase;
}
.lowercase {
    text-transform: lowercase;
}
.capitalize {
    text-transform: capitalize;
}
.font_20_28 {
    font-size: 20px;
    line-height: 28px;
}
.two-column {
    -webkit-column-count: 2;
    -moz-column-count: 2;
    column-count: 2;
    -webkit-column-gap: 20px;
    -moz-column-gap: 20px;
    column-gap: 20px;
}
.ritch-cont {
    overflow: hidden;
}
.ritch-cont * {
}

.ritch-cont a {
    font-weight: bold;
}
.ritch-cont ul,
.ul-list {
    width: 100%;
    box-sizing: border-box;
    list-style-type: disc;
    padding-left: 20px;
    display: block;
}
.ritch-cont ol,
.ul-list ol {
    width: 100%;
    box-sizing: border-box;
    list-style-type: decimal;
    padding-left: 20px;
}
.ritch-cont li,
.ul-list li {
    float: left;
    width: 100%;
}
.ritch-cont img {
    max-width: 100% !important;
    height: auto !important;
}
.gen-text-flex {
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.flex-reverse-row {
    flex-direction: row-reverse;
}
.flex-wrap {
    flex-wrap: wrap;
}
.flex-vertical-between {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: 40px;
}
.video-cover-image {
    display: none !important;
    position: absolute;
    top: 0px;
    left: 0px;
    width: 100%;
    height: 100%;
}
/* Honey POT anti SPAM */
.hnpt {
    position: absolute;
    top: 0px;
    left: 0px;
    width: 100%;
    background-color: transparent;
    height: 100%;
    z-index: 100;
}
#over-box {
    display: none;
    position: fixed;
    z-index: 9998;
    background-color: transparent;
    width: 100%;
    height: 100%;
    top: 0px;
    left: 0px;
}
.noscroll {
    position: fixed;
    overflow-y: scroll
}
.blur {
    filter: blur(3px);
}
.modal-errore {
    background-color: var(--magenta);
}
.modal-notifica {
    background-color: var(--arancio);
}
.modal-messaggio {
    background-color: var(--verde);
}
label.form-full-input-cont,
label.form-half-input-cont,
label.form-three-fourth-input-cont,
label.form-fourth-input-cont {
    display: block;
    float: left;
}
.form-half-input-cont:last-child,
label.form-half-input-cont:last-child {
    width: calc(50% - 10px);
    float: right;
}
.form-full-input-cont {
    width: 100%;
}
.form-half-input-cont {
    width: calc(50% - 10px);
}
.form-three-fourth-input-cont {
    width: calc((100% - 20px) / 4 * 3);
    margin-right: 20px;
}
.form-three-fourth-input-cont:last-child {
    margin-right: 0px;
}
.form-fourth-input-cont {
    width: calc((100% - 20px) / 4);
}
.form-fourth-input-cont:last-child {
    margin-right: 0px;
}
.form-fourth-input-cont button,
#btn-newsletter {
    width: 100%;
    height: 50px;
    border: 2px solid var(--rosso);
    color: var(--rosso);
    font-size: 15px;
    line-height: 47px;
    font-weight: 700;
    padding: 0px 10px;
    box-sizing: border-box;
    font-family: "Atkinson Hyperlegible Mono", sans-serif;
    transition: all 0.5s;
    -webkit-transition: all 0.5s;
}

.form-input,
.span-input {
    width: 100%;
    height: 70px;
    border-bottom: 2px solid var(--rosso);
    font-size: 15px;
    line-height: 20px;
    font-family: "Atkinson Hyperlegible Mono", sans-serif;
    font-weight: 500;
    color: var(--rosso);
    padding: 38px 0px 10px 0px;
    box-sizing: border-box;
    background-color: transparent;
    display: block;
    float: left;
}
.form-input::placeholder {
    color: var(--rosso);
    font-family: "Atkinson Hyperlegible Mono", sans-serif;
    font-weight: 500;
}
#form-contatti .form-input,
#form-contatti .span-input {
    border-bottom: 2px solid var(--bianco);
    color: var(--bianco);
}
#form-contatti .form-input::placeholder,
#form-contatti .span-input::placeholder,
#form-contatti .form-input-textarea::placeholder {
    color: var(--bianco);
}
.form-select {
    width: 100%;
    height: 35px;
    margin-top: 38px;
    border-bottom: 2px solid var(--rosso);
    font-size: 15px;
    line-height: 20px;
    font-family: "Atkinson Hyperlegible Mono", sans-serif;
    font-weight: 500;
    color: var(--rosso);
    padding: 0px 0px 0px 0px;
    box-sizing: border-box;
    background-color: transparent;
    display: block;
    float: left;
}
#form-contatti .form-select {
    border-bottom: 2px solid var(--bianco);
    color: var(--bianco);
}
.form-input-error {
}
.form-input-textarea {
    width: 100%;
    height: 150px;
    border: 2px solid var(--rosso);
    font-size: 15px;
    line-height: 20px;
    font-family: "Atkinson Hyperlegible Mono", sans-serif;
    font-weight: 500;
    color: var(--rosso);
    padding: 20px;
    box-sizing: border-box;
    background-color: transparent;
    display: block;
    float: left;
    resize: none;
}
#form-contatti .form-input-textarea {
    border: 2px solid var(--bianco);
    color: var(--bianco);
}
.form-input:focus,
.form-input-textarea:focus {
    border-bottom: 2px solid var(--rosso);
}
.form-errors {
    display: block;
    float: left;
    width: 100%;
    color: var(--magenta);
    padding: 0px 30px;
    box-sizing: border-box;
    font-size: 11px;
}
.form-show-hide-pwd {
    position: absolute;
    top: calc(30px + 23px - 12.5px);
    right: 30px;
}
input[type=text]+.form-show-hide-pwd i:first-child {
    display: none;
}
input[type=password]+.form-show-hide-pwd i:last-child {
    display: none;
}
.form-checkbox-row {
    line-height: 30px;
    padding-left: 40px;
    box-sizing: border-box;
    position: relative;
}
.form-checkbox-row .label-checkbox {
    position: absolute;
    left: 0px;
    top: 0px;
}
.form-checkbox-row .pt_5 {
    padding-top: 0px;
}
.label-radio {
    position: relative;
}
.link-underlined {
    display: inline-block;
    text-decoration: underline;
    font-family: "aktiv-grotesk";
    font-weight: 700;
    transition: all 0.5s;
    -webkit-transition: all 0.5s;
}
.link-underlined-mono {
    display: inline-block;
    text-decoration: underline;
    font-family: "Atkinson Hyperlegible Mono", sans-serif;
    font-weight: 500;
    transition: all 0.5s;
    -webkit-transition: all 0.5s;
}
.btn {
    height: 50px;
    line-height: 46px;
    border-radius: 25px;
    font-family: "Atkinson Hyperlegible Mono", sans-serif;
    font-size: 15px;
    font-weight: 500;
    padding: 0px 20px;
    box-sizing: border-box;
    min-width: 190px;
    text-align: center;
}
.btn-hidden {
    opacity: 0;
}
.btn-rect {
    height: 50px;
    line-height: 46px;
    font-family: "Atkinson Hyperlegible Mono", sans-serif;
    font-size: 15px;
    font-weight: 500;
    padding: 0px 30px;
    box-sizing: border-box;
    min-width: 190px;
    text-align: center;
}
.btn-rect-big {
    height: 90px;
    line-height: 86px;
    text-transform: uppercase;
    font-size: 60px;
    font-weight: 400;
    padding: 0px 20px;
    box-sizing: border-box;
    min-width: 250px;
    text-align: center;
}
.btn-header {
    width: 150px;
    height: 40px;
    line-height: 40px;
    padding: 0px 10px;
    box-sizing: border-box;
    font-size: 18px;
    font-weight: 700;
    text-transform: uppercase;
    text-align: center;
    font-family: "aktiv-grotesk";
}
.btn-red-white {
    background-color: var(--bianco);
    color: var(--rosso);
    border: 2px solid var(--rosso);
    transition: all 0.5s;
    -webkit-transition: all 0.5s;
}
.btn-red-transparent {
    background-color: transparent;
    color: var(--rosso);
    border: 2px solid var(--rosso);
    transition: all 0.5s;
    -webkit-transition: all 0.5s;
}
.btn-red {
    background-color: var(--rosso);
    color: var(--bianco);
    border: 2px solid var(--rosso);
    transition: all 0.5s;
    -webkit-transition: all 0.5s;
}
.btn-white-transparent {
    background-color: transparent;
    color: var(--bianco);
    border: 2px solid var(--bianco);
    transition: all 0.5s;
    -webkit-transition: all 0.5s;
}
.btn-wire-red {
    background-color: var(--bianco);
    color: var(--rosso);
    border-left: 2px solid var(--rosso);
    border-right: 2px solid var(--rosso);
    border-top: 2px solid var(--rosso);
    transition: all 0.5s;
    -webkit-transition: all 0.5s;
}
.bt-red {
    border-top: 2px solid var(--rosso);
}
.bb-red {
    border-bottom: 2px solid var(--rosso);
}

/* MAIN */
main {
    min-height: 100vh;
    padding-top: 104px;
    box-sizing: border-box;
}
header {
    position: fixed;
    z-index: 999;
}
.page {
    max-width: 1980px;
    padding-left: 40px;
    padding-right: 40px;
    margin-left: auto;
    margin-right: auto;
    box-sizing: border-box;
    float: none;
}
#header-cont {
    background-color: var(--bianco);
    border-top: 2px solid var(--rosso);
    border-bottom: 2px solid var(--rosso);
    padding: 20px 0px;
    box-sizing: border-box;
}
#header-int {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 100px;
}
#logo-header,
#logo-footer {
    height: 60px;
    display: block;
    float: left;
}
#logo-header img,
#logo-footer img {
    height: 100%;
}
#nav-header-cont {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
}
.nav-header-item-cont {
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.nav-header-item-cont a {
    display: block;
    float: left;
    font-size: 16px;
    line-height: 20px;
    font-weight: 600;
    font-family: "aktiv-grotesk";
    transition: all 0.5s;
    -webkit-transition: all 0.5s;
}
#lang-switch a {
    display: block;
    float: left;
    font-size: 14px;
    line-height: 20px;
    font-weight: 400;
    font-family: "aktiv-grotesk";
    padding: 0px 5px;
    box-sizing: border-box;
    transition: all 0.5s;
    -webkit-transition: all 0.5s;
}
#lang-switch a.sel {
    font-weight: 700;
}
.nav-header-item-cont a.sel {
    text-decoration: underline;
}
.nav-header-item-dropdown {
    display: flex;
    flex-direction: column;
    width: 140px;
    height: 0px;
    opacity: 0;
    overflow-x: visible;
    overflow-y: hidden;
    transition: all 0.8s;
    -webkit-transition: all 0.8s;
}
.nav-header-item-dropdown a {
    display: block;
    float: left;
    font-size: 16px;
    line-height: 25px;
    font-weight: 400;
    white-space: nowrap;
    font-family: "aktiv-grotesk";
    transition: all 0.5s;
    -webkit-transition: all 0.5s;
}
#btn-header-cont {
    position: fixed;
    bottom: 0px;
    display: flex;
    justify-content: center;
    gap: 20px;
}
#footer-cont {
    background-color: var(--rosso);
    padding: 40px 0px;
    box-sizing: border-box;
}
#logo-footer-cont {
    width: 220px;
    margin-right: 60px;
}
#footer-int-cont {
    width: calc(100% - 280px);
    float: right;
    display: flex;
    justify-content: space-between;
    gap: 200px;
}
#footer-int {
    display: flex;
    justify-content: space-between;
}
.footer-col {
    width: auto;
    display: flex;
    flex-wrap: wrap;
    flex-direction: column;
    color: var(--bianco);
    font-size: 16px;
    line-height: 23px;
}
.footer-col.atk-mono {
    font-size: 15px;
}
.footer-col a {
    color: var(--bianco);
}
#partners-footer-cont {
    margin-top: 100px;
    display: flex;
    justify-content: space-between;
}
#partners-progetto-cont {
    margin: 40px 0px;
    display: flex;
    justify-content: flex-start;
}
.partners-footer-item {
    position: relative;
    margin-top: 40px;
    display: flex;
    justify-content: center;
    height: 100px;
    padding: 20px;
    border-right: 1px solid var(--bianco);
    line-height: 100px;
}
.partners-footer-item:first-child {
    border-left: 1px solid var(--bianco);
}
#partners-progetto-cont .partners-footer-item:first-child {
    border-left: 1px solid var(--rosso);
}
#partners-progetto-cont .partners-footer-item {
    border-right: 1px solid var(--rosso);
    width: auto;
    margin-top: 0px;
}
#partners-progetto-cont .partners-footer-item img {
    width: 100%;
}
.partners-footer-item span {
    color: var(--bianco);
    display: block;
    float: left;
    top: -25px;
    left: 0px;
    position: absolute;
    font-size: 12px;
    line-height: 20px;
}
.partners-footer-item a {
    display: inline-block;
    width: 100px;
}
.partners-footer-item a img {
    width: 100%;
}
#newsletter-cont {
    padding: 80px 0px;
    box-sizing: border-box;
}
.newsletter-azzurra {
    background-color: var(--azzurro);
}
.newsletter-rosa {
    background-color: var(--rosa);
}
.newsletter-arancio {
    background-color: var(--arancio);
}
.newsletter-viola {
    background-color: var(--violetto);
}
#newsletter-int {
    height: 440px;
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    gap: 80px;
}
#newsletter-left-cont {
    height: 100%;
    width: calc(50% - 40px);
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}
#newsletter-right-cont {
    float: right;
    width: calc(50% - 40px);
}
#lavora-con-noi-cont {
    min-height: 600px;
    padding: 80px 0px;
    box-sizing: border-box;
}
#lavora-con-noi-int-top {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 80px;
}
#lavora-con-noi-int-bottom {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 80px;
    margin-top: 100px;
}
.btn-lavora-con-noi {
    display: block;
    float: left;
    font-size: 45px;
    line-height: 45px;
    text-transform: uppercase;
    text-align: left;
    width: 80%;
    padding: 20px 0px;
    box-sizing: border-box;
    border-bottom: 2px solid var(--rosso);
    color: var(--rosso);
    transition: all 0.5s;
    -webkit-transition: all 0.5s;
}
.btn-lavora-con-noi:first-child {
    border-top: 2px solid var(--rosso);
}
.btn-lavora-con-noi.sel {
    color: var(--bianco);
}
#lavora-con-noi-int-bottom .lavora-con-noi-right-cont {
    padding-top: 20px;
    box-sizing: border-box;
    border-top: 2px solid var(--rosso);
}
#form-lavora-con-noi {
    margin-top: 16px;
}
.fake-sup {
    position: absolute;
    top: 7px;
    left: 100%;
    font-size: 38px;
    line-height: 41px;
    text-transform: capitalize;
    padding-left: 10px;
    box-sizing: border-box;
}
.titoloni {
    font-size: 70px;
    line-height: 70px;
    text-transform: uppercase;
}
.titoli {
    font-size: 58px;
    line-height: 60px;
}
.titoletti {
    font-size: 65px;
    line-height: 65px;
    text-transform: uppercase;
}
.sottotitoloni {
    font-size: 42px;
    line-height: 50px;
}
.sottotitoli {
    font-size: 35px;
    line-height: 42px;
}
.testoni {
    font-size: 25px;
    line-height: 30px;
}
.testi {
    font-size: 20px;
    line-height: 28px;
}
.testini {
    font-size: 18px;
    line-height: 22px;
}
#scuole-intro-cont,
#famiglie-intro-cont,
#info-intro-cont,
#grado-scolastico-cont,
#info-accessibilita-cont {
    padding: 40px 0px;
    box-sizing: border-box;
    border-bottom: 2px solid var(--rosso);
}
#famiglie-slider-container,
#info-slider-container,
#chi-siamo-slider-container {
    border-bottom: 2px solid var(--rosso);
    box-sizing: border-box;
    position: relative;
}
#hp-intro,
#formazione-cont,
#presentazioni-cont,
#info-intro,
#chi-siamo-intro,
#chi-siamo-info-cont {
    padding: 40px 0px;
    box-sizing: border-box;
}
#presentazioni-cont {
    border-top: 2px solid var(--rosso);
}
#info-col-cont,
#info-2-col-cont {
    padding: 40px 0px;
    box-sizing: border-box;
    border-bottom: 2px solid var(--rosso);
}
#info-attivita-cont,
#famiglie-attivita-container {
    padding: 40px 0px;
    box-sizing: border-box;
}
.cit-cont {
    padding: 40px 0px;
    box-sizing: border-box;
    border-bottom: 2px solid var(--rosso);
    border-top: 2px solid var(--rosso);
}
#calendario-cont {
    padding: 40px 0px 0px 0px;
    box-sizing: border-box;
}
#calendario-nav {
    border-top: 2px solid var(--rosso);
    border-bottom: 2px solid var(--rosso);
}
.calendario-half {
    width: 50%;
    box-sizing: border-box;
}
.calendario-half:first-child {
    border-right: 1px solid var(--rosso);
}
.calendario-half:last-child {
    border-left: 1px solid var(--rosso);
}
#calendario-nav .calendario-half {
    padding: 10px 0px 10px 70px;
}
#calendario-body {
    border-bottom: 2px solid var(--rosso);
}
#calendario-body .calendario-half:first-child {
    padding: 30px 70px 60px 39px;
}
#calendario-body .calendario-half:last-child {
    padding: 30px 70px 60px 39px;
}
.calendario-row {
    display: flex;
    margin-bottom: 4px;
}
.calendario-row:first-child {
    margin-bottom: 30px;
}
.calendario-cell {
    width: calc(100% / 7);
    display: block;
    float: left;
    box-sizing: border-box;
}
.calendario-cell.bold {
    font-weight: 700;
}
.calendario-cell-int {
    display: block;
    float: left;
    height: 62px;
    line-height: 62px;
    width: 62px;
    border-radius: 40px;
    text-align: center;
    font-family: "Atkinson Hyperlegible Mono", sans-serif;
    font-size: 20px;
    font-weight: 500;
    color: var(--rosso);
}
.calendario-cell-int.out {
    opacity: 0;
}
.calendario-cell-int.noevent {
    opacity: 0.5;
}
.calendario-cell .calendario-cell-int.today {
    width: 62px;
    border: 6px solid var(--rosso);
    line-height: 50px;
    box-sizing: border-box;
}
.calendario-cell-int.sel {
    background-color: var(--rosso);
    color: white;
}
.intro-col-double {
    position: relative;
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
}
.intro-col-double h1 {
    width: 50%;
    position: absolute;
    top: 0px;
    left: 0px;
}
.intro-col-double-top {
    position: relative;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
}
.intro-col-double-top h2 {
    padding-right: 20px;
    box-sizing: border-box;
}
.fascetta-bg-red {
    background-color: var(--rosso);
    color: var(--bianco);
    padding: 10px 0px;
    box-sizing: border-box;
}
.fascetta-bg-white {
    background-color: var(--bianco);
    color: var(--rosso);
    padding: 10px 0px;
    box-sizing: border-box;
    height: 42px;
}
.slider-arrow {
    opacity: 1;
    transition: all 0.5s;
    -webkit-transition: all 0.5s;
}
#grado-scolastico-filtri-cont {
    display: flex;
    justify-content: center;
    gap: 40px;
}
#grado-scolastico-filtri-cont .w_auto label {
    font-size: 20px;
    font-family: "aktiv-grotesk";
    transition: all 0.5s;
    -webkit-transition: all 0.5s;
}
.col-50 {
    width: 50%;
}
.col-30 {
    width: 30%;
}
.col-40 {
    width: 40%;
}
.col-33-cont {
    margin-top: 40px;
}
.col-33-no-page-cont {
    border-top: 2px solid var(--rosso);
    border-bottom: 2px solid var(--rosso);
}
.col-66-no-page-cont {
    position: relative;
    border-top: 2px solid var(--rosso);
    border-bottom: 2px solid var(--rosso);
}
.col-33 {
    width: calc((100% - 86px) / 3);
    padding: 0px 20px 0px 0px;
    margin-right: 20px;
    margin-bottom: 20px;
    border-right: 2px solid var(--rosso);
}
.col-33-no-page {
    width: calc((100% - 4px) / 3);
    border-right: 2px solid var(--rosso);
}
.col-33-cont .col-33:nth-child(3n){
    padding: 0px;
    margin-right: 0px;
    border-right: unset;
}
.col-33-no-page-cont .col-33-no-page:nth-child(3) {
    border-right: unset;
}
.col-66-no-page {
    width: calc((100% - 2px) / 3 * 2);
    border-right: 2px solid var(--rosso);
}
.col-30-img,
.col-40-img,
.col-40-logo,
.col-33-img {
    position: relative;
    width: 100%;
    height: 0px;
    padding-top: 133.33%;
}
.col-40-logo div {
    background-color: var(--rosso);
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0px;
    left: 0px;
    display: flex;
    justify-content: center;
    align-items: center;
}
.col-40-logo img {
    max-width: 80%;
    max-height: 80%;
}
.col-66-img {
    position: relative;
    width: 100%;
    height: 0px;
    padding-top: 66.66%;
}
.col-33-txt {
    display: flex;
    align-items: center;
    position: absolute;
    height: 100%;
    top: 0px;
    left: 0px;
    padding: 0px 10px;
    box-sizing: border-box;
    font-size: 60px;
    line-height: 60px;
    text-transform: uppercase;
}
.col-33-txt  p {
    text-align: center;
}
.col-33-btn {
    position: absolute;
    bottom: 40px;
    left: 40px;
    text-align: center;
    width: 50px;
    height: 46px;
    font-size: 20px;
    line-height: 46px;
    border-radius: 23px;
    background-color: var(--rosso);
    color: var(--bianco);
    transition: all 0.5s;
    -webkit-transition: all 0.5s;
}
.btn-freccia {
    position: absolute;
    bottom: 20px;
    left: 20px;
    text-align: center;
    width: 50px;
    height: 46px;
    font-size: 20px;
    line-height: 46px;
    border-radius: 23px;
    background-color: var(--rosso);
    color: var(--bianco);
    transition: all 0.5s;
    -webkit-transition: all 0.5s;
}
.btn-freccia .col-33-btn-overflow,
.col-33-btn .col-33-btn-overflow,
.attivita-item-text-btn .col-33-btn-overflow,
.famiglie-attivita-carousel-item-btn .col-33-btn-overflow,
#faq-attivita-cont-btn .col-33-btn-overflow,
.col-33-no-page-btn .col-33-btn-overflow {
    width: 100%;
    height: 100%;
    position: relative;
    display: inline-block;
    overflow: hidden;
}
.btn-freccia .col-33-btn-arrows,
.col-33-btn .col-33-btn-arrows,
.attivita-item-text-btn .col-33-btn-arrows,
.famiglie-attivita-carousel-item-btn .col-33-btn-arrows,
#faq-attivita-cont-btn .col-33-btn-arrows,
.col-33-no-page-btn .col-33-btn-arrows {
    width: 200%;
    height: 100%;
    position: absolute;
    display: flex;
    justify-content: space-around;
    align-items: center;
    top: 0px;
    right: 0px;
    transition: all 0.5s;
    -webkit-transition: all 0.5s;
}
.dida-33-cont {
    width: calc((100% - 6px) / 3);
    padding-left: 40px;
    box-sizing: border-box;
    display: none;
}
.slider-33-no-page-arrow-cont {
    position: absolute;
    bottom: 20px;
    left: calc(100% / 3 * 2);
    width: calc(100% / 3);
    padding: 0px 20px;
    box-sizing: border-box;
}
.col-66-no-page-cont .dida-33-cont {
    position: absolute;
    bottom: 20px;
    left: calc((100% - 6px) / 3 * 2);
    width: auto;
    padding-right: 10px;
    box-sizing: border-box;
}
.bg-rosso-fasciona {
    background-color: var(--rosso);
    color: var(--bianco);
    padding: 40px 0px;
    box-sizing: border-box;
}
.cerchietto-rosso {
    display: block;
    float: left;
    width: 50px;
    height: 46px;
    border-radius: 100%;
    background-color: var(--rosso);
    margin-right: 20px;
}
.filtri-pillola-cont {
    display: flex;
    justify-content: flex-start;
    gap: 20px;
}
.filtri-pillola-cont .btn-red-white.sel {
    background-color: var(--rosso);
    color: var(--bianco);
}
.filtri-pillola-cont .btn-red-white.no-sel {
    opacity: 0.3;
}
.filtri-pillola-cont .btn-red span i {
    transition: all 0.5s;
    -webkit-transition: all 0.5s;
}
#filtri-scelti-cont {
    padding: 40px 0px;
    border-top: 2px solid var(--rosso);
    box-sizing: border-box;
}
#filtri-scelti-cont .filtri-pillola-cont button span {
    padding-left: 40px;
    box-sizing: border-box;
}
#attivita-cont {
    margin-top: 40px;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 10px;
}
.attivita-item-cont {
    width: calc((100% - 20px) / 2);
    border-top: 2px solid var(--rosso);
}
.attivita-item-cont:first-child,
.attivita-item-cont:nth-child(2) {
    border-top: unset;
}
.attivita-item {
    width: 100%;
    height: 0px;
    padding-top: 66.66%;
    position: relative;
    margin-top: 10px;
}
.border-right-absolute {
    position: absolute;
    top: 0px;
    right: -10.75px;
    width: 2px;
    height: 100%;
    background-color: var(--rosso);
}
.attivita-item-cont:first-child .attivita-item,
.attivita-item-cont:nth-child(2) .attivita-item {
    margin-top: 0px;
}
.attivita-item-cont:nth-child(even) .attivita-item .border-right-absolute {
    display: none;
}
.attivita-item-int {
    position: absolute;
    top: 0px;
    left: 0px;
    height: 100%;
    padding: 20px;
    box-sizing: border-box;
    display: flex;
    justify-content: space-between;
    gap: 40px;
}
.attivita-item-text {
    width: calc(50% - 20px);
}
.attivita-item-img {
    width: calc(50% - 20px);
    aspect-ratio: 9/16;
}
.attivita-item-img picture {
    width: 100%;
    height: 100%;
    display: block;
    float: left;
}
.attivita-item-img picture img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.attivita-item-text {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}
.attivita-item-text-btn {
    display: block;
    float: left;
    text-align: center;
    width: 50px;
    height: 46px;
    font-size: 20px;
    line-height: 46px;
    border-radius: 23px;
    background-color: var(--rosso);
    color: var(--bianco);
    margin-top: 20px;
    transition: all 0.5s;
    -webkit-transition: all 0.5s;
}
#intro-attivita-col-double-top,
#intro-attivita-col-double-top .col-50,
#intro-attivita-col-double-top .col-50 .flex-vertical-between {
    min-height: 750px;
}
#intro-attivita-col-double-top {
    margin-top: 40px;
}
.attivita-intro-info-row {
    padding: 10px 0px;
    box-sizing: border-box;
    border-bottom: 2px solid var(--rosso);
}
#progetto-intro-info-cont .attivita-intro-info-row {
    padding: 10px 0px 40px 0px;
}
#attivita-intro-titoloni-cont {
    position: absolute;
    left: 0px;
    bottom: 80px;
}
#info-attivita-col-cont,
#faq-attivita-col-cont {
    display: flex;
    gap: 40px;
    font-family: "aktiv-grotesk";
}
.col-20 {
    width: calc((100% - 160px) / 5);
}
.col-25 {
    width: calc((100% - 120px) / 4);
}
#faq-attivita-cont {
    background-color: #C1E1A2;
    padding: 40px 0px;
    box-sizing: border-box;
    border-bottom: 2px solid var(--rosso);
}
.faq-attivita-q {
    height: 66px;
    overflow-y: hidden;
    font-weight: 600;
    margin-bottom: 20px;
}
#next-prev-attivita-cont {
    height: 200px;
    display: flex;
    justify-content: space-between;
}
#next-prev-attivita-cont a {
    display: flex;
    align-items: center;
    gap: 20px;
    width: 50%;
    height: 100%;
    line-height: 200px;
}
#next-prev-attivita-cont a .uppercase {
    font-size: 40px;
    line-height: 40px;
}
#next-prev-attivita-cont a:first-child {
    justify-content: flex-start;
    padding-left: 40px;
    box-sizing: border-box;
    color: var(--bianco);
    background-color: var(--rosso);
}
#next-prev-attivita-cont a:last-child {
    justify-content: flex-end;
    padding-right: 40px;
    box-sizing: border-box;
    color: var(--rosso);
    background-color: var(--bianco);
}
.next-prev-attivita-btn {
    text-align: center;
    width: 50px;
    height: 46px;
    font-size: 20px;
    line-height: 46px;
    border-radius: 23px;
    background-color: var(--rosso);
    color: var(--bianco);
    transition: all 0.5s;
    -webkit-transition: all 0.5s;
}
#next-prev-attivita-cont a:first-child .next-prev-attivita-btn {
    border: 2px solid var(--bianco);
    box-sizing: border-box;
}
.next-prev-attivita-btn .col-33-btn-overflow {
    width: 100%;
    height: 100%;
    position: relative;
    display: inline-block;
    overflow: hidden;
}
.next-prev-attivita-btn .col-33-btn-arrows {
    width: 200%;
    height: 100%;
    position: absolute;
    display: flex;
    justify-content: space-around;
    align-items: center;
    top: 0px;
    right: 0px;
    transition: all 0.5s;
    -webkit-transition: all 0.5s;
}
#next-prev-attivita-btn-left-cont .col-33-btn-arrows {
    left: 0px;
}
#famiglie-attivita-carousel {
    margin-bottom: 40px;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 20px;
}
.famiglie-attivita-carousel-item {
    width: calc((100% - 80px) / 5);
    position: relative;
}
.famiglie-attivita-carousel-item-titolo {
    position: absolute;
    top: 0px;
    left: 0px;
    font-size: 22px;
    line-height: 25px;
    padding: 20px;
    box-sizing: border-box;
}
.famiglie-attivita-carousel-item-btn {
    position: absolute;
    bottom: 20px;
    left: 20px;
    display: block;
    float: left;
    text-align: center;
    width: 50px;
    height: 46px;
    font-size: 20px;
    line-height: 46px;
    border-radius: 23px;
    background-color: var(--rosso);
    color: var(--bianco);
    transition: all 0.5s;
    -webkit-transition: all 0.5s;
}
#info-titolo-sottotitolo-container .info-titolo-sottotitolo-flex-cont:last-child {
    border-bottom: unset;
}
.info-titolo-sottotitolo-flex-cont {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 20px;
    padding: 40px 0px;
    box-sizing: border-box;
    border-bottom: 2px solid var(--rosso);
}
.info-titolo-sottotitolo-flex-cont .titoli {
    width: 55%;
    padding-right: 20px;
    box-sizing: border-box;
}
.info-titolo-sottotitolo-flex-cont .sottotitoli {
    width: 45%;
}
#info-map-col-cont {
    position: absolute;
    bottom: 0px;
    left: 0px;
}
#faq-attivita-cont-btn {
    position: absolute;
    bottom: 0px;
    right: 0px;
    display: block;
    float: left;
    text-align: center;
    width: 50px;
    height: 46px;
    font-size: 20px;
    line-height: 46px;
    border-radius: 23px;
    background-color: var(--rosso);
    color: var(--bianco);
    transition: all 0.5s;
    -webkit-transition: all 0.5s;
}
#info-extra-col-cont {
    padding: 40px 0px;
    box-sizing: border-box;
    background-color: var(--violetto);
}
#info-extra-col-int {
    margin-top: 150px;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 40px;
}
#info-extra-col-int-left {
    width: calc((((100% - 40px) / 5) * 2));
}
#info-extra-col-int-right {
    width: calc(((100% / 5) * 3));
    margin-top: 12px;
}
.info-extra-col-int-left-item {
    display: block;
    float: left;
    width: 100%;
    padding: 10px 0px;
    box-sizing: border-box;
    border-bottom: 2px solid var(--rosso);
    transition: all 0.5s;
    -webkit-transition: all 0.5s;
}
.info-extra-col-int-left-item:first-child {
    border-top: 2px solid var(--rosso);
}
.info-extra-col-int-left-item.active span {
    opacity: 0.5;
}
.tabella-cont {
    position: relative;
    border-top: 2px solid var(--rosso);
    font-size: 20px;
    line-height: 24px;
}
.tabella-double-cont {
    position: relative;
    border-top: 2px solid var(--rosso);
    font-size: 30px;
    line-height: 36px;
}
.tabella-filetto-left {
    width: 2px;
    height: 100%;
    background-color: var(--rosso);
    position: absolute;
    top: 0px;
    left: calc(100% * 0.37);
/*     left: calc((1980px * 0.37) + (100vw - 1980px) / 2); */
}
.tabella-double-cont .tabella-filetto-left {
    width: 2px;
    height: 100%;
    background-color: var(--rosso);
    position: absolute;
    top: 0px;
    left: calc((100% - 4px) / 3);
}
.tabella-filetto-right {
    width: 2px;
    height: 100%;
    background-color: var(--rosso);
    position: absolute;
    top: 0px;
    right: calc((100vw * 0.63) - (100vw * 0.1575));
}
.tabella-filetto-bottom {
    width: calc((1980px * 0.63) + (100vw - 1980px) / 2);
    height: 2px;
    background-color: var(--rosso);
    position: absolute;
    bottom: -2px;
    left: 0px;
}
.tabella-col-left {
    width: 37%;
    padding: 20px 40px;
    box-sizing: border-box;
    max-width: calc(1980px * 0.37);
}
.tabella-double-cont .tabella-col-left {
    width: calc((100% - 40px) / 3);
    padding: 30px 0px;
    box-sizing: border-box;
}
.tabella-col-center {
    width: 25%;
}
.tabella-col-right {
    width: 75%;
}
.tabella-double-cont .tabella-col-right {
    width: calc((100% / 3) * 2);
    padding: 30px 0px 60px 30px;
    box-sizing: border-box;
}
.tabella-row-cont {
    display: flex;
    justify-content: center;
    border-bottom: 2px solid var(--rosso);
}
.tabella-row-int {
    width: 100%;
    float: right;
}
.tabella-row-int:last-child {
    border-bottom: unset;
}
.tabella-row-int-cont {
    width: 63%;
    max-width: calc(1980px * 0.63);
}
.tabella-row {
    padding: 20px 40px;
    box-sizing: border-box;
    border-bottom: 2px solid var(--rosso);
}
.tabella-col-center .tabella-row:last-child,
.tabella-col-right .tabella-row:last-child {
    border-bottom: unset;
}
#tabelle-section .tabella-cont:last-child .tabella-row-cont-row:last-child {
    border-bottom: unset;
}
#tabella-convenzioni .tabella-row-cont:last-child {
    border-bottom: unset;
}
.col-66-no-page-txt-cont {
    position: relative;
    min-height: 100px;
}
.col-66-no-page-txt {
    width: calc(100% / 3 * 2);
    height: 100%;
    padding: 20px 0px;
    box-sizing: border-box;
    display: flex;
    justify-content: flex-start;
    gap: 40px;
    font-family: "aktiv-grotesk";
}
.col-33-no-page-btn-cont {
    display: block;
    float: right;
    width: calc(((100% - 2px) / 3) - 38.5px);
    height: 100%;
    position: absolute;
    top: 0px;
    right: 40px;
    background-color: var(--rosso);
    text-decoration: none;
}
.col-33-no-page-btn-int {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 40px;
    width: 100%;
    height: 100%;
    color: var(--bianco);
    text-decoration: none;
    padding: 0px 20px;
    box-sizing: border-box;
}
.col-33-no-page-btn {
    display: inline-block;
    text-align: center;
    width: 50px;
    height: 46px;
    font-size: 20px;
    line-height: 46px;
    border-radius: 23px;
    background-color: transparent;
    color: var(--bianco);
    border: 2px solid var(--bianco);
    box-sizing: border-box;
    transition: all 0.5s;
    -webkit-transition: all 0.5s;
}
#chi-siamo-report-cont {
    padding: 40px 0px;
    box-sizing: border-box;
    border-bottom: 2px solid var(--rosso);
}
#chi-siamo-report-left-cont {
    width: calc((100% - 42px) / 3 * 2);
    padding-right: 40px;
    box-sizing: border-box;
}
#chi-siamo-report-right-cont {
    width: calc((100% - 40px) / 3);
    float: right;
}
#chi-siamo-report-coop-fondazione {
    display: flex;
    gap: 40px;
}
.report-link {
    display: block;
    float: left;
    width: 100%;
    font-size: 26px;
    line-height: 28px;
    padding: 5px 0px;
    box-sizing: border-box;
    border-bottom: 2px solid var(--rosso);
    transition: all 0.5s;
    -webkit-transition: all 0.5s;
}
.report-link span {
    display: block;
    float: left;
}
.report-link.no-hover span {
    float: right;
}
.report-link span i {
    padding-right: 20px;
    box-sizing: border-box;
}
/* Rimuovere */
#chi-siamo-carousel-container {
    position: relative;
}
#chi-siamo-carousel-int {
    width: calc(100% / 3 * 2.5);
}
#chi-siamo-carousel-int .col-33-no-page {
    width: calc((100% - 6px) / 3);
    border-right: 2px solid var(--rosso);
}
#chi-siamo-carousel-int-btn-cont {
    width: calc(100% / 3 * 0.5);
    position: absolute;
    bottom: 20px;
    padding: 0px 20px;
    box-sizing: border-box;
    left: calc(100% / 3 * 2.5);
}
/**/
.progetti-list-title-cont {
    padding: 0px 20px;
    box-sizing: border-box;
}
.progetti-cont {
    display: flex;
    justify-content: flex-start;
    flex-wrap: wrap;
    gap: 20px;
}
.progetti-item {
    border: 2px solid var(--rosso);
    width: calc((100% - 40px) / 3);
    box-sizing: border-box;
}
.progetti-item-top {
    width: 100%;
    height: 0px;
    padding-top: 100%;
    background-color: var(--bianco);
    position: relative;
}
.progetti-item-top-int {
    position: absolute;
    top: 0px;
    left: 0px;
    width: 100%;
    height: 100%;
    padding: 20px;
    box-sizing: border-box;
}
.progetti-item-top-int-top {
    height: calc(100% - 70px);
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    gap: 20px;
}
.progetti-item-top-int-top .titoli {
    height: 120px;
    overflow-y: hidden;
}
.progetti-item-top-int-top .testini {
    font-size: 16px;
    height: 22px;
    overflow-y: hidden;
}
.progetti-item-top-int-top .testi {
    height: calc(28px * 3);
    overflow-y: hidden;
}
.progetti-item-top-int-top .tag {
    height: 22px;
    overflow-y: hidden;
    font-size: 12px;
}
.progetti-item-bottom {
    width: 100%;
    height: 0px;
    padding-top: 50%;
    background-color: var(--rosso);
    position: relative;
}
.progetti-item-bottom div {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0px;
    left: 0px;
    display: flex;
    justify-content: center;
    align-items: center;
}
.progetti-item-bottom img {
    max-width: 80%;
    max-height: 80%;
}
#case-history-cont {
    margin-top: 20px;
    display: flex;
    justify-content: flex-start;
    flex-wrap: wrap;
    gap: 40px;
}
.case-history-item {
    background-color: var(--rosso);
    width: calc((100% - 80px) / 3);
    padding: 20px;
    box-sizing: border-box;
}
.case-history-item a {
    font-size: 18px;
}
.case-history-item-muba img {
    height: 60px;
}
.case-history-item-muba span {
    font-size: 60px;
    line-height: 60px;
    display: block;
    float: right;
    color: var(--bianco);
}
.case-history-item-client {
    width: 100%;
    height: 0px;
    padding-top: 100%;
    position: relative;
    border: 2px solid var(--bianco);
    box-sizing: border-box;
    margin: 20px 0px;
}
.case-history-item-client div {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0px;
    left: 0px;
    display: flex;
    justify-content: center;
    align-items: center;
}
.case-history-item-client img {
    max-width: 60%;
    max-height: 60%;
}
#contatti-pg-cont {
    height: 100%;
    padding: 80px 0px;
    box-sizing: border-box;
    border-bottom: 2px solid var(--rosso);
}
#contatti-pg-col-cont {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: 200px;
}
#contatti-pg-col-cont-top {
    display: flex;
    justify-content: space-between;
    color: var(--rosso);
}
.contatti-pg-col-cont-bottom {
    display: flex;
    justify-content: flex-start;
    gap: calc(10% / 2);
    color: var(--rosso);
    font-family: "aktiv-grotesk";
}
#contatti-pg-col-cont-top a,
.contatti-pg-col-cont-bottom a {
    color: var(--rosso);
}
#contatti-form-cont {
    padding: 80px 0px;
    box-sizing: border-box;
    background-color: var(--rosso);
}
#contatti-form-int {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    gap: 80px;
}
#contatti-form-left-cont {
    width: calc(50% - 40px);
    color: var(--bianco) !important;
}
#contatti-form-left-cont a {
    color: var(--bianco) !important;
}
#contatti-form-right-cont {
    float: right;
    width: calc(50% - 40px);
    color: var(--bianco) !important;
    border-top: 2px solid var(--bianco);
    padding-top: 20px;
    box-sizing: border-box;
}
/*
 * Vecchio MarQuee di Vale
#hp-marquee {
    font-size: 12px;
    line-height: 84px;
    height: 84px;
    background-color: var(--rosa);
    color: var(--rosso);
    white-space: nowrap;
    overflow: hidden;
    border-top: 2px solid var(--rosso);
    border-bottom: 2px solid var(--rosso);
    padding: 10px 0px;
    box-sizing: border-box;
}
#hp-marquee p {
    display: inline-block;
    padding-left: 100%;
    animation: marquee 15s linear infinite;
}*/


#hp-marquee {
    overflow: hidden;
    display: flex;
    font-size: 12px;
    line-height: 84px;
    height: 84px;
    background-color: var(--rosa);
    color: var(--rosso);
    white-space: nowrap;
    overflow: hidden;
    border-top: 2px solid var(--rosso);
    border-bottom: 2px solid var(--rosso);
    padding: 10px 0px;
    box-sizing: border-box;
}
#hp-marquee p {
  white-space: nowrap;
  text-transform: uppercase;
}
#hp-marquee a {
    display: inline-block;
    margin: 0px 20px;
}
@keyframes marquee {
    0%   { transform: translate(0, 0); }
    100% { transform: translate(-100%, 0); }
}
.img-full {
    position: relative;
    /* Fare una class 16:9 ?*/
    aspect-ratio: 16/9;
}
.img-full iframe {
    display: block;
}
#hp-aziende {
    background-color: var(--arancio);
    border-top: 2px solid var(--rosso);
    padding: 40px 0px 0px 0px;
    box-sizing: border-box;
}
#hp-famiglie-scuole {
    border-top: 2px solid var(--rosso);
    border-bottom: 2px solid var(--rosso);
}
#hp-famiglie {
    width: 50%;
    border-right: 1px solid var(--rosso);
    padding-right: 40px;
    box-sizing: border-box;
}
#hp-famiglie-int,
#hp-scuole-int {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    gap: 40px;
    padding: 40px 0px;
    box-sizing: border-box;
}
#hp-scuole {
    width: 50%;
    border-left: 1px solid var(--rosso);
    padding-left: 40px;
    box-sizing: border-box;
}
#hp-cta-cont {
    height: 450px;
    display: flex;
}
.hp-cta-full {
    width: 100%;
}
.hp-cta-grande {
    width: 75%;
}
.hp-cta-medio {
    width: 50%;
}
.hp-cta-piccolo {
    width: 25%;
}
.hp-cta-int {
    height: 100%;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-content: space-between;
    gap: 20px;
    padding: 40px 20px;
    box-sizing: border-box;
    position: relative;
}
.cta-br-red {
    position: absolute;
    top: 0px;
    right: -1px;
    width: 2px;
    height: 100%;
    background-color: var(--rosso);
}
/*#hp-cta-3-left,
#hp-cta-3-right {
    width: calc(50% - 1px);
    height: 450px;
}
#hp-cta-3-left {
    border-right: 2px solid var(--rosso);
    box-sizing: border-box;
}
.hp-cta-3-int {
    height: 100%;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-content: space-between;
    gap: 20px;
    padding: 40px 20px;
    box-sizing: border-box;
}*/
#hp-dicono-noi {
    width: calc(100% + 2px);
    height: 450px;
}
#hp-dicono-noi .slide-obj {
    height: 450px;
    border-right: 2px solid var(--rosso);
    padding: 40px;
    box-sizing: border-box;
}

.slider-cont {
    overflow: hidden;
}
.slider-full_3-cont {
    width: calc(100% + 2px);
    border-top: 2px solid var(--rosso);
}
.slider-full_3 .slider-obj {
    aspect-ratio: 3/4;
    border-right: 2px solid var(--rosso);
    border-bottom: 2px solid var(--rosso);
}
.slider-full_1_34-cont .slider-obj {
    aspect-ratio: 100/66;
}
.slider-full_3_34-cont {
    width: calc(100% / 3 * 2.5);
}
.slider-full_3_34-nav {
    width: calc(100% / 3 * 0.5);
    position: absolute;
    bottom: 20px;
    padding: 0px 20px;
    box-sizing: border-box;
    left: calc(100% / 3 * 2.5);
}
.slider-full_3_34 .slider-obj {
    aspect-ratio: 3/4;
    border-right: 2px solid var(--rosso);
}
#id_curriculum_vitae {
    visibility: hidden;
    position: absolute;
    z-index: 0;
    opacity: 0;
}
#id_curriculum_vitae ~ span {
    z-index: 10;

}
.anchor-nav {
    position: absolute;
    top: -100px;
}
/* Qui vanno gli eventi di Hover. Non metterli da altre parti!!!!! */
@media only screen and (min-width:1201px) and (max-width:10000px) {
    a:hover {
        text-decoration: underline;
        transition: all 0.5s;
        -webkit-transition: all 0.5s;
    }
    #hp-marquee a:hover {
        text-decoration: unset;
        opacity: 0.6;
        transition: all 0.5s;
        -webkit-transition: all 0.5s;
    }
    .nav-header-item-cont:hover .nav-header-item-dropdown {
        height: 125px;
        opacity: 1;
        transition: all 0.5s;
        -webkit-transition: all 0.5s;
    }
    .link-underlined:hover,
    .link-underlined-mono:hover{
        text-decoration: unset;
        transition: all 0.5s;
        -webkit-transition: all 0.5s;
    }
    .btn-wire-red:hover {
        text-decoration: unset;
        background-color: var(--rosso);
        color: var(--bianco);
        transition: all 0.5s;
        -webkit-transition: all 0.5s;
    }
    .btn-red-transparent:hover {
        text-decoration: unset;
        background-color: var(--rosso);
        color: var(--bianco);
        transition: all 0.5s;
        -webkit-transition: all 0.5s;
    }
    .btn-white-transparent:hover {
        text-decoration: unset;
        background-color: var(--bianco);
        color: var(--rosso);
        transition: all 0.5s;
        -webkit-transition: all 0.5s;
    }
    .btn-red-white:hover {
        background-color: var(--rosso);
        color: var(--bianco);
        text-decoration: unset;
        transition: all 0.5s;
        -webkit-transition: all 0.5s;
    }
    .btn-red-white.no-sel:hover {
        background-color: var(--bianco);
        color: var(--rosso);
        cursor: default;
        text-decoration: unset;
    }
    .btn-red:hover {
        background-color: var(--bianco);
        color: var(--rosso);
        text-decoration: unset;
        transition: all 0.5s;
        -webkit-transition: all 0.5s;
    }
    .filtri-pillola-cont .btn-red:hover {
        background-color: var(--rosso);
        color: var(--bianco);
        transition: all 0.5s;
        -webkit-transition: all 0.5s;
    }
    .filtri-pillola-cont .btn-red:hover span i {
        rotate: 180deg;
        transition: all 0.5s;
        -webkit-transition: all 0.5s;
    }
    #grado-scolastico-filtri-cont .w_auto label:hover {
        text-decoration: underline;
        transition: all 0.5s;
        -webkit-transition: all 0.5s;
    }
    /*
    .col-33-btn:hover,
    .attivita-item-text-btn:hover {
        background-color: var(--bianco);
        color: var(--rosso);
        transition: all 0.5s;
        -webkit-transition: all 0.5s;
    }
    */
    .col-33-no-page-btn-cont:hover .col-33-no-page-btn-int {
        text-decoration: none;
    }
    .btn-freccia:hover .col-33-btn-arrows,
    .col-33-btn:hover .col-33-btn-arrows,
    .attivita-item-text-btn:hover .col-33-btn-arrows,
    #next-prev-attivita-btn-right-cont:hover .col-33-btn-arrows,
    .famiglie-attivita-carousel-item-btn:hover .col-33-btn-arrows,
    #faq-attivita-cont-btn:hover .col-33-btn-arrows,
    .col-33-no-page-btn-cont:hover .col-33-no-page-btn .col-33-btn-arrows {
        right: -100%;
        transition: all 0.5s;
        -webkit-transition: all 0.5s;
    }
    #next-prev-attivita-btn-left-cont:hover .col-33-btn-arrows {
        left: -100%;
        transition: all 0.5s;
        -webkit-transition: all 0.5s;
    }
    .form-fourth-input-cont button:hover,
    #btn-newsletter:hover {
        background-color: var(--rosso);
        transition: all 0.5s;
        -webkit-transition: all 0.5s;
    }
/*    .newsletter-azzurra .form-fourth-input-cont button:hover {
        background-color: var(--rosso);
        color: var(--azzurro);
        transition: all 0.5s;
        -webkit-transition: all 0.5s;
    }
    .newsletter-rosa .form-fourth-input-cont button:hover {
        background-color: var(--rosso);
        color: var(--rosa);
        transition: all 0.5s;
        -webkit-transition: all 0.5s;
    }
    .newsletter-arancio .form-fourth-input-cont button:hover {
        background-color: var(--rosso);
        color: var(--arancio);
        transition: all 0.5s;
        -webkit-transition: all 0.5s;
    }
    .newsletter-viola .form-fourth-input-cont button:hover {
        background-color: var(--rosso);
        color: var(--violetto);
        transition: all 0.5s;
        -webkit-transition: all 0.5s;
    }*/
    #next-prev-attivita-cont a:hover {
        text-decoration: none;
    }
    .info-extra-col-int-left-item:hover {
        text-decoration: none;
        transition: all 0.5s;
        -webkit-transition: all 0.5s;
    }
    .info-extra-col-int-left-item:hover span {
        opacity: 0.5;
        transition: all 0.5s;
        -webkit-transition: all 0.5s;
    }
    .report-link:hover {
        text-decoration: none;
        transition: all 0.5s;
        -webkit-transition: all 0.5s;
    }
    .report-link:hover span {
        opacity: 0.5;
        transition: all 0.5s;
        -webkit-transition: all 0.5s;
    }
    .report-link.no-hover:hover span {
        opacity: 1;
        transition: all 0.5s;
        -webkit-transition: all 0.5s;
    }
    .btn-lavora-con-noi:hover {
        color: var(--bianco);
        transition: all 0.5s;
        -webkit-transition: all 0.5s;
    }
    .slider-arrow:hover {
        opacity: 0.5;
        transition: all 0.5s;
        -webkit-transition: all 0.5s;
    }
}
@media only screen and (min-width:1980px) and (max-width:10000px) {
    .tabella-filetto-left {
        left: calc((1980px * 0.37) + (100vw - 1980px) / 2);
    }
    .tabella-filetto-right {
        right: calc((1980px * 0.63) - (1980px * 0.1575) + (100vw - 1980px) / 2);
    }
    .tabella-filetto-bottom {
        width: calc((1980px * 0.63) + (100vw - 1980px) / 2);
    }
}
/* Tablet Landscape */
@media only screen and (min-width:1024px) and (max-width:1279px) {
}
/* Tablet Portrait */
@media only screen and (min-width:768px) and (max-width:1023px) {
}
/* Cellulari */
@media only screen and (min-width:220px) and (max-width:767px) {
}
