/*generic*/
*{
    outline-width: 0 !important;
}
.mce-branding.mce-widget{
    display: none !important;
}
/* Per Webkit (Chrome, Safari, Edge) */
input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

/* Per Firefox */
input[type="number"] {
    -moz-appearance: textfield;
}

/*modals*/
.modal-dialog{
    top: 50% !important;
    transform: translate(0,-50%) !important;
    margin: 0 auto !important;
}
.modal{
    background-color: transparent !important;
}
/*fonts*/

/*loading*/
.has_loading_container{
    position: relative;
    display: block;
}
.d-flex > .has_loading_container{
    margin: 0 5px;
}
.has_loading{
    opacity: 1 !important;
}
.has_loading_container span.has_loading{
    display: block;
}
body .has_loading_container img.loading_img{
    width: 30px !important;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
    border-radius: 100%;
}
body .has_loading_container .btn{
    position: relative;
}
/*contenitori*/
.is-sticky{
    padding-top: 30px;
}
.container_full{
    max-width: 100% !important;
    padding: 0 !important;
}
.row_medium{
    max-width: 1030px;
}
.logo_big img{
    width: 300px;
}
#error_message div{
    background: #e5092a;
    color: #fff;
    padding: 15px 20px;
    margin: 20px 0;
    border-radius: 10px;
    font-size: 16px;
    font-weight: bold;
    box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.2);
}
#error_message div.ignore_bold{
    font-weight: 400;
}

