@charset "utf-8";
/* CSS Document */

:root {
  --color-blue: #2292FF;
  --color-black: #33374A;
  --color-blue-grey: #F3F9FF;
  --color-grey-light: #efeeee;
  --color-grey: #DDDDDD;
}

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

html {
  height: 100%;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 15px;
}

body {
  margin: 0;
  padding: 0;
  background: rgb(255, 255, 255);
  height: 100%;
  color: var(--color-black);
  font-size: 1rem;
  overflow-y: scroll;
  line-height: 1.6;
  position: relative;
}

body.body-connexion.not-logged #page {
  background: var(--color-grey-light);
}

[data-ratio] {
  display: block;
  max-width: 100%;
  position: relative
}

[data-ratio]:before {
  content: '';
  display: block;
}

[data-ratio] > * {
  display: block;
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
}

[data-ratio='20:9']:before {
  padding-top: 45%;
}

[data-ratio='16:9']:before {
  padding-top: 56.25%;
}

[data-ratio='4:3']:before {
  padding-top: 75%;
}

[data-ratio='3:4']:before {
  padding-top: 120%;
}

[data-ratio='1:1']:before {
  padding-top: 100%;
}

[data-ratio='message']:before {
  padding-top: 54.71%;
}

.mt-2 {
  margin-top: 1rem;
}

.mt-2 {
  margin-bottom: 1rem;
}

.mt-3 {
  margin-top: 1.5rem;
}

.mt-3 {
  margin-bottom: 1.5rem;
}

.mr-1 {
  margin-right: .5rem;
}

.ml-1 {
  margin-left: .5rem;
}

.hide {
  display: none;
}

.show {
  display: block;
}

.small-text {
  font-size: 1rem;
  font-weight: 400;
}

/*TYPOGRAPHY*/

a {
  text-decoration: none;
  color: var(--color-black);
}

a:hover {
  text-decoration: underline;
  color: var(--color-blue);
}

img {
  border: none;
  vertical-align: middle;
}

h1, .h1 {
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.2;
}

h2, .h2 {
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.2;
}

h3, .h3 {
  font-size: 1.4rem;
  font-weight: 700;
  line-height: 1.3;
}

h4, .h4 {
  font-size: 1.2rem;
  font-weight: 700;
  line-height: 1.3;
}

.color-grey {
  color: #b4b4b4;
}

button.ui-button {
  padding: .7rem;
}

table.table {
  margin-top: 1rem;
  margin-bottom: 1rem;
  border-top: solid 1px var(--color-grey);
  border-left: solid 1px var(--color-grey);
  border-right: solid 1px var(--color-grey);
  border-collapse: collapse;
  border-radius: 8px;
}

table.table tr {
  border-bottom: solid 1px var(--color-grey);
}

table.table td {
  padding: .8rem;
}

table.table thead {
  background: var(--color-blue-grey);
}

table.table thead tr {
  font-weight: 700;
}

/*FORMS*/
input:focus {
  border: 1px solid #938f8f;
  background: #fff;
}

input, select, textarea, button {
  border: 1px solid rgb(180, 180, 180);
  font-size: 1rem;
}

select {
  width: 300px;
  max-width: 100%;
}

input, textarea, button, select {
  padding: .5rem 1rem;
  margin: .25rem 0;
  border: solid 1px var(--color-grey);
}

textarea {
  width: 600px;
  min-height: 150px;
  max-width: 100%;
  max-height: 300px;
  overflow-y: auto;
  font-family: "Plus Jakarta Sans", sans-serif;
}


label {
  padding-top: 3px;
}

.form-label {
  font-size: .9rem;
  font-weight: 700;
}

textarea, button, button.ui-widget {
  font-size: 1rem;
}

select {
  -moz-border-radius: 2px;
  -webkit-border-radius: 2px;
  border-radius: 2px;
  background: #FFFFFF !important;
  border: solid 1px var(--color-grey) !important;
}

button {
  margin: 0;
  background: var(--color-blue);
  color: #FFFFFF;
  border-radius: 5px;
  border: solid 1px var(--color-blue);
}

button:hover, button:focus {
  background: var(--color-black);
  border: solid 1px var(--color-black);
}

button span.ui-button-text img {
  margin: -3px 5px 0 0;
}

button .icon-left {
  margin-right: .5rem;
}

button .icon-right {
  margin-left: .5rem;
}

.ico-eye {
  margin: 0 .6rem;
  padding: .8rem;
  background: transparent url(/img/eye-outline.svg) no-repeat center center;
}

.ico-eye.mask {
  background-image: url(/img/eye-off-outline.svg);
}

button.btn-blue {
  background-color: var(--color-blue);
  color: #FFFFFF;
  border-color: var(--color-blue);
}

button.btn-blue:hover, button.btn-blue:focus {
  background-color: #FFFFFF;
  color: var(--color-blue);
  border-color: var(--color-blue);
}

.btn-icon {
  background: var(--color-grey-light);
  border: solid 1px var(--color-grey);
  border-radius: 3px;
  padding: .5rem;
  text-decoration: none;
}

.btn-icon:hover {
  background: var(--color-blue);
  border: solid 1px var(--color-blue);
  color: #FFFFFF;
  text-decoration: none;
}


sup[title] {
  display: inline-block;
  line-height: 21px;
  text-align: center;
  vertical-align: baseline;
  color: var(--color-black);
  background: var(--color-grey-light);
  width: 20px;
  height: 20px;
  border-radius: 50%;
}

