@charset "ISO-8859-1";

.clearer {
    clear: both
}

.invisible {
    display: none
}

.hide {
    display: none
}

.pointer {
    cursor: pointer !important
}

.no-pointer {
    cursor: default !important
}

.no-margin {
    margin: 0 !important
}

.no-padding {
    padding: 0 !important
}

.no-min-width {
    min-width: 0 !important
}

.italic {
    font-style: italic !important
}

.underline {
    text-decoration: underline !important
}

.violet {
    color: #914ba3 !important
}

.blu {
    color: #007fe0 !important
}

.brown {
    color: #8f4300 !important
}

.orange {
    color: #e07e00 !important
}

.yellow {
    color: #b4a500 !important
}

.green {
    color: #3f7a34 !important
}

.red {
    color: #ba1d38 !important
}

.errore {
    background-color: #fec2c9 !important
}

.x100 {
    width: 100%
}

.x90 {
    width: 90%
}

.x80 {
    width: 80%
}

.x75 {
    width: 75%
}

.x70 {
    width: 70%
}

.x66 {
    width: 66%
}

.x65 {
    width: 65% !important
}

.x60 {
    width: 60%
}

.x50 {
    width: 50%
}

.x40 {
    width: 40%
}

.x35 {
    width: 35% !important
}

.x33 {
    width: 33.33%
}

.x30 {
    width: 30%
}

.x25 {
    width: 25%
}

.x20 {
    width: 20%
}

.x10 {
    width: 10%
}

.addthis_inline_share_toolbox {
    padding-left: 50px;
    padding-top: 20px
}

a {
    -webkit-transition: all .2s ease-out;
    -moz-transition: all .2s ease-out;
    -o-transition: all .2s ease-out;
    -ms-transition: all .2s ease-out;
    transition: all .2s ease-out
}

a:link,
a:visited {
    text-decoration: none;
    color: #1c5d95
}

a:focus,
a:hover {
    text-decoration: none;
    color: #666
}

body {
    margin: 0;
    padding: 0;
    font-family: Montserrat, sans-serif;
    font-weight: 400
}

body,
html {
    height: 100%;
    width: 100%;
    font-size: 13px
}

h1,
h2,
h3 {
    font-family: 'Roboto Slab', serif
}

p {
    line-height: 1.5em
}

a {
    text-decoration: none
}

figure {
    margin: 0;
    padding: 0
}

hr {
    border: 1px solid #e1e1e1;
    margin: 2em 0
}

.arrowed:after,
.arrowed:before {
    bottom: 100%;
    left: 40px;
    border: solid transparent;
    content: " ";
    height: 0;
    width: 0;
    position: absolute;
    pointer-events: none
}

.arrowed:after {
    border-color: rgba(255, 255, 255, 0);
    border-bottom-color: #fff;
    border-width: 8px;
    margin-left: -8px
}

.arrowed:before {
    border-color: transparent;
    border-bottom-color: rgba(0, 0, 0, .2);
    border-width: 9px;
    margin-left: -9px;
    margin-top: 10px
}

.arrowed-down:after,
.arrowed-down:before {
    top: 100%;
    right: 40px;
    border: solid transparent;
    content: " ";
    height: 0;
    width: 0;
    position: absolute;
    pointer-events: none
}

.arrowed-down:after {
    border-color: rgba(255, 255, 255, 0);
    border-top-color: #fff;
    border-width: 10px;
    margin-left: -10px
}

.arrowed-down:before {
    border-color: transparent;
    border-top-color: transparent;
    border-width: 10px;
    margin-left: -10px;
    margin-top: 0
}

.arrowed-r:after,
.arrowed-r:before {
    bottom: 100%;
    right: 8%;
    border: solid transparent;
    content: " ";
    height: 0;
    width: 0;
    position: absolute;
    pointer-events: none
}

.arrowed-r:after {
    border-color: rgba(255, 255, 255, 0);
    border-bottom-color: #fff;
    border-width: 10px;
    margin-left: -10px
}

.arrowed-r:before {
    border-color: transparent;
    border-bottom-color: rgba(0, 0, 0, .2);
    border-width: 11px;
    margin-left: -10px
}

.rounded {
    border-radius: 5px
}

#container {
    width: 100%;
    min-height: 100%;
    background: #fff;
    padding-top: 115px;
    margin: 0 auto;
    max-width: 1800px
}

.content {
    width: 74em;
    width: 100%;
    max-width: 1400px;
    box-sizing: border-box;
    margin: 0 auto;
    display: block;
    position: relative
}

#stage.home .content {
    overflow: hidden
}

#head {
    height: 115px;
    width: 100%;
    position: fixed;
    left: 0;
    top: 0;
    z-index: 1005;
    background: #1c5d95 url("elementi/bg-info.jpg") no-repeat center left;
    background-size: cover
}

#head header {
    height: 100%;
    width: 100%;
    position: relative
}

#head .content {
    height: 100%;
    width: 100%;
    max-width: none;
    max-width: 1400px;
    background: 0 0
}

#back {
    position: absolute;
    top: 10px;
    border-radius: 0;
    overflow: hidden;
    left: 20px;
    width: 135px;
    height: 135px;
    background: 0 0;
    background: transparent url("elementi/logo.png") no-repeat center center;
    background-size: contain;
    cursor: pointer;
    border-radius: 0 0 5px 5px
}

#back img {
    width: 100%
}

.compact #head,
.home.compact #head {
    height: 55px;
    width: 100%
}

.compact #head:before {
    content: '';
    display: block;
    position: absolute;
    left: 0;
    right: 0;
    bottom: -10px;
    height: 10px;
    background: -moz-linear-gradient(top, rgba(0, 0, 0, .05) 0, rgba(0, 0, 0, 0) 100%);
    background: -webkit-linear-gradient(top, rgba(0, 0, 0, .05) 0, rgba(0, 0, 0, 0) 100%);
    background: linear-gradient(to bottom, rgba(0, 0, 0, .05) 0, rgba(0, 0, 0, 0) 100%)
}

.compact .banner-head {
    margin-top: -30px
}

.compact #back,
.home.compact #back {
    width: 100px;
    height: 100px;
    top: 5px
}

.compact .menu-up {
    top: 0
}

.compact .menu-cart {
    top: 35px
}

.compact .menu-secondary {
    top: .5em
}

.compact .menu-donate a {
    padding: 0 10px;
    height: 55px;
    line-height: 55px
}

.compact .menu-secondary {
    display: none
}

#slider {
    border-top: 4px solid #e7e3db
}

#stage,
.slider {
    max-width: 1800px;
    margin: 0 auto;
    position: relative
}

#servizi-list {
    width: 100%;
    float: left;
    background: #f5f3ea;
    margin-bottom: 20px;
    position: relative;
    overflow: hidden
}

#servizi-list .title-section {
    letter-spacing: normal;
    color: #878787;
    font-family: 'Roboto Slab', serif;
    text-transform: none;
    font-weight: 400;
    font-size: 2.5em;
    line-height: 1em;
    margin: 0 auto;
    max-width: 450px;
    position: relative
}

#servizi-list .title-section span {
    display: inline-block;
    background: #f5f3ea;
    padding: 0 20px;
    position: relative;
    z-index: 10
}

#servizi-list .title-section:before {
    display: block;
    content: '';
    background: #ccc;
    height: 2px;
    width: 100%;
    position: absolute;
    left: 0;
    z-index: 1;
    top: 50%
}

#servizi-list2 {
    width: 100%;
    float: left;
    background: #e8fdf4;
    margin-bottom: 20px;
    position: relative;
    overflow: hidden
}

#servizi-list2 .title-section {
    letter-spacing: normal;
    color: #878787;
    font-family: 'Roboto Slab', serif;
    text-transform: none;
    font-weight: 400;
    font-size: 2.5em;
    line-height: 1em;
    margin: 0 auto;
    max-width: 450px;
    position: relative
}

#servizi-list2 .title-section span {
    display: inline-block;
    background: #e8fdf4;
    padding: 0 20px;
    position: relative;
    z-index: 10
}

#servizi-list2   .title-section:before {
    display: block;
    content: '';
    background: #ccc;
    height: 2px;
    width: 100%;
    position: absolute;
    left: 0;
    z-index: 1;
    top: 50%
}

.icons-list {
    height: 280px;
    width: 100%;
    float: left;
    overflow: hidden;
    position: relative
}

.icons-list ul {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0
}

.icons-slide {
    width: 16.66%;
    float: left;
    box-sizing: border-box;
    height: 100%;
    text-align: center
}

.icons-slide img {
    max-width: 100%;
    max-height: 170px;
    display: inline-block
}

.icons-slide h1 {
    margin: 0;
    padding: 0;
    font-size: 1.8em;
    line-height: 1.1em
}

.icons-slide p {
    font-size: 1.1em;
    text-align: center
}

.icons-slide p a {
    color: #f39e66
}

.icons-slide p a:hover {
    color: #333
}

.icons-list ul {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0
}

.icons-slide2 {
    width: 16.66%;
    float: left;
    box-sizing: border-box;
    height: 100%;
    text-align: center
}

.icons-slide2 img {
    max-width: 100%;
    max-height: 170px;
    display: inline-block
}

.icons-slide2 h1 {
    margin: 0;
    padding: 0;
    font-size: 1.8em;
    line-height: 1.1em
}

.icons-slide2 p {
    font-size: 1.1em;
    text-align: center
}

.icons-slide2 p a {
    color: #f39e66
}

.icons-slide p a:hover {
    color: #333
}

#servizi-list .pul-next {
    position: absolute;
    right: -1.5em;
    font-size: 20px;
    top: 50%;
    margin-top: -1.5em;
    display: block;
    text-align: left;
    z-index: 20
}

#servizi-list .pul-prev {
    position: absolute;
    left: -1.5em;
    font-size: 20px;
    top: 50%;
    margin-top: -1.5em;
    display: block;
    text-align: right;
    z-index: 20
}

#servizi-list .pul-next a,
#servizi-list .pul-prev a {
    display: block;
    width: 3em;
    height: 3em;
    line-height: 3em;
    background: rgba(0, 0, 0, .1);
    border-radius: 50%;
    padding: 0 .6em;
    box-sizing: border-box
}


#servizi-list2 .pul-next2 {
    position: absolute;
    right: -1.5em;
    font-size: 20px;
    top: 50%;
    margin-top: -1.5em;
    display: block;
    text-align: left;
    z-index: 20
}

#servizi-list2 .pul-prev2 {
    position: absolute;
    left: -1.5em;
    font-size: 20px;
    top: 50%;
    margin-top: -1.5em;
    display: block;
    text-align: right;
    z-index: 20
}

#servizi-list2 .pul-next2 a,
#servizi-list2 .pul-prev2 a {
    display: block;
    width: 3em;
    height: 3em;
    line-height: 3em;
    background: rgba(0, 0, 0, .1);
    border-radius: 50%;
    padding: 0 .6em;
    box-sizing: border-box
}

#stage {
    padding-bottom: 1em
}

#stage.home {
    padding-bottom: 0
}

#stage p {
    margin: 0 auto;
    color: #333
}

#stage .box {
    padding: 1.5em 1em
}

.foto-fissa {
    background-repeat: no-repeat;
    background-size: cover;
    background-position: 50% 50%
}

#stage .box {
    min-height: 8em;
    overflow: hidden;
    box-sizing: border-box
}

#stage .box-cell:nth-child(3) .box {
    border-right: 0
}

#stage .box article {
    height: 100%;
    position: relative
}

#stage .box .foto-container {
    height: 100%;
    width: 50%;
    float: left;
    position: relative
}

#stage .box .foto-fissa {
    height: 100%;
    width: 100%;
    cursor: pointer
}

#stage .box .pul {
    margin-top: 0
}

#head .box p {
    font-family: Montserrat, sans-serif;
    margin: 0 auto;
    color: #333
}

#head .box {
    padding: 0
}

#head .box {
    height: auto;
    overflow: hidden;
    box-sizing: border-box;
    margin-bottom: 5px
}

#head .box article {
    height: 100%;
    position: relative
}

#head .box .foto-container {
    height: 100%;
    width: 50%;
    float: left;
    position: relative
}

#head .box .foto-fissa {
    height: 100%;
    width: 100%;
    cursor: pointer
}

#head .box .pul {
    margin-top: 1em
}

#head .box figure {
    width: 150px;
    float: left;
    margin: 0 15px 0 0;
    position: relative
}

#head .box h1 {
    margin: 0;
    padding: 0;
    font-size: 1.5em
}

#head .box h1 a {
    color: #fff;
    font-size: 1em;
    text-transform: none;
    padding: 0
}

#head .box p {
    font-size: 1.2em;
    padding: .2em 0 0 0;
    overflow: hidden;
    color: #999;
    display: none
}

#head .box-text-content {
    padding: 0;
    overflow: hidden
}

#head .box .categoria {
    font-size: .85em;
    padding: 5px 0 0 0
}

#head .box .playIcon {
    width: 50px;
    margin: -25px 0 0 -25px;
    position: absolute;
    top: 50%;
    left: 50%;
    opacity: .9
}

#head .box .playIcon a {
    padding: 0
}

.foto-container:hover .more {
    top: 40%;
    opacity: 1
}

.foto-container ul {
    margin: 0;
    padding: 0;
    height: 100%
}

.foto-container li {
    width: 33.3%;
    overflow: hidden;
    float: left;
    box-sizing: border-box;
    border: 0 solid #fff
}

.foto-container li img {
    width: 100%;
    display: block
}

.more a {
    display: inline-block;
    background: rgba(0, 0, 0, .2);
    padding: 5px 5px;
    color: #fff;
    border-radius: 2px
}

.more a i {
    display: block;
    font-size: 2em
}

#stage .box p {
    font-size: 1.2em;
    padding: .2em 10px .3em 10px;
    overflow: hidden;
    color: #999
}

#stage .box p a {
    color: #333;
    text-decoration: underline
}

#stage .box p a.leggi {
    display: block;
    font-weight: 600
}

#stage .box h1 {
    color: #333;
    font-size: 1.6em;
    padding: 1em 10px 0 10px;
    overflow: hidden;
    font-weight: 100
}

#stage .box h1 a {
    color: #333
}

#stage .box.gallery h1 {
    text-align: center;
    font-size: 1.1em;
    padding: .5em 10px .5em 10px;
    overflow: hidden;
    text-transform: uppercase;
    font-weight: 100
}

#stage .box.gallery .foto-container {
    width: 100%
}

#stage .box.gallery .foto-container ul {
    padding: 0 5px
}

#stage .box.gallery .foto-container li {
    width: 25%;
    border: 2px solid #fff
}

#stage .box-container {
    display: table;
    width: 100%;
    table-layout: fixed;
    margin: 0 auto 1em auto;
    max-width: 1400px
}

#stage .box-cell {
    display: table-cell;
    position: relative
}

#stage .box-cell figure {
    text-align: center;
    position: relative
}

#stage .box-cell img {
    display: inline-block
}

#stage .box .playIcon,
#stage .box-cell .playIcon {
    top: 50%;
    opacity: .8;
    width: 80px;
    margin: -40px 0 0 -40px
}

#stage .intro {
    margin: 0 0 20px 0;
    float: left;
    width: 100%;
    background: #0c4a7e;
    background-image: url("elementi/bg-info.jpg");
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center center;
    padding: 4em 0
}

#stage .intro .title-section {
    color: #fff;
    font-size: 1.5em
}

#stage .intro .title-section span {
    display: inline-block;
    vertical-align: middle
}

#stage .intro .title-section span.scritta {
    width: 400px;
    margin-top: -40px
}

#stage .intro .title-section span img {
    width: 100%
}

#stage .intro .box-container {
    position: relative;
    max-width: none;
    padding: 0 20px;
    box-sizing: border-box
}

#stage .intro .box-container:before {
    content: '';
    display: block;
    display: none;
    height: 2px;
    border-bottom: 5px dotted #fff;
    position: absolute;
    top: 50%;
    left: 0;
    right: 0;
    width: 100%
}

#stage .intro .icona {
    font-size: 5em;
    color: #fff;
    text-shadow: none
}

#stage .intro .box {
    overflow: visible;
    text-align: center
}

#stage .intro .box-cell article {
    width: 100%;
    max-width: 250px;
    margin: 0 auto;
    height: auto;
    vertical-align: top;
    background: #fff;
    background: 0 0;
    border-radius: 50%;
    text-align: center;
    display: inline-block
}

#stage .intro .box-cell h1 {
    letter-spacing: 0;
    text-align: center;
    text-transform: uppercase;
    font-size: 4.2em;
    padding: 0 10px;
    font-weight: 800;
    margin: .5em 0 0 0;
    color: #fff
}

#stage .intro .box-cell p {
    opacity: 1;
    color: #fff;
    text-align: center;
    font-size: 1em;
    padding: 0;
    margin: 0;
    font-weight: 100
}

#stage .intro .box-cell h1 a {
    color: #333;
    color: #fabb00;
    font-family: Montserrat, sans-serif;
    display: block
}

.icona {
    font-size: 110px;
    text-align: center;
    display: inline-block;
    margin-top: -.2em;
    text-shadow: 5px 5px 0 #333
}

.icona a {
    color: #fabb00
}

#stage #article .box-container {
    display: block;
    overflow: hidden;
    margin-top: 2em
}

#stage #article .box-cell {
    display: block;
    float: left;
    box-sizing: border-box
}

#stage #article .box-cell .box {
    height: auto
}

#stage #article .box-cell .box {
    width: 100%;
    text-align: center
}

#stage #article .box-cell .box img {
    border: 0;
    max-width: 90%;
    max-height: 150px;
    display: inline-block
}

#stage #article .box-cell .box h1 {
    text-transform: none;
    padding: 10px 0;
    color: #333;
    line-height: 1.1em
}

#stage #article .box-cell .box h1 a {
    color: #333
}

#stage #article .box-cell .box h1 a:hover {
    color: #000
}

#stage #article .box-cell .box p {
    font-size: 17px;
    color: #999;
    text-align: center
}

#stage #article .box-cell .box .pul {
    font-size: .8em;
    margin-top: 0
}

#stage #article .box-cell .box .pul a {
    border-color: rgba(0, 0, 0, .1);
    background: #e8e8eb;
    color: #333
}

#stage #article .box-cell .box .pul a:hover {
    color: #fff;
    background: #333
}

.box-map {
    position: relative;
    width: 100%
}

.box-map iframe {
    width: 100%;
    height: 400px;
    padding: 0;
    display: block
}

#stage #article .box-map p {
    font-size: 1.1em;
    text-align: center;
    padding: 1em 0
}

#stage .box.text {
    height: auto
}

#stage .box.text h1 {
    font-size: 1.2em;
    font-weight: 600;
    text-align: left;
    padding: .2em 0
}

#stage .box.text h1 i {
    color: #ccc
}

#stage .box.text h2 {
    font-size: 1em;
    font-weight: 600;
    text-align: left;
    padding: .5em 0 0 0
}

#stage .box.text p {
    font-size: .9em
}

#stage .box.text p i {
    color: #ccc
}

#stage .box iframe {
    width: 100%;
    margin-bottom: 1em
}

#stage .box.text .pul {
    position: static;
    bottom: auto;
    left: auto;
    width: auto;
    margin-top: .5em;
    color: #4f86ac;
    font-size: .9em
}

#stage .box.text .pul a {
    background: #4f86ac;
    color: #fff !important;
    border-radius: 3px;
    border: 0 !important
}

#stage .box.text .pul a:hover {
    background: #333;
    color: #fff
}

#stage #article .side-content .box.candidate {
    padding: .5em 1em;
    background: #f3efe7;
    margin-bottom: 1.2em
}

.team {
    border-top: 3px solid #f1f1f1;
    margin-top: 1em
}

.team ul {
    overflow: hidden
}

.team li {
    float: left;
    width: 33.3%;
    overflow: hidden;
    text-align: center;
    padding: 0 .5em;
    box-sizing: border-box;
    margin-bottom: 1.5em
}

.team li img {
    width: 100%
}

#stage .team h3 {
    font-size: 1.2em
}

#stage .team p {
    margin: 0;
    padding: 0;
    font-size: .9em;
    text-align: center
}

.menu-up {
    position: absolute;
    top: 60px;
    height: 55px;
    right: 20px;
    letter-spacing: .5px
}

.menu-up ul.topnav {
    height: 100%
}

.menu-up li {
    display: inline-block;
    margin-left: .5em;
    height: 100%
}

.menu-up li.lang {
    margin-left: 1em;
    border-left: 2px solid #e1e1e1
}

.menu-up li.lang a {
    padding-left: 0;
    padding: 0;
    display: block
}

.menu-up li.lang a img {
    border: 0;
    height: 25px
}

.compact .menu-up li a,
.home.compact .menu-up li a,
.menu-up li a {
    display: block;
    padding: 1.5em .5em;
    text-transform: uppercase;
    font-size: 1em;
    letter-spacing: .5px;
    box-sizing: border-box;
    height: 100%;
    font-weight: 800
}

