
@import url('https://fonts.googleapis.com/css2?family=Quicksand:wght@300;500;700&display=swap');

/*--------------------------------------------------- CSS RESET */
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
nav,
section,
summary {
  display: block; }

audio,
canvas,
video {
  display: inline-block; }

audio:not([controls]) {
  display: none;
  height: 0; }

[hidden],
template {
  display: none; }

html {
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%; }

body {
  margin: 0; }

abbr[title] {
  border-bottom: 1px dotted; }

b,
strong {
  font-weight: normal; }

dfn {
  font-style: italic; }

hr {
  -moz-box-sizing: content-box;
  box-sizing: content-box;
  height: 0; }

mark {
  background: #ff0;
  color: #000; }

code,
kbd,
pre,
samp {
  font-family: monospace, serif;
  font-size: 1em; }

pre {
  white-space: pre-wrap; }

q {
  quotes: "\201C" "\201D" "\2018" "\2019"; }

small {
  font-size: 80%; }

sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline; }

sup {
  top: -0.5em; }

sub {
  bottom: -0.25em; }

img {
  border: 0; }

svg:not(:root) {
  overflow: hidden; }

figure {
  margin: 0; }

fieldset {
  border: none;
  margin: 0;
  padding: 0; }

legend {
  border: 0;
  padding: 0; }

button,
input,
select,
textarea {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  border-radius: 0;
  -webkit-border-radius: 0;
  font-family: inherit;
  font-size: 100%;
  margin: 0;
  outline: none;
  line-height: 1;
  padding: 0;
  border: none;
  -webkit-tap-highlight-color: transparent; }

button,
select {
  text-transform: none; }

button,
html input[type="button"],
input[type="reset"],
input[type="button"] {
  -webkit-appearance: none;
  cursor: pointer; }

button[disabled],
html input[disabled] {
  cursor: default; }

input[type="checkbox"],
input[type="radio"] {
  box-sizing: border-box;
  padding: 0; }

input[type="search"] {
  -webkit-appearance: textfield;
  -moz-box-sizing: content-box;
  -webkit-box-sizing: content-box;
  box-sizing: content-box; }

input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none; }

button::-moz-focus-inner,
input::-moz-focus-inner {
  border: 0;
  padding: 0; }

textarea {
  overflow: auto;
  vertical-align: top; }

table {
  border-collapse: collapse;
  border-spacing: 0; }

p {
  margin: 0; }

*,
*:after,
*:before {
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-font-smoothing: antialiased;
  font-smoothing: antialiased;
  text-rendering: optimizeLegibility; }

html {
  font-size: 62.5%; }

body {
  font: normal 1.4rem "Quicksand", Helvetica, Arial, sans-serif;
  line-height: 1.4;
  color: #000; }

.clear:before,
.clear:after {
  content: ' ';
  display: table; }

.clear:after {
  clear: both; }

.clear {
  *zoom: 1; }

h1,
h2,
h3,
h4,
h5,
h6 {
  margin: 0; }

img {
  max-width: 100%;
  vertical-align: bottom; }

a {
  background: transparent;
  outline: none;
  text-decoration: none;
  color: #000; }

ul {
  margin: 0;
  list-style: none;
  padding: 0; }

/* Placeholder form */
/* Auto-completamento form input Chrome */
input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus
input:-webkit-autofill {
  -webkit-text-fill-color: #000;
  -webkit-box-shadow: 0 0 0px 1000px #fff inset; }

.slick-slide {
  outline: none; }
  .slick-slide div:first-child {
    display: grid; }
    
/*--------------------------------------------------- DA QUI SCRIVI IL TUO CSS */

#header {
	width: 100%;
	position: absolute;
	z-index: 2;
	background: rgba(0, 0, 0, 0.5)
}

#header .content {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 20px;
}

#header .logo {
	max-width: 80px;
}

#header ul {
	display: flex;
}

#header ul a {
	color: red;
	margin: 0 0 0 10px;
	font-size: 1rem;
}


.banner {
	padding: 150px 20px 20px 20px;
	background-image: url(images/main-banner-desktop.jpg);
	background-size: cover;
	color: white;
}

.banner .title {
	font-size: 2.4rem;
	font-weight: 700;
	line-height: 1.2;
}

.center-text {
	padding: 20px 40px;
	text-align: center;
}

.center-text .title {
	font-size: 2.4rem;
	color: red;
}

.center-text .title span {
	display: block;
	padding-top: 20px;
	font-size: 1.2rem;
	font-weight: 500;
}

