@import url('reset.css');

/*---------------------------------------------*\
                   common  
\*---------------------------------------------*/
* { margin:0; padding:0; font:16px/1.5 Arial, sans-serif;  color:#555; z-index:1; -webkit-text-size-adjust: none; -webkit-backface-visibility: hidden; backface-visibility: hidden; } 

*, *:before, *:after { box-sizing: border-box; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; box-sizing: border-box;  }

html, body { min-height:100%; height:100%; width:auto; }
html > body  {min-height:100%; height:100%; width:auto;}
html { }
body {background:#f1ebd8;  min-width:980px;}

h1,h2,h3,h4,h5,h6 {line-height:1em; color:#29275C; font-weight:normal; padding:0;  margin-bottom:10px; font-weight:600; font-family:'Exo 2', Arial, sans-serif }
h1 *, h2 *, h3 *, h4 *, h5 *, h6 * {line-height:1em; font-size:inherit; font-weight:inherit; font-family:inherit; }
h1 a:hover, h2 a:hover, h3 a:hover, h4 a:hover, h5 a:hover, h6 a:hover {line-height:1em; background:none }


h1 {font-size:32px;}
h2 {font-size:24px; }
h3 {font-size:22px; }
h4 {font-size:18px; }
h5 {font-size:16px; }
h6 {font-size:14px; }

p {margin-bottom:15px;}
a {text-decoration:none; color:#333;}
a:hover {color:#ccc;}
hr {height:1px; border:0; border-bottom:1px dotted #ccc; margin:10px 0;}
a:visited, a:link {outline:none;}
a img {border:0;}
p.err {color:red; margin-bottom:10px}

em {font-style:italic}

strong {font-weight:bold; color:inherit; }
input {margin:0; padding:0;}
form p { margin:0; padding:0;}

ul { list-style-position:inside; margin:0; padding:0; }
ol {margin-left:20px; list-style:decimal; padding-left:10px;}
ol li {margin-bottom:5px;}

.mandatory_asterisk {color:#f12;}
.mandatory_asterisk * {color:#f12;}

label {color:#393939;}

.hide {display:none}
.err {color:#f12 !important; }
strong.err {font-size:inherit; padding:0;}
h3.err {font-size:30px; padding:0;}

input:focus, select:focus {color:#442A1B; outline:none; }

/*---------------------------------------------*\
                   wrapper  
\*---------------------------------------------*/

#wrapper {position:relative; top:0; left:0; width:100%; z-index:30; }

/*---------------------------------------------*\
                  header  
\*---------------------------------------------*/

#header {width:100%; height:52px; background:url(header.png) top left repeat-x;  position:fixed; top:0; left:0; z-index:95;  }
#header-content {width:1170px; padding:0 50px; margin:0 auto; position:relative; top:0; left:0; }
#header-content #logo {position:absolute; top:19px; left:0;}
#header-content #logo h1 a {display:block; width:239px; height:125px; overflow:hidden; background:url(sodexo-logo.png) no-repeat; text-indent:-9999px}

#menu {position:absolute; top:3px; left:250px;  }
#menu ul li {position:relative; top:0; left:0; display:inline-block; margin-right:0px; z-index:7; height:35px; overflow:hidden; }
#menu ul li a {text-transform:uppercase; color:#2f2f33; padding-bottom:8px;  font-size:13px; letter-spacing:0px;  height:35px; overflow:hidden;  white-space: nowrap; padding:0px 7px; font-family:'Exo 2',Arial,sans-serif; letter-spacing:1px;}
#menu ul li a.a_aderisci {background:#CA0119; padding:3px 7px !important; color:#fff; margin-left:5px; margin-right:5px;}
#menu ul li a:hover {border-bottom:3px solid #fff; }
#menu ul li.active a {border-bottom:3px solid #29275C; }
#menu ul li.active a.a_aderisci {background:#29275C; border-bottom:0;}
#menu ul li.last a {padding-right:0; margin-right:0;}


#slider {width:100%; height:750px;  overflow:hidden;  padding-top:0px; margin-bottom:-325px;}
#slider #slider-wrapper {width:100%; max-width:1400px; margin:0 auto; }
#slider #slider-content {width:100%; max-width:1400px; margin:0 auto; }
#slider .slide {position:relative; top:0; left:0; margin:0 auto; width:100%; height:700px; overflow:hidden;}
#slider .background {text-align:center; position:absolute; top:0; left:0; z-index:10; width:100%;}
#slider .background img {width:100%;}
#slider .claim {position:absolute; top:0; left:0; z-index:15; width:100%; }
#slider .claim .claim-content {width:820px;  margin:0 auto; }
#slider .claim h2 {text-align:center; padding-top:120px; font-size:76px; color:#fff; text-shadow:1px 1px 2px #222;}
#slider .claim h4 {text-align:center; color:#fff;  text-shadow:1px 1px 2px #222; font-size:22px; margin-bottom:15px;}
#slider .more a { display:block; width:228px; height:42px; margin:0 auto; line-height:38px; color:#fff; text-transform:uppercase; background:transparent url(forward.png) 190px 14px no-repeat; border:2px solid #fff; text-align:center; letter-spacing:1px; font-weight:800 }
#slider .more a:hover { box-shadow:3px 3px 0 #fff; transition:box-shadow 0.3s ease;}


#main {width:100%; position:relative; top:0; left:0; background:url(main-head.png) top left; }
#content {width:1170px; margin:0 auto; min-height:600px; position:relative; top:0; left:0;}
body.lightbox {min-width:1px; }
body.lightbox #content {min-height:1px; width:100%;}
.extra-content a {text-decoration:underline;}

#content p > a {text-decoration:underline;}

/*---------------------------------------------*\
                  footer 
\*---------------------------------------------*/
#footer {background:#29275c; width:100%; height:110px; }
#footer-content {position:relative; top:0; left:0; min-width:980px; max-width:1500px; margin:0 auto; height:110px; overflow:hidden; }
#footer-inner {position:absolute; bottom:0; right:0; width:900px; }
#footer-sodexo {text-align:right; float:left; background:url(sodexo-footer-logo.jpg) no-repeat; width:207px; height:85px;}
#footer-menu {width:630px; margin-top:30px; float:left; margin-left:20px;}
#footer-menu ul li {display:inline-block; margin-right:20px;}
#footer-menu ul li a {color:#fff; text-transform:uppercase; font-size:12px; }
#footer-menu ul li a:hover {text-decoration:underline}



/*---------------------------------------------*\
                  homepage  
\*---------------------------------------------*/

.boxes {overflow:hidden; width:1170px; height:auto; }
.boxes .col {float:left; overflow:hidden; }
.boxes .col.last {margin-right:0;}
.boxes .col-1 {width:380px; margin-right:15px;}
.boxes .col-2 {width:775px; }
.boxes .box {margin-bottom:15px; width:380px; overflow:hidden;}
.boxes .double .box {width:775px; clear:left;}

.boxes .full {border:8px solid #29275C; width:100%; background:#fff; overflow:hidden;  margin-bottom:15px; margin-top:20px; height:auto; background:#fff url(/i/fullbox.jpg) bottom left no-repeat; padding-left:680px; height:238px; padding-top:20px;}
.boxes .full * {text-align:center;}
.boxes .full .more a {color:#29275C; border:2px solid #29275C}

.box {background:#fff; overflow:hidden;}
.box .image {min-height:50px; height:auto; width:100%; background:#ccc;}
.box .content {padding:30px; padding-top:20px;}
.box .content ul li {list-style:disc; text-align:left; margin-left:15px; margin-bottom:0;}
.box .title h4 {text-align:center; font-size:20px; text-transform:uppercase;  margin-bottom:15px; letter-spacing:2px; }
.box .icon {padding-top:100px; padding-bottom:20px; }
.box .text {text-align:center; margin-bottom:20px;}
.box .text p {margin-top:0; line-height:1.5}
.box .text * {font-size:15px; text-align:center;}
.box .cta {width:255px; margin:0 auto;}
.box .functions {width:340px; margin:0 auto;}


.box-1 { height:571px;  }
.box-2a { height:265px; }
.box-2b { height:548px; }

.box-1 .cta {width:265px;}
.box-1 .cta a {background:#cf1e15 url("forward.png") no-repeat scroll 94% 14px}

.box-3 {height:875px; background:#fff;}
.box-3 .content {}
.box-3 .icon {background:url(icon-annunce.jpg) center 25px no-repeat;   }
.box-3 .content-2 .icon {background:url(icon-services.jpg) center 25px no-repeat;   }
.box-3 .icon h4 {margin-bottom:0; }
.box-3 .content-1 {padding-bottom:22px; }
.box-3 .text {padding-top:18px; margin-bottom:0; background:url(red-line.jpg) top center no-repeat; }
.box-3 .content.content-4 {padding-bottom:0; padding:0; padding-top:50px;}
.box-3 .functions {padding-bottom:0;}

.box-3 .content {padding:15px; padding-top:15px; border-top:15px solid #F1EBD8;}
.box-3 .content-1 {border-bottom:0;}

.box-3 .elettronico {background:url(icon-card.jpg) center 25px no-repeat;  }
.box-3 .content.highlight {border:8px solid #CF1E15; }
.box-3 .content.nectar {border-top:0;}

.box-3 .image-nectar {border-top:15px solid #F1EBD8;} 

.box-4 {height:362px; }
.box-4b {height:220px; }
.box-4 .icon {padding-top:45px; background:url(icon-lock.jpg) center 0px no-repeat;  padding-bottom:0; }
.box-4b .icon {padding-top:15px; background:none;  padding-bottom:0; }
.box-4 .text {margin-bottom:0px}
.form input.input { background:#f6f6f6; color:#555; width:100%; padding:0 10px; text-transform:uppercase; height:42px; line-height:42px; font-weight:bold; letter-spacing:1px; border:0; margin-bottom:4px;}
.form input.button { width:100%; padding:0 20px; }
.form p.infos { font-size:11px; color:#888; line-height:2em }
.form p.infos a { font-size:11px; color:#888; line-height:2em }

.form-feedback {margin-bottom:20px;}
.form-feedback.error {background:#F96363; padding:5px;}
.form-feedback.error .content {background:#f3f3f3;  padding:10px;}
.form-feedback.error .message {color:#D25353}

.box-5 {height:393px;  height:auto !important;} 
.box-5 .icon { background:url(icon-functions.jpg) center 15px no-repeat; padding-top:60px; padding-bottom:10px;}
.box-5 .content {padding-bottom:0;}
.box-5 .text {margin-bottom:0; padding-bottom:0;}
.box-5 .functions {padding-bottom:2px;}
.box-5 .functions a {margin-bottom:24px; }

.box-6 {background:url(box-6a.jpg) center center no-repeat; height:270px; padding-top:60px; }
.box-6 h2 { font-size:24px; text-transform:uppercase; color:#fff; text-align:center;  letter-spacing:1px; text-shadow:1px 1px 2px #222}
.box-6 h3 { font-size:18px; font-weight:normal; color:#fff; text-align:center; margin-bottom:30px; text-shadow:1px 1px 2px #222}

.more a { font-size:18px; display:block; width:228px; height:42px; margin:0 auto; line-height:38px; color:#fff; text-transform:uppercase; background:transparent url(forward.png) 190px 14px no-repeat; border:2px solid #fff; text-align:center; letter-spacing:1px; font-weight:normal }
.more a:hover {box-shadow:3px 3px 0 #fff; transition:all 0.3s ease; }

.button {display:inline-block; height:42px; line-height:42px; color:#fff; width:100%; text-align:center; background:#CF1E15 url(forward.png) 230px 14px no-repeat; text-transform:uppercase; letter-spacing:1px; font-size:16px; transition:box-shadow 0.3s ease; border:0; text-decoration: none !important;}
.button.big {width:340px; text-align:left; background:#CF1E15 url(forward.png) 290px 14px no-repeat; padding-left:40px; margin-bottom:10px;}
.button.small {width:auto; padding:0 20px; padding-right:30px; background:#CF1E15 url(forward.png) 95% 14px no-repeat;}
.button:hover {color:#fff; box-shadow:4px 4px 0 #ccc}


.box-2a .banner-gamma {background:url(banner-gamma-2.jpg) top center no-repeat; background-size:cover; height:265px; padding-top:85px; }
.box-2a .banner-gamma h2 { font-size:24px; text-transform:uppercase; color:#fff; text-align:center;  letter-spacing:1px; margin-bottom:25px; text-shadow:1px 1px 2px #222}
.box-2b .text {padding-top:18px; margin-bottom:0; background:url(red-line.jpg) top center no-repeat; }



/******************/

#servizi {overflow:hidden;}
#servizi-scroll {width:9999px; position:relative; top:0; left:0;}
#servizi-scroll .boxes {width:auto; overflow:hidden; }
#servizi .box{height:auto !important; min-height:795px; position:relative; top:0; left:0;}
#servizi .box .content {padding:20px;}
#servizi .box .cta {position:absolute; bottom:30px;left:70px; }

#il-prev {position:absolute; top:345px; cursor:pointer; z-index:99; left:-45px; width:31px; height:60px; background:url(prev-arrow.png) no-repeat; }
#il-prev.disabled {cursor:default; opacity:.2}
#il-prev:hover {opacity:.5}
#il-next {position:absolute; top:345px; cursor:pointer; z-index:99; right:-55px; width:31px; height:60px; background:url(next-arrow.png) no-repeat; }
#il-next:hover {opacity:.5}
#il-next.disabled {cursor:default; opacity:.2}

.extra-contents {display:none;}
.extra-content {padding:30px;}
.extra-content h3 {font-size:30px; text-align:center; margin-bottom:40px;}
.extra-content h4 {font-size:22px;}
.extra-content hr {color:#f8f8f8; margin-bottom:30px}
.extra-content ul {margin-bottom:20px}
.extra-content ul li {list-style:disc; list-style-position:outside; margin-left:22px;}

.extra-content {padding-top:55px; background:url(header.png) 0 -30px repeat-x; }

/******************/
#page {background:#fff; padding:20px; padding-bottom:100px; margin-bottom:50px;}
#page-title { width:100%; }

.columns {}
.columns .formPage p label {width:350px; max-width:270px;}
.columns .form-section {border:1px solid #f0f0f0; padding:10px; margin-bottom:10px;}
.columns .two-cols {overflow:hidden; }
.columns .col {min-height:560px; float:left; background:#fff; padding:50px 30px; margin-bottom:50px; }
.columns .col.tall {height:1665px;}
.columns .col-1 {width:450px; margin-right:15px; }
.columns .col-2 {width:700px; }
.columns .col h4 {width:100%; text-align:center; margin-bottom:50px;}
.columns .regole p {margin-bottom:5px; font-size:12px;}
.columns .regole strong {font-size:12px;}
.columns iframe {margin:30px 0; background:#f3f3f3; margin-top:0;}
.columns .col-full { float: none; }

.columns .form-section.end { border: none; }
.columns .form-section.end .submit { text-align: center; }

fieldset.radio legend { float: left; width: 350px; max-width: 270px; margin: 5px 20px 5px 0px; min-width: 140px; text-transform: uppercase; letter-spacing: 1px; font-size: 12px; font-weight: bold; display: inline-block; text-align: left; color: #393939; min-height: 30px; line-height: 30px; }
fieldset.radio .div_radio { float: left; }
fieldset.radio .p_radio { position: relative; top: 0px; left: 0px; z-index: 50; min-height: 30px; margin: 0px; max-width: 100%; float: left; }
fieldset.radio .p_radio label { max-width: 90%; vertical-align:middle;}

fieldset.multicheckbox input.checkbox { top: 5px; }
fieldset.multicheckbox input { margin-right: 5px; padding: 5px; width: 250px; height: 25px; }
fieldset.multicheckbox label { max-width: 100%; line-height: 1em; }

.div_radio span.err, fieldset.radio span.err, fieldset.multicheckbox span.err { float: none !important; }

#promuovi .col-1 {height:818px}

/*---------------------------------------------*\
                 affiliati
\*---------------------------------------------*/
#lista-affiliati {overflow:hidden}

.affiliato {position:relative; float:left; width:300px; margin:0px 37px 30px 37px; min-height:400px; border:1px solid #f0f0f0}
.affiliato .short-description {padding:10px; height:95px; overflow:hidden;}
.affiliato .logo {display:block; margin:20px auto}
.affiliato .cta {position:absolute; bottom:0; left:0; width:100%;}
.affiliato a {display:block; width:100%; background:#CA0119; color:#fff; text-align: center; padding:5px 0px}

#slider-promo {margin-bottom:30px; overflow:hidden; height:420px;}
#slider-promo .bx-viewport {border:1px solid #ccc;}
#slider-promo .bx-pager {position:relative; top:0px} 
#slider-promo .bx-wrapper .bx-pager.bx-default-pager a {background:#ccc}
#slider-promo .bx-wrapper .bx-pager.bx-default-pager a:hover, #slider-promo .bx-wrapper .bx-pager.bx-default-pager a.active {background:#29275C}

.img_promo {float:left;}
.text-promo {float:left; margin-left:30px; width:500px}
.link-promo {display:block; background:#CA0119; color:#fff; text-align: center; padding:5px 0px; margin-top:20px; width:200px}



#main-promo {height:360px; overflow:hidden; background:#fff;  margin-bottom:10px;}
#main-promo .image {height:360px; width:510px; float:left;  }
#main-promo .content {width:660px; height:360px;  padding:30px; float:left; position:relative; top:0; left:0; margin-bottom:10px; }
#main-promo .content h3 { color:#000; font-size:16px; margin-bottom:20px; text-transform:uppercase}
#main-promo .content h2 {font-size:26px;}
#main-promo .content  .link-promo {position:absolute; bottom:30px;}

#subpromos {width:100%; overflow:hidden; margin-bottom:50px; background:#fff; }
#subpromos h4 {margin-top:20px; text-align:center; font-size:18px; text-transform:uppercase;  margin-bottom:15px; letter-spacing:1px; color:#000; padding-top:60px; text-align:center; background:url(icon-locale.png) center top no-repeat;}
#subpromos #libero h4 {background:url(icon-tempolibero.png) center top no-repeat;}
.subpromo {margin-right:0; width:100%; background:#fff; float:left; min-height:430px; padding:20px;}
.subpromo h4 {text-align:center; font-size:18px; text-transform:uppercase;  margin-bottom:15px; letter-spacing:1px; color:#000; padding-top:60px;}
.subpromo.last {margin-right:0;}
.subpromo .bxslider {}
.subpromo .promo {float:left; margin-right:7px; position:relative; top:0; left:0; width:220px; overflow:hidden; text-align:center; height:345px; background:#F1EBD8; }
.subpromo .promos {overflow:hidden;}
.subpromo .promos  .last {margin-right:0;}
/*.subpromo .promos .td-wrapper {overflow:hidden;}
.subpromo .promos .td {width:260px; float:left;}
.subpromo .promos .td-1 {margin-right:20px;}
*/
.subpromo .promo h5 {text-transform:uppercase; text-align:center; margin-top:10px; margin-bottom:15px; padding:0 15px;}
.subpromo .promo .image {text-align:center; margin-bottom:30px; margin-top:30px;}
.subpromo .promo .image img {width:auto; display:inline;}
.subpromo .promo a {position:absolute; bottom:0; width:100%;}

/*---------------------------------------------*\
                 faq
\*---------------------------------------------*/
#faq {}
#faq .section {clear:left;}
#faq .section.grey {padding-bottom:30px; }
#faq .section.white {background:#fff; padding:30px; }
#faq .section.light-grey {background:#eeefef; padding:30px;}
#faq .article {position:relative; top:0; left:0; width:100%; margin:0 auto; margin-bottom:30px; }
#faq .article .open-close a {display:block; height:40px; width:38px; background:#ccc; color:#fff; position:absolute; top:0; right:0; background:url(news-oc.png) bottom left no-repeat; text-indent:-99999px; transition:all 0.3s ease}
#faq .article .open-close a:hover {opacity:.5; transition:all 0.3s ease}
#faq .article .open-close a.close {background-position: top left;}
#faq .article h4 {font-size:20px; text-align:left; padding-right:120px; }
#faq .article .short_description {padding-right:120px; }
#faq .article .long_description {overflow:hidden; display:none; }
#faq .article .long_description .content {width:500px; margin-right:20px; float:left;  }
#faq .article .long_description .image { width:340px; height:340px;  padding:0; float:left; overflow:hidden;  margin:0; border:10px solid #fff; }
#faq .article .long_description .image img {margin:0;  }
#faq .article .long_description a {text-decoration:underline;}

/* CLUB AFFILIATI */
.logo-newbrands {text-align:center}
.logo-newbrands p {text-align:center}
.logo-newbrands p img {margin:50px 2.5%;}
.logo-newbrands .link-promo {text-align:center; display:inline-block; margin-top:30px;}