.external_container{
    padding: 20px;
    background: #fcfcfc;
    border: 1px solid #A1D23F;
}
.box{
    background: #fff;
    border-radius: 15px;
    padding: 30px 20px 30px 20px;
    margin-left: auto;
    margin-right: auto;
}
.box.col-md-2{
    width: 20%;
    margin-right: 20px;
}
.box.col-md-10{
    width: calc(80% - 20px);
}
.box .testo{
    margin-bottom: 50px;
}
.v_align_center{
    align-items: center;
}
.box_max_420{
    margin-left: auto;
    margin-right: auto;
    max-width: 420px;
}
.full_width{
    max-width: none !important;
    width: 100% !important;
}
.form_field_container{
    margin-bottom: 20px !important;
}
.form_field_container select,
.form_field_container select:focus{
    margin-bottom: 0 !important;
}
/*testi*/
.section_title{
    color: #A1D23F;
    font-size: 55px;
    font-style: normal;
    font-weight: 700;
    line-height: normal;
    margin-bottom: 19px;
}
.section_subtitle{
    color: #A1D23F;
    font-size: 35px;
    font-style: normal;
    font-weight: 700;
    line-height: normal;
    margin-bottom: 20px;
}
@media(max-width:767px){
    .section_subtitle{
        font-size: 26px;
    }
}
.title{
    font-size: 24px;
    line-height: 30px;
    font-weight: bold;
    color: #A1D23F;
    margin-bottom: 25px;
    max-width: 830px;
    margin-left: auto;
    margin-right: auto;
}
.sub_title{
    font-size: 20px;
    line-height: 30px;
    font-weight: bold;
    color: #396913;
    margin-bottom: 10px;
    text-transform: uppercase;
}
.testo{
    font-size: 15px;
    line-height: 23px;
    color: #232323;
    margin-bottom: 20px;
}
.testo_small{
    font-size: 13px;
    line-height: 20px;
    color: #232323;
    margin-bottom: 20px;
}
.testo_small ul{
    padding-left: 14px;
}
#user_name_logged{
    font-size: 25px;
    line-height: 30px;
    color: #fff;
    background-color: #A1D23F;
    font-weight: 700;
    border-radius: 10px;
    padding: 50px;
    display: block;
}
/*dashboard*/
.box-giacenza{
    line-height: 30px;
}
.tabella-dashboard-wrapper{
    width:100%;
    overflow: hidden;
    border:1px solid #b9c69d;
    border-radius:12px;
    background:#fff;
    box-shadow:0 2px 8px rgba(0,0,0,.15);
    margin-bottom: 30px;
}
.tabella-dashboard-wrapper p{
    padding: 20px;
    background: #A1D23F;
    font-size: 24px;
    font-weight: 700;
    color: #ffffff;
    margin-bottom: 0;
}
.tabella-dashboard-wrapper.tabella-dashboard-wrapper-dark p{
    background: #018E78;
}
.resoconto-dashboard{
    padding: 20px;
    background: #EEF5E2;
    font-size: 20px;
    color: #000000;
    text-align: left;
}
.tabella-dashboard thead th{
    position:sticky;
    top:0;
    background:#F8FAF9;
    z-index:10;
    min-width: 200px;
}
.tabella-dashboard{
    width:100%;
    border-collapse:collapse;
    font-size:15px;
}
.tabella-dashboard thead th{
    padding:15px 12px;
    color:#222;
    font-weight:700;
    text-align:left;
    border-bottom:2px solid #8fb42d;
}
.tabella-dashboard tbody td{
    padding:14px 12px;
    border-bottom:1px solid #e5e5e5;
    vertical-align:middle;
}
.tabella-dashboard tbody tr:nth-child(even){
    background:#fafafa;
}
.tabella-dashboard tbody tr:hover{
    background:#f3f9e4;
}
.tabella-dashboard .text-center{
    text-align:center;
}
.tabella-dashboard small{
    display:block;
    color:#666;
    margin-top:4px;
    font-size:13px;
}
.cont_bottoni_tabella_dashboard{
    display: flex;
    justify-content: end;
    gap: 10px;
}
elemento {
}
input[type="button"], button:not(#wp-media-modal button):not(.mce-open):not(.media-menu-item):not(.elementor-preset):not(.select2-selection__choice__remove):not(.wpml-toggle):not(.red-wc-reveal-img-button):not(.show-password-input):not(.btn-outline-secondary.minus):not(.btn-outline-secondary.plus):not(.bottone_filtro_red_wc):not(.elementor-add-section-area-button):not(.elementor-add-section-back):not(.e-con-select-type__icons__icon):not(.e-con-preset):not(.elementor-add-section-close):not(.cmplz-btn):not(.slick-prev):not(.slick-next):not([aria-controls^="mep_"]):not([role="presentation"]):not([aria-controls^="slick"]):not(.buttons-excel):not(#modal-btn-si):not(#modal-btn-no):not(.e-n-tab-title), input[type="submit"] {
    font-size: 14px;
    line-height: 23px;
    padding: 10px 20px !important;

    font-family: var(--red_tmp_font_name, "Arial");
    font-weight: bold;
    display: inline-block;
    margin: 0 auto 30px auto;

    margin-bottom: 30px;

    text-decoration: none;

    position: relative;
    text-align: center;
    background: var(--red_tmp_colore_sfondo_bottone_custom);
    color: var(--red_tmp_colore_bottone_custom);
    text-transform: uppercase;
    border: 0;
    border-radius: 0;
    cursor: pointer;
    transition: all .2s ease;

}
#modalConfermaFirma{
    margin-left: 4px !important;
    margin-right: 4px !important;
}
.cont_canvas > canvas{
    touch-action: none;
}
.bottoni_canvas{
    text-align: center;
}
.bottoni_canvas > div{
    display: inline-block;
    padding-top: 60px;
    width: 85px;
    text-align:center;
    background-size: 50px;
    background-repeat: no-repeat;
    background-position: center top;
    margin: 20px;
    cursor: pointer;
}
.bottoni_canvas .save_canvas{
    background-image: url(../images/conferma_firma.png);
    color: #3C902E;
}
.bottoni_canvas .reset_canvas{
    background-image: url(../images/pulisci_firma.png);
    color: red;
}
table.dataTable.tabella_messaggi tr td .accordion .accordion-item:last-child .accordion-button, table.tabella-dashboard tr td .accordion .accordion-item:last-child .accordion-button {
    background-color: transparent !important;
}
.accordion .accordion-item .accordion-header.accordion-header-messaggi .accordion-button {
    border-radius: 0 !important;

}
.accordion .accordion-item:last-child .accordion-button {
    border-bottom-right-radius: 5px !important;
    border-bottom-left-radius: 5px !important;
}
.accordion .accordion-item:first-child .accordion-button {
    border-top-right-radius: 5px !important;
    border-top-left-radius: 5px !important;
}
.accordion-item:first-of-type .accordion-button {
    border-top-left-radius: calc(.25rem - 1px);
    border-top-right-radius: calc(.25rem - 1px);
}
.accordion-header .accordion-button:not(.collapsed) {
    border-bottom-right-radius: 5px !important;
    border-bottom-left-radius: 5px !important;
}
.accordion-header.accordion-header-messaggi .accordion-button {
    box-shadow: none !important;
}
table.dataTable.tabella_messaggi tr td .accordion-item, table.dataTable.tabella_messaggi tr td .accordion-button, table.dataTable.tabella_messaggi tr td .accordion-body-message, table.tabella-dashboard tr td .accordion-item, table.tabella-dashboard tr td .accordion-button, table.tabella-dashboard tr td .accordion-body-message {
    border: 0 !important;

}
body .tabella-dashboard button.accordion-button,
body .tabella_messaggi button.accordion-button{
    color: #000 !important;
}
.accordion-header-messaggi{
    padding-right: 42px;
}
.accordion .accordion-item .accordion-header.accordion-header-messaggi .accordion-button{
    border-radius: 0 !important;
}
.accordion-header.accordion-header-messaggi .accordion-button:after{
    top: 4px;
}
.accordion-header.accordion-header-messaggi .accordion-button{
    box-shadow: none !important;
}
.accordion-body.accordion-body-message{
    background: transparent !important;
    color: #000 !important;
    font-weight: 400 !important;
    font-size: 16px !important;
    line-height: 20px !important;
    padding-top: 0 !important;
}
@media(max-width:768px){
    .tabella-dashboard{
        font-size:14px;
    }
    .tabella-dashboard th,
    .tabella-dashboard td{
        padding:10px;
    }
    .cont_bottoni_tabella_dashboard{
        display: block;
    }
}
#menu_num_mex_non_letti{
    background: #e5092a;
    color: #ffffff;
    border-radius: 5px;
    font-size: 11px;
    line-height: 15px;
    display: inline-block;
    height: 20px;
    text-align: center;
    margin-left: 10px;
    padding: 2px 5px;
}
/*sezione top*/
#confirm_message > div{
    background: #28a745;
    color: #fff;
    padding: 15px 20px;
    margin: 20px 0;
    border-radius: 10px;
    font-size: 16px;
    font-weight: bold;
    box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.2);
}
#confirm_message svg{
    fill: #fff;
    margin-right: 10px;
    width: 20px;
}
#menu.align-items-center{
    justify-content: center;
}
#menu.align-items-center > div{
    margin: 0 5px;
}
#cont_menu_icons {
    position: relative;
    text-align: right;
    width: auto;
    margin-bottom: 30px;
    z-index: 3;
    display: flex;
    align-items: center;
    justify-content: end;
}
#cont_menu_icons .icon{
    position: relative;
    display: inline-block;
    cursor: pointer;
    margin-left: 10px;
    width: 40px;
    height: 40px;
    border-radius: 100%;
    transition: all 0.3s;
    background: #A1D23F;
}
body #cont_menu_icons img.loading_img{
    width: 24px !important;
}
#cont_menu_icons .icon img{
    width: 100%;
}
#cont_menu_icons .icon:hover{
    background: #A1D23F;
}
/*bottoni*/
.cursor_pointer{
    cursor: pointer;
}
[role='img_button']{
    width: 30px;
    max-width: none !important;
    cursor: pointer;
}
[role='img_button_big']{
    width: 42px;
    max-width: none !important;
    cursor: pointer;
}
.btn_std,
button.buttons-excel{
    position: relative;
    color: #fff !important;
    transition: all 0.3s;
    border-radius: 3px !important;
    font-size: 20px;
    line-height: 32px;
    font-weight: bold !important;
    cursor: pointer;
    display: inline-block;
    width: auto;
    padding: 0px 20px;
    opacity: 1 !important;
    background: #A1D23F !important;
    border: 2px solid #A1D23F !important;
    box-shadow: none !important;
    text-decoration: none !important;
    text-transform: uppercase !important;
}
.btn.btn_sidebar{
    padding: 3px 0 !important;
    font-size: 13px !important;
    text-transform: uppercase !important;
    color: #000;
}
.btn a{
    color: #fff !important;
}
.btn:not(.btn_sidebar):hover a{
    color: #A1D23F !important;
}
.btn.btn_sidebar.attiva,
.btn.btn_sidebar:hover{
    color: #A1D23F !important;
}
.btn.btn_sidebar .icon{
    width: 25px;
    height: 25px;
}
body .has_loading_container .btn.btn_sidebar img.loading_img {
    left: 0;
    transform: translate(0,-50%);
}
.btn.disabled, .btn:disabled,
fieldset:disabled .btn {
    pointer-events: none !important;
    opacity: .65 !important;
}
.btn_std.no_min_width{
    min-width: 0px;
}
.btn_std:hover,
.btn_std.attiva,
button.buttons-excel:hover{
    background: #fff !important;
    border: 2px solid #A1D23F !important;
    color: #A1D23F !important;
}
.btn:not(.btn_sidebar):hover svg{
    fill: #A1D23F;
}
.btn_big{
    padding: 30px 20px;
    border-radius: 15px;
    font-size: 24px;
    line-height: 24px;
}
.btn_small{
    padding: 5px 20px;
    border-radius: 25px;
    font-size: 14px;
    line-height: 16px;
    font-weight: 500;
}
.btn_menu{
    border-radius: 25px;
    font-size: 16px;
    font-weight: 500;
    text-align:left;
    margin-bottom: 10px;
    min-width: 100%;
}
a.btn_menu{
    border-radius: 25px;
    font-size: 16px;
    font-weight: 500;
    text-align:left;
    margin-bottom: 10px;
    min-width: 0;
}
.btn .svg-cont{
    width: 20px;
    margin-right: 10px;
    display: inline-block;
}
.btn svg{
    height: 20px;
    fill: #fff;
    position: relative;
    top: -2px;
}
.btn_no_uppercase{
    text-transform: inherit !important;
}
.btn_std_green{
    background: #8DC63F !important;
    border: 2px solid #8DC63F !important;
}
.btn_std_green:hover{
    background: #9cd54e !important;
    border: 2px solid #9cd54e !important;
}
.btn_std_red{
    background: #d31717 !important;
    border: 2px solid #d31717 !important;
}
.btn_std_red:hover{
    background: #f13b3b !important;
    border: 2px solid #f13b3b !important;
}
.btn_std_orange{
    background: #FFAE51 !important;
    border: 2px solid #FFAE51 !important;
}
.btn_std_orange:hover{
    background: #ffbb6d !important;
    border: 2px solid #ffbb6d !important;
}
.btn_std_petrol{
    background:#018E78 !important;
    border: 2px solid #018E78 !important;
}
.btn_std_petrol:hover{
    background: #ffffff !important;
    border: 2px solid #018E78 !important;
    color: #018E78 !important
}
.transparent_button{
    color: #A1D23F;
    background: transparent;
}
.transparent_button:hover{
    color: #fff;
}
.btn_std label{
    font-size: 16px;
    line-height: 24px;
    font-style: normal;
    font-weight: 400;
    cursor: pointer;
}
.btn_toggle_input + .btn_toggle_slider:before{
    content: "NO";
    text-align: center;
    font-weight: bold;
    font-size: 14px;
    line-height: 21px;
}
.btn_toggle_input:checked + .btn_toggle_slider:before{
    content: "SI";
}
/*accordion*/
.accordion .accordion-item{
    background: transparent;
}
.accordion .accordion-item:first-child .accordion-button{
    border-top-right-radius: 5px !important;
    border-top-left-radius: 5px !important;
}
.accordion .accordion-item:last-child .accordion-button{
    border-bottom-right-radius: 5px !important;
    border-bottom-left-radius: 5px !important;
}
.accordion .accordion-item{
    margin-bottom: -2px;
}
.accordion-header{
    margin-top: 0 !important;
}
.accordion-header .accordion-button{
    width: 100%;
    background: #fff !important;
    border: 1px solid #A1D23F !important;
    text-align: left;
    margin-bottom: 0 !important;
}
.accordion-header .accordion-button:not(.collapsed){
    border-bottom-right-radius: 5px !important;
    border-bottom-left-radius: 5px !important;
}
.accordion-header .accordion-button{
    display: flex;
    flex-wrap: wrap;
}
.accordion-header .accordion-button .news_date{
    font-size: 16px;
    line-height: 32px;
    font-weight: 400;
    color: #A1D23F;
    width: 100px;
    display: inline-block;
    float: left;
}
.accordion-header .accordion-button .news_title{
    font-size: 16px;
    line-height: 32px;
    font-weight: 700;
    color: #A1D23F;
    width: calc(100% - 190px);
    display: inline-block;
    text-align: left;
}
.accordion-header .accordion-button:focus{
    outline: none !important;
    box-shadow: none !important;
}
.accordion-header .accordion-button:after{
    width: 30px !important;
    content: "+" !important;
    font-size: 40px;
    line-height: 32px;
    color: #A1D23F;
    background-image: none !important;
    tranform: none !important;
    transition: none !important;
    height: auto !important;
    text-align: center;
    display: inline-block !important;
    position: absolute;
    right: 10px;
}
.accordion-header .accordion-button:not(.collapsed):after{
    width: 30px !important;
    content: "-" !important;
    font-size: 40px;
    line-height: 42px;
    color: #A1D23F;
    background-image: none !important;
    tranform: none !important;
    transition: none !important;
    height: auto !important;
    text-align: center;
}
.accordion-body{
    font-size: 18px;
    line-height: 32px;
    color: #A1D23F;
    font-weight: 400;
    background: transparent !important;
    border-left: 1px solid #A1D23F !important;
    border-right: 1px solid #A1D23F !important;
    border-bottom: 1px solid #A1D23F !important;
}
.accordion-header .btn.btn_sidebar.accordion-button{
    width: 100%;
    background: transparent !important;
    border: none !important;
    text-align: left;
    margin-bottom: 8px;
    padding: 5px 0 !important;
}
.accordion-header .btn.btn_sidebar.accordion-button:after{
    display: none !important;
}
#heading_gestione_rifiuti{
    padding: 0 !important;
    margin-bottom: 8px;
}
#accordion_gestione_rifiuti .accordion-item{
    border: 0 !important;
}
#accordion_gestione_rifiuti .accordion-body.accordion-body-message{
    border: 0 !important;
    padding-right: 0;
    padding-bottom: 0;
}
#accordion_gestione_rifiuti .accordion-button:not(.collapsed){
    color: #97CA50;
}
/*svg*/
svg.show_password{
    position: relative;
    z-index: 2;
    margin-left: -45px;
    top: 6px;
    cursor: pointer;
}
.svg_path_fill_blue path{
    fill: #1767d5;
    stroke: #1767d5;
}
.svg_path_fill_green path{
    fill: #069a1a;
    stroke: #069a1a;
}
.svg_path_stroke_orange path{
    fill: #FFAE51;
    stroke: #FFAE51;
}
.svg_path_fill_red path{
    fill: #ff2f2f;
    stroke: #ff2f2f;
}
/* filtri */
.hide_filters{
    display: none !important;
}
.filter_button_container{
    padding-top: 40px;
    margin-top: -10px;
}
/*page nav*/
.page-link{
    color: #232323 !important;
}
.page-link:hover{
    color: #A1D23F !important;
}
.page-item.active .page-link{
    color: #fff !important;
    background: #A1D23F !important;
}