b {
	font-weight: 700;
}

.column-5 {
	padding: 20px;
	background: #f2f2f2;
}

.column-5 .title {
	font-size: 2.4rem;
	color: red;
	padding: 40px 0 40px 0;
}

.column-5 li {
	padding-bottom: 20px;
}

.column-5 li img {
	padding: 20px 0;
}

.column-3 {
	padding: 0 20px 20px 20px;
}

.column-3 .title {
	font-size: 2.4rem;
	color: red;
	padding: 40px 0 40px 0;
}

.column-3 li {
	padding-bottom: 20px;
}

.column-3 li img {
	display: block;
	max-width: 50px;
	padding: 20px 0;
}

input[type=checkbox] {
	width: 15px !important;
	height: 15px !important;
	padding: 0 0 0 0 !important;
	margin: 0 5px 0 0 !important;
	background: white;
}

input[type=checkbox]:checked {
	background: black;
}

input[type=button] {
	text-transform: uppercase;
	font-weight: 700;
	background: white;
}

input, textarea {
	border: solid 1px #999;
	padding: 10px 20px;
	margin: 10px 0;
	text-align: center;
	resize: vertical;
}

.form {
	text-align: center;
	
	background-image: url(images/contatti-banner-desktop.jpg);
	background-position: center center;
	background-size: cover;	
	background-repeat: no-repeat;
}

.form .title {
	font-size: 2.4rem;
	color: red;
}

.form header {
	padding: 40px 20px;
}

.form .send {
	display: flex;
	align-items: center;
	justify-content: space-between;
}

.form .send p {
	display: flex;
	align-items: center;
}

.form .send a {
	text-decoration: underline;
}

.form form {
	padding: 20px;
}

.form .content {
	background: white;
}

.form .content input,
.form .content textarea {
	width: 100%;
	text-align: left;
}

.form .content .send input {
	width: auto;
}

.form footer {
	padding: 40px 20px;
}

footer {
	padding: 20px;
}

footer .logo {
	border-bottom: solid 1px #999;
	padding-bottom: 20px;
	margin-bottom: 20px;
}

footer .logo img {
	max-width: 80px;
}

footer div {
	padding-bottom: 20px;
}

footer div b {
	display: block;
	padding-bottom: 10px;
	font-weight: 700;
	color: red;
}

/*
footer .logos {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
}
*/

footer .logos {
	padding-bottom: 0;
}

footer .logos img {
	width: 50%;
	padding-bottom: 20px;
}

footer .social {
	border-top: solid 1px #999;
	padding-top: 20px;
	padding-bottom: 0;
	margin-top: 20px;
}

footer .social a {
	margin: 0 20px 0 0;
}

footer .social img {
	width: 25px;
}

footer .sub-footer {
	border-top: solid 1px #999;
	padding-top: 20px;
	padding-bottom: 0;
	margin-top: 20px;
	font-size: 1.2rem;
}

.movie video {
	width: 100%;
	height: auto;
}

#msg-newsletter,
#msg-contatti {
	color: red;
	font-weight: bold;
	overflow: hidden;
	display: none;
	padding: 0 20px;
}


/*--------------------------------------------------- min-width: 375px */

@media only screen and (min-width:375px) {

#header ul a {
	font-size: 1.4rem;
}

}

/*--------------------------------------------------- min-width: 768px */

