@font-face {
  font-family: 'OPTIVagRound';
  src: url('../fonts/OPTIVagRound-Bold.woff') format('woff'), url('../fonts/OPTIVagRound-Bold.woff2') format('woff2');
  font-weight: bold;
  font-style: normal;
}
@font-face {
  font-family: 'IcoFont';
  font-style: 'Regular';
  font-weight: normal;
  src: url('../fonts/icofont.woff2') format("woff2"), url('../fonts/icofont.woff') format("woff");
}
@keyframes spin {
  0% {
    -webkit-transform: rotate(0deg);
    -ms-transform: rotate(0deg);
    -o-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
    -ms-transform: rotate(360deg);
    -o-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}
body {
  background-color: #ffffff;
}
body * {
  font-family: "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif;
  color: #222222;
  font-size: 1em;
  line-height: 1.3;
  outline: none;
}
body.loading {
  overflow: hidden;
  position: relative;
  margin: 0 auto;
}
body.loading:after,
body.loading:before {
  content: "";
  left: 0;
  position: absolute;
  right: 0;
  text-align: center;
}
body.loading:after {
  background-color: #222222;
  height: 100%;
  position: fixed;
  min-height: 100vh;
  margin: 0 auto;
  top: 0;
  opacity: .75;
  width: 100%;
  z-index: 1000;
}
body.loading:before {
  animation: spin 2s infinite;
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  border-radius: 50%;
  border: 0;
  border-bottom: 9px solid #182d70;
  display: block;
  margin: auto;
  width: 100px;
  height: 100px;
  top: 50%;
  -webkit-transform: translateY(-50%);
  -moz-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  -o-transform: translateY(-50%);
  transform: translateY(-50%);
  z-index: 999;
}
a.btn,
a.button,
button,
button.btn,
button.button,
.button,
.remove-button {
  font-family: 'OPTIVagRound';
  font-size: 13px;
  border: 2px solid transparent;
  display: inline-block;
  line-height: 1.1;
  padding: .9em 1em;
  margin: 0;
  background-color: #182d70;
  color: #ffffff;
  -webkit-border-radius: 20px;
  -moz-border-radius: 20px;
  border-radius: 20px;
  min-width: 150px;
}
a.btn:hover,
a.btn:focus,
a.button:hover,
a.button:focus,
button:hover,
button:focus,
button.btn:hover,
button.btn:focus,
button.button:hover,
button.button:focus,
.button:hover,
.button:focus,
.remove-button:hover,
.remove-button:focus {
  border-color: #182d70;
  background-color: #ffffff;
  color: #182d70;
}
a.btn.hollow,
a.button.hollow,
button.hollow,
button.btn.hollow,
button.button.hollow,
.button.hollow,
.remove-button.hollow {
  border: 2px solid #182d70;
  background-color: #ffffff;
  color: #182d70;
}
a.btn.hollow:hover,
a.btn.hollow:focus,
a.button.hollow:hover,
a.button.hollow:focus,
button.hollow:hover,
button.hollow:focus,
button.btn.hollow:hover,
button.btn.hollow:focus,
button.button.hollow:hover,
button.button.hollow:focus,
.button.hollow:hover,
.button.hollow:focus,
.remove-button.hollow:hover,
.remove-button.hollow:focus {
  background-color: #182d70;
  border-color: transparent;
  color: #ffffff;
}
form .group-field {
  margin-bottom: 2rem;
}
form .group-field label {
  position: absolute;
  cursor: text;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-transition: color .2s ease-out, -webkit-transform .2s ease-out;
  transition: color .2s ease-out, -webkit-transform .2s ease-out;
  transition: transform .2s ease-out, color .2s ease-out;
  transition: transform .2s ease-out, color .2s ease-out, -webkit-transform .2s ease-out;
  -webkit-transform-origin: 0% 100%;
  transform-origin: 0% 100%;
  -webkit-transform: translateY(10px);
  -moz-transform: translateY(10px);
  -ms-transform: translateY(10px);
  -o-transform: translateY(10px);
  transform: translateY(10px);
  margin-left: 10px;
}
form .group-field label.focus {
  color: #aaaaaa;
  font-size: 12px;
  padding-right: 10px;
  background-color: #ffffff;
  -webkit-transform: translateY(-12px) scale(0.8);
  transform: translateY(-12px) scale(0.8);
  -webkit-transform-origin: 0 0;
  transform-origin: 0 0;
}
form label {
  font-family: 'OPTIVagRound';
  font-size: 14px;
  color: #2d3b94;
  margin-top: 5px;
}
form label.civility_label {
  margin-right: 35px;
}
form [type=email],
form [type=password],
form [type=text],
form select {
  font-family: 'OPTIVagRound';
  font-size: 14px;
  border: 0;
  margin: 0;
  height: 2.5em;
  font-size: .875em;
  box-shadow: none;
  background-color: #eeeeee;
  border-radius: 5px;
}
form [type=email]:hover,
form [type=email]:focus,
form [type=email]:active,
form [type=password]:hover,
form [type=password]:focus,
form [type=password]:active,
form [type=text]:hover,
form [type=text]:focus,
form [type=text]:active,
form select:hover,
form select:focus,
form select:active {
  -webkit-box-shadow: none;
  -moz-box-shadow: none;
  box-shadow: none;
  border: 0;
  background-color: #eeeeee;
}
form textarea {
  font-family: 'OPTIVagRound';
  font-size: 16px;
  border: 0;
  background-color: #eeeeee;
  border-radius: 5px;
  box-shadow: none;
  margin: 0 0 2rem;
  min-height: 100px;
}
form textarea:focus {
  border: 0;
  background-color: #eeeeee;
  box-shadow: none;
}
form .checkbox {
  margin: 4rem 0;
  position: relative;
}
form .checkbox label {
  font-family: 'OPTIVagRound';
  text-transform: none;
}
form .checkbox label a {
  font-family: 'OPTIVagRound';
  color: #182d70;
  text-decoration: underline;
}
form .checkbox input {
  margin: 0;
  position: absolute;
  left: 4px;
}
form .checkbox input + label {
  margin: 0;
  padding-left: 2em;
  position: relative;
}
form .checkbox input + label::before {
  background-color: #ffffff;
  content: '';
  display: block;
  font-family: 'IcoFont';
  font-size: 1.25em;
  line-height: .9;
  position: absolute;
  top: -0.2em;
  left: 0;
  width: 1em;
  height: 1em;
  border: 1px solid #182d70;
  -webkit-border-radius: .25em;
  -moz-border-radius: .25em;
  border-radius: .25em;
}
form .checkbox input:checked + label::before {
  content: "\eed8";
  color: #182d70;
}
form .checkbox ul.errors {
  margin: 0 0 .5rem 0;
  position: static;
  text-align: left;
}
form .choice input[type=radio] {
  position: absolute;
}
form .choice input[type=radio] + label {
  font-family: 'Roboto Regular';
  position: relative;
  padding-left: 25px;
}
form .choice input[type=radio] + label:before {
  content: "";
  width: 20px;
  height: 20px;
  left: -11px;
  top: 0px;
  position: absolute;
  -webkit-border-radius: 10px;
  -moz-border-radius: 10px;
  border-radius: 10px;
  background-color: #ffffff;
  border: 1px solid #182d70;
}
form .choice input[type=radio]:checked + label:after {
  content: "";
  width: 10px;
  height: 10px;
  position: absolute;
  top: 3px;
  left: 0;
  margin-top: 2px;
  margin-left: -6px;
  -webkit-border-radius: 10px;
  -moz-border-radius: 10px;
  border-radius: 10px;
  background-color: #182d70;
}
form .civility {
  display: inline-block;
  width: 69%;
}
form .civility label {
  text-transform: none;
}
form .errored ul.errors {
  margin-top: 15px;
  margin-bottom: 15px;
}
form .actions {
  direction: rtl;
  margin: 1rem auto 2rem;
  text-align: center;
  padding-bottom: 20px;
}
form .actions > * {
  direction: ltr;
  display: inline-block;
  margin: 0 .5em;
}
.contact p,
.contact a,
.important p,
.important a,
.warning p,
.warning a,
.mandatory p,
.mandatory a,
.cnil p,
.cnil a {
  font-size: 12px;
  color: #aaaaaa;
  font-family: "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif;
  text-align: left;
}
.mandatory p span {
  color: #182d70;
}
h2 {
  font-family: 'OPTIVagRound';
  color: #ffffff;
  text-align: center;
  font-size: 28px;
  padding-top: 60px;
}
h3 {
  font-size: 24px;
  color: #4257a3;
  font-weight: bold;
  font-family: "OPTIVagRound";
  text-align: center;
}
div#main > div {
  max-width: 100%;
}
.action {
  margin: 2rem 0;
  text-align: center;
}
.captcha {
  position: relative;
}
.captcha input {
  background: #eeeeee;
}
.captcha .captcha-field {
  width: 55%;
}
.captcha img {
  position: absolute;
  right: 0;
  top: -12px;
}
div#tms_step_navigator__data_recaptcha {
  margin-left: auto;
  margin-right: auto;
}
div#tms_step_navigator__data_recaptcha >div {
  margin: 2rem auto 3rem;
}
.reveal {
  padding: 2rem 1rem;
  -webkit-border-radius: 30px;
  -moz-border-radius: 30px;
  border-radius: 30px;
}
.reveal button.close-button {
  background-color: transparent;
  min-width: auto;
  color: #182d70;
  padding: 0;
  filter: none;
  border: 0;
}
.reveal h2 {
  font-size: 20px;
}
.reveal .content {
  text-align: center;
}
.reveal .actions {
  text-align: center;
}
#tarteaucitronRoot div#tarteaucitron button {
  min-width: auto;
}
ul.errors {
  margin-left: 0;
}
ul.errors li {
  list-style-type: none;
  color: red;
  font-size: 12px;
}
.box_form,
.box_content,
.content-login {
  background-color: #ffffff;
  -webkit-border-radius: 30px;
  -moz-border-radius: 30px;
  border-radius: 30px;
  padding: 2rem;
  margin: 3rem 0;
}
header {
  background-color: #ffffff;
  padding: 0.5rem 0;
}
header h1 {
  height: 0;
  margin: 0;
  position: relative;
  z-index: 1;
}
header h1 a {
  font-size: 0;
  position: relative;
  white-space: nowrap;
  vertical-align: middle;
  display: inline-block;
  z-index: 1;
  left: 6rem;
}
header h1 a:before,
header h1 a:after {
  content: "";
  display: block;
  margin: auto;
}
header h1 a:before {
  background-image: url(../images/PerfettiLogo.png);
  background-position: center;
  background-repeat: no-repeat;
  width: 224px;
  height: 73px;
}
header .top-bar {
  max-width: 87rem;
  margin: 0 auto;
  background-color: transparent;
}
header .top-bar .top-bar-right ul {
  background-color: transparent;
}
header .top-bar .top-bar-right ul li.active >a {
  background-color: transparent;
  color: #182d70;
}
header .top-bar .top-bar-right ul li a {
  font-family: 'OPTIVagRound';
  font-size: 16px;
  color: #2d3b94;
  text-transform: uppercase;
}
footer {
  background-color: #182d70;
  padding: 0.5rem 0;
}
footer nav .menu-footer ul {
  justify-content: center;
}
footer nav .menu-footer ul li a {
  font-family: 'OPTIVagRound';
  font-size: 14px;
  color: #ffffff;
}
footer nav .menu-footer ul li.active >a {
  background-color: transparent;
}
.address-note p {
  font-family: 'Roboto italic';
}
button.disabled {
  display: none;
}
section.offers h2 {
  margin-bottom: 2rem;
}
section.offers ul {
  justify-content: space-around;
  align-items: stretch;
  margin-left: auto !important;
  margin-right: auto !important;
}
section.offers ul li {
  list-style-type: none;
  filter: drop-shadow(0 0 12.5px rgba(0,0,0,0.08));
  -webkit-border-radius: 15px;
  -moz-border-radius: 15px;
  border-radius: 15px;
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin-bottom: 2rem;
  background-color: transparent;
}
section.offers ul li .media img {
  width: -webkit-fill-available;
  border-radius: 15px 15px 0 0;
}
section.offers ul li .details_offers {
  background-color: #ffffff;
  padding: 2rem 0;
}
section.offers ul li .details_offers .short-description,
section.offers ul li .details_offers .date {
  font-family: "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif;
  font-size: 16px;
  color: #2d3b94;
}
section.offers ul li .details_offers .short-description span,
section.offers ul li .details_offers .date span {
  font-family: 'OPTIVagRound';
  text-transform: capitalize;
  color: #2d3b94;
}
section.offers ul li .details_offers .short-description {
  margin-bottom: 0;
}
section.offers ul li .details_offers .long-description {
  font-family: 'OPTIVagRound';
  font-size: 15px;
  color: #182d70;
  margin-top: 1.5rem;
  margin-bottom: 53px;
}
section.offers ul li .details_offers .comment {
  font-family: 'Roboto italic';
  font-size: 10px;
}
section.offers ul li .details_offers .view-more {
  margin-bottom: 2rem;
}
section.offers ul li:has(.comment) .long-description {
  margin-bottom: 1.5rem;
}
.home .grid-container.full {
  background-image: url(../images/backPerfetti.png);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}