.pen_edit{
    width: 15px;
}
.dt-buttons.btn-group.flex-wrap{
    display: block;
    margin-bottom: 20px;
}
/*margini*/
.mb_0{
    margin-bottom: 0px !important;
}
.mb_10{
    margin-bottom: 10px !important;
}
.mb_20{
    margin-bottom: 20px !important;
}
.mb_30{
    margin-bottom: 30px !important;
}
.mb_40{
    margin-bottom: 40px !important;
}
.mb_50{
    margin-bottom: 50px !important;
}
.mb_100{
    margin-bottom: 100px !important;
}
.mb_150{
    margin-bottom: 150px !important;
}
.mb_200{
    margin-bottom: 200px !important;
}
.m_side_0{
    margin-left: 0;
    margin-right: 0;
}
/*sezioni ad hoc*/
span[data-toggle="tooltip"]{
    cursor: pointer;
}
.long-tooltip {
    text-align: left !important;
    min-width: 280px;
}
#container_login{
    padding: 30px;
}
.completed_operation_icon{
    width: 56px;
}
.completed_operation_container .box{
    padding: 50px 30px;
}
.completed_operation_container .box.with_logo{
    padding: 30px;
}

/*------------------------------------*\
   SELECT2
\*------------------------------------*/

.select2-container{
    display: block !important;
    width: auto !important;
}

