:root {
  --vh-offset: 0px;
}

/** height: calc(100vh - var(--vh-offset)); **/

body{
	margin:0;
	padding:0;
	font-size: 14px;
	background-color: #fff;
	color:#1A2B4A;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
  font-family: 'Varela Round', sans-serif;
}

html, body {
     overflow-x:hidden;
}

a { color:inherit; }

h1, h2, h3, h4, h5 {font-weight: normal; margin: 0;}

h1 {
  font-size: 35px;
  color:#1A2B4A;
}

h2 {
  font-size: 35px;
  color:#1A2B4A;
  width: 100%;
  max-width: 600px;
  margin-left: auto;
  margin-right: auto;
}

p {
  font-size:  18px;
  width: 100%;
  max-width: 600px;
  margin-left: auto;
  margin-right: auto;
  margin-top: 20px;
  line-height: 30px;
}

div {
  position: relative;
}

.centerimage img {
    object-fit: cover;
    width: 100%;
    height: 100%;
    display: block;
}

#header {
  text-align: center;
  padding: 70px 0;
}

#main_logo {
  margin: 0 auto;
  padding: 0 50px;
  width: 80%;
  max-width: 270px;
}

#main_logo img  {
  width: 100%;
}

#welcome_box {
  text-align: center;
  padding: 100px 50px;
}

#main_box {
  padding-top: 300px;
  padding-bottom: 300px;
  font-size: 0;
}

#main_box .top_gradient {
  background: rgb(255,255,255);
  background: -moz-linear-gradient(top,  rgba(255,255,255,1) 0%, rgba(247,247,247,1) 100%);
  background: -webkit-linear-gradient(top,  rgba(255,255,255,1) 0%,rgba(247,247,247,1) 100%);
  background: linear-gradient(to bottom,  rgba(255,255,255,1) 0%,rgba(247,247,247,1) 100%);
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffffff', endColorstr='#f7f7f7',GradientType=0 );
  height: 300px;
  width: 100%;
  position: absolute;
  top: 0;
}

#main_box .bottom_gradient {
  background: rgb(247,247,247);
  background: -moz-linear-gradient(top,  rgba(247,247,247,1) 0%, rgba(255,255,255,1) 100%);
  background: -webkit-linear-gradient(top,  rgba(247,247,247,1) 0%,rgba(255,255,255,1) 100%);
  background: linear-gradient(to bottom,  rgba(247,247,247,1) 0%,rgba(255,255,255,1) 100%);
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#f7f7f7', endColorstr='#ffffff',GradientType=0 );
  height: 300px;
  width: 100%;
  position: absolute;
  bottom: 0;
}

#main_box .content {
  background:#F7F7F7;
  width: 100%;
  z-index: 2;
}

#main_box .content .inline {
  vertical-align: middle;
}

.image_text_box.comunicazione {
  margin-top: -150px;
}

.image_text_box .text {
  width: 50%;
  padding: 0 50px;
}

.image_text_box .image {
  width: 50%;
}

.image_text_box .image img {
  width: 100%;
}

.image_text_box.advertising {
  margin: 200px 0;
}

.image_text_box.automotive {
  margin: 200px 0;
  text-align: center;
  margin-bottom: 0;
  margin-bottom: -150px;
}

.image_text_box.automotive img {
  max-width: 700px;
}

.image_text_box.automotive .image {
  margin-top: 100px;
  padding: 0 50px;
}

#footer {
  text-align: center;
  padding: 20px;
  font-size: 14px;
  color:#7B7B7B;
  line-height: 25px;
}

#footer a {
  text-decoration: underline;
}

#footer a:hover {
  text-decoration: none;
}

@media only screen and (max-width: 1000px) {

  #welcome_box {
    margin-bottom: 0;
  }

  .image_text_box .text {
    width: 100%;
    text-align: center;
    margin: 50px 0;
  }

  .image_text_box .image {
    width: 100%;
    margin: 50px 0;
  }

  .image_text_box.comunicazione {
    margin-top: -300px;
  }

  .image_text_box.comunicazione .image {
    padding-right: 150px;
  }

  .image_text_box.advertising  {
    display: flex;
    flex-direction: column-reverse;
    margin-top: 0;
    margin-bottom: 0;
  }

  .image_text_box.advertising .image{
    padding-left: 200px;
  }

  .image_text_box.food {
    margin-top: 0;
  }

  .image_text_box.food .image{
    padding-right: 100px;
    margin-top: 80px;
  }

  .image_text_box.automotive  {
    display: flex;
    flex-direction: column-reverse;
    margin-top: 70px;
    margin-bottom: -200px;
  }

  .image_text_box.automotive .image {
    margin-top: 0px;
  }

}

@media only screen and (max-width: 700px) {

  h1 {
    font-size: 30px;
  }

  h2 {
    font-size: 30px;
  }

  p {
    font-size: 16px;
  }

}

@media only screen and (max-width: 600px) {

  .image_text_box.comunicazione .image {
    padding-right: 70px;
  }

  .image_text_box.advertising .image{
    padding-left: 100px;
  }

  .image_text_box.food .image{
    padding-right: 50px;
  }

}

@media only screen and (max-width: 500px) {

  #main_logo {
    max-width: 200px;
    padding: 30px;
  }

  #welcome_box {
    padding: 100px 30px;
  }

  .image_text_box .text {
    padding: 0 30px;
  }

  .image_text_box.automotive .image {
    padding: 0 30px;
  }

}

@media only screen and (max-width: 400px) {

  .image_text_box.comunicazione .image {
    padding-right: 30px;
  }

  .image_text_box.advertising .image{
    padding-left: 30px;
  }

  .image_text_box.food .image{
    padding-right: 30px;
  }

}

@media only screen and (max-width: 300px) {

  #main_logo {
    padding: 0 30px;
    max-width: 200px;
  }

}