.bg-grey {
  background: var(--color-grey-light);
}

.pt-4 {
  padding-top: 2rem;
}

.pb-4 {
  padding-bottom: 2rem;
}

/*HEADER*/

#page {
  position: relative;
  margin: 0 auto;
  padding-bottom: 0;
  background-color: #FFFFFF;
  min-height: 100%;
  overflow: hidden;
  z-index: 1;
}
@media screen and (min-width: 992px) {
  #page {
    padding-bottom: 8rem;
  }
}

#entete {
  position: relative;
  background: rgb(51, 55, 74);
  width: 100%;
  z-index: 10;
}

#entete a {
  color: #ddd;
}

#entete .top {
  padding: 0 1rem;
  max-width: 1440px;
  margin-left: auto;
  margin-right: auto;
}

#entete .accroche {
  color: #FFFFFF;
  font-size: .85rem;
  margin: .5rem 0;
  text-align: left;
}

#entete #logo {
  cursor: pointer;
  display: flex;
  flex-wrap: wrap;
  padding:1rem;
}

@media screen and (min-width: 64em) {
  #entete #logo {
    flex-wrap: nowrap;
  }
}

#entete #logo img {
  width: 100%;
  height: auto;
  max-width: 330px;
  margin-right: 1rem;
}

#entete .acheter {
  display: block;
  position: absolute;
  top: 10px;
  right: 4px;
}

#conteneurPage {
  margin: 0 auto;
  padding: 0px 2rem 0;
  max-width: 1440px;
}

.page-title {
  border-bottom: solid 1px var(--color-grey);
}

@media screen and (max-width: 600px) {
  #conteneurPage {
    width: 100%;
  }
}

/*HEADER MENU*/
#menu {
  padding: 0 .5rem;
  text-align: center;
  display: flex;
  flex-direction: column;
}

#menu-wrapper {
  display: none;
  position: absolute;
  top: 100%;
  background: var(--color-black);
  width: 100%;
  left: 0;
  padding-bottom: 1.5rem;
}

#menu-wrapper.is-active {
  display: block;
}

@media screen and (min-width: 992px) {
  #menu-wrapper {
    display: flex;
    position: relative;
    top: inherit;
    background: inherit;
    width: auto;
    left: inherit;
    padding-bottom: 0;
  }

  #menu {
    flex-direction: row;
  }
}

#menu button {
  background: none;
  color: #FFFFFF;
  border: none;
  box-shadow: none;
  padding: 1.5rem 1rem;
  margin: 0;
  position: relative;
  border-radius: 0;
}

#menu button::after {
  content: "";
  display: block;
  width: 100%;
  height: 3px;
  background-color: transparent;
  position: absolute;
  bottom: 0;
  left: 0;
}

#menu button.on {
  border: none !important;
}

#menu button:hover, #menu button.on {
  color: var(--color-blue);
}

#menu button:hover::after, #menu button.on::after {
  background-color: var(--color-blue);
}

.connect {
  padding: 5rem 10% 5rem 10%;
}

/*DROPDOWN MENU ACCOUNT*/

.dropdown-toggle {
  position: relative;
  text-align: center;
}

.dropdown button {
  background: transparent;
  color: #FFFFFF;
  border-color: transparent;
  border-radius: 0;
}
.dropdown button:hover, .dropdown button:focus {
    border-color:transparent;
}
@media screen and (min-width: 992px) {
  .dropdown button.ui-button {
    padding-top: 1.5rem;
    padding-bottom: 1.5rem;
    background: transparent !important;
    color: #FFFFFF;
  }
}

.dropdown .icon-user-circle-o {
  margin-right: .5rem;
}

.dropdown-menu {
  display: flex;
  flex-direction: column;
}

.dropdown-menu a {
  padding: 1rem .5rem;
  display: block;
  color: var(--color-blue);
}

.dropdown-toggle.is-active button, .dropdown-toggle:hover button, .dropdown-toggle:focus button {
  background: transparent;
  color: #FFFFFF;
}

.dropdown-toggle.is-active .icon-user-circle-o, .dropdown-toggle:hover .icon-user-circle-o, .dropdown-toggle:focus .icon-user-circle-o {
  color: var(--color-blue);
}

.dropdown-toggle .icon-angle-up {
  transition: all 0.2s ease-in-out;
  display: inline-block;
}

.dropdown-toggle.is-active .icon-angle-up {
  transform: rotate(180deg);
  transform-origin: center;
}

@media screen and (min-width: 992px) {
  .dropdown-menu {
    display: none;
    position: absolute;
    top: 100%;
    width: 200px;
    color: var(--color-black);
    background: #FFFFFF;
    border-radius: 20px;
    padding: 1.2rem 0;
    right: 0;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15);
    text-align: left;
  }

  #entete .dropdown-menu a {
    color: var(--color-black);
    padding: .3rem 1rem .3rem 2rem;
  }

  #entete .dropdown-menu a:hover {
    text-decoration: none;
    color: var(--color-blue);
  }

  .dropdown-toggle.is-active .dropdown-menu {
    display: flex;
    flex-direction: column;
  }
}


.content-flex {
  display: flex;
  justify-content: center;
  padding-top: 5vw;
  padding-bottom: 5vw;
}

