﻿/* ================================================================================
   COMWEB / COMAPP
	 (c) 2016 ePublic Srl - www.epublic.it
   ================================================================================ */

/* Default - Extra small devices (< 576px) */
/* SM - Small devices (576px - 767px) */
/* MD - Medium devices (768px - 991px) */
/* LG - Large devices (992px - 1199px) */
/* XL - Extra Large devices (> 1200px) */

/* -------------------------------------------------------------------------
		STILI GENERICI
   ------------------------------------------------------------------------- */

@font-face {
  font-family: 'Titillium Web', sans-serif;
  font-display: swap;
}

html, body {
  font-family: 'Titillium Web', sans-serif;
	font-size: 16px;
	font-weight: 400;
	line-height: 1.55;
	background-color: #fff;
	color: #1C2024;
	margin: 0;
}
@media (min-width: 768px){
	html, body { font-size: 17px; }
}
@media (min-width: 992px){
	html, body { font-size: 17.5px; }
}
@media (min-width: 1200px){
	html, body { font-size: 18px; }
}

strong { font-weight: 700; }
b, h1, h2, h3, h4, h5, h6 { font-weight: 600; }
hr { border-color: #ddd; }
hr.hrstrong { border-width: 3px; }

/* --- Effetto di transizione globale --- */
a:hover { transition-duration: .25s; }
*:focus { outline: 0 none; }
	
/* --- Reset bordi arrotondati bootstrap --- */
* { border-radius: 0 !important; }


/* --- COLORI e SFONDI --- */

.color-light { color: #55585B; }
.color-inherit { color: inherit !important; }

.sfondochiaro { background-color: #EAEBEC; }
.sfondoscuro { background-color: #2a3036; }
.sfondocolore { /*background-color base*/ }
.sfondorollover { /*background-color rollover*/ }
.bg-light { background-color: #F4F5F6 !important; } /* sovrascrivo stile bootstrap */

/* --- FORM --- */

button, input, optgroup, select, textarea { font-family: 'Titillium Web', sans-serif; }

.form-control { color: inherit; }
.form-control:hover, .custom-select:hover { border-color: #999; }
.form-control:focus, .custom-select:focus { /*border-color base*/ /*box-shadow base*/}
.form-control::placeholder, .form-control::-moz-placeholder { color: #767676; font-weight: 300; }
.form-group { margin-bottom: .75rem; }

label { padding-right: .5rem; }
.col-form-label { 
  padding-top: .25rem;
  padding-bottom: .25rem;
  line-height: 1.25;
}
.custom-checkbox .custom-control-label::before { border-width: 2px; border-radius: 2px; }
.custom-radio .custom-control-label::before { border-width: 2px; }

.form-control-file {
  width: 100%;
  padding: .5rem .75rem;
  border: 1px solid rgba(0,0,0,.15);
}

legend, h4.legend { 
  font-size: 1.125rem !important;
  font-weight: normal;
  margin-bottom: .75rem;
  padding-top: 1.25rem;
  border-bottom: 1px solid #ddd;
  color: #55585B;
  font-style: italic;
  line-height: inherit;
}

 /* campi annidati sotto i radio */
.form-group-nested {
  margin-bottom: .5rem;
  padding-left: 1.25rem;
}
.form-group-nested input { padding: .25rem .5rem; }

/* google captcha */
.g-recaptcha > div { margin: 0 0 0 auto; }
.g-recaptcha-left > .g-recaptcha > div { margin: 0; }


/* --- SELECT ---- */

.custom-select {
  width: 100%;
  height: auto;
  margin-bottom: .75rem;
  padding-left: .375rem;
  position: relative;
  color: #2a3036;
  font-weight: 600;
  font-size: 1.125rem;
}
.custom-select option { font-weight: normal; }


/* --- PULSANTI --- */

.btn { cursor: pointer; }
.btn-custom {
	/*background-color base*/
	color: #fff !important;
}
.btn-custom-outline {
	border: 1px solid /*border-color base*/;
	background-color: transparent;
}
.btn-custom:focus, .btn-custom:hover { /*background-color rollover*/ }
.btn-custom-outline:focus, .btn-custom-outline:hover { color: #fff !important; }
.btn-light, .btn-light:hover { 
  color: inherit;
  border-color: #ddd;
}
.btn-light.dropdown-toggle { background-color: #F4F5F6; }
.btn-light.dropdown-toggle:hover { background-color: #ddd; }
.btn-none { 
  color: #c6cace;
  background-color: transparent;
}
.btn:disabled { cursor: default; }


/* --- DROPDOWN --- */

.dropdown-menu { /* sovrascrivo stili bootstrap */
  min-width: unset;
 /* margin-top: 0; */
  padding-top: 0;
  padding-bottom: 0;
  border: 0 none;
  background-color: #F4F5F6;
  box-shadow: 0 5px 10px 0 rgba(0,0,0,.25);
}
.dropdown-item { 
  /*color base*/
  padding: .5rem 1rem;
  border-bottom: 1px solid #EAEBEC;
}
.dropdown-item.active {
  color: #2a3036 !important;
  background-color: #ddd;
}

.dropdown-item:last-child { border-bottom: 0 none; }
.dropdown-item:hover, .dropdown-item:focus, .dropdown-item.active:hover, .dropdown-item.active:focus { 
  color: #fff !important;
  /*background-color base*/
}


/* --- LISTE --- */

/* Unordered list generica */
ul { list-style-type: square; }
ul ul, ol ul, ol ol, ul ol { list-style-type: circle; }

/* Definition list generica */
dl { padding: .75rem; }
dt { margin-bottom: .25rem; }
dd { margin-bottom: 1rem; }

/* lista puntata di link */
ul.chevron-list li::before {
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  content: "\f054";
  padding-right: .5rem;
  color: #999;
}

/* --- TREEVIEW --- */

.treeview {
  margin: 0;
  padding: 0;
}
.treeview, .treeview ul { list-style: none; }
.treeview a {
  display: block;
  text-decoration: none;
}
.treeview [aria-expanded] > a::after, .treeview [aria-expanded="true"] > a::after {
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  color: #999;
  position: relative;
  right: -1rem;
}
.treeview [aria-expanded] > a:hover::after { color: #2a3036; }
.treeview [aria-expanded] > a::after { content: "\f078"; }
.treeview [aria-expanded="true"] > a::after { content: "\f077"; }
.treeview [aria-hidden="true"] { display: none; }
.treeview li a {
  cursor: pointer;
  margin: 0;
  padding: .375rem .25rem;
}
.treeview > li > a:first-child { font-weight: 600; }

/*.treeview li[tabindex]:focus {
  outline: 2px solid #8E4242 !important;
  background-color: #F4F5F6;
}*/


/* --- TABELLE --- */

caption { 
  caption-side: top;
  color: #55585B;
}
.table40-60 tbody th { width: 40%; }
.table30-70 tbody th { width: 30%; }
.table20-80 tbody th { width: 20%; }
.table60-40 tbody th { width: 60%; }
.table70-30 thead th:first-of-type { width: 70%; }
.td50 { width: 50%; }
.table-sm th { padding-right: .6rem; }
.table-xs td, .table-xs th {
  font-size: .9rem;
  padding: .25rem .15rem;
}
.table-nowrap td, .table-nowrap th, .cell-nowrap { white-space: nowrap; } /* evita che il testo della cella vada a capo */
.cell-break { word-break: break-all; }/* manda a capo indirizzi web o mail molto lunghe */

@media (min-width: 768px) { /* manda a capo eventuali link lunghi */
  .table-responsive { width: 100%; overflow-x: auto; } /* solo per IE/Edge */
  .table td a, .inner-list-table td a { /*al momento non supportato: */word-wrap: break-word; /* solo Chrome: */word-break: break-word; }
}

.sfondochiaro .table td, .sfondochiaro .table th { border-color: #ccc; }

.sfondoscuro .table-dark td, .sfondoscuro .table-dark th, .sfondoscuro .table-dark thead th, .sfondoscuro .btn-dark { border-color: #555e66; }
.sfondoscuro .btn-dark { color: #D4D8DA; }
.sfondoscuro .btn-dark:hover, .sfondoscuro .btn-dark:focus { 
  color: #fff;
  border-color: #778088;
}


/* --- IMMAGINI --- */

.img-thumbnail {
  padding: .2rem;
  transition: border-color .25s, box-shadow .25s;
}
a .img-thumbnail:hover, a .img-thumbnail:focus {
  /*border-color base*/
  /*box-shadow base*/
}
a.fresco { cursor: zoom-in; }
.fr-info { font-size: 1rem !important; }  /* didascalia */


/* --- TOOLTIP --- */

.tooltip-inner {
  /*background-color base*/
  border: 1px solid #000;
  color: #fff;
}


/* --- BADGE --- */

.badge { color: inherit; }
.table .badge { font-size: .9rem; }