* {
  box-sizing: border-box;
  font-family: 'Open Sans', sans-serif;
}
body {
  background-color: #ebebeb;
  height: 100vh;
}
section.main {
  height: calc(100% - 56px);
}
h1 {
  color: #351C15;
  font-size: 30px;
  font-weight: 700;
}
h1.log {
  color: #351C15;
  font-size: 30px;
  font-weight: 600;
}
h2.log {
  color: #351C15;
  font-size: 25px;
  font-weight: 400;
}
h3.domande {
  color: #351C15;
  font-weight: 700;
  font-size: 25px;
}
.bg-progress {
  background-color: #00857D;
}
.btn-primary {
  background-color: #351C15;
  border-color: #351C15;
  color: #ffffff;
  text-transform: uppercase;
  width: 160px;
}
.btn-primary.prev-next {
  width: 130px;
}
.btn-primary.logout {
  background-color: #ebebeb;
  border-color: #FEB501;
  color: #351C15;
  text-transform: uppercase;
  width: 130px;
  margin-top: 24px;
}
.btn-primary.logout {
  right: 0;
}
.btn-primary.logout:hover, .btn-check:active+.btn-primary.logout, .btn-check:checked+.btn-primary.logout, .btn-primary.logout.active, .btn-primary.logout:active, .show>.btn-primary.logout.dropdown-toggle {
  background-color: #FEB501;
  border-color: #FEB501;
  color: #351C15;
}
.btn-primary.disabled, .btn-primary:disabled {
  background-color: #351C15;
  border-color: #351C15;
  color: #89736E;
  text-transform: uppercase;
}
.btn-primary:hover, .btn-check:active+.btn-primary, .btn-check:checked+.btn-primary, .btn-primary.active, .btn-primary:active, .show>.btn-primary.dropdown-toggle {
  background-color: #5B2D28;
  border-color: #5B2D28;
  color: #ffffff;
}
.btn-primary:focus, .btn-check:active+.btn-primary:focus, .btn-check:checked+.btn-primary:focus, .btn-primary.active:focus, .btn-primary:active:focus, .show>.btn-primary.dropdown-toggle:focus {
  box-shadow: 0 0 0 0.25rem rgb(49 132 253 / 0%);
}
.corpo-testo-big {
  display: block;
  position: absolute;
  top: 352px;
  height: calc(100% - 408px);
  overflow-x: hidden;
  overflow-y: auto;
}
.corpo-testo {
  display: block;
  position: absolute;
  top: 256px;
  height: calc(100% - 312px);
  overflow-x: hidden;
  overflow-y: auto;
}
.corpo-testo-small {
  display: block;
  position: absolute;
  height: calc(100% - 56px);
  overflow-x: hidden;
  overflow-y: auto;
}
footer {
  background-color: #ebebeb;
  height: 56px;
  line-height: 56px;
  position: relative;
}
.form-control, .form-select {
  background-color: #ebebeb;
  border-color: #89736E;
  font-size: 18px;
}
.form-control:focus, .form-select:focus {
    color: #351C15;
    background-color: #ebebeb;
    border-color: #5B2D28;
    outline: 0;
    box-shadow: 0 0 0 0 rgb(13 110 253 / 0%);
}
.intestazione-big {
  height: 352px;
  display: block;
  overflow: hidden;
  position: relative;
}
.intestazione-med {
  height: 256px;
  display: block;
  overflow: hidden;
  position: relative;
}
label.form-label {
  color: #351C15;
  font-size: 18px;
  font-weight: 600;
}
.logo-small {
  display: block;
  overflow: hidden;
  height: auto;
  width: 180px;
  margin-left: 26px;
  position: relative;
  top: 96px;
}
.logo-med {
  display: block;
  overflow: hidden;
  height: auto;
  width: 200px;
  margin: 25px auto 0;
}
.logo-big {
  display: block;
  overflow: hidden;
  height: auto;
  width: 300px;
  margin: 20px auto;
}
.logo-logout {
  z-index: 30;
}
input.form-control, select.form-select {
  color: #351C15;
  font-size: 18px;
  opacity: 1;
}
input::placeholder, select::placeholder {
  color: #89736E;
  font-size: 18px;
  opacity: 1;
}
*::-webkit-input-placeholder { /* Chrome/Opera/Safari */
  color: #89736E !important;
  font-size: 18px;
  opacity: 1;
}
*::-moz-placeholder { /* Firefox 19+ */
  color: #89736E;
  font-size: 18px;
  opacity: 1;
}
*:-ms-input-placeholder { /* IE 10+ */
  color: #5B2D28;
  font-size: 18px;
  opacity: 1;
}
*:-moz-placeholder { /* Firefox 18- */
  color: #5B2D28;
  font-size: 18px;
  opacity: 1;
}
*::placeholder {
  color: #5B2D28;
  font-size: 18px;
  opacity: 1;
}
option {
  color: #5B2D28;
  font-size: 18px;
}
.select-control option:checked {
  background: #FEB501 -webkit-linear-gradient(bottom, #FEB501 0%, #FEB501 100%);
}
option:checked {
  color: #351C15;
  font-size: 18px;
}
p.riga {
  background-color: #F9F1EF;
  color: #351C15;
  font-size: 18px;
  font-weight: 600;
  margin-bottom: 0px;
  height: 70px;
  line-height: 70px;
}
p.riga.completato {
  background-color: #00857D;
  color: #F9F1EF;
  font-size: 18px;
  font-weight: 600;
  margin-bottom: 0px;
  height: 70px;
  line-height: 70px;
}
.pdf-viewer {
  margin-top: 25%;
  transform: translateY(-25%);
}
.progress {
  height: 25px;
}
.copyright {
  color: #ADA095;
  font-size: 16px;
  font-weight: 400;
}
/* --- checkbox custom --- */
.check-text {
  display: block;
  position: relative;
  padding-left: 35px;
  margin-bottom: 12px;
  cursor: pointer;
  font-size: 18px;
  font-weight: 600;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

/* Hide the browser's default checkbox */
.check-text input {
  position: absolute;
  opacity: 0;
  cursor: pointer;
  height: 0;
  width: 0;
}
/* Create a custom checkbox */
.checkmark {
  position: absolute;
  top: 0;
  left: 0;
  height: 25px;
  width: 25px;
  background-color: #ebebeb;
  border: 1px solid #ADA095;
  border-radius:15px;
}
/* On mouse-over, add a grey background color */
.check-text:hover input ~ .checkmark {
  background-color: rgba(254, 181, 1, 0.2);
}
/* When the checkbox is checked, add a blue background */
.check-text input:checked ~ .checkmark {
  background-color: #FEB501;
  border: 1px solid #FEB501;
}
/* Create the checkmark/indicator (hidden when not checked) */
.checkmark:after {
  content: "";
  position: absolute;
  display: none;
}
/* Show the checkmark when checked */
.check-text input:checked ~ .checkmark:after {
  display: block;
}
/* Style the checkmark/indicator */
.check-text .checkmark:after {
  left: 8px;
  top: -3px;
  width: 10px;
  height: 25px;
  border: solid white;
  border-width: 0 3px 3px 0;
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
}
/* --- --- */
@media only screen and (min-width:768px) and (orientation: portrait) {
  .orizzontale {
    display: none;
  }
  .verticale {
    display: block;
    margin-top: 50%;
    text-align: center;
    color: #351C15;
    font-size: 18px;
  }
}
@media only screen and (min-width:768px) and (orientation: landscape) {
  .orizzontale {
    display: block;
  }
  .verticale {
    display: none;
  }
}
.green, .green:hover {
	color: #00857D;
	font-weight:600;
	text-decoration: none;
}

.form-check.indent {
  margin-left: 50px;
}
.form-check-input {
  height: 20px;
  width: 20px;
  background-color: #ebebeb;
  border: 1px solid #ADA095;
  border-radius:15px;
}
.form-check-input:checked {
  background-color: #FEB501;
  border: 1px solid #FEB501;
}
.form-check-label {
  display: block;
  position: relative;
  padding: 2px 0 0 12px;
  cursor: pointer;
  font-size: 14px;
  font-weight: 600;
  user-select: none;
}
.fattori {
	text-align: center;
}
.fattori td:nth-child(1) {  
	text-align: left;
}
.questionario h3.domande {
  font-size: 18px;
}
.questionario h2.log {
  font-size: 16px;
}
.fattori {
  font-size: 14px;
}