.compact .menu-up li.active a,
.menu-up li.active a {
    color: #fff601;
    color: #333
}

.menu-up li a:hover {
    color: #333
}

.home .menu-up li a {
    color: #f8f8f8;
    color: #f8f8f8
}

.home .menu-up li a:hover,
.home .menu-up li.active a {
    color: #dddc00
}

.menu-up li.sales a {
    font-weight: 600
}

.menu-secondary {
    position: absolute;
    top: 1.7em;
    right: 20px;
    letter-spacing: .4px
}

.menu-secondary ul {
    display: inline-block;
    padding-right: 0
}

.menu-secondary li {
    display: inline-block;
    margin-left: .5em;
    float: left;
    padding: 0 10px
}

.menu-secondary li.lang a {
    padding-left: 0;
    padding: 0
}

.menu-secondary li.lang a img {
    border: 0;
    height: 25px;
    display: block
}

.menu-secondary li a span {
    display: none
}

.menu-secondary li a {
    color: #fcd671;
    display: block;
    font-size: 1.1em;
    height: 25px;
    line-height: 25px
}

.menu-secondary li a:hover {
    color: #dddc00;
    text-decoration: underline
}

.menu-secondary li.user {
    color: #333;
    font-size: 1em;
    height: 25px;
    line-height: 25px;
    font-weight: 100;
    border-left: 1px solid #7c88bf
}

.menu-secondary li.user a {
    padding-left: 0;
    padding: 0
}

.menu-secondary li.social {
    padding: 0 5px;
    margin-left: 0
}

.menu-secondary li.social a {
    background: #fcd671;
    color: #1c5d95;
    width: 25px;
    height: 25px;
    line-height: 25px;
    text-align: center;
    border-radius: 50%
}

.menu-secondary li.social.first {
    margin-left: 2em
}

.menu-up.slidebar {
    position: static;
    top: auto;
    right: auto
}

.menu-up.slidebar ul {
    padding: 5px 5px 5px 5px
}

.menu-up.slidebar ul ul {
    padding: 0 0 10px 5px;
    background: #fff
}

.menu-up.slidebar li {
    display: block;
    margin: 0
}

.menu-up.slidebar li a {
    display: block;
    background: 0 0;
    padding: .9em .5em .5em 1em;
    letter-spacing: .4px;
    font-size: 1em;
    text-align: center
}

.menu-up.slidebar li li a {
    font-size: .9em
}

.sb-slidebar.sb-active {
    background-color: #f5f3ea;
    border-left: 3px solid rgba(0, 0, 0, .02);
    box-sizing: border-box;
    width: 80%;
    max-width: 400px;
    min-width: 300px
}

.navbar {
    position: absolute;
    right: 20px;
    top: 50%;
    margin-top: -25px;
    z-index: 2000
}

.navicon-line {
    background-color: #fcd671 !important
}

.sb-slidebar .main-search {
    position: relative;
    top: auto;
    bottom: auto;
    right: auto;
    overflow: hidden;
    padding: 20px 0;
    text-align: center;
    height: auto;
    opacity: 1;
    border: 0;
    background: 0 0
}

.sb-slidebar .main-search form {
    margin: 0 auto;
    padding-left: 10px
}

.sb-slidebar .main-search form input {
    width: 100%;
    display: inline-block;
    float: none;
    font-size: 13px
}

.sb-slidebar .main-search .pul-search {
    float: none;
    display: block;
    width: 40px;
    position: absolute;
    top: 20px;
    right: 0
}

.menu-up.slidebar li .fa-caret-down {
    display: none
}

.menu-social span {
    display: none
}

.menu-social ul {
    margin: .8em 4em 0 0;
    padding: .5em 0 0 0;
    list-style: none;
    position: absolute;
    top: .2em;
    right: 25px;
    z-index: 300;
    font-size: 9px
}

.menu-social li {
    display: inline-block;
    margin: 0 0 0 5px;
    vertical-align: top
}

.menu-social li a {
    width: 2em;
    height: 2em;
    border-radius: 1em;
    background: #666;
    display: block;
    color: #fff;
    font-size: 2em;
    line-height: 2em;
    text-align: center
}

.menu-social li.eng a,
.menu-social li.ita a {
    background: #fff;
    width: auto;
    color: #0e71b4;
    text-transform: uppercase;
    font-size: 1.3em;
    padding: 0 0 0 1.5em
}

.menu-social li.eng a:hover,
.menu-social li.ita a:hover {
    background: #fff;
    color: #333
}

.menu-social li a:hover {
    background: #000;
    color: #fff
}

.menu-social li.log {
    background: #fff;
    height: 4em;
    padding: 0 1em;
    margin-left: 20px
}

.menu-social li.log a {
    background: 0 0;
    width: auto;
    height: auto;
    color: #8c161b;
    line-height: 1em;
    text-transform: none;
    font-size: 1.8em;
    padding: 2px 0;
    border-radius: 0;
    text-align: right
}

.menu-social li.log .sign a {
    font-size: 1em;
    display: inline
}

.menu-social li.log a:hover {
    color: #333;
    text-decoration: underline
}

#footer .menu-social ul {
    font-size: 8px;
    top: 1.5em
}

#social {
    position: relative;
    margin-top: 20px;
    border-top: 2px solid #f1f1f1
}

.connect {
    width: 120px;
    font-size: 1.5em;
    position: relative;
    line-height: 1em;
    padding-top: 15px;
    font-weight: 600;
    color: #173d64;
    text-align: right;
    font-family: Merriweather, serif
}

.connect:before {
    content: '}';
    display: block;
    position: absolute;
    color: #dbc03a;
    top: 12px;
    line-height: 1em;
    right: -.7em;
    font-weight: 100;
    font-size: 2.1em
}

.menu-donate {
    position: absolute;
    top: 0;
    right: 20px;
    z-index: 950;
    width: auto
}

.menu-donate a {
    display: block;
    background: #fff;
    padding: .9em 10px;
    font-size: 1em;
    text-transform: uppercase;
    color: #333;
    position: relative;
    text-align: center;
    border-bottom: 0 solid #173d64;
    font-weight: 600
}

.menu-donate a span {
    display: inline-block;
    padding: 0 5px;
    font-size: 1.5em;
    line-height: 1em;
    color: #53ae8d
}

.menu-donate a:hover {
    padding: 0 10px;
    height: 55px;
    line-height: 55px
}

.menu-cart {
    position: absolute;
    top: 35px;
    right: 25px;
    z-index: 950
}

.menu-cart a {
    display: block;
    font-size: 40px;
    color: #666;
    position: relative;
    text-align: center;
    padding: 0
}

.menu-cart li a.searchOpen {
    color: #0098c4;
    background: #fff;
    display: none
}

.pop-number {
    position: absolute;
    top: .2em;
    right: -.5em;
    height: 1.5em;
    width: 1.5em;
    line-height: 1.5em;
    box-shadow: -1px 1px 0 #fff;
    text-align: center;
    font-size: 10px;
    background: #0069b4;
    color: #fff;
    border-radius: 7px
}

.sub-menu {
    position: absolute;
    right: -1em;
    top: 3.5em;
    width: 310px;
    box-sizing: border-box;
    background: #fff;
    border-radius: 5px;
    padding: 10px 10px;
    box-shadow: 0 0 4px rgba(0, 0, 0, .15);
    display: none
}

.title-sub-menu {
    font-size: 10px;
    letter-spacing: .4px;
    color: #999;
    padding: 5px 0 10px 0;
    text-transform: uppercase;
    text-align: center;
    border-bottom: 1px solid #f1f1f1
}

.sub-menu table {
    width: 100%;
    border-bottom: 1px solid #f1f1f1
}

.sub-menu table td {
    vertical-align: middle;
    text-align: center;
    border-bottom: 1px solid #ecf3f9
}

.sub-menu table tr:nth-child(even) td {
    background: #fff
}

.sub-menu table td.foto img {
    max-height: 40px;
    max-width: 50px
}

.sub-menu table td.desc {
    font-size: 11px;
    color: #999;
    padding: 5px 5px
}

.sub-menu table td.desc a {
    font-size: 11px;
    color: #0069b4
}

.sub-menu table td.qta {
    font-size: 11px;
    color: #666;
    padding: 0 10px 0 0;
    text-align: left
}

.sub-menu table td.qta span {
    font-size: 14px;
    font-weight: 600;
    color: #666
}

.sub-menu table td.prezzo {
    text-align: right;
    font-weight: 600;
    color: #666;
    font-size: 14px;
    padding: 0 2px
}

.sub-menu table td.totalone {
    text-align: right;
    font-weight: 600;
    color: #333;
    font-size: 14px;
    padding: 8px 2px
}

.sub-menu .pul {
    margin: 0;
    padding: 10px 0 0 0
}

.sub-menu .pul a {
    padding: 8px;
    font-size: 10px;
    background: #67a6d3;
    color: #fff
}

.main-search {
    position: absolute;
    top: 43px;
    right: 80px
}

.main-search form {
    padding: 0;
    margin: 0
}

.main-search form input,
input.input-text {
    border: 0;
    background: #f1f1f1;
    border-radius: 5px;
    font-size: 1em;
    text-indent: 10px;
    width: 250px;
    float: left;
    padding: .5em 0 .5em 0
}

.main-search .pul-search {
    float: left
}

.main-search .pul-search a {
    color: #999;
    display: block;
    font-size: 18px;
    height: 35px;
    line-height: 35px;
    padding: 0 10px
}

.pul {
    display: block;
    padding: 15px 0;
    height: 3em;
    height: auto;
    position: relative;
    text-align: center;
    clear: both
}

.pul span {
    display: none
}

.pul a {
    text-shadow: none;
    color: #fff;
    padding: 1.2em 2.5em;
    border-radius: 2em;
    letter-spacing: .4px;
    text-align: center;
    display: inline-block;
    font-weight: 600;
    background: 0 0;
    background: #fff;
    background: #01aadd;
    border: 0 solid rgba(0, 0, 0, .07);
    border-bottom: 0 solid rgba(0, 0, 0, .07);
    text-decoration: none;
    font-size: 11px;
    text-transform: uppercase
}

.pul a:focus,
.pul a:hover {
    color: #fff;
    background: rgba(0, 0, 0, .7);
    background: #333;
    color: #fff
}

.pul-dona {
    text-align: center
}

.campo.big,
.combo.big {
    font-size: 1.6em !important
}

.blocco label {
    line-height: normal;
    color: #fff;
    display: block;
    margin: 0 0 5px 0;
    text-transform: uppercase
}

.combo {
    -webkit-appearance: none;
    -moz-appearance: none;
    background: #fff url("elementi/select-arrow.png") no-repeat right center;
    min-width: 80px;
    text-indent: 10px;
    text-overflow: "";
    color: #666;
    font-size: 1em;
    box-sizing: border-box;
    hanging-punctuation: 2.5em;
    border-radius: 5px;
    padding: .5em 25px .5em 0;
    text-transform: none;
    width: 100%;
    display: block;
    border: 0 solid #f1f1f1
}

select::-ms-expand {
    display: none
}

.combo {
    padding: 0 0 0 5px\0/IE8+9
}

input[type=checkbox] {
    visibility: hidden
}

.checkboxFive {
    width: 24px;
    height: 24px;
    margin: 0 2px 0 0;
    display: inline-block;
    position: relative
}

.checkboxFive label,
.side-menu .checkboxFive label {
    cursor: pointer;
    position: absolute;
    width: 22px;
    height: 22px;
    top: 0;
    left: 0;
    padding: 0;
    background: #fff;
    border: 1px solid #bbb;
    border-radius: 3px
}

.checkBox {
    font-size: .8em;
    color: #666
}

.checkBox a {
    color: #0098c4
}

.checkboxFive label:after {
    opacity: 0;
    content: '';
    position: absolute;
    width: 9px;
    height: 5px;
    background: 0 0;
    top: 5px;
    left: 6px;
    border: 3px solid #333;
    border-top: none;
    border-right: none;
    -webkit-transform: rotate(-45deg);
    -moz-transform: rotate(-45deg);
    -o-transform: rotate(-45deg);
    -ms-transform: rotate(-45deg);
    transform: rotate(-45deg)
}

.checkboxFive label:hover::after {
    opacity: .5
}

.checkboxFive input[type=checkbox]:checked + label:after {
    opacity: 1
}

input[type=radio]:not(old) {
    width: 2em;
    margin: 0;
    padding: 0;
    font-size: 1em;
    opacity: 0
}

input[type=radio]:not(old) + label {
    display: inline-block;
    margin-left: -2em;
    line-height: 1.5em
}

input[type=radio]:not(old) + label > span {
    display: inline-block;
    width: .875em;
    height: .875em;
    margin: .25em 10px .25em 0;
    border: .0625em solid silver;
    border-radius: .25em;
    background: #e0e0e0;
    background-image: -moz-linear-gradient(#f0f0f0, #e0e0e0);
    background-image: -ms-linear-gradient(#f0f0f0, #e0e0e0);
    background-image: -o-linear-gradient(#f0f0f0, #e0e0e0);
    background-image: -webkit-linear-gradient(#f0f0f0, #e0e0e0);
    background-image: linear-gradient(#f0f0f0, #e0e0e0);
    vertical-align: bottom
}

input[type=radio]:not(old):checked + label > span {
    background-image: -moz-linear-gradient(#e0e0e0, #f0f0f0);
    background-image: -ms-linear-gradient(#e0e0e0, #f0f0f0);
    background-image: -o-linear-gradient(#e0e0e0, #f0f0f0);
    background-image: -webkit-linear-gradient(#e0e0e0, #f0f0f0);
    background-image: linear-gradient(#e0e0e0, #f0f0f0)
}

input[type=radio]:not(old):checked + label > span > span {
    display: block;
    width: .35em;
    height: .35em;
    margin: .21em;
    border: .0625em solid #333;
    border-radius: .125em;
    background: #333
}

#box-careers,
#box-info {
    position: relative;
    padding: 1.2em 1em;
    background: #f3efe7;
    background: #e9f0f4;
    box-sizing: border-box
}

#box-info .content {
    background: #fff;
    padding: 1.2em 1em;
    box-sizing: border-box
}

#box-careers label a,
#box-careers legend a,
#box-info label a,
#box-info legend a {
    color: #009ee0;
    color: #000;
    text-decoration: underline
}

#col-dx #box-careers,
#col-dx #box-info {
    min-width: 30.6em
}

#box-careers h2,
#box-info h2 {
    text-shadow: 1px 1px #fff;
    color: #000;
    margin: 0;
    padding: .5em 0;
    font-size: 2em;
    font-weight: 400;
    line-height: 1.1em
}

#box-careers p,
#box-info p {
    text-shadow: 1px 1px #fff;
    margin: 0;
    padding: 0 0 1.5em 0;
    font-size: 1.4em;
    color: #4c4c4c;
    line-height: 1.4em
}

#box-careers .mail,
#box-info .mail {
    float: left;
    margin: 0 .5em 0 0
}

#box-careers .categoria-sml-blu,
#box-info .categoria-sml-blu {
    top: -1.3em;
    left: 1em
}

#box-careers h1,
#box-info h1 {
    margin: 0;
    padding: 0 0 .2em 0;
    display: block;
    text-align: center;
    font-size: 2em;
    font-weight: 100;
    color: #999;
    text-transform: none
}

#box-careers label,
#box-info label {
    float: left;
    width: 50%;
    display: block;
    font-size: 1em;
    text-transform: none;
    color: #999;
    margin: 0 0 .5em 0;
    padding: 0 .9em 0 0;
    box-sizing: border-box
}

#box-careers label.long,
#box-info label.long {
    width: 100%;
    padding: 0 1.8em 0 0
}

#box-careers legend,
#box-info legend {
    margin: 0 0 1em 0;
    color: #999;
    font-size: 1em;
    padding: 1.5em 0 0 0
}

#box-careers form,
#box-info form {
    margin: 0 auto;
    width: 100%;
    padding: 1em 0 1em 0
}

#box-careers .pul,
#box-info .pul {
    margin: 0
}

.campo {
    background: #fff;
    font-size: 1.2em;
    display: block;
    padding: .5em;
    border: 0;
    border-radius: 3px;
    width: 100%;
    box-sizing: border-box
}

.campo.big {
    font-size: 2em !important
}

#box-careers .campo,
#box-info .campo {
    width: 100%
}

#box-careers textarea,
#box-info textarea {
    width: 100%;
    height: 4em;
    font-size: 1.3em;
    background: #f1f1f1;
    display: block;
    padding: 3px .4em;
    border: 0;
    border-radius: 3px
}

#box-careers ul,
#box-info ul {
    margin: 0;
    padding: 0 0 1em 0;
    list-style: none
}

#box-careers li,
#box-info li {
    line-height: 1.8em;
    height: 1.8em;
    padding: 0 0 0 1em;
    font-size: 1.5em;
    border-bottom: 1px dashed #e5e5e5
}

#box-careers li a,
#box-info li a {
    color: #760d21;
    text-decoration: none
}

#box-careers li a:hover,
#box-info li a:hover {
    background: #faf7de
}

#box-careers .combo-medio,
#box-info .combo-medio {
    width: 20em
}

a.captcha {
    display: block;
    padding: 0;
    line-height: 1.1em;
    height: 1.1em;
    margin: 0 0 0 .4em;
    font-size: 1em
}

#box-info .pul {
    padding: 1.5em 1em 1em 1em;
    clear: both;
    height: auto
}

#box-info .pul a {
    color: #0069b4;
    border: 1px solid #e1e1e1
}

#box-info .pul a:hover {
    background: #0069b4;
    border-color: #0069b4;
    color: #fff
}

#box-newsletter {
    vertical-align: middle;
    background: #dcede6
}

.popUp #box-newsletter {
    display: none
}

#box-newsletter h2 {
    text-align: left;
    color: #3d8d72;
    font-weight: 600;
    margin: 0 0 5px 0;
    padding: 0 0;
    font-size: 2em;
    text-transform: none;
    position: relative
}

#box-newsletter p {
    color: #505050;
    font-size: 1.1em;
    text-align: left;
    padding: 0 0
}

#box-newsletter form {
    padding: 20px;
    position: relative
}

#box-newsletter .blocco {
    padding: 10px 0
}

#box-newsletter .blocco .label {
    height: auto;
    line-height: normal;
    font-size: 10px;
    color: #505050;
    display: block;
    overflow: hidden
}

#box-newsletter .checkboxFive {
    display: block;
    float: left;
    margin-right: 10px
}

#box-newsletter .campo {
    font-size: 1.4em;
    margin: 0 20px 10px 0;
    width: 82%
}

#box-newsletter .pul {
    padding: .5em 1em;
    position: absolute;
    top: 20px;
    right: 20px;
    padding: 0;
    width: auto;
    height: auto
}

#box-newsletter .pul a {
    color: #fff;
    border: 0;
    background: #3d8d72
}

#box-newsletter .pul a:hover {
    background: #333;
    color: #fff
}

#box-newsletter.upfooter {
    border-left: 0;
    overflow: hidden
}

#box-newsletter.upfooter .content {
    max-width: 1400px;
    margin-top: 0;
    overflow: hidden
}

#box-newsletter.upfooter form {
    float: right;
    width: 40%;
    box-sizing: border-box
}

#box-newsletter .text-newsletter {
    float: left;
    width: 50%;
    background: 0 0;
    box-sizing: border-box;
    padding: 20px 20px 20px 20px;
    margin-left: 10px
}

#box-newsletter .busta {
    display: block;
    width: 100px;
    float: left;
    margin-right: 20px
}

#box-newsletter .busta a {
    display: block
}

#box-newsletter .busta img {
    display: block;
    width: 100%
}

.eventInfo {
    overflow: hidden;
    background: rgba(0, 0, 0, .05);
    margin: 20px 10px
}

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

.eventInfo li {
    margin: 0;
    padding: 15px 20px;
    box-sizing: border-box;
    float: left;
    width: 50%;
    font-size: 1.1em;
    color: #4b4b4b;
    border-bottom: 1px dotted rgba(0, 0, 0, .08)
}

#box-cv {
    position: relative;
    padding: 0;
    background: #fff;
    box-sizing: border-box
}

#box-cv .content {
    background: #fff;
    padding: 0 !important;
    box-sizing: border-box;
    margin-top: 0 !important;
    width: 100% !important
}

#box-cv label a,
#box-cv legend a {
    color: #009ee0;
    color: #000;
    text-decoration: underline
}

#box-cv h2 {
    text-shadow: 1px 1px #fff;
    color: #000;
    margin: 0;
    padding: .5em 0;
    font-size: 2em;
    font-weight: 400;
    line-height: 1.1em
}

#box-careers p,
#box-cv p {
    text-shadow: 1px 1px #fff;
    margin: 0;
    padding: 0 0 1.5em 0;
    font-size: 1.4em;
    color: #4c4c4c;
    line-height: 1.4em
}

