html, body {
    width: 100%; height: 100%; margin: 0; padding: 0;
    font-family: Lato, sans-serif; font-weight: 400; font-style: normal;
    font-size: 16px; color: #333;
}
.body_container {
    width: 100%; position: relative; text-align: center; margin: 0 auto;
    box-sizing: border-box; padding: 25px 0; max-width: 600px;
}
.body_container .link_lingua {
    display: block; text-decoration: none; position: absolute; z-index: 1;
    top: 0; right: 0; box-sizing: border-box; padding: 15px;
}
.body_container .logo { width: 73px; height: auto; margin: 0 auto; }
.body_container h1 {
    display: block; font-family: "Bree Serif", serif; font-weight: 400;
    font-size: 35px; line-height: 100%; color: #3075B3; margin: 36px 0 30px;
    text-align: center; padding: 0;
}
.body_container .introduzione { margin: 0 0 40px; text-align: center; }
.body_container .introduzione h2 {
    display: block; font-weight: 900; font-size: 20px; line-height: 22px; margin: 0 0 15px; padding: 0;
}
.body_container .introduzione p {
    display: block; font-weight: 400; font-size: 16px; line-height: 22px; margin: 0 0 12px; padding: 0;
}
.body_container .introduzione p:last-child { margin: 0; }
.body_container .animazione {
    width: 134px; height: 154px; margin: 0 auto 50px; position: relative;
}
.body_container .animazione .sfondo {
    position: absolute; bottom: 0; left: 50%; transform: translateX(-50%); z-index: 1;
}
.body_container .animazione .mano {
    position: absolute; bottom: 19px; left: 50%; transform: translateX(-50%); z-index: 1;
}
.body_container .animazione #icona_carousel {
    width: 70px; height: 70px; overflow: hidden; z-index: 1;
    position: absolute; top: 0; left: 50%; transform: translateX(-50%);
}
.body_container .animazione #icona_carousel img { width: 70px; height: 70px; }
.body_container .pulsanti { width: 350px; margin: 0 auto 50px; }
.body_container .pulsanti a { display: block; float: right; }
.body_container .pulsanti a:first-child { float: left; }
.body_container .pulsanti a img { width: 164px; height: auto; }
.body_container .pulsanti .clearfix { clear: both; }
.body_container .descrizione {
    background: rgba(97, 158, 213, 0.1); box-sizing: border-box; margin: 0 0 30px; padding: 40px 20px;
}
.body_container .descrizione h2 {
    display: block; font-family: "Bree Serif", serif; font-weight: 400;
    font-size: 22px; line-height: 30px; color: #333; margin: 0 0 20px; padding: 0;
}
.body_container .descrizione h2 i {
    display: block; font-size: 28px; line-height: 36px; color: #3075B3; font-style: normal;
}
.body_container .descrizione p {
    display: block; font-weight: 300; font-size: 16px; line-height: 22px; margin: 0 0 12px; padding: 0;
}
.body_container .descrizione p:last-child { margin: 0; }
.body_container .descrizione p b { font-weight: 700; }
@media screen and (max-width: 600px) {
    .body_container .pulsanti { width: 320px; }
    .body_container .pulsanti a img { width: 150px; height: auto; }
}
@media screen and (max-width: 640px) {
    .body_container { padding: 25px 20px; }
}

.sfondo_container {
    max-width: 600px; margin: 0 auto; position: relative; line-height: 0;
}
.sfondo_container img { width: 100%; height: auto; }
.sfondo_container svg {
    width: 100%; height: 18px; position: absolute; top: 0; left: 0; right: 0; z-index: 1;
}

#site-footer {
    width: 600px; margin: 0 auto;
    box-sizing: border-box; padding: 30px 20px; background: #7499D0;
    font-size: 14px; font-weight: 300; line-height: 17px; color: #FFF;
}
#site-footer a {
    text-decoration: none; color: #FFF; font-size: 14px; font-weight: 300;
}
#site-footer a:hover, #site-footer a:active, #site-footer a:focus {
    font-weight: 400; text-decoration: underline; color: #FFF;
}
#site-footer .footer1 p {
    display: block; font-size: 14px; font-weight: 300; line-height: 20px;
    box-sizing: border-box; margin: 0 0 10px; padding: 0; color: #FFF;
}
#site-footer .footer1 p:last-child { margin: 0; }
#site-footer .footer2 {
    box-sizing: border-box; width: auto; margin: 30px 0 0;
}
#site-footer .footer2 a {
    font-size: 12px; line-height: 14px; color: #FFF; text-decoration-line: underline;
}
#site-footer .footer2 a:hover, #site-footer .footer2 a:active,
#site-footer .footer2 a:focus {
    color: #FFF; text-decoration-line: underline;
}
#site-footer .copyright {
    font-size: 10px; line-height: 12px; float: right;
}
#site-footer .copyright a.area38,
#site-footer .copyright a.hm { text-decoration: none; }
#site-footer .copyright a.area38 img { width: 48px; height: auto; margin: 0 20px 0 5px; }
#site-footer .copyright a.hm img { width: 100px; height: auto; margin: 0 0 -10px 5px; }
#site-footer .copyright a.area38:hover, #site-footer .copyright a.area38:active,
#site-footer .copyright a.area38:focus, #site-footer .copyright a.hm:hover,
#site-footer .copyright a.hm:active, #site-footer .copyright a.hm:focus {
    text-decoration: none; opacity: 0.6;
}
#site-footer .copyright br.mobile { display: none; }
@media screen and (max-width: 600px) {
    #site-footer { width: auto; font-size: 13px; line-height: 19px; }
    #site-footer .footer1 p { font-size: 13px; font-weight: 400; line-height: 19px; }
    #site-footer .footer2 { margin: 30px 0 0; }
    #site-footer .copyright { float: none; margin: 25px 0 0; }
    #site-footer .copyright br.mobile { display: block; }
}
