/*
	SpecificSections.css
	TemplateName: Business Management
	Copyright (c) 2015, ObjectWeb Srl. All rights reserved.
	Version: 1.0.0
*/



/* Generico
------------------------------------------------------------------------------------------------- */
:root {
   --main-color: #8cc736;
}

body {
   background-color: #fcfdfe;
   color: #6b7178;
}

.breadcrumb {
   margin-top: 20px;
   margin-bottom: 0px;
   background: transparent;
   padding: 0px;
}

   .breadcrumb a i {
      font-size: 14px;
      border-radius: 10px;
      box-shadow: 0px 2px 4px rgb(0 0 0 / 10%);
      height: 25px;
      width: 25px;
      text-align: center;
      line-height: 23px;
      color: #F39100;
      background-color: #fff;
      box-shadow: 0px 2px 4px rgb(0 0 0 / 10%);
      display: inline-block;
      padding: 2px;
   }

.btn.btn-primary {
   background-color: #fff;
   padding: 8px 30px;
   border-radius: 10px;
   border: crimson;
   font-weight: 600;
   color: #a1a8b1 !important;
   margin-right: 10px;
   box-shadow: 0px 2px 4px rgb(0 0 0 / 10%);
}

   .btn.btn-primary i {
      margin-right: 5px;
   }

   .btn.btn-primary:hover {
      color: #31abfc !important;
   }

.btn.btn-default,
.btn.btn-secondary {
   background-color: #eeeeee !important;
   color: #a1a8b1 !important;
   box-shadow: 0px 2px 4px rgb(0 0 0 / 10%);
   font-weight: 600;
   font-size: 14px;
   padding: 8px 24px;
   border-radius: 10px;
   border: 0px;
}

   .btn.btn-default:hover,
   .btn.btn-secondary:hover {
      color: #F39100;
   }

.reset-password-container .button-secondary,
.simple-registration .button-secondary {
   border-radius: 10px !Important;
   8px FONT-WEIGHT: 300;
   padding: 8px 30px !important;
   !i;
   !;
   margin-left: 10px;
}

.section-title {
   padding: 10px 0px 20px;
}

   .section-title h2 {
      font-family: "Nunito";
      font-weight: 400;
      margin: 0px;
   }

#footer-copyright {
   background-color: transparent;
   text-align: center;
   color: #a1a8b1;
}

.panel-element .panel-header {
   background-color: #f6f7f9;
   padding: 30px 20px 15px 20px;
}

   .panel-element .panel-header h2,
   .panel-element .panel-header .course-title,
   .panel-element .panel-header .title {
      background-color: #fff;
      box-shadow: 0px 2px 4px rgb(0 0 0 / 10%);
      padding: 15px;
      border-radius: 10px;
      font-weight: 600;
      font-style: italic;
      font-size: 15px;
      text-transform: uppercase;
      margin: 0px;
   }

.panel-element .panel-content {
   background-color: #f6f7f9;
   padding: 0px 20px 30px 20px;
   border-radius: 10px;
}

.notification {
   position: absolute;
   right: 15px;
   bottom: -20px;
   background: #EEF3F9 none repeat scroll 0% 0%;
   padding: 10px 21px;
   font-size: 15px;
   border-radius: 10px;
   font-weight: 600;
}

   .notification a {
      text-transform: uppercase;
      margin-left: 7px;
   }

      .notification a:hover {
         color: #FFF;
      }

.dropzone {
   border: 3px dashed #31abfc !Important;
}

.text-info {
   color: #31abfc;
}

.orange-text {
   color: #F39100;
}
/* ---------------------------------------------------------------------------------------------- */



/* Header
------------------------------------------------------------------------------------------------- */
header {
   background: #fff;
}

   header.container-block {
      content: " ";
      display: inline-block;
      width: 100%;
   }

   header .brand-box {
      border-right: 1px solid #f2f2f2;
      position: relative;
      display: inline-block;
      padding: 14px 34px;
      float: left;
      background-color: #fcfdfe;
   }

   header .brand {
      background: transparent url(../Images/LogoPortale.png) no-repeat scroll center center / contain;
      display: inline-block;
      float: left;
      height: 70px;
      width: 200px;
   }

.toggle-left-panel {
   float: left;
   margin: 28px 35px 25px 5px;
   padding: inherit;
   text-align: center;
   height: 40px;
   width: 40px;
   font-size: 20px;
   position: relative;
   background: #fff;
   border-radius: 10px;
   color: #F39100;
   margin-left: 30px;
   padding: 9px 0px;
}

   .toggle-left-panel .bar {
      background-color: #F39100;
      width: 30px;
      height: 3px;
      margin-bottom: 7px;
   }

      .toggle-left-panel .bar:nth-child(1) {
         width: 25px;
         transition: all 0.4s ease-in-out;
      }

      .toggle-left-panel .bar:nth-child(2) {
         width: 30px;
         transition: all 0.4s ease-in-out;
      }

      .toggle-left-panel .bar:nth-child(3) {
         width: 20px;
         transition: all 0.4s ease-in-out;
      }

   .toggle-left-panel:hover .bar:nth-child(1) {
      width: 30px;
      transition: all 0.4s ease-in-out;
   }

   .toggle-left-panel:hover .bar:nth-child(2) {
      width: 25px;
      transition: all 0.4s ease-in-out;
   }

   .toggle-left-panel:hover .bar:nth-child(3) {
      width: 30px;
      transition: all 0.4s ease-in-out;
   }

.hidden-menu .toggle-left-panel:hover {
   color: #6d6a69;
}

header .section.login {
   margin-bottom: 0px !important;
}

   header .section.login #login a.toggle-modal {
      float: right;
      margin: 25px 5px;
      padding: 7px !important;
      text-align: center;
      height: 40px;
      width: 40px;
      font-size: 20px;
      position: relative;
      background: #fff;
      border-radius: 50%;
      box-shadow: 0px 2px 3px rgb(4 4 7 / 10%);
      background-color: #BE212B;
      color: #fff;
   }