#box-cv .mail {
    float: left;
    margin: 0 .5em 0 0
}

#box-cv .categoria-sml-blu {
    top: -1.3em;
    left: 1em
}

#box-cv h1 {
    margin: 0;
    padding: 0 0 .2em 0;
    display: block;
    text-align: center;
    font-size: 2em;
    font-weight: 100;
    color: #999;
    text-transform: none
}

#box-cv label {
    float: left;
    width: 50%;
    display: block;
    font-size: 1em;
    text-transform: none;
    color: #999;
    margin: 0 0 .5em 0;
    padding: 0 .9em 0 0;
    box-sizing: border-box
}

#box-cv label.long {
    width: 100%;
    padding: 0 1.8em 0 0
}

#box-cv legend {
    margin: 0 0 1em 0;
    color: #999;
    font-size: 1em;
    padding: 1.5em 0 0 0
}

#box-cv form {
    margin: 0 auto;
    width: 100%;
    padding: 1em 0 1em 0
}

#box-cv .pul {
    margin: 0
}

#box-cv .campo {
    width: 100%
}

#box-cv textarea {
    width: 100%;
    height: 4em;
    font-size: 1.3em;
    background: #f1f1f1;
    display: block;
    padding: 3px .4em;
    border: 0;
    border-radius: 3px
}

#box-cv ul {
    margin: 0;
    padding: 0 0 1em 0;
    list-style: none
}

#box-cv li {
    line-height: 1.8em;
    height: 1.8em;
    padding: 0 0 0 1em;
    font-size: 1.5em;
    border-bottom: 1px dashed #e5e5e5
}

#box-cv li a {
    color: #760d21;
    text-decoration: none
}

#box-cv li a:hover {
    background: #faf7de
}

#box-cv .combo-medio {
    width: 20em
}

#box-cv .pul {
    padding: 1.5em 1em 1em 1em;
    clear: both;
    height: auto
}

#box-cv .pul a {
    color: #0069b4;
    border: 1px solid #e1e1e1
}

#box-cv .pul a:hover {
    background: #0069b4;
    border-color: #0069b4;
    color: #fff
}

#box-support {
    background: #173d64;
    background-image: url("https://www.cafcisl.it/elementi/bg-section-donate.jpg");
    box-sizing: border-box;
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
    padding: 20px 25px;
    vertical-align: middle
}

#box-support h1 {
    color: #e1c439;
    margin: 0;
    padding: .5em 0;
    font-size: 2.3em;
    font-weight: 600;
    line-height: 1.1em
}

#box-support p {
    margin: 0;
    padding: 0;
    font-size: 1.2em;
    color: #fff;
    line-height: 1.4em
}

#box-support .learn {
    border-bottom-color: #e1c439
}

#box-support .learn a {
    color: #e1c439
}

.pul.donate {
    padding: 1.5em 1em 1em 1em;
    clear: both;
    height: auto
}

.pul.donate a {
    color: #fff;
    border: 0 solid #e1e1e1;
    background: #e63398
}

.pul.donate a:hover {
    background: #333;
    color: #fff
}

h2.titolo-sezione {
    position: relative;
    color: #fff;
    text-align: center;
    font-size: 1.3em;
    padding: 2em 0 .5em 0;
    font-weight: 400;
    text-transform: uppercase
}

h2.titolo-sezione span {
    background: #c4c4cc;
    padding: .5em 1em;
    position: relative
}

h2.titolo-sezione span i {
    opacity: .2
}

h2.titolo-sezione::before {
    content: '';
    border-bottom: 2px solid rgba(0, 0, 0, .05);
    width: 100%;
    position: absolute;
    right: 0;
    top: 2.5em
}

.numeri {
    overflow: hidden;
    margin-bottom: 2em;
    clear: both;
    background: #f0f0f0
}

.numeri * {
    box-sizing: border-box
}

.numeri img {
    width: 100%
}

.numeri .box-cell {
    vertical-align: top
}

.numeri .pul a {
    color: #333;
    background: #fff
}

.numeri .pul a:hover {
    background: #fff601;
    color: #333
}

#stage .numeri p {
    background: #fff;
    font-size: 1.1em;
    padding: 10px 10px;
    color: #999;
    clear: both
}

#stage .numeri p a {
    color: #333;
    text-decoration: underline
}

#stage .numeri span {
    display: block;
    max-width: 1300px;
    margin: 0 auto
}

.lista-prodotti {
    background: #f1f1f1;
    background: #fff;
    padding-bottom: 2em
}

#stage .lista-prodotti .box {
    min-height: 0;
    padding: 1.5em 0
}

.article-content .lista-prodotti ul,
.lista-prodotti ul {
    display: block;
    margin: 0 auto;
    width: 100%;
    max-width: 1400px;
    overflow: hidden
}

.lista-prodotti h2.titolo-sezione span {
    background: #f1f1f1;
    background: #eafaff
}

.article-content .lista-prodotti li,
.lista-prodotti li {
    float: left;
    width: 20%;
    float: none;
    width: auto;
    font-size: 1em;
    padding: 0;
    margin: 0;
    border-bottom: 1px dotted #f1f1f1
}

.side-content .lista-prodotti li {
    border: 0
}

.lista-prodotti .foto-prodotto {
    width: 90%;
    background: #fff;
    margin: 0 5% .5em 5%;
    height: 250px;
    position: relative
}

.lista-prodotti .foto-prodotto figure {
    padding: 10px 30px
}

.lista-prodotti .foto-prodotto figure a {
    display: inline-block;
    padding: 10px;
    background: rgba(277, 277, 277, .95)
}

.lista-prodotti .foto-prodotto figure a:hover {
    padding: 0
}

.lista-prodotti .foto-prodotto img {
    display: block;
    max-height: 200px
}

.box-prodotto {
    font-size: 1.2em;
    padding-bottom: 1em
}

.box-prodotto h1 {
    font-size: 1em;
    text-align: center;
    margin: 0 0 15px 0;
    padding: 0 10px
}

.box-prodotto p {
    text-align: center;
    font-size: 1.1em
}

#stage .box-prodotto .prezzo {
    color: #0069b4;
    color: #333;
    font-size: 1.4em
}

#stage #article .lista-prodotti .box {
    height: auto;
    width: auto
}

#stage .lista-prodotti .box .icona {
    float: left;
    width: 4em;
    text-align: center;
    font-size: 1em;
    margin-top: 0;
    text-shadow: none
}

#stage .lista-prodotti .box .icona i {
    font-size: 65px;
    color: #ccc
}

.lista-prodotti.sea {
    background-repeat: repeat-x;
    background-position: top center
}

.lista-prodotti.white {
    background: #fff;
    padding-bottom: 2em
}

.lista-prodotti.white h2.titolo-sezione span {
    background: #fff
}

.lista-prodotti .box-text-content {
    height: auto
}

.title-section {
    font-size: 2em;
    left: auto;
    font-weight: 600;
    text-transform: uppercase;
    color: #878787;
    letter-spacing: .1em;
    padding: .5em 20px;
    text-align: center;
    margin-bottom: 20px
}

.side-content .title-section {
    border-top: 2px solid #f1f1f1;
    font-size: 1.3em;
    left: auto;
    font-weight: 600;
    text-transform: uppercase;
    color: #978a8d;
    color: #97b1a7;
    letter-spacing: .1em;
    text-align: center
}

.side-content .title-section:first-child {
    border-top: 0
}

.all {
    float: right;
    font-size: .7em;
    line-height: 1em;
    margin: .5em 5px 0 0;
    color: #6d92b9
}

.all a {
    color: #6d92b9
}

.all a:hover {
    color: #333
}

.correlati .title-section {
    text-align: center;
    padding: 20px;
    border-top: 2px solid #f1f1f1
}

.box .title-section {
    font-size: 1em;
    max-width: 60%;
    margin: 0 auto -20px auto;
    position: relative;
    z-index: 100;
    background: #1c5d95;
    color: #fff
}

.side-content .box .title-section {
    font-size: 1em;
    left: auto
}

.categoria {
    font-size: 1em;
    letter-spacing: .1em;
    font-weight: 600;
    text-transform: uppercase;
    color: #53ae8d;
    padding: 0 0 .3em 0
}

.categoria.header {
    padding-left: 50px
}

.categoria span {
    color: #ccc
}

.foto-articolo {
    width: 35%;
    float: left;
    box-sizing: border-box
}

.box-text-content {
    padding: 0 20px 20px 20px;
    position: relative;
    height: 17em;
    box-sizing: border-box;
    overflow: hidden
}

.home .eventi .box-text-content {
    padding: 0 0 0 20px
}

.events .box-text-content {
    overflow: hidden;
    padding: 0 0 0 20px
}

.primopiano .box-text-content {
    margin: -8em 20px 0 20px
}

.box figure {
    display: block;
    width: 100%;
    position: relative
}

.box figure img {
    max-width: 100%;
    width: 100%
}

.day {
    width: 5.5em;
    z-index: 5;
    text-align: center;
    background: #d6f2ff
}

.day .number {
    font-size: 2.2em;
    color: #1b5d95;
    font-family: Merriweather, serif;
    font-weight: 800
}

.day .month {
    font-size: .75em;
    color: #1b5d95;
    text-transform: uppercase;
    padding: .1em 0
}

.day .year {
    font-size: 1em;
    color: #1b5d95;
    padding: .1em 0;
    font-weight: 600;
    opacity: .7;
    padding-bottom: .5em
}

#paging {
    height: auto;
    margin: 10px 0 10px 0;
    position: relative;
    text-shadow: none;
    overflow: hidden
}

#paging ul {
    margin: 0 auto;
    padding: 0;
    width: 300px;
    height: 30px;
    text-align: center
}

#article #paging li,
#paging li {
    display: inline-block;
    float: none;
    margin: 0 5px 0 0;
    padding: 0;
    border: 0;
    background: 0 0
}

#paging li a {
    display: block;
    font-size: 12px;
    line-height: 2em;
    width: 2em;
    border-radius: 50%;
    background: #ccc;
    text-align: center;
    margin: 0;
    padding: 0;
    text-decoration: none;
    color: #fff
}

#paging li.attivo a:link,
#paging li.attivo a:visited {
    color: #fff;
    background: #333
}

#paging li a:focus,
#paging li a:hover {
    background: 0 0;
    text-decoration: underline;
    color: #ccc
}

#news {
    float: left;
    overflow: hidden;
    position: relative;
    z-index: 100;
    padding: 20px 0 0 0
}

.internal #news {
    width: 100%;
    float: none;
    border-top: 3px dashed #f1f1f1;
    margin-top: -2em
}

.internal #search-list #news {
    width: 70%;
    float: left
}

#news .box-cell {
    background: #fff;
    border: 10px solid transparent;
    border-top: 0
}

#news .box,
#stage .side-content .box {
    text-align: center;
    padding: 0 0;
    background: #fff
}

#news .box h1,
#stage .side-content .box h1 {
    padding: 5px 0 5px 0;
    font-weight: 400;
    font-size: 2em;
    line-height: 1.2em
}

#news .box.primopiano h1 {
    font-size: 3em
}

#news .box h1 a,
#stage .side-content .box h1 a {
    color: #1c5d95
}

#news .box .data,
#stage .side-content .box .data,
.box .data {
    color: #9b9b9b;
    font-size: .9em;
    padding: .5em 0
}

#article header .place,
#news .box .place,
#stage .side-content .box .place,
.box .place {
    color: #666;
    font-size: .9em;
    padding: .5em 0;
    padding-left: 1.2em;
    position: relative
}

#stage .side-content .box .place {
    font-size: .9em;
    padding: .3em 0 .3em 1.2em;
    padding-left: 0
}

.box .place span {
    white-space: nowrap
}

#news .box .place:before,
#stage .place:before,
.place:before {
    content: '\f041';
    color: #ccc;
    display: block;
    font-size: 1.5em;
    font-family: FontAwesome;
    position: absolute;
    top: .1em;
    left: 0
}

#news .box p,
#stage .side-content .box p {
    max-width: none;
    padding: 0 0;
    color: #555;
    text-overflow: ellipsis
}

.home #news .box .day {
    left: 20px;
    top: -5px;
    position: absolute
}

.internal #news .box .day,
.risultati-content .day,
.side-content .day {
    position: relative;
    top: auto;
    left: auto;
    float: left;
    font-size: .95em
}

.risultati-content .box-text-content,
.side-content .box-text-content {
    overflow: hidden;
    height: auto
}

#stage .side-content .box h1 {
    font-size: 1.8em
}

#stage .side-content .box p {
    font-size: 1.1em
}

#news .box-cell.double {
    background: #fff601
}

#news .box-cell.double .title-section {
    margin: -10px auto 20px auto
}

#news .box-cell.double .box {
    position: relative;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0
}

#news .box-cell.double figure {
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 93%;
    width: 100%
}

#news .box-cell.double figure img {
    max-width: none;
    min-width: 100%;
    height: 100%;
    width: auto
}

#news .box-cell.double .box-text-content {
    position: absolute;
    top: 20px;
    right: 20px;
    bottom: auto;
    background: #f1f1f1;
    width: 50%;
    height: auto;
    box-sizing: border-box;
    padding: 0 20px 50px 20px;
    overflow: visible
}

#news .double .box h1,
#stage .side-content .double .box h1 {
    font-size: 3em
}

#news .small .box-cell {
    background: #fff
}

#news .small .box-cell .box {
    position: relative
}

#news .small .box-cell figure {
    width: 40%;
    float: left
}

#news .small .box-cell figure img {
    display: block
}

#news .small .box-cell .box-text-content {
    background: 0 0;
    width: auto;
    text-align: left;
    overflow: hidden;
    box-sizing: border-box;
    padding: 10px 20px
}

#news .small .box h1,
#stage .side-content .small .box h1 {
    font-size: 2em
}

#stage #news .small .pul {
    padding: 10px 0;
    margin: 0;
    text-align: left
}

#news .small .pul a {
    background: #f1f1f1
}

#news .small .box {
    min-height: 0
}

#box-cosa {
    padding: 40px 40px;
    box-sizing: border-box;
    float: left
}

#box-cosa .box-cell {
    background: #f0f0f0;
    border: 0 solid #fff;
    border-top: 0;
    min-height: 30em !important
}

#box-cosa .box-container {
    margin-top: 0 !important
}

#box-cosa .box {
    text-align: center;
    padding: 0 0
}

#box-cosa .box h1 {
    padding: 5px 0 5px 0;
    font-weight: 600;
    font-size: 2em;
    text-align: left
}

#box-cosa .box .categoria {
    text-align: left;
    padding: 0
}

#box-cosa .box.primopiano h1 {
    font-size: 3em
}

#box-cosa .box h1 a {
    color: #333
}

#box-cosa .box .data {
    color: #9b9b9b;
    font-size: .9em;
    padding: .5em 0
}

#box-cosa .box .place {
    color: #666;
    font-size: .9em;
    padding: .5em 0;
    padding-left: 1.2em;
    position: relative
}

#box-cosa .box .place:before {
    content: '\f041';
    color: #ccc;
    display: block;
    font-size: 1.5em;
    font-family: FontAwesome;
    position: absolute;
    top: .1em;
    left: 0
}

#box-cosa .box p {
    max-width: none;
    padding: .5em 0;
    color: #555 !important;
    text-align: left !important
}

.internal #box-cosa .box .day {
    position: relative;
    top: auto;
    left: auto;
    float: left;
    font-size: .95em
}

#box-cosa .box-cell.double {
    background: 0 0;
    margin-bottom: 30px
}

#box-cosa .box-cell.double .box {
    position: relative;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0
}

#box-cosa .box-cell.double figure {
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 65%;
    text-align: left
}

#box-cosa .box-cell .box img {
    max-height: none !important
}

#box-cosa .box-cell.double .box-text-content {
    position: absolute;
    top: 20px;
    right: 0;
    bottom: 20px;
    background: #fff;
    background: #f5f3ea;
    width: 50%;
    height: auto;
    box-sizing: border-box;
    padding: 30px 50px
}

#box-cosa .double .box h1 {
    font-size: 3em
}

#box-cosa .lista-azioni ul {
    text-align: left;
    padding: 10px 0
}

#box-cosa .lista-azioni li a {
    font-size: 1.2em
}

#box-cosa .double .box .pul {
    text-align: left;
    padding: 15px 0 20px 0
}

#box-cosa .box-cell.double:nth-child(even) .box-text-content {
    right: auto;
    left: 0
}

#box-cosa .box-cell.double:nth-child(even) figure {
    left: auto;
    right: 0
}

#box-cosa .box-cell.double:nth-child(even) .box h1 {
    text-align: right
}

#box-cosa .box-cell.double:nth-child(even) .box .categoria {
    text-align: right
}

#box-cosa .box-cell.double:nth-child(even) .box p {
    text-align: right !important
}

#box-cosa .box-cell.double:nth-child(even) .lista-azioni ul {
    text-align: right
}

#box-cosa .box-cell.double:nth-child(even) figure {
    text-align: right
}

#box-cosa .box-cell.double:nth-child(even) .box .pul {
    text-align: right
}

#box-cosa.documenti .box-cell.double {
    background: 0 0;
    margin-bottom: 10px;
    border-top: 2px dotted #e1e1e1
}

#box-cosa.documenti .box-cell.double .box {
    position: relative;
    top: auto;
    left: auto;
    right: auto;
    bottom: auto
}

#box-cosa.documenti .box-cell.double figure {
    position: relative;
    top: auto;
    left: auto;
    right: auto;
    bottom: auto;
    width: 150px;
    text-align: left;
    float: left
}

#box-cosa.documenti .box-cell {
    min-height: 0 !important
}

#box-cosa.documenti .box-cell .box img {
    max-height: none !important
}

#box-cosa.documenti .box-cell.double:nth-child(even) .box h1 {
    text-align: left
}

#box-cosa.documenti .box-cell.double:nth-child(even) .box p {
    text-align: left !important
}

#box-cosa.documenti .box-cell.double .box-text-content {
    position: relative;
    top: auto;
    left: auto;
    right: auto;
    bottom: auto;
    background: #fff;
    background: #fff;
    width: auto;
    height: auto;
    box-sizing: border-box;
    padding: 0 0
}

#stage #article .documenti .box-cell .box h1 {
    color: #53ae8d;
    font-size: 2.5em;
    padding: .5em 0 0 0
}

#stage #article .documenti .box-cell .box h1 a {
    color: #53ae8d
}

#box-cosa.documenti .lista-azioni ul {
    text-align: left;
    padding: 10px 0 10px 0
}

#box-cosa.documenti .lista-azioni li a {
    font-size: 1em;
    padding: .5em .7em;
    background: #53ae8d;
    color: #fff;
    border-radius: 5px
}

#box-cosa.documenti .double .box .pul {
    text-align: left;
    padding: 15px 0 20px 0
}

#box-cosa.documenti .double .box .pul a {
    background: #53ae8d;
    color: #fff
}

#box-cosa.documenti .moreInfo {
    text-align: left;
    display: none
}

.moreInfo h3 {
    font-size: 1.5em;
    padding: 15px 5px 5px 5px;
    font-family: Montserrat, sans-serif;
    color: #666
}

.moreInfo ul {
    padding: 0 0 1em 0
}

.moreInfo li {
    padding: .3em .2em .3em 1.2em;
    font-size: 1.2em;
    color: #333;
    position: relative
}

.moreInfo li::before {
    content: '\f00c';
    font-style: normal;
    position: absolute;
    left: 0;
    top: .4em;
    font-family: FontAwesome;
    color: #3d8d72;
    font-size: 1em
}

#stage #article .box-cell .box .moreInfo p {
    font-size: 1.2em;
    color: #333 !important
}

#stage #article .documenti .box-cell .box img {
    max-width: none;
    width: 100%
}

#stage.home .slider {
    float: right;
    padding: 20px;
    box-sizing: border-box
}

.slider .title-section {
    font-size: 1.1em;
    left: auto;
    max-width: 300px;
    margin: 0 auto -20px auto;
    position: relative;
    z-index: 100;
    background: #fff601;
    color: #333
}

#stage .eventi {
    padding: 20px
}

#stage .eventi .box {
    text-align: left;
    min-height: 0
}

.eventi .title-section {
    font-size: 1.1em;
    max-width: 300px;
    border: 0;
    margin: 0 auto 20px auto;
    background: #fff
}

#cerca-coordinamento {
    background: #f5f3ea url("elementi/italy-map.svg") no-repeat 10px -20px;
    background-size: 400px;
    padding-left: 250px;
    margin-top: 20px;
    padding-bottom: 20px
}

#cerca-coordinamento h1 {
    font-size: 2.2em;
    color: #3d8d72;
    font-weight: 600;
    padding: 30px 20px 20px 20px
}