@media only screen and (min-width:768px) {

	#header {
		padding: 40px;
		background: transparent;
	}
	
	.banner {
		padding: 200px 40px 40px 40px;
	}
	
	.banner .content{
		width: 50%;
	}
	
	.center-text {
		padding: 40px 80px;
	}

	.column-5 {
	    padding: 0 40px;
	}
	
	.column-5 ul {
	    display: flex;
	    flex-wrap: wrap;
	}
	
	.column-5 ul li {
		width: 50%;
	}
	
	.column-5 ul li p {
		padding: 20px 10px 20px 10px;
	}

	.column-3 {
	    padding: 0 40px;
	}

	.column-3 ul {
	    display: flex;
	    flex-wrap: wrap;
	}
	
	.column-3 ul li {
		width: 50%;
	}

	.column-3 ul li:first-child {
		width: 100%;
	}
	
	.column-3 ul li:first-child p {
		column-count: 2;
		column-gap: 20px;
	}
	
	.column-3 ul li p {
		padding: 0 10px 20px 10px;
	}
	
	.form header {
		padding: 40px;
	}
	
	.form form input {
		width: 100%;
	}
	
	.form form input[type=button] {
		width: auto;
	}
	
	.form .content {
		padding: 20px 40px;
	}
	
	.form .content form {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
	}
	
	.form .content form input {
		width: 49%;
	}
	
	.form .content form .send {
		width: 100%;
	}
	
	footer {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
	}
	
	footer .logo {
		width: 100%;
	}
	
	footer .address {
		width: 33.33%;
		padding-right: 20px;
		border-bottom: solid 1px #999;
		padding-bottom: 20px;
	}
	
	footer .logos {
		width: 66.66%;
		display: flex;
		justify-content: flex-start;
		align-items: center;
	}
	
	footer .logos img {
		max-width: 200px;
		padding: 20px 20px 20px 0;
	}
	
	footer .social {
		width: calc(33.33% - 20px);
		padding-top: 0;
		margin-top: 0;
		border-top: 0;
		border-left: solid 1px #999;
		padding-left: 20px;
		margin-left: 20px;
		
		display: flex;
		align-items: center;
		justify-content: center;
	}
	
	footer .social a {
		margin: 0 20px;
	}
	
	footer .sub-footer {
		width: 100%;
		display: flex;
		justify-content: space-between;
		margin-top: 0;
	}

}

/*--------------------------------------------------- min-width: 1024px */

@media only screen and (min-width:1024px) {

	.column-5 ul li {
		width: 33.33%;
	}



}

/*--------------------------------------------------- min-width: 1200px */

@media only screen and (min-width:1200px) {

	#header .content {
		max-width: 1600px;
		margin: auto;
		padding: 0 40px;
	}
	
	#header ul a {
		margin: 0 0 0 20px;
	}

	#footer,
	#main {
		max-width: 1600px;
		margin: auto;
	}

	.banner {
		padding: 33.33% 40px 40px 40px;
	}
	
	.banner .content {
	}
	
	.banner .content p {
		width: 50%;
	}
	
	.banner .title {
	    font-size: 4.0rem;
	    font-weight: 700;
	    line-height: 1.2;
	}
	
	.center-text .content {
		max-width: 900px;
		margin: auto;
	}
	
	.column-5 {
		max-width: 1600px;
		margin: auto;
		padding: 0 40px 0 40px;
		background: white;
	}
	
	.column-3 .title,
	.column-5 .title {
		font-size: 3.6rem;
		color: red;
		padding: 60px 0 60px 0;
   	}

	.column-5 ul li {
		width: 20%;
	}
	
	.column-3 {
		max-width: 1600px;
		margin: auto;
		padding: 0 40px 40px 40px;
	}

	.column-3 ul li {
		width: 25%;
	}

	.column-3 ul li:first-child {
		width: 50%;
	}
	
	.form .container {
		max-width: 1000px;
		margin: auto;
	}
	
	.form .content form {
		max-width: 1000px;
		margin: auto;
	}
	
	footer  {
		padding-top: 40px;
	}
	
	footer .logo {
		margin-bottom: 0;
	}
	
	footer .address,
	footer .logos,
	footer .social {
		width: 20%;
		margin: 0;
		padding: 20px 0;
		border-bottom: 0;
	}
	
	.form header {
	    padding: 80px 40px 80px 40px;
	}	
		
	.form footer {
	    padding: 80px 40px 80px 40px;
	}	
	
	

}




/*--------------------------------------------------- MISC */
::selection {
  background: #04A4CC;
  color: #FFF;
  text-shadow: none; }

::-webkit-selection {
  background: #04A4CC;
  color: #FFF;
  text-shadow: none; }

::-moz-selection {
  background: #04A4CC;
  color: #FFF;
  text-shadow: none; }

@media print {
  * {
    background: transparent !important;
    color: #000 !important;
    box-shadow: none !important;
    text-shadow: none !important; }
  a,
  a:visited {
    text-decoration: underline; }
  a[href]:after {
    content: " (" attr(href) ")"; }
  abbr[title]:after {
    content: " (" attr(title) ")"; }
  .ir a:after,
  a[href^="javascript:"]:after,
  a[href^="#"]:after {
    content: ""; }
  pre, blockquote {
    border: 1px solid #999;
    page-break-inside: avoid; }
  thead {
    display: table-header-group; }
  tr,
  img {
    page-break-inside: avoid; }
  img {
    max-width: 100% !important; }
  @page {
    margin: 0.5cm; }
  p,
  h2,
  h3 {
    orphans: 3;
    widows: 3; }
  h2,
  h3 {
    page-break-after: avoid; } }
