/* COMMON */
html {
  font-size: 16px;
  color: #555;
}
body {
  font-size: 0.8rem;
  color: #555;
}
.container-fluid {
  padding: 0;
  height: auto !important;
  min-height: 100%;
}
.row {
  margin-right: 0;
  margin-left: 0;
}
p,
h1,
h2,
h3,
h4,
h5,
h6 {
  margin: 0;
}
h1 {
  font-size: 1.4rem;
  margin-bottom: 1.8rem;
}
h4 {
  line-height: 30px;
}
a,
a:hover {
  color: inherit;
  text-decoration: none;
}
.hideCustom,
.catflow-layout.catflow-preview .hideCustom {
  display: none;
}
.catflow-layout .hideCustom {
  display: block;
}
.radio label,
.checkbox label {
  line-height: 21px;
}
.btn,
.btn:hover,
.btn:focus {
  font-size: 0.9rem;
  color: #ffffff;
  background-color: #3b95d1;
  padding: 0.4rem 0.8rem;
  font-size: 1rem;
  padding: 0.6rem 1.5rem;
  border: none;
  outline: none;
}
.danger.btn,
.danger.btn:hover,
.danger.btn:focus {
  background-color: rgb(158, 11, 15);
}
.danger.btn:active:focus {
  background-color: rgba(158, 11, 15, 0.8);
}
.btn:active:focus {
  color: #ffffff;
  background-color: #3276b1;
  transform: scale(1.05);
  border: 0;
  outline: none;
}
button.btn.btn-default.cancel {
  background-color: #fff;
  border: solid 0.05rem #cfcfcf;
  color: #333;
}
.form-control {
  height: 2.7rem;
  font-size: 1rem;
  border: solid 0.05rem #cfcfcf;
  margin-bottom: 1rem;
}
.form-control:focus {
  border-color: rgba(59, 149, 209, 0.5);
  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075),
    0 0 8px rgba(59, 149, 209, 0.6);
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075),
    0 0 8px rgba(59, 149, 209, 0.6);
}
.pointer {
  cursor: pointer;
}
.link {
  cursor: pointer;
  color: #3b95d1;
}
.spinner {
  position: fixed;
  z-index: 2000;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  background-color: rgba(2, 51, 115, 0.2);
  display: flex;
  align-items: center;
  backdrop-filter: blur(5px);
}
.spinner > div {
  margin: auto;
}
.spinner > div > div {
  /*background-image: url(../img/users/spinner.svg);*/
  background-size: 100%;
  background-repeat: no-repeat;
  width: 6rem;
  height: 6rem;
  margin: auto;
}
.containerBox {
  max-width: 30rem;
  padding: 1.5rem;
  border: solid 0.05rem #cfcfcf;
  margin-left: auto;
  margin-right: auto;
}
.customAlert p {
  display: none;
  font-weight: bold;
  border-style: solid;
  font-size: 0.8rem;
  border-width: 1px;
  padding: 10px;
  margin: 15px 0 25px;
}
.customAlert p.error {
  color: #721c24;
  background-color: #f8d7da;
  border-color: #f5c6cb;
}
.customAlert p.success {
  color: #155724;
  background-color: #d4edda;
  border-color: #c3e6cb;
}
.customAlert p.info {
  color: #004085;
  background-color: #cce5ff;
  border-color: #b8daff;
}
.progress > div {
  float: left;
  width: 0%;
  height: 100%;
  font-size: 12px;
  line-height: 20px;
  color: #fff;
  text-align: center;
  background-color: #3b95d1;
  -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);
  box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);
  -webkit-transition: width 0.6s ease;
  -o-transition: width 0.6s ease;
  transition: width 0.6s ease;
}
.description {
  font-size: 1rem;
}

/* USER ADMINISTRATION */
.containerModalUser .modal-body {
  padding: 15px 30px;
}
.containerModalUser.paddingDefault .modal-body {
  padding: 15px 15px;
}
.containerModalUser .containerInputInline .catflow-input > label,
.containerModalUser .containerInputInline .catflow-select > label,
.containerModalUser .containerInputInline .catflow-textarea > label {
  display: inline-block;
  text-align: right;
  vertical-align: middle;
  width: 120px;
  padding-right: 20px;
  margin-bottom: 1rem;
}
.containerModalUser .containerInputInline .catflow-input > input,
.containerModalUser .containerInputInline .catflow-select > select,
.containerModalUser .containerInputInline .catflow-textarea > textarea {
  display: inline-block;
  width: calc(100% - 130px);
  vertical-align: middle;
}
.containerModalUser .containerCheckboxInline > .catflow-inline > .catflow-text {
  text-align: right;
  font-weight: bold;
  width: 120px !important;
  padding-right: 20px;
}
.containerModalUser
  .containerCheckboxInline
  > .catflow-inline
  > .catflow-checkbox {
  margin-left: 4px;
  width: calc(100% - 130px) !important;
}
.containerModalUser
  .containerCheckboxInline
  > .catflow-inline
  > .catflow-checkbox
  label {
  margin-right: 20px;
}
.containerModalUser .titleExtrainfo {
  font-size: 18px;
  margin: 25px 0;
  border-bottom: solid 1px #cfcfcf;
}
.containerModalUser .extrainfoNewKey .col-sm-1,
.containerModalUser .extrainfo .col-sm-1 {
  padding: 12px 13px 0;
}
.containerModalUser .extrainfo .key {
  text-align: right;
  font-weight: bold;
  padding-top: 13px;
}
.containerModalUser,
.containerUsers,
.containerUsers p {
  color: #404041;
}