#cerca-coordinamento p {
    padding: 0 20px 20px 20px;
    font-size: 1.1em;
    color: #333;
    font-weight: 400
}

#cerca-coordinamento form {
    max-width: 400px;
    margin: 0 auto
}

#cerca-coordinamento .blocco label {
    color: #95b6a9;
    text-align: center
}

#cerca-coordinamento .blocco .combo {
    margin-top: 10px
}

#cerca-coordinamento .risultati {
    border-top: 2px solid #fefcdc
}

#cerca-coordinamento .box-cell {
    background: #f5f3d1;
    vertical-align: top
}

#cerca-coordinamento .box-cell.x33 {
    text-align: center;
    background: #fefcdc
}

#cerca-coordinamento .box h1 {
    font-size: 1.2em;
    font-weight: 600;
    text-transform: none;
    color: #2e3192;
    text-align: left
}

#cerca-coordinamento .box {
    padding: 0 20px;
    width: 50%;
    box-sizing: border-box;
    float: left
}

#cerca-coordinamento .box p,
#stage #article #cerca-coordinamento .box p {
    font-size: 1.1em;
    font-weight: 400;
    text-transform: none;
    color: #333;
    text-align: left;
    padding: 0 10px
}

#cerca-coordinamento .box p a {
    font-weight: 600
}

#cerca-coordinamento .box.sede:before {
    display: block;
    font-family: FontAwesome;
    content: '\f041';
    color: #2e3192;
    font-size: 7em;
    float: left;
    padding: .2em .1em
}

#cerca-coordinamento .box.coordinatore:before {
    display: block;
    font-family: FontAwesome;
    content: '\f007';
    color: #2e3192;
    font-size: 7em;
    float: left;
    padding: .2em .1em
}

#cerca-coordinamento .pul a:hover {
    color: #fff;
    text-decoration: none;
    background: #4d84a9
}

#cerca-coordinamento .pul a {
    display: inline-block;
    padding: .9em 1.8em;
    font-weight: 100;
    text-transform: uppercase;
    color: #fff;
    background: #3d8d72;
    border: 0 solid #fff;
    border-radius: 20px;
    font-size: 12px;
    font-weight: 600
}

#cerca-coordinamento .pul a:hover {
    color: #fff;
    text-decoration: none;
    background: #333
}

.italy-map {
    display: inline-block;
    width: 100%;
    max-width: 350px;
    box-sizing: border-box;
    height: auto;
    padding: 20px;
    position: relative
}

.italy-map #svgobject,
.italy-map img {
    width: 100%;
    height: auto
}

.lista-azioni {
    text-align: center
}

.lista-azioni ul {
    margin: 0;
    padding: 20px;
    list-style: none
}

.lista-azioni li {
    display: inline-block !important;
    float: none !important;
    position: relative !important;
    margin-bottom: 3px
}

.lista-azioni li a {
    border-bottom: 2px solid rgba(0, 0, 0, .08);
    background: #fff;
    position: relative !important;
    display: block;
    padding: .4em;
    font-weight: 600;
    text-transform: uppercase;
    font-size: 1.1em
}

.banner-head {
    width: 100%;
    height: 30px;
    overflow: hidden;
    background: #172983;
    background: #dae0ff;
    text-align: right;
    color: #fff;
    line-height: 30px;
    font-size: 11px;
    letter-spacing: 1px;
    text-transform: uppercase;
    color: #172983;
    font-family: sans-serif
}

.banner-head img {
    height: 25px;
    display: inline-block;
    vertical-align: top;
    margin: 0 25px 0 15px
}

#banner {
    background: #fff;
    border-top: 2px solid #dcede6;
    padding: 20px 0
}

#banner .small .box-cell {
    background: #fff
}

#banner .small .box-cell .box {
    position: relative
}

#banner .small .box-cell figure {
    width: 40%;
    float: left
}

#banner .small .box-cell figure img {
    display: block;
    border: 0
}

#banner .small .box-cell .box-text-content {
    background: 0 0;
    width: auto;
    text-align: left;
    overflow: hidden;
    box-sizing: border-box;
    padding: 10px 20px;
    height: auto
}

#banner .side-content .small .box h1,
#banner .small .box h1 {
    font-size: 2.5em;
    padding: 5px 0 5px 0;
    font-weight: 600;
    color: #1c5d95
}

#banner .side-content .small .box h1 a,
#banner .small .box h1 a {
    color: #1c5d95
}

#banner .small .pul,
#stage #banner .small .pul {
    padding: 10px 0;
    margin: 0;
    text-align: left
}

#banner .small .categoria {
    padding: 0;
    font-size: 14px;
    color: #f39e66;
    text-align: left
}

#banner .small .pul a {
    background: #3d8d72
}

#banner .small .pul a:hover {
    background: #333;
    color: #fff
}

#banner .small .box {
    min-height: 0
}

.banner-small {
    padding: 20px;
    border-top: 0 solid #ccc;
    background: #fff
}

.banner-small ul {
    margin: 0 auto;
    max-width: 1200px;
    padding: 0;
    list-style: none;
    text-align: center;
    width: 100%
}

.banner-small ul li {
    display: inline-block;
    text-align: center;
    width: 22%;
    vertical-align: top
}

.banner-small ul li img {
    width: auto;
    height: 80px;
    border: 0
}

.banner-small ul li a {
    display: inline-block;
    vertical-align: top
}

.faq {
    overflow: hidden;
    margin-bottom: 2em
}

.faq * {
    box-sizing: border-box
}

.faq-list {
    width: 50%;
    margin-right: 0;
    border-right: 10px solid #fff;
    float: left;
    padding: 0 0 0 1em
}

.faq-list ul {
    text-align: center;
    text-transform: uppercase
}

.faq-list li {
    border-bottom: 2px solid #e9f0f4;
    position: relative
}

.faq-list li:last-child {
    border: 0
}

.faq-list li a.active::after {
    content: '\f105';
    content: '\f053';
    position: absolute;
    left: 0;
    height: 1em;
    line-height: 1em;
    margin-top: -.4em;
    top: 50%;
    font-family: FontAwesome;
    color: #999;
    font-size: 1.2em
}

.faq-list li a {
    display: block;
    font-weight: 600;
    font-size: 1.05em;
    padding: .5em 0;
    color: #0069b4
}

.faq-list li a.active,
.faq-list li a:hover {
    color: #333
}

.faq-answer {
    width: 50%;
    margin-left: 5%;
    margin-left: 0;
    border-left: 10px solid #fff;
    float: left;
    padding: 2.5em 0 2.5em 1em;
    text-align: center;
    background: #e9f0f4
}

.faq-answer h1 {
    margin: 0;
    padding: 0;
    text-transform: uppercase;
    color: #0069b4;
    font-size: 1.6em
}

.faq-answer p {
    margin: 0;
    padding: 0;
    color: #666;
    font-size: 1.1em
}

.faq-answer article.hidden {
    display: none
}

.faq-answer article.visible {
    display: block
}

.faq .pul {
    padding: 0;
    text-align: center;
    clear: both;
    height: auto
}

.faq .pul a {
    color: #fff;
    border: 0 solid #e1e1e1
}

.faq .pul a:hover {
    background: #333;
    color: #fff
}

#stage.internal #article .side-content .faq article,
#stage.internal #article .side-menu .faq article {
    padding: 30px 20px 20px 20px
}

#stage.internal #article .side-content .faq .box ul,
#stage.internal #article .side-menu .faq .box ul {
    margin: 0 0 20px 0;
    background: #fff;
    padding: 10px !important;
    border-bottom: 3px solid rgba(0, 0, 0, .15)
}

.faq .box li {
    font-family: Merriweather, serif;
    font-style: italic;
    text-align: left;
    padding: 5px;
    font-size: 1.1em
}

.faq .box li a {
    color: #333;
    position: relative;
    padding-left: 20px;
    display: inline-block
}

.faq .box li a::after {
    content: '\f059';
    font-style: normal;
    position: absolute;
    left: 0;
    height: 1em;
    line-height: 1em;
    top: 0;
    font-family: FontAwesome;
    color: #3d8d72;
    font-size: 1.2em
}

.mappa {
    background: #edf2f5;
    padding-bottom: 1.5em;
    background: #a7a8c1;
    background: -moz-linear-gradient(top, #a7a8c1 0, #cdcee3 55%);
    background: -webkit-linear-gradient(top, #a7a8c1 0, #cdcee3 55%);
    background: linear-gradient(to bottom, #a7a8c1 0, #cdcee3 55%)
}

.mappa iframe {
    width: 100%;
    height: 40em;
    display: block;
    pointer-events: none;
    position: relative
}

.mappa iframe.clicked {
    pointer-events: auto
}

#stage.home .mappa .box-cell.x70 {
    width: 70%;
    padding: 0
}

#stage.home .mappa .box-cell.x30 {
    width: 30%
}

#stage.home .mappa .box-cell.x50 {
    width: 50%;
    padding: 0
}

#stage.home .mappa .box-container {
    max-width: 1400px;
    margin-bottom: 0;
    padding-bottom: 0
}

#stage.home .mappa img {
    display: block;
    width: 100%
}

#stage.home .mappa #svgobject {
    display: block;
    width: 100%
}

#stage .mappa .box.text {
    text-align: left;
    padding-bottom: 3em
}

#stage .mappa .box.text .clearer {
    height: 3em
}

#stage .mappa .box.text h2 {
    color: #4f86ac;
    text-align: left;
    text-transform: uppercase;
    font-size: 1.3em;
    font-weight: 800;
    margin-top: 1em;
    margin-bottom: 5px
}

#stage.home .mappa .box-cell .box p {
    text-align: left;
    padding: 0;
    font-size: 1.1em;
    max-width: none;
    color: #333
}

#stage .mappa .box.text p i {
    color: #7d85af
}

#stage .mappa .box p a {
    color: #333
}

.blocco-mappa {
    width: 25%;
    float: left;
    box-sizing: border-box;
    padding-left: 20px
}

.blocco-mappa.legale {
    width: 100%;
    font-size: 1.1em;
    text-align: center
}

#stage .box.text .legale h2,
#stage .box.text .legale p,
#stage.home .mappa .box-cell .box .legale p {
    text-align: left
}

.videoWall {
    position: absolute;
    bottom: 0;
    right: 0;
    min-width: 100%;
    min-height: 100%;
    width: auto;
    height: auto;
    z-index: 100;
    overflow: hidden;
    object-fit: fill
}

.playIcon {
    width: 100px;
    margin: -45px 0 0 -50px;
    position: absolute;
    top: 30%;
    left: 50%;
    z-index: 200;
    text-align: center
}

.playIcon a {
    display: block;
    color: #fff;
    font-size: 11p;
    text-transform: uppercase;
    letter-spacing: .2px;
    text-decoration: none
}

.playIcon a img {
    width: 100%;
    height: 100%;
    border: 0
}

.path {
    background: #fff;
    margin-bottom: 0
}

.path ul {
    list-style: none;
    margin: 0;
    padding: 10px 0 10px 20px
}

.path ul li {
    display: inline-block;
    padding: 1em .5em;
    background: rgba(277, 277, 277, .2);
    font-size: 11px;
    text-transform: uppercase;
    color: #999;
    border-bottom: 3px solid #fff
}

.path ul li:hover {
    background: #fff
}

#stage.internal {
    background: #f3efe7;
    background: #fff;
    padding-bottom: 1.5em
}

#stage.internal .content {
    position: relative;
    z-index: 200;
    max-width: 1300px
}

#stage.internal .content.override {
    margin-top: -8em;
    background: #fff
}

.testata {
    height: 14.5em;
    background: #4f86ac;
    background: #e7e3db;
    background: #dbe6ec;
    background: 0 0;
    position: relative
}

.testata.big {
    height: 24.5em
}

.internal .testata.big {
    height: 24.5em
}

.testata.small {
    height: 20em
}

.internal .testata.small {
    height: 20em
}

.internal .landing .testata.big {
    height: 25em
}

.landing .testata.big::after,
.landing .testata.big::before {
    display: none
}

.popUp .testata {
    height: 15em
}

.home .testata.big {
    height: 55em
}

.home .testata.big::before {
    content: none
}

.testata.big::before {
    content: '';
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    z-index: 100;
    opacity: 1;
    background: -moz-linear-gradient(top, rgba(0, 0, 0, 0) 0, rgba(0, 0, 0, 0) 49%, rgba(0, 0, 0, .65) 100%);
    background: -webkit-linear-gradient(top, rgba(0, 0, 0, 0) 0, rgba(0, 0, 0, 0) 49%, rgba(0, 0, 0, .65) 100%);
    background: linear-gradient(to bottom, rgba(0, 0, 0, 0) 0, rgba(0, 0, 0, 0) 49%, rgba(0, 0, 0, .65) 100%)
}

.testata.big::after {
    content: '';
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    z-index: 100;
    opacity: .7;
    background: -moz-linear-gradient(top, rgba(0, 0, 0, .5) 0, rgba(0, 0, 0, 0) 29%, rgba(0, 0, 0, 0) 100%);
    background: -webkit-linear-gradient(top, rgba(0, 0, 0, .5) 0, rgba(0, 0, 0, 0) 29%, rgba(0, 0, 0, 0) 100%);
    background: linear-gradient(to bottom, rgba(0, 0, 0, .5) 0, rgba(0, 0, 0, 0) 29%, rgba(0, 0, 0, 0) 100%)
}

.testata .text-container {
    position: absolute;
    bottom: 20px;
    box-sizing: border-box;
    padding: 30px;
    height: auto;
    right: 20px;
    z-index: 101;
    width: 50%;
    min-width: 600px;
    max-width: 1000px;
    background: rgba(0, 0, 0, .5)
}

#stage .testata .text-container p {
    font-size: 1.2em;
    padding: 0;
    color: #ccc;
    font-weight: 100
}

#stage .testata .text-container h1 {
    font-size: 3em;
    font-weight: 600;
    padding: 5px 0
}

#stage .testata .text-container h1 a {
    color: #fff
}

.testata .text-container .pul {
    text-align: left
}

.testata .foto-fissa {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: #f5f3ea;
    background-repeat: no-repeat;
    background-position: 50% 50%;
    background-size: cover
}

.testata .title-testata {
    position: absolute;
    bottom: 4em;
    font-size: 2.3em;
    color: #fff;
    font-weight: 600;
    letter-spacing: .4px;
    box-sizing: border-box;
    z-index: 10;
    width: 100%;
    text-align: left
}

.testata .title-testata .content {
    padding-left: 50px
}

.testata.big.special::after,
.testata.big.special::before {
    display: none
}

.testata.big.special {
    display: none
}

.testata.big.special .text-container {
    background: 0 0;
    width: 100%;
    left: 0;
    right: 0;
    text-align: center;
    max-width: none;
    bottom: auto;
    top: 20%;
    height: 50%
}

.testata.big.special .text-container article {
    max-width: 800px;
    margin: 0 auto
}

#stage .testata.special .text-container article p {
    color: #333
}

#stage .testata.special .text-container h1 a {
    color: #333
}

.testata.special .text-container .pul {
    text-align: center
}

#article {
    background: #fff;
    background: 0 0;
    position: relative;
    z-index: 100;
    padding: 0 0 3em 0
}

.home #article {
    padding-left: 2em;
    padding-bottom: .65em
}

#article header {
    background: #fff;
    background: 0 0;
    position: relative;
    padding: 0 0 0 3em
}

#article .article-content header {
    padding-left: 0
}

#article article {
    overflow: hidden
}

#article.no-slider header {
    margin-top: 0
}

#article.no-slider {
    border-top: 3px solid #000
}

#article p a {
    color: #1b5d95;
    text-decoration: underline
}

#article p a.leggi {
    display: block;
    font-weight: 600
}

#article h1 {
    font-size: 3.1em;
    padding: .5em 0 0 0;
    color: #fff;
    overflow: hidden;
    text-transform: none;
    font-weight: 400
}

#article h1 span {
    display: inline-block;
    padding: 0 0;
    color: #3d8d72
}

#article h1 a {
    color: #999
}

#article .article-content header h1 {
    font-size: 1.9em;
    text-transform: none;
    font-weight: 600
}

#article h2 {
    text-align: left;
    font-size: 1.6em;
    padding: .5em 0 .5em 0;
    overflow: hidden;
    text-transform: none;
    font-weight: 400;
    color: #666
}

#article h3 {
    overflow: hidden
}

.internal #article header {
    padding: 0 0 1em 0;
    position: absolute;
    bottom: 8em;
    width: 100%;
    z-index: 200
}

.internal #article header h2 {
    color: #fff;
    font-size: 1.6em;
    text-transform: uppercase;
    padding-left: 50px
}

.internal #article header h1 {
    font-size: 5.6em;
    line-height: 1.1em;
    padding: .2em 0;
    padding-left: 50px
}

.internal #article header .categoria {
    margin-left: 50px;
    display: inline-block;
    background: #fff;
    padding: 5px 10px
}

.internal #article header .data {
    color: #9b9b9b;
    font-size: 1em;
    padding: .5em 0;
    clear: both
}

.internal #article header .place {
    font-size: 1.1em;
    clear: both
}

.internal #article header .day {
    position: relative;
    top: auto;
    left: auto;
    float: left;
    font-size: .95em;
    margin: 10px 20px 10px 0
}

.internal #article .pink header h1 {
    background: #d80076
}

.internal #article .pink header {
    padding-bottom: 0
}

.internal #article .pink header .categoria {
    margin-bottom: 10px
}

.internal #article .yellow header h1 {
    background: #fff;
    color: #333;
    padding-top: .5em;
    padding-bottom: 0
}

.internal #article .yellow header {
    padding-bottom: 0
}

.internal #article .yellow header .categoria {
    margin-bottom: 10px
}

#article h2 a {
    color: #333
}

#article h2.marca {
    padding: 1em 0;
    text-transform: none;
    font-size: 1em;
    color: #999
}

#article h2 .learn a,
.learn a {
    line-height: .8em;
    font-style: italic;
    margin-top: -.2em;
    color: #173d64;
    font-weight: 600;
    font-family: Merriweather, serif;
    font-size: .8em;
    display: inline-block;
    text-decoration: none
}

.learn {
    display: inline-block;
    border-bottom: 2px solid #173d64;
    margin-left: .2em
}

.box-prezzo {
    padding: 1em 0 2em 0
}

#article .box-prezzo h2 {
    font-size: 2em;
    color: #333;
    padding: 0
}

#article .box-prezzo h3 {
    font-size: .9em;
    color: #999;
    padding: 0 0 .5em 0
}

#article .box-prezzo h3 span {
    text-decoration: line-through
}

#article .box-prezzo h3 strong {
    color: #666;
    font-weight: 600
}

#stage #article .box-prezzo p {
    font-size: 1em;
    color: #666;
    padding: .2em 0
}

#stage #article .box-prezzo p .green {
    color: #090
}

.box-prezzo .pul {
    text-align: left
}

.box-prezzo .pul a {
    background: #0069b4;
    color: #fff
}

#stage .side-content .box-cell {
    width: 100%
}

#stage #article .side-content .box-cell .box img {
    max-height: 150px
}

.risultati-content {
    overflow: hidden;
    float: left;
    width: 65%;
    padding-top: 2em;
    padding-right: 20px;
    box-sizing: border-box;
    background: #fff
}

.article-content .risultati-content {
    width: 100%;
    padding-right: 0;
    padding-left: 50px;
    border-top: 3px dashed #f1f1f1;
    padding-top: 0;
    margin-top: 20px
}

.alert {
    padding: 20px
}

#stage .alert p {
    font-size: 1.5em;
    max-width: none;
    text-align: center
}

.side-content {
    margin-left: 0;
    box-sizing: border-box;
    float: right;
    padding: 0 0 1em 0;
    position: relative;
    z-index: 20
}

.internal .side-content {
    width: 35%;
    background: #fff;
    padding: 3em 20px 1em 0
}

#stage.internal #article .side-content .box,
.internal .side-content .box {
    text-align: center;
    background: 0 0
}

#stage.internal #article .side-content .box article {
    background: #f1f1f1
}

#stage.internal #article .side-content .box {
    min-height: 0
}

#stage #article .side-content.scala-sotto .box,
.side-content.scala-sotto .box {
    width: 100%;
    padding: 0;
    margin-top: 20px
}

.side-content.scala-sotto .box .title-section {
    /*max-width: 300px*/
}

#stage #article .side-content.scala-sotto .faq .box,
.side-content.scala-sotto .faq .box {
    height: auto
}

.side-content.scala-sotto .faq {
    font-size: 1.1em
}

#stage.internal #article .side-content.scala-sotto {
    width: 100%;
    box-sizing: border-box
}

#stage.internal #article .side-content.scala-sotto .faq .box ul {
    padding: 0 !important
}

#stage.internal #article .side-content.scala-sotto .faq .box li {
    padding: 10px
}

#stage.internal #article .side-content.scala-sotto .faq article {
    padding: 30px 20px 20px 20px
}