#header-sections-container {
   display: inline-block;
   float: right;
}

   #header-sections-container .logout {
      margin-top: 22px;
      margin-right: 15px;
      border-radius: 10px;
      padding: 5px 30px;
      font-size: 15px;
   }

      #header-sections-container .logout i {
         font-size: 19px;
         margin-right: 6px;
         padding-top: 5px;
         border-radius: 10px;
         box-shadow: 0px 2px 4px rgb(0 0 0 / 10%);
         height: 40px;
         width: 40px;
         color: #F39100;
         background-color: #fff;
         text-align: center;
         line-height: 29px;
      }

      #header-sections-container .logout a {
         padding: 1px 5px 0px 5px;
         border-right: 1px solid #fff;
         color: #a1a8b1;
      }

      #header-sections-container .logout .logout-link i {
         color: #a1a8b1;
      }

         #header-sections-container .logout .logout-link i:hover {
            color: #31abfc;
         }

      #header-sections-container .logout a.name {
         font-weight: 600;
      }

      #header-sections-container .logout a.logout-link {
         border-right: 0px;
      }

      #header-sections-container .logout a:hover {
         color: #555;
         text-decoration: none;
      }

      #header-sections-container .logout a.user-link {
      }

@media(max-width: 767px) {
   header .brand {
      height: 30px;
      width: 70px;
   }

   .toggle-left-panel {
      margin: 5px 35px 5px 5px;
   }

   header .section.login #login a.toggle-modal {
      margin: 5px 15px;
   }

   #header-sections-container .logout {
      margin-top: 5px;
   }

   header .brand-box {
      padding: 11px;
   }
}
/* ---------------------------------------------------------------------------------------------- */



/* Menù
------------------------------------------------------------------------------------------------- */
#left-panel {
   background: #EEF3F9;
   left: 0;
   margin-top: 100px;
   min-height: calc(100% - 100px);
   position: absolute;
   top: 0;
   transition: all 250ms cubic-bezier(0.1, 0.57, 0.1, 1) 0s;
   width: 270px;
   z-index: 900;
   padding-right: 15px;
   padding-top: 20px;
}

.hidden-menu #left-panel {
   left: -260px;
}

   .hidden-menu #left-panel:hover {
      left: 0;
   }

#page-content {
   margin-left: 270px;
   transition: all 250ms cubic-bezier(0.1, 0.57, 0.1, 1) 0s;
}

.hidden-menu #page-content {
   margin-left: 10px;
   /*z-index: 1;*/
   position: relative;
}

#left-panel .navbar-collapse {
   padding: 0;
}

#left-panel .navbar-default {
   background-color: transparent;
   border-color: transparent;
}

#left-panel .navbar-nav > li {
   float: none;
   positon: relative;
}

   #left-panel .navbar-nav > li:after {
      clear: both;
      content: ".";
      display: block;
      height: 0;
      visibility: hidden;
   }

#left-panel .navbar-default .navbar-nav > li > a {
   color: #6b7178;
   padding: 14px 15px;
   margin-bottom: 15px;
   padding-left: 71px;
   line-height: 16px;
}

   #left-panel .navbar-default .navbar-nav > li > a:hover {
      border-radius: 0 30px 30px 0;
   }

      #left-panel .navbar-default .navbar-nav > li > a:hover i,
      #left-panel .navbar-default .navbar-nav > li.active:hover > a i {
         color: #31abfc;
      }

#left-panel .navbar-default .navbar-nav > .active > a,
#left-panel .navbar-default .navbar-nav > .active > a:hover,
#left-panel .navbar-default .navbar-nav > .active > a:focus {
   background-color: transparent;
   border-radius: 0px 15px 15px 0px;
}

#left-panel .navbar-default .navbar-nav > li > a i {
   font-size: 17px;
   margin-right: 18px;
   padding-top: 5px;
   position: absolute;
   left: 29px;
   top: 3px;
   border-radius: 10px;
   box-shadow: 0px 2px 4px rgb(0 0 0 / 10%);
   height: 35px;
   width: 35px;
   text-align: center;
   line-height: 23px;
   top: 50%;
   margin-top: -17.5px;
   color: #a1a8b1;
   background-color: #fff;
   box-shadow: 0px 2px 4px rgb(0 0 0 / 10%);
   display: inline-block;
}

#left-panel .navbar-default .navbar-nav > li.active > a i {
   background-color: #fff;
   color: #31abfc;
}

#left-panel .navbar-default .navbar-nav > .active > a::after {
   color: #fff !Important;
}

@media(max-width:991px) {
   .hidden-menu #left-panel {
      left: -270px;
   }

   .hidden-menu #page-content {
      margin-left: 0;
   }
}

nav ul li.active.parent-active.open > a::before {
   content: "";
}

@media(max-width: 767px) {
   #left-panel {
      margin-top: 54px;
      padding-top: 15px;
   }

   .hidden-menu #left-panel {
      left: -100%;
   }

   #left-panel .navbar-default .navbar-nav > li > a i {
      left: 15px;
   }

   #left-panel .navbar-default .navbar-nav > li > a {
      margin-bottom: 2px;
      padding-left: 60px;
   }
}
/* ---------------------------------------------------------------------------------------------- */



/* Login
------------------------------------------------------------------------------------------------- */
.login .content {
   display: inline-block;
   width: 100%;
}

.login.panel.panel-success {
   background-color: #EEF3F9;
   padding: 20px 0px;
   box-shadow: 0px 2px 4px rgb(0 0 0 / 10%);
}

.login.panel-success > .panel-heading {
   display: inline-block;
   font-size: 18px;
   font-weight: 600;
   letter-spacing: 0;
   line-height: 34px;
   margin: 0;
   color: #a1a8b1;
   margin-left: 0px;
   margin-top: 0px;
   margin-bottom: 15px;
   background-color: transparent;
   box-shadow: none;
   border-radius: 0px;
   border: 0px;
   text-transform: initial;
   width: 100%;
   text-align: center;
   padding: 0px;
}