.content-flex .bloc-message {
  background-color: var(--color-blue);
  color: #FFFFFF;
  width: 100%;
  max-width: 1024px;
  height: auto;
  -webkit-mask-image: url(../img/mask.svg);
  mask-image: url(../img/mask.svg);
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
}

.content-flex .bloc-message .accroche {
  position: absolute;
  left: 50%;
  top: 50%;
  width: 70%;
  height: auto;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  text-align: center;
}

.content-flex .bloc-message .accroche span {
  display: block;
  font-size: 2rem;
  padding-bottom: 1rem;
  margin-bottom: 1.5rem;
  position: relative;
}

.content-flex .bloc-message .accroche span::after {
  content: "";
  display: block;
  position: absolute;
  left: 50%;
  top: 100%;
  width: 50%;
  height: 3px;
  background-color: #FFFFFF;
  transform: translateX(-50%);
}

.fond-page {
  position: fixed;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 90%;
  background-image: url(../img/fd-qr-l.svg), url(../img/fd-qr-r.svg);
  background-position: left center, right center;
  background-repeat: no-repeat;
  background-size: contain
}

form.connexion, form.inscription {
  margin: 0;
  padding: 1.5rem 1rem 1rem 1rem;
  text-align: center;
  opacity: 1;
  background: #FFFFFF;
  box-shadow: 1px 2px 5px rgba(0, 0, 0, 0.16);
  border-radius: 15px;
  -moz-transition: all 0.5s ease;
  -webkit-transition: all 0.5s ease;
  -o-transition: all 0.5s ease;
  -ms-transition: all 0.5s ease;
  transition: all 0.5s ease;
}

input[type="text"],
input[type="email"],
input[type="password"],
input[type="tel"]
input[type="text"],
input[type="tel"],
input[type="email"],
input[type="phone"],
input[type="password"] {
  width: 300px;
  max-width: 100%;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  font-family: 'Montserrat', sans-serif;
  padding: .5rem;
}


form.connexion button[type=submit], form.inscription button[type=submit] {
  padding: .75rem 1.5rem;
  background-color: var(--color-blue);
  color: #FFFFFF;
  border-radius: 1px;
  display: inline-block;
  border: 1px solid var(--color-blue);
  margin: 1rem 0;
}

form.connexion.inactif, form.inscription.inactif {
  opacity: 0.8;
}

form.connexion:hover, form.inscription:hover {
  opacity: 1;
}

form.connexion > h1, form.inscription > h1 {
  color: var(--color-blue);
  margin: 0;
  font-size: 2rem !important;
  font-weight: 300;
  text-transform: none !important;
}

form.connexion > div, form.inscription > div {
  padding: 1rem;
}

form.connexion label, form.inscription label {
  text-align: left;
  display: block;
  margin-bottom: 1rem;
  font-weight: 700;
}

form.connexion input, form.inscription input {
  font-size: 1rem;
  margin-top: 3px;
}

.message {
  text-align: center;
  color: #ccc; /*font-weight:bold;*/
}

.message.erreur {
  color: red;
}

.block {
  display: block;
}

.iblock {
  width: 100%;
  margin: .5rem 0;
}

.iblock label {
  font-weight: 700;
  font-size: .9rem;
  display: block;
}

.iblockv {
  display: inline-block;
  vertical-align: middle;
  zoom: 1;
}

ul.check-list {
  list-style: none;
}

