﻿.banner-wrapper { padding: 60px 50px 40px 50px; background: #f2f2f2; }
.banner-wrapper:before, .banner-wrapper:after { display: table; content: ""; line-height: 0; }
.banner-wrapper .banner-fadingcnt { position: relative; overflow: hidden; }
.banner-wrapper a { display: block; }
.banner-wrapper a p { position: relative; text-align: center; color: #444; margin-bottom: 0; }
html:not(.touch) .banner-wrapper a:hover p { background: rgba(0,0,0,0); }
.banner-wrapper a p .banner-txt-wrapper { position: relative; display: block; width: 92%; bottom: 0px; padding: 4% 5%; border: 0px solid #F00; -webkit-transition: all 1s; -moz-transition: all 1s; -o-transition: all 1s; transition: all 1s; }
html:not(.touch) .banner-wrapper a:hover p .banner-txt-wrapper { background: rgba(0,0,0,.15); }
.banner-wrapper a p > .banner-txt-wrapper > .banner-abstract { display: block; padding: 5px 0 3px 0; line-height: 1.4em; font-size: 0.8em; -webkit-transition: all 1s; -moz-transition: all 1s; -o-transition: all 1s; transition: all 1s; }
html:not(.touch) .banner-wrapper a:hover p > .banner-txt-wrapper > .banner-abstract { -webkit-transition: all 1.5s ease-out; -moz-transition: all 1.5s ease-out; -o-transition: all 1.5s ease-out; transition: all 1.5s ease-out; }
.banner-wrapper p > .banner-txt-wrapper > span.banner-titolo { font-size: 1.2em; line-height: 1em; margin: 0; display: block; font-weight: 700; }
.banner-wrapper a .imgcnt { display: block; overflow: hidden; }
.banner-wrapper a img { opacity: 0.99; width: 100%; filter: alpha(opacity=99); -webkit-transition: all 0.4s; -moz-transition: all 0.4s; -o-transition: all 0.4s; transition: all 0.4s; -webkit-backface-visibility: hidden; }
html:not(.touch) .banner-wrapper a:hover img { opacity: 0.55; filter: alpha(opacity=55); transform: scale(1.1); -webkit-transform: scale(1.1); -moz-transform: scale(1.1); -ms-transform: scale(1.1); -webkit-transition: all 0.7s; -moz-transition: all 0.7s; -o-transition: all 0.7s; transition: all 0.7s; }

/* Lazy Loading */
.banner-wrapper.banner-lazy .banner-img-cnt { height: 0; position: relative; display: block; overflow: hidden; }
.banner-wrapper.banner-lazy .banner-img-cnt img { position: absolute; top: 0; left: 0; height: 100%; opacity: 0.25; transition: opacity 1s, transform 0.4s; -webkit-transition: opacity 1s, transform 0.4s; -moz-transition: opacity 1s, transform 0.4s; -ms-transition: opacity 1s, transform 0.4s; }
.banner-wrapper.banner-lazy .banner-img-cnt img.lazyloaded { opacity: 1; }

/*** MEDIA QUERY ***/
@media (min-width: 1201px) and (max-width: 1500px) {
    .banner-wrapper p > .banner-txt-wrapper > span.banner-titolo { font-size: 1em; }
}

@media (max-width: 1200px) and (min-width: 1024px) {
    .banner-wrapper { padding: 40px 25px 40px 25px; }
}

@media (min-width: 768px) and (max-width: 1023px) {
    .banner-wrapper { padding: 30px 20px 20px 20px; }
    .banner-wrapper a p > .banner-txt-wrapper > .banner-abstract { display: none; }
    .banner-wrapper p > .banner-txt-wrapper > span.banner-titolo { margin: 6px 0 6px 0; font-size: 1em; line-height: 1.2em; }
}

@media (max-width: 767px) {
    .banner-wrapper { padding: 6% 6% 0% 6%; }
    .banner-wrapper .row-fluid > div { margin-bottom: 20px; }
    .banner-wrapper p > .banner-txt-wrapper > span.banner-titolo { margin: 6px 0 6px 0; font-size: 1.1em }
}

@media (max-width:480px) {
    .banner-wrapper a p .banner-txt-wrapper { padding: 3% 5% 0 5%; }
}