.login .panel .form-horizontal .control-label {
   width: 100% !important;
   color: #a1a8b1;
   margin-bottom: 3px;
}

.login .form-horizontal .input-div {
   width: 100%;
}

   .login .form-horizontal .input-div input {
      background-color: transparent;
      border: 0px;
      border-bottom: 1px solid #a1a8b1;
      border-radius: 0px;
      box-shadow: none;
      max-width: 100%;
   }

.keep-login .input-div {
   position: absolute;
   top: 0px;
   left: 15px;
}

   .keep-login .input-div input {
      max-width: 15px;
      width: 12px !important;
      !I;
      !;
      height: 12px;
      padding-top: 2px;
      !I;
      !;
   }



.login .button-secondary {
   color: #a1a8b1;
   text-decoration: none;
}

.login .panel-success .button-secondary:hover {
   color: #31abfc !important;
   background-color: transparent;
}

.login .ContentPanePlaceHolder_ctl00_CancelButton {
   display: none;
}

fieldset legend,
.reset-password-container h1,
.set-new-password-container h1 {
   background-color: #fff;
   box-shadow: 0px 2px 4px rgb(0 0 0 / 10%);
   padding: 15px;
   border-radius: 10px;
   font-weight: 600;
   font-style: italic;
   font-size: 15px;
   text-transform: uppercase;
   margin-bottom: 20px;
}

.simple-registration .legend .validation-required {
   display: none !Important;
}
/* ---------------------------------------------------------------------------------------------- */



/* Form
------------------------------------------------------------------------------------------------- */
.panel-content #parameters-container {
   display: inline-block;
   width: 100%;
}

   .panel-content #parameters-container .col-sm-12:nth-child(2),
   .panel-content #parameters-container .col-sm-12:nth-child(3) {
      width: 50%;
      float: left;
   }

.statistiche-partner .panel-content #parameters-container .col-sm-12:nth-child(1),
.statistiche-partner .panel-content #parameters-container .col-sm-12:nth-child(2) {
   width: 50%;
   float: left;
}

.statistiche-partner .panel-content #parameters-container .col-sm-12:nth-child(3) {
   width: 100%;
}

.panel-footer {
   background-color: transparent;
   border-top: 0px;
   padding: 20px 0px;
}

.form-control {
   background-color: transparent;
   border: 0px;
   border-bottom: 1px solid #cccccc;
   box-shadow: none;
   border-radius: 0px;
   color: #a1a8b1;
}

.input-div input:not(.input-type-checkbox),
.input-div .input-type-textarea,
.input-div input.input-type-text,
.input-div .input-type-dropdownlist,
.input-div input.input-type-email,
.input-div input.input-type-zip,
.input-div input.input-type-telephone-number {
   max-width: 100% !Important;
   width: 100% !IMPORTANT;
}

/* CHECKBOX */
.input-type-checkbox {
   -webkit-appearance: none;
   appearance: none;
   background-color: #fff;
   margin: 0;
   font: inherit;
   color: currentColor;
   width: 16px !important;
   height: 16px !important;
   border: 1px solid #cbd5e1;
   border-radius: 0.25em;
   display: inline-grid;
   place-content: center;
   cursor: pointer;
   transition: all 0.2s ease-in-out;
}

   .input-type-checkbox:hover {
      border-color: var(--main-color);
      background-color: #f9fcf6;
   }

   .input-type-checkbox:checked {
      background-color: var(--main-color);
      border-color: var(--main-color);
   }

   .input-type-checkbox::before {
      content: "";
      width: 0.65em;
      height: 0.65em;
      transform: scale(0);
      transition: 120ms transform ease-in-out;
      box-shadow: inset 1em 1em white;
      transform-origin: center;
      clip-path: polygon(14% 44%, 0 65%, 50% 100%, 100% 16%, 80% 0%, 43% 62%);
   }

   .input-type-checkbox:checked::before {
      transform: scale(1);
   }

   .input-type-checkbox:focus {
      outline: 1px solid rgba(140, 199, 54, 0.3) !important;
      outline-offset: 0 !important;
   }


.input-div .input-type-dropdownlist {
   text-transform: uppercase !Important;
}

.input-div .input-type-date {
   max-width: 100% !Important;
   border: 0px;
   width: 100%;
   border-bottom: 1px solid #cccccc;
   background-color: transparent;
}

.inputbox.vertical .validation-required {
   background: none !Important;
   padding-left: 0px !Important;
}

   .inputbox.vertical .validation-required:after {
      content: "*";
   }

.inputbox .validation-highlight {
   background: #fff0f0 none repeat scroll 0 0 !important;
   border-color: #a90329;
}

.input-div {
   position: relative;
}

.inputbox label.validation-error-label {
   background: rgba(0, 0, 0, 0) none repeat scroll 0 0 !important;
   bottom: -15px;
   background-color: #a90329 !important;
   font-size: 11px !Important;
   font-weight: lighter;
   padding: 2px 10px !important;
   position: absolute;
   color: #FFF !important;
   right: -5px;
}
/* ---------------------------------------------------------------------------------------------- */