.containerUsers .checkbox {
  margin: 0;
}
.containerUsers td .checkbox {
  text-align: center;
}
/*
.containerUsers .table>thead>tr:first-child {
    border-bottom: dotted 2px;
}
*/
.containerUsers .table > thead > tr:first-child > th {
  background-position: right 40%;
  padding-bottom: 15px;
}
.containerUsers .table > thead > tr:first-child + tr th {
  padding-top: 15px;
}
.containerUsers .table > thead > tr > th {
  background-color: transparent;
  border: none;
  color: inherit;
}
.containerUsers .table > tbody > tr > td {
  border: none;
}
.collectionUsers tbody tr:hover {
  /*background-color: #f5f5f5;*/
  cursor: default;
}
.containerUsers .collectionUsers .groups span:not(:empty) {
  background-color: #f6c581;
  margin-right: 2px;
  padding: 3px 7px;
  border-radius: 10px;
  min-width: 10px;
  display: inline-block;
  line-height: 1;
}
.containerModalUser
  .containerPassword
  > .catflow-inline
  > .catflow-element:first-child {
  width: 62% !important;
}
.containerModalUser
  .containerPassword
  > .catflow-inline
  > .catflow-element:last-child {
  width: auto !important;
}
.containerUsers .nuovoUtenteButton p {
  display: inline-block;
  cursor: pointer;
  margin-left: 20px;
}
.containerUsers .nuovoUtenteButton:hover p {
  text-decoration: underline;
}
.containerUsers .nuovoUtenteButton::before {
  content: "";
  background-image: url(../img/users/add_black_24dp.svg);
  background-repeat: no-repeat;
  background-size: 100%;
  position: absolute;
  width: 18px;
  height: 18px;
  cursor: pointer;
}

.containerUsers .caricaUtenteButton p {
  display: inline-block;
  cursor: pointer;
  margin-left: 20px;
}
.containerUsers .caricaUtenteButton:hover p {
  text-decoration: underline;
}
.containerUsers .caricaUtenteButton::before {
  content: "";
  background-image: url(../img/users/file_upload_black_24dp.svg);
  background-repeat: no-repeat;
  background-size: 100%;
  position: absolute;
  width: 18px;
  height: 18px;
  cursor: pointer;
  /*transform: rotate(-90deg);*/
}

.containerUsers .esportaUtenteButton p {
  display: inline-block;
  cursor: pointer;
  margin-left: 20px;
}
.containerUsers .esportaUtenteButton:hover p {
  text-decoration: underline;
}
.containerUsers .esportaUtenteButton::before {
  content: "";
  background-image: url(../img/users/file_download_black_24dp.svg);
  background-repeat: no-repeat;
  background-size: 100%;
  position: absolute;
  width: 18px;
  height: 18px;
  cursor: pointer;
  /*transform: rotate(90deg);*/
}

/* HEADER */
.header {
  padding-bottom: 3rem;
}
.header .top > .catflow-container {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: row;
  flex-direction: row;
  -ms-align-items: flex-end;
  align-items: flex-end;
  padding: 1rem 1.5rem;
  -webkit-box-shadow: 0px 5px 15px -15px rgba(0, 0, 0, 0.75);
  -moz-box-shadow: 0px 5px 15px -15px rgba(0, 0, 0, 0.75);
  box-shadow: 0px 5px 15px -15px rgba(0, 0, 0, 0.75);
  color: #3b95d1;
}
.header .top > .catflow-container > .catflow-element {
  -ms-flex: 1;
  flex: 1;
}
.header .top .logo {
  width: 15rem;
  margin-left: 0 !important;
}
.header .top .container_right > .catflow-container {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: row;
  flex-direction: row;
  -ms-justify-content: flex-end;
  justify-content: flex-end;
}
.header .top .container_right > .catflow-container > .catflow-element {
  padding: 0.2rem 0 0.2rem 0;
}
.catflow-layout.catflow-preview .header .userAdministrationButton,
.header .userAdministrationButton {
  display: none;
}
.catflow-layout .header .userAdministrationButton {
  display: block;
}
.header .userAdministrationButton,
.header .pipe {
  border-right: solid 1px;
  margin-right: 1rem;
  padding-right: 1rem;
}
.header .top .container_nameUser_logout > .catflow-container {
  display: flex;
  flex-direction: row;
}
.header .logged_user p {
  font-weight: bold;
}
.header .logged_user p:after {
  content: "\00a0\00a0|\00a0\00a0";
}

/* MAIN */
.main {
  padding: 0 1.5rem;
  /* margin-bottom: 7rem; */
}