ul.check-list li {
  line-height: 1.3rem;
  padding-left: 1.5rem;
  position: relative;
  margin: .8rem 0;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

ul.check-list li::before {
  position: absolute;
  left: 0;
  font-family: 'icomoon' !important;
  speak: never;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;

  /* Better Font Rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: "\e908";
  display: inline-block;
  color: var(--color-black);
  margin-right: 1rem;

}

ul.check-list li.exergue {
  color: #FF7777;
}

ul.check-list li.exergue::before {
  content: "\e909";
  color: #FF7777;
}


.b, .text-bold {
  font-weight: bold;
}

.i, .text-italic {
  font-style: italic;
}

.l, .text-left {
  text-align: left;
}

.c, .text-center {
  text-align: center;
}

.r, .text-right {
  text-align: right;
}

.pointer {
  cursor: pointer;
}

.w100 {
  width: 100px;
}

.w150 {
  width: 150px;
}

.w200 {
  width: 200px;
}

.w300 {
  width: 300px;
}

.w400 {
  width: 400px;
}

.w500 {
  width: 500px;
}

.w600 {
  width: 600px;
}

.w700 {
  width: 700px;
}

.w800 {
  width: 800px;
}

.w900 {
  width: 900px;
}

hr {
  border: none;
  border-bottom: 1px solid var(--color-grey);
  margin: 1.5rem auto;
}

#deconnexion {
  white-space: nowrap;
  font-size: 1rem;
  font-weight: normal;
  color: #ddd;
}

.revenir_pack {
  height: 100px;
}

#pack {
  width: 150px;
  margin-top: 90px;
  margin-right: 810px;
}

#deco {
  margin-top: -115px;
  margin-left: 745px;
}


.liste {
  list-style: none;
  padding: 0;
  width: 100%;
}

#campagneCodes .liste {
  max-height: 30rem;
  overflow-y: scroll;
  margin-top: 0
}

#campagneCodes input {
  background: url('/img/search-circle-outline.svg') no-repeat center right;
  margin-bottom: 0;
  opacity: 0.5;
  color: #000;
  border-color: #777;
}

#campagneCodes input:focus {
  opacity: 1;
  background-color: #aaaaa;
  color: #555;
  border-color: #333;
  outline: none;
}

#campagneCodes li.aucun {
  text-align: center;
  font-weight: 700;
}

#campagneCodes li {
  border-bottom: solid 1px var(--color-grey);
  border-left: solid 1px var(--color-grey);
}

#campagneCodes button {
  border-radius: 0;
  background: #FFFFFF;
  border: 0;
}

#campagneCodeFilter {
  width: 100%;
}

.liste li {
  padding: 0;
  overflow: hidden;
}

.liste li button {
  width: 100%;
  text-align: left;
}

.liste li button:nth-child(even) {
  background: #FFFFFF;
}

.liste li button.on {
  background: var(--color-blue)!important;
  color: #FFFFFF;
}

.ui-state-default.on, .ui-widget-content .ui-state-default.on, .ui-widget-header .ui-state-default.on {
  background: var(--color-blue) !important;
  color: #FFFFFF !important;
  border: 1px solid #FFFFFF !important;
  border-radius: 0 !important;
}

button#maj, button.btn-options, button.w150 {
  background: var(--color-blue);
  color: #FFFFFF;
  box-shadow: none;
  border-color: var(--color-blue);
  -webkit-transition: all 0.2s ease;
  transition: all 0.2s ease;
}

button#maj:hover, button.btn-options:hover, button.w150:hover {
  background: #FFFFFF;
  color: var(--color-blue);
  border-color: var(--color-blue);
}

button:not(:disabled) {
    cursor: pointer;
}

#champs_oblig, #modif_ok {
  display: none;
  text-decoration: none;
  text-align: center;
  height: 20px;
  border-radius: 3px;
}

#champs_oblig {
  background: lightcoral;
}

#modif_ok {
  background: lightgreen;
}

#champs_oblig:hover, #modif_ok:hover {
  cursor: pointer;
  text-decoration: underline;
}

input + img {
  margin: 0 0 13px -17px;
}

.separateur {
  margin: 1rem 0;
}

.stats .code {
  background: none;
  border: none;
  font-size: 2em;
  margin: 10px 0 0 0;
  padding: 8px 0 20px 0;
  width: 99.8%;
  border: 1px solid transparent;
  border-bottom: 1px solid var(--color-grey);
}

a#raz {
  display: inline-block;
  padding: 5px 10px;
  background-color: rgb(219, 0, 0);
  color: #FFFFFF;
  border-radius: 3rem;
  font-size: 1rem;
}

a#raz:hover {
  background-color: rgb(96, 96, 96);
  color: #FFFFFF;
  text-decoration: none;
}

/* .stats  .code:hover{
	color: #000000;
} */

.stats .code:focus {
  border: 1px solid #888888;
  background: none repeat scroll 0 0 #CCCCCC;
  color: #000000;
}

.stats .creation {
  background: none;
  border: none;
  font-size: 0.7em;
  margin: 10px 0 0 0;
  padding: 0;
  color: #999;
  display: block;
  width: 100%;
  text-align: right;
}

#pack-tabs {
  margin: 0 0 20px 0;
  border-bottom: solid var(--color-grey);
}

#pack-tabs .tab-parametres, #pack-tabs .tab-stats {
  display: flex;
  justify-content: center;
  align-items: center;
  color: var(--color-blue);
  cursor: pointer;
  position: relative;
  padding: 1rem;
}

#pack-tabs .tab-parametres:hover, #pack-tabs .tab-stats:hover {
  background-color: transparent;
  color: #000000;
  transition: all .3s ease-in;
}

#pack-tabs .tab-on::after {
  content: "";
  height: 3px;
  background-color: var(--color-blue);
  width: 100%;
  display: inline-block;
  position: absolute;
  bottom: -3px;
  left: 0;
}

@media (max-width: 767px) {
  #pack-tabs .gap {
    display: none;
  }
}

#qr-foreground-reset, #qr-background-reset {
  text-decoration: none;
  cursor: pointer;
}

#qr-foreground-reset:hover, #qr-background-reset:hover {
  font-weight: bold;
}

.reset-hide {
  display: none;
}

#output-link {
  text-decoration: none;
  cursor: pointer;
}

#output-link:hover {
  font-weight: bold;
}

.creation:focus, .creation:active {
  border: none;
  box-shadow: none;
  outline: none;
}

.label-margin {
  margin-top: 4px;
}


#stats .row table, #stats .row table select, #stats .row section {
  width: 100%;
}

#select-year option, #select-month option, #select-day option {
  height: 15px;
  padding-top: 3px;
  cursor: pointer;
  display: flex;
  align-items: center;
  background: rgb(241, 241, 241);
}

#stats td {
  padding: 20px 10px 10px 0;
}

#stats span {
  padding-top: 6px;
  font-size: 1.5em;
}

#stats select {
  height: 100px;
}

#stats label {
  vertical-align: bottom;
  font-size: 1.2em;
}
#stats h2 {
    padding: 0 20rem .5rem 2rem;
    margin:0 0 .5rem 0;
}