.home .banner ul .orbit-slide {
  text-align: center;
}
.home .banner .content-description {
  position: absolute;
  text-align: center;
  left: 0;
  right: 0;
  bottom: 21rem;
}
.home .banner .content-description a {
  margin: 0 10px;
}
.home .banner .content-description {
  margin: -20vh auto 0;
  position: absolute;
  transform: translateY(-20%);
  text-align: center;
}
.home .banner .content-description .inner-block {
  text-align: center;
  margin-left: 5rem;
  margin-top: -9rem;
  filter: drop-shadow(0px 5px 7.5px rgba(0,0,0,0.3));
}
.home .banner .content-description .inner-block p.counter {
  padding: 0.4em 0.7em;
  color: #fff;
  text-transform: uppercase;
}
.home .banner .content-description .inner-block p.counter span.bold {
  border: 0.2px solid #fff;
  background: linear-gradient(70deg,#90b7d4,#003c69);
  display: inline-block;
  float: none;
  width: 50px;
  right: 2rem;
  position: relative;
}
.home .how-it-works {
  padding: 1rem 0 3rem;
}
.home .how-it-works h2 {
  margin: 2.5rem 0 4rem;
  padding-top: 0;
}
.home .how-it-works ul {
  list-style-type: none;
  margin-left: 0;
  margin-left: auto !important;
  margin-right: auto !important;
}
.home .how-it-works ul li {
  -webkit-border-radius: 15px;
  -moz-border-radius: 15px;
  border-radius: 15px;
}
.home .how-it-works ul li .media {
  margin: 2rem auto;
  border-radius: 50px;
  background: #2d3b94;
  width: 100px;
  height: 100px;
}
.home .how-it-works ul li .media img {
  position: relative;
  top: 25px;
}
.home .how-it-works ul li .content {
  margin-top: -4rem;
  margin-bottom: 4rem;
}
.home .how-it-works ul li .content span {
  position: relative;
  background-color: #009ee0;
  top: 4px;
  left: -30px;
  color: #fff;
  border-radius: 50%;
  display: block;
  font-family: 'OPTIVagRound';
  font-size: 16px;
  height: 35px;
  line-height: 26px;
  margin: 0 auto;
  margin-bottom: 2rem;
  padding: 0.5em;
  width: 35px;
}
.home .how-it-works ul li .content p {
  font-size: 16px;
  line-height: 1.5;
  margin-bottom: 0.5rem;
  color: #ffffff;
  font-family: "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif;
}
.home .how-it-works ul.products {
  background-color: #ffffff;
}
.home .how-it-works ul.marques li.marque,
.home .how-it-works ul.marques li.marque-1,
.home .how-it-works ul.marques li.marque-2 {
  width: 220px;
  height: 120px;
  border-radius: 20px;
  background-color: #ffffff;
}
.home .how-it-works ul.marques li.marque img,
.home .how-it-works ul.marques li.marque-1 img,
.home .how-it-works ul.marques li.marque-2 img {
  position: relative;
}
.home .how-it-works ul.marques li.marque img {
  margin-top: 30px;
}
.home .how-it-works ul.marques li.marque-1 img {
  top: 45px;
}
.home .how-it-works ul.marques li.marque-2 img {
  top: 20px;
}
.offer h2 {
  font-size: 38px;
}
.offer .informations {
  background-color: #ffffff;
  -webkit-border-radius: 15px;
  -moz-border-radius: 15px;
  border-radius: 15px;
  padding: 2rem;
  margin: 2rem 0 2rem;
}
.offer .informations .short-description,
.offer .informations .date,
.offer .informations .date span,
.offer .informations .long-description,
.offer .informations .comment,
.offer .informations p {
  font-family: "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif;
  color: #2d3b94;
}
.offer .informations .short-description span,
.offer .informations .date span {
  text-transform: capitalize;
}
.offer .informations .short-description {
  margin-bottom: 0;
}
.offer .informations .long-description {
  font-size: 19px;
  margin-bottom: 1.5rem;
}
.offer .informations .comment,
.offer .informations .date {
  font-size: 15px;
  font-weight: bold;
}
.offer .informations img {
  -webkit-border-radius: 15px;
  -moz-border-radius: 15px;
  border-radius: 15px;
}
.offer .informations .actions {
  margin-left: 30rem;
  margin-top: 2rem;
}
.offer .modalities {
  background-color: #ffffff;
  -webkit-border-radius: 15px;
  -moz-border-radius: 15px;
  border-radius: 15px;
}
.offer .modalities,
.offer .gums .grid-x .grid-margin-x {
  padding: 2rem 4rem;
  margin-bottom: 2rem;
}
.offer .modalities h3,
.offer .gums .grid-x .grid-margin-x h3 {
  color: #4257a3;
  font-size: 24px;
  margin-bottom: 2rem;
}
.offer .modalities .content_terms,
.offer .gums .grid-x .grid-margin-x .content_terms {
  max-height: 470px;
  overflow-y: auto;
}
.offer .modalities .content_terms p,
.offer .gums .grid-x .grid-margin-x .content_terms p {
  font-family: "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif;
  color: #2d3b94;
}
.offer .modalities .content_terms::-webkit-scrollbar,
.offer .gums .grid-x .grid-margin-x .content_terms::-webkit-scrollbar {
  width: 6px;
}
.offer .modalities .content_terms::-webkit-scrollbar-track,
.offer .gums .grid-x .grid-margin-x .content_terms::-webkit-scrollbar-track {
  box-shadow: inset 0 0 5px white;
  border-radius: 3px;
}
.offer .modalities .content_terms::-webkit-scrollbar-thumb,
.offer .gums .grid-x .grid-margin-x .content_terms::-webkit-scrollbar-thumb {
  background: #182d70;
  border-radius: 3px;
}
.offer .modalities .content_terms::-webkit-scrollbar-thumb:hover,
.offer .gums .grid-x .grid-margin-x .content_terms::-webkit-scrollbar-thumb:hover {
  background: #182d70;
}
.offerParticipate h2 {
  font-size: 38px;
}
.offerParticipate form ul.steps {
  text-align: center;
  counter-reset: section;
  border-bottom-width: 2px;
}
.offerParticipate form ul.steps li {
  font-family: 'OPTIVagRound';
  display: inline-block;
  position: relative;
  list-style-type: decimal;
  color: var(--Text_Color,#2d3b94);
  text-align: center;
  font-size: 16px;
}
.offerParticipate form ul.steps li span {
  font-family: 'OPTIVagRound';
}
.offerParticipate form ul.steps li:before {
  counter-increment: section;
  content: counter(section) "";
  display: block;
  font-size: 16px;
  line-height: 32px;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  margin: 0 auto;
  border: 1px solid #cdcdcd;
  background-color: #ffffff;
}
.offerParticipate form ul.steps li.previous {
  color: #182d70;
}
.offerParticipate form ul.steps li.previous:before {
  content: "\f00c";
  font-family: FontAwesome;
  color: #ffffff;
  display: block;
  font-size: 16px;
  line-height: 32px;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  margin: 0 auto;
  border: 1px solid #cdcdcd;
  background-color: #182d70;
}
.offerParticipate form ul.steps li.previous:after {
  background-color: #182d70 !important;
}
.offerParticipate form ul.steps li.current {
  color: #182d70;
}
.offerParticipate form ul.steps li.current:before {
  background-color: #182d70;
  color: #ffffff;
}
.offerParticipate form ul.steps li:after {
  content: "";
  width: 171.176px;
  height: 3px;
  flex-shrink: 0;
  position: absolute;
  top: 32%;
  right: 0;
  background: linear-gradient(to right,#2d3b94 50%,#e1e4fc 50%);
  left: 7.5rem;
  z-index: -1;
}
.offerParticipate form ul.steps li:last-child::after {
  display: none;
}
.offerParticipate form ul.steps li.step_3,
.offerParticipate form ul.steps li.step_4 {
  display: none;
}
.offerParticipate form ul.steps h3.message {
  color: #e9041e;
}
.offerParticipate form .grid-x.grid-margin-x {
  border-radius: 30px;
  padding: 2rem;
  margin: 3rem 0;
  background-color: #ffffff;
}
.offerParticipate form .grid-x.grid-margin-x .form_row {
  margin-top: 1rem;
}
.offerParticipate form .sub-title {
  text-align: center;
}
.offerParticipate form .sub-title h3 {
  font-family: 'OPTIVagRound';
  font-size: 16px;
  color: #2d3b94;
  margin: 1rem 0 2rem;
}
.offerParticipate form .sub-title h3.message {
  color: #e9041e;
}
.offerParticipate form .sub-title p {
  font-size: 12px;
  color: #2d3b94;
  font-weight: bold;
  font-family: "OPTIVagRound";
  text-align: center;
}
.offerParticipate form .warning {
  text-align: center;
}
.offerParticipate form .warning p {
  font-size: 16px;
}
.offerParticipate form .warning ul {
  margin-left: 0;
  list-style-type: none;
}
.offerParticipate form.proof .checkbox {
  text-align: center;
  margin-top: 3rem;
}
.offerParticipate form.proof .checkbox input {
  left: auto;
}
.offerParticipate form.proof a.info {
  position: relative;
  margin-top: -2px;
  margin-left: 10px;
}
.offerParticipate form.proof a.info i {
  font-style: normal;
}
.offerParticipate form.proof a.info i:before {
  content: "\efcc";
  font-family: "IcoFont";
  font-size: 16px;
  line-height: 1.5;
  color: #ffffff;
  background-color: #182d70;
  position: absolute;
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  border-radius: 50%;
  width: 24px;
  height: 24px;
  text-align: center;
}
.offerParticipate form.proof .upload_button_wrapper {
  text-align: center;
  border: 2px dashed #182d70;
  margin-bottom: 3rem;
  position: relative;
  background-image: url(../images/upload1.png);
  background-repeat: no-repeat;
  background-position: center;
  margin-bottom: 40px;
  width: 570px;
  height: 150px;
  border-radius: 20px;
}
.offerParticipate form.proof .upload_button_wrapper button.upload {
  background: transparent !important;
  position: relative;
  left: 38px;
  top: 4rem;
  color: #2d3b94;
  border: none;
  font-family: 'OPTIVagRound';
}
.offerParticipate form.proof .upload_button_wrapper button.upload:before {
  content: "ou ";
  position: relative;
  text-transform: lowercase;
  color: #2d3b94;
  font-family: 'OPTIVagRound';
  font-size: 16px;
  font-style: normal;
  font-weight: 400;
  line-height: normal;
}
.offerParticipate form.proof .upload_container {
  text-align: center;
  margin-bottom: 2rem;
}
.offerParticipate form.proof .upload_container button.button.upload {
  margin-bottom: 5px;
}
.offerParticipate form.proof .upload_container .uploaded_area .item img {
  max-width: 150px !important;
}
.offerParticipate form.proof .upload_container .uploaded_area .item .file_data {
  margin-top: 1rem;
}
.offerParticipate form.proof .upload_container .uploaded_area .item .file_data p.reference,
.offerParticipate form.proof .upload_container .uploaded_area .item .file_data p.mime_type {
  display: none;
}
.offerParticipate form.proof .upload_container.empty .item .file_data p {
  display: none;
}
.offerParticipate form.proof button.add-button.success {
  color: #e9041e;
  background-color: #ffffff;
  border: none;
}
.offerParticipate form.proof button.add-button.success:before {
  content: "+";
  position: relative;
  text-transform: lowercase;
  color: #ffffff;
  font-family: 'OPTIVagRound';
  font-size: 16px;
  font-style: normal;
  font-weight: 400;
  line-height: 32px;
  background-color: #e9041e;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  margin: 0 auto;
  display: inline-block;
}
.offerParticipate form.proof input.number {
  width: 170px;
  text-align: center;
}
.offerParticipate form.validParticipation {
  text-align: center;
}
.offerParticipate form.validParticipation h3 {
  color: #2d3b94;
}
.offerParticipate form.validParticipation p {
  font-family: "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif;
  font-size: 16px;
  color: #2d3b94;
}
.offerParticipate form.choice .parc-choice {
  text-align: center;
  position: relative;
  margin-bottom: 4rem;
}
.offerParticipate form.choice .parc-choice input[type=radio] {
  bottom: 0;
  top: 194px;
}
.offerParticipate form.choice .parc-choice input[type=radio] + label {
  padding: 0;
}
.offerParticipate form.choice .parc-choice input[type=radio] + label:before {
  bottom: 0;
  top: 191px;
}
.offerParticipate form.choice .parc-choice input[type=radio]:checked + label:after {
  top: 194px;
}
.offerParticipate form.choice .parc-choice label span.parc-img {
  display: block;
  margin: 0 auto 20px;
}
.offerParticipate form.choice .parc-choice label span.parc-name {
  font-family: 'Roboto bold';
  font-size: 12px;
  text-transform: none;
}
.offerParticipate form .proofs label {
  display: none;
}
.gums .grid-container .grid-x.grid-margin-x,
.bonbons .grid-container .grid-x.grid-margin-x,
.presentoirs .grid-container .grid-x.grid-margin-x,
.terms .grid-container .grid-x.grid-margin-x {
  border-radius: 30px;
  padding: 2rem;
  margin: 3rem 0;
  background-color: #ffffff;
}
.gums .grid-container .grid-x.grid-margin-x .form_row,
.bonbons .grid-container .grid-x.grid-margin-x .form_row,
.presentoirs .grid-container .grid-x.grid-margin-x .form_row,
.terms .grid-container .grid-x.grid-margin-x .form_row {
  margin-top: 1rem;
}
.gums .grid-container .grid-x.grid-margin-x ul,
.bonbons .grid-container .grid-x.grid-margin-x ul,
.presentoirs .grid-container .grid-x.grid-margin-x ul,
.terms .grid-container .grid-x.grid-margin-x ul {
  margin-left: 0;
}
.gums .grid-container .grid-x.grid-margin-x ul li.product,
.gums .grid-container .grid-x.grid-margin-x ul li.gum,
.bonbons .grid-container .grid-x.grid-margin-x ul li.product,
.bonbons .grid-container .grid-x.grid-margin-x ul li.gum,
.presentoirs .grid-container .grid-x.grid-margin-x ul li.product,
.presentoirs .grid-container .grid-x.grid-margin-x ul li.gum,
.terms .grid-container .grid-x.grid-margin-x ul li.product,
.terms .grid-container .grid-x.grid-margin-x ul li.gum {
  list-style-type: none;
  padding: 15px;
}
.gums .grid-container .grid-x.grid-margin-x ul li.product .content,
.gums .grid-container .grid-x.grid-margin-x ul li.gum .content,
.bonbons .grid-container .grid-x.grid-margin-x ul li.product .content,
.bonbons .grid-container .grid-x.grid-margin-x ul li.gum .content,
.presentoirs .grid-container .grid-x.grid-margin-x ul li.product .content,
.presentoirs .grid-container .grid-x.grid-margin-x ul li.gum .content,
.terms .grid-container .grid-x.grid-margin-x ul li.product .content,
.terms .grid-container .grid-x.grid-margin-x ul li.gum .content {
  padding: 1rem;
}
.gums .grid-container .grid-x.grid-margin-x ul li.product .content h4,
.gums .grid-container .grid-x.grid-margin-x ul li.product .content p,
.gums .grid-container .grid-x.grid-margin-x ul li.gum .content h4,
.gums .grid-container .grid-x.grid-margin-x ul li.gum .content p,
.bonbons .grid-container .grid-x.grid-margin-x ul li.product .content h4,
.bonbons .grid-container .grid-x.grid-margin-x ul li.product .content p,
.bonbons .grid-container .grid-x.grid-margin-x ul li.gum .content h4,
.bonbons .grid-container .grid-x.grid-margin-x ul li.gum .content p,
.presentoirs .grid-container .grid-x.grid-margin-x ul li.product .content h4,
.presentoirs .grid-container .grid-x.grid-margin-x ul li.product .content p,
.presentoirs .grid-container .grid-x.grid-margin-x ul li.gum .content h4,
.presentoirs .grid-container .grid-x.grid-margin-x ul li.gum .content p,
.terms .grid-container .grid-x.grid-margin-x ul li.product .content h4,
.terms .grid-container .grid-x.grid-margin-x ul li.product .content p,
.terms .grid-container .grid-x.grid-margin-x ul li.gum .content h4,
.terms .grid-container .grid-x.grid-margin-x ul li.gum .content p {
  color: #2d3b94;
  font-family: "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif;
  text-align: center;
  font-size: 16px;
}
.gums .grid-container .grid-x.grid-margin-x ul li.product .content h4,
.gums .grid-container .grid-x.grid-margin-x ul li.gum .content h4,
.bonbons .grid-container .grid-x.grid-margin-x ul li.product .content h4,
.bonbons .grid-container .grid-x.grid-margin-x ul li.gum .content h4,
.presentoirs .grid-container .grid-x.grid-margin-x ul li.product .content h4,
.presentoirs .grid-container .grid-x.grid-margin-x ul li.gum .content h4,
.terms .grid-container .grid-x.grid-margin-x ul li.product .content h4,
.terms .grid-container .grid-x.grid-margin-x ul li.gum .content h4 {
  font-weight: bold;
}
.gums .grid-container .grid-x.grid-margin-x ul li.product .content p,
.gums .grid-container .grid-x.grid-margin-x ul li.gum .content p,
.bonbons .grid-container .grid-x.grid-margin-x ul li.product .content p,
.bonbons .grid-container .grid-x.grid-margin-x ul li.gum .content p,
.presentoirs .grid-container .grid-x.grid-margin-x ul li.product .content p,
.presentoirs .grid-container .grid-x.grid-margin-x ul li.gum .content p,
.terms .grid-container .grid-x.grid-margin-x ul li.product .content p,
.terms .grid-container .grid-x.grid-margin-x ul li.gum .content p {
  font-size: 12px;
  margin-bottom: 0;
}
.gums .grid-container .grid-x.grid-margin-x h3.namegamme,
.bonbons .grid-container .grid-x.grid-margin-x h3.namegamme,
.presentoirs .grid-container .grid-x.grid-margin-x h3.namegamme,
.terms .grid-container .grid-x.grid-margin-x h3.namegamme {
  background: #2d3b94;
  color: #ffffff;
  margin: auto;
  padding: 6px;
  width: 100%;
  font-size: 16px;
  font-weight: bold;
}
.terms .grid-container .grid-x.grid-margin-x {
  padding: 7rem;
}
.gums .grid-container .grid-x.grid-margin-x ul li.gum .log1,
.gums .grid-container .grid-x.grid-margin-x ul li.gum .log,
.bonbons .grid-container .grid-x.grid-margin-x ul li.gum .log1,
.bonbons .grid-container .grid-x.grid-margin-x ul li.gum .log {
  width: 220px;
  height: 100px;
  border-radius: 20px;
  background-color: #ffffff;
}
.gums .grid-container .grid-x.grid-margin-x ul li.gum .log1,
.bonbons .grid-container .grid-x.grid-margin-x ul li.gum .log1 {
  border: 3px solid #4257a3;
}
.gums .grid-container .grid-x.grid-margin-x ul li.gum .log1 img,
.bonbons .grid-container .grid-x.grid-margin-x ul li.gum .log1 img {
  margin: 1rem auto;
}
.gums .grid-container .grid-x.grid-margin-x ul li.gum .log1 img.mentos,
.bonbons .grid-container .grid-x.grid-margin-x ul li.gum .log1 img.mentos {
  margin: 2rem auto;
}
.gums .grid-container .grid-x.grid-margin-x ul li.gum .log,
.bonbons .grid-container .grid-x.grid-margin-x ul li.gum .log {
  border: 3px solid rgba(45,59,148,0.09);
}
.gums .grid-container .grid-x.grid-margin-x ul li.gum .log img,
.bonbons .grid-container .grid-x.grid-margin-x ul li.gum .log img {
  margin: 2rem auto;
}
.gums .grid-container .grid-x.grid-margin-x ul li.gum .log img.chupa,
.bonbons .grid-container .grid-x.grid-margin-x ul li.gum .log img.chupa {
  margin: 0.6rem auto;
}
.gums .grid-container .grid-x.grid-margin-x ul li.gum .log img.frisk,
.bonbons .grid-container .grid-x.grid-margin-x ul li.gum .log img.frisk {
  margin: 1rem auto;
}
.gums .grid-container .grid-x.grid-margin-x ul li.gum:has(:focus),
.bonbons .grid-container .grid-x.grid-margin-x ul li.gum:has(:focus) {
  border-radius: 20px;
  border: 3px solid #4257a3;
}
.presentoirs ul.grid-x.grid-padding-x {
  width: 100%;
}
.presentoirs ul.grid-x.grid-padding-x li.gum {
  margin: 0;
  list-style-type: none;
}
.presentoirs ul.grid-x.grid-padding-x li.gum img {
  height: 400px;
}
.offers h2 {
  color: #ffffff;
}
.error .message {
  color: #182d70;
  font-size: 24px;
  text-align: center;
  min-height: 75vh;
}
.complaint form .grid-x.grid-padding-x {
  border-radius: 30px;
  padding: 2rem;
  margin: 3rem 0;
  background-color: #ffffff;
}
.complaint form .contact_desc p {
  font-family: 'OPTIVagRound';
  font-size: 16px;
  color: #2d3b94;
  text-align: center;
  margin: 1.5rem 0 3rem;
}
.modalities .content_terms ul li {
  color: #2d3b94;
}
@media screen and (min-width: 40em) {
  body.offerParticipate,
  body.offer,
  body.gums,
  body.bonbons,
  body.presentoirs,
  body.terms,
  body.complaint {
    background-repeat: no-repeat;
    background-position: top center;
    background-size: 100% 100%;
  }
  body.offer {
    background-repeat: no-repeat;
    background-position: top center;
    background-size: 100% auto;
  }
  body.gums,
  body.bonbons {
    background-image: url(../images/backgroundPerfetti1.png);
  }
  body.offerParticipate,
  body.offer,
  body.terms,
  body.complaint,
  body.presentoirs {
    background-image: url(../images/backMentionlegale.png);
  }
  header {
    height: 80px;
  }
  header .top-bar p.hello {
    margin-left: 30px;
  }
  header .top-bar .top-bar-right {
    margin-top: -2px;
  }
  header .top-bar .top-bar-right ul li.active >a {
    background-color: transparent;
    color: #182d70;
    position: relative;
  }
  header .top-bar .top-bar-right ul li.active >a:after {
    content: "";
    position: absolute;
    width: 80%;
    height: 3px;
    background-color: #182d70;
    bottom: 0;
    left: 0;
    right: 0;
    margin: 0 auto;
  }
  header .top-bar .top-bar-right ul li a.log {
    position: relative;
    -webkit-border-radius: 20px;
    -moz-border-radius: 20px;
    border-radius: 20px;
    background-color: #182d70;
    color: #ffffff;
    padding-left: 2.7rem;
    text-transform: none;
  }
  header .top-bar .top-bar-right ul li a.log:before {
    content: "";
    background-image: url(../images/log.png);
    width: 13px;
    height: 16px;
    position: absolute;
    left: 18px;
  }
  section.offers ul li {
    max-width: 48%;
  }
  form.contact {
    margin: 0 auto;
    width: 85%;
  }
  form.contact .cell.content {
    margin: 0 auto;
  }
  .home .how-it-works ul li {
    margin: 0 2%;
  }
  .home .how-it-works ul.products {
    width: 1903px;
    margin-right: 0 !important;
    margin-left: -366px !important;
    height: 381px;
  }
  .home .how-it-works ul.products li.product {
    margin: 0;
  }
  .home .how-it-works ul.products li.product .gamme {
    margin: 5rem 2rem;
  }
  .offer .description {
    padding-left: 1rem;
    padding-right: 1rem;
  }
  .offerParticipate form .grid-x.grid-margin-x {
    padding: 5rem;
  }
  .offerParticipate form ul.steps {
    text-align: center;
    counter-reset: section;
    border-bottom-width: 2px;
    margin: 3rem 19rem;
  }
  .offerParticipate form ul.steps li {
    font-family: 'OPTIVagRound';
    display: inline-block;
    position: relative;
    list-style-type: decimal;
    color: rgba(45,59,148,0.3);
    text-align: center;
    font-size: 16px;
    width: 200px;
  }
  .offerParticipate form ul.steps li span {
    font-family: 'OPTIVagRound';
  }
  .offerParticipate form ul.steps li:before {
    counter-increment: section;
    content: counter(section) "";
    display: block;
    font-size: 16px;
    line-height: 32px;
    width: 30px;
    height: 30px;
    border-radius: 50%;
    margin: 0 auto;
    border: 1px solid #cdcdcd;
    background-color: rgba(45,59,148,0.3);
    color: #ffffff;
  }
  .offerParticipate form ul.steps li.previous {
    color: #182d70;
  }
  .offerParticipate form ul.steps li.previous:before {
    content: "\f00c";
    font-family: FontAwesome;
    color: #ffffff;
    display: block;
    font-size: 16px;
    line-height: 32px;
    width: 30px;
    height: 30px;
    border-radius: 50%;
    margin: 0 auto;
    border: 1px solid #cdcdcd;
    background-color: #182d70;
  }
  .offerParticipate form ul.steps li.previous:after {
    background-color: #182d70 !important;
  }
  .offerParticipate form ul.steps li.current {
    color: #182d70;
  }
  .offerParticipate form ul.steps li.current:before {
    background-color: #182d70;
    color: #ffffff;
  }
  .offerParticipate form ul.steps li:after {
    content: "";
    width: 171.176px;
    height: 3px;
    flex-shrink: 0;
    position: absolute;
    top: 32%;
    right: 0;
    left: 7.2rem;
    z-index: 1;
  }
  .offerParticipate form ul.steps li:last-child::after {
    display: none;
  }
  .offerParticipate form ul.steps li.step_3,
  .offerParticipate form ul.steps li.step_4 {
    display: none;
  }
  .offerParticipate form.proof .form_row {
    text-align: center;
  }
  .offerParticipate form.proof .upload_button_wrapper {
    width: 570px;
    height: 150px;
  }
  .offerParticipate form.proof .upload_button_wrapper button.upload,
  .offerParticipate form.proof .upload_button_wrapper button.reset {
    background: transparent !important;
    position: relative;
    left: -23rem;
    color: #182d70;
    border: none;
    font-family: 'OPTIVagRound';
    font-size: 16px;
    text-decoration: underline;
    text-transform: lowercase;
  }
  .offerParticipate form.proof .upload_button_wrapper button.upload {
    background: transparent !important;
    position: relative;
    left: 55px;
    top: 4rem;
    color: #2d3b94;
    border: none;
    font-family: 'OPTIVagRound';
  }
  .offerParticipate form.proof .upload_button_wrapper button.upload:before {
    content: "ou ";
    position: relative;
    text-transform: lowercase;
    color: #2d3b94;
    font-family: 'OPTIVagRound';
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
  }
  .offerParticipate form.proof .warning {
    width: 60%;
    margin: 0 auto;
  }
  .offerParticipate form.proof input.number {
    margin: 2rem 26rem;
    width: 170px;
    text-align: center;
  }
  .gums ul li.product .media,
  .bonbons ul li.product .media,
  .presentoirs ul li.product .media {
    width: 170px;
    padding: 10px;
  }
  .gums ul li.gum,
  .bonbons ul li.gum,
  .presentoirs ul li.gum {
    margin: 0 3rem;
  }
  .gums ul li .roue,
  .bonbons ul li .roue,
  .presentoirs ul li .roue {
    padding-top: 15rem !important;
    left: -4rem;
    position: relative;
  }
  .gums ul.nano li.product.cell.large-auto,
  .gums ul.xtreme li.product.cell.large-auto,
  .gums ul.bsans-sucre li.product.cell.large-auto,
  .bonbons ul.nano li.product.cell.large-auto,
  .bonbons ul.xtreme li.product.cell.large-auto,
  .bonbons ul.bsans-sucre li.product.cell.large-auto,
  .presentoirs ul.nano li.product.cell.large-auto,
  .presentoirs ul.xtreme li.product.cell.large-auto,
  .presentoirs ul.bsans-sucre li.product.cell.large-auto {
    margin-left: 12rem;
  }
  .captcha img {
    right: 43px;
  }
}
@media screen and (max-width: 39.9375em) {
  body.home div#main > div {
    background-color: #cdcdcd;
  }
  body:not(.home) {
    background-color: #5a9be3;
    background-image: url(../images/backgroundmobileperfetti.png);
    background-size: cover;
    background-repeat: no-repeat;
  }
  header {
    padding: 1rem 0;
    padding-bottom: 3.2rem;
  }
  header .top-bar {
    border-top: 1px solid #efefea;
    justify-content: space-evenly;
    padding-top: 3rem;
  }
  header .top-bar .top-bar-right ul {
    text-align: center;
  }
  header h1 a {
    left: 1rem;
    top: -1rem;
  }
  header .title-bar {
    float: right;
    padding: 0 0.5rem;
    background-color: #ffffff;
    margin-bottom: 1rem;
  }
  header .title-bar button.menu-icon {
    min-width: auto;
    background-color: transparent;
    border: 0;
  }
  header .title-bar button.menu-icon:after {
    width: 95%;
    height: 4px;
  }
  header .menu-icon:after {
    width: 30px;
    height: 4px;
    background: #182d70;
    -webkit-box-shadow: 0 8px 0 #182d70, 0 16px 0 #182d70;
    box-shadow: 0 8px 0 #182d70, 0 16px 0 #182d70;
  }
  header .menu-icon:hover:after {
    background: #182d70;
    -webkit-box-shadow: 0 8px 0 #182d70, 0 16px 0 #182d70;
    box-shadow: 0 8px 0 #182d70, 0 16px 0 #182d70;
  }
  header .menu-icon.close:before {
    content: "";
    transform: rotate(-45deg) translate(7px,-8px);
    background: #182d70;
    display: block;
    width: 26px;
    height: 4px;
    top: 24px;
    left: -7px;
    position: absolute;
  }
  header .menu-icon.close:after {
    background: transparent;
    box-shadow: 0 8px 0 #182d70, 0 0 0;
    -webkit-box-shadow: 0 8px 0 #182d70, 0 0 0;
    transform: rotate(45deg) translate(5px,5px);
  }
  footer nav .menu-footer ul {
    text-align: center;
  }
  footer nav .menu-footer ul li a {
    padding: 0.4rem;
  }
  h2 {
    font-size: 24px;
  }
  form label {
    font-size: 14px;
  }
  form label.civility_label {
    margin-right: 15px;
  }
  form .civility {
    width: 73%;
  }
  form .choice input[type=radio] + label:before {
    width: 18px;
    height: 18px;
    top: -2px;
  }
  form .choice input[type=radio]:checked + label:after {
    width: 8px;
    height: 8px;
    top: 1px;
  }
  form .actions > * {
    margin-top: 1rem;
    margin-bottom: 1rem;
  }
  .reveal {
    min-height: auto !important;
    height: auto !important;
    margin-top: 1rem;
    width: 98%;
    margin-left: auto;
  }
  .home .banner ul .orbit-slide {
    position: relative;
  }
  .home .banner ul .orbit-slide .content-description a {
    margin-bottom: 4px;
  }
  .home section#list {
    max-width: 95%;
  }
  .home section.how-it-works {
    background-image: url(../images/mobile/illustration.jpg);
    background-position: 17% 0;
    background-repeat: no-repeat;
    padding: 1rem 0;
  }
  .home section.how-it-works h2 {
    font-size: 20px;
    margin-top: 1rem;
  }
  .home section.how-it-works h2 span {
    font-family: 'Roboto bold';
    color: #ffffff;
    display: block;
  }
  .home section.how-it-works ul li {
    width: 90%;
    margin: 0 auto 1rem;
  }
  .home section.how-it-works ul li:nth-child(2),
  .home section.how-it-works ul li:nth-child(4) {
    position: relative;
  }
  .home section.how-it-works ul li:nth-child(2):after,
  .home section.how-it-works ul li:nth-child(4):after {
    content: "";
    position: absolute;
    background-repeat: no-repeat;
  }
  .home section.how-it-works ul li:nth-child(2):after {
    background-image: url(../images/mobile/icon-citrus.png);
    background-size: 75%;
    width: 96px;
    height: 150px;
    top: 2rem;
    left: -3rem;
  }
  .home section.how-it-works ul li:nth-child(4):after {
    background-image: url(../images/mobile/icon-half-citrus.png);
    background-position: right;
    background-size: 70%;
    width: 92px;
    height: 170px;
    top: 1rem;
    right: -28px;
  }
  .offer .informations {
    padding-top: 0;
    padding-left: 0;
    padding-right: 0;
  }
  .offer .informations img {
    -webkit-border-radius: 15px 15px 0 0;
    -moz-border-radius: 15px 15px 0 0;
    border-radius: 15px 15px 0 0;
  }
  .offer .informations .comment {
    font-size: 12px;
  }
  .offer .informations .details_offers {
    margin-top: 1rem;
    text-align: center;
  }
  .offer .informations .details_offers .short-description,
  .offer .informations .details_offers .date {
    font-size: 20px;
  }
  .offer .informations .actions {
    margin: 0 auto;
  }
  .offer .modalities {
    padding: 1rem;
  }
  .offerParticipate form ul.steps {
    margin: auto;
  }
  .offerParticipate form.proof input.number {
    margin: auto;
  }
  .offerParticipate form.proof .upload_button_wrapper {
    width: 324px;
    height: 254px;
  }
  .offerParticipate form.proof .upload_button_wrapper button.upload {
    top: 7rem;
    left: 55px;
  }
  .offerParticipate form.proof button.add-button {
    padding: 0.9em 10em;
  }
  .gums .grid-container .grid-x.grid-margin-x ul,
  .bonbons .grid-container .grid-x.grid-margin-x ul {
    display: flex;
    flex-wrap: wrap;
    list-style: none;
    padding: 0;
  }
  .gums .grid-container .grid-x.grid-margin-x ul li.product,
  .bonbons .grid-container .grid-x.grid-margin-x ul li.product {
    width: 50%;
    box-sizing: border-box;
    margin: auto;
  }
}