#stage.internal #article .side-content .box .day {
    position: absolute;
    top: 30px;
    right: 20px;
    background: #fff601;
    background: 0 0;
    width: auto
}

#stage.internal #article .side-content .box time {
    display: inline-block;
    float: left;
    width: 5.5em;
    background: #fff;
    position: relative
}

#stage.internal #article .side-content .box time:nth-child(2):before {
    content: '\f054';
    color: #333;
    display: block;
    font-size: 1.5em;
    font-family: FontAwesome;
    position: absolute;
    top: 40%;
    left: -.2em
}

#stage.internal #article .side-content .box .day .number {
    color: #333
}

#stage.internal #article .side-content .box .day .month {
    color: #333
}

#stage.internal #article .side-content .box .day .year {
    color: #333
}

#stage.internal #article .side-content li .box .day {
    position: relative;
    top: auto;
    right: auto;
    background: #53ae8d;
    background: 0 0;
    width: auto
}

#stage.internal #article .side-content li .box time {
    display: inline-block;
    float: left;
    width: 5.5em;
    background: #53ae8d;
    position: relative
}

#stage.internal #article .side-content li .box time:nth-child(2):before {
    content: '\f054';
    color: #333;
    display: block;
    font-size: 1.5em;
    font-family: FontAwesome;
    position: absolute;
    top: 40%;
    left: -.2em
}

#stage.internal #article .side-content li .box .day .number {
    color: #fff
}

#stage.internal #article .side-content li .box .day .month {
    color: #fff
}

#stage.internal #article .side-content li .box .day .year {
    color: #fff
}

#stage.internal #article .side-content .box .place:before,
#stage.internal #article .side-content li .box .place:before {
    position: relative;
    top: auto;
    left: auto;
    display: inline-block;
    vertical-align: middle;
    margin-right: 5px
}

#article .side-content .numeri {
    background: 0 0
}

#article .side-content .numeri p {
    background: 0 0;
    font-size: 1.25em
}

#article .side-content .numeri figure {
    background: #f1f1f1
}

.internal #news .box-cell {
    background: #fff;
    vertical-align: top
}

#stage.internal #article .side-content .box article,
.internal #news .box article {
    background: #f1f1f1
}

.internal #news .box-cell.double .box article {
    background: #fff601
}

.internal #news .small .box-cell .box article {
    background: #fff
}

.numeri .box .title-section {
    color: #fff
}

.side-content .mappa {
    padding-bottom: 0
}

.side-content .mappa img {
    width: 100%
}

.side-content .mappa iframe {
    height: 30em
}

.side-menu {
    width: 30%;
    margin-right: 0;
    box-sizing: border-box;
    float: left;
    padding: 2em 20px 1em 50px;
    position: relative;
    z-index: 20;
    background: #fff
}

.risultati-content .side-menu {
    width: 100%;
    float: none;
    padding: 0 1em
}

.article-content .risultati-content .side-menu {
    padding: 0
}

.side-menu form {
    margin: 0;
    padding: 0 20px 10px 0;
    overflow: hidden
}

.side-menu form label {
    padding: 0 10px 10px 0;
    display: block;
    overflow: hidden;
    box-sizing: border-box;
    color: #666
}

.side-menu form .pul a {
    background: #3d8d72;
    color: #fff
}

.side-menu form .pul a:hover {
    background: #333;
    color: #fff
}

.subscribe {
    background: #fff8e2;
    border-radius: 10px;
    box-sizing: border-box;
    margin: 20px 20px 0 0;
    padding: 20px 10px;
    cursor: pointer
}

.side-content .subscribe {
    margin: 20px 0
}

#stage .side-menu .subscribe img,
.subscribe img {
    max-width: 100px;
    margin: 0 auto;
    display: block
}

#article .side-menu .subscribe h2,
#article .subscribe h2,
#stage #article .article-content .side-menu .subscribe h2,
.side-menu .subscribe h2 {
    text-transform: none;
    color: #3d8d72;
    font-weight: 600;
    text-align: center;
    letter-spacing: normal;
    font-size: 20px;
    font-family: 'Roboto Slab', serif;
    width: 100%
}

#article .side-menu .subscribe h2 a,
#article .subscribe h2 a,
#stage #article .article-content .side-menu .subscribe h2 a,
.side-menu .subscribe h2 a {
    text-transform: none;
    color: #3d8d72;
    font-weight: 600;
    text-align: center;
    letter-spacing: normal;
    font-size: 20px;
    font-family: 'Roboto Slab', serif;
    width: 100%
}

#stage .side-content .subscribe p,
#stage .side-menu .subscribe p {
    text-align: center
}

.blocco {
    display: block;
    box-sizing: border-box;
    padding: 10px 20px;
    margin: 5px 0;
    overflow: hidden
}

.blocco .label {
    height: 24px;
    line-height: 24px;
    font-size: 1em;
    display: inline-block;
    vertical-align: top;
    color: #333
}

.side-menu .blocco {
    border-top: 0 solid #f1f1f1;
    border-bottom: 0 solid #f1f1f1;
    padding: 0;
    margin: 0 0 1em 0;
    float: left;
    box-sizing: border-box
}

.side-menu .combo {
    background-color: #f1f1f1
}

.side-foto {
    float: left;
    width: 35%;
    position: relative
}

.side-foto .foto-prodotto {
    width: 100%;
    height: 200px
}

.side-foto .foto-prodotto .discount {
    right: 0;
    top: 1em
}

#stage.internal #article .side-content li .box {
    background: #fff
}

#stage.internal #article .side-content li .box article {
    background: #fff;
    text-align: left
}

.article-content {
    overflow: hidden;
    float: left;
    width: 65%;
    background: #fff;
    padding: 3em 20px 0 0;
    box-sizing: border-box;
    position: relative
}

.article-content-pubblicita {
    overflow: hidden;
    float: left;
    width: 100%;
    background: #fff;
    padding: 3em 20px 0 0;
    box-sizing: border-box;
    position: relative
}

.article-content.x100 {
    width: 100%
}

.article-content ul {
    margin: 0 0 .5em 0;
    padding-left: 50px;
    overflow: hidden;
    list-style: disc;
    list-style-position: outside
}

.article-content ol {
    margin: 0 0 .5em 0;
    padding-left: 50px;
    overflow: hidden;
    list-style: decimal;
    list-style-position: outside
}

.article-content li {
    font-size: 16px;
    line-height: 1.6em;
    text-align: left;
    padding: 0 0 .4em .2em;
    color: #4b4b4b;
    margin-left: 1.2em
}

#stage #article .article-content h1 {
    padding: 0 20px 20px 50px;
    color: #1c5d95;
    font-weight: 600;
    line-height: 1.1em;
    font-size: 3.5em
}

#stage #article .article-content h2 {
    padding: .5em 20px 0 50px;
    color: #333;
    font-size: 1.8em;
    font-weight: 600
}

.landing #stage #article .article-content h2 {
    font-size: 2.5em;
    padding-top: 0
}

#stage #article .article-content h3 {
    padding: .5em 20px 0 50px;
    color: #d80076;
    color: grey;
    font-size: 1.5em;
    font-weight: 600;
    font-family: Montserrat, sans-serif
}

#stage #article .article-content p {
    text-align: left;
    padding: 0 0 .5em 0;
    overflow: hidden;
    max-width: none;
    position: relative;
    font-size: 16px;
    line-height: 1.6em;
    padding: .5em 20px .5em 50px;
    color: #4b4b4b
}

#stage #article .article-content .note p {
    font-size: 15px
}

#stage #article .article-content p.sottotitolo {
    font-size: 2.2em;
    line-height: 1.1em;
    font-weight: 100;
    padding-top: 0;
    color: #0e9ee4
}

#stage #article .article-content p img {
    max-width: 100%;
    height: auto !important
}

#article .article-content blockquote {
    display: inline-block;
    clear: both;
    margin: 1em 2em 0 0;
    position: relative;
    color: #676767;
    font-style: italic;
    border-right: 0 solid #666;
    font-weight: 100;
    font-family: Merriweather, serif;
    font-size: 1.5em;
    line-height: 1.5em;
    padding: 0 20px 1em 50px;
    background: -moz-radial-gradient(center, ellipse cover, rgba(255, 255, 255, .08) 0, rgba(255, 255, 255, .08) 1%, rgba(255, 255, 255, 0) 66%);
    background: -webkit-radial-gradient(center, ellipse cover, rgba(255, 255, 255, .08) 0, rgba(255, 255, 255, .08) 1%, rgba(255, 255, 255, 0) 66%);
    background: radial-gradient(ellipse at center, rgba(255, 255, 255, .08) 0, rgba(255, 255, 255, .08) 1%, rgba(255, 255, 255, 0) 66%)
}

#article .article-content blockquote:after {
    content: '\f10d';
    font-style: normal;
    font-size: 30px;
    font-family: FontAwesome;
    position: absolute;
    left: 5px;
    top: 0;
    display: inline-block;
    color: #53ae8d
}

#article .article-content blockquote:before {
    content: '\f10e';
    font-style: normal;
    font-size: 20px;
    font-family: FontAwesome;
    float: right;
    display: inline-block;
    color: #53ae8d;
    margin-left: 20px
}

#article .article-content blockquote footer {
    display: block;
    padding: 10px 0;
    font-size: 14px;
    font-family: Montserrat, sans-serif;
    line-height: 1.3em;
    color: #333;
    font-style: normal
}

#article .article-content audio {
    display: block;
    width: 100%;
    max-width: 600px
}

#article .article-content .audio {
    position: relative;
    font-size: 1.5em;
    line-height: 1.5em;
    margin: 1.5em 0;
    padding: 0 20px 0 50px
}

#article .article-content .audio:before {
    content: '\f028';
    font-style: normal;
    font-size: 30px;
    font-family: FontAwesome;
    position: absolute;
    left: 5px;
    top: .1em;
    display: inline-block;
    color: #53ae8d
}

#article .article-content .audio footer {
    display: block;
    padding: 10px 0;
    font-size: 16px;
    color: #999;
    font-style: normal
}

#article .article-content .staff {
    position: relative;
    padding: 3em 0 0 20px
}

#stage #article .article-content .staff p {
    font-size: 1.1em;
    padding-left: 20px
}

#stage #article .article-content .staff img {
    max-width: 20%;
    min-width: 200px;
    float: left;
    margin-left: 20px
}

#stage #article .article-content .staff h2 {
    padding-top: 0;
    padding-left: 20px
}

#stage #article .article-content .staff h3 {
    padding-top: 0;
    padding-left: 20px;
    font-size: 1.2em
}

.box-adv {
    background: #f9f4ea url("elementi/bg-box-adv.png") no-repeat;
    padding: 10px 15px 20px 130px;
    font-family: 'Roboto Slab', serif;
    margin: 20px 0 20px 50px
}

.box-novita {
    background: #fff url("elementi/bg-box-novita.png") no-repeat;
    padding: 10px 15px 10px 130px;
    font-family: 'Roboto Slab', serif;
    margin: 20px 15px 20px 15px
}

#stage #article .article-content .box-adv p,
#stage #article .article-content .box-novita p {
    padding-left: 0;
    font-size: 18px
}

#article .article-content .regioni {
    position: relative;
    padding: 1em 0 0 20px;
    margin: 20px 0 0 50px;
    overflow: hidden;
    background: #e5f3ee
}

#stage #article .article-content .regioni img {
    max-width: 20%;
    min-width: 200px;
    float: left;
    margin-left: 20px
}

#stage #article .article-content .regioni h3 {
    padding: 0 0 .6em 0;
    color: #3fb18a;
    padding-left: 0;
    font-size: 1em;
    text-transform: uppercase;
    letter-spacing: .5px
}

#stage #article .article-content .regioni ul {
    margin-left: 0;
    float: left;
    width: 43%
}

#article .article-content .timeline {
    position: relative
}

#article .article-content .timeline:before {
    content: '';
    position: absolute;
    left: 17px;
    top: .3em;
    bottom: 0;
    width: 1px;
    background: #fff;
    display: block;
    border-left: 3px dotted #53ae8d;
    opacity: .5
}

#stage #article .article-content .timeline h2 {
    position: relative;
    padding-top: 0;
    margin-top: .5em;
    color: #53ae8d;
    font-size: 3em
}

#article .article-content .timeline h2:before {
    content: '\f111';
    font-style: normal;
    font-size: 30px;
    font-family: FontAwesome;
    position: absolute;
    left: 5px;
    top: .3em;
    display: inline-block;
    color: #53ae8d
}

.timeline .gallery {
    margin-top: 0
}

.timeline .gallery li {
    width: 80px
}

.article-content .preview {
    position: relative;
    margin: 1em auto;
    width: 100%;
    padding: .5em 20px .5em 50px;
    box-sizing: border-box;
    clear: both
}

.article-content .preview iframe {
    with: 100%;
    height: 66%;
    display: block
}

.article-content .video-box,
.video-box {
    position: relative;
    margin: 1em auto;
    width: 100%;
    padding: .5em 20px .5em 50px;
    box-sizing: border-box;
    clear: both
}

.article-content .dida,
.gallery .dida,
.video-box .dida {
    display: block;
    padding: 15px 0 10px 0;
    font-size: 14px;
    line-height: 1.4em;
    color: #999;
    font-family: Montserrat, sans-serif;
    font-style: normal
}

.article-content .video-box .dida {
    max-width: 600px;
    max-width: none
}

.article-video {
    position: relative;
    max-width: 900px;
    margin: 0 auto
}

.article-video iframe {
    with: 100%;
    height: 66%;
    display: block
}

.article-video video {
    with: 100%;
    height: 50%;
    display: block
}

.article-content figure {
    overflow: hidden;
    position: relative;
    padding: 0 30px .5em 50px;
    margin: .5em auto .5em auto;
    box-sizing: border-box
}

.article-content figure img {
    width: 100%;
    box-sizing: border-box;
    max-width: 100%;
    max-height: 800px;
    margin: 0 auto;
    border: 0;
    display: block
}

.article-content figcaption {
    display: block;
    padding: 15px 0 10px 0;
    font-size: 14px;
    line-height: 1.4em;
    color: #999;
    font-family: Montserrat, sans-serif;
    font-style: normal
}

.article-content figure.x30,
.article-content figure.x50,
.article-content figure.x60,
.article-content figure.x70 {
    float: left;
    padding-right: 0
}

#stage.internal #article .article-content .day {
    position: absolute;
    top: 30px;
    right: 20px;
    background: #fff601;
    background: 0 0;
    width: auto;
    padding: 40px
}

#stage.internal #article .article-content time {
    display: inline-block;
    float: left;
    width: 5.5em;
    background: #fff;
    position: relative
}

#stage.internal #article .article-content time:nth-child(2):before {
    content: '\f054';
    color: #333;
    display: block;
    font-size: 1.5em;
    font-family: FontAwesome;
    position: absolute;
    top: 40%;
    left: -.2em
}

#stage.internal #article .article-content .day .number {
    color: #333
}

#stage.internal #article .article-content .day .month {
    color: #333
}

#stage.internal #article .article-content .day .year {
    color: #333
}

.box-features {
    padding: 20px 0 0 0;
    margin: 10px 0 0 0
}

.box-features .pul a {
    background: #eb8c28;
    color: #333
}

.box-features .pul a:hover {
    background: #333;
    color: #fff
}

body.popUp {
    background: #fff
}

.popUp #container {
    min-height: 100vh;
    padding-top: 0;
    background: #fff
}

.popUp #stage #article .article-content p {
    font-size: 1.2em
}

.popUp #stage #article .article-content h1 {
    font-size: 2em;
    padding: 0 0 20px 50px
}

.gallery h1 {
    text-align: center;
    font-size: 1.1em;
    padding: .5em 10px .5em 10px;
    overflow: hidden;
    text-transform: uppercase;
    font-weight: 100
}

.gallery {
    width: 100%;
    margin: 20px 0 20px 0;
    padding: 0 10px 0 50px;
    box-sizing: border-box
}

.gallery ul {
    padding: 1em 0;
    margin: 0;
    list-style: none;
    text-align: left !important
}

.gallery li {
    width: 140px;
    padding: 0;
    height: auto;
    text-align: center !important;
    display: inline-block;
    vertical-align: middle;
    box-sizing: border-box;
    border: 0 solid #fff;
    margin: 0 5px 8px 0
}

.gallery li a {
    display: block;
    padding: 0 2px;
    vertical-align: middle;
    position: relative;
    -webkit-transition: all .1s ease-in-out;
    -moz-transition: all .1s ease-in-out;
    -o-transition: all .1s ease-in-out;
    -ms-transition: all .1s ease-in-out;
    transition: all .1s ease-out
}

.gallery li a:hover {
    margin-top: 0;
    box-shadow: 0 0 5px rgba(0, 0, 0, .1)
}

.gallery li img {
    max-width: 200px;
    width: 100%;
    /*max-height: 150px;*/
    border: 0;
    display: block;
    border: 0 solid #fff
}

.gallery li a:before {
    content: '';
    display: block;
    background: #093;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 3;
    margin: 0
}

#stage #article .side-content .box {
    display: block;
    border: 0;
    background: #fff;
    padding: 0;
    width: 100%;
    height: auto
}

#stage #article .side-content .box.text img {
    width: 100%
}

#stage #article .side-content .box.text a {
    color: #000
}

#stage #article .side-content .box.text a:hover {
    color: #999
}

#stage #article .side-content .box p {
    color: #333;
    font-size: 1.1em
}

#stage #article .side-content .box.gallery .foto-container li {
    width: 33.3%
}

.tag-list {
    text-align: center;
    padding-top: 1em
}

.tag {
    display: inline-block;
    background: #f1f1f1;
    margin-bottom: 3px;
    margin-right: 1px;
    font-size: 1.2em
}

.tag a {
    display: block;
    border-radius: 2px;
    padding: 2px 5px
}

.tag a:hover {
    background: #000;
    color: #fff
}

.tag.active a {
    background: #000
}

.tag.active a {
    color: #fff !important
}

#stage #article .box-list {
    text-align: center
}

#stage #article .box {
    height: 18em;
    background: #fff;
    width: 25%;
    box-sizing: border-box;
    border: 0;
    display: inline-block
}

#stage.home #article .box {
    background: 0 0
}

#stage #article .box .foto-container {
    width: 100%
}

#stage #article .article-content iframe {
    width: 100%;
    height: 36em
}

#stage #article .article-content video {
    width: 100%
}

#stage #article .box-container.data-box {
    margin-top: 0;
    margin-bottom: 0
}

#stage #article .data-box .box {
    height: 16em;
    border: 2px solid #fff;
    background: #f1f1f1;
    width: 50%;
    float: left;
    box-sizing: border-box;
    display: inline-block;
    text-align: center
}

#stage #article .article-content .data-box .box h1 {
    padding: 5px;
    font-size: 2.8em;
    margin: 0
}

#stage #article .article-content .data-box .box h1.number {
    font-size: 1.5em
}

#stage #article .article-content .data-box .box p {
    padding: 5px 10px;
    margin: 0;
    font-size: 15px;
    text-align: inherit
}

#stage #article .article-content .data-box .box .icona {
    text-shadow: none;
    color: #a7b9c3;
    font-size: 3.2em;
    margin-top: 5px
}

#stage #article .article-content .data-box .box .icona i {
    margin: 0 2px
}

#stage #article .article-content .qrcode {
    display: inline-block;
    width: 200px
}

#stage #article .article-content .qrcode img {
    width: 100%;
    display: block
}

.occhiello {
    position: absolute;
    z-index: 300;
    width: 100%
}

.balloon {
    position: absolute;
    right: 1em;
    top: 2em;
    background: #fff;
    background: rgba(255, 255, 255, .3);
    border-bottom: 2px solid #fff;
    max-width: 30%;
    display: inline-block;
    box-sizing: border-box;
    padding: 1.5em;
    font-family: 'PT Serif', serif;
    display: none
}

.balloon p {
    color: #fff;
    text-shadow: 1px 1px 1px #000;
    font-size: 1.7em;
    font-style: italic;
    text-align: right
}

#stage .side-content .box {
    height: auto;
    margin-bottom: 20px
}

.lista-tabella li {
    overflow: hidden;
    border-bottom: 1px solid #f1f1f1;
    padding-top: 10px
}

.box-feedback {
    padding-bottom: 1em
}

.box-feedback .rat {
    float: left;
    padding: 20px
}

.box-feedback .user {
    font-size: 13px;
    color: #666;
    padding: 10px 0 0 0;
    overflow: hidden
}

.box-feedback .user strong {
    color: #333
}

.box-feedback h1 {
    font-size: 1.2em;
    padding: .2em 0;
    overflow: hidden
}

#stage .box-feedback .data {
    padding: 0 20px 0 10px;
    float: right;
    font-size: .85em;
    color: #666;
    text-align: left;
    max-width: none
}

.rat img {
    width: 20px
}