#filters {
  display: flex;
  align-content: center;
  justify-content: space-around;
  flex-direction: row;
  align-items: center;
  height: 6rem;
  font-size: 1rem;
}
#filters label {
  font-size: 1rem;
}
#filters input, #filters select, #stats select {
    width:auto;
    height:auto;
}
#filters .filter-element {
    display: inline-flex;
    flex-direction: column;
    flex: 0 0 auto;
}
#print-stats {
    width: auto !important;
    margin: 1rem 0;
    display: inline-flex;
    /* flex-grow: initial; */
}
#stats .numbers {
    display: inline-flex;
    flex-direction: column;
    justify-content: space-between;
    margin-top: -3rem;
}


/*GRAPHS*/
#compteurs td {
  padding: 2px 8px;
  text-align: left;
  font-weight: 400;
}

#compteurs th {
  padding: 2px 8px;
  text-align: left;
  font-weight: 400;
}

#compteurs tfoot th, #compteurs thead th {
  font-weight: 700;
}


.align-right {
  text-align: right;
}

/* graphs */
.graphs {
  position: relative; /*display:flex; flex-flow:row wrap; justify-content:space-around; align-content:space-around;*/
  margin: 10px;
}

.graphs:after {
  content: attr(data-no);
  position: absolute;
  top: 0px;
  left: 50%;
  width: 300px;
  text-align: center;
  transition: opacity 0.5s ease;
  opacity: 0;
  font-size: 22px;
  padding: 12px;
  margin-left: -150px;
  border-radius: 3px;
  background: rgba(255, 255, 255, 0.8);
}

.graphs.no-data:after {
  top: 60px;
  opacity: 1;
}

.graphs .graph {
  background: #fff;
  box-shadow: 0 1px 5px rgba(0, 0, 0, 0.1);
  border-radius: 3px;
  margin-bottom: 2rem;
}

.graphs .graph:after {
  content: attr(data-title);
  position: absolute;
  top: 3%;
  left: 3%;
  width: 94%;
  font-weight: bold;
  font-size: 1.2em;
}

.loading .graphs .graph {
  opacity: 0.5;
}

.graphs.no-data .graph {
  display: none;
}

.graphs > div {
  padding: 10px;
  width: 650px;
  max-width: 98%;
  margin: auto;
  flex: 1 1 auto;
}


/* graphs */
.graphs {
  position: relative; /*display:flex; flex-flow:row wrap; justify-content:space-around; align-content:space-around;*/
  margin: 10px;
}

.graphs:after {
  content: attr(data-no);
  position: absolute;
  top: -30px;
  left: 50%;
  width: 300px;
  text-align: center;
  transition: opacity 0.5s ease;
  opacity: 0;
  font-size: 22px;
  padding: 12px;
  margin-left: -150px;
  border-radius: 3px;
  background: rgba(255, 255, 255, 0.8);
}

.graphs.no-data:after {
  top: 60px;
  opacity: 1;
}

.graphs > div {
  padding: 10px;
  width: 90%;
  max-width: 650px;
  margin: auto;
  flex: 1 1 auto;
}

.graphs .graph {
  position: relative;
  padding: 50px 20px 20px; /*display:block;*/
  background: #fff;
  box-shadow: 0 1px 5px rgba(0, 0, 0, 0.1);
  border-radius: 3px;
}

.graphs .graph:after {
  content: attr(data-title);
  position: absolute;
  top: 5%;
  left: 5%;
  width: 90%;
  font-weight: bold;
  font-size: 1.2em;
}

.loading .graphs .graph {
  opacity: 0.5;
}

.graphs.no-data .graph {
  display: none;
}

.grapsh .c3 svg {
  position: relative;
  top: -47px;
  left: -28px;
}

/*#stats #charts { min-height:200px; }*/
#stats img {
  margin: 0 8px 5px 0;
  border: 1px solid #888;
  border-radius: 2px;
  background: transparent url(../img/big-loading.gif) no-repeat center center;
}

#recap {
  margin-top: 50px;
  margin-left: 95px;
  border-radius: 10px;
  text-align: left;
  background-color: #1b3c65;
  color: #ffffff;
  width: 800px;
  height: 100px;
}

#left {
  font: 15px/20px "Ubuntu Condensed", "Lucida Sans Unicode", "Lucida Grande", sans-serif;
  margin-top: 26px;
  position: absolute;
  width: 208px;
  margin-left: 20px;
  height: 50px;
}

#middle {
  border-left: 2px solid;
  padding-left: 20px;
  font: 15px/20px "Ubuntu Condensed", "Lucida Sans Unicode", "Lucida Grande", sans-serif;
  margin-top: 22px;
  position: absolute;
  width: 250px;
  margin-left: 250px;
  height: 70px;
}

#right {
  border-left: 2px solid;
  padding-left: 20px;
  font: 15px/20px "Ubuntu Condensed", "Lucida Sans Unicode", "Lucida Grande", sans-serif;
  margin-top: 22px;
  position: absolute;
  width: 250px;
  margin-left: 530px;
  height: 70px;
}

/*MAIN*/
#main-header {
  padding-top: 1.5rem;
  padding-bottom: 1.5rem;
  margin-bottom: 1.5rem;
  border-bottom: solid 1px var(--color-grey);
}

/*FOOTER*/
#footer-info {
  background: #FFFFFF;
  padding-top: 1rem;
  margin-top: 3rem;
  border-top: solid 1px var(--color-grey);
}

@media screen and (min-width: 992px) {
  #footer-info {
    position: fixed;
    bottom: 0;
    left: 0;
    margin-top: 0;
    width: 100%;
    z-index:3;
  }
}

#footer-info a {
  color: var(--color-blue);
}