/* Form
------------------------------------------------------------------------------------------------- */
.home-link .item {
   box-shadow: 0px 2px 4px rgb(0 0 0 / 10%);
   border-radius: 15px;
   margin-top: 20px;
   display: block;
   color: #6b7178;
}

   .home-link .item:hover {
      text-decoration: none;
   }

   .home-link .item .image {
      /*height: 140px;*/
      height: 250px;
      width: 100%;
      background-size: cover;
      background-position: center;
      border-top-left-radius: 15px;
      border-top-right-radius: 15px;
      position: relative;
   }

   .home-link .item:hover .image .overlay {
      background-color: rgba(0,0,0,0.2);
      position: absolute;
      top: 0px;
      left: 0px;
      width: 100%;
      height: 100%;
      border-top-left-radius: 15px;
      border-top-right-radius: 15px;
   }

   .home-link .item .title {
      background-color: #fff;
      padding: 60px 40px 40px;
      border-bottom-left-radius: 15px;
      border-bottom-right-radius: 15px;
      font-size: 18px;
      position: relative;
      text-align: center;
      line-height: 18px;
      min-height: 136px;
   }

   .home-link .item .icon {
      font-size: 30px;
      position: absolute;
      left: 50%;
      top: -12px;
      border-radius: 10px;
      height: 60px;
      width: 60px;
      text-align: center;
      line-height: 26px;
      margin-top: -17.5px;
      color: #fff;
      background-color: #fff;
      display: inline-block;
      margin-left: -30px;
      background-color: #F39100;
      box-shadow: 0px 2px 4px rgb(0 0 0 / 10%);
      text-align: center;
      padding-top: 15px;
   }

   .home-link .item:hover .icon {
      background-color: #6b7178;
   }
/* ---------------------------------------------------------------------------------------------- */




/* Tabelle
------------------------------------------------------------------------------------------------- */
table.data-table {
   border: 0px !Important;
}

   table.data-table thead tr, table.data-table tfoot tr {
      background: none !Important;
   }

.table-striped > tbody > tr:nth-child(odd) > td,
.table-striped > tbody > tr:nth-child(odd) > th {
   background-color: #fff;
}
/* ---------------------------------------------------------------------------------------------- */


/* Tabelle
------------------------------------------------------------------------------------------------- */
.modal-header {
   position: relative;
   background-color: #EEF3F9 !important;
   color: #31abfc !important;
   border: none;
}

.ow-modal .modal-header .close-modal {
   color: #F39100 !IMPORTANT;
}

.modal-header .modal-title {
   font-weight: 300 !important;
   font-size: 25px !important;
   color: #6b7178 !important;
}

   .modal-header .modal-title i {
      margin-right: 5px;
      font-size: 17px;
      padding-top: 2px;
      border-radius: 10px;
      box-shadow: 0px 2px 4px rgb(0 0 0 / 10%);
      height: 35px;
      width: 35px;
      text-align: center;
      background-color: #fff;
      box-shadow: 0px 2px 4px rgb(0 0 0 / 10%);
      display: inline-block;
      color: #31abfc;
      line-height: 30px;
   }

.modal-header .close-modal {
   position: absolute;
   background-color: #FFF;
   width: 40px;
   height: 40px;
   text-align: center;
   color: #F39100;
   line-height: 40px;
   border-radius: 50%;
   right: -20px;
   top: 10px;
   font-size: 20px;
}

   .modal-header .close-modal:hover {
      background-color: transparent;
      color: #6b7178;
   }

   .modal-header .close-modal:hover {
      background-color: #ddd;
   }

.modal-body {
   padding: 30px 50px;
   text-align: center;
   font-size: 20px !Important;
}

   .modal-body .form-group {
      text-align: left;
   }

      .modal-body .form-group label {
         font-size: 14px;
      }

   .modal-body .dropzone {
      margin: 25px 0px 15px 0px;
   }

      .modal-body .dropzone .dz-message {
         font-size: 14px !Important;
         padding: 0px 50px;
      }

.modal-footer {
   margin-top: 0px;
   border-top: 0px;
   padding-top: 0px;
}
/* ---------------------------------------------------------------------------------------------- */



/* Tabelle */
.list-header {
   position: relative;
   border-bottom: 1px solid #CCC;
   padding: 14px 0 14px 105px;
}

   .list-header > div {
      color: #336698;
      font-weight: 600;
   }

.item-actions {
   position: absolute;
   left: 0;
   width: 130px;
   bottom: 50%;
   margin-bottom: -13px;
}

   .item-actions a {
      font-size: 14px;
      padding-top: 3px;
      border-radius: 10px;
      box-shadow: 0px 2px 4px rgb(0 0 0 / 10%);
      height: 27px;
      width: 27px;
      text-align: center;
      line-height: 23px;
      color: var(--main-color);
      background-color: #fff;
      box-shadow: 0px 2px 4px rgb(0 0 0 / 10%);
      display: inline-block;
      text-align: center;
      margin-right: 2px;
   }

      .item-actions a:hover {
         color: #333;
      }

.list .item {
   display: block;
   border-bottom: 1px solid #CCC;
   position: relative;
   padding: 10px 0 10px 105px;
}

.sortable {
   position: relative;
}

   .sortable .sort-action {
      position: absolute;
      right: 10px;
      top: 0px;
   }


.column-item.contact-list a {
   display: block;
}

   .column-item.contact-list a.mail:before {
      content: "\f303";
      font-family: "Font Awesome 5 Free";
      font-size: 8px;
      font-weight: 900;
      padding-top: 0px;
      border-radius: 10px;
      box-shadow: 0px 2px 4px rgb(0 0 0 / 10%);
      height: 16px;
      width: 16px;
      text-align: center;
      line-height: 16px;
      color: var(--main-color);
      background-color: #fff;
      box-shadow: 0px 2px 4px rgb(0 0 0 / 10%);
      display: inline-block;
      text-align: center;
      margin-right: 5px;
   }

   .column-item.contact-list a.pec:before {
      content: "\f0e0";
      font-family: "Font Awesome 5 Free";
      font-size: 8px;
      font-weight: 900;
      padding-top: 0px;
      border-radius: 10px;
      box-shadow: 0px 2px 4px rgb(0 0 0 / 10%);
      height: 16px;
      width: 16px;
      text-align: center;
      line-height: 16px;
      color: var(--main-color);
      background-color: #fff;
      box-shadow: 0px 2px 4px rgb(0 0 0 / 10%);
      display: inline-block;
      text-align: center;
      margin-right: 5px;
   }

   .column-item.contact-list a.phone:before {
      content: "\f095";
      font-family: "Font Awesome 5 Free";
      font-size: 8px;
      font-weight: 900;
      padding-top: 0px;
      border-radius: 10px;
      box-shadow: 0px 2px 4px rgb(0 0 0 / 10%);
      height: 16px;
      width: 16px;
      text-align: center;
      line-height: 16px;
      color: var(--main-color);
      background-color: #fff;
      box-shadow: 0px 2px 4px rgb(0 0 0 / 10%);
      display: inline-block;
      text-align: center;
      margin-right: 5px;
   }