.select2-container--default .select2-selection--single{
    border-radius: 5px !important;
    border: 1px solid #232323 !important;
    background: #FFF;
    color: #A1D23F;
    font-size: 18px;
    font-style: normal;
    font-weight: 400;
    line-height: 32px;
    opacity: 1 !important;
    padding: 3px 10px !important;
    width: 100%;
    margin: 0 auto 19px auto;
    margin-right: auto;
    margin-left: auto;
    display: block;
    height: 38px !important;
}

.select2-container--default .select2-selection--single .select2-selection__arrow{
    top: 7px !important;
}

.select2-container--default .select2-selection--single .select2-selection__rendered{
    line-height: 31px !important;
}

.select2-container--open input.select2-search__field{
    margin-bottom: 0 !important;
}

.woocommerce .select2-selection.select2-selection--multiple{
    height: auto !important;
    min-height: 40px !important;
    display: block !important;
}

.woocommerce .select2-selection.select2-selection--multiple select2-selection__rendered{
    padding: 0 !important;
}

.woocommerce .select2-selection.select2-selection--multiple .select2-search--inline .select2-search__field {
    margin-top: 0;
    padding: 0 !important;
    width: 100% !important;
}

/*------------------------------------*\
   tinymce-tmce
\*------------------------------------*/
button.wp-switch-editor,
input.ed_button.button{
    background: #e0e0e0 !important;
    color: #000 !important;
    padding: 3px 10px !important;
    font-weight: 400 !important;
    margin-right: 5px !important;
    font-size: 11px !important;
    margin-bottom: 5px !important;
}
button.wp-switch-editor:hover,
input.ed_button.button:hover{
    background: #c2c2c2 !important;
    color: #000 !important;
}
/*------------------------------------*\
   datatable
\*------------------------------------*/
.dataTable tr th:nth-child(1), .dataTable tr:not(.child) td:nth-child(1) {
    padding-left: 40px !important;
}
table.dataTable > tbody > tr.child ul.dtr-details{
    display: flex !important;
    flex-wrap: wrap;
}
table > tbody > tr.child ul.dtr-details li > span{
    width: 100%;
}
.dataTable{
    margin-bottom: 50px;
    border-radius: 5px !important;
    overflow: hidden;
}
.dataTable thead th{
    background: #fff;
    color: #A1D23F;
    font-size: 16px;
    font-weight: 700;
    line-height: 18px;
    padding: 5px 10px !important;
}
.dataTable thead th:before,
.dataTable thead th:after{
    display: none !important;
}
table.dataTable td{
    border-top: 0;
    border-left: 0;
    border-bottom: 1px solid #ccc;
    color: #232323;
    font-size: 14px;
    line-height: 30px;
    padding: 5px 10px !important;
}
.dataTable tbody td{
    padding: 10px 5px !important;
}
table.dataTable .dtr-title{
    color: #A1D23F;
    font-size: 16px;
    font-weight: 700;
}
body table.dataTable thead th{
    border-top: 0 !important;
    border-left: 0;
    border-bottom: 1px solid #A1D23F;
    padding: 10px 5px !important;
}
table.dataTable tr:last-child td{
    border-bottom: 0;
}
table.dataTable tr th:last-child,
table.dataTable tr td:last-child{
    border-right: 0;
}
table.dataTable td{
    vertical-align: middle;
}
.dataTables_length{
    width: 50%;
    float: left;
    margin-bottom: 30px;
}
.dataTables_filter{
    width: 50%;
    float: right;
    margin-bottom: 30px;
}
div.dataTables_wrapper div.dataTables_filter label{
    text-align: right !important;
}
.dataTable tbody tr:nth-child(odd) {
    background-color: #fcfcfc;
}
.dataTable tbody tr:nth-child(even) {
    background-color: #ffffff;
}
.dataTable tbody tr:hover {
    background-color: #f4f4f4;
}
.th_descrizione{
    min-width: 350px !important;
}
.th_avanzamento{
    min-width: 220px !important;
}
table.dataTable.dtr-inline.collapsed > tbody > tr > td.dtr-control:before{
    background: #A1D23F !important;
}
table.dataTable > tbody > tr.child ul.dtr-details > li{
    display: block;
    width: 100%;
}
table.dataTable > tbody > tr.child span.dtr-title {
    width: auto;
    margin-right: 20px;
}
table.dataTable.tabella_messaggi tr td{
    padding: 0 !important;
}
table.dataTable.tabella_messaggi tr td .accordion-item,
table.dataTable.tabella_messaggi tr td .accordion-button,
table.dataTable.tabella_messaggi tr td .accordion-body-message,
table.tabella-dashboard tr td .accordion-item,
table.tabella-dashboard tr td .accordion-button,
table.tabella-dashboard tr td .accordion-body-message{
    border: 0 !important;
}
table.tabella-dashboard tr td .accordion-header .accordion-button:after,
table.dataTable.tabella_messaggi tr td .accordion-header .accordion-button:after{
    right: auto;
    left: -38px;
}
table.tabella-dashboard tr th.with_accordion,
table.tabella-dashboard tr td.with_accordion{
    padding-left: 50px !important;
}
table.dataTable.tabella_messaggi tr td .accordion .accordion-item:last-child .accordion-button,
table.tabella-dashboard tr td .accordion .accordion-item:last-child .accordion-button{
    background-color: transparent !important;
}
/*------------------------------------*\
   logs
\*------------------------------------*/
.logs {
    background-color: #f8f9fa; /* Sfondo leggermente grigio */
    padding: 15px;
    border-radius: 8px;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
    margin-top: 15px;
}