#signature {
  font-size: 12px;
  text-align: center;
  padding: .5rem 1rem 1rem;
  width: 100%;
  color: var(--color-grey);
  z-index: 100;
}

#signature a {
  color: var(--color-grey);
}

#signature:hover {
  opacity: 1;
}

.connexion .ui-button:focus {
  border: 0;
}

/*ACHAT*/
.achat {
  margin: auto;
  position: relative;
  top: 30px;
  border-radius: 10px;
  text-align: center;
  background: #1b3c65 no-repeat left bottom;
  color: #ffffff;
  width: 800px;
  height: 230px;
}

.achat p {
  margin: 0;
  padding-top: 9px;
  text-align: center;
}

.achat .infos {
  display: none;
  padding-top: 10px;
}

.achat .infos button {
  display: none;
}

/*ACHAT DE PACKS*/

.achat-packs .pack-block, .renew-pack {
  padding: 1.5rem;
  border: solid 1px var(--color-grey);
  border-radius: 20px;
  position: relative;
  z-index: 1;
}

/*VOS PACKS*/
.packs {
  margin: 5rem 0 2rem 0;
}

.pack {
  border: solid 1px var(--color-grey);
  position: relative;
  margin: 1rem auto;
  border-radius: 10px;
}

.pack button.add-code {
  background: var(--color-blue);
  border-color: var(--color-blue);
  color: #FFFFFF;
}

.pack .info {
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
}

.pack-header {
  flex: 1;
  padding: 0 1.5rem 1rem;
}

.pack-header h2 {
  margin: 1.5rem 0;
}

.pack-header hr {
  margin-top: 0;
}

.pack-footer {
  flex: 1;
  display: flex;
  padding-left: 1.5rem;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  border-top: solid 1px #DDDDDD;
  padding-bottom: 1rem;
}

.pack-footer .add-button {
  margin-bottom: 2rem;
}

.pack-footer button {
  margin-top: 1rem;
  margin-bottom: 1rem;
}

.pack-footer .btn-link {
  margin-bottom: 0;
}


.pack-separateur {
  height: 30%;
}

.pack .info .btn-link {
  background: inherit;
  padding: .5rem 0;
  color: var(--color-black);
  text-align: left;
  border-color: transparent;
  font-weight: 700;
}

.pack .info .btn-link:hover {
  background: transparent;
  border-color: transparent;
  color: var(--color-blue);
}


.pack .info button:hover {
  background-color: var(--color-blue);
  color: #FFFFFF;
}

.achat-packs [data-ratio="1:1"]::before {
  padding-top: 55%;
}

.renew-pack .iblock {
  padding: 0 4rem;
}

.paypal-buttons {
  margin: .6rem 0 0 -.6rem;
}

.paypal-buttons > iframe {
  width: auto;
  background: #fff !important;
  border-radius: .2rem !important;
  padding: .6rem .3rem 0 .3rem !important;
}

.paypal-powered-by {
  background: #fff;
  opacity: .5;
}


.block-message {
  margin: 50px auto;
  padding: 2rem;
  text-align: center;
}

.block-message > h1 {
  margin: -30px -30px 30px -30px;
  padding: 10px;
  color: var(--color-blue);
  font-size: 2rem;
  font-weight: normal;
}

.block-message a.bouton {
  display: inline-block;
  padding: .5rem 1.25rem;
  color: #FFFFFF;
  background-color: var(--color-blue);
  border-radius: 3rem;
  -webkit-transition: all .2s ease;
  transition: all .2s ease;
  text-transform: uppercase;
}

.block-message a.bouton:hover {
  background-color: var(--color-black);
  text-decoration: none;
}


#add.creation-code label.label-libelle {
  display: inline-block;
}

#add.creation-code input.creation {
  display: none;
}

#form-general label {
  text-align: left;
  margin-top: .5rem;
  margin-bottom: 0;
  padding-bottom: 1px;
  display: block;
  font-weight: 700;
  font-size: .9rem;
}


#form-general .block-miniurl {
  text-align: left;
}

.creation-code button.send_form {
  background-color: var(--color-blue);
  color: #FFFFFF;
  box-shadow: none;
  border-color: var(--color-blue);
  -webkit-transition: all 0.2s ease;
  transition: all 0.2s ease;
}

.creation-code button.send_form:hover {
  background-color: rgb(96, 96, 96);
  color: #FFFFFF;
  border-color: rgb(96, 96, 96);
}

form.qr-type {
  text-align: left;
}

form.qr-type label {
  display: block;
  font-weight: 700;
  font-size: .9rem;

}

label.gris {
    color:#999;
}
input.gris, input.gris:focus {
    color:#999;
    background:#fafafa;
    border-color:#f0f0f0;
}

.crayon {
  background: url(../img/crayon.png) no-repeat left bottom;
}

.frm_field_pdf {
  display: block;
  margin: 10px 0
}

.frm_field_pdf span {
  display: inline-block;
  padding: 0 5px;
}

.frm_field_pdf input[type=checkbox] {
  margin-top: 5px;
}

a.holystore {
  background: url(../img/bandeau-holystore.jpg) no-repeat center top;
  width: 970px;
  height: 150px;
  margin: 0 auto;
  display: block;
}


.presentation_pack {
  float: left;
  width: 650px;
}