.sortable .sort-action i {
   display: block;
}

.sortable.desc i.fa-caret-up {
   color: var(--main-color);
}

.sortable.asc i.fa-caret-down {
   color: var(--main-color);
}

/* ---------------------------------------------------------------------------------------------- */


/* Gestione Tab */

.nav-tabs a.nav-link,
.nav-tabs li.active a.nav-link {
   color: #6b7178;
}

.nav-tabs > li:after {
   content: "";
   height: 20px;
   width: 1px;
   background-color: #cccccc;
   position: absolute;
   right: 0px;
   top: 15px;
}

.nav-tabs a.nav-link {
   border: 0px;
   border-bottom: 3px solid transparent;
   padding: 10px;
}

.nav-tabs li a.nav-link i {
   font-size: 12px;
   padding-top: 2px;
   border-radius: 10px;
   height: 25px;
   width: 25px;
   text-align: center;
   line-height: 23px;
   top: 50%;
   color: #6b7178;
   display: inline-block;
}

.nav-tabs li a.nav-link:hover i,
.nav-tabs li.active a.nav-link i {
   color: var(--main-color);
   background-color: #fff;
   box-shadow: 0px 2px 4px rgb(0 0 0 / 10%);
}

.nav-tabs li a.nav-link:hover,
.nav-tabs li.active a.nav-link {
   border: 0px;
   border-bottom: 3px solid var(--main-color);
   background-color: transparent;
}

.subpanel-content {
   position: relative;
   margin-top: 15px;
   display: inline-block;
   width: 100%;
}

   .subpanel-content .title {
      font-weight: bold;
      font-size: 18px;
      display: block;
      margin-bottom: 10px;
      color: #336698;
      margin-top: 5px;
      display: inline-block;
      width: 100%;
   }

   .subpanel-content .subtitle {
      font-style: italic;
   }

   .subpanel-content .panel-actions {
      position: absolute;
      right: 0px;
      top: 10px;
   }

      .subpanel-content .panel-actions a {
         background-color: #fff;
         padding: 8px 30px;
         border-radius: 10px;
         font-weight: 600;
         margin-right: 10px;
         box-shadow: 0px 2px 4px rgb(0 0 0 / 10%);
         color: #6b7178;
      }

         .subpanel-content .panel-actions a i {
            color: var(--main-color);
         }

         .subpanel-content .panel-actions a:hover i {
            color: #6b7178;
         }

.nav-tabs-content-footer {
   margin-top: 10px;
   padding: 10px;
}

/* ---------------------------------------------------------------------------------------------- */

/* Seleziona immagine */

.manage-image-container {
   margin-bottom: 20px;
   margin-top: 40px;
   display: flex;
   align-items: center;
}

   .manage-image-container .image,
   .manage-image-container .image-empty {
      height: 150px;
      width: 400px;
      background-size: cover;
      background-position: center;
      float: left;
      margin-right: 30px;
   }

   .manage-image-container .image-empty {
      border: 1px solid #CCC;
   }

   .manage-image-container .image-actions {
      display: flex;
      flex-direction: column;
      align-items: flex-start;
   }

      .manage-image-container .image-actions a {
         margin-bottom: 10px;
         padding-left: 0px;
         border-radius: 6px;
         color: white;
         font-weight: bold;
         text-align: center;
         padding: 5px 20px;
      }

         .manage-image-container .image-actions a.btn-green {
            border: 1px solid var(--main-color);
            background-color: var(--main-color);
         }

         .manage-image-container .image-actions a.btn-red {
            border: 1px solid #d56363;
            background-color: #d56363;
         }

         .manage-image-container .image-actions a i {
            margin-right: 5px;
         }

      .manage-image-container .image-actions span {
         font-weight: bold;
         margin-bottom: 10px;
         padding-left: 0px;
      }

/* ---------------------------------------------------------------------------------------------- */