#stage .side-menu img {
    max-width: 150px;
    margin: 10px auto;
    border: 0;
    display: block
}

#stage .side-menu p {
    padding: 5px 20px;
    font-size: 1em;
    max-width: none
}

.box-feedback .foto-prodotto {
    float: left;
    padding: 20px;
    display: block;
    width: auto;
    padding: 0
}

.box-feedback .foto-prodotto figure {
    width: 100px;
    display: block
}

.box-feedback .foto-prodotto img {
    height: 60px
}

#map {
    width: 100%;
    height: 55em;
    background: #ccc;
    z-index: 100;
    margin-bottom: 20px
}

.legenda-mappa {
    padding: 5px;
    text-align: right
}

.cart .risultati-content {
    width: 65%
}

.cart .lista-tabella li {
    padding-right: 10px
}

.cart .lista-tabella .blocco {
    float: right
}

.cart .box-feedback h1 {
    font-size: 15px
}

.cart .lista-tabella .pul-elimina {
    float: left;
    padding: 10px 0 10px 10px
}

.cart .lista-tabella .pul-elimina a {
    display: inline-block;
    padding: 10px;
    color: #f30;
    font-size: 30px
}

.table-cart {
    width: 100%;
    margin: 10px 0;
    background: #f1f1f1;
    background: #e9f8ff
}

.table-cart td {
    padding: 15px 10px;
    text-transform: uppercase;
    font-size: .9em;
    color: #666
}

.table-cart tr:last-child td {
    border-top: 1px dotted #e1e1e1
}

.table-cart td strong {
    color: #333
}

.table-cart td .info {
    font-size: 11px;
    color: #666;
    display: block;
    text-transform: none
}

.table-cart td.price {
    text-align: right;
    text-transform: none
}

.cart .side-content h2 {
    padding: 0 10px;
    text-align: center;
    color: #5fbae4
}

.cart .side-content .blocco {
    padding: 5px
}

.cart .side-content .blocco input {
    margin-top: 5px
}

#stage .cart .intro-text p {
    padding: 11px;
    font-size: 14px;
    color: #666;
    text-align: center
}

.cart .side-content .pul {
    padding: 0
}

#stage .cart p {
    max-width: none;
    padding: 0 20px .5em 20px;
    font-size: 1.1em
}

.box-address {
    background: #fbfbe7;
    border: 20px solid #fff
}

.cart .box-address h3 {
    padding: .5em 0 5px 0;
    margin: 0 20px 0 20px;
    font-size: 1.2em;
    font-weight: 600
}

.risultati-content form {
    overflow: hidden
}

.risultati-content form .blocco {
    float: left;
    padding: 0;
    margin: 0
}

.cart .risultati-content .blocco input,
.cart .risultati-content .blocco select {
    margin-top: 5px
}

.risultati-content form {
    overflow: hidden;
    padding: 0 20px 20px 0;
    border-bottom: 1px solid #f1f1f1
}

.article-content .risultati-content form {
    padding: 0 0 20px 0
}

.risultati-content form .pul-procedi {
    clear: both;
    padding: 20px 20px 20px 0
}

.risultati-content form .blocco .pul {
    padding: 2.5em 0 0 0
}

.pul-procedi {
    text-align: center;
    padding-bottom: 20px
}

.pul-procedi a {
    text-shadow: none;
    color: #fff;
    padding: 10px 15px;
    border-radius: 3px;
    letter-spacing: .4px;
    text-align: center;
    display: inline-block;
    background: #3c6;
    border: 1px solid rgba(0, 0, 0, .07);
    border-bottom: 2px solid rgba(0, 0, 0, .07);
    text-decoration: none;
    font-size: 1em;
    font-size: 12px;
    text-transform: uppercase;
    font-weight: 400
}

.pul-procedi a:hover {
    color: #fff;
    background: rgba(0, 0, 0, .7)
}

.intro-text {
    padding: 10px 20px 20px 20px
}

.side-menu .intro-text {
    padding: 0
}

.intro-text h1 {
    margin: 0 0 10px 0;
    padding: 0;
    font-weight: 100;
    font-size: 1.6em
}

#stage .intro-text p {
    text-align: left;
    font-size: 1.1em;
    max-width: none
}

#stage .box-feedback .prezzo {
    overflow: hidden;
    padding: 0 20px 0 0;
    margin-top: .2em;
    font-size: 17px;
    color: #333;
    text-align: left;
    max-width: none
}

#stage .box-feedback .prezzo span {
    font-size: .7em;
    color: #999;
    text-decoration: line-through
}

.box-search .blocco {
    font-size: 1.2em
}

input.input-text {
    width: 100%
}

.risultati-content .box-search h2 {
    font-size: 1.1em;
    border-bottom: 0;
    clear: both
}

.box-search .pul {
    text-align: left;
    padding: 15px 20px
}

.box-search .pul a {
    display: inline-block;
    padding: 10px 15px;
    letter-spacing: .4px;
    font-weight: 100;
    text-transform: uppercase;
    color: #fff;
    background: #fff;
    background: #67a6d3;
    border: 0;
    border-bottom: 3px solid rgba(0, 0, 0, .05);
    border-radius: 5px;
    font-size: 12px
}

.box-search .pul a:hover {
    color: #fff;
    text-decoration: none;
    background: #333
}

.box-search .blocco label img {
    display: block;
    clear: both;
    width: auto;
    max-width: 100%
}

.box-search input[type=radio]:not(old) + label {
    text-align: center
}

.risultati-content .blocco label img {
    display: block;
    clear: both;
    width: auto;
    max-width: 100%
}

.risultati-content input[type=radio]:not(old) + label {
    text-align: center
}

.testata-offerta {
    position: relative;
    z-index: 1;
    overflow: hidden;
    height: 20em
}

.testata-offerta .foto-fissa {
    position: absolute;
    top: 0;
    z-index: -1;
    left: 0;
    width: 60%;
    height: 100%;
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center center;
    right: 0;
    left: auto
}

.testata-offerta .foto-fissa::before {
    content: '';
    position: absolute;
    width: 100%;
    height: 100%;
    background: #fff;
    background: rgba(277, 277, 277, 0);
    background: -moz-linear-gradient(left, #fff 0, rgba(277, 277, 277, 0) 100%);
    background: -webkit-gradient(left top, right top, color-stop(0, #fff), color-stop(100%, rgba(277, 277, 277, 0)));
    background: -webkit-linear-gradient(left, #fff 0, rgba(277, 277, 277, 0) 100%);
    background: -o-linear-gradient(left, #fff 0, rgba(277, 277, 277, 0) 100%);
    background: -ms-linear-gradient(left, #fff 0, rgba(277, 277, 277, 0) 100%);
    background: linear-gradient(to right, #fff 0, rgba(277, 277, 277, 0) 100%)
}

.testata-offerta .testo-offerta {
    height: 20em;
    display: table;
    width: 60%;
    box-sizing: border-box
}

.testata-offerta h1 {
    display: table-cell;
    vertical-align: middle;
    padding-right: 10%;
    font-size: 2.2em;
    text-align: center
}

.testata-offerta .foto-prodotto {
    height: 20em;
    width: 40%;
    display: table;
    opacity: 1;
    margin-top: 0;
    float: left
}

.testata-offerta .foto-prodotto figure {
    width: 100%;
    height: 20em;
    text-align: center;
    padding: 0;
    box-sizing: border-box;
    display: table-cell;
    vertical-align: middle
}

.testata-offerta .foto-prodotto figure img {
    max-height: 100%;
    max-width: 100%
}

.box-prodotto p.data {
    text-transform: uppercase;
    font-size: 13px;
    font-weight: 600
}

#search-list .testata-offerta span.scadenza {
    font-size: .6em;
    display: block
}

#search-list .lista-prodotti.offerte li {
    width: 33.3%
}

#search-list {
    background: #fff;
    overflow: hidden;
    box-sizing: border-box;
    padding-right: 0
}

#article .side-menu h2,
#stage #article .article-content .side-menu h2,
.side-menu h2 {
    font-size: 1em;
    font-weight: 600;
    color: #666;
    text-transform: uppercase;
    margin: 20px 0 5px 0;
    font-family: Montserrat, sans-serif;
    padding: 0;
    letter-spacing: .4px;
    overflow: hidden;
    border: 0;
    clear: both
}

.side-menu ul {
    padding: 10px 10px 10px 0
}

.side-menu li {
    padding: 5px 10px;
    margin-bottom: 1px;
    font-size: 1.3em;
    color: #999;
    border-left: 2px solid #f1f1f1
}

.side-menu li a {
    display: inline;
    color: #333
}

.side-menu li a:hover {
    color: #1b5d95
}

.side-menu li ul {
    padding: 5px 0 10px 0
}

.side-menu li ul li {
    font-size: .9em;
    padding-left: 5px
}

.side-menu li.active {
    border-left: 2px solid #1b5d95
}

.side-menu li.active a {
    color: #1b5d95
}

.side-menu li a i,
.side-menu li.active a i {
    color: #40aadc
}

.side-menu li a span {
    display: inline-block;
    width: 22px;
    height: 22px;
    line-height: 22px;
    background: #37bf91;
    color: #fff;
    text-align: center;
    border-radius: 50%;
    font-size: 10px;
    font-weight: 700;
    vertical-align: top
}

.side-menu.faq li {
    font-family: Merriweather, serif;
    font-style: italic;
    text-align: left;
    padding: 5px 5px 5px 0;
    font-size: 1.2em;
    position: relative
}

.side-menu.faq li a {
    color: #333;
    position: relative;
    padding-left: 20px;
    display: inline-block
}

.side-menu.faq li a::after {
    content: '\f059';
    font-style: normal;
    position: absolute;
    left: 0;
    height: 1em;
    line-height: 1em;
    top: 0;
    font-family: FontAwesome;
    color: #1c5d95;
    font-size: 1.2em
}

.side-menu.faq li.active {
    border-left: 0 solid #1c5d95;
    font-weight: 800
}

#search-list .lista-prodotti li {
    width: 25%
}

#search-list .lista-prodotti.list li {
    width: 100%
}

#search-list .lista-prodotti li:nth-child(4n+1) {
    clear: both
}

#search-list .lista-prodotti.list li .box .box-text-content,
#stage #article .article-content .lista-prodotti.list li .box .box-text-content,
#stage .lista-prodotti.list li .box .box-text-content {
    padding: 0 20px 10px 20px;
    overflow: hidden
}

#stage #article .lista-prodotti .box {
    display: block;
    padding-bottom: 0
}

#stage #article .lista-prodotti .box .categoria {
    max-width: none
}

#search-list .lista-prodotti.list li .box.events .box-text-content {
    padding: 0 20px 0 20px
}

#article .lista-prodotti.list li .box figure,
#search-list .lista-prodotti.list li .box figure {
    width: 30%;
    float: left;
    z-index: 2;
    position: relative;
    padding: 0;
    margin: 0
}

#article .lista-prodotti.list li .box h1,
#search-list .lista-prodotti.list li .box h1,
#stage #article .article-content .lista-prodotti.list li .box h1 {
    text-align: left;
    padding: 0;
    font-size: 1.8em;
    font-weight: 600
}

#article .lista-prodotti.list li .box h1 a,
#search-list .lista-prodotti.list li .box h1 a,
#stage #article .article-content .lista-prodotti.list li .box h1 a {
    color: #333
}

#article .lista-prodotti.list li .box .categoria,
#search-list .lista-prodotti.list li .box .categoria,
#stage #article .article-content .lista-prodotti.list li .box .categoria {
    padding: 10px 0 0 0;
    text-align: left
}

#article .lista-prodotti.list li .box p,
#search-list .lista-prodotti.list li .box p,
#stage #article .article-content .lista-prodotti.list li .box p {
    text-align: left;
    max-width: 800px;
    margin: 0;
    padding: .5em 0;
    font-size: 1.1em;
    font-weight: 100;
    color: #555
}

#article .lista-prodotti.list li .box p.prezzo,
#search-list .lista-prodotti.list li .box p.prezzo,
#stage #article .article-content .lista-prodotti.list li .box p.prezzo {
    text-align: right;
    max-width: 300px;
    float: right;
    margin: 0;
    padding: 0 0;
    font-size: 2em;
    font-weight: 800;
    color: #555
}

#article .lista-prodotti.list li .box figure .day,
#stage #article .article-content .lista-prodotti.list li .box figure .day {
    position: absolute;
    top: 10px;
    left: 10px;
    background: #fff601;
    background: 0 0;
    width: auto;
    font-size: .8em;
    padding: 0
}

#stage #article .article-content .lista-prodotti.list li .box time {
    display: inline-block;
    float: left;
    width: 5.5em;
    background: #fff601;
    position: relative
}

#stage #article .article-content .lista-prodotti.list li .box time:nth-child(2):before {
    content: '\f054';
    color: #333;
    display: block;
    font-size: 1.5em;
    font-family: FontAwesome;
    position: absolute;
    top: 40%;
    left: -.2em
}

#stage #article .article-content .lista-prodotti.list li .box .day .number {
    color: #333
}

#stage #article .article-content .lista-prodotti.list li .box .day .month {
    color: #333
}

#stage #article .article-content .lista-prodotti.list li .box .day .year {
    color: #333;
    opacity: 1
}

#search-list .lista-prodotti .foto-prodotto figure {
    padding: 5px
}

#stage #article .article-content .risultati-content h2,
.risultati-content h2 {
    font-size: 1.5em;
    font-weight: 100;
    margin: 0;
    overflow: hidden;
    padding: 10px 20px;
    border-top: 1px solid #f1f1f1;
    border-bottom: 1px solid #f1f1f1;
    color: #666;
    font-family: Montserrat, sans-serif
}

.risultati-content h2 span {
    color: #333;
    font-weight: 200
}

.risultati-content h2 span.number {
    float: right;
    text-transform: uppercase;
    font-size: 13px;
    line-height: 2em
}

.risultati-content h2 span.totalone {
    float: left;
    text-transform: uppercase;
    font-size: 13px;
    line-height: 2em
}

.risultati-content h3 {
    padding: 10px 20px;
    margin: .8em 0 0 0;
    font-weight: 600;
    font-size: 1em;
    overflow: hidden
}

.videoWrapper {
    position: relative;
    padding-bottom: 56.25%;
    padding-top: 25px;
    height: 0
}

.videoWrapper iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%
}

.videoWrapper video {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%
}

.calendar {
    position: relative;
    padding: 0 20px
}

#box-calendario h1,
.calendar h1 {
    margin: 0;
    font-size: 30px;
    font-weight: 100;
    color: #173d64;
    background: #fff;
    padding: 5px 10px 5px 10px;
    text-align: center;
    border-bottom: 1px solid #f1f1f1;
    border-top: 1px solid #f1f1f1
}

.side-menu .calendar {
    margin: 20px 0 30px 0;
    min-height: 0;
    padding: 0 30px 0 0
}

#article .side-menu .calendar h2,
.calendar h2 {
    text-align: center;
    color: #333;
    font-weight: 200;
    font-size: 1em;
    margin: 0;
    padding: 10px 5px;
    background: #e1e1e1
}

.calendar table {
    width: 100%
}

.side-menu .calendar table {
    margin: 0 0;
    background: #fff
}

.calendar .giorno {
    height: 50px;
    width: 100%;
    color: #999;
    text-align: right;
    -webkit-transition: all .3s ease-in-out;
    -moz-transition: all .3s ease-in-out;
    -o-transition: all .3s ease-in-out;
    transition: all .3s ease-in-out
}

.calendar .giorno span {
    padding: 10px
}

.side-menu .calendar .giorno {
    height: auto;
    text-align: center;
    font-size: 1.1em
}

.side-menu .calendar .giorno span {
    padding: .5em 0;
    display: block
}

.calendar table th,
.side-menu .calendar table th {
    padding: .9em 0;
    background: #f1f1f1;
    color: #333;
    font-size: .8em;
    border: 1px solid #f1f1f1
}

.side-menu .calendar .pulsanti .sequence-next,
.side-menu .calendar .pulsanti .sequence-prev {
    height: auto;
    line-height: normal;
    font-size: 15px;
    padding: 0 .5em
}

.side-menu .calendar .pulsanti .sequence-next {
    right: 0
}

.side-menu .calendar .pulsanti .sequence-prev {
    left: 0
}

.calendar .on {
    background: #f1f1f1;
    color: #eb8c28;
    cursor: pointer
}

.calendar .on-your {
    background: #afe8db;
    color: #7d7d7d
}

.calendar .on-twin {
    position: relative;
    background: #ebcc36;
    color: #333
}

.calendar .on-twin::before {
    content: '';
    position: absolute;
    background: #2a80d9;
    top: 0;
    left: 0;
    right: 50%;
    bottom: 0
}

.calendar td {
    padding: 0;
    border: 1px solid #f1f1f1;
    background: #f1f1f1
}

.calendar td:hover .on {
    background: #eb8c28;
    color: #fff
}

.calendar td:hover .on-your {
    background: #333;
    color: #7d7d7d
}

.calendar td:hover .on-twin {
    color: #7d7d7d
}

.calendar .sequence-prev {
    height: auto;
    margin: 0;
    padding: 0;
    position: relative;
    top: auto;
    left: auto;
    float: left;
    font-size: 1em;
    font-weight: 100;
    color: #333;
    display: inline-block;
    cursor: pointer
}

.calendar .sequence-next {
    height: auto;
    margin: 0;
    padding: 0;
    position: relative;
    top: auto;
    left: auto;
    float: right;
    font-size: 1em;
    font-weight: 100;
    color: #333;
    display: inline-block;
    cursor: pointer
}

.landing #box-signup {
    vertical-align: middle;
    background: #ed8c27;
    border-left: 0 solid #fff;
    padding-top: 0
}

.landing #box-signup .content {
    padding-top: 0
}

.side-content .landing-box .title-section {
    padding: 10px;
    margin-bottom: 0;
    background: #3b8d72;
    color: #fff;
    border: 0
}

.side-content .landing-box #box-signup .text-newsletter {
    width: 100%;
    float: right;
    display: none
}

.side-content .landing-box #box-signup form {
    width: 100%;
    padding: 20px
}

#stage.internal .side-content .landing-box #box-signup .content {
    border-left: 0;
    border-right: 0
}

.landing-box {
    margin-top: -18em
}

.internal .landing-box #news {
    border: 0
}

.landing .internal .side-content {
    padding-right: 0
}

.internal #article.landing .yellow header h1,
.internal #article.landing header h1 {
    padding-right: 35%;
    font-size: 5em
}

.landing #head .menu-secondary,
.landing #head .menu-up,
.landing #head .navbar {
    display: none
}

.landing #head .content {
    max-width: 1450px
}

.landing #box-newsletter.upfooter,
.landing #footer .numeroverde,
.landing #footer p.social {
    display: none
}

#box-signup {
    vertical-align: middle;
    background: #fff;
    border-left: 0 solid #fff
}

#box-signup .content,
#stage.internal #box-signup .content {
    overflow: hidden;
    padding: 0 0;
    max-width: 1300px;
    background: #f5f3ea;
    border-left: 50px solid #fff;
    border-right: 20px solid #fff;
    box-sizing: border-box
}

#box-signup h2 {
    text-align: left;
    color: #1c5d95;
    font-weight: 600;
    margin: 0;
    padding: 0 0 .2em 0;
    font-size: 1.5em;
    text-transform: uppercase;
    position: relative
}

#box-signup form h2,
#box-signup form h3 {
    text-align: center;
    padding: .4em 0 .4em 0;
    clear: both
}

#box-signup p {
    color: #333;
    font-size: 1.1em;
    text-align: left;
    padding: .7em 0 0 0
}

#box-signup form {
    padding: 20px 20px;
    background: #F5F3BD;
    box-sizing: border-box;
    float: left;
    width: 60%
}

#box-signup .blocco {
    padding: 0 10px;
    float: left;
    margin: 0 0 5px 0
}

#box-signup .blocco label {
    line-height: normal;
    font-size: .8em;
    color: #1b5d95;
    display: block;
    margin: 0 0 5px 0;
    text-transform: uppercase
}

#box-signup .blocco .label {
    height: auto;
    line-height: normal;
    font-size: .8em;
    color: #333;
    display: block;
    margin: 0 0 5px 0
}

#box-signup textarea {
    width: 100%;
    height: 5em;
    font-size: 1.3em;
    box-sizing: border-box;
    background: #fff;
    display: block;
    padding: 3px .4em;
    border: 0;
    border-radius: 3px;
    margin: 3px 0;
    border-bottom: 2px solid #9db3c1)
}

#box-signup .checkboxFive {
    display: block;
    float: left;
    margin-right: 10px
}

#box-signup .campo,
#box-signup .combo {
    margin: 3px 0;
    text-transform: none;
    font-size: 1.5em;
    border-bottom: 2px solid #acc7bc
}

#box-signup .pul {
    padding: .5em 1em;
    clear: both;
    height: auto
}