.acheter_pack {
  float: left;
  width: 250px;
  border: 4px solid #9fc512;
  padding: 10px 20px;
  border-radius: 4px;
  -moz-transition: all 0.5s ease;
  -webkit-transition: all 0.5s ease;
  -o-transition: all 0.5s ease;
  -ms-transition: all 0.5s ease;
  transition: all 0.5s ease;
  -moz-box-shadow: 0 0 20px rgba(0, 0, 0, 0.5);
  -webkit-box-shadow: 0 0 20px rgba(0, 0, 0, 0.5);
  -o-box-shadow: 0 0 20px rgba(0, 0, 0, 0.5);
  -ms-box-shadow: 0 0 20px rgba(0, 0, 0, 0.5);
  box-shadow: 0 0 20px rgba(0, 0, 0, 0.5);
  position: relative;
  margin-top: 80px;
  list-style: none;
}

.acheter_pack .accroche {
  width: 94px;
  height: 83px;
  position: absolute;
  top: -40px;
  left: -40px;
  background: url(../img/a-partir-de-25-euros.png) no-repeat center left;
}

.acheter_pack ul {
  padding: 0 0 0 20px;
}

.acheter_pack li {
  padding: 0;
  overflow: hidden;
  font-weight: bold;
}

.acheter_pack li button {
  width: 100%;
  text-align: left;
}

.caracteristiques {
  margin: 0 auto 5rem auto;
  width: 90%;
}

.caracteristiques h2 {
  text-transform: uppercase;
  font-size: 2rem;
  text-align: center;
  margin-bottom: 1em !important;
}

.caracteristiques h4 {
  text-transform: uppercase;
  font-size: 1.75rem;
  border-bottom: 3px solid var(--color-blue);
  margin: 2rem 0;
  padding-bottom: 1rem;
  font-weight: 700;
  color: var(--color-blue);
}

.caracteristiques h4 span {
  display: block;
  text-transform: uppercase;
  font-size: 2em;
}

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

.caracteristiques ul li {
  padding: 0.5rem 0 0.5rem 20px;
  border-bottom: 1px solid rgb(180, 180, 180);
  background: url(../img/puce.png) no-repeat left center / 15px;
  font-size: 0.9rem
}

.caracteristiques ul li.exergue {
  font-weight: 700;
  color: rgb(255, 108, 0);
  background: url(../img/puce-exg.png) no-repeat left center / 15px;
}

.bt-create button {
  width: 100%;
  background-color: var(--color-blue);
  border-radius: 3rem;
  color: #FFF;
  text-transform: uppercase;
  box-shadow: none;
  border-color: var(--color-blue);
  -webkit-transition: all 0.2s ease;
  transition: all 0.2s ease;
}

.bt-create button:hover {
  background-color: rgb(96, 96, 96);
  color: #FFF;
  border-color: rgb(96, 96, 96);
}

.bt-link {
  text-decoration: underline;
}

.bt-link:hover {
  filter: brightness(0.8)
}

.separator-bottom-border {
  padding: 0 !important;
  border-bottom: 1px solid #111727
}

.text-blue {
  color: var(--color-blue) !important;
}

.cta-registeration {
  color: var(--color-blue);
  font-size: 1.6rem;
}

.cta-registeration ul {
  text-align: left;
  font-size: 1.2rem;
  font-weight: 500;
}

.cta-pack-box {
  border: 1px solid black;
  padding: 1rem;
  margin: 1rem 0;
  text-align: center;
}

@media screen and (min-width: 1280px) {
  .pack .info h2 {
    font-size: 1.25rem;
  }
}

@media screen and (min-width: 1680px) {
  .pack .info h2 {
    font-size: 1.5rem;
  }
}

/* Factures */
.factures {
  margin: 0 auto 5rem auto;
  width: 90%;
}

.factures th, .factures td {
  padding: 5px;
}

.factures thead tr {
  height: 40px;
  background-color: var(--color-blue);
  color: white;
}

.factures tbody tr {
  height: 25px;
}

.factures tbody tr:nth-child(even) {
  background-color: lightgrey;
}

.factures tbody tr:hover {
  background-color: var(--color-blue);
  cursor: pointer;
}

.factures tbody tr:hover th, .factures tbody tr:hover td {
  color: white;
}

.no-facture, .factures .total-ttc, .factures .date, .factures .action {
  text-align: center;
}

.factures tbody .action:hover span {
  border-bottom: 2px solid white;
}

/* Compte */
.mon-compte p {
  padding: 1rem 0;
}

.mon-compte .edit-profile {
  margin-top: 1rem;
}

.mon-compte h4 span {
  display: block;
  text-transform: uppercase;
  font-size: 2em;
}

.mon-compte .exergue {
  background: url(../img/puce-exg.png) no-repeat left center / 15px;
}

#stats .numbers {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

#print-stats {

  width: 100%;
  margin: 1rem 0;
}

/*SIDEBAR FILTERS*/


/*!
 * Hamburgers
 * @description Tasty CSS-animated hamburgers
 * @author Jonathan Suh @jonsuh
 * @site https://jonsuh.com/hamburgers
 * @link https://github.com/jonsuh/hamburgers
 */
.hamburger {
  padding: 15px 15px;
  display: inline-block;
  cursor: pointer;
  transition-property: opacity, filter;
  transition-duration: 0.15s;
  transition-timing-function: linear;
  font: inherit;
  color: inherit;
  text-transform: none;
  background-color: transparent;
  border: 0;
  margin: 0;
  overflow: visible;
}

