* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

body, html {
  height: 100%;
  font-family: 'Geo', sans-serif;
}

.shadow {
  text-shadow: 2px 2px 5px rgba(0,0,0,1);
}

.bgfooter{
  position: relative !important;
  margin: 0;
  padding: 20px;
  width: 100%;
  background-color: #181818;
  height: auto;
  bottom: 0;
  display: flex;
}

.blockF{
  display: flex;
  flex-direction: column;
  border-bottom: 1px solid whitesmoke;
  margin: 1px 0px 20px;
  flex: 1;
  justify-content: top center;
  align-self: flex-start;
  height: 292px;
}

.titoloF{
  top: 20px;
  color: whitesmoke;
  text-align: center;
  position: relative;
  font-size: 40px;
  padding-bottom: 40px;
  display: block;
  top: 0;
}

.listS{
  color: whitesmoke;
  margin: 0;
  padding: 0;
  list-style: none;
  font-size: 30px;
  margin-bottom: 20px;
  display: flex;
  width: 100%;
  flex-direction: column;
}

.blockS{
  display: block;
  flex: 1;
  border: 0;
  margin: 0;
  padding: 0 30px;
  justify-content: center;
  position: relative;
  min-height: 67%;
}

.linkS{
  color: whitesmoke;
  text-decoration: none;
  display: flex;
  margin: 0;
  border: 0;
  padding: 1px 0;
  background-color: rgba(18, 18, 18, 0);
  justify-content: center;
}

.logoS{
  float: left;
  height: 40px;
  margin: 10px;
}

.listC{
  color: whitesmoke;
  margin: 0;
  padding: 0;
  list-style: none;
  font-size: 30px;
  margin-bottom: 20px;
  display: flex;
  width: 100%;
  flex-direction: column;
}

.blockC{
  display: block;
  flex: 1;
  border: 0;
  margin: 0;
  padding: 0;
  justify-content: center;
  position: relative;
}

.logoC{
  float: left;
  height: 40px;
  margin: 10px;
}

.listL{
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin-bottom: 30px;
  flex-direction: column;
}

.blockL{
  color: rgba(245, 245, 245, 0.5);
  margin: 0;
  padding: 0;
  list-style: none;
  font-size: 20px;
  text-align: center;
}

.breakL{
  display: block;
}

/* Responsive layout mobile */

@media (max-aspect-ratio: 16/9), (max-width: 768px) {
  .listC, .listS, .listS{
    flex-direction: unset;
  }
  .bgfooter{
    display: block;
  }
  .breakL{
    display: none;
  }
  .blockF{
    height: auto;
  }
}

@media (max-width:680px) {
  .bar .bgfooter{
    transform: scale(0.8);
    transform-origin: center;
  }
  .titolo{
    display: none;
  }
  p.logoS{
    display: none;
    transition: 0.5s linear;
  }
  .titoloF{
    padding-bottom: 30px;
    transition: 0.5s linear;
  }
  .breakL{
    display: block;
  }
}

@media (max-width:850px) {
  .listC{
    flex-direction: column;
  }
}
