/* Stili principali */
.wrapper-table .title {
    font-family: 'river', sans-serif;
    font-size: 85px;
    line-height: 90px;
    text-align: center;
    color: #151C58 !important;
    margin-top: 15px;
    margin-bottom: 0px;
}

.wrapper-table .after-title p {
    font-family: 'pluto_l';
    font-size: 1.2em !important;
    line-height: 28px !important;
    text-align: center;
    margin-top: 20px;
}

/* Tabella */
.wrapper-table table {
    width: 100%;
    border-collapse: collapse;
    table-layout: fixed;
}

.wrapper-table thead th div p:first-child{
    height: 70px;
    display: flex;
    flex-direction: column;
    align-items: start;
    justify-content: center;
    font-size: 2em !important;
    line-height: 40px !important;
}

.wrapper-table thead th:not(:first-child),
.wrapper-table tbody td:not(:nth-child(1)) {
    width: calc(100% / var(--table-cols));
}

.wrapper-table thead th:first-child,
.wrapper-table tbody tr:not(.category-row) td:nth-child(1) {
    width: calc(200% / var(--table-cols));
}

.wrapper-table thead th:not(:first-child)>div,
.wrapper-table tbody tr:not(.category-row) td:not(:nth-child(1))>div {
    min-height: 90px;
}

.wrapper-table thead th p,
.wrapper-table tbody td p {
    overflow-wrap: anywhere;
}

.wrapper-table thead tr {
    background-color: #FFFFFF;
}

.wrapper-table .col-title {
    text-shadow: 0 0 0px black;
}

/* Header della tabella */
.wrapper-table .title-table {
    height: 140px;
    display: flex;
    align-items: end;
    padding: 10px;
    font-size: 1.2em !important;
    line-height: 24px !important;
    font-weight: 900;
    color: #151C58 !important;
}

.wrapper-table thead tr th p {
    font-family: 'pluto_l';
    font-size: 0.75em !important;
    line-height: 16px !important;
    margin-bottom: 0 !important;
    padding: 5px;
    font-weight: 500;
    text-align: center;
}

.wrapper-table thead tr th:not(:first-child) div {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 10px 5px;
}

/* Righe dati */
.wrapper-table tbody tr:not(.category-row) td p {
    font-family: 'pluto_l';
    font-size: 0.85em !important;
    line-height: 18px !important;
    margin-bottom: 0 !important;
    padding: 10px;
    text-align: center;
}

.wrapper-table tbody tr:not(.category-row) td p small {
    font-size: 0.65em !important;
    line-height: 13px !important;
    color: #131313;
    margin-top: 4px;
    display: block;
}

.wrapper-table tbody tr:not(.category-row) td:not(:first-child) div {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 10px 5px;
}

.wrapper-table tbody tr:not(.category-row) td {
    border: 3px solid #ffffff;
}

.wrapper-table tbody tr:not(.category-row) td:nth-child(1) div p {
    font-size: 1em !important;
    line-height: 20px !important;
    text-align: left;
}

/* Righe divisorie categoria */
.wrapper-table tbody tr.category-row {
    background: linear-gradient(90deg, #0063f5d1 10%, #151c5800 100%);
    height: 50px;
    border: none;
}

.wrapper-table tbody tr.category-row td {
    border: none;
    padding: 0;
    text-align: left;
}

.wrapper-table tbody tr.category-row .category-label {
    font-size: 1.2em !important;
    color: #FFFFFF;
    display: flex;
    align-items: center;
    height: 100%;
    padding: 0 20px;
    letter-spacing: 0.5px;
}

/* Logo e bullet */
.wrapper-table .logo {
    width: 75px;
    height: auto;
}

.wrapper-table .bullet {
    width: 15px;
    height: 15px;
    background-color: #000000;
    border-radius: 50%;
    display: block;
}

/* Responsive */
@media (max-width: 991px) {
    .wrapper-table thead th div p:first-child{
        justify-content: end;
        font-size: 1.2em !important;
        line-height: 20px !important;
    }
    .wrapper-table .title {
        font-size: 75px !important;
        line-height: 85px !important;
    }

    .wrapper-table .after-title p {
        font-size: 1em !important;
        line-height: 24px !important;
    }

    .wrapper-table .container-table {
        max-width: 800px !important;
        overflow-x: auto;
    }

    .wrapper-table tbody tr:not(.category-row) td p {
        font-size: 0.65em !important;
        line-height: 16px !important;
    }

    .wrapper-table thead tr th p {
        font-size: 0.9em !important;
        line-height: 24px !important;
        white-space: nowrap;
    }

    .wrapper-table .logo {
        width: 50px;
    }

    .wrapper-table tbody tr.category-row .category-label {
        font-size: 0.85em !important;
        padding: 0 15px;
    }

    .wrapper-table table {
        overflow-x: auto;
    }

    .wrapper-table thead th:first-child,
    .wrapper-table tbody tr:not(.category-row) td:nth-child(1) {
        width: 120px;
    }

    .wrapper-table thead th:not(:first-child),
    .wrapper-table tbody td:not(:nth-child(1)) {
        width: 80px;
    }

    .wrapper-table thead tr th p {
        font-size: 0.5em !important;
        line-height: 12px !important;
    }

    .wrapper-table tbody tr:not(.category-row) td:nth-child(1) div p {
        font-size: 0.7em !important;
        line-height: 15px !important;
    }

    .wrapper-table tbody tr.category-row {
        height: 35px;
    }

    .wrapper-table tbody tr:not(.category-row) td p {
        padding: 5px;
    }

    .wrapper-table tbody tr:not(.category-row) td p small {
        line-height: 10px !important;
    }
}