/*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;
}
.btn.btn-danger:hover{
    background-color: red !important;
}
.btn.btn-success:hover{
    background-color: green !important;
}
/*fonts*/

/*loading*/
.has_loading_container{
    position: relative;
    display: block;
}
.d-flex > .has_loading_container{
    margin: 0 5px;
}
.has_loading{
    opacity: 1 !important;
}
body .has_loading_container img.loading_img{
    width: 30px !important;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
    border-radius: 100%;
}
/*contenitori*/
.container_full{
    max-width: 100% !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);
}
.external_container{
    padding: 20px;
}
.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: #233B80;
    font-family: "ProximaNova";
    font-size: 55px;
    font-style: normal;
    font-weight: 700;
    line-height: normal;
}
.section_subtitle{
    color: #233B80;
    font-family: "ProximaNova";
    font-size: 35px;
    font-style: normal;
    font-weight: 700;
    line-height: normal;
    margin-bottom: 20px;
}
.title{
    font-family: "ProximaNova";
    font-size: 24px;
    line-height: 30px;
    font-weight: bold;
    color: #233B80;
    margin-bottom: 25px;
    max-width: 830px;
    margin-left: auto;
    margin-right: auto;
}
.sub_title{
    font-family: "ProximaNova";
    font-size: 20px;
    line-height: 30px;
    font-weight: bold;
    color: #233B80;
    margin-bottom: 10px;
}
.testo{
    font-family: "ProximaNova";
    font-size: 15px;
    line-height: 23px;
    color: #232323;
    margin-bottom: 20px;
}
.testo_small{
    font-family: "ProximaNova";
    font-size: 13px;
    line-height: 20px;
    color: #232323;
    margin-bottom: 20px;
}
.testo_small ul{
    padding-left: 14px;
}
#user_name_logged{
    font-family: "ProximaNova";
    font-size: 14px;
    line-height: 14px;
    color: #232323;
    font-weight: 700;
}
/*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: #233B80;
}
body #cont_menu_icons img.loading_img{
    width: 24px !important;
}
#cont_menu_icons .icon img{
    width: 100%;
}
#cont_menu_icons .icon:hover{
    background: #233B80;
}
/*bottoni*/
.cursor_pointer{
    cursor: pointer;
}
[role='img_button']{
    width: 30px;
    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-family: "ProximaNova";
    font-size: 20px;
    line-height: 32px;
    font-weight: bold;
    cursor: pointer;
    display: inline-block;
    width: auto;
    padding: 0px 20px;
    opacity: 1 !important;
    border: 0;
    background: #233B80 !important;
    border: 2px solid #233B80 !important;
    box-shadow: none !important;
    text-decoration: none !important;
}
.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,
button.buttons-excel:hover{
    background: #fff !important;
    border: 2px solid #233B80 !important;
    color: #233B80 !important;
}
.btn:hover svg{
    fill: #233B80;
}
.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: #006c76 !important;
    border: 2px solid #006c76 !important;
}
.btn_std_petrol:hover{
    background: #158690 !important;
    border: 2px solid #158690 !important;
}
.transparent_button{
    color: #233B80;
    background: transparent;
}
.transparent_button:hover{
    color: #fff;
}
.btn_std label{
    font-family: "ProximaNova";
    font-size: 16px;
    line-height: 24px;
    font-style: normal;
    font-weight: 400;
    cursor: pointer;
}
/*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 #233B80 !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-family: "ProximaNova";
    font-size: 16px;
    line-height: 32px;
    font-weight: 400;
    color: #233B80;
    width: 100px;
    display: inline-block;
    float: left;
}
.accordion-header .accordion-button .news_title{
    font-family: "ProximaNova";
    font-size: 16px;
    line-height: 32px;
    font-weight: 700;
    color: #233B80;
    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-family: "ProximaNova";
    font-size: 40px;
    line-height: 32px;
    color: #233B80;
    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-family: "ProximaNova";
    font-size: 40px;
    line-height: 42px;
    color: #233B80;
    background-image: none !important;
    tranform: none !important;
    transition: none !important;
    height: auto !important;
    text-align: center;
}
.accordion-body{
    font-family: "ProximaNova";
    font-size: 18px;
    line-height: 32px;
    color: #233B80;
    font-weight: 400;
    background: transparent !important;
    border-left: 1px solid #233B80 !important;
    border-right: 1px solid #233B80 !important;
    border-bottom: 1px solid #233B80 !important;
}
/*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: #233B80 !important;
}
.page-item.active .page-link{
    color: #fff !important;
    background: #233B80 !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"]{
    float: right;
    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: #233B80;
    font-family: "ProximaNova";
    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: 40px !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: #233B80;
    font-family: "ProximaNova";
    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-family: "ProximaNova";
    font-size: 14px;
    line-height: 30px;
    padding: 5px 10px !important;
}
.dataTable tbody td{
    padding: 20px 10px !important;
}
table.dataTable .dtr-title{
    color: #233B80;
    font-family: "ProximaNova";
    font-size: 16px;
    font-weight: 700;
}
table.dataTable th {
    border-top: 0 !important;
    border-left: 0;
    border-bottom: 1px solid #233B80;
}
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 div.has_loading_container,
table.dataTable div.has_loading_container div{
    height: 30px;
}
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: #233B80 !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;
}

/*------------------------------------*\
   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: #233B80;
    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;
}

/*------------------------------------*\
   campi profilo
\*------------------------------------*/