/* Documenti */
.documents,
.work-site-documents {
   max-height: 450px;
   overflow-y: auto;
   border: 1px solid #e0e0e0;
   border-radius: 6px;
   background-color: #fff;
}

   .documents .document,
   .work-site-documents .work-site-document {
      border-bottom: 1px solid #f0f0f0;
      padding: 8px 12px;
      background-color: #fff;
      transition: background-color 0.2s ease;
   }

      .documents .document:last-child,
      .work-site-documents .work-site-document:last-child {
         border-bottom: none;
      }

   .documents .document-data,
   .work-site-documents .work-site-document-data {
      display: flex;
      justify-content: space-between;
      align-items: center;
      width: 100%;
      min-height: 32px;
   }

   .documents .document-title,
   .work-site-documents .document-title {
      font-weight: 600;
      font-size: 14px;
      color: #444;
      display: flex;
      align-items: center;
      gap: 10px;
   }

   .documents .document-icon,
   .work-site-documents .document-icon {
      color: #3498db;
      font-size: 15px;
      display: flex;
      align-items: center;
      justify-content: center;
      width: 24px;
   }

   .documents .document-status-actions,
   .work-site-documents .document-status-actions {
      display: flex;
      align-items: center;
      gap: 12px;
      flex-shrink: 0;
      margin-left: 12px;
   }

   .documents .document-status,
   .work-site-documents .document-status {
      display: inline-flex;
      align-items: center;
      gap: 4px;
      padding: 2px 8px;
      border-radius: 4px;
      font-size: 12px;
      font-weight: 600;
      white-space: nowrap;
   }

   .documents .status-uploaded,
   .work-site-documents .status-uploaded {
      background-color: #eaf8f1;
      color: #27ae60;
      border: 1px solid rgba(39, 174, 96, 0.2);
   }

   .documents .status-pending,
   .work-site-documents .status-pending {
      background-color: #fff8e1;
      color: #f39c12;
      border: 1px solid rgba(243, 156, 18, 0.2);
   }

   .documents .is-uploaded .status-pending,
   .work-site-documents .is-uploaded .status-pending,
   .documents .is-pending .status-uploaded,
   .work-site-documents .is-pending .status-uploaded {
      display: none;
   }

   .documents .document-actions,
   .work-site-documents .document-actions {
      display: flex;
      align-items: center;
      gap: 6px;
   }

   .documents .action-btn,
   .work-site-documents .action-btn {
      font-size: 15px;
      color: #888;
      text-decoration: none;
      transition: all 0.2s;
      cursor: pointer;
      padding: 4px;
      border-radius: 4px;
   }

      .documents .action-btn:hover,
      .work-site-documents .action-btn:hover {
         background-color: #e9ecef;
         color: #333;
      }

   .documents a.action-btn.btn-generate {
      background-color: var(--main-color);
      color: white;
      padding: 4px 10px;
      font-weight: 700;
      font-size: 11px;
   }

      .documents a.action-btn.btn-generate:hover {
         background-color: #8dd736;
      }

   .documents .btn-action-main .icon-add,
   .work-site-documents .btn-action-main .icon-add {
      color: #3498db;
   }

   .documents .btn-action-main:hover .icon-add,
   .work-site-documents .btn-action-main:hover .icon-add {
      color: #2980b9;
   }

   .documents .btn-action-main .icon-edit,
   .work-site-documents .btn-action-main .icon-edit {
      color: #f39c12;
   }

   .documents .is-uploaded .icon-add,
   .work-site-documents .is-uploaded .icon-add,
   .documents .is-pending .icon-edit,
   .work-site-documents .is-pending .icon-edit,
   .documents .is-pending .btn-download,
   .work-site-documents .is-pending .btn-download {
      display: none;
   }

   .documents .uploaded-document-info,
   .work-site-documents .uploaded-work-site-document-info {
      background-color: #fafafa;
      border-left: 3px solid #ddd;
      padding: 4px 10px;
      margin-top: 6px;
      font-size: 13px;
      flex: 1;
   }

   .documents .is-pending .uploaded-document-info,
   .work-site-documents .is-pending .uploaded-work-site-document-info {
      display: none;
   }

   .documents .document-data-row,
   .work-site-documents .document-data-row {
      display: flex;
      align-items: center;
      color: #666;
   }

   .documents .document-data-label,
   .work-site-documents .document-data-label {
      font-weight: 500;
      color: #999;
      margin-right: 6px;
      font-size: 12px;
   }

   .documents .document-data-value.filename,
   .work-site-documents .document-data-value.filename {
      color: #333;
      font-weight: 500;
   }

.waiting-for-save {
   text-align: center;
   height: 250px;
   background-color: #f8f9fa !important;
   border: 2px dashed #cbd3da;
   border-radius: 8px;
   padding: 20px;
   position: relative;
   box-sizing: border-box;
   background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23dee2e6' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z'%3E%3C/path%3E%3Cpolyline points='14 2 14 8 20 8'%3E%3C/polyline%3E%3Cline x1='12' y1='18' x2='12' y2='12'%3E%3C/line%3E%3Cline x1='9' y1='15' x2='15' y2='15'%3E%3C/line%3E%3C/svg%3E");
   background-repeat: no-repeat;
   background-position: center;
   background-size: 100px;
}


   .waiting-for-save span {
      font-size: 14px;
      font-weight: 500;
      color: #6c757d;
      line-height: 1.5;
      z-index: 2;
      width: 80%;
      background-color: rgba(255, 255, 255, 0.85);
      padding: 10px 15px;
      border-radius: 4px;
      box-shadow: 0 2px 4px rgba(0,0,0,0.05);
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%);
   }



.status-valid {
   --work-site-document-status-color: #10b981;
}

.status-waiting {
   --work-site-document-status-color: #f59e0b;
}

.status-rejected {
   --work-site-document-status-color: #ef4444;
}



.work-site-document-additional-data {
   display: flex;
   align-items: center;
   gap: 10px;
}

.traffic-light-container {
   background-color: #ffffff;
   border: 1px solid #f3f4f6;
   padding: 5px;
   border-radius: 9999px;
   display: flex;
   flex-direction: column;
   position: relative;
}

.light-wrapper {
   position: relative;
   display: flex;
   align-items: center;
   justify-content: center;
}

.status-radio {
   position: absolute;
   opacity: 0;
   width: 0;
   height: 0;
}

