.table_wrapper { 
    padding-bottom: 30px;
    overflow: auto;
    scrollbar-color: var(--color-base) whitesmoke;
}
    .table_wrapper::-webkit-scrollbar-track { background: whitesmoke; }
    .table_wrapper::-webkit-scrollbar-thumb { background-color: var(--color-base) ; }

    table { 
        width: 100%; 
        min-width: 600px;
    }
        table th
        ,table td
        {
            padding: 8px 20px;
        }
        table thead tr th {  
            border-bottom: 2px solid var(--color-darkgrey);  
            color: var(--color-evidence);
        }

.back a {
    font-size: var(--text-xxsmall);
    text-transform: uppercase;
    color: var(--color-base);
}


#login_form .submit_btn {
    margin-top: 20px;
    margin-bottom: 20px;
}

.func_menu { 
    padding-bottom: 20px;
    margin-bottom: 40px;
    border-bottom: 1px solid var(--color-lightgrey);
    display: flex; 
    flex-wrap: wrap;
}
    .func_menu .btn { 
        min-width: 0;
        font-weight: normal; 
    }

.cat_file + .cat_file { margin-top: 70px; }
    .cat_file > h4 {
        margin: 0 0 18px 0;
        font-size: var(--text-medium);
        font-weight: 900;
        text-transform: uppercase;
    }

    .cat_file > ul {
        padding-left: 20px;
        margin: 0;
        column-count: 3;
        column-gap: 50px;
    }

        .cat_file > ul a { color: var(--color-base) }
            .no-touch .cat_file > ul a:hover { color: var(--color-evidence) }

.narrow_page {
    max-width: 980px;
    margin-right: auto;
    margin-left: auto;
}

    #dati_profilo fieldset { margin-bottom: 30px; }
    #dati_profilo fieldset h4 { color: var(--color-evidence); }

#filtri {
    margin-top: -28px;
    margin-bottom: 40px;
    padding-bottom: 36px;
    border-bottom: 1px solid var(--color-lightgrey);
    display: flex;
    align-items: flex-end;
}
    #filtri > * { 
        width: auto; 
        margin-bottom: 0;
    }
        #filtri > button { height: 50px; }
        #filtri > * + * { margin-left: 3%; }
    
        /*#lista_prenotazioni .corse_table thead tr th { 
            width: 33.33%;
            border-bottom: 2px solid var(--color-darkgrey); 
        }
        */
        .no-touch #lista_prenotazioni .corse_table tbody tr.openable { 
            transition: color .5s; 
            background-color: var(--color-lightgrey);
        }
            .no-touch #lista_prenotazioni .corse_table tbody tr.openable:hover { 
                cursor: pointer; 
                color: var(--color-evidence);
            }

            #lista_prenotazioni .corse_table tbody tr td { border-bottom: 1px solid var(--color-lightgrey); }
        #lista_prenotazioni .corse_table tfoot tr td { border-top: 2px solid var(--color-darkgrey); }

            #lista_prenotazioni .corse_table .corsa_detail td { padding: 0; }
                #lista_prenotazioni .corse_table .corsa_detail td article {
                    padding: 20px 20px 40px 20px;
                    display: none;
                }
                #lista_prenotazioni .corse_table .corsa_detail strong  
                ,#lista_prenotazioni .corse_table .corsa_detail span { 
                    display: inline-block;
                    vertical-align: top;
                }
                    #lista_prenotazioni .corse_table .corsa_detail strong { width: 150px; }
                #lista_prenotazioni .corse_table .corsa_detail strong::first-letter { text-transform: uppercase; }
    
    .sostituzioni_table a { color: var(--color-base); }


#sostituzioni_insert_form { max-width: 760px; }
    #sostituzioni_insert_form fieldset p { margin: 2em 0; }

    #sostituzioni_insert_form fieldset .heading {
        font-weight: bold;
        text-align: center;
        text-transform: uppercase;
    }
    #sostituzioni_insert_form fieldset .placeholder_fixed { font-size: initial; }

    #sostituzioni_insert_form .turni_cat {
        width: 48%;
        padding: 30px 0 15px 0;
        float: left;
    }
        #sostituzioni_insert_form .turni_cat.odd { float: right; }
        #sostituzioni_insert_form .turni_cat.even { clear: both; }
        #sostituzioni_insert_form .turni_cat h4 { 
            text-transform: uppercase;
            color: var(--color-evidence);
        }
        #sostituzioni_insert_form .turno_item { 
            margin: .8em 0;
            position: relative;
        }

        #sostituzioni_insert_form #is_start_label {
            left: 50%;
            transform: translate(-50%,0);
        }

@media only screen and (max-width: 1024px){
    .cat_file > ul { column-count: 2; }

    #filtri { flex-wrap: wrap; }
        #filtri > label { 
            width: 100%;
            margin-bottom: 24px;
        }

        #filtri > * + * { margin-left: 0; }

}


@media only screen and (max-width: 600px){
    .cat_file > ul { column-count: 1; }    
}

@media only screen and (max-width: 400px){
    .func_menu { flex-direction: column; }
}