.logs .col-12 {
    background-color: #ffffff;
    padding: 10px 15px;
    border-radius: 5px;
    margin-bottom: 10px;
    border-left: 4px solid #007bff; /* Bordo colorato a sinistra */
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
}

.logs .col-12:nth-child(odd) {
    background-color: #eef2f7; /* Alternanza di colori per migliorare la leggibilità */
}

.logs .col-12:last-child {
    margin-bottom: 0;
}

@media (max-width: 768px) {
    .logs {
        padding: 10px;
    }

    .logs .col-12 {
        padding: 8px 12px;
    }
    .dataTables_filter{
        width: 100%;
    }
}

/*------------------------------------*\
   export
\*------------------------------------*/
#cont_avanzamento{
    border: 1px solid #ccc;
    background: #fff;
    border-radius: 5px;
    height: 30px;
    overflow: hidden;
    position: relative;
    width: 100%;
    max-width: 300px;
}

#perc_avanzamento{
    height: 30px;
    background: #A1D23F;
    transition: all 1.5s;
}

#val_avanzamento{
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
    color: #000;
    font-size: 20px;
}

/*------------------------------------*\
   required disable ecc
\*------------------------------------*/
.required:not(span){
    border: 2px solid red !important;
    box-shadow: 0 0 5px rgb(255, 0, 0) !important;
}
span.required{
    color: red !important;
}
.has_required .select2-selection{
    box-shadow: 0 0 5px rgb(255, 0, 0) !important
}
.confirm-field-wrong{
    box-shadow: 0 0 5px rgba(225,0,0,1);
}
div input.form_input:disabled,
div textarea.form_input:disabled:not(.tinymce),
div textarea.form_input:disabled{
    background-color: #eee !important;
    cursor: default;
}

/*------------------------------------*\
   mobile
\*------------------------------------*/

@media all and (max-width: 767px) {
    .container.container_full > .d-flex.flex-row{
        display: block !important;
    }
    .mb_10{margin-bottom: 5px !important;}
    .mb_20{margin-bottom: 210px !important;}
    .mb_30{margin-bottom: 15px !important;}
    .mb_40{margin-bottom: 20px !important;}
    .mb_50{margin-bottom: 25px !important;}
    .mb_100{margin-bottom: 50px !important;}
    .mb_150{margin-bottom: 75px !important;}
    .mb_200{margin-bottom: 100px !important;}
    .section_title {
        font-size: 35px;
    }
    .btn_std, button.buttons-excel {
        font-size: 15px;
    }
    .page-link {
        padding: 5px;
    }
    .th_descrizione{
        min-width: 100vw !important;
    }
}