form.woocommerce-EditAccountForm fieldset {
    margin-bottom: 20px;
    border: 1px solid #eee;
    padding: 15px;
    border-radius: 8px;
}
form.woocommerce-EditAccountForm legend {
    font-weight: 600;
    margin-bottom: 10px;
}

.woocommerce-account form .form-row{
    margin-bottom: 20px !important;
}

/*------------------------------------*\
   checkout
\*------------------------------------*/

.woocommerce form .team-member-row,
.woocommerce form .partner-row{
    border-top: 1px solid #eeeeee !important;
    padding-top: 20px;
    margin-top: 20px;
}

.woocommerce form .team-member-field .optional {
    display: none !important;
}

.woocommerce-checkout label {
    padding-top: 19px;
    margin-bottom: 0px !important;
}

/*------------------------------------*\
   area account
\*------------------------------------*/

.woocommerce-MyAccount-navigation-link.woocommerce-MyAccount-navigation-link--members-area{
    display: none !important;
}

#contenitore_blocchi_login_utente{
    display: flex;
    justify-content: center;
    gap: 20px;
    flex-wrap: wrap;
    padding-top: 50px;
}

#contenitore_blocchi_login_utente > div{
    background: #233B80;
    padding: 20px;
    border-radius: 20px;
    width: calc(33.33% - 20px);
    color: #ffffff;
    text-align: center;
}

#contenitore_blocchi_login_utente .titolo_blocco{
     color: #80EE98;
     font-size: 19px;
     font-weight: bold;
     margin-bottom: 10px;
}

#contenitore_blocchi_login_utente .testo_blocco{
    margin-bottom: 10px;
}

#contenitore_blocchi_login_utente .btn{
    border-radius: 5px !important;
    text-transform: uppercase;
    font-weight: bold;
    background-color: #fff !important;
    color: #233B80 !important;
}

/*------------------------------------*\
   partners
\*------------------------------------*/
#tabella_membri tr td{
    font-size: 18px;
    color: #233B80;
}
.avatar_membro,
.img_goto_user,
.img_ruolo{
    width: 50px;
    border-radius: 100% !important;
}
/*------------------------------------*\
   commenti
\*------------------------------------*/
.custom-comment-user-box{
    padding:20px;
    border:1px solid #e5e5e5;
    border-radius:12px;
    margin-bottom:20px;
    background:#fafafa;
}

.custom-comment-user-info{
    display:flex;
    align-items:center;
    gap:8px;
    margin-bottom:12px;
    font-size:15px;
}

.custom-comment-user-info .label{
    opacity:.7;
}

.custom-comment-user-actions{
    display:flex;
    gap:15px;
    margin-bottom:12px;
}

.custom-comment-user-actions a{
    text-decoration:none;
    font-weight:600;
    margin-right: 10px;
}

.custom-comment-required{
    font-size: 13px;
    opacity: 0.7;
    margin-bottom: 20px;
}

.custom-comment-required span{
    color:red;
    font-weight:bold;
}