.tab-work-site-document-status-label {
   width: 16px;
   height: 16px;
   border-radius: 9999px;
   background-color: #f3f4f6;
   border: 2px solid var(#e5e7eb);
   transition: all 0.3s ease;
   cursor: pointer;
   position: relative;
   display: block;
}

   .tab-work-site-document-status-label:hover {
      border-color: #d1d5db;
      transform: scale(1.05);
   }

.status-radio:checked + .tab-work-site-document-status-label {
   background-color: var(--work-site-document-status-color);
   border-color: var(--work-site-document-status-color);
   transform: scale(1.1);
}

.work-site-documents .status-valid .document-data-row.status .document-data-value {
   color: var(--work-site-document-status-color);
   font-weight: 900;
}

.work-site-documents .status-waiting .document-data-row.status .document-data-value {
   color: var(--work-site-document-status-color);
   font-weight: 900;
}

.work-site-documents .status-rejected .document-data-row.status .document-data-value {
   color: var(--work-site-document-status-color);
   font-weight: 900;
}

.work-site-note {
   position: relative;
   padding-right: 50px;
}

   .work-site-note .expand-btn {
      position: absolute;
      right: 10px;
      top: 50%;
      transform: translateY(-50%);
      background: #fff;
      border: 1px solid orange;
      border-radius: 12px;
      padding: 2px 10px;
      font-size: 12px;
      font-weight: bold;
      cursor: pointer;
      z-index: 10;
   }

/* ---------------------------------------------------------------------------------------------- */

/* Zona draggabile cantieri */

.work-sites {
   user-select: none;
   position: relative;
}

   .work-sites .work-site-companies-tree {
      position: relative;
      margin-top: 20px;
   }

   .work-sites #viewport {
      width: 100%;
      height: 500px;
      cursor: grab;
      background-image: radial-gradient(#cbd5e1 1px, transparent 1px);
      background-size: 20px 20px;
      display: flex;
      justify-content: center;
      overflow: hidden;
      border: 2px solid var(--main-color);
      border-radius: 10px;
   }

      .work-sites #viewport.grabbing {
         cursor: grabbing;
      }

   .work-sites #world {
      transform-origin: center top;
      transition: transform 0.1s linear;
      padding-top: 50px;
      display: flex;
      justify-content: center;
   }

   .work-sites .tree {
      display: flex;
      text-align: center;
   }

      .work-sites .tree ul {
         display: flex;
         padding-top: 20px;
         position: relative;
         margin: 0;
         padding-left: 0;
         justify-content: center;
      }

      .work-sites .tree li {
         list-style-type: none;
         position: relative;
         padding: 20px 10px 0 10px;
         display: flex;
         flex-direction: column;
         align-items: center;
      }

         .work-sites .tree li:not(:first-child):not(:last-child):before,
         .work-sites .tree li:only-child:before {
            content: '';
            position: absolute;
            top: 0;
            border-left: 2px solid #94a3b8;
            width: 0;
            height: 20px;
            left: 50%;
         }

      .work-sites .tree > ul > li::before {
         display: none !important;
      }

      .work-sites .tree > ul > li {
         padding-top: 0 !important;
      }

      .work-sites .tree li::after {
         content: '';
         position: absolute;
         top: 0;
         border-top: 2px solid #94a3b8;
         height: 20px;
         width: 100%;
      }

      .work-sites .tree li:first-child::after {
         left: 50%;
         width: 50%;
         border-radius: 10px 0 0 0;
         border-left: 2px solid #94a3b8;
      }

      .work-sites .tree li:last-child::after {
         right: 50%;
         width: 50%;
         border-radius: 0 10px 0 0;
         border-right: 2px solid #94a3b8;
         border-left: none;
      }

      .work-sites .tree li:only-child::after {
         display: none;
      }

      .work-sites .tree ul:not(:first-child):before {
         content: '';
         position: absolute;
         top: 0;
         left: 50%;
         border-left: 2px solid #94a3b8;
         height: 20px;
         width: 0;
      }

      .work-sites .tree li .children-container:empty::before,
      .work-sites .tree li .children-container[style*="display: none"]::before {
         display: none;
      }

   .work-sites .work-site-company-card {
      background: white;
      min-width: 180px;
      max-width: 280px;
      border-radius: 8px;
      box-shadow: 0 2px 8px rgba(0,0,0,0.08);
      border: 1px solid #e2e8f0;
      padding: 12px;
      position: relative;
      z-index: 10;
      cursor: pointer;
      text-align: left;
      transition: 0.3s ease all;
   }

      .work-sites .work-site-company-card.active {
         background: #b7db87;
      }

      .work-sites .work-site-company-card:hover {
         transform: translateY(-3px);
         box-shadow: 0 8px 16px rgba(0,0,0,0.1);
         border-color: #3b82f6;
      }

   .work-sites .work-site-company-header {
      display: flex;
      align-items: center;
      gap: 10px;
      margin-bottom: 8px;
   }

   .work-sites .info-icon {
      width: 32px;
      height: 32px;
      border-radius: 6px;
      color: white;
      display: flex;
      align-items: center;
      justify-content: center;
      font-weight: bold;
      font-size: 14px;
      flex-shrink: 0;
      background: seagreen;
   }

   .work-sites .work-site-company-card.invited .info-icon {
      background: orange;
   }

   .work-sites .work-site-company-card.confirmed .info-icon {
      background: seagreen;
   }

   .work-sites .info {
      overflow: hidden;
   }

      .work-sites .info .name {
         font-weight: 700;
         font-size: 13px;
         color: #1e293b;
         white-space: nowrap;
         overflow: hidden;
         text-overflow: ellipsis;
      }

      .work-sites .info .role {
         font-size: 11px;
         color: #64748b;
      }

   .work-sites .work-site-company-footer {
      display: flex;
      flex-direction: column;
      justify-content: space-between;
      align-items: stretch;
      font-size: 11px;
      color: #64748b;
      border-top: 1px solid #f1f5f9;
      padding-top: 8px;
   }

      .work-sites .work-site-company-footer .document-statistics {
         display: grid;
         grid-template-columns: 1fr 1fr;
         align-items: center;
         width: 100%;
      }

      .work-sites .work-site-company-footer .document-count {
         display: flex;
         flex-direction: column;
         justify-self: start;
      }

      .work-sites .work-site-company-footer .document-percentage {
         justify-self: center;
      }

         .work-sites .work-site-company-footer .document-percentage span {
            background-color: seagreen;
            padding: 10px;
            border-radius: 6px;
            color: white;
            font-weight: 700;
            font-size: 12px;
         }

   .work-sites .status-dot {
      width: 8px;
      height: 8px;
      border-radius: 50%;
      display: inline-block;
      margin-right: 4px;
   }

   .work-sites .st-ok {
      background: #10b981;
   }

   .work-sites .st-err {
      background: #ef4444;
   }

   .work-sites .toggle-child-work-site-categories {
      width: 20px;
      height: 20px;
      background: white;
      border: 2px solid #94a3b8;
      border-radius: 50%;
      position: absolute;
      bottom: -12px;
      left: 50%;
      transform: translateX(-50%);
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 14px;
      color: #64748b;
      z-index: 20;
      cursor: pointer;
   }

   .work-sites .work-site-companies-tree-navigation {
      position: absolute;
      bottom: 20px;
      right: 20px;
      z-index: 1000;
      display: flex;
      gap: 10px;
   }

      .work-sites .work-site-companies-tree-navigation a {
         border-radius: 50%;
         width: 40px;
         height: 40px;
         margin: 0;
         padding: 10px;
      }

         .work-sites .work-site-companies-tree-navigation a i {
            margin: 0;
         }


   .work-sites .selected-work-site-company {
      width: 100%;
      padding: 10px 30px;
      background-color: var(--main-color);
      color: #fff;
      font-weight: 900;
      border-radius: 10px;
      margin: 10px 0px;
      font-size: 15px;
   }

   .work-sites .validate-document {
      display: flex;
      align-items: center;
      gap: 12px;
   }

   .work-sites .validate-document-input-checkbox {
      -webkit-appearance: none;
      appearance: none;
      width: 36px;
      height: 16px;
      background-color: #e9ecef;
      border: 1px solid #ced4da;
      border-radius: 100px;
      position: relative;
      cursor: pointer;
      outline: none;
      transition: background-color 0.3s ease, border-color 0.3s ease;
   }

      .work-sites .validate-document-input-checkbox::after {
         content: '';
         position: absolute;
         top: 3px;
         left: 3px;
         width: 8px;
         height: 8px;
         background-color: white;
         border-radius: 50%;
         transition: transform 0.3s cubic-bezier(0.4, 0.0, 0.2, 1);
      }

      .work-sites .validate-document-input-checkbox:checked {
         background-color: #28a745;
         border-color: #28a745;
      }

         .work-sites .validate-document-input-checkbox:checked::after {
            transform: translateX(20px);
         }

      .work-sites .validate-document-input-checkbox:focus {
         outline: 0;
         outline-offset: 0;
      }


   .work-sites .work-site-note,
   .document-list .work-site-note {
      margin-top: 10px;
      padding: 8px;
      background-color: #fff3cd;
      border-left: 3px solid #ffc107;
      color: #856404;
      display: flex;
      flex-direction: column;
   }


