/* ! Base */
body {
  font-family: 'Inter', sans-serif;
  font-size: 16px; }

a {
  text-decoration: none; }

h1, h2, h3, h4, h5, h6, p {
  color: #000000;
  padding-bottom: 16px; }

.home h1, .home h2, .home p {
  margin: 0px; }

article li {
  margin-bottom: 8px; }

.img-res {
  width: 100%;
  height: auto; }

.text-center {
  width: 100%;
  text-align: center; }

.text-big {
  font-size: 40px;
  font-weight: 800; }

.text-med {
  font-size: 32px; }

.text-normal {
  font-size: 20px !important; }

.text-small {
  font-size: 14px; }

.text-intro {
  font-size: 20px;
  font-weight: 700;
  text-transform: uppercase; }

.text-white {
  color: #ffffff; }

.button {
  display: inline-block;
  padding: 8px 16px;
  background: #0000d1;
  color: #ffffff;
  font-weight: bold;
  text-transform: uppercase;
  border-radius: 4px; }

.wpcf7-form label input, .wpcf7 label textarea {
  width: 100%;
  border: 1px solid #000000; }

@media (max-width: 767px) {
  .text-big {
    font-size: 32px; } }

/* ! Header */
.header {
  background: #ffffff;
  box-shadow: 0 10px 10px rgba(0, 0, 0, 0.1);
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 999; }

.header__content {
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  padding: 8px 32px;
  display: flex;
  align-items: center; }

.logged-in .header {
  top: 32px; }

.header__logo {
  z-index: 1; }

.header__menu {
  width: 100%;
  padding: 0 16px;
  z-index: 0;
  text-align: right;
  transition: all 1s cubic-bezier(0.215, 0.61, 0.355, 1); }
  .header__menu li {
    display: inline-block; }
    .header__menu li a {
      color: #000000;
      display: block;
      padding: 8px;
      font-weight: bold;
      text-transform: uppercase; }

.header__hamburger {
  display: none; }

@media (max-width: 767px) {
  .logged-in .header {
    top: 46px; }
  .header__content {
    padding: 8px 16px; }
  .header__menu {
    position: absolute;
    top: 75px;
    right: -100%;
    padding-top: 0px;
    height: 100vh;
    background: #222;
    text-align: center; }
    .header__menu ul {
      padding: 0;
      display: block; }
    .header__menu li {
      display: block; }
      .header__menu li a {
        padding: 16px 32px;
        color: #ffffff;
        font-size: 20px; }
  .header__menu--open {
    right: 0; }
  .header__cta a {
    display: block;
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    border: 8px solid #222;
    text-align: center; }
  .header__hamburger {
    display: block;
    width: 32px;
    height: 32px;
    position: absolute;
    top: 24px;
    right: 16px; }
    .header__hamburger span {
      background: #000000;
      height: 4px;
      width: 100%;
      display: block;
      margin-bottom: 6px; } }

main.grid {
  padding-top: 90px; }

/* ! Hero */
.hero {
  background: linear-gradient(0deg, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.9)), url("img/cover.jpg") no-repeat center center;
  background-size: cover;
  height: 600px;
  display: flex;
  width: 100%;
  align-items: center; }

.hero__content {
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  padding: 32px; }
  .hero__content h1, .hero__content h2, .hero__content p {
    color: #ffffff; }

/* ! Grid */
.grid {
  display: flex;
  max-width: 1200px;
  padding: 0 32px;
  margin: 0 auto; }

.grid .col {
  width: 100%; }

@media (max-width: 767px) {
  .grid {
    flex-wrap: wrap;
    padding: 0 16px; } }

/* ! Footer */
.footer {
  background: #222;
  margin-top: 32px; }
  .footer p {
    font-size: 14px;
    color: #eee;
    padding: 0;
    margin: 4px 0; }
  .footer a {
    color: #52ffaf;
    font-weight: bold; }

.footer__dati {
  padding: 32px 0 16px; }

.footer__credits {
  margin: 8px 0;
  text-align: center; }

.home .footer {
  margin-top: 0; }

@media (max-width: 767px) {
  .footer {
    margin-bottom: 50px; } }

/* ! Box Sizing */
*, *:before, *:after {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box; }