@media screen and (min-width: 992px) {
  .hamburger {
    display: none;
  }
}

.hamburger:hover {
  opacity: 0.7;
}

.hamburger.is-active:hover {
  opacity: 0.7;
}

.hamburger.is-active .hamburger-inner,
.hamburger.is-active .hamburger-inner::before,
.hamburger.is-active .hamburger-inner::after {
  background-color: #FFF;
}

.hamburger-box {
  width: 40px;
  height: 24px;
  display: inline-block;
  position: relative;
}

.hamburger-inner {
  display: block;
  top: 50%;
  margin-top: -2px;
}

.hamburger-inner, .hamburger-inner::before, .hamburger-inner::after {
  width: 40px;
  height: 4px;
  background-color: #FFF;
  border-radius: 4px;
  position: absolute;
  transition-property: transform;
  transition-duration: 0.15s;
  transition-timing-function: ease;
}

.hamburger-inner::before, .hamburger-inner::after {
  content: "";
  display: block;
}

.hamburger-inner::before {
  top: -10px;
}

.hamburger-inner::after {
  bottom: -10px;
}

/*
   * 3DX
   */
.hamburger--3dx .hamburger-box {
  perspective: 80px;
}

.hamburger--3dx .hamburger-inner {
  transition: transform 0.15s cubic-bezier(0.645, 0.045, 0.355, 1), background-color 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1);
}

.hamburger--3dx .hamburger-inner::before, .hamburger--3dx .hamburger-inner::after {
  transition: transform 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1);
}

.hamburger--3dx.is-active .hamburger-inner {
  background-color: transparent !important;
  transform: rotateY(180deg);
}

.hamburger--3dx.is-active .hamburger-inner::before {
  transform: translate3d(0, 10px, 0) rotate(45deg);
}

.hamburger--3dx.is-active .hamburger-inner::after {
  transform: translate3d(0, -10px, 0) rotate(-45deg);
}

/*FAQ*/
.menu-faq {
  margin: 2rem 0;
  padding: 0;
  list-style: none;
}

.menu-faq li {
  margin-bottom: 1rem;
}

.menu-faq li .faq-link {
  display: block;
  background: var(--color-grey-light);
  border: solid 1px var(--color-grey);
  padding: 1rem;
  text-decoration: none;
  border-radius: 10px;
  cursor: pointer;
  font-weight: 600;
}


.menu-faq li .faq-link:hover, .menu-faq li .faq-link.active {
  background: var(--color-blue-grey);
  border-color: var(--color-blue);
  color: var(--color-blue);
}

.faq-accordion {
  margin-top: 1rem;
  margin-bottom: 1rem;
}

.faq-element .h1 {
  margin-top: 1rem;
  padding-bottom: 2rem;
  margin-bottom: 1rem;
  border-bottom: solid 1px var(--color-grey);
}

.faq-element .faq-content {
  margin-top: 1rem;
  height: 0;
  transition: height 0.3s ease-in-out;
  overflow: hidden;
}

.faq-element.active .faq-content {
  height: auto;

}


.faq-element.active .h1 {
  color: var(--color-blue);
}

.faq-list {
  padding-top: 1rem;
  display: list-item;
  padding-left: 1rem;
  padding-bottom: 1rem;
  margin-left: 1rem;
}

.more-pack {
  text-align: center;
  color: var(--color-blue);
  display: flex;
  align-items: center;
  justify-content: center;
  height: calc(100% - 2rem);
}

.more-pack .info {
  text-align: center;
  color: var(--color-blue);
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
}


.more-pack--link {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  height: 100%;
  color: var(--color-blue);
}

.more-pack--link:hover {
  text-decoration: none;
  color: var(--color-black);
}

.more-pack--link .icon-plus {
  font-size: 2rem;
  border-radius: 50%;
  border: solid 1px var(--color-blue);
  display: flex;
  align-items: center;
  justify-content: center;
  height: 40px;
  width: 40px;
  margin-bottom: 1rem;
}

.more-pack--link:hover .icon-plus {
  border: solid 1px var(--color-black);
}

.tooltip {
  position: relative;
  display: inline-block;
}

.tooltip .icon-info {
  font-size: 1.4rem;
  color: #CCCCCC;
  cursor: pointer;
}

.tooltip .tooltiptext {
  visibility: hidden;
  width: 180px;
  background-color: #555;
  color: #fff;
  text-align: center;
  border-radius: 6px;
  padding: 6px;
  position: absolute;
  z-index: 1;
  top: 0;
  margin-top: -10px;
  right: 30px;
  margin-left: 0;
  opacity: 0;
  transition: opacity 0.3s;
  font-size: .9rem;
}

.tooltip .tooltiptext::after {
  content: "";
  position: absolute;
  top: 10px;
  right: 0;
  border-top: 10px solid transparent;
  border-bottom: 10px solid transparent;
  border-left: 16px solid #555;
  margin-right: -10px;

}

.tooltip:hover .tooltiptext, .tooltip:focus .tooltiptext, .tooltip.tooltip-active .tooltiptext {
  visibility: visible;
  opacity: 1;
}

.modal {
  width: 800px !important;
  max-width: 98% !important;
  z-index: 11 !important;
}

.mb-3 {
  margin-bottom: 1.5rem;
}

.d-none {
  display: none !important;
}

.jPicker {
  top: 30vw !important;
}