/* ---------------------------------------------------------------------------------------------- */

/* Modale ricerca aziende*/

#modalWorkSiteCompany .company-not-found .company-not-found-description {
   font-size: 15px;
   background-color: #ffd2d2;
   border: 1px solid red;
   border-radius: 5px;
   display: block;
   width: 100%;
   font-weight: bold;
   padding: 15px;
   margin: 10px 0px;
}

/* ---------------------------------------------------------------------------------------------- */

/* Lista dati */

.view-data-container {
   border: 1px solid #e1e4e8;
   border-radius: 12px;
   padding: 25px;
   background-color: #fff;
}

   .view-data-container .resource-logo {
      text-align: center;
      margin-bottom: 20px;
      padding-bottom: 15px;
      border-bottom: 1px solid #f5f5f5;
   }

      .view-data-container .resource-logo img {
         max-width: 120px;
         height: auto;
      }

   .view-data-container .col-sm-6 {
      margin-bottom: 15px;
   }

   .view-data-container .view-label {
      display: block;
      font-size: 13px;
      color: #888;
      margin-bottom: 2px;
   }

   .view-data-container .view-value {
      display: block;
      color: #333;
      font-weight: 600;
      min-height: 20px;
   }

      .view-data-container .view-value:empty::before {
         content: "-";
         font-weight: 400;
         color: #ccc;
      }

/* ---------------------------------------------------------------------------------------------- */

/* Registrazione */

.registration-form {
   display: flex;
   justify-content: center;
}

   .registration-form .panel-content {
      width: 1200px;
   }

   .registration-form .logo {
      text-align: center;
      padding-top: 35px;
      padding-bottom: 10px;
      background-color: #ffffff;
      margin: 0px 15px;
   }

      .registration-form .logo img {
         max-width: 200px;
         max-height: 80px;
         width: auto;
         height: auto;
         display: inline-block;
      }


   .registration-form .introduction {
      text-align: center;
      padding: 30px;
      margin: 0px 15px;
      background-color: #ffffff;
      margin-bottom: 30px;
   }

      .registration-form .introduction h2 {
         margin: 0 0 10px 0;
         color: #2c3e50;
         font-size: 24px;
         font-weight: 700;
      }

      .registration-form .introduction span {
         color: #6c757d;
         font-size: 14px;
         display: block;
      }

.registration-confirmed {
   text-align: center;
   padding: 40px;
   background: #d4edda;
   color: #155724;
   border: 1px solid #c3e6cb;
   border-radius: 8px;
   margin: 20px auto;
   max-width: 600px;
}

/* ---------------------------------------------------------------------------------------------- */


.header-back-link {
   background-color: var(--main-color);
   padding: 5px 10px;
   border-radius: 5px;
   color: white;
   transition: 0.3s ease all;
}

   .header-back-link:hover {
      background-color: #8dd736;
      color: white;
   }


.manage-tab-document-types .tab-document-type-tags:not(:empty) {
   border: 2px solid var(--main-color);
   position: relative;
   padding: 20px;
}

   .manage-tab-document-types .tab-document-type-tags:not(:empty):before {
      content: "Tags";
      position: absolute;
      top: 10px;
      transform: translateY(-20px);
      background-color: var(--main-color);
      color: white;
      font-weight: 700;
      padding: 0px 15px;
   }