#box-signup .pul a {
    color: #fff;
    border: 0;
    background: #1b5d95
}

#box-signup .pul a:hover {
    background: #333;
    color: #fff
}

#box-signup .text-newsletter {
    float: left;
    width: 40%;
    padding: 20px 20px;
    box-sizing: border-box
}

#box-signup .box-privacy {
    border: 1px solid #ddd;
    padding: 3px;
    max-height: 150px;
    overflow-y: auto;
    margin: 15px 5px;
    border-radius: 4px;
    background-color: #dedede
}

.article-content #box-signup .text-newsletter {
    padding: 20px 0
}

.login {
    text-align: center
}

#stage #article .article-content .login h1 {
    padding: 20px 0
}

.login #box-signup form {
    display: inline-block;
    width: auto;
    max-width: 600px;
    margin: 0 auto;
    float: none
}

.login #box-signup .blocco .label {
    margin: 10px 0
}

.article-content #box-signup form {
    width: auto;
    float: none;
    background: #fff;
    border-top: 2px dashed #ccc;
    padding: 10px 0
}

.article-content #box-signup .campo,
.article-content #box-signup .combo {
    border-bottom: 2px solid #e1e1e1;
    background-color: #f1f1f1
}

#stage #article .article-content #box-signup h2 {
    font-size: 1.3em;
    padding: .7em 0;
    color: #7b9aad
}

.article-content #box-signup .pul {
    padding: 20px 0
}

.article-content #box-signup .pul a {
    background: #333;
    color: #fff
}

.article-content #box-signup .blocco label {
    color: #999
}

.article-content #box-signup .text-newsletter {
    width: 100%;
    background: #fff
}

#stage #article .article-content #box-signup p {
    padding: 0 10px .2em 10px;
    font-size: 12px;
    text-align: justify
}

#stage #article .article-content #box-signup ul li {
    padding: 0 10px .2em 10px;
    font-size: 12px;
    text-align: justify
}

#stage #article .article-content table,
#stage #search-list table {
    border: 0;
    box-sizing: border-box;
    width: 100%;
    margin: 20px 0;
    border-left: 50px solid transparent;
    border-collapse: separate
}

#stage #search-list table table {
    margin: 0
}

#stage #search-list table {
    border-left: 0 solid transparent;
    background: #fffcf2
}

#stage #article .article-content table td,
#stage #search-list table td {
    padding: .6em 5px;
    text-align: center;
    font-size: 1.1em;
    color: #333;
    border-top: 1px dotted #ccc
}

#stage #search-list table td {
    padding: 0;
    font-size: 1em
}

#stage #search-list table td td {
    padding: .5em 0
}

#stage #article .article-content table td.totale,
#stage #search-list table td.totale {
    font-weight: 700
}

#stage #article .article-content table td.left,
#stage #search-list table td.left {
    text-align: left
}

#stage #article .article-content table td.right,
#stage #search-list table td.right {
    text-align: right
}

#stage #article .article-content table tr.totalone td,
#stage #search-list table tr.totalone td {
    background: #fdfde2
}

#stage #article .article-content table th,
#stage #search-list table th {
    padding: 1em 0;
    text-align: center;
    font-size: 10px;
    text-transform: uppercase;
    color: #7c88bf;
    color: #999;
    background: rgba(0, 0, 0, .05);
    background: #f7fdfb
}

#stage #article .article-content table caption,
#stage #search-list table caption {
    padding: .4em;
    text-align: center;
    font-size: 1em;
    text-transform: uppercase;
    color: #7c88bf;
    background: #f0f0fb
}

#stage #article .article-content table .pul,
#stage #search-list table .pul {
    margin: 0;
    padding: 0;
    font-size: .9em
}

#stage #article .article-content table .pul a,
#stage #search-list table .pul a {
    font-size: 9px;
    padding: 8px 10px;
    background: #172983;
    color: #fff
}

#stage #article .article-content table .pul a:hover,
#stage #search-list table .pul a:hover {
    background: #333;
    color: #fff
}

#stage #search-list .moreInfo {
    display: none
}

#stage #search-list .moreInfo .numero {
    float: right;
    border: 0;
    width: auto;
    padding: 0
}

#stage #search-list .moreInfo .numero img {
    height: 50px;
    max-width: 200px
}

#stage #search-list .moreInfo .numero a {
    display: block;
    position: relative;
    padding: .7em 0 10px 0;
    color: #0fb579;
    font-size: 1.8em
}

#stage #search-list .moreInfo .numero a:before {
    content: '\f095';
    color: #1c5d95;
    display: block;
    font-size: .5em;
    font-family: FontAwesome;
    position: absolute;
    top: .2em;
    left: 0
}

#stage #search-list .moreInfo .numero a:after {
    content: 'NUMERO VERDE';
    color: #1c5d95;
    display: block;
    font-size: .45em;
    position: absolute;
    top: .2em;
    left: 1em;
    font-weight: 600
}

#footer {
    clear: both;
    margin: 0;
    padding: 1em 0;
    background: #f0f0f0;
    border-top: 0 solid #f1f1f1
}

.popUp #footer {
    display: none
}

#footer .content {
    width: 100%;
    margin-top: 0
}

#up-footer {
    background: #fff;
    border-bottom: 4px solid #e1e1e1;
    border-top: 1px solid #e1e1e1;
    padding: 0
}

#up-footer .content {
    background: #fff;
    height: 79px;
    line-height: 79px;
    color: #bec9d0;
    font-size: 11px;
    text-transform: uppercase;
    padding: 0 0 0 20px;
    width: 990px
}

#up-footer .content li {
    display: none
}

#up-footer .content ul.partner {
    background: transparent url("https://www.cafcisl.it/elementi/partners.png") no-repeat;
    display: block;
    height: 70px;
    width: 800px;
    margin: 0;
    padding: 0;
    float: left
}

#up-footer .content ul.competenze {
    background: transparent url("https://www.cafcisl.it/elementi/partners.png") no-repeat;
    display: block;
    height: 70px;
    width: 800px;
    margin: 0;
    padding: 0;
    float: left
}

#up-footer .content ul.certificazioni {
    background: transparent url("https://www.cafcisl.it/elementi/partners.png") no-repeat;
    display: block;
    height: 70px;
    width: 800px;
    margin: 0;
    padding: 0;
    float: left
}

#up-footer .content span {
    height: 79px;
    line-height: 79px;
    display: inline-block;
    width: 130px;
    float: left
}

#logo-footer {
    width: 19em;
    height: 13.5em;
    background: transparent url("https://www.cafcisl.it/elementi/logo-footer.png") no-repeat;
    float: left;
    margin: 0 2em 0 0
}

#menu-footer {
    /*min-height: 10em*/
}

#menu-footer .colonna {
    width: 18em;
    float: left;
    padding: 7em 0 2em 0
}

#menu-footer .riga {
    position: absolute;
    top: 3em;
    left: 21em
}

#menu-footer .colonna h2 a {
    color: #6f818b;
    text-decoration: none
}

#menu-footer .colonna h2 a:hover {
    color: #fff;
    text-decoration: none
}

#footer p.credits {
    text-align: left;
    font-size: .9em;
    padding: .5em 0 2em 10px;
    line-height: 1.3em;
    margin: 0;
    color: #999
}

#footer #extra-footer p.credits {
    text-align: right
}

#footer p.credits a {
    text-transform: uppercase;
    color: #1c5d95;
    font-weight: 600;
    padding-right: 5px
}

#footer p.credits a:hover {
    text-decoration: underline
}

#footer p.social {
    text-align: right;
    font-size: 20px;
    padding: 5px;
    margin: 0;
    color: #7f7f7f
}

#footer p.social a {
    display: inline-block;
    line-height: 30px;
    height: 30px;
    width: 30px;
    background: #fff;
    border-radius: 50%;
    text-align: center
}

#footer .numeroverde {
    text-align: left
}

#footer .numeroverde a {
    display: inline-block;
    vertical-align: middle
}

#footer .numeroverde a img {
    border: 0;
    display: block;
    height: 60px
}

.extra-footer {
    position: absolute;
    top: 0;
    right: 5px
}

.extra-footer .box {
    overflow: hidden;
    float: left;
    width: 150px;
    text-align: left;
    padding-top: 1em
}

.extra-footer .box span {
    font-size: 10px;
    color: #666;
    display: block
}

.extra-footer .box img {
    width: 60%;
    display: inline-block
}

.extra-footer .box p {
    color: #999
}

.extra-footer .box ul {
    text-align: left;
    padding: 5px 0 0 0
}

.extra-footer .box li {
    font-size: 13px;
    padding: 2px 0
}

.extra-footer .box img {
    max-width: 100px;
    display: inline-block;
    margin-bottom: 15px
}

#head-fancybox {
    height: 3em;
    width: 100%;
    border-bottom: 0 solid #e1e1e1;
    position: fixed;
    box-shadow: none;
    background: #fff;
    background: 0 0;
    top: 0;
    left: 0;
    z-index: 200
}

.pul-closeFancybox {
    position: absolute;
    top: 0;
    right: 15px
}

.pul-closeFancybox a {
    padding: 0 20px;
    display: block;
    background: #fff;
    height: 3em;
    line-height: 3em;
    font-size: 1em;
    color: #333;
    text-transform: uppercase;
    letter-spacing: 1px
}

.pul-closeFancybox a:hover {
    text-decoration: none
}

.pul-closeFancybox a i {
    color: #1c5d95;
    font-size: 1.6em
}

.pulFancybox {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    padding-bottom: 15px
}

.pulFancybox a {
    min-width: 60%
}

#container.popUp {
    position: relative;
    padding-top: 3em;
    background: #6f9cb7;
    box-sizing: border-box
}

#container.popUp #head {
    position: absolute;
    height: 3em;
    background: #fff
}

#extraArticle {
    display: none;
    vertical-align: top;
    width: 96%;
    color: #fff;
    padding: 0;
    margin: 0 2% 1em 2%;
    opacity: 0;
    text-align: left;
    position: relative
}

#extraArticle.active {
    display: inline-block;
    opacity: 1
}

#extraArticle article {
    width: 100%;
    height: 100%;
    display: block
}

#extraArticle .box-foto {
    width: 40%;
    position: relative;
    overflow: hidden;
    text-align: center;
    float: left;
    margin-right: 20px;
    border: 10px solid #fff;
    box-shadow: 0 0 10px rgba(0, 0, 0, .2);
    margin-top: 1em
}

#extraArticle .box-foto img {
    width: 100%;
    display: block
}

#extraArticle .box-foto.horizontal {
    width: 100%;
    position: relative;
    overflow: hidden;
    text-align: center;
    float: none;
    margin-right: 10px;
    max-height: 300px
}

#extraArticle h1,
#extraArticle h2,
#extraArticle h3 {
    color: #009680;
    padding: 0 20px
}

#extraArticle h1 {
    font-size: 2.3em;
    margin: 0 0;
    padding: .5em 0
}

#extraArticle h1 i {
    color: #666
}

#extraArticle h2 {
    font-size: 1.8em;
    font-weight: 100;
    margin: 0 0 .2em 0;
    padding: 0
}

#extraArticle p {
    color: #666;
    font-size: 1.1em;
    font-weight: 100;
    padding: 0 20px .5em 0;
    margin: 0;
    font-family: 'PT Serif', serif
}

#extraArticle .pul-close {
    right: 1.5em;
    top: 1.5em;
    z-index: auto
}

.box-autore {
    color: #666;
    font-size: .9em;
    padding: 10px 0;
    overflow: hidden;
    margin: 1.5em 0 1em 50px;
    background: #f1f1f1
}

.box-autore strong {
    color: #333
}

.box-autore span {
    display: block
}

#stage #article .article-content .box-autore h2,
.box-autore h2 {
    margin-left: 0;
    padding-left: 0
}

.box-autore span.autore {
    padding: .4em 0 0 0
}

.box-autore img {
    float: left;
    width: 50px;
    height: 50px;
    margin: 0 .5em 0 0;
    border-radius: 25px
}

.article-content .box-autore figure,
.box-autore figure {
    float: left;
    padding: 0;
    margin: 0 .1em 2em 0
}

.box-autore figure a {
    display: block;
    width: 2em;
    height: 2em;
    line-height: 2em;
    text-align: center;
    font-size: 1.8em;
    border-radius: 50%
}

#stage #article .article-content .box-autore p,
.box-autore p {
    margin-left: 0;
    padding-left: 0
}

#extraArticle .addthis_sharing_toolbox {
    padding: 1em 0
}

.content-testo {
    overflow: hidden
}

#extraArticle .allegati,
.allegati {
    margin-top: 1em;
    padding: 0 0 1em 50px
}

aside .allegati {
    margin-top: 0;
    margin-bottom: 1em !important
}

#stage .allegati h2,
aside .allegati h2 {
    padding-top: 0 !important;
    padding: 10px 10px 10px 0 !important;
    color: #978a8d !important
}

#extraArticle .allegati .file-name,
.allegati .file-name {
    font-size: 1em;
    font-weight: 600
}

#extraArticle .allegati .file-kb,
.allegati .file-kb {
    font-size: .8em;
    line-height: 1.1em
}

#extraArticle .allegati ul,
.allegati ul {
    list-style: none;
    margin: 0;
    padding: 0;
    border-top: 1px solid #e1e1e1
}

#extraArticle .allegati li,
.allegati li {
    font-size: .8em;
    border-bottom: 1px dotted #e1e1e1;
    padding-bottom: 0;
    overflow: hidden
}

.allegati li {
    font-size: 1em;
    margin-left: 0 !important;
    padding-top: 0 !important
}

#extraArticle .allegati li a,
.allegati li a {
    display: block;
    overflow: hidden;
    padding: .6em 0;
    font-size: 1.3em;
    color: #1b5d95
}

#extraArticle .allegati li a:hover,
.allegati li a:hover {
    background: #f9f4ea;
    padding-left: 10px
}

#extraArticle .allegati li a i,
.allegati li a i {
    float: left;
    display: block;
    margin-right: 5px;
    color: #333;
    color: #333;
    line-height: 1.2em
}

.allegati li a i {
    font-size: 1.8em
}

#extraArticle .link,
.link {
    margin-top: 1em;
    padding: 0 0 1em 0
}

#extraArticle .link .file-name,
.link .file-name {
    font-size: 1em;
    font-weight: 600
}

#extraArticle .link .file-kb,
.link .file-kb {
    font-size: .8em;
    line-height: 1.1em;
    font-style: italic
}

#extraArticle .link ul,
.link ul {
    list-style: none;
    margin: 0;
    padding: 0;
    border-top: 1px solid #e1e1e1
}

#extraArticle .link li,
.link li {
    font-size: .8em;
    border-bottom: 1px solid #e1e1e1;
    padding-bottom: 0;
    overflow: hidden
}

.link li {
    font-size: 1em;
    margin-left: 0 !important;
    padding-top: 0 !important
}

#extraArticle .link li a,
.link li a {
    display: block;
    overflow: hidden;
    padding: 7px 0
}

#extraArticle .link li a:hover,
.link li a:hover {
    background: #e9f0f4;
    padding-left: 10px
}

#extraArticle .link li a i,
.link li a i {
    float: left;
    display: block;
    font-size: 2em;
    margin-right: 10px;
    color: #333
}

#extraArticle .lista-posizioni,
.lista-posizioni {
    margin-top: 1em;
    padding: 0 0 1em 0
}

#extraArticle .lista-posizioni .file-name,
.lista-posizioni .file-name {
    font-size: 1em;
    line-height: 1.1em;
    font-weight: 600
}

#extraArticle .lista-posizioni .file-kb,
.lista-posizioni .file-kb {
    font-size: .65em;
    text-transform: uppercase;
    line-height: 1.1em;
    color: #999;
    padding: .5em 0 0 0
}

#extraArticle .lista-posizioni .file-desc,
.lista-posizioni .file-desc {
    font-size: .8em;
    line-height: 1.1em;
    color: #333;
    padding: .5em 0
}

#extraArticle .lista-posizioni ul,
.lista-posizioni ul {
    list-style: none;
    margin: 0;
    padding: 0;
    border-top: 1px solid #e1e1e1
}

#extraArticle .lista-posizioni li,
.lista-posizioni li {
    font-size: .9em;
    border-bottom: 1px solid #e1e1e1;
    padding-bottom: 0;
    overflow: hidden
}

.lista-posizioni li {
    font-size: 1.15em;
    position: relative;
    margin-left: 0 !important
}

#extraArticle .lista-posizioni li,
.lista-posizioni li {
    display: block;
    overflow: hidden;
    padding: 7px 0
}

#extraArticle .lista-posizioni li:hover,
.lista-posizioni li:hover {
    background: #e9f0f4;
    padding-left: 10px
}

#extraArticle .lista-posizioni li i,
.lista-posizioni li i {
    float: left;
    display: block;
    font-size: 2.2em;
    margin-right: 10px;
    color: #4f86ac
}

#extraArticle aside .lista-posizioni,
aside .lista-posizioni {
    margin-top: 0
}

#extraArticle aside .lista-posizioni h2,
aside .lista-posizioni h2 {
    padding-top: 0 !important
}

#extraArticle aside .lista-posizioni li,
aside .lista-posizioni li {
    padding-left: 5px
}

#extraArticle aside .lista-posizioni li:hover,
aside .lista-posizioni li:hover {
    background: #e9f0f4;
    padding-left: 5px
}

#extraArticle .lista-posizioni .pul,
.lista-posizioni .pul {
    text-align: left;
    height: auto
}

#extraArticle .lista-posizioni .pul a,
.lista-posizioni .pul a {
    font-size: .6em;
    background: #fff;
    color: #4f86ac;
    border-color: #4f86ac
}

#extraArticle .lista-posizioni .pul a:hover,
.lista-posizioni .pul a:hover {
    background: #333;
    color: #fff;
    border-color: #333
}

.menu-lista {
    position: absolute;
    top: .7em;
    right: 0
}

.menu-lista .pul {
    float: left;
    font-size: .7em;
    margin-left: 1em;
    clear: none
}

.menu-lista .pul a {
    color: #4f86ac;
    border-color: #e1e1e1;
    background: #fff;
    font-size: 1em
}

.menu-lista .pul a:hover {
    color: #fff;
    border-color: #4f86ac;
    background: #4f86ac
}

aside .menu-lista {
    position: relative;
    top: auto;
    right: auto;
    overflow: hidden;
    margin: .5em 0 0 0
}

aside .menu-lista .pul {
    padding-bottom: .5em;
    margin-left: 10px
}

aside .menu-lista .pul:first-child {
    margin-left: 0
}

aside .menu-lista .pul a {
    font-size: .8em
}

#extraArticle ol {
    padding-left: 1em;
    font-size: 1em;
    margin: 0 0 .5em 0
}

#extraArticle ul {
    padding-left: 1em;
    font-size: 1em;
    margin: 0 0 .5em 0;
    list-style: circle
}

#extraArticle li {
    font-size: 1em;
    color: #666;
    font-weight: 300;
    padding: 0 20px .2em 0;
    font-family: 'PT Sans Narrow', sans-serif
}

@media only screen and (min-width:1500px) {
    .testata.big {
        height: 55em
    }

    #stage .testata .text-container h1 {
        font-size: 3.8em
    }

    #head .box {
        margin-bottom: 15px
    }

    #head .box p {
        display: block;
        font-size: 1em
    }

    #head .box figure {
        width: 200px
    }

    html ul.topnav li .subnav li a {
        font-size: 1.1em !important
    }

    #stage .intro .box-cell article {
        width: 220px;
        height: 220px
    }

    #map {
        height: 55em;
        margin-bottom: 20px
    }
}

@media only screen and (max-width:1200px) {
    .content {
        max-width: 80em
    }

    .testata.big {
        height: 20em
    }

    .internal .testata.big {
        height: 38em
    }

    .connect {
        width: 100px
    }

    .menu-social ul {
        margin-right: 0
    }

    #stage .intro .box-cell article {
        font-size: .8em
    }

    #stage .intro .icona {
        font-size: 80px
    }

    #box-cosa .box-cell.double .box-text-content {
        padding: 20px
    }

    #stage #article #box-cosa .box-cell .box h1 {
        font-size: 2em
    }

    #stage #article #box-cosa .box-cell .box p {
        font-size: 15px
    }

    #box-cosa .box-cell {
        min-height: 27em !important
    }

    .internal #article.landing .yellow header h1,
    .internal #article.landing header h1 {
        font-size: 4em
    }
}

@media only screen and (max-width:1100px) {
    .content {
        max-width: none
    }
}

@media only screen and (max-width:1147px) {
    .menu-up {
        display: none
    }

    .menu-up.slidebar {
        display: block
    }

    .menu-secondary {
        display: none
    }
}