/* DATATABLE */
.data-table table.dataTable {
  margin-top: 0 !important;
  margin-bottom: 1rem !important;
}
.data-table .form-control {
  font-size: inherit;
  height: 1.8rem;
  margin-bottom: 0;
}
.data-table .row > div {
  padding: 0;
}
.data-table .row.length_filter {
  /*background-color: #f9f9f9;*/
  padding: 1rem;
  /*border: solid 1px #ddd;*/
  border-bottom: none;
}
.data-table label {
  margin-bottom: 0;
}
.data-table .advanced_search_btn a {
  color: rgb(2, 51, 115);
}
.data-table .table-bordered > thead > tr > th {
  border-bottom: none;
}
.pagination > .active > a,
.pagination > .active > span,
.pagination > .active > a:hover,
.pagination > .active > span:hover,
.pagination > .active > a:focus,
.pagination > .active > span:focus {
  background-color: rgb(2, 51, 115);
  border-color: rgb(2, 51, 115);
}
.pagination > li > a,
.pagination > li > span {
  color: rgb(2, 51, 115);
}

/* FOOTER */
.footer {
  background-color: #f1f1f1;
  padding: 1.5rem 1.5rem;
  margin-top: 3rem;
  bottom: 0;
  position: absolute;
  width: 100%;
  min-height: 4rem;
}

/* MOBILE */
@media only screen and (max-width: 767px) {
  /* COMMON */
  body {
    font-size: 1rem;
  }
  h1,
  p {
    text-align: center;
  }
  .containerBox {
    padding: 0;
    border: none;
  }

  /* HEADER */
  .header .top > .catflow-container {
    flex-direction: column;
    align-items: center;
  }
  .header .top .container_right > .catflow-container {
    flex-direction: column;
    margin-top: 2rem;
  }
  .header .userAdministrationButton,
  .header .pipe {
    padding-right: 0;
    margin-right: 0;
    margin-bottom: 1rem;
    border-right: none;
  }
  .header .nav {
    text-align: center;
  }

  /* DATATABLE */
  .data-table .dataTables_filter {
    margin-top: 0.8rem;
  }
  .data-table .advanced_search_btn {
    margin-top: 0.8rem;
  }
  .data-table .dataTables_info {
    margin-bottom: 0.5rem;
  }

  /* FOOTER */
  .footer {
    text-align: center;
  }
}

/* new spinner */

.lds-ripple {
  display: inline-block;
  position: relative;
  width: 80px;
  height: 80px;
}
.lds-ripple div {
  position: absolute;
  border: 4px solid rgb(2, 51, 115);
  opacity: 1;
  border-radius: 50%;
  animation: lds-ripple 1s cubic-bezier(0, 0.2, 0.8, 1) infinite;
}
.lds-ripple div:nth-child(2) {
  animation-delay: -0.5s;
}
@keyframes lds-ripple {
  0% {
    top: 36px;
    left: 36px;
    width: 0;
    height: 0;
    opacity: 1;
  }
  100% {
    top: 0px;
    left: 0px;
    width: 72px;
    height: 72px;
    opacity: 0;
  }
}

.datatable_full_height .row.datatable {
  height: calc(100vh - 18rem);
}

.datatable_full_height .row.length_filter {
  height: 4rem;
}

.datatable_full_height .row.info_paging {
  height: 2.5rem;
  padding-top: 0.2rem;
}

.datatable_full_height .dataTables_scroll {
  display: flex;
  flex-direction: column;
  height: 100%;
}

.datatable_full_height .dataTables_scrollHead {
  flex: 0 0 auto;
}
.datatable_full_height .dataTables_scrollBody {
  flex: 1 1 auto;
}

div.shadow {
  box-shadow: 5px 0px 10px -5px rgba(2, 51, 115, 0.75);
  -webkit-box-shadow: 5px 0px 10px -5px rgba(2, 51, 115, 0.75);
  -moz-box-shadow: 5px 0px 10px -5px rgba(2, 51, 115, 0.75);
  padding: 1rem;
  border-radius: 1rem;
  margin-bottom: 1rem;
}

div.modal {
  background-color: rgba(1, 51, 115, 0.2) !important;
  backdrop-filter: blur(5px) !important;
}

.hideC {
  display: none !important;
}

label.catflow-fileinput {
  background-color: rgb(2, 51, 115);
}

table.data-table > thead > tr > th,
table.data-table > tbody > tr > th,
table.data-table > tfoot > tr > th,
table.data-table > thead > tr > td,
table.data-table > tbody > tr > td,
table.data-table > tfoot > tr > td {
  border: none !important;
}

table.data-table > thead {
  background-color: #017f01;
}

.table-bordered {
  border: none !important;
}

.hideButtons {
  display: none;
}

/*alert*/
.containerAlert {
    position: fixed;
    width: 100%;
    margin: 0 auto;
    height: auto;
    left: 0;
    top: 30px;
    z-index: 10000;
    text-align: center;
}
.alert {
    display: inline-block;
    max-width: 50%;
}

.ciao {
  display: none;
}