/*svg*/
.password_container{
    position: relative;
    max-width: 400px;
    margin: 0 auto;
}
input[type='password']{
    padding-right: 40px;
}
.togglePassword{
    height: 18px;
    cursor: pointer;
    position: absolute;
    right: 10px;
    top: 19px;
    transform: translate(0,-50%);
    display: block;
    background-image: url(../images/show_psw.png);
    background-size: cover;
    width: 34px;
}

/*------------------------------------*\
   regole plugin
\*------------------------------------*/
.autore_nota{
    margin-bottom: 10px;
}
.autore_nota span{
    color: #A1D23F;
    font-weight: bold;
}
#cont_big_logo{
    padding: 50px 30px;
}
.contenitore_area_privata .blocco_dati_login {
    font-size: 25px;
    line-height: 30px;
    color: #fff;
    background-color: #A1D23F;
    font-weight: 700;
    border-radius: 10px;
    padding: 50px;
    display: block;
    text-align: center;
}
.contenitore_area_privata .blocco_dati_login a{
    color: #fff !important;
    font-size: 23px;
}
#logout_png{
    width: 42px;
    display: inline-block;
    top: -10px;
    position: relative;
}
#sezione_top{
    margin-bottom: 6px;
    margin-left: -7px;
}
.form_field_container > label{
    margin-bottom: 5px;
}
.pallino{
    width:15px;
    height:15px;
    border-radius:100%;
    display:inline-block;
    overflow: hidden;
    box-shadow: 1px 1px 3px rgb(0, 0, 0);
    border: 1px solid #ccc;
}
.pallino_verde{
    background-color: #28a745;
}
.pallino_rosso{
    background-color: #dc3545;
}
.select2-container--default .select2-selection--single,
.select2-container--default .select2-selection--multiple {
    border: 1px solid #A1D23F !important;
}
.info_unita_locali{
    font-size: 16px;
    line-height: 20px;
    color: #fff;
    background-color: #A1D23F;
    font-weight: 700;
    border-radius: 10px;
    padding: 30px;
}
.info_unita_locali span{
    font-size: 25px;
    line-height: 30px;
}
.preview_logo img{
    height: 100px;
}
.cont_servizi_attivi{
    width: 185px;
}
.icona_servizio{
    display: inline-block !important;
    margin: 0 5px 5px 5px;
    float: none !important;
}
.icona_servizio img{
    height: 40px !important;
    min-width: 40px !important;
}
.icona_servizio_interna{
    top: -13px;
    position: relative;
}
.icona_servizio_interna span img{
    width: 50px;
}
body #upfp_uploadfolder_btn{
    display: none !important;
}
body.produttore #upfp_newfolder_btn,
body.produttore #upfp_share_btn{
    display: none !important;
}
body.consulente .share_folder_popup p:nth-of-type(2),
body.consulente .share_folder_popup p:nth-of-type(3){
    display: none !important;
}
.riga_codice_e_descrizione{
    margin-bottom: 5px;
}
.riga_codice_e_descrizione .codice_riga{
    color:#fff;
    background: #A1D437;
    font-weight: bold;
    font-size: 18px;
    line-height: 24px;
    padding: 4px 10px;
    border-radius: 5px;
    display: inline-block;
    margin-right: 10px;
}
/*gestione documenti */
.upfp_search_bar #top_search_frm input{
    height: 38px !important;
    line-height: 18px !important;
}
.upfp-popup input{
    margin-top: 0px !important;
    height: 37px !important;
    line-height: 18px;
}
body .share_folder_popup p{
    margin-bottom: 5px !important;
}
.upfp_user_info_panel h4{
    opacity: 0 !important;
}
.dataTables_length{
    float: right;
    text-align: right;
}
.dataTables_filter{
    float: right;
    text-align: left !important;
    font-size: 20px;
}
body .sezione{
    margin-bottom: 30px !important;
    position: relative;
}
.sezione,
.repeater_item,
.dato{
    background: #E2EDC5;
    padding: 5px 10px;
    border-radius: 5px;
    border: 1px solid #A5B477;
    margin-bottom: 10px !important;
}
.dato{
    font-weight: bold;
}
.repeater_item{
    padding: 20px 10px;
}
@media(max-width:767px){
    .repeater_item{
        padding: 10px;
    }
}
.sottosezione{
    background: #dcdbdb;
    padding: 25px 10px 0 10px;
    border-radius: 5px;
    border: 1px solid #cccccc;
    margin-bottom: 20px !important;
}
.text_for_toggle{
    top: 3px;
    display: inline-block;
    width: auto;
    text-wrap: nowrap;
    left: 69px;
    line-height: 20px;
    position: absolute;
}
@media(max-width:767px){
    .text_for_toggle {
        top: -13px;
        text-wrap: wrap;
        width: 210px;
        position: relative;
    }
}
.repeater_item img{
    max-width: 40px !important;
    cursor: pointer;
}
.repeater_item .select2-container--default .select2-selection--single{
    margin-bottom: 0 !important;
}
body .repeater_item input,
body .form_input{
    margin-bottom: 0 !important;
    border-radius: 5px !important;
    padding: 5px 10px !important;
}
.select2-container--default .select2-selection--multiple .select2-selection__choice__remove{
    color: #fff !important;
}
.select2-container--default .select2-selection--multiple .select2-selection__choice {
    background-color: #A1D23F !important;
    color: #fff !important;
    font-size: 16px !important;
    padding: 5px 10px !important;
}
#upfp_file .new-btn{
    width: 115px !important;
}
.repeater_item textarea{
    min-height: 0 !important;
    border-radius: 5px !important;
}
#menu_laterale .btn{
    white-space: wrap;
}
#menu_laterale{
    background: #f8faf9;
    border-right: 1px solid #e5e7eb;
    padding: 20px 15px;
    margin-bottom: 20px;
    box-shadow: 1px 1px 2px rgba(0,0,0,0.5);
}
.repeater_item .form_field_container > label{
    font-size: 14px;
}
@media (max-width: 767px) {
    .row.item.repeater_item:nth-child(even) {
        background: #72944A;
    }
}
.label_note_integrative{
    color: #ffffff;
    font-weight: bold;
    background: #468617;
    padding: 5px 10px;
    border-radius: 5px;
    margin-bottom: 2px !important;
}
.data_annullamento{
    font-weight: bold;
    text-align: center;
    color: red;
    letter-spacing: 1px;
}
.delete_allegato img{
    position: relative;
    top: -3px;
    width: 23px;
}
/* custom checkbox */
.custom-checkbox {
    display: inline-flex;
    align-items: center;
    cursor: pointer;
    position: relative;
}