@media only screen and (max-width:1024px) {
    body {
        font-size: 13px
    }

    .content {
        width: 100%
    }

    .menu-cart {
        top: 25px;
        right: 55px
    }

    .menu-cart a {
        font-size: 32px
    }

    .menu-donate {
        right: 60px
    }

    .landing .menu-donate {
        right: 20px
    }

    .side-menu li ul {
        display: none
    }

    #head .main-search {
        top: 28px;
        display: none
    }

    .main-search .pul-search a {
        font-size: 25px;
        color: #666
    }

    #box-cosa {
        padding: 20px 20px
    }

    #box-cosa .box-cell.double .box,
    #box-cosa .box-cell.double .box-text-content,
    #box-cosa .box-cell.double figure {
        position: relative;
        left: auto;
        right: auto;
        bottom: auto;
        top: auto;
        width: 100%;
        margin: 0
    }

    #stage #article #box-cosa .box-cell .box img {
        width: 100%;
        max-width: none
    }

    #box-cosa .box-cell.double .box {
        padding: 0
    }

    #stage #article #box-cosa .box-cell .box p {
        font-size: 15px
    }

    #box-cosa .box-cell {
        min-height: 27em !important
    }

    #box-cosa .box .categoria,
    #stage #article #box-cosa .box-cell .box h1,
    #stage #article #box-cosa .box-cell .box p {
        text-align: center !important
    }

    #box-cosa.documenti .box .categoria,
    #stage #article #box-cosa.documenti .box-cell .box h1,
    #stage #article #box-cosa.documenti .box-cell .box p {
        text-align: left !important
    }

    #box-cosa.documenti {
        float: none
    }

    #box-cosa.documenti .box-cell.double figure {
        width: 30%
    }

    #news .box-cell.double figure {
        width: 100%
    }

    #news .box-cell.double .box-text-content {
        position: absolute;
        top: auto;
        left: 20px;
        right: 20px;
        bottom: 20px;
        width: auto;
        box-sizing: border-box;
        padding: 20px 20px
    }

    #news .box h1,
    #stage .side-content .box h1 {
        font-size: 1.6em
    }

    #news .box p,
    #stage .side-content .box p {
        font-size: 1em
    }

    #stage .intro .title-section span.scritta {
        width: 300px
    }

    #stage .intro .box-container {
        display: block;
        text-align: center
    }

    #stage .intro .box-container:before {
        display: none
    }

    #stage .intro .box-cell {
        display: block;
        display: inline-block;
        padding: 0 20px
    }

    #stage .intro .box-cell article {
        font-size: .8em
    }

    #stage .intro .icona {
        font-size: 80px
    }

    #stage .eventi .box p {
        /*display: none*/
    }

    .team li {
        float: left;
        width: 50%
    }

    .lista-prodotti .foto-prodotto {
        height: 200px
    }

    .lista-prodotti .foto-prodotto img {
        max-height: 150px
    }

    .lista-prodotti .foto-prodotto figure {
        padding: 10px
    }

    #search-list .lista-prodotti li {
        width: 33.3%
    }

    #search-list .lista-prodotti li:nth-child(5) {
        clear: none
    }

    #search-list .lista-prodotti li:nth-child(4) {
        clear: both
    }
}

@media only screen and (max-width:790px) {
    body {
        font-size: 12px
    }

    .internal .landing .side-content,
    .landing .article-content,
    .landing .side-content {
        width: 100%;
        margin: 0 0 20px 0
    }

    .internal .landing .side-content,
    .landing .side-content {
        padding: 0
    }

    .side-content .landing-box #box-signup form {
        padding: 10px 0 10px 0
    }

    .icons-slide {
        width: 50%
    }

    #cerca-coordinamento {
        padding: 20px 10px
    }

    #cerca-coordinamento h1 {
        padding: 5px 20px;
        font-size: 2em
    }

    .numero {
        width: 50%;
        padding: 2%;
        box-sizing: border-box
    }

    .lista-prodotti.double .foto-prodotto .discount {
        top: .5em;
        right: .5em
    }

    #stage #news .box-cell {
        display: block;
        float: left;
        width: 100%;
        box-sizing: border-box
    }

    #stage #news .box-cell figure {
        width: 100%;
        float: none;
        margin: 20px 0 0 0
    }

    #stage #news .box-cell.double article {
        padding: 0
    }

    #stage #news .box-cell.double figure {
        width: 100%;
        float: none;
        margin: 0
    }

    #stage .intro .box-cell {
        float: none;
        width: auto;
        display: inline-block;
        padding: 0 0
    }

    #news .box {
        text-align: left;
        text-align: center;
        padding: 0 20px
    }

    #news .box-text-content {
        overflow: hidden
    }

    #stage .eventi .box h1 {
        font-size: 1.5em !important
    }

    .box-text-content {
        min-height: 0;
        height: auto
    }

    #banner .small .pul {
        display: none
    }

    #stage.internal #article .side-content .box article,
    .internal #news .box article {
        overflow: hidden
    }

    .internal #news .box article {
        padding-top: 15px
    }

    #news .box-cell.double {
        background: #f1f1f1
    }

    #news .box-cell.double .box {
        position: relative;
        left: auto;
        top: auto;
        bottom: auto;
        right: auto
    }

    #news .box-cell.double figure {
        position: relative;
        left: auto;
        top: auto;
        bottom: auto;
        right: auto;
        width: 33%
    }

    #news .box-cell.double figure img {
        height: auto;
        width: 100%;
        display: block
    }

    #news .box-cell.double .box-text-content {
        position: relative;
        left: auto;
        top: auto;
        bottom: auto;
        right: auto;
        width: auto;
        box-sizing: border-box;
        padding: 20px 20px
    }

    #news .box h1,
    #stage .side-content .box h1 {
        font-size: 1.8em
    }

    #stage .double .box .pul {
        margin: 0;
        padding: 10px 0;
        text-align: left
    }

    .landing-box {
        margin-top: 0
    }

    #stage #article .landing-box p {
        font-size: 13px
    }

    .internal #article.landing .yellow header h1,
    .internal #article.landing header h1 {
        padding-right: 0;
        padding-top: 30px;
        font-size: 30px
    }

    .landing #stage #article .article-content h2 {
        font-size: 22px;
        color: #3b8d72
    }

    .internal .landing .testata.big {
        height: 220px
    }

    .home #news.x65 {
        width: 100% !important;
        float: none
    }

    .home .side-content.x35 {
        width: 100% !important;
        float: none
    }

    #stage #box-support {
        width: 100% !important
    }

    #stage #box-newsletter {
        width: 100% !important
    }

    .testata .text-container {
        bottom: 0;
        box-sizing: border-box;
        padding: 20px;
        height: auto;
        right: 0;
        width: 100%;
        min-width: 0
    }

    .lista-azioni ul {
        padding: 10px
    }

    #article header {
        padding-left: 0
    }

    .article-content {
        padding: 20px 10px 0 0
    }

    #stage #article p {
        font-size: 17px
    }

    #search-list .lista-prodotti.list li .box p,
    #stage #article .lista-prodotti.list li .box p {
        font-size: 1em
    }

    .side-menu {
        float: none;
        margin: 0;
        width: 100%
    }

    .side-menu li {
        display: inline-block
    }

    .cart .risultati-content,
    .cart .side-content,
    .risultati-content {
        width: 100%;
        float: none;
        padding: 0 20px
    }

    #box-newsletter.upfooter form {
        float: right;
        width: 50%
    }

    #box-newsletter .text-newsletter {
        float: left;
        width: 50%;
        margin-left: 0
    }

    #box-newsletter .content {
        background-image: none
    }
}

@media only screen and (max-width:700px) {

    body *,
    body > * {
        box-sizing: border-box
    }

    #head,
    .home #head {
        height: 55px
    }

    #container {
        padding-top: 55px
    }

    #back {
        width: 100px;
        height: 100px;
        left: 20px;
        top: 0
    }

    .compact #back,
    .home.compact #back {
        width: 60px;
        height: 60px
    }

    #stage.home .slider {
        float: none;
        width: 100% !important
    }

    #stage .box-cell,
    #stage .box-container {
        display: block;
        width: 100%
    }

    #stage .box-cell,
    #stage .box-cell:last-child {
        border: 0
    }

    #stage .box-cell .box {
        padding-bottom: 1em
    }

    #stage .box .pul {
        margin-top: 1em;
        position: relative;
        bottom: auto;
        width: 100%;
        left: auto
    }

    .menu-up.slidebar {
        display: block
    }

    #stage .box-cell figure {
        width: 180px;
        float: left;
        margin: 10px 0 10px 10px
    }

    #news .box-cell figure {
        width: 100%;
        margin: 0 0 10px 0
    }

    #news .box h1,
    #stage .side-content .box h1 {
        padding: 0;
        font-size: 1.8em
    }

    .banner-small ul li {
        width: 45%
    }

    #stage .intro {
        padding: 20px 0
    }

    #stage .intro .icona {
        font-size: 40px
    }

    #stage .intro .testo {
        display: block;
        padding-bottom: 10px
    }

    #stage .intro .box-cell h1 {
        margin: 0
    }

    #stage .numeri .box-cell {
        display: block;
        float: left;
        width: 100%;
        box-sizing: border-box
    }

    .lista-prodotti li {
        width: 100%
    }

    .lista-prodotti .foto-prodotto {
        height: 200px
    }

    .box-prodotto h1 {
        font-size: 1.1em;
        padding: 0 30px;
        margin: 0 0 5px 0
    }

    .box-prodotto p.prezzo {
        font-size: 1.3em
    }

    .lista-prodotti.double li,
    .lista-prodotti.white.double li {
        width: 50%;
        padding-bottom: 10px
    }

    .lista-prodotti.double .foto-prodotto {
        height: 200px
    }

    .lista-prodotti.double .foto-prodotto figure a {
        padding: 5px
    }

    .lista-prodotti.double .box-prodotto h1 {
        font-size: 1em;
        padding: 0 20px;
        margin: 0 0 5px 0
    }

    .lista-prodotti.double .box-prodotto p.prezzo {
        font-size: 1.1em
    }

    #search-list .lista-prodotti.list li .box .box-text-content {
        padding: 0 0 10px 0
    }

    #stage .lista-prodotti .box .icona {
        width: 3em
    }

    #stage .lista-prodotti .box .icona i {
        font-size: 35px
    }

    #article .lista-prodotti.list li .box h1,
    #search-list .lista-prodotti.list li .box h1,
    #stage #article .article-content .lista-prodotti.list li .box h1 {
        font-size: 1.5em
    }

    #stage #search-list .moreInfo .numero {
        float: none;
        width: auto
    }

    #article .risultati-content h2,
    .risultati-content h2 {
        font-size: 1.2em;
        padding: 0;
        line-height: 2em
    }

    #stage #article .lista-prodotti .box {
        padding: 10px 0
    }

    #search-list .lista-prodotti li {
        width: 50%
    }

    .box-search .blocco.x25 {
        width: 50%
    }

    .risultati-content form {
        padding-right: 20px
    }

    .risultati-content form .blocco {
        width: 100% !important
    }

    .addthis_inline_share_toolbox {
        padding-left: 10px
    }

    .article-content .risultati-content form .blocco {
        width: 50% !important
    }

    .article-content .risultati-content form .clearer {
        display: none
    }

    #stage #article .article-content .risultati-content h2 {
        padding: 10px 0;
        font-size: 11px
    }

    #stage #article .article-content .risultati-content h2 span.number {
        font-size: 11px
    }

    .article-content .risultati-content .title-section {
        padding: 10px 0;
        font-size: 1.5em
    }

    .risultati-content form {
        padding: 0
    }

    #stage #article .article-content .lista-prodotti.list li .box .box-text-content {
        padding: 0 10px 10px 10px
    }

    #article .lista-prodotti.list li .box figure,
    #search-list .lista-prodotti.list li .box figure {
        width: 35%
    }

    #article .lista-prodotti.list li .box figure .day,
    #stage #article .article-content .lista-prodotti.list li .box figure .day {
        top: auto;
        left: auto;
        position: relative;
        width: 100%
    }

    #stage #article .article-content .lista-prodotti.list li .box time {
        width: 4.5em;
        width: 50%;
        box-sizing: border-box
    }

    #article .article-content .timeline {
        padding-left: 20px
    }

    #article .article-content .timeline h2:before {
        content: '\f111';
        font-size: 20px;
        left: -5px;
        top: .65em;
        display: inline-block;
        color: #53ae8d
    }

    #stage #article .article-content .staff img {
        float: none;
        margin-bottom: 20px
    }

    .box-feedback .rat {
        float: none;
        padding: 10px 20px
    }

    .box-feedback .user {
        font-size: 13px;
        color: #666;
        padding: 5px 20px 0 20px
    }

    .box-feedback .user strong {
        color: #333
    }

    .box-feedback h1 {
        font-size: 18px;
        padding: .2em 20px
    }

    #stage .box-feedback .data {
        padding: 5px 20px 0 20px;
        float: none;
        font-size: 11px;
        color: #666;
        text-align: left;
        max-width: none
    }

    .rat img {
        width: 20px
    }

    .piccoletta {
        width: 100px;
        margin: 10px auto
    }

    #stage .side-menu p {
        padding: 5px 20px;
        font-size: 15px
    }

    #stage .side-menu img {
        display: none
    }

    .box-feedback .foto-prodotto {
        height: 100px
    }

    .box-feedback .foto-prodotto figure {
        padding: 20px 0;
        width: 80px
    }

    #stage .box-feedback .prezzo {
        margin-left: 100px
    }

    .cart .lista-tabella .blocco {
        float: none
    }

    #stage .cart .box-feedback .prezzo {
        margin-left: 155px;
        clear: both
    }

    .risultati-content .blocco.x25 {
        width: 50%
    }

    .box-search .blocco.x60 {
        width: 100%
    }

    .testata-offerta {
        height: 15em
    }

    .testata-offerta .testo-offerta {
        height: 15em
    }

    .testata-offerta h1 {
        padding-right: 10%;
        font-size: 1.7em;
        text-align: center
    }

    .testata-offerta .foto-prodotto {
        height: 15em
    }

    .testata-offerta .foto-prodotto figure {
        height: 15em
    }

    #search-list .lista-prodotti.offerte li {
        width: 100%
    }

    #search-list .testata-offerta span.scadenza {
        margin-top: 3px;
        font-size: .6em;
        display: block
    }

    #article header {
        padding-left: 0
    }

    .article-content {
        overflow: hidden;
        float: none;
        width: 100%;
        margin-bottom: 1em;
        padding: 20px 0 0 0
    }

    .internal .side-content,
    .side-content {
        width: 100%;
        margin: 0;
        float: none
    }

    .side-foto {
        width: 100%;
        margin: 0;
        float: none
    }

    .side-menu form {
        padding-right: 0
    }

    #stage .side-content .box {
        display: block;
        border: 0
    }

    .occhiello {
        display: none
    }

    .box-prezzo .pul {
        text-align: center
    }

    #article .box-prezzo {
        font-size: 1.2em
    }

    .foto-articolo {
        width: 100%;
        float: left;
        box-sizing: border-box
    }

    #article .article-content blockquote,
    #extraArticle .allegati,
    #stage #article .article-content h1,
    #stage #article .article-content h2,
    #stage #article .article-content h3,
    #stage #article .article-content p,
    .allegati,
    .article-content .preview,
    .article-content .risultati-content,
    .article-content .video-box,
    .categoria.header,
    .gallery,
    .internal #article header h1,
    .internal #article header h2,
    .internal .side-content,
    .side-menu,
    .testata .title-testata .content,
    .video-box {
        padding-left: 20px
    }

    .article-content ol,
    .article-content ul,
    .box-autore,
    .internal #article header .categoria {
        margin-left: 20px;
        margin-right: 20px;
        padding-left: 0
    }

    #stage #article .article-content .box-autore p {
        padding: 10px 10px
    }

    .timeline .gallery {
        margin-left: 0
    }

    .subscribe {
        margin: 0 10px 20px 0;
        overflow: hidden
    }

    #stage .side-menu .subscribe img,
    .subscribe img {
        max-width: 90px;
        margin: 0 10px 0 0;
        float: left
    }

    #article .side-menu .subscribe h2,
    #stage #article .article-content .side-menu .subscribe h2,
    #stage #article .subscribe h2,
    .side-menu .subscribe h2 {
        text-align: left;
        float: left;
        width: auto;
        clear: none;
        padding: 0;
        margin-top: 5px
    }

    #stage #article .side-content .subscribe p,
    #stage .side-menu .subscribe p {
        min-width: 70%;
        text-align: left;
        overflow: hidden;
        font-size: 12px;
        padding: 0
    }

    .landing #article,
    .landing #stage.internal {
        padding-bottom: 0
    }

    .internal .landing .side-content {
        padding: 0
    }

    #stage.internal #article .side-content.scala-sotto {
        width: 100%
    }

    #stage #news .box-cell.double figure {
        margin: 0
    }

    #stage #news .box .pul {
        display: none
    }

    .article-content figure {
        padding: 0 10px
    }

    #stage.internal #article .article-content .day {
        padding: 10px
    }

    #article .article-content blockquote:before {
        font-size: 20px;
        left: -10px
    }

    #article .article-content blockquote footer {
        text-align: left;
        text-indent: 0
    }

    #article .article-content blockquote {
        text-indent: 30px
    }

    #stage #article .article-content iframe {
        height: 20em
    }

    .internal #article header h1 {
        font-size: 3.5em
    }

    #stage #article .article-content p {
        font-size: 16px
    }

    #article .article-content blockquote {
        font-size: 16px
    }

    .article-content li {
        font-size: 16px
    }

    #stage #news .small .pul,
    #stage .double .box .pul {
        display: none
    }

    #news .double .box h1,
    #stage .side-content .double .box h1 {
        font-size: 2em
    }

    #stage #article .box-cell .box p {
        text-align: left
    }

    #stage .box .playIcon,
    #stage .box-cell .playIcon {
        width: 40px;
        height: 40px;
        margin: -20px 0 0 -20px
    }

    .path ul li {
        font-size: 9px
    }

    .box-adv {
        margin: 20px
    }

    #article .article-content .regioni {
        position: relative;
        padding: 1em 0 0 20px;
        margin: 20px 20px 0 20px
    }

    #stage #article .article-content .regioni ul {
        float: none;
        width: auto
    }

    .numero p {
        height: 11em;
        width: 11em;
        font-size: 1em
    }

    .numero p span {
        padding-top: .6em
    }

    .faq-answer,
    .faq-list {
        width: 90%;
        margin: 0 5%
    }

    #stage #article .data-box .box {
        height: auto;
        width: 100%
    }

    .menu-lista {
        position: relative;
        top: auto;
        right: auto;
        overflow: hidden;
        margin: .5em 0 0 1.7em
    }

    #box-signup .text-newsletter,
    #box-signup form {
        width: 100%;
        float: none;
        padding: 10px
    }

    #box-signup .content,
    #stage.internal #box-signup .content {
        border-left: 20px solid #fff;
        border-right: 20px solid #fff
    }

    .blocco-mappa {
        width: 100%
    }

    #footer p.social {
        text-align: center
    }

    #footer .numeroverde {
        text-align: center
    }

    #footer .numeroverde a img {
        height: 50px
    }

    #box-newsletter,
    #box-newsletter .content {
        background-image: none
    }

    #box-newsletter.upfooter form {
        float: right;
        width: 100%
    }

    #box-newsletter .text-newsletter {
        float: left;
        width: 100%;
        margin-left: 0;
        padding-bottom: 0
    }

    #box-newsletter .busta {
        display: none
    }

    #footer p.credits {
        text-align: center
    }

    .extra-footer {
        display: block;
        float: none;
        position: relative;
        top: auto;
        right: auto
    }

    .extra-footer .box {
        float: none;
        width: auto;
        background: #f1f1f1;
        text-align: center
    }

    .extra-footer .box ul {
        text-align: center;
        padding-bottom: 10px
    }

    .extra-footer .box p {
        text-align: center
    }
}

@media only screen and (max-width:330px) {

    #article .article-content blockquote,
    #extraArticle .allegati,
    #stage #article .article-content h1,
    #stage #article .article-content h2,
    #stage #article .article-content h3,
    #stage #article .article-content p,
    .allegati,
    .article-content .preview,
    .article-content .risultati-content,
    .article-content .video-box,
    .categoria.header,
    .gallery,
    .internal #article header h1,
    .internal #article header h2,
    .internal .side-content,
    .side-menu,
    .testata .title-testata .content,
    .video-box {
        padding-left: 10px
    }

    .article-content ol,
    .article-content ul,
    .box-autore,
    .internal #article header .categoria {
        margin-left: 10px;
        margin-right: 10px;
        padding-left: 0
    }

    .box-adv {
        margin: 10px;
        background-size: 50px;
        background-position: 5px 5px;
        padding: 0 10px 10px 60px
    }

    #stage #article .article-content h1 {
        padding: 0 10px 20px 10px;
        font-size: 35px
    }
}