html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
embed,
figure,
figcaption,
footer,
header,
hgroup,
menu,
nav,
output,
ruby,
section,
summary,
time,
mark,
audio,
video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 16px;
  vertical-align: baseline;
}
/* HTML5 display-role reset for older browsers */
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
  display: block;
}
body {
  line-height: 1;
}
ol,
ul {
  list-style: none;
}
blockquote,
q {
  quotes: none;
}
blockquote:before,
blockquote:after,
q:before,
q:after {
  content: '';
  content: none;
}
table {
  border-collapse: collapse;
  border-spacing: 0;
}
.nomar {
  margin: 0px;
  margin-top: 0px;
  margin-right: 0px;
  margin-bottom: 0px;
  margin-left: 0px;
}
.nomarx {
  margin-right: 0px;
  margin-left: 0px;
}
.nomary {
  margin-top: 0px;
  margin-bottom: 0px;
}
.nopad {
  padding: 0px;
  padding-top: 0px;
  padding-right: 0px;
  padding-bottom: 0px;
  padding-left: 0px;
}
.nopadx {
  padding-right: 0px;
  padding-left: 0px;
}
.nopady {
  padding-top: 0px;
  padding-bottom: 0px;
}
h1,
h2,
h3,
h4,
h5,
h6 {
  line-height: 1;
  margin-bottom: 15px;
}
h1 {
  font-size: 48px;
}
h2 {
  font-size: 40px;
}
h3 {
  font-size: 33.6px;
}
h4 {
  font-size: 28.8px;
}
h5 {
  font-size: 24px;
}
h6 {
  font-size: 19.2px;
}
@font-face {
  font-family: Font1;
  src: url(fonts/AdobeGaramondProRegular.ttf);
}
/* --- CSS --- */
html {
  height: 100%;
  background: #cbdbe8;
}
.wrapper {
  padding: 15px 0;
}
body {
  font-family: Cambria, Georgia, serif;
  color: #111111;
  background: transparent;
}
h1,
h2,
h3,
h4,
h5,
h6 {
  color: #b01513;
}
p,
b,
i,
strong,
.elenco h5,
.elenco h6 {
  color: #111111;
}
.content p {
  line-height: 150%;
}
a {
  color: #b01513;
}
a:hover,
a:active {
  color: #ed5856;
  text-decoration: none;
}
.maintitle {
  text-align: center;
  font-weight: bold;
}
.subtitle {
  line-height: 15px;
  text-align: justify;
}
.header {
  padding-bottom: 15px;
}
.mainmenu {
  list-style: none;
  width: 100%;
  float: left;
  padding-bottom: 15px;
}
.mainmenu li {
  list-style: none;
  width: min-content;
  float: left;
  padding: 0 15px 0 0;
}
.row {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  flex-wrap: wrap;
}
.row > [class*='col-'] {
  display: flex;
  flex-direction: column;
}
.text-logo {
  /*margin: 0;
  position: absolute;
  top: 50%;
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);*/
  color: #b01513;
  margin-top: 5vh;
}
.img-form {
  margin-top: 25px;
  margin-bottom: 25px;
}
ol {
  counter-reset: item;
}
ol li {
  display: block;
  line-height: 1.6;
  float: left;
}
ol li:before {
  font-size: 25px;
  content: counter(item) ". ";
  counter-increment: item;
  color: red;
  float: left;
  margin-top: 4px;
  margin-right: 10px;
  font-weight: 400;
}
.elenco h6,
.content h6 {
  text-align: center;
}
.content h6 {
  margin: 15px 0 10px 0;
  font-weight: bold;
}
.sotto-sotto-titolo {
  margin: 5px 10px 10px 10px;
}
input-group {
  position: relative;
  display: table;
  border-collapse: separate;
}
.form-control {
  height: 30px;
  font-size: 16px;
  background-color: #e5eef5;
}
.input-group .form-control {
  position: relative;
  z-index: 2;
  float: left;
  width: 100%;
  margin-bottom: 0;
}
span.input-group-addon {
  padding: 6px 12px;
  font-size: 14px;
  font-weight: 400;
  line-height: 1;
  color: #555;
  text-align: center;
  background-color: white;
  border-radius: 4px;
}
.input-group-addon,
.input-group-btn {
  width: 1%;
  white-space: nowrap;
  vertical-align: middle;
}
.btn-default {
  width: 100%;
  background: #b01513;
  color: #ffffff;
  padding: 3px 0;
  font-size: 17px;
  border-radius: 6px;
  text-shadow: 0px 1px 2px #520706;
}
.btn-default:hover {
  color: white;
  background: #ba1f1d;
}
.footer {
  font-size: 80%;
  padding-bottom: 15px;
  text-align: center;
}
blockquote {
  margin: 0;
  background: #dbe5ec;
  padding: 40px;
  color: #3F484D;
  position: relative;
  font-family: 'Lato', sans-serif;
  text-align: center;
}
blockquote:before,
blockquote:after {
  font-size: 45px;
  color: #b01513;
  position: absolute;
  height: 2px;
  left: 40px;
  right: 40px;
  line-height: 0.5;
  background: linear-gradient(to right, #b01513 45%, transparent 45%, transparent), linear-gradient(to right, transparent, transparent 55%, #b01513 55%);
  font-family: serif;
}
blockquote:before {
  content: "\201C";
  top: 30px;
}
blockquote:after {
  content: "\201D";
  bottom: 30px;
}
blockquote p {
  font-size: 20px;
  padding: 20px;
}
blockquote footer {
  margin-bottom: 1em;
  margin-top: -15px;
}
blockquote cite {
  font-style: normal;
}
.greenbox {
  background-color: #9ab7b9;
  padding: 15px;
  margin: 15px 0 0px 0;
  text-align: center;
}
/* ------- mediaQ -------- */
@media (min-width: 320px) and (max-width: 480px)  {
  .footer .row [class*='col-'] {
    text-align: center;
  }
  .header {
    text-align: center;
  }
}
@media (min-width: 481px) and (max-width: 767px) {
  .footer .row [class*='col-'] {
    text-align: center;
  }
  .logofooter {
    top: 0;
    -ms-transform: translateY(10%);
    transform: translateY(10%);
  }
  .header {
    text-align: center;
  }
}
@media (min-width: 768px) and (max-width: 1024px) {
  .text-logo {
    position: inherit;
  }
  ol li:before {
    float: none;
  }
  .img-form {
    margin-top: auto;
  }
  .footer .row [class*='col-'] {
    text-align: center;
  }
  .header {
    text-align: center;
  }
}
@media (min-width: 1025px) and (max-width: 1280px) {
  .logofooter {
    margin-left: -15px;
    top: 50%;
    -ms-transform: translateY(-25%);
    transform: translateY(-25%);
  }
  .header {
    text-align: left;
  }
}
@media (min-width: 1281px) {
  .logofooter {
    top: 50%;
    -ms-transform: translateY(-25%);
    transform: translateY(-25%);
  }
  .header {
    text-align: left;
  }
}
@media (min-resolution: 0.001dpcm) {
  _:-o-prefocus,
  .selector {
    color: transparent;
  }
}