.custom-checkbox input {
    position: absolute;
    opacity: 0;
    cursor: pointer;
}

/* box */
.custom-checkbox .checkmark {
    width: 26px;
    height: 26px;
    border: 2px solid #ccc;
    border-radius: 6px;
    background: #fff;
    transition: all 0.2s ease;
    position: relative;
}

/* hover */
.custom-checkbox:hover .checkmark {
    border-color: #A1D23F;
}

/* stato checked */
.custom-checkbox input:checked + .checkmark {
    background: #A1D23F;
    border-color: #A1D23F;
}

/* spunta */
.custom-checkbox .checkmark:after {
    content: "";
    position: absolute;
    display: none;
}

/* mostra spunta */
.custom-checkbox input:checked + .checkmark:after {
    display: block;
}

/* stile spunta */
.custom-checkbox .checkmark:after {
    left: 8px;
    top: 3px;
    width: 6px;
    height: 12px;
    border: solid #fff;
    border-width: 0 3px 3px 0;
    transform: rotate(45deg);
}

/* dropzone */
.red-dropzone{
    border: 2px dashed #A1D23F !important;
    background: #ffffff;
}
.dropzone-note{
    font-size: 18px;
}
/* sezioni custom */
@media (min-width: 720px) {
    .sezione_opzioni_left{
        max-width: calc(50% - 5px) !important;
        margin-right: 5px !important;
    }
    .sezione_opzioni_right{
        max-width: calc(50% - 5px) !important;
        margin-left: 5px !important;
    }
}
.btn.funzionalita_produttore{
    border: 2px solid #EEEEEE;
    border-radius: 20px;
}
.btn.funzionalita_produttore:hover,
.btn.funzionalita_produttore.attiva{
    background: #ffffff;
    border: 2px solid #84C24E;
    border-radius: 20px;
    box-shadow: 1px 1px 2px rgba(0,0,0,0.5);
}
.testo_hp{
    font-size: 22px;
    line-height: 29px;
}
/* funzionalità ricerca EER */
#ricerca_codice_eer_container{
    opacity: 1 !important;
    margin: 0 auto;
    max-width: 400px;
    position: relative;
    padding: 0;
}
#ricerca_codice_eer_container.has_loading:before{
    content: '';
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: 10px;
    width: 28px;
    height: 28px;
    background: url('../images/loading.gif') no-repeat;
    background-size: cover;
}
#ricerca_codice_eer_container input{
    border: 3px solid #889A47;
    border-radius: 100px;
    background-position: 10px center;
    background-repeat: no-repeat;
    background-size: 30px 30px;
    background-image: url('../images/cerca.png');
    padding-left: 40px !important;
}
#no_search_result{
    padding: 10px;
    font-weight: bold;
    text-align: center;
}
#search_codice_eer_results{
    width: 100%;
    overflow-x: auto;
}
.eer-table-wrapper {
    overflow-x: auto;
    border-radius: 10px;
    box-shadow: 0 4px 12px rgba(0,0,0,0.08);
    background: #fff;
    margin-top: 20px;
}
.eer-table {
    width: 100%;
    border-collapse: collapse;
    font-family: Arial, sans-serif;
}
.eer-table thead {
    background: linear-gradient(90deg, #90B915, #7aa10f);
    color: #fff;
}
.eer-table th {
    text-align: left;
    padding: 12px;
    font-size: 14px;
    letter-spacing: 0.5px;
}
.eer-table td {
    padding: 10px 12px;
    border-bottom: 1px solid #eee;
    font-size: 14px;
}
.eer-table tbody tr:hover {
    background: #f7f9fb;
}
.eer-code {
    font-weight: bold;
    color: #2c3e50;
    white-space: nowrap;
}
.eer-desc {
    color: #444;
}
.eer-tags {
    color: #90B915;
    font-weight: 500;
}
.testo_esempio{
    color: #8BA918;
}
@media (max-width: 768px) {
    .eer-table td, .eer-table th {
        font-size: 12px;
        padding: 8px;
    }
}
/* tabella messaggi*/
.tabella_utenti{
    margin-bottom: 40px !important;
}
.tabella_utenti tr th{
    background: #A1D23F;
    color: #ffffff;
    font-size: 20px;
}
.tabella_utenti tbody th td,
.tabella_utenti tbody tr td{
    font-size: 18px;
}
tr.new_message{
    position: relative;
}
table.dataTable.tabella_messaggi tr.new_message td:first-child{
    padding-top: 10px !important;
}
tr.new_message td:first-child:before{
    content: "NUOVO";
    display: inline-block;
    margin-right: 10px;
    padding: 2px 8px;
    border-radius: 12px;
    background: #dc3545;
    color: #fff;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .5px;
    position: absolute;
    top: 14px;
    left: 69px;
    line-height: 10px;
}
tr.new_message.tr_lista_messaggi td:first-child:before{
    top: 6px;
    left: 59px;
}
/* radio card */
.radio-group{
    display:flex;
    flex-wrap:wrap;
    gap:18px;
    justify-content: center;
}
.radio-card{
    width:290px;
    display:flex;
    align-items:center;
    gap:16px;
    padding:16px;
    border:1px solid #dcdcdc;
    border-radius:8px;
    cursor:pointer;
    transition:.2s;
    background:#fff;
    position: relative;
}
.radio-card:hover,
.radio-card.selected{
    border-color:#a7d63a;
    box-shadow:0 4px 14px rgba(0,0,0,.08);
}
.radio-card.selected:before{
    content: "✓";
    position: absolute;
    top: -17px;
    right: -11px;
    width: 34px;
    height: 34px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #28a745;
    color: #fff;
    border-radius: 50%;
    font-size: 20px;
    font-weight: bold;
    line-height: 1;
    box-shadow: 0 4px 10px rgba(0,0,0,.2);
    border: 2px solid #fff;
    z-index: 10;
    pointer-events: none;
}
.radio-card input{
    display:none;
}
.firma-icon{
    width:44px;
    height:44px;
    flex-shrink:0;
    opacity:.75;
    transition:.2s;
}
.radio-text{
    display:flex;
    flex-direction:column;
}
.radio-text strong{
    font-size:18px;
    line-height:1.2;
}
.radio-text small{
    color:#666;
}
.radio-card:has(input:checked){
    border-color:#a7d63a;
    background:#f9ffef;
}
.radio-card:has(input:checked) .firma-icon{
    opacity:1;
    transform:scale(1.08);
}
.radio-card:has(input:checked) strong{
    color:#89b92c;
}

/* do not use firma*/
.firma_attuale_utente{
    position: relative;
    padding: 20px;
    border-radius: 20px;
    box-shadow: 0 0 10px rgba(0,0,0,0.25);
    background: #ffffff;
}
.firma_attuale_utente img{
    width: 100%;
    max-width: 250px !important;
}
.close_section_firma,
.close_canvas,
.do_not_use_firma {
    width: 32px !important;
    height: 32px !important;
    background: #dc3545;
    border-radius: 50%;
    position: absolute;
    top: -16px;
    right: -16px;
    cursor: pointer;
    transition: background 0.2s ease, transform 0.2s ease;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.25);
    z-index: 20;
}
.close_section_firma:before,
.close_canvas:before,
.do_not_use_firma:before,
.close_section_firma:after,
.close_canvas:after,
.do_not_use_firma:after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 18px;
    height: 2px;
    background: #fff;
    border-radius: 2px;
}
.close_section_firma:before,
.close_canvas:before,
.do_not_use_firma:before {
    transform: translate(-50%, -50%) rotate(45deg);
}
.close_section_firma:after,
.close_canvas:after,
.do_not_use_firma:after {
    transform: translate(-50%, -50%) rotate(-45deg);
}
.close_section_firma:hover,
.close_canvas:hover,
.do_not_use_firma:hover {
    background: #b02a37;
    transform: scale(1.1);
}
/* sfondi */
.bg_green_light{
    background: #E0EBC3 !important;
    border-radius: 5px;
}
.bg_white{
    background: #ffffff !important;
    border-radius: 5px;
}
/* menu home trasportatore */
#cont_menu_trasportatore .btn{
    white-space: normal;
    padding: 5px;
    border: 0 !important;
}
#cont_menu_trasportatore .icona_servizio{
    margin: 0 !important;
    display: block !important;
}
#cont_menu_trasportatore .icona_servizio img{
    padding: 5px;
    width: 40px;
    height: auto !important;
    float: left;
}
#cont_menu_trasportatore #bt_trasp_1 .icona_servizio img,
#cont_menu_trasportatore #bt_trasp_2 .icona_servizio img{
    background: #fff !important;
    border-radius: 100%;
}
#cont_menu_trasportatore #bt_trasp_1 .btn{
    background: #A1D23F !important;
}
#cont_menu_trasportatore #bt_trasp_2 .btn{
    background: #008f78 !important;
}
#cont_menu_trasportatore .text_bottone_menu_trasp{
    width: calc(100% - 60px);
    display: inline-block;
    white-space: nowrap;
    font-size: 14px;
    text-align: center;
}
#cont_menu_trasportatore #bt_trasp_3 .icona_servizio img,
#cont_menu_trasportatore #bt_trasp_4 .icona_servizio img{
    width: 47px;
}
#cont_menu_trasportatore #bt_trasp_3 .btn,
#cont_menu_trasportatore #bt_trasp_4 .btn{
    background: #E9E9E9 !important;
}
#cont_menu_trasportatore #bt_trasp_1 .btn span,
#cont_menu_trasportatore #bt_trasp_2 .btn span{
    color: #fff !important;
}
#cont_menu_trasportatore #bt_trasp_3 .btn span,
#cont_menu_trasportatore #bt_trasp_4 .btn span{
    color: #686868 !important;
}
/* ui firma */
.firma_confermata .bottoni_canvas,
.firma_confermata .close_section_firma,
.firma_confermata .radio-group{
    display: none !important;
}
.firma_confermata .sezione{
    border: 0 !important;
}
.sezione.firma_confermata .sezione .section_subtitle{
    display: none !important;
}
.sezione.firma_confermata .cont_canvas .close_canvas{
    display: block !important;
}
.cont_canvas.saved:before {
    top: -15px !important;
    right: -15px !important;
    width: 30px !important;
    height: 30px !important;
}
/* altro */
.ui-sortable .descrizione_riga{
    font-weight: bold;
}
/* modifiche per mobile */
@media(max-width:767px){
    .descrizione_riga{
        display: none !important;
    }
    .descrizione_riga.descrizione_riga_visibile{
        display: block !important;
        width: 100% !important;
        padding-top: 10px;
    }
    .hide_show_note_integrative{
        background-image: url(../images/show_note_integrative.png);
        background-size: cover;
        width: 27px;
        height: 20px;
        margin-left: 10px;
        position: relative;
        top: 3px;
    }
    .form_field_container{
        margin-bottom: 0 !important;
    }
    #icon_menu{
        fill: #000000 !important;
        margin-right: 10px;
    }
    .riga_codice_e_descrizione{
        text-align: center;
    }
    .riga_codice_e_descrizione .codice_riga {
        font-size: 27px;
        line-height: 34px;
        margin-right: 0;
    }
}


