

@CHARSET "UTF-8";

html {
    height: 100%;
}

body {
    background:#f9f9f9;
    font-family: 'Open Sans', sans-serif;
    font-size:16px;
    margin:0;
    min-height:100%;
}

a {
    color: #5cbfc2;
}

.page {
    min-height:100vh;
}

.page-content {
    position:relative;
    width:100%;
    height:100%;
}

.page-container {
    padding: 20px;
    max-width: 960px;
}

.cms-page {
    height:100%;
}

article {
    height:auto;
}

header .top_header {
    background:url('/media/background/tableau.jpg') no-repeat;
    background-size:cover;
    padding:15px 110px;
    width:calc(100% - 220px);
    position:relative;
}

header.home .top_header {
    min-height:calc(100vh - 39px - 30px);
}

header .top_header .menu-opener {
    display:none;
    position:absolute;
    top:50%;
    left:20px;
    transform:translate(0,-50%);
    cursor:pointer;
}

header .top_header .menu-opener span {
    width: min-content;
    font-size: 30px;
    line-height: 50px;
    color:white;
}

header .top_header a {
    display:block;
    width:max-content;
    margin-left:auto;
    margin-right:auto;
}

header .top_header img {
    display:block;
    width:130px;
}

.menu_header_home {
    display:flex;
    flex-wrap:wrap;
    margin-top:50px;
}

.menu_header_home.mobile {
    display:none;
}

.menu_header_home .menu_element {
    width:calc((100% / 5) - (160px / 5));
    margin-right:40px;
    border-radius:40px;
    overflow:hidden;
    height:calc((((100vw - 220px) / 5) - (160px / 5)) * 1.8);
    position:relative;
    transition:0.6s;
}

.menu_header_home .menu_element:first-child {
    margin-left:auto;
}

.menu_header_home .menu_element:last-child {
    margin-right:auto;
}

.menu_header_home .menu_element.anniversaires {
    background:url('/media/images/anniversaire-home.jpg') no-repeat;
    background-size:120%;
}

.menu_header_home .menu_element.bowling {
    background:url('/media/images/bowling-home.jpg') no-repeat;
    background-size:120%;
}

.menu_header_home .menu_element.jeu-laser {
    background:url('/media/images/jeu-laser-home.jpg') no-repeat;
    background-size:120%;
}

.menu_header_home .menu_element.realite-virtuelle {
    background:url('/media/images/realite-virtuelle-home.jpg') no-repeat;
    background-size:120%;
}

.menu_header_home .menu_element.cartes-cadeaux {
    background:url('/media/images/carte-cadeau-home.jpg') no-repeat;
    background-size:120%;
}

.menu_header_home .menu_element:hover {
    background-size: 110%;
    transition:1s;
}

.menu_header_home .menu_element .reserver {
    position:absolute;
    left:0;
    bottom:0;
    width:calc(100% - 16px);
    text-align:center;
    padding:8px;
    font-size: 20px;
    line-height: 27px;
    color:white;
    font-weight:700;
    background:#5CBFC2;
    transition:0.6s;
}

.menu_header_home .menu_element:hover .reserver {
    line-height: 80px;
    font-size: 22px;
}

.menu_header_home .menu_element a {
    position:absolute;
    top:0;
    left:0;
    display:block;
    width:100%;
    height:100%;
    z-index:2;
}

header .bottom_header {
    background:url('/media/background/bois.jpeg') no-repeat;
    background-size:cover;
    padding:6px 110px;
    width:calc(100% - 220px);
    transition:1s;
    min-height:27px;
}

header .bottom_header .menu_header {
    display:flex;
    flex-wrap:wrap;
    width:max-content;
    margin:0;
    margin-left:auto;
    margin-right:auto;
}

header.home .bottom_header .menu_header {
    display:none;
}

header .bottom_header .menu_header li {
    list-style:none;
    width:max-content;
    margin-right:80px;
}

header .bottom_header .menu_header li:last-child {
    margin-right:0;
}

header .bottom_header .menu_header li a {
    display:block;
    width:max-content;
    color:white;
    font-size:17px;
    line-height:27px;
    font-weight:700;
    text-decoration:none;
    text-transform:uppercase;
}

header .bottom_header .menu_header li.active a {
    color:#141318;
    font-weight:900;
}

header.header-reservations-by-date {
  position: fixed;
  height: auto;
  top: 0;
  left: 0;
  z-index: 10;
}

header.header-reservations-by-date .menu .close-menu span {
  display: none;
}

header.header-reservations-by-date .menu {
    top: 0;
    left: 0;
    height: 100vh;
    background: white;
    border-left: 20px solid #5cbfc2;
    box-shadow: 0px 0px 10px #8d8d8d;
    width: 240px;
    overflow: scroll;
    overflow-x: hidden;
}

header.header-reservations-by-date .menu .element-menu {
  border-bottom: 1px solid #c9c9c9;
}

header.header-reservations-by-date .menu .element-menu.logo a {
  display: block;
  padding-top: 20px;
  padding-bottom: 20px;
  text-transform: uppercase;
  font-size: 1.1rem;
  font-weight: 600;
  text-decoration: none;
  color: #707070;
  text-align: center;
}

header.header-reservations-by-date .menu .element-menu.logo a img {
  max-width: 150px;
  display: block;
  width: 50%;
  margin-left: auto;
  margin-right: auto;
}

.page-content {
    padding:100px 110px;
    width:calc(100% - 220px);
    min-height: calc(100vh - 412px);
    max-width: 1400px;
    margin-left: auto;
    margin-right: auto;
}

.page-content.bg-white {
    background:#ffffff;
}

.page-reservations-by-date {
    margin-left:260px;
    width:calc(100% - 260px);
    padding:0;
    margin-right:0;
    max-width:100%;
    min-height: calc(100vh - 25px);
}

.page-content.all-width {
    margin:0;
    width:100%;
    max-width:100%;
    padding-left:0;
    padding-right:0;
    padding-bottom:0;
}

.page-content.login {
    margin:0;
    width:100%;
    max-width:100%;
    padding:0;
}

form {
    width:auto;
    margin-left:auto;
    margin-right:auto;
}

form dt {
    margin-top:20px;
}

form dd {
    margin-left:0;
}

form label, form input {
    max-width:80vw;
    display:inline-block;
}

form input[type=text], form input[type=tel], form input[type=number], form input[type=password], form input[type=date], form select{
  width: 100%;
  padding: 6px 10px;
  margin: 8px 0;
  display: inline-block;
  border: 1px solid #ccc;
  border-radius: 0;
  box-sizing: border-box;
  color:#7a7a7a;
  background:white;
  font-size:16px;
}

#submit-label {
    display:none;
}

form input[type=submit], .page-reservation-activite form button {
    display: block;
    margin-left: auto;
    margin-right: auto;
    padding: 12px;
    padding-left: 100px;
    padding-right: 100px;
    background: #5cbfc2;
    color: white;
    text-transform: uppercase;
    font-size: 1.2rem;
    font-weight: 500;
    border: 0;
    cursor: pointer;
}

form .errors {
    color:red;
}

form.other-form {
    width:max-content;
    max-width:80%;
    margin-bottom:20px;
    margin-top:20px;
}

form.other-form textarea {
    width:100%;
}

.auth-form dt {
    margin:0;
}

.calendar-events-date-selector select {
    width:auto;
}

.fa-toggle-on {
    color:#00ba14;
}

.home-page h1{
    text-align:center;
    font-size:1.7rem;
    padding-left:20px;
    padding-right:20px;
    margin-top:0;
}

.home-page h1 span {
    color:#5cbfc2;
}

.home-page .background-img {
    width:100%;
    max-height:calc(100vh - 84.4px);
    overflow:hidden;
}

.home-page img {
    display:block;
    width:100%;
}

.home-page .coordonnees {
    width:max-content;
    max-width:calc(100% - 40px);
    margin-left:auto;
    margin-right:auto;
    padding-left:20px;
    padding-right:20px;
}

.home-page .coordonnees h2 {
    color:#5cbfc2;
    margin-top:0;
}

.home-page iframe {
    display:block;
    width:100%;
    margin-left:auto;
    margin-right:auto;
    margin-top:70px;
}

.page-anniversaires {
    display:flex;
}

.page-anniversaires .presentation{
    position:relative;
    height:min-content;
}

.page-anniversaires .presentation h2 {
    width:max-content;
    display:block;
    margin-top:0;
    margin-bottom:0;
    margin-left:auto;
    margin-right:auto;
    line-height:2.5rem;
    max-width:75%;
}

.page-anniversaires .presentation h2 span {
    color:#5cbfc2;
}

.page-anniversaires .presentation img {
    margin-top:60px;
    display:block;
    width:50%;
    margin-left:auto;
    margin-right:auto;
}

.page-anniversaires .presentation p {
    width:80%;
    margin-left:auto;
    margin-right:auto;
    margin-top:50px;
}

.page-anniversaires .presentation .carton-invitation-download {
    display:block;
    width:max-content;
    padding:15px;
    margin-top:30px;
    margin-left:auto;
    margin-right:auto;
    text-decoration:none;
    color:black;
    font-weight:600;
    border:3px solid #5cbfc2;
}

.page-anniversaires .informations-etapes {
    position:relative;
    width:40%;
    height:min-content;
}

.page-anniversaires .informations-etapes .informations-etape h2 {
    width:max-content;
    display:block;
    margin-top:0;
    margin-bottom:0;
    line-height:2.5rem;
    max-width:75%;
}

.page-anniversaires .informations-etapes .informations-etape h2 span {
    color:#5cbfc2;
}

.page-anniversaires .informations-etapes .etapes-order {
    width:80%;
}

.page-anniversaires .informations-etapes .etapes-order .etape{
    width:calc(100% - 60px);
    margin-top:3px;
    padding:30px;
    border-radius:5px;
    font-weight:600;
}

.page-anniversaires .informations-etapes .etapes-order .etape span.numerotation{
    margin-right:20px;
}

.page-anniversaires .informations-etapes .etapes-order .etape.done {
    background:white;
    border:2px solid #5cbfc2;
}

.page-anniversaires .informations-etapes .etapes-order .etape i {
    float:right;
    font-size:30px;
}

.page-anniversaires .informations-etapes .etapes-order .etape i.fa-check {
    color:#42b92b
}

.page-anniversaires .informations-etapes .etapes-order .etape i.fa-times {
    color:#db1b1b
}

.page-anniversaires .informations-etapes .etapes-order a {
    text-decoration:none;
    color:black;
}

.page-anniversaires .informations-etapes .etapes-order .etape.en-cours {
    background:#5cbfc2;
    color:white;
    width:calc(100% - 60px + 15px);
    font-size:1.2rem;
}

.page-anniversaires .informations-etapes .etapes-order .etape.not-done {
    background:#CDCDCD;
    color:#989898;
}

.page-anniversaires .informations-etapes .etapes-order .etape.not-done i{
    display:none;
}

.page-anniversaires .informations-etapes .informations-etape {
    height:min-content;
    margin-top: 50px;
}


.page-anniversaires .reservation {
    width:60%;
    background:white;
}

.page-anniversaires .reservation .titre-reservation {
    width:85%;
    margin-left:auto;
    margin-right:auto;
}

.page-anniversaires .reservation .titre-reservation span {
    display:block;
    width:60%;
    padding:10px;
    padding-left:30px;
    background:#5cbfc2;
    color:white;
    font-size:1.2rem;
    font-weight:800;
    text-transform:uppercase;
}

.page-anniversaires .reservation .reservation-form {
    width: calc(85% - 60px);
    box-shadow: 0px 0px 10px #8d8d8d;
    margin-left:auto;
    margin-right:auto;
    padding:30px;
}

.page-anniversaires .reservation .reservation-form form {
    width:100%;
}

.page-anniversaires .reservation .reservation-form dd{
    margin-left:0;
}

.page-anniversaires .reservation .reservation-form h2 {
    display: inline-block;
    padding: 10px 25px;
    border-radius: 7px; 
    background:white;
    border:3px solid #5cbfc2;
    color:#5cbfc2;   
    font-size:1.2rem;  
}

.page-anniversaires .reservation .reservation-form label {
    font-weight:500;
}

.page-anniversaires .reservation input[type=text], .page-anniversaires .reservation input[type=tel], .page-anniversaires .reservation input[type=number], .page-anniversaires .reservation input[type=date], .page-anniversaires .reservation select{
  width: 100%;
  padding: 6px 10px;
  margin: 8px 0;
  display: inline-block;
  border: 1px solid #ccc;
  border-radius: 0;
  box-sizing: border-box;
  color:#7a7a7a;
  background:white;
}

.page-anniversaires .reservation select[disabled] {
    background:#9D9D9D;
    color:#6B6B6B;
}

.page-anniversaires .reservation .reservation-form .nb-enfants-input {
    width:70px;
}

.page-anniversaires .reservation .reservation-form .infos-enfant{
    display:flex;
    margin-top:30px;
}

.page-anniversaires .reservation .reservation-form .infos-enfant div {
    width:50%;
    padding-left:20px;
    padding-right:20px;
}

.page-anniversaires .reservation .reservation-form .infos-enfant div:first-child {
    padding-left:0;
}

.page-anniversaires .reservation .reservation-form .infos-enfant div:last-child {
    padding-right:0;
}

.page-anniversaires .reservation .reservation-form .infos-enfant div input, .page-anniversaires .reservation .reservation-form .infos-enfant div select{
    width:calc(100% - 15px);
}

.page-anniversaires .reservation .reservation-form div.genre {
    margin-top:30px;
}

.page-anniversaires .reservation .reservation-form div.genre p {
    margin-top:0;
    margin-bottom:0;
}

.page-anniversaires .reservation .reservation-form div.genre div.input-genre {
    display:flex;
    margin:8px 0;
    line-height:30px;
    padding:0;
    width:100%;
}

.page-anniversaires .reservation .reservation-form div.genre div.input-genre div {
    padding:0;
}

.page-anniversaires .reservation .reservation-form div.genre div.input-genre .div-garcon {
    margin-left:50px;
}

.page-anniversaires .reservation .reservation-form div.genre div.input-genre div input {
    width:auto;
}

.page-anniversaires .reservation .reservation-form div.genre label {
    display:inline-block;
    margin-left:20px;
}

.page-anniversaires .reservation .reservation-form div.genre label:before {
    background-image:url(/images/icons/male-2-64.png);
    background-size:30px;
    display: block; 
    width:30px;
    height:30px;
    position:relative;
    left:25px;
    content:"";
}

.page-anniversaires .reservation .reservation-form div.genre label:first-child:before {
    background-image:url(/images/icons/female-64.png);
}

.page-anniversaires .reservation .reservation-form div.genre label img {
    height:30px;
    width:30px;
}

.page-anniversaires .reservation .reservation-form .date-reservation{
    margin-top:30px;
}

.formule-title {
    text-align:center;
    text-transform:uppercase;
    font-weight:800;
    font-size:1.7rem;
    max-width:80%;
    margin:0;
    margin-left:auto;
    margin-right:auto;
}

.page-anniversaires .reservation .formule, .page-anniversaires .reservation .pack-activites {
    margin-top:50px;
    margin-bottom:50px;
    display:flex;
    flex-wrap:wrap
}

.page-anniversaires .reservation .formule button, .page-anniversaires .reservation .pack-activites button {
    display:block;
    width:80%;
    color:white;
    font-size:1.1rem;   
    border-radius:0;
    border:0;
    padding:20px;
    margin-top:20px;
    cursor:pointer;
    margin-left:auto;
    margin-right:auto;
    border-radius:20px;
}

.page-anniversaires .reservation .formule button.formule-disabled {
    background:#a8a8a8;
    color:#909090;
    cursor:not-allowed;
}

.page-anniversaires .reservation .formule .formule-selected button:after {
    text-rendering: auto;
    font-family: "FontAwesome";
    content:"\f00c";
    position:relative;
    color:#42b92b;
    font-size:25px;
    margin-left:10px;
}

.page-anniversaires .reservation .formule button.green, .page-anniversaires .reservation .pack-activites button.green {
    background:linear-gradient(to right, #4cde91, #27bfac 95%);
}

.page-anniversaires .reservation .formule button.blue, .page-anniversaires .reservation .pack-activites button.blue {
    background:linear-gradient(to right, #2cadfa, #457af9 95%);
}

.page-anniversaires .reservation .formule button.purple, .page-anniversaires .reservation .pack-activites button.purple {
    background:linear-gradient(to right, #5e49d4, #552cb2 95%);
}

.page-anniversaires .reservation .formule button i.fa-caret-right, .page-anniversaires .reservation .pack-activites button i.fa-caret-right {
    position:absolute;
    right:60%;
    font-size:120px;
    color:#238689;
}

.page-anniversaires .reservation .formule div.formule-div, .page-anniversaires .reservation .pack-activites div.pack-activites-div {
    width:calc(50% - 50px);
    background:#f9f9f9;
    font-size:1.1rem;   
    border-radius:0;
    border:0; 
    padding-bottom:20px;
    padding-top:20px;
    margin-bottom:50px;
    text-align:center;
    color:#828282;
    margin-left:auto;
    margin-right:auto;
    box-shadow: 0px 0px 15px 0px rgba(0, 0, 0, 0.2);
}

.page-anniversaires .reservation .formule div.formule-div:hover, .page-anniversaires .reservation .pack-activites div.pack-activites-div:hover {
    box-shadow: 0px 0px 15px 0px rgba(0, 0, 0, 0.5);
}

.page-anniversaires .reservation .formule div.formule-selected, .page-anniversaires .reservation .pack-activites div.pack-activites-selected {
    box-shadow: 0px 0px 15px 0px rgba(0, 0, 0, 0.5);
}

.page-anniversaires .reservation .pack-activites .pack-activites-selected button:after {
    text-rendering: auto;
    font-family: "FontAwesome";
    content:"\f00c";
    position:relative;
    color:#42b92b;
    font-size:25px;
    margin-left:10px;
}

.page-anniversaires .reservation .formule div.formule-div h2, .page-anniversaires .reservation .pack-activites div.pack-activites-div h2{
    margin-top:0;
    margin-bottom:0;
    text-transform:uppercase;   
    font-size:1.5rem;
    font-weight:800; 
    max-width: 80%;
    margin-left: auto;
    margin-right: auto;
}

.page-anniversaires .reservation .pack-activites div.pack-activites-div h2 {
    font-size:1.5rem;
    min-height:100px;
}

.page-anniversaires .reservation .formule div.formule-div .prix-div, .page-anniversaires .reservation .pack-activites div.pack-activites-div .prix-div {
    padding-top:20px;
    padding-bottom:20px;
    margin-top:20px;
    color:white;
    text-transform:uppercase;
    font-weight:800;
}

.page-anniversaires .reservation .formule div.formule-div .prix-div.green, .page-anniversaires .reservation .pack-activites div.pack-activites-div .prix-div.green {
    background:linear-gradient(to right, #4cde91, #27bfac 95%);
}

.page-anniversaires .reservation .formule div.formule-div .prix-div.blue, .page-anniversaires .reservation .pack-activites div.pack-activites-div .prix-div.blue {
    background:linear-gradient(to right, #2cadfa, #457af9 95%);
}
.page-anniversaires .reservation .formule div.formule-div .prix-div.purple, .page-anniversaires .reservation .pack-activites div.pack-activites-div .prix-div.purple {
    background:linear-gradient(to right, #5e49d4, #552cb2 95%);
}

.page-anniversaires .reservation .formule div.formule-div .prix-div p, .page-anniversaires .reservation .pack-activites div.pack-activites-div .prix-div p{
    margin-top:0;
    margin-bottom:0;
    font-size:1rem;
}

.page-anniversaires .reservation .formule div.formule-div .prix-div span, .page-anniversaires .reservation .pack-activites div.pack-activites-div .prix-div span{
    margin-top:15px;
    margin-bottom:15px;
    font-size:2rem;
}

.page-anniversaires .reservation .formule div.formule-div ul, .page-anniversaires .reservation .pack-activites div.pack-activites-div ul{
    width:max-content;
    margin-left:auto;
    margin-right:auto;
    max-width:70%;
}

.page-anniversaires .reservation .formule div.formule-div ul li, .page-anniversaires .reservation .pack-activites div.pack-activites-div ul li{
    text-align:left;    
}

.page-anniversaires .reservation .formule div.formule-div-formule-disabled ul li.nb-enfants{
    color:red;
}

.page-anniversaires .reservation .formule div.formule-div .more-infos-button, .page-anniversaires .reservation .pack-activites div.pack-activites-div .more-infos-button{
    cursor:pointer;
    margin-top:0;
    margin-bottom:0;
}

.page-anniversaires .reservation .formule div.formule-div .more-infos-button.green, .page-anniversaires .reservation .pack-activites div.pack-activites-div .more-infos-button.green{
    color:#4cde91;
}

.page-anniversaires .reservation .formule div.formule-div .more-infos-button.blue, .page-anniversaires .reservation .pack-activites div.pack-activites-div .more-infos-button.blue{
    color:#2cadfa;
}

.page-anniversaires .reservation .formule div.formule-div .more-infos-button.purple, .page-anniversaires .reservation .pack-activites div.pack-activites-div .more-infos-button.purple{
    color:#5e49d4;
}

.page-anniversaires .reservation .formule div.formule-div hr, .page-anniversaires .reservation .pack-activites div.pack-activites-div hr {
    background:white;
    border:white;
    height:5px;
    width:80%;
}

.page-anniversaires .reservation .formule div.formule-div i, .page-anniversaires .reservation .pack-activites div.pack-activites-div i {
    font-size:25px;
    cursor:pointer;
}

.page-anniversaires .reservation .formule div.formule-div i.fa-caret-right, .page-anniversaires .reservation .pack-activites div.pack-activites-div i.fa-caret-right {
    font-size:70px;
    cursor:normal;
}

.page-anniversaires .reservation .formule div.formule-div p.precisions, .page-anniversaires .reservation .pack-activites div.pack-activites-div p.precisions {
    margin-left:20px;
    margin-right:20px;
}

.page-anniversaires .reservation .formule button span.description_min {
    font-weight:800;
}

.page-anniversaires .reservation .reservation-form .activites .choix-activite {
    display:flex;
    margin-top:70px;
}

.page-anniversaires .reservation .reservation-form .activites .choix-activite .image-activite {
    width:30%;
    padding-left:30px;
}

.page-anniversaires .reservation .reservation-form .activites .choix-activite .image-activite img{
    width:100%;
}

.page-anniversaires .reservation .reservation-form .activites .choix-activite .one-activite {
    width:70%;    
}

.page-anniversaires .reservation .reservation-form .activites .choix-activite .one-activite h3.activite-when-one{
    text-align:center;   
}

.page-anniversaires .reservation .reservation-form .activites .one-horaire {
    margin-top:30px;
}

.page-anniversaires .reservation .reservation-form .activites .one-horaire h4 span{
    color:#5cbfc2;
}

.page-anniversaires .reservation .reservation-form .activites .gateaux {
    margin-top:50px;
}

.page-anniversaires .reservation .reservation-form .activites .gateaux p {
    margin-top:0;
    margin-bottom:0;
}

.page-anniversaires .reservation .reservation-form .activites .gateaux div.input-gateau {
    display:flex;   
    margin:8px 0;
    margin-top:20px;
    line-height:30px;
    padding:0;
    width:100%;
}

.page-anniversaires .reservation .reservation-form .activites .gateaux div.input-gateau div {
    padding:0;
    margin-left:50px;
}

.page-anniversaires .reservation .reservation-form .activites .gateaux div.input-gateau div:first-child{
    margin-left:0;
}

.page-anniversaires .reservation .reservation-form .activites .gateaux div.input-gateau div input {
    width:auto;
}

.page-anniversaires .reservation .reservation-form .activites .gateaux label {
    display:inline-block;
    margin-left:20px;
}

.page-anniversaires .reservation .reservation-form .activites .gateaux label img {
    display:block;
    height:100px;
    width:100px;
    margin-left:auto;
    margin-right:auto;
}

.page-anniversaires .reservation .reservation-form div.gateaux label:before {
    background-image:url(/images/gateau-2.png);
    background-size:100px;
    display: block; 
    width:100px;
    height:100px;
    position:relative;
    left:40px;
    content:"";
    margin-bottom:15px;
}

.page-anniversaires .reservation .reservation-form div.gateaux label:first-child:before {
    background-image:url(/images/gateau-1.png);
}

.page-anniversaires .reservation .reservation-form .nom-prenom-parent, .page-anniversaires .reservation .reservation-form .tel-mail-parent {
    display:flex;
}

.page-anniversaires .reservation .reservation-form .nom-prenom-parent div, .page-anniversaires .reservation .reservation-form .tel-mail-parent div{
    width:calc(50% - 20px);
    margin-left:40px;
}

.page-anniversaires .reservation .reservation-form .nom-prenom-parent div:first-child, .page-anniversaires .reservation .reservation-form .tel-mail-parent div:first-child{
    margin-left:0;
}

.page-anniversaires .reservation .reservation-form .panier h2 {
    border:none;
    font-size:1rem;
    padding:0;
    background:none;
    margin-top:0;
    margin-bottom:0;
}

.page-anniversaires .reservation .reservation-form .panier .genre-recap div {
    margin-left:30px;
}

.page-anniversaires .reservation .reservation-form .panier .genre-recap div img {
    width:50px;
}

.page-anniversaires .reservation .reservation-form .panier .genre-recap div p {
    margin-left:10px;
}

.page-anniversaires .reservation .reservation-form .panier p.heure span {
    font-weight:800;
}

.page-anniversaires .reservation .reservation-form .panier .activite-planing {
    display:flex;
    margin-top:40px;
}

.page-anniversaires .reservation .reservation-form .panier .activite-planing .image-activite {
    margin-left:30px;
}

.page-anniversaires .reservation .reservation-form .panier p.infos-panier {
    font-style: italic;
    color:#989898;
    font-weight:600;
    font-size:0.9rem;
}

.page-anniversaires .reservation .reservation-form .panier .gateau-and-enfant {
    display:flex;
}

.page-anniversaires .reservation .reservation-form .panier .gateau-and-enfant p{
    color:#5cbfc2;
}

.page-anniversaires .reservation .reservation-form .panier .gateau-and-enfant p span{
    color:black;
    font-weight:800;
}

.page-anniversaires .reservation .reservation-form .panier .gateau-and-enfant .enfant-recap {
    margin-left:40px;
}

.page-anniversaires .reservation .reservation-form .panier .gateau-and-enfant .enfant-recap img {
    width:20px;
}

.page-anniversaires .reservation .reservation-form .panier .gateau-recap > img {
    width:100px;
}

.page-anniversaires .reservation .reservation-form .panier hr {
    height: none;
    border: none;
    border-top: 2px dashed #5cbfc2;
    margin-top:40px;
    margin-bottom:40px;
}

.page-anniversaires .reservation .reservation-form .panier a.modifier {
    color:black;
    
}

.page-anniversaires .reservation .reservation-form .panier .coordonnees-recap p{
    margin-top:3px;
    margin-bottom:3px;
    font-weight:800;
    font-size:0.9rem;
    color:#7C7C7C;
}

.page-anniversaires .reservation .reservation-form .panier .prix-explications {
    color:#7C7C7C;
    font-size:0.8rem;
    font-weight:800;
}

.page-anniversaires .reservation .reservation-form .panier .prix-explications span {
    color:red;
}

.page-anniversaires .reservation .reservation-form .panier .paiement {
    margin-top:50px;
    display:flex;
}

.page-anniversaires .reservation .reservation-form .panier .paiement .prix-recap {
    width:50%;
}

.page-anniversaires .reservation .reservation-form .panier .paiement form {
    width:50%;
}

.page-anniversaires .reservation .reservation-form .panier .paiement .prix-display {
    font-weight:800;
    text-align:center;
}

.page-anniversaires .reservation .reservation-form .panier .paiement .prix-display span {
    display:block;
    width: max-content;
    padding: 15px 20px;
    box-sizing: border-box;
    color: #5cbfc2;
    text-align:center;
    font-size:1.5rem;
    font-weight:800;
    margin-left:auto;
    margin-right:auto;
}

.page-anniversaires .reservation .reservation-form .submit {
    display:block;
    margin-top:30px;
    margin-left:auto;
    margin-right:auto;
    padding:12px;
    padding-left:100px;
    padding-right:100px;
    background:#5cbfc2;
    color:white;
    text-transform:uppercase;
    font-size:1.2rem;
    font-weight:500;
    border:0;
    cursor:pointer;
}

.confirmation_commande {
    text-align: center;
}

.confirmation_commande h2 {
    margin-top:0;
    padding-top:0;
}

.confirmation_commande h2 span{
    color:#5cbfc2;
}

.confirmation_commande iframe {
    width:100%;
}

.paiement-form {
    position:absolute;
    top:50%;
    left:50%;
    transform:translate(-50%, -50%);
}
.paiement-form h2 {
    text-align:center;
    color:black;
    font-size:2rem;
    max-width:80vw;
    margin-left:auto;
    margin-right:auto;
}

.paiement-form h3 {
    text-align:center;
    color:#484848;
    font-size:1.1rem;
    max-width:80vw;
    margin-left:auto;
    margin-right:auto;
}

.paiement-form dd {
    margin:0;
}

.paiement-form h2 span{
    color:#5cbfc2;
}

.paiement-form input {
    display: block;
    padding: 12px;
    padding-left: 100px;
    padding-right: 100px;
    background: #5cbfc2;
    color: white;
    text-transform: uppercase;
    font-size: 1.2rem;
    font-weight: 500;
    border: 0;
    cursor: pointer;
    margin-left:auto;
    margin-right:auto;
    margin-top:70px;
}

.headband {
    margin-left:auto;
    margin-right:auto;
    width:max-content;
    background:#5cbfc2;
    color:white;
    padding:10px;
    border-radius:7px;
    margin-top:30px;
    max-width:80%;
    text-align:center;
}

.image-bg-auth {
    width:100%;
    height:calc(100vh - 25px);
    background:url("/images/bowling-central-park-bar.jpg") no-repeat;
    -webkit-background-size: cover;
    background-size: cover;
    display: flex;
    align-items: center;
}

.auth-ctn {
    width:400px;
    max-width:calc(80% - 100px);
    margin-left:auto;
    margin-right:auto;
    background:white;
    padding:50px;
    position:relative;
}

.auth-ctn h2 {
    margin-top:0;
    margin-bottom:10px;
    font-size:1.1rem;
}

.auth-ctn dl {
    margin:0;
}

.auth-ctn dd {
    margin-left:0;
    position:relative;
}

.auth-ctn dd#remember_me-element {
    width:max-content;
    margin-top:15px;
}

.auth-ctn dt {
    width:max-content;
}

.auth-ctn #form-login-label, .auth-ctn #login_email-label, .auth-ctn #login_password-label {
    display:none;
}

.auth-ctn #login_email-element:before {
    font-family: "FontAwesome";
    content:"\f0e0";
    position: absolute;
    left: -23px;
    top: 22px;
}

.auth-ctn #login_password-element:before {
    font-family: "FontAwesome";
    content:"\f023";
    position: absolute;
    left: -20px;
    top: 22px;
}

.auth-ctn dt#remember_me-label {
    position: relative;   
    bottom: 24px;    
    left: 35px;
}

.auth-ctn input[type=text], .auth-ctn input[type=password] {
    width: 100%;
    padding: 8px 10px;
    margin: 15px 0;
    display: inline-block;
    border:0px;
    border-bottom: 1px solid #ccc;
    border-radius: 0;
    box-sizing: border-box;
    color: #7a7a7a;
    background: white;
}

.auth-ctn input[type=text]:focus, .auth-ctn input[type=password]:focus {
    border-bottom: 2px solid #5cbfc2;
}

.auth-ctn input[type=submit] {
    display: block;
    margin-top: 5px;
    margin-left: auto;
    margin-right: inherit;
    background:none;
    padding:0;
    color:#aaa;
    text-transform: uppercase;
    font-size: 1rem;
    font-weight: 500;
    border: 0;
    cursor:pointer;
}

.auth-ctn input[type=submit]:hover {
    color:#5cbfc2;
}

.auth-ctn p a {
    color:#5cbfc2;
    text-decoration:none;
}

.holydays-link {
    top: 20px;
    position: relative;
    left: 20px;
}

a.add-holyday-link, a.list-holyday-link, a.dayly-link {
    color:#444444;
    text-decoration:none;
}

.calendar-events-table {
    padding:30px;
    padding-top:25px;
    padding-bottom:50px;
}

.calendar-events-date-selector {
    background: transparent !important;
}

.calendar-events-table table .calendar-events-date-selector td {
    border: none;
}

.calendar-events-table table .calendar-events-date-selector form {
    width:220px;
}

.calendar-events-other-month, .calendar-events-table tr:hover .calendar-events-other-month {
    background:#dddddd !important;
}

.calendar-events-date-current, .calendar-events-date-next-month, .calendar-events-date-previous-month {
    font-weight:800;
}

.calendar-events-date-current {
    color: #3a9da0;
    text-transform: uppercase;
    position:relative;
    top:10px;
}

.calendar-events-date-next-month, .calendar-events-date-previous-month {
    color: #5cbfc2 !important;
    text-transform: uppercase;
    text-decoration: none;
    position: relative;
}

.calendar-events-date-next-month.month, .calendar-events-date-previous-month.month {
    background:white;
    width:max-content !important;
    padding:7px !important;
    position:relative;
}

.calendar-events-date-next-month.month:hover, .calendar-events-date-previous-month.month:hover {
    border:none;
}

.calendar-events-table table .calendar-events-days td {
    border: none;
    color: #4b4b4b;
}

.calendar-events-table table td {
    position:relative;
}

.calendar-events-table table td .link-for-small-device {
    width: calc(100% - 20px);
    display: none;
    height: calc(100% - 20px);
    position: absolute;
}

.calendar-events-day {
    padding: 10px;
}

div.calendar-events-item {
    background-color: #5cbfc2;
    color: #FFF;
    border: none;
    padding:8px;
    font-weight:600;
    font-size:0.8rem;
}

div.calendar-events-item.first{
    margin-top:20px;
}

div.calendar-events-item.commandes_restaurant {
    background-color: #000000;
    color: #fff;
}

div.calendar-events-item.commandes_bowling {
    background-color: #010a52;
    color: #fff;
}

div.calendar-events-item.commandes_laser {
    background-color: #f59402;
    color: #000;
}

div.calendar-events-item.commandes_vr {
    background-color: #014a14;
    color: #fff;
}

div.calendar-events-item.event-laser-game {
    background-color: #ffff00;
    color: #000;
}

div.calendar-events-item.event-laser-game p a {
    color: #000;
}

div.calendar-events-item.event-bowling {
    background-color: #ff3399;
    color: #FFF;
}

div.calendar-events-item.event-plaine-jeux {
    background-color: #9966ff;
    color: #FFF;
}

div.calendar-events-item.event-restaurant {
    background-color: #00cc66;
    color: #FFF;
}

div.calendar-events-item.event-karaoke {
    background-color: #346eeb;
    color: #FFF;
}

div.calendar-events-item.event-pub {
    background-color: #e8900c;
    color: #000;
}

div.calendar-events-item.event-seminaire {
    background-color: red;
    color: #FFF;
}

div.calendar-events-item.event-vr {
    background-color: #9ad4fd;
    color: #000;
}

div.calendar-events-item.commandes_restaurant {
    background-color: #7133ff;
    color: #fff;
}

div.calendar-events-item.event-vr p a {
    color: #000;
}

div.calendar-events-item.event-blind_test {
    background-color:#9e0e40;
}

div.calendar-events-item.and-more {
    background:black;
    width:max-content;
    margin-left:auto;
    margin-right:auto;
    border-radius:7px;
    text-align:center;
    font-size:0.8rem;
    padding:5px;
}

.calendar-events-item a {
    text-decoration: none;
    color: #FFF;
    display:block;
}

.calendar-events-item a .hour-reservation {
    font-size:0.8rem;
}

.calendar-event-datas {
    position:relative;
    min-height:60px;
    margin-left:0 !important;
    display:flex;
}

.calendar-event-datas > div {
    width:100%;
}

.calendar-event-datas > div.hour-reservation-div {
    width:90px;
    text-align:center;
    margin-right:15px;
    padding-right:15px;
    border-right:1px solid #ccc;
}

.calendar-event-datas .description-event {
    margin-left:30px;
}

.calendar-event-datas .products {
    margin-left:30px;
}

.calendar-reservations-by-date {
    padding-left:0;
    padding-right:0;
    padding-bottom:0;
}

.calendar-reservations-by-date .calendar-events-date-current {
    top:0;
    width: calc(100% - 70px);
}

.calendar-reservations-by-date .calendar-events-date-next-month.month, .calendar-reservations-by-date .calendar-events-date-previous-month.month {
    bottom:8px;
}

.calendar-reservations-by-date .calendar-events-days td div{
    width:28px;
    overflow:hidden;
    text-overflow: ".";
}

.calendar-reservations-by-date .setting-div {
    display:none;
}

.calendar-reservations-by-date table td {
    border:none !important;
}

.calendar-reservations-by-date .calendar-events-date-selector {
    font-size:0.9rem;
}

.calendar-reservations-by-date .calendar-events-other-month {
    background:none !important;
}

.calendar-reservations-by-date tr:hover .calendar-events-other-month {
    background:none !important;
}

.calendar-reservations-by-date .calendar-events-current-day {
    background:#5cbfc2;
    border-radius:50%;
    color:white;
}

.calendar-reservations-by-date tr:hover .calendar-events-current-day {
    background:#5cbfc2;
    border-radius:50%;
    color:white;
}

.calendar-reservations-by-date .calendar-events-current-day:hover {
    background:#5cbfc2;
    border-radius:50%;
    color:white;
}

.calendar-reservations-by-date .calendar-events-number {
    font-size:0.8rem;
}

.calendar-events-table.calendar-reservations-by-date table .calendar-events-days {
    font-size:0.8rem;
}

.calendar-reservations-by-date table td .link-for-small-device {
    display:block;
    width:100%;
    height:100%;
}

.calendar-reservations-by-date div.calendar-events-item {
    display:none;
}

.calendar-reservations-by-date .add-reservation {
    display:none;
}

.calendar-reservations-by-date .calendar-events-day {
    height:25px;
    padding:1px;
    text-align:center;
}

.calendar-reservations-by-date table .calendar-events-date-selector form {
    width:calc(100% - 10px);
    text-align:center;
}

.date-selector-row, .filter-row {
    background:transparent;
}

.date-selector-row td, .filter-row td {
    border:none !important;    
}

.date-selector-row td:hover, .filter-row td:hover {
    background:transparent !important;
}

.setting-div {
    float:right;
    width:max-content;
    position:relative;
    top:10px;
    right:30px;
}

.settings-calendar {
    float:right;
    font-size:1.2rem !important;
}

.settings-calendar:hover {
    cursor:pointer;
}

#settings-menu, #actions-menu {
    position:absolute;
    padding:15px;
    z-index:10;
    border:1px solid black;
    background:white;
    width:max-content;
    right:0px;
    top:30px;
}

#settings-menu ul, #actions-menu ul {
    margin:0;
    padding:0;
    width:300px;
}

#settings-menu ul a, #actions-menu ul a {
    display:block;    
}

#settings-menu ul h3, #actions-menu ul h3 {
    margin-top:15px;
    margin-bottom:5px;
    font-size:1rem;  
}

#settings-menu ul li, #actions-menu ul li {
    list-style:none;
    width:100%;
    font-size:0.9rem;
    border-bottom: 1px solid #5cbfc2;
    margin-bottom:10px;
    padding:5px;
}

.back-calendar {
    margin-top:0;
    padding-top:1em;
}

.back-calendar > a {
    text-decoration: none;
    color: black;
    margin-left:20px;
    padding:10px;
}

.back-calendar > a:hover {
    background:#5cbfc2;
    color:white;
}

.date-events {
    color: black;
    text-align: left;
    font-size:1.5rem;
    font-weight:800;
    padding-left: 10px;
    padding-right: 10px;
    padding-bottom:40px;
    border-bottom: 1px solid #cccccc;
    margin-left: 25px;
    margin-right: 25px;
}

.date-events a {
    color:black;
    float:right;
    margin-left:15px;
    margin-right:15px;
    font-weight:800;
}

.date-events a:first-child {
    float:right;
}

ul.events-list {
    margin-left:20px;
    margin-right:20px;
    margin-top:40px;
    padding-left:0;
}

ul.events-list a {
    text-decoration:none;
    color:#525252;
}

ul.events-list li {
    padding:8px !important;
    list-style:none; 
    background:#f2f2f2;
}

ul.events-list li p {
    margin:0;
}

ul.events-list li span {
    font-weight:800;
    color:black;
}

ul.events-list li.list-anniv-el, ul.events-list li.list-commande-restaurant-el {
    padding-right:90px !important;
}

ul.events-list i {
    font-size:25px;
    margin-right:15px;
}

ul.events-list li i.anniversaire {
    color:#5cbfc2;
}
ul.events-list li i.laser-game {
    color:#ffff00;
}
ul.events-list li i.bowling {
    color:#ff3399;
}
ul.events-list li i.plaine-jeux {
    color:#9966ff;
}
ul.events-list li i.restaurant {
    color:#00cc66;
}
ul.events-list li i.karaoke {
    color:#346eeb;
}
ul.events-list li i.pub {
    color:#e8900c;
}
ul.events-list li i.seminaire {
    color:red;
}
ul.events-list li i.vr {
    color:#9ad4fd;
}

ul.events-list li.pair {
    background:white;
    box-shadow: 0px 0px 15px 0px rgba(0, 0, 0, 0.2);
}

ul.events-list li .hour-reservation {
    color: #1F7F9B;
    font-weight: 800;
    font-size: 1.2rem;
}



ul.events-list li .category_event {
    font-weight: 800;
}

ul.events-list li .category_event.laser-game {
    color: #dfdf0c;
}

ul.events-list li .category_event.bowling {
    color: #ff3399;
}

ul.events-list li .category_event.plaine-jeux {
    color: #9966ff;
}

ul.events-list li .category_event.restaurant {
    color: #00cc66;
}

ul.events-list li .category_event.karaoke {
    color: #346eeb;
}
ul.events-list li .category_event.pub {
    color: #e8900c;
}

ul.events-list li .category_event.seminaire {
    color: red;
}

ul.events-list li .category_event.vr {
    color: #9ad4fd;
}

.activite-planing {
    margin-left:30px;
}

ul.events-list li .action-button {
    display:block;
    width:max-content;
    margin-left:auto;
    font-size: 0.9rem;
    float:right;
    margin-top:10px;
}

ul.events-list > .action-button {
    position:relative;
    top:-35px;
    left:calc(100% - 80px);
    font-size:1.4rem;
    display:block;
    height:0;
    width:max-content;
    color:#525252;
}

ul.events-list li .action-button a{
    margin-left:0;
}

ul.events-list li .action-button a:first-child{
    margin-left:0;
}

ul.filter {
    display:flex;
    flex-wrap:wrap;
    padding:0;
    margin-top:40px;
}

ul.filter li{
    list-style:none;
    margin-left:10px;
    margin-right:10px;
    margin-bottom:20px;
    cursor:pointer;
    font-size:0.9rem;
    width:100%;
    position:relative;
    padding-left:23px;
}

ul.filter li::before {
    content:"";
    display:block;
    position:absolute;
    left:0;
    top:2px;
    border-radius:100%;
    width:16px;
    height:16px;
    background:black;
}

ul.filter li.commandes-bowling-switch::before {
    background-color: #010a52;
}

ul.filter li.commandes-laser-switch::before {
    background-color: #f59402;
}

ul.filter li.commandes-vr-switch::before {
    background-color: #014a14;
}

ul.filter li.commandes-restaurant-switch::before {
    background-color: #000000;
}

ul.filter li.laser-game-switch::before {
    background-color: #ffff00;
}

ul.filter li.bowling-switch::before {
    background-color: #ff3399;
}

ul.filter li.plaine-jeux-switch::before  {
    background-color: #9966ff;
}

ul.filter li.restaurant-switch::before  {
    background-color: #00cc66;
}

ul.filter li.karaoke-switch::before  {
    background-color: #346eeb;
}
ul.filter li.pub-switch::before  {
    background-color: #e8900c;
}

ul.filter li.seminaire-switch::before  {
    background-color: red;
}

ul.filter li.vr-switch::before  {
    background-color: #9ad4fd;
}

ul.filter li.anniversaire-switch::before  {
    background-color: #5cbfc2;
}

ul.filter li.blind_test-switch::before  {
    background-color: #9e0e40;
}

ul.filter li i {
    float:right;
}

.add-reservation.by-date a {
    padding:10px;
}

.add-reservation.by-date a:hover {
    color:white !important;
    background:#5cbfc2;
}

.add-reservation i {
    cursor:pointer;
    position:relative;
    width:20px;
    text-align:center;
}

.add-reservation .day-action-menu {
    position:absolute;
    padding: 15px;
    z-index: 10;
    border: 1px solid black;
    background: white;
    width: max-content;
    right: 0px;
    top: 40px;
}

.add-reservation .day-action-menu.left {
    right: auto;
    left:0px;
}

.add-reservation .day-action-menu ul {
    margin:0;
    padding:0;
    width:250px;
}

.add-reservation .day-action-menu ul a {
    display:block;    
}

.add-reservation .day-action-menu ul h3 {
    margin-top:15px;
    margin-bottom:5px;
    font-size:1rem;  
}

.add-reservation .day-action-menu ul li {
    list-style:none;
    width:100%;
    font-size:0.9rem;
    border-bottom: 1px solid #5cbfc2;
    margin-bottom:10px;
    padding:5px;
}

.reservation-admin {
    display:flex;
}

.reservation-admin .recap-journee, .reservation-admin .coordonnees-prix {
    width:calc(50% - 100px);
    padding-left:50px;
    padding-right:50px;
}

.reservation-admin h2 {
    border:none;
    font-size:1rem;
    padding:0;
    background:none;
    margin-top:0;
    margin-bottom:0;
}

.reservation-admin .genre-recap div {
    margin-left:30px;
}

.reservation-admin .genre-recap div img {
    width:50px;
}

.reservation-admin .genre-recap div p {
    margin-left:10px;
}

.reservation-admin p.heure span {
    font-weight:800;
}

.reservation-admin .activite-planing {
    display:flex;
    margin-top:40px;
}

.reservation-admin .activite-planing .image-activite {
    margin-left:30px;
}

.reservation-admin p.infos-panier {
    font-style: italic;
    color:#989898;
    font-weight:600;
    font-size:0.9rem;
}

.reservation-admin .gateau-and-enfant {
    display:flex;
}

.reservation-admin .gateau-and-enfant p{
    color:#5cbfc2;
}

.reservation-admin .gateau-and-enfant p span{
    color:black;
    font-weight:800;
}

.reservation-admin .gateau-and-enfant .enfant-recap {
    margin-left:40px;
}

.reservation-admin .gateau-and-enfant .enfant-recap img {
    width:20px;
}

.reservation-admin .gateau-recap > img {
    width:100px;
}

.reservation-admin hr {
    height: none;
    border: none;
    border-top: 2px dashed #5cbfc2;
    margin-top:40px;
    margin-bottom:40px;
}

.reservation-admin a.modifier {
    color:black;
    
}

.reservation-admin .coordonnees-recap p{
    margin-top:3px;
    margin-bottom:3px;
    font-weight:800;
    font-size:0.9rem;
    color:#7C7C7C;
}

.reservation-admin .prix-explications {
    color:#7C7C7C;
    font-size:0.8rem;
    font-weight:800;
}

.reservation-admin .prix-explications span {
    color:red;
}

.reservation-admin .paiement {
    margin-top:50px;
    display:flex;
}

.reservation-admin .paiement .prix-recap {
    width:50%;
}

.reservation-admin .paiement form {
    width:50%;
}

.reservation-admin .paiement .prix-display {
    font-weight:800;
    text-align:center;
}

.reservation-admin .paiement .prix-display span {
    display:block;
    width: max-content;
    padding: 15px 20px;
    box-sizing: border-box;
    color: #5cbfc2;
    text-align:center;
    font-size:1.5rem;
    font-weight:800;
    margin-left:auto;
    margin-right:auto;
}

.commande-restaurant-admin {
    padding:0 20px;
    padding-bottom:50px;
}

#horaires-h4-2 {
    text-align:center;
}

.form-admin-anniversaire {
    margin-bottom:20px;
}

.form-admin-anniversaire input[type="text"],.form-admin-anniversaire input[type="tel"],.form-admin-anniversaire input[type="number"],.form-admin-anniversaire input[type="date"],.form-admin-anniversaire select ,.form-admin-anniversaire select,.form-admin-anniversaire textarea,.form-admin-anniversaire p,.form-admin-anniversaire label, .form-admin-anniversaire h2, .form-admin-anniversaire h3 {
    width:300px;
    padding: 6px 10px;
    margin-left:auto;
    margin-right:auto;
    display:block;   
}

.form-admin-anniversaire input[type="text"],.form-admin-anniversaire input[type="tel"],.form-admin-anniversaire input[type="number"],.form-admin-anniversaire input[type="date"],.form-admin-anniversaire select {
    border: 1px solid #ccc;
    border-radius: 0;
    color: #7a7a7a;
    background: white;
}

.form-admin-anniversaire .input-gateau, .form-admin-anniversaire .input-genre {
    margin-left:auto;
    margin-right:auto;
    display:flex;
    width:max-content;
}

.form-admin-anniversaire .input-gateau input, .form-admin-anniversaire .input-genre input{
    width:auto;
}

.form-admin-anniversaire .input-gateau label, .form-admin-anniversaire .input-genre label{
    text-align:center;
    width:auto;
}

.form-admin-anniversaire .input-gateau img {
    width:80px;
}

.form-admin-anniversaire input[type=submit] {
    margin-top:30px;
    background:#5cbfc2;
    color:white;
}

.form-admin-anniversaire .occurence-form {
    margin-left:auto;
    margin-right:auto;
    width:max-content;
    margin-top:30px;
}

.form-admin-anniversaire .occurence-form div {
    width:max-content;
    margin-left:auto;
    margin-right:auto;
}

.form-admin-anniversaire .occurence-form div#plagePeriodicite {
    margin-top:30px;
}

.form-admin-anniversaire .occurence-form input, .form-admin-anniversaire .occurence-form select, .form-admin-anniversaire .occurence-form textarea, .form-admin-anniversaire .occurence-form p, .form-admin-anniversaire .occurence-form label, .form-admin-anniversaire .occurence-form h2, .form-admin-anniversaire .occurence-form h3 {
    margin-left:0;
    margin-right:0;
    width:auto;
    display:inline-block;
    padding:0;
}

.form-admin-anniversaire .occurence-form input, .form-admin-anniversaire .occurence-form select, .form-admin-anniversaire .occurence-form textarea{
    padding: 6px 10px;
}

.form-admin-anniversaire h2 {
    font-size:1.2rem;
}

.form-admin-anniversaire .input-genre > div {
    display:flex;
}

.block-date {
    display:flex;
    width:max-content;
    margin-left:auto;
    margin-right:auto;
}

.block-date input, .block-date select{
    margin-left:3px;
    margin-right:3px;
}

.page-a-o-e {
    margin-left: auto;
    margin-right: auto;
    display: block;
    width: max-content;
    margin-top: 100px;
    font-size: 1.5rem;
    color: white !important;
    font-weight: 800;
    background:#5cbfc2;
    padding: 20px;
    border-radius: 7px;
}

.creneaux-bloques {
    padding:30px;
    display:flex;
}

.creneaux-bloques > .horaires-list {
    margin-left:50px;
    margin-right:50px;
    width:calc(50% - 100px);
    display:flex;
    flex-wrap:wrap;
}

.creneaux-bloques > .horaires-list h4 {
    color: #5cbfc2;
    font-weight: 800;
    font-size: 1.4rem;
    margin: 0;
    margin-bottom: 20px;
    width:100%;
}

.creneaux-bloques > .horaires-list .horaire-button {
    margin-bottom:10px;
    width:33%;
}

.creneaux-bloques > .horaires-list .horaire-button > span{
    font-size:1.2rem;
}

.creneaux-bloques > .horaires-list .horaire-button > span a{
    color:black;
    text-decoration:none;
}

.creneaux-bloques > .horaires-list .horaire-button > span i {
    cursor:pointer;
}

.top-background {
    width:100%;
    max-height:350px;
    height:auto;
    overflow:hidden;
    position:relative;
}

.top-background img {
    width:100%;
    height:auto;
    position:relative;
    bottom:520px;
}

.top-background .order {
    margin-left: 220px;
    width: calc(100% - 340px);
    position:fixed;
    top:0;
    right:0;
    display:flex;
    background:white;
    padding:10px 60px;
    z-index:9;
    box-shadow: 0px 0px 10px #8d8d8d;
}

.panier-restaurant {
    color:black;
    padding:5px;
    width:max-content;
    font-size:20px;
    line-height:30px;
}

.panier-restaurant.not-empty {
    color:#5cbfc2;
}

.panier-restaurant i{
    font-size:30px;
    line-height:30px;
}

.top-background .order .prix-commander {
    display:flex;
    position:absolute;
    right:60px;
}

.top-background .order .prix-commander > a, .top-background .order .prix-commander > div {
    line-height:40px;
}

.top-background .order .prix-commander #prix {
    font-weight:800;
}

.top-background .order .prix-commander > form > input {
    margin-left:20px;
    background:#5cbfc2;
    color:white;
    text-decoration:none;
    padding:10px;
    line-height:1rem;
    border:none;
    cursor:pointer;
}

.top-background .coordonnees-restaurant {
    position:absolute;
    bottom:50px;
    left:0;
    background:white;
    padding:20px;
    padding-left:50px;
}

.top-background .coordonnees-restaurant h3 {
    margin:0;
}

.top-background .coordonnees-restaurant p {
    margin:0;
}

.menu_restaurant {
    margin-left:70px;
    margin-right:85px;
    padding-top:20px;
    padding-bottom:20px;
    border-bottom:1px solid #cccccc;
}

.menu_restaurant ul {
    display:flex;
    flex-wrap:wrap;
    padding:0;
    margin:0;
}

.menu_restaurant ul li{
    list-style:none;
    margin-right:40px;
    font-size:0.9rem;
    padding-top:15px;
    padding-bottom:15px;
}

.menu_restaurant ul li a{
    text-decoration:none; 
    color:black; 
}

.plats_restaurant {
    margin-left:50px;
    margin-right:50px;
    display:flex;
    flex-wrap:wrap;
    margin-top:20px;
    margin-bottom:50px;
}

.plats_restaurant > h2 {
    width:100%;
    padding:0 20px;
    margin:0;
    margin-top:40px;
}

.plats_restaurant > div {
    margin:20px;
    width:calc(33% - 42px);
    text-decoration:none;
    color:black;
}

.plats_restaurant .plat_restaurant {
    display:flex;
    border: 1px solid rgb(210, 210, 210);
    position:relative;
    background:white;
}

.plats_restaurant .plat_restaurant.selected {
    border: 2px solid #5cbfc2;
}

.plats_restaurant .plat_restaurant:hover {
    border-color: rgb(0, 0, 0);
}

.plats_restaurant .plat_restaurant.selected:hover {
    border: 2px solid rgb(0, 0, 0);
}

.plats_restaurant .plat_restaurant .text_plat{
    padding:15px;
    width:calc(100% - 190px);
    position:relative;
    padding-bottom:110px;
}

.plats_restaurant .plat_restaurant .text_plat h4{
    margin:0;
}

.plats_restaurant .plat_restaurant .text_plat p{
    margin:0;
    margin-top:5px;
    color:#505050;
    font-size:0.8rem;
}

.plats_restaurant .plat_restaurant .text_plat .quantity, .list-products .product .infos-product .quantity {
    display:flex;
    position:absolute;
    bottom:45px;
    width:max-content;
}

.list-products .product .infos-product .quantity {
    bottom:50px;
}

.plats_restaurant .plat_restaurant .text_plat .quantity .button-decrease, .plats_restaurant .plat_restaurant .text_plat .quantity .button-increase, .list-products .product .infos-product .quantity .button-decrease, .list-products .product .infos-product .quantity .button-increase{
    padding:5px 12px;
    border:1px solid #aaaaaa;
    color:#5cbfc2;
    font-weight:800;
    font-size:1.6rem;
    cursor:pointer;
}

.list-products .product .infos-product .quantity .button-delete {
    border:1px solid #aaaaaa;
    color:red;
    font-weight:800;
    font-size:1.2rem;
    line-height:2.9rem;
}

.list-products .product .infos-product .quantity .button-delete button {
    padding:10px 12px;
    color:red;
}

.plats_restaurant .plat_restaurant .text_plat .quantity .quantity_number, .list-products .product .infos-product .quantity .quantity_number{
    padding:5px 25px;
    border:1px solid #aaaaaa;
    line-height:2.2rem;
}

.plats_restaurant .plat_restaurant .text_plat > span{
    position:absolute;
    bottom:15px;
    font-weight:800;
    font-size:1.2rem;
}

.plats_restaurant .plat_restaurant .image_plat{
    width:160px;
    height:172px;
    overflow:hidden;
} 

.plats_restaurant .plat_restaurant .image_plat img{
    height:172px;
}

.plats_restaurant .plat_restaurant .number_products {
    padding: 10px;
    background: #5cbfc2;
    height: max-content;
    font-size: 18px;
    line-height: 18px;
    font-weight:800;
    color: white;
    position:absolute;
    right:0;
}

.restaurant-panier-content {
    padding:0 30px;
}

.page-anniversaires .informations-etapes.restaurant-panier-content .recap-title {
    background: #5cbfc2;
    color: white;
    padding: 10px;
    margin-top: 20px;
    width: max-content;
    font-size: 0.9rem;
}

.list-products {
    margin-top:30px;
}

.list-products.card {
    padding:20px;
    margin-top:0;
}

.list-products .product {
    display:flex;
    margin-top:20px;
    background:white;
    border: 1px solid rgb(210, 210, 210);
}

.list-products .product:first-child {
    margin-top:0;    
}

.list-products .product .image_product {
    width:90px;
    height:90px;
    overflow:hidden;
}

.list-products .product .image_product img {
    height: 100%;
    width: 100%;
    object-fit: contain;
    object-position: center;
}

.list-products .product .infos-product{
    width:calc(100% - 220px);
    height:calc(100% - 20px);
    padding:10px;
    position:relative;
    padding-bottom:110px;
    padding-right:120px;
}

.recap-journee .list-products .product .infos-product{
    padding-bottom:125px;
}

.list-products .product .infos-product h3{
    margin:0;
}

.list-products .product .infos-product h4{
    margin:0;
    font-size:0.8rem;
    margin-top:5px;
    color:#505050;
}

.list-products .product .infos-product ul{
    display:flex;
    position:absolute;
    top:10px;
    right:10px;  
    margin:0;
    font-size:1.3rem;
}

.list-products .product .infos-product ul li {
    list-style:none;
    margin-left:20px;
    color:#505050;
}

.list-products .product .infos-product ul li:first-child {
    margin-left:0;
}

.list-products .product .infos-product ul li a {
    color:#505050;
}

.list-products .product .infos-product ul li i {
    cursor:pointer;
}

.list-products .product .infos-product > span{
    position:absolute;
    right:10px;
    bottom:10px;
    font-size:1.2rem;
    font-weight:600;
    color:#707070;
}

@media all and (min-width:992px) and (max-width:1280px) {
    .list-products .product .infos-product h3{
        font-size:1rem;
    }
    
    .list-products .product .infos-product > span{
        font-size:1rem;
    }
}

.total-price {
    border-top: 1px solid rgb(210, 210, 210);
    margin-top:50px;
    padding-top:30px;
    position:relative;
}

.total-price span{
    font-weight:800;
    font-size:1.3rem;
}

.total-price .prix_total_ammount {
    position:absolute;
    right:0;
}

.retrait-commande-title {
    font-size:1.5rem;
    font-weight:800;
    margin-top:40px;
    
}

.horaires {
    display:flex;
    border-radius:7px;
    margin-top:10px;
    flex-wrap:wrap;
}

.horaires .arrow-change-days {
    position: relative;
    top: 30px;
    font-size: 1.5rem;
    color:#5cbfc2;
    cursor:pointer;
    height:max-content;
}

.horaires > div {
    width:calc(33% - 50px);
    padding:20px;
    margin-left: auto;
    margin-right: auto;
}

.horaires > div > h4 {
    padding: 10px;
    padding-left:20px;
    margin: 0;
    margin-top: 20px;
    color: #5cbfc2;
    cursor: pointer;
    font-weight: 800;
    font-size: 1.2rem;
    width: max-content;
}

.horaires > div .jour{
    text-align:center;  
    border-bottom: 1px solid #ccc;
    padding-bottom: 20px;  
    font-weight:400;
}

.horaires > div .jour > span{
    font-weight:800;  
}

.horaires > div .horaires-button{
    display:flex;
    flex-wrap:wrap;
}

.horaires > div .horaire-button input{
    display:none;
}

.horaires > div .horaire-button {
    width:calc(50% - 20px);
    padding:10px;
}

.horaires > div .horaire-button label {
    text-align:center;
    display:block;
    width:calc(100% - 10px);
    padding:5px;
    background:#eeeeee;
    cursor:pointer;
    transition:0.5s;
}

.horaires > div .horaire-button label:hover {
    font-weight: 800;
    background:#ccc;
    transition:1s;
}

.horaires > div .horaire-button input:checked + label {
    font-weight: 800;
    background:#5cbfc2;
    color:white;
}

div.list-gestion-creneaux > h2 {
    max-width:80vw;
}

.gestion-creneaux-days {
    display:flex;
    flex-wrap:wrap;
    max-width:80vw;
}

.gestion-creneaux-days > div {
    width:100%;
    height:max-content;
    display:flex;
}

.gestion-creneaux-days > div > div {
    width:max-content;
    margin-left:auto;
    margin-right:auto;
    display:flex;
}

.gestion-creneaux-days > div > div > a.link-gestion-creneau {
    display:block;
    width:300px;
    text-align:center;
    padding:10px;
    margin:10px;
    text-decoration:none;
    color:black;
    background:white;
    border: 1px solid #5cbfc2;
    margin-top:20px;
    max-width:60vw;
}

.gestion-creneaux-days > div > div > a {
    color:#5cbfc2;
}

.gestion-creneaux-days > div > div > a > i {
    line-height: 45px;
    font-size: 1.8rem;
    margin-top: 20px;
    margin-bottom: 10px;
}

.list-holyday span, .list-creneaux-bloques span {
    background:white;
    border:1px solid #5cbfc2;
    color:black;
    padding:15px;
}

.gift-card-page {
    width:1400px;
    margin-left:auto;
    margin-right:auto;
}

.top-gift-card {
    display:flex;
    flex-wrap:wrap;
}

.top-gift-card > h2 {
    color:#707070;
    font-size:35px;
    line-height:44px;
    display:block;
    width:max-content;
    margin-left:0;
    margin-right:auto;
    font-weight:200;
    margin-top:0;
    margin-bottom:0;
}

.top-gift-card > h2 strong {
    color:#5CBFC2;
    font-weight:800;
}

.gift-cards {
    display:flex;
    flex-wrap:wrap;
    margin-top:-50px;
}

.gift-cards .gift-card-block {
    margin-left:65px;
    margin-right:65px;
    margin-top:157px;
}

.gift-cards .gift-card-block:nth-child(4n + 1) {
    margin-left:0;
}

.gift-cards .gift-card-block:nth-child(4n) {
    margin-right:0;
}

.gift-cards .gift-card-block:last-child {
    margin-top:0;
}

.gift-cards .gift-card-block .montant-block .input-block {
    width:max-content;
    display:flex;
    flex-wrap:wrap;
    margin-left:auto;
    margin-right:auto;
    margin-top:13px;
    align-items:center;
}

.gift-cards .gift-card-block .montant-block .input-block input {
    border:1px solid #707070;
    width:100px;
    height:20px;
    padding:10px;
}

.gift-cards .gift-card-block .montant-block .input-block p {
    margin-left:5px;
    color:#707070;
    font-size:24px;
    line-height:24px;
}

.gift-cards .gift-card-block .montant-block .input-block p span {
    font-size:16px;
}

.gift-cards .gift-card-block .montant-block {
    width:max-content;
    margin-left:0;
    margin-right:0;
    margin-top:0;
}

.gift-cards .gift-card-block .montant-block label {
    color:#707070;
    font-size:28px;
    line-height:34px;
    font-weight:200;
    text-align:center;
}

.gift-cards .gift-card-block .montant-block label strong {
    font-weight:800;
    color:#000000;
}

.gift-card {
    background-size:cover;
    border-radius:20px;
    position:relative;
    border:1px solid #707070;
    width:250px;
    height:384px;
    transition:0.5s;
}

.gift-card:hover {
    box-shadow: 15px 15px 15px #00000029;
}

.gift-cards .gift-card a {
    position:absolute;
    top:0;
    left:0;
    width:100%;
    height:100%;
    z-index:10;
}

.gift-card .price, .gift-cards .gift-card .price_libre {
    position:absolute;
    top: calc(50% + 10px);
    left: calc(50% + 6px);
    transform:translate(-50%,0);
    font-size:45px;
    line-height:50px;
    font-weight:800;
    display:flex;
}

.gift-card .price span, .gift-cards .gift-card .price_libre span {
    font-size:28px;
    vertical-align: text-top;
}

.gift-cards .gift-card .price_libre #price_libre_value {
    border-bottom:3px solid black;
    height:50px;
    min-width:50px;
}

.gift-cards .gift-card .choice {
    position:absolute;
    bottom: -2px;
    left: -1px;
    padding: 10px;
    width: calc(100% - 18px);
    background:#1BC3C5;
    text-align:center;
    color:white;
    font-size:28px;
    line-height:34px;
    font-weight:800;
    border-radius:0 0 20px 20px;
}

.gift-card-page.achat-page {
    display:flex;
    flex-wrap:wrap;
    align-items:center;
}

.gift-card-page.achat-page .recap {
    max-width:calc(40% - 50px);
    margin-right:auto;
    width:max-content;
}

.gift-card-page.achat-page .recap h3 {
    text-align:center;
    color:#707070;
    font-weight:200;
    font-size:28px;
    line-height:34px;
    margin-top:0;
    margin-bottom:0;
}

.gift-card-page.achat-page .recap h3 strong {
    color:black;
    font-weight:800;
}

.gift-card-page.achat-page .recap h2 {
    color:#707070;
    font-size:32px;
    line-height:40px;
    font-weight:200;
    margin-top:0;
    margin-bottom:0;
    text-align:center;
}

.gift-card-page.achat-page .recap h2 strong {
    font-weight:800;
    color:#56B4B7;
}


.gift-card-page.achat-page .recap .gift-card-container {
    margin-top:30px;
    border:1px solid #707070;
    box-shadow: 10px 10px 10px #00000029;
    padding:40px 75px;
    width:max-content;
}

.gift-card-page.achat-page .recap .gift-card-container p {
    margin-top:25px;
    margin-bottom:0;
    color:#707070;
}

.gift-card-page.achat-page .recap a.return {
    display:block;
    width:max-content;
    margin-top:50px;
    margin-left:auto;
    margin-right:auto;
    border:4px solid #5CBFC2;
    border-radius:20px;
    color:#707070;
    font-size:16px;
    padding:10px 50px;
    text-decoration:none;
}

.gift-card-page.achat-page .recap > p {
    display:none;
}

.gift-card-page.achat-page .coordonnees {
    width:60%;
}

.gift-card-page.achat-page .coordonnees h2 {
    color:#707070;
    font-size:32px;
    line-height:40px;
    font-weight:200;
    margin-top:40px;
}

.gift-card-page.achat-page .coordonnees h2:first-child {
    margin-top:0;
}

.gift-card-page.achat-page .coordonnees h2 strong {
    font-weight:800;
    color:#56B4B7;
}

.gift-card-page.achat-page .coordonnees .two-columns {
    margin-top:20px;
    display:flex;
    flex-wrap:wrap;
}

.gift-card-page.achat-page .coordonnees .two-columns > div {
    width:calc(50% - 35px);
    margin-left:35px;
    margin-right:35px;
}

.gift-card-page.achat-page .coordonnees .two-columns > div:first-child {
    margin-left:0;
}

.gift-card-page.achat-page .coordonnees .two-columns > div:last-child {
    margin-right:0;
}

.gift-card-page.achat-page .coordonnees .two-columns > div > dt {
    margin-top:0;
}

.gift-card-page.achat-page .coordonnees .two-columns > div input {
    border: 1px solid #707070;
    padding:12px 15px;
}

.gift-card-page.achat-page .coordonnees input[type="submit"] {
    margin-top:40px;
    padding:15px 40px;
    font-size:24px;
    line-height:30px;
    border-radius:20px;
    text-transform:none;
}

.gift-card-page.achat-page .coordonnees.commande .pdf-giftcard {
    background:#5CBFC2;
    padding:12px 40px;
    color:white;
    font-size:28px;
    line-height:32px;
    font-weight:800;
    text-decoration:none;
    display:block;
    width:max-content;
    margin-left:auto;
    margin-right:auto;
}

.gift-card-page.achat-page .coordonnees.commande > p {
    color:#707070;
    font-size:20px;
    font-weight:200;
    margin-top:25px;
}

.gift-card-page.achat-page .coordonnees.commande > p strong {
    font-weight:800;
}

.gift-card-page.achat-page .coordonnees.commande .order_id {
    display:flex;
    flex-wrap:wrap;
    margin-top:60px;
    align-items:center;
}

.gift-card-page.achat-page .coordonnees.commande .order_id p {
    color:#707070;
    margin-left:0;
    margin-right:auto;
    font-size:20px;
    line-height:24px;
    font-weight:200;
}

.gift-card-page.achat-page .coordonnees.commande .order_id h3 {
    color:#707070;
    margin-left:auto;
    margin-right:0;
    font-size:24px;
    line-height:24px;
    font-weight:800;
}

.gift-card-page.achat-page .coordonnees.commande > hr {
    margin-top:80px;
    margin-bottom:30px;
    border:1px solid #707070;
}

.gift-card-page.achat-page .coordonnees.commande .total {
    display:flex;
    flex-wrap:wrap;
    margin-top:0;
    align-items:center;
}

.gift-card-page.achat-page .coordonnees.commande .total h3 {
    color:#707070;
    margin-left:auto;
    margin-right:0;
    font-size:24px;
    line-height:24px;
    font-weight:800;
}

.gift-card-page.achat-page .coordonnees.commande .total h3:first-child {
    margin-right:auto;
    margin-left:0;
}

.jeu-concours #rgpd-label, .jeu-concours #newsletter-label {
    float: right;
    width: calc(100% - 35px);
    margin-top: 16px;
    margin-bottom: 20px;
    height: auto;
}

.jeu-concours #rgpd-element, .jeu-concours #newsletter-element {
    float: left;
    margin-top: 10px;
    margin-bottom: 20px;
}

.calendar-events-table table td.today {
    position:relative;
}

.calendar-events-table table td.today::before {
    position:absolute;
    top:0;
    left:0;
    display:block;
    width:100%;
    height:10px;
    content:"";
    background:#5cbfc2;
}

.table-commandes {
    background: #FFFFFF;
    border-collapse: collapse;
    padding: 0;
    margin: 0;
    width: calc(100% - 50px);
    border: 1px solid #DDDDDD;
    border-radius: 5px;
    margin-left:auto;
    margin-right:auto;
}

.table-commandes td {
    border: 1px solid #DDDDDD;
    padding: 10px;
}

.table-commandes thead td {
    border-bottom: 1px solid #DFDFDF;
    text-align: left;
    padding: 0 10px;
    font-size: 1.1em;
    line-height: 250%;
    white-space: nowrap;
}

.pagination-pages {
    overflow: hidden;
    margin: 10px 0;
    padding: 10px;
    text-align: center;
    background: #FFFFFF;
    border: 1px solid #DDDDDD;
    border-radius: 5px;
    white-space: nowrap;
    width: max-content;
    display: flex;
    margin-left:20px;
}

.pagination-pages .pagination-pages-previous, .pagination-pages .pagination-pages-next {
    padding-left:0;
    padding: 0 10px;
    list-style:none;
}

.pagination-pages .pagination-count {
    width: 25px;
    border: 1px solid #888888;
    font-size: .95em;
    list-style:none;
    padding-left:0;
}

.pagination-pages .page-count-active {
    background: #5cbfc2;
    border: 1px solid #5cbfc2;
    list-style:none;
    padding-left:0;
    color:white;
}

.title-jeu-concours {
    text-align:center;
    border:1px solid #5cbfc2;
    width:max-content;
    max-width:80%;
    margin-left:auto;
    margin-right:auto;
    padding:5px 20px;
}

.aucun-jeu-concours, .liste-jeux-concours {
    width:90%;
    margin-left:auto;
    margin-right:auto;
    max-width:600px;
    margin-top:50px;
    margin-bottom:50px;
}

.aucun-jeu-concours h2 {
    text-align:center;
}

.aucun-jeu-concours img {
    width:100%;
}

.liste-jeux-concours .jeu-concours {
    width: calc(100% - 20px);
    position: relative;
    margin-top: 80px;
    background: #dfdfdf;
    padding: 10px;
}

.liste-jeux-concours .jeu-concours:first-child {
    margin-top:0;
}

.liste-jeux-concours .jeu-concours a {
    position:absolute;
    top:0;
    left:0;
    width:100%;
    height:100%;
    display:block;
}

.liste-jeux-concours .jeu-concours img {
    width:100%;
}

form #rgpd-label, form #newsletter-label {
  width: 92%;
  height: 40px;
  float: right;
  margin-bottom: 15px;
  z-index: 1;
  position: relative;
}

.form-container form #rgpd-label, .form-container form #newsletter-label {
    margin-top: 8px;
    width: calc(100% - 70px);
}

form #rgpd-element, form #newsletter-element {
  height: 60px;
  position: relative;
  margin-top: 12px;
}

form #rgpd-element input, form #newsletter-element input {
  margin: auto;
  position: absolute;
  top: 20%;
  left: 3%;
  width: max-content;
}

form #rgpd-element .errors {
    position: absolute;
    top: 30px;
    left: 20px;
}

.page-reservation-activite .reservation form .nb_personnes-input {
    width:100px;
}

.page-reservation-activite .reservation form .two-columns {
    display:flex;
    flex-wrap:wrap;
}

.page-reservation-activite .reservation form .two-columns .form-element {
    width:calc(50% - 10px);
    margin-left:auto;
    margin-right:auto;
}

.page-reservation-activite .reservation form .two-columns .form-element:first-child {
    margin-left:0;
}

.page-reservation-activite .reservation form .two-columns .form-element:last-child {
    margin-right:0;
}

.page-reservation-activite .reservation form h4 {
    font-weight: 500;
    margin-bottom:0;
}

.page-reservation-activite .reservation form h4.titre_date {
    width:max-content;
    display:block;
    margin-left:auto;
    margin-right:auto;
}

.page-reservation-activite .reservation form h4.titre_date span {
    text-transform:capitalize;
}

.page-reservation-activite .reservation form .form-element.heure_reservation_element {
    display:none;
}

.page-reservation-activite .reservation form .two-columns .form-element.num_adresse_element {
    width:100px;
}

.page-reservation-activite .reservation form .two-columns .form-element.voie_adresse_element {
    width:calc(100% - 120px);
}

.page-reservation-activite .reservation form .two-columns .form-element.cp_adresse_element {
    width:110px;
}

.page-reservation-activite .reservation form .two-columns .form-element.ville_adresse_element {
    width:calc(100% - 130px);
}

.page-reservation-activite .reservation form .two-columns .form-element.num_adresse_element dt, 
.page-reservation-activite .reservation form .two-columns .form-element.voie_adresse_element dt,
.page-reservation-activite .reservation form .two-columns .form-element.cp_adresse_element dt,
.page-reservation-activite .reservation form .two-columns .form-element.ville_adresse_element dt,
.page-reservation-activite .reservation form .form-element.complement_adresse_element dt{
    display:none;
}

.page-reservation-activite .form-container form {
    width:100%;
}

.page-reservation-activite .horaires_disponibles {
    width:100%;
}

.page-reservation-activite .horaires_list {
    display:flex;
    flex-wrap:wrap;
    width:100%;
}

.page-reservation-activite .horaires_list .one_horaire {
    width:calc(((100% / 3) - 30px - (40px / 3)) - 2px);
    border:1px solid #5CBFC2;
    padding:8px 15px;
    background:white;
    color:white;
    margin-right:20px;
    margin-top:20px;
    cursor:pointer;
    transition:0.3s;
    text-align:center;
    color:#26898C;
    font-size:18px;
    font-weight:700;
}

.page-reservation-activite .horaires_list .one_horaire:nth-child(3n) {
    margin-right:0;
}

.page-reservation-activite .horaires_list .one_horaire.active {
    background:#5cbfc2;
    color:white;
}

.page-reservation-activite .horaires_list .one_horaire .prix {
    color: #5CBFC2;
    font-size:14px;
    margin-top:10px;
    display:block;
}

.page-reservation-activite .horaires_list .one_horaire.active .prix {
    color: #4E4E4E;
}

.page-reservation-activite .horaires_list .one_horaire .prix.places_restantes {
    border-top : 1px solid #EDEDED;
    padding-top:10px;
    color:#464646;
    font-weight:200;
}

.page-reservation-activite .horaires_list .one_horaire .prix.places_restantes span {
    font-weight:800;
    color:black;
}

.page-reservation-activite .error {
    color:red;
    margin-top:25px;
}

.lds-roller {
  display: inline-block;
  position: relative;
  width: 80px;
  height: 80px;
  margin-left:auto;
  margin-right:auto;
  margin-top:40px;
}
.lds-roller div {
  animation: lds-roller 1.2s cubic-bezier(0.5, 0, 0.5, 1) infinite;
  transform-origin: 40px 40px;
}
.lds-roller div:after {
  content: " ";
  display: block;
  position: absolute;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #000;
  margin: -4px 0 0 -4px;
}
.lds-roller div:nth-child(1) {
  animation-delay: -0.036s;
}
.lds-roller div:nth-child(1):after {
  top: 63px;
  left: 63px;
}
.lds-roller div:nth-child(2) {
  animation-delay: -0.072s;
}
.lds-roller div:nth-child(2):after {
  top: 68px;
  left: 56px;
}
.lds-roller div:nth-child(3) {
  animation-delay: -0.108s;
}
.lds-roller div:nth-child(3):after {
  top: 71px;
  left: 48px;
}
.lds-roller div:nth-child(4) {
  animation-delay: -0.144s;
}
.lds-roller div:nth-child(4):after {
  top: 72px;
  left: 40px;
}
.lds-roller div:nth-child(5) {
  animation-delay: -0.18s;
}
.lds-roller div:nth-child(5):after {
  top: 71px;
  left: 32px;
}
.lds-roller div:nth-child(6) {
  animation-delay: -0.216s;
}
.lds-roller div:nth-child(6):after {
  top: 68px;
  left: 24px;
}
.lds-roller div:nth-child(7) {
  animation-delay: -0.252s;
}
.lds-roller div:nth-child(7):after {
  top: 63px;
  left: 17px;
}
.lds-roller div:nth-child(8) {
  animation-delay: -0.288s;
}
.lds-roller div:nth-child(8):after {
  top: 56px;
  left: 12px;
}
@keyframes lds-roller {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}

.page-reservation-activite .ariane {
    display:flex;
    flex-wrap:wrap;
    position:relative;
    margin-bottom:80px;
}

.page-reservation-activite .ariane .progress__bg {
    position: absolute;
    top:25px;
    left:calc((100vw - 1400px) / (-2));
    transform:translate(0,-50%);
    width: 100vw;
    height: 2px;
    background-color: #DFDFDF;
    z-index: -1;
}

.page-reservation-activite .ariane .progress__current {
      position: absolute;
      top:25px;
      left:calc((100vw - 1400px) / (-2));
      transform:translate(0,-50%);
      z-index: 0;
      height: 2px;
      background-color: #5CBFC2;
      transition: width .2s;
}

.page-reservation-activite .ariane .progress__current.step-1 {
    width:calc(((100vw - 1400px) / 2) + 117px);
}

.page-reservation-activite .ariane .progress__current.step-2 {
    width:50vw;
}

.page-reservation-activite .ariane .progress__current.step-3 {
    width:100vw;
}

.page-reservation-activite .ariane .etape {
    margin-left:auto;
    margin-right:auto;
    position:relative;
}

.page-reservation-activite .ariane .etape.etape_first {
    margin-left:0;
}

.page-reservation-activite .ariane .etape:last-child {
    margin-right:0;
}

.page-reservation-activite .ariane .etape.middle {
  position: absolute;
  left: 50%;
  transform:translate(-50%,0);
  top: 0;
}

.page-reservation-activite .ariane .etape a {
    display:none;
}

.page-reservation-activite .ariane .etape.active a {
    display:block;
    position:absolute;
    top:0;
    left:0;
    width:100%;
    height:100%;
}

.page-reservation-activite .ariane .etape span {
    display:block;
    width:50px;
    height:50px;
    text-align:center;
    border-radius:100%;
    font-size:22px;
    line-height:50px;
    color:white;
    font-weight:700;
    border:1px solid #DFDFDF;
    color:#DFDFDF;
    background:white;
    margin-left:auto;
    margin-right:auto;
}

.page-reservation-activite .ariane .etape.active span {
    border:1px solid #5CBFC2;
    background:#5CBFC2;
    color:white;
}

.page-reservation-activite .ariane .etape p {
    text-align:center;
    margin-bottom:0;
    margin-top:20px;
    color:#DFDFDF;
    font-size:18px;
    line-height:24px;
    font-weight:700;
    text-transform:uppercase;
}

.page-reservation-activite .ariane .etape.active p {
    color:#5CBFC2;
}

.horaires_disponibles h4 {
    font-size:25px;
    line-height:41px;
    font-weight:600;
    font-style:italic;
    text-align:center;
    margin-top:0;
    margin-bottom:20px;
}

.form-container {
    display:flex;
    flex-wrap:wrap;
}

.form-container form {
    display:flex;
    flex-wrap:wrap;
}

.form-container.coordonnees form {
    display:block;
}

.form-container .column_left {
    width:280px;
    padding-right:40px;
    position: sticky;
    top: 100px;
    left: 0;
    height: max-content;
}

.form-container .column_left img {
    width:100%;
}

.form-container .column_left h4 {
    font-size: 20px;
    line-height: 27px;
    font-weight: 800;
}

.form-container .column_left .date {
    color: #5cbfc2;
    font-weight: 600;
    font-size: 20px;
}

.form-container .column_right {
    width:calc(100% - 361px);
    padding-left:40px;
    border-left:1px solid #aaaaaa;
}

.form-container .heure_reservation_element {
    display:none;
}

.form-container #submit-element {
    position:relative;
}

.form-container #rgpd-element {
    margin-top:0;
}

.form-container form input[type="submit"], .page-reservation-activite form button {
    padding-left: 20px;
    padding-right: 70px;
    font-weight: 400;
    margin-right:0;
    position:relative;
}

.page-reservation-activite form button#submit:after {
    content:"\f054";
    font-family:"FontAwesome";
    position:absolute;
    top:50%;
    right:20px;
    transform:translate(0,-50%);
    color:white;
    font-size:25px;
}

.page-reservation-activite .recap h1 {
    margin-top:0;
    margin-bottom:30px;
    font-style:italic;
    font-size:24px;
    line-height:32px;
    font-weight:600;
}

.page-reservation-activite .recap h4 {
    font-size:18px;
    line-height:24px;
    font-weight:400;
    color:#707070;
    display:flex;
    flex-wrap:wrap;
}

.page-reservation-activite .recap h4 span {
    color:#000;
    font-weight:700;
    display:block;
    width:300px;
}

.page-reservation-activite .recap hr {
    width:70%;
    border:none;
    border-bottom: 1px solid #5CBFC2;
    margin-left:0;
    margin-right:auto;
    margin-top:15px;
    margin-bottom:15px;
}

.page-reservation-activite .precedent_suivant {
    display:flex;
    flex-wrap:wrap;
    width:100%;
    margin-top:40px;
}

.page-reservation-activite .precedent_suivant .precedent {
    margin-left:0;
    margin-right:auto;
    display: block;
    padding: 12px;
    background:none;
    color: #5cbfc2;
    text-transform: uppercase;
    font-size: 1.2rem;
    font-weight: 500;
    border: 0;
    cursor: pointer;
    padding-left: 70px;
    padding-right: 20px;
    font-weight: 400;
    text-decoration:none;
    position:relative;
    border:1px solid #5cbfc2;
}

.page-reservation-activite .precedent_suivant .precedent:before {
    content:"\f053";
    font-family:"FontAwesome";
    position:absolute;
    top:50%;
    left:20px;
    transform:translate(0,-50%);
    color:#5cbfc2;
    font-size:25px;
}

.page-reservation-activite .precedent_suivant .suivant {
    margin-left:auto;
    margin-right:0;
    display: block;
    padding: 12px;
    background: #5cbfc2;
    color: white;
    text-transform: uppercase;
    font-size: 1.2rem;
    font-weight: 500;
    border: 0;
    cursor: pointer;
    padding-left: 20px;
    padding-right: 70px;
    font-weight: 400;
    margin-right: 0;
    text-decoration:none;
    position:relative;
}

.page-reservation-activite .precedent_suivant .suivant:after {
    content:"\f054";
    font-family:"FontAwesome";
    position:absolute;
    top:50%;
    right:20px;
    transform:translate(0,-50%);
    color:white;
    font-size:25px;
}

.page-reservation-activite .precedent_suivant .form-element {
    margin-left:auto;
    margin-right:0;
}

.form-container form dt {
    margin-bottom:10px;
}

.form-container form label {
    font-size:20px;
    line-height:27px;
    font-weight:800;
}

.form-container form #rgpd-label label {
    font-size:16px;
    font-weight:400;
    line-height: 22px;
}

.form-container #date_reservation-element {
    position:relative;
    padding-left:50px;
}

.form-container #date_reservation-element:before {
    content:"\f073";
    font-family:"FontAwesome";
    color:#5CBFC2;
    font-size:30px;
    position:absolute;
    top:50%;
    left:0;
    transform:translate(0,-50%);
}

.form-container form .two-columns {
    display:flex;
    flex-wrap:wrap;
}

.form-container form .two-columns .form-element {
    margin-right:100px;
    width:calc(50% - 50px);
}

.form-container form .two-columns .form-element:last-child {
    margin-right:0;
}

.form-container form h4 {
    font-size:20px;
    line-height:27px;
    font-weight:800;
}

.form-container form .form-element.num_adresse_element dt,
.form-container form .form-element.voie_adresse_element dt,
.form-container form .form-element.complement_adresse_element dt,
.form-container form .form-element.cp_adresse_element dt,
.form-container form .form-element.ville_adresse_element dt {
    display:none;
}

.form-container.coordonnees form input[type="text"], .form-container.coordonnees form input[type="tel"], .form-container.coordonnees form input[type="number"], .form-container.coordonnees form input[type="date"], .form-container.coordonnees form select {
    border:none;
    border-bottom:1px solid #5cbfc2;
    max-width:100%;
    background: #effcfc;
}

.form-container.coordonnees form input[type="text"].telephone-input, 
.form-container.coordonnees form input[type="text"].email-input, 
.form-container.coordonnees form input[type="text"].prenom-input,
.form-container.coordonnees form input[type="text"].nom-input {
    margin:0;
}

.form-container input[type="number"]#nb_personnes {
    width: 100px;
    margin-left: 50px;
    padding: 15px 20px;
    color: #5cbfc2;
    font-weight: 600;
    font-size: 20px;
}

.form-container input[type="text"]#date_reservation {
    padding: 20px;
    font-size: 20px;
    color: #5cbfc2;
    font-weight: 600;
    text-align: center;
}

.table_horaires {
    width:800px;
    border-collapse:collapse;
}

.table_horaires td {
    border:1px solid black;
    padding:5px 10px;
}

.add_contrainte {
    margin-left:20px;
    margin-top:30px;
    background:#5cbfc2;
    color:white;
    padding:5px 10px;
    display:block;
    width:max-content;
    font-weight:600;
    text-decoration:none;
}

.other-form h3 {
    margin-bottom:0;
}

.other-form .two-elements {
    display:flex;
    flex-wrap:wrap;
}

.other-form .two-elements .element {
    width:calc(50% - 20px);
    margin-right:40px;
}

.other-form .two-elements .element:last-child {
    margin-right:0;
}

.pistes_bowling_visuel {
    display:flex;
    flex-wrap:wrap;
    margin-left:20px;
    margin-top:30px;
}

.pistes_bowling_visuel .one_piste {
    height:120px;
    width:20px;
    margin-right:5px;
    border:2px solid #dadada;
    position:relative;
}

.pistes_bowling_visuel .one_piste.en_ligne {
    border:2px solid #5cbfc2;
}

.pistes_bowling_visuel .one_piste.en_ligne.reservee {
    background:#010a52;
}

.pistes_bowling_visuel .one_piste.en_ligne.reservee.anniv {
    background:#5cbfc2;
}

.pistes_bowling_visuel .one_piste span {
    position:absolute;
    top:-25px;
    left:50%;
    transform:translate(-50%,0);
}

.jeux_vr_selection, .activite_selection_fiche {
    display:flex;
    flex-wrap:wrap;
    margin-top:20px;
}

.jeux_vr_selection .jeu_vr_container {
    width:calc(50% - 30px);
    margin-left:10px;
    margin-right:20px;
}

.activite_selection_fiche .activite_container_fiche {
    width:calc((100% / 4) - 10px);
    margin-left:5px;
    margin-right:5px;
    margin-bottom:20px;
}

.jeux_vr_selection .jeu_vr_container:nth-child(2n) {
    margin-left:20px;
    margin-right:10px;
}

.jeux_vr_selection .jeu_vr, .activite_selection_fiche .activite_fiche {
    position:relative;
    height:calc(((((100vw - 220px) - 320px - 40px) / 2) - 30px) * (9 / 10.5));
    max-height:calc((((1400px - 320px - 40px) / 2) - 30px) * (9 / 10.5));
    overflow:hidden;
    cursor:pointer;
    transition:0.5s;
    margin-bottom:20px;
} 

.activite_selection_fiche .activite_fiche {
    height:calc((((100vw - 50px) / 4) - 15px) * (9 / 13));
    max-height:calc((((1400px - 50px) / 4) - 15px) * (9 / 13));
    margin-bottom:0;
}

.jeux_vr_selection .jeu_vr.not-active, .activite_selection_fiche .activite_fiche.not-active {
    filter:grayscale(0.7);
}

.jeux_vr_selection .jeu_vr_desc.not-active h4 {
    color:#898989;
}

.jeux_vr_selection .jeu_vr:hover, .activite_selection_fiche .activite_fiche:hover {
    -webkit-box-shadow: 0px 10px 13px -7px #000000, 0px 0px 15px 5px rgba(0,0,0,0.21); 
    box-shadow: 0px 10px 13px -7px #000000, 0px 0px 15px 5px rgba(0,0,0,0.21);
    filter:grayscale(0);
}

.jeux_vr_selection .jeu_vr h3, .activite_selection_fiche .activite_fiche h3 {
    text-transform:uppercase;
    display:block;
    color:white;
    background:#5cbfc2;
    width:calc(100% - 40px);
    padding:8px 20px;
    font-size:20px;
    font-weight:600;
    margin-top:0;
    margin-bottom:0;
    text-align:center;
}

.activite_selection_fiche .activite_fiche h3 {
    padding:5px;
    width:calc(100% - 10px);
    font-size:13px;
    font-weight:400;
}

.jeux_vr_selection .jeu_vr img, .activite_selection_fiche .activite_fiche img {
    position:absolute;
    top:42px;
    left:0;
    width:100%;
    z-index:-1;
}

.activite_selection_fiche .activite_fiche img {
    top:25px;
}

.jeux_vr_selection .jeu_vr_container h4 {
    font-size: 16px;
    line-height: 20px;
    margin-top: 10px;
    margin-bottom: 0;
    margin-left: 10px;
    font-weight: 300;
    display:flex;
    flex-wrap:wrap;
    color:#000000;
    transition:0.5s;
}

.jeux_vr_selection .jeu_vr_container h4 strong {
    font-weight:900;
    width:180px;
    display:block;
}

.form-container #jeu_vr-element {
    display:none;
}

.confirmation_jeu_vr {
    margin-left:300px;
    width:150px;
}

.form-container.coordonnees form {
    width:100%;
    max-width: 900px;
    margin-left: auto;
    margin-right: auto;
}

.form-container form .adresse_element {
    margin-bottom:20px;
}

.occupation_array {
    border-collapse:collapse;
    min-width:calc(100% - 40px);
    margin-left:auto;
    margin-right:auto;
}

.occupation_array td {
    border:1px solid black;
    text-align:center;
    padding:10px 5px;
}

.occupation_array tbody td {
    color:#3a9da0;
    font-weight:800;
}

.occupation_array tbody td:first-child {
    color:black;
}

.occupation_array tbody td.not_dispo {
    background:#d2d2d2;
}

.a_l_avance {
    font-size:13px;
    line-height:14px;
    color:#888888;
    margin-left:300px;
    color:red;
}

.fiche-client #activite-element {
    display:none;
}

.fiche-client #nb_personnes-element {
    display:none;
}

.fiche-client #pays-element {
    display:none;
}

.fiche-client #code_postal {
    width:150px;
}

.fiche-client #email {
    width:300px;
}

.fiche-client #submit {
    margin-top:20px;
}

.fiche-client dt {
    margin-top:50px;
}

.fiche-client dt:first-child {
    margin-top:0;
}

.fiche-client dt, .fiche-client dd {
    width:max-content;
    margin-left:auto;
    margin-right:auto;
}

.fiche-client dt label {
    font-weight:800;
}

.nb_personnes_cases, .pays_cases {
    display:flex;
    flex-wrap:wrap;
    margin-top:10px;
}

.nb_personnes_cases .nb_personnes_case, .pays_cases .pays_case {
    display:block;
    width:calc(20% - 22px);
    padding:5px;
    margin-left:5px;
    margin-right:5px;
    background:#5cbfc2;
    border:1px solid #5cbfc2;
    border-radius:5px;
    color:white;
    transition:0.5s;
    margin-top:10px;
    text-align:center;
    font-weight:600;
    cursor:pointer;
}

.nb_personnes_cases .nb_personnes_case.not-active, .pays_cases .pays_case.not-active {
    background:white;
    border:1px solid #5cbfc2;
    border-radius:5px;
    color:#5cbfc2;
}

.pays_cases .pays_case {
    font-size:13px;
}

.pays_cases .pays_case img {
    width:70%;
    max-width:64px;
}

footer {
    position:relative;
    background:white;
    width:100%;
    height:25px;
    box-shadow: 0px 0px 10px #8d8d8d;
}

footer p {
    position:relative;
    display:block;
    margin:0;
    text-align:center;
    top: 50%;
    transform: translate(0, -50%);
    font-size:0.9rem;
    text-align:right;
    padding-right:20px;
}

footer p a {
    text-decoration:none;
    color:#5cbfc2;
}

form input[type=submit], .page-reservation-activite form button, .page-reservation-activite .precedent_suivant .precedent {
    line-height:1.3rem;
}

.phrase-icon-and-text-blue {
    display:flex;
    flex-wrap:wrap;
    align-items:center;
}

.phrase-icon-and-text-blue .phrase-icon {
    display:flex;
    flex-wrap:wrap;
    width:max-content;
    margin-right:50px;
    margin-left:0;
    align-items:center;
}

.phrase-icon-and-text-blue .phrase-icon img {
    width:40px;
    margin-right:20px;
}

.phrase-icon-and-text-blue .phrase-icon p {
    font-size: 18px;
    font-weight: 600;
    line-height: 30px;
    text-align: left;
    color:#000;
}

.phrase-icon-and-text-blue .text-blue {
    margin-left:20px;
    margin-right:0;
    width:max-content;
    font-size: 16px;
    font-weight: 700;
    line-height: 30px;
    text-align: left;
    text-transform:uppercase;
    color:#5CBFC2;
}

.input-gateau {
    margin-top:25px;
    display:flex;
    flex-wrap:wrap;
}

.input-gateau > label {
    margin-right:40px;
}

.input-gateau > label:last-child {
    margin-right:0;
}

.gateaux {
    padding-bottom:40px;
    margin-bottom:25px;
    border-bottom: 2px dashed #5CBFC2;
}

.article_supp {
    width:100%;
    margin-bottom:40px;
}

.article_supp .first-line {
    width:100%;
    display:flex;
    flex-wrap:wrap;
    align-items:center;
}

.article_supp .first-line .img {
    width:40px;
    height:40px;
    margin-right:18px;
}

.article_supp .first-line .img img {
    width:100%;
    height:100%;
    object-fit:contain;
    object-position:center;
}

.article_supp .first-line > p {
    font-size: 18px;
    font-weight: 600;
    line-height: 30px;
    text-align: left;
    color:#000;
    width:max-content;
    margin-left:0;
    margin-right:0;
    margin-top:0;
    margin-bottom:0;
}

.article_supp .first-line > span {
    margin-left:60px;
    margin-right:auto;
    font-size: 16px;
    font-weight: 700;
    line-height: 30px;
    text-align: left;
    color:#5CBFC2;
}

.article_supp > p {
    font-size: 14px;
    font-weight: 400;
    line-height: 22px;
    text-align: left;
    margin-left:60px;
    color:#000;
    margin-top:5px;
    margin-bottom:0;
}

.article_supp select {
    background:#5CBFC2 !important;
    border:1px solid #5CBFC2 !important;
    color:white !important;
    width:max-content !important;
    min-width:220px !important;
    margin-left:60px !important;
    margin-top:12px !important;
}

.prix_formule {
    margin-top:40px;
    color:#5CBFC2;
}

.prix_formule strong {
    color:#000;
}

.article_supp_panier {
    width:100%;
    margin-top:40px;
    display:flex;
    flex-wrap:wrap;
    align-items:center;
}

.article_supp_panier .img {
    width:40px;
    height:40px;
    margin-right:35px;
}

.article_supp_panier .img img {
    width:100%;
    height:100%;
    object-fit:contain;
    object-position:center;
}

.article_supp_panier > p {
    font-size: 14px;
    font-weight: 400;
    line-height: 22px;
    text-align: left;
    color:#000;
    width:max-content;
    margin-left:0;
    margin-right:auto;
    margin-top:0;
    margin-bottom:0;
}

.article_supp_panier > p strong {
    font-weight:700;
}

.article_supp_panier > span {
    margin-left:auto;
    margin-right:0;
    font-size: 14px;
    font-weight: 700;
    line-height: 22px;
    text-align: left;
    color:#5CBFC2;
}

@media all and (max-width:1700px) {
    .gift-cards .gift-card-block  {
        margin-left: 50px;
        margin-right: 50px;
    }
    
    .gift-card-page {
        width: 1150px;
    }
    
    .gift-cards .gift-card-block .gift-card {
        width: 210px;
        height: 321px;
    }
    
    .gift-cards .gift-card .price, .gift-cards .gift-card .price_libre {
        top: calc(50% + 14px);
        left: calc(50% + 6px);
        font-size: 32px;
        line-height: 40px;
    }
    
    .gift-cards .gift-card .price span, .gift-cards .gift-card .price_libre span {
        font-size: 21px;
    }
    
    .gift-cards .gift-card .price_libre #price_libre_value {
        height: 40px;
    }
}

@media all and (max-width:1600px) {
    .page-reservation-activite .ariane .progress__bg {
      left: -110px;
    }
    
    .page-reservation-activite .ariane .progress__current {
        left: -110px;
    }
    
    .page-reservation-activite .ariane .progress__current.step-1 {
        width:calc((110px) + 117px);
    }
    
    .menu_header_home .menu_element .reserver {
      font-size: 18px;
      line-height: 24px;
    }
    
    .menu_header_home .menu_element:hover .reserver {
        font-size: 20px;
    }
}

@media all and (max-width:1580px) {
    .page-anniversaires .reservation .reservation-form .panier .paiement form .submit {
        padding-left:40px;
        padding-right:40px;
    }
}

@media all and (max-width:1500px) {
    .gift-card-page {
        width: 700px;
    }
    
    .gift-cards {
        margin-top:30px;
    }
    
    .gift-cards .gift-card-block  {
        margin-top:35px;
        margin-left: 80px;
        margin-right: 80px;
    }
    
    .gift-cards .gift-card-block:nth-child(4n + 1) {
        margin-left:50px;
    }
    
    .gift-cards .gift-card-block:nth-child(4n) {
        margin-right:50px;
    }
    
    .gift-cards .gift-card-block:nth-child(2n + 1) {
        margin-left:0;
    }
    
    .gift-cards .gift-card-block:nth-child(2n) {
        margin-right:0;
    }
    
    .gift-cards .gift-card-block:nth-child(3) {
        margin-top:192px;
    }
    
    .gift-cards .gift-card-block:nth-child(-n + 2) {
        margin-top:0;
    }
    
    .gift-cards .gift-card-block:last-child {
        margin-top:35px;
    }
    
    .gift-cards .gift-card-block .gift-card {
        width: 268px;
        height: 410px;
    }
    
    .gift-cards .gift-card .price, .gift-cards .gift-card .price_libre {
        position:absolute;
        top: calc(50% + 12px);
        left: calc(50% + 5px);
        font-size:45px;
        line-height:50px;
    }
    
    .gift-cards .gift-card .price_libre #price_libre_value {
        height:50px;
        min-width:50px;
    }
    
    .gift-card-page.achat-page {
        flex-direction:column;
    }
    
    .gift-card-page.achat-page .recap {
        width:100%;
        max-width:100%;
    }
    
    .gift-card-page.achat-page .recap .gift-card-container {
        margin-left:auto;
        margin-right:auto;
    }
    
    .gift-card-page.achat-page .coordonnees {
        width:100%;
        margin-top:40px;
    }
    
    .gift-card-page.achat-page .recap > p {
        display:block;
        color:#707070;
        margin-top:15px;
        text-align:center;
    }
    
    .gift-card-page.achat-page .coordonnees.commande .pdf-giftcard {
        border-radius:20px;
    }
}

@media all and (max-width:1400px) {
    .page-anniversaires .reservation .formule div.formule-div, .page-anniversaires .reservation .pack-activites div.pack-activites-div {
        width:calc(50% - 40px);
        margin-left:20px;
        margin-right:20px;
        margin-left:auto;
        margin-right:auto;
    }
    
    .top-background img {
        bottom:0;
    }
    
    .plats_restaurant > div {
        width:calc(50% - 42px);
    }
    
    .plats_restaurant .plat_restaurant .text_plat{
        width:calc(100% - 170px);
    }

    .plats_restaurant .plat_restaurant .image_plat{
        width:140px;
        height:140px;
        overflow:hidden;
    } 
    
    .plats_restaurant .plat_restaurant .image_plat img{
        height:140px;
    }
    
    .horaires > div .horaire-button {
        width:calc(100% - 20px);
    }
}

@media all and (max-width:1280px) {
    header .bottom_header {
        padding:6px 20px;
        width:calc(100% - 40px);
    }
    
    header .bottom_header .menu_header li {
        margin-right:50px;
    }
    
    .menu_header_home .menu_element {
        width:calc((100% / 5) - (80px / 5));
        margin-right:20px;
        height:calc((((100vw - 220px) / 5) - (80px / 5)) * 1.8);
    }
    
    .menu_header_home .menu_element .reserver {
      font-size: 15px;
      line-height: 22px;
    }
    
    .menu_header_home .menu_element:hover .reserver {
        font-size: 16px;
        line-height: 50px;
    }
    
    .page-content {
        padding:80px 70px;
        width:calc(100% - 140px);
        min-height: calc(100vh - 372px);
        max-width: 1400px;
        margin-left: auto;
        margin-right: auto;
    }
    
    .page-anniversaires .reservation .formule div.formule-div, .page-anniversaires .reservation .pack-activites div.pack-activites-div {
        width:calc(60% - 40px);
        margin-left:20px;
        margin-right:20px;
        margin-left:auto;
        margin-right:auto;
    }
    
    .page-anniversaires .reservation .reservation-form .panier .paiement {
        flex-direction:column;
    }
    
    .page-anniversaires .reservation .reservation-form .panier .paiement .prix-recap {
        width:100%;
    }
    
    .page-anniversaires .reservation .reservation-form .panier .paiement form {
        width:100%;
    }
    
    .creneaux-bloques > .horaires-list .horaire-button {
        width:50%;
    }
    
    .page-reservation-activite .ariane .progress__bg {
      left: -70px;
    }
    
    .page-reservation-activite .ariane .progress__current {
        left: -70px;
    }
    
    .page-reservation-activite .ariane .progress__current.step-1 {
        width:calc((70px) + 117px);
    }
    
    .jeux_vr_selection .jeu_vr {
        height:calc(((((100vw - 140px) - 320px - 40px) / 2) - 30px) * (9 / 10.5));
    }
    
    .jeux_vr_selection .jeu_vr h3 {
        font-size:16px;
    }
    
    .jeux_vr_selection .jeu_vr img {
        top: 37px;
    }
}

@media all and (max-width:1200px) {
    .page-anniversaires .presentation h2 {
        font-size:1.2rem;
        line-height:2rem;
    }
    
    .page-anniversaires .presentation .carton-invitation-download {
        padding:8px;
        font-size:0.9rem;
    }
    
    .page-anniversaires .reservation .reservation-form .activites .gateaux div.input-gateau {
        flex-direction:column;
    }
    
    .page-anniversaires .reservation .reservation-form .activites .gateaux div.input-gateau div {
        margin-left:0;
        margin-top:20px;
    }
    
    .page-anniversaires .reservation .reservation-form .activites .gateaux div.input-gateau div:first-child {
        margin-top:0;
    }
    
    .page-anniversaires .reservation .reservation-form .activites .gateaux label {
        width:200px;
        text-align:center;
    }
    .page-anniversaires .informations-etapes .etapes-order .etape {
        width:calc(100% - 30px);
        padding:15px;
        font-size:0.8rem;
    }
    
    .page-anniversaires .informations-etapes .etapes-order .etape.en-cours {
        width:calc(100% - 30px + 15px);
    }
    
    .page-anniversaires .informations-etapes .etapes-order .etape span.numerotation {
        margin-right:8px;
    }
    
    .page-anniversaires .informations-etapes .etapes-order .etape.done i {
        font-size:20px;
    }
    
    .page-anniversaires .informations-etapes .etapes-order .etape.en-cours i {
        font-size:20px;
    }
    
    .page-anniversaires .informations-etapes .etapes-order .etape.en-cours span.numerotation {
        margin-right:14px;
    }
}

@media all and (max-width:992px) {
    header .bottom_header .menu_header li.active a {
        color: #5cbfc2;
    }
    
    .page-content.all-width {
        width:100%;
        top:0;
        min-height:calc(100vh - 25px);
        padding-left:0;
        padding-right:0;
    }
    
    .page-anniversaires .reservation .reservation-form {
        box-shadow: 0px 0px 0px #8d8d8d;
    }
    
    .formule-title {
        font-size:1.3rem;
    }
    
    .page-anniversaires .reservation .formule button, .page-anniversaires .reservation .pack-activites button {
        font-size:1rem;   
    }
    
    .page-anniversaires .reservation .formule button i.fa-caret-right, .page-anniversaires .reservation .pack-activites button i.fa-caret-right {
        left:0;
        right:auto;
        font-size:100px;
        color:white;
    }
    
    .page-anniversaires .reservation .formule div.formule-div h2, .page-anniversaires .reservation .pack-activites div.pack-activites-div h2{
        font-size:1.2rem;
    }
    
    .page-anniversaires .reservation .pack-activites div.pack-activites-div h2 {
        font-size:1.2rem;
        min-height:0;
    }
    
    .image-bg-auth {
        height:calc(100vh - 25px - 70px);
    }
    
    .reservation-admin {
        flex-direction:column
    }
    
    .reservation-admin .recap-journee {
        padding-bottom:0;
    }
    
    .reservation-admin .coordonnees-prix {
        padding-top:0;
    }
    
    .reservation-admin .recap-journee, .reservation-admin .coordonnees-prix {
        width:calc(100% - 100px);
    }
    
    .page-anniversaires .informations-etapes.restaurant-panier-content {
        margin-top:20px;    
    }
    .plats_restaurant > div {
        width:calc(100% - 42px);
    }
    
    .top-background .order {
        margin-left: 0;
        width: calc(100% - 120px);
        position:fixed;
        top:71px;
        right:0;
        padding:10px 60px;
    }
    
    .horaires > div .horaire-button {
        width:calc(50% - 20px);
    }
    
    .page-content {
        margin-left:0;
        width:calc(100% - 50px);
        min-height:calc(100vh - 80px - 100px);
        padding:50px 25px;
    }
    
    .page-anniversaires {
        flex-direction:column;
    }
    
    .page-anniversaires .presentation {
        width:100%;
    }
    
    .page-anniversaires .presentation p {
        width:100%;
        text-align: justify;
    }
    
    .page-anniversaires .informations-etapes {
        width:100%;
        margin-top:0;
        margin-bottom:40px;
    }
    
    .page-anniversaires .informations-etapes.restaurant-panier-content {
        width:calc(100% - 60px);
    }
    
    .page-anniversaires .informations-etapes .etapes-order {
        margin-left:auto;
        margin-right:auto;  
        width:100%;  
    }
    
    .page-anniversaires .informations-etapes .etapes-order .etape {
        width:calc(100% - 60px);
        padding:30px;
        font-size:1rem;
        display:none;
    }
    .page-anniversaires .informations-etapes .etapes-order .etape span.numerotation {
        margin-right:20px;
    }
    
    .page-anniversaires .informations-etapes .etapes-order .etape.done i {
        font-size:30px;
    }
    .page-anniversaires .informations-etapes .etapes-order .etape.en-cours {
        width: calc(100% - 60px);
        display:block;
    }
    
    .page-anniversaires .informations-etapes .etapes-order .etape.en-cours i {
        font-size:30px;
    }
    
    .page-anniversaires .informations-etapes .etapes-order .etape.en-cours span.numerotation {
        margin-right:20px;
    }
    
    .page-anniversaires .informations-etapes .informations-etape {
        margin-top:30px;
    }
    
    .page-anniversaires .reservation .titre-reservation {
        width:100%;
    }
    
    .page-anniversaires .reservation .titre-reservation span {
        width:max-content;
        max-width:calc(100% - 40px);
        padding:10px 20px;
    }
    
    .page-anniversaires .reservation {
        width:100%;
        min-height:0;
    }
    
    .page-anniversaires .reservation .reservation-form {
        width: calc(100% - 20px);
        padding:10px;
    }
    
    .page-anniversaires .reservation .reservation-form .nom-prenom-parent, .page-anniversaires .reservation .reservation-form .tel-mail-parent {
        flex-direction:column;
    }
    
    .page-anniversaires .reservation .reservation-form .nom-prenom-parent div, .page-anniversaires .reservation .reservation-form .tel-mail-parent div {
        width:100%;
        margin-left:0;
    }
    
    .page-anniversaires .informations-etapes .informations-etape h2, .page-anniversaires .informations-etapes .presentation h2 {
        max-width:90%;
    }
    
    .gift-card-page {
        width: 90%;
    }
    
    .gift-cards {
        margin-top:30px;
    }
    
    .gift-cards .gift-card-block  {
        margin-top:100px;
        margin-left: auto;
        margin-right: auto;
    }
    
    .gift-cards .gift-card-block:nth-child(4n + 1) {
        margin-left: auto;
    }
    
    .gift-cards .gift-card-block:nth-child(4n) {
        margin-right: auto;
    }
    
    .gift-cards .gift-card-block:nth-child(2n + 1) {
        margin-left: auto;
    }
    
    .gift-cards .gift-card-block:nth-child(2n) {
        margin-right: auto;
    }
    
    .gift-cards .gift-card-block:nth-child(3) {
        margin-top:100px;
    }
    
    .gift-cards .gift-card-block:nth-child(-n + 2) {
        margin-top:100px;
    }
    
    .gift-cards .gift-card-block:first-child {
        margin-top:0;
    }
    
    .gift-cards .gift-card-block:last-child {
        margin-top:100px;
    }
    
    .gift-cards .gift-card-block .gift-card {
        width: 70vw;
        height: calc(70vw * 1.53);
    }
    
    .gift-cards .gift-card .price, .gift-cards .gift-card .price_libre {
        position:absolute;
        top: calc(50% + 12px);
        left: calc(50% + 5px);
        font-size:45px;
        line-height:50px;
    }
    
    .gift-cards .gift-card .price_libre #price_libre_value {
        height:50px;
        min-width:50px;
    }
    
    .gift-cards .gift-card .price, .gift-cards .gift-card .price_libre {
        font-size: 75px;
        line-height: 90px;
        top: calc(54%);
        left: calc(50% + 6px);
    }
    
    .gift-cards .gift-card .price_libre #price_libre_value {
        height: 90px;
        min-width: 90px;
    }
    
    .gift-cards .gift-card-block .montant-block {
        margin-left:auto;
        margin-right:auto;
    }
    
    .gift-card-page.achat-page .coordonnees .two-columns {
        flex-direction:column;
    }
    
    .gift-card-page.achat-page .coordonnees .two-columns > div {
        width:100%;
        margin-left:0;
        margin-right:0;
        margin-top:20px;
    }
    
    .gift-card-page.achat-page .coordonnees .two-columns > div:first-child {
        margin-top:0;
    }
    
    .gift-card-page.achat-page .coordonnees .two-columns > div input {
        max-width:100%;
    }
    
    .title-jeu-concours {
        font-size:1.2rem;
    }
    
    .page-anniversaires .reservation .reservation-form .activites .gateaux label {
        width: max-content;
    }
    
    header {
        background: url('/media/background/tableau.jpg') no-repeat;
        background-size: cover;
    }
    
    header.header-reservations-by-date {
        background:none;
        display:none;
    }
    
    header .top_header {
        background:none;
        padding: 15px 25px;
        width: calc(100% - 50px);
    }
    
    header.home .top_header {
        min-height:50px;
    }
    
    header .top_header img {
        width:55px;
    }
    
    header .top_header .menu-opener {
        display:block;
    }
    
    header.home .top_header .menu-opener {
        top: 40px;
    }
    
    header .bottom_header {
        height:0;
        padding:0;
        width: 100%;
        background:none;
        min-height:0;
        overflow:hidden;
    }
    
    header .bottom_header .menu_header {
        flex-direction:column;
        width:calc(100% - 80px);
        padding:0 40px;
    }
    
    header .bottom_header .menu_header li {
        margin-bottom:10px;
        border-bottom:1px solid white;
        margin-right:0;
        width:100%;
    }
    
    header .bottom_header .menu_header li a {
        padding:10px 5px;
        width:calc(100% - 10px);
    }
    
    header.home .bottom_header .menu_header {
        display: flex;
    }
    
    .menu_header_home {
        display:none;
    }
    
    .menu_header_home.mobile {
        display:flex;
        padding-bottom: 50px;
    }
    
    .menu_header_home .menu_element {
        background-size:cover;
    }
    
    .menu_header_home .menu_element.anniversaires {
        background-size:cover;
    }
    
    .menu_header_home .menu_element.bowling {
        background-size:cover;
    }
    
    .menu_header_home .menu_element.jeu-laser {
        background-size:cover;
    }
    
    .menu_header_home .menu_element.realite-virtuelle {
        background-size:cover;
    }
    
    .menu_header_home .menu_element.cartes-cadeaux {
        background-size:cover;
    }
    
    .menu_header_home .menu_element:hover {
        background-size:cover;
    }
    
    .menu_header_home .menu_element .reserver {
      font-size: 18px;
      line-height: 25px;
    }
    
    .menu_header_home .menu_element:hover .reserver {
        font-size: 18px;
        line-height: 25px;
    }
    
    .form-container {
        flex-direction:column;
    }
    
    .form-container form {
        flex-direction:column;
    }
    
    .form-container .column_left {
        padding-right:0;
        width:100%;
        padding-bottom:40px;
        max-width: 700px;
        margin-left: auto;
        margin-right: auto;
        position: relative;
        top: 0;
    }
    
    .form-container .column_left img {
        width:50%;
        display: block;
        margin-left: auto;
        margin-right: auto;
    }
    
    .form-container .column_right {
        padding-right:0;
        width:100%;
        padding-top:40px;
        border-top: 1px solid #aaaaaa;
        border-left:none;
        margin-left:auto;
        margin-right:auto;
        padding-left:0;
    }
    
    .page-reservation-activite .ariane .progress__bg {
      left: -25px;
    }
    
    .page-reservation-activite .ariane .progress__current {
        left: -25px;
    }
    
    .page-reservation-activite .ariane .progress__current.step-1 {
        width:calc((25px) + 117px);
    }
    
    .form-container form .two-columns {
        flex-direction:column;
    }
    
    .form-container form .two-columns .form-element {
        margin-right:0;
        width:100%;
    }
    
    footer {
        height: 50px;
    }
    
    .menu_header_home {
        flex-direction:column;
    }
    
    .menu_header_home .menu_element {
        width:80%;
        max-width:500px;
        margin-bottom:60px;
        height:calc(((100vw - 50px) * 0.8) * 1.8);
        max-height:900px;
        margin-left:auto;
        margin-right:auto;
    }
    
    .menu_header_home .menu_element:last-child {
        margin-bottom:0;
        margin-right:auto;
    }
    
    .form-container form #rgpd-label {
      width: calc(100% - 50px);
    }
    
    .jeux_vr_selection .jeu_vr {
        height:calc(((((100vw - 50px)) / 2) - 30px) * (9 / 10.5));
    }
    
    .form-container form label {
      font-size: 16px;
      line-height: 22px;
    }
    
    .form-container form h4 {
      font-size: 16px;
      line-height: 22px;
    }
    
    .form-container .column_left h4 {
        font-size: 16px;
       line-height: 22px;
       margin-bottom: 10px;
    }
    
    .horaires_disponibles h4 {
        margin-bottom:10px;
    }
    
    .page-reservation-activite .recap h4 {
        font-size: 16px;
       line-height: 22px;
    }
}

@media all and (max-width:870px) {
    footer p {
        float:right;
        font-size:0.7rem;
    }
}

@media all and (max-width:820px) {
    .page-anniversaires .reservation .reservation-form .infos-enfant {
        flex-direction:column;
    }
    
    .page-anniversaires .reservation .reservation-form .infos-enfant div{
        width:100%;
    }
    
    .page-anniversaires .reservation .reservation-form .infos-enfant div input{
        width:100%;
    }
    
    .page-anniversaires .reservation .reservation-form .infos-enfant .prenom-nom-enfant {
        padding-right:0;
    }
    
    .page-anniversaires .reservation .reservation-form .infos-enfant .age-enfant {
        padding-left:0;
        margin-top:30px;
    }
}

@media all and (max-width:800px) {
    
    .calendar-events-table table .calendar-events-date-selector form {
        width:100%;
        text-align:center;
    }
    
    .calendar-events-day {
        height:50px !important;
    }
    
    .calendar-events-table table td .link-for-small-device {
        display:block;
    }
    
    div.calendar-events-item {
        display:none !important;
    }
    
    .add-reservation {
        display:none !important;
    }
    
    .page-a-o-e {
        font-size:1.2rem;
    }
    
    .creneaux-bloques > .horaires-list {
        margin-left:20px;
        margin-right:20px;
        width:calc(50% - 40px);
    }

    .creneaux-bloques > .horaires-list .horaire-button {
        width:100%;
    }
    
    .page-reservation-activite .ariane .etape p {
        margin-top: 10px;
        font-size: 10px;
        line-height: 15px;
    }
    
    .page-reservation-activite .ariane .progress__current.step-1 {
        width:calc((25px) + 65px);
    }
}

@media all and (max-width:750px) {
    .date-events {
        font-size:1.2rem;
    }
    .date-events a {
        margin-left:5px;
        margin-right:5px;
    }
    
    .page-anniversaires .informations-etapes .informations-etape h2, .page-anniversaires .informations-etapes .presentation h2 {
        font-size:1.2rem;
        line-height:1.8rem;
    }
}

@media all and (max-width:700px) {
    .horaires > div .horaire-button {
        width:calc(100% - 10px);
        padding:5px;
    }
    
    .activite_selection_fiche .activite_container_fiche {
        width:calc((100% / 3) - 10px);
        margin-bottom:10px;
    }
    
    .activite_selection_fiche .activite_fiche {
        height:calc((((100vw - 50px) / 3) - 15px) * (9 / 13));
    }
    
    .pays_cases .pays_case {
        width:calc((100% / 3) - 22px);
    }
    
    .pays_cases .pays_case:last-child {
        margin-left:auto;
        margin-right:auto;
    }
}

@media all and (max-width : 650px) {
    form.paiement h2 {
        font-size:1.7rem;
    }
    form.paiement h3 {
        font-size:1rem;
    }
    
    form.paiement input {
        padding-left: 50px;
        padding-right: 50px;
        font-size: 1rem;
    }
}

@media all and (max-width:600px) {
    form input[type=submit], .page-reservation-activite form button, .page-reservation-activite .precedent_suivant .precedent {
        padding:7px;
        padding-left:20px;
        padding-right:20px;
    }
    
    .page-reservation-activite .precedent_suivant {
        flex-direction:column;
    }
    
    .page-reservation-activite .precedent_suivant #submit-element, .page-reservation-activite .precedent_suivant .form-element, .page-reservation-activite .precedent_suivant .precedent {
        margin-left:auto;
        margin-right:auto;
        margin-top:20px;
    }
    
    .page-reservation-activite .precedent_suivant .precedent {
        padding-left:70px;
        margin-top:0;
    }
    
    .page-anniversaires .reservation .formule button i.fa-caret-right, .page-anniversaires .reservation .pack-activites button i.fa-caret-right {
        font-size:100px;
    }
    
    .page-anniversaires .reservation .formule div.formule-div, .page-anniversaires .reservation .pack-activites div.pack-activites-div {
        width:calc(90% - 40px);
        margin-left:20px;
        margin-right:20px;
        margin-left:auto;
        margin-right:auto;
    }
    
    .paiement-form h2 {
        font-size:1.3rem;
    }
    
    .paiement-form h3 {
        font-size:1rem;
    }
    
    .paiement-form input {
        padding-left:20px !important;
        padding-right:20px !important;
    }
    
    .top-background .order {
        width: calc(100% - 30px);
        padding:10px 15px;
    }
    
    .top-background .order .prix-commander {
        right:15px;
    }
    
    .menu_restaurant {
        margin-left:40px;
        margin-right:40px;
    }
    
    .plats_restaurant {
        margin-left:20px;
        margin-right:20px;
    }

    .plats_restaurant .plat_restaurant .text_plat{
        width:calc(100% - 130px);
        padding-bottom:15px;
    }
    
    .plats_restaurant .plat_restaurant .text_plat .quantity, .list-products .product .infos-product .quantity{
        margin-bottom:10px;
    }
    
    .plats_restaurant .plat_restaurant .text_plat .quantity, .list-products .product .infos-product .quantity{
        position:relative;
        bottom:0;
        margin-top:20px;
    }
    
    .plats_restaurant .plat_restaurant .text_plat > span{
        position:relative;
        bottom:0;
        margin-top:20px;
    }

    .plats_restaurant .plat_restaurant .image_plat{
        width:100px;
        height:100px;
    }
    
    .plats_restaurant .plat_restaurant .image_plat img{
        height:100px;
    }
    
    .list-products .product .infos-product {
        padding-bottom: 40px;
    }
    
    .gestion-creneaux-days > a {
        width:calc(50% - 42px);
    }
    
    .page-anniversaires .reservation .reservation-form .submit {
        padding:7px;
        padding-left:20px;
        padding-right:20px;
    }
    
    .page-anniversaires .reservation .reservation-form .activites .choix-activite {
        flex-direction:column;
    }
    
    .page-anniversaires .reservation .reservation-form .activites .choix-activite .image-activite {
        width:70%;
    }
    
    .page-anniversaires .reservation .reservation-form .activites .choix-activite .one-activite {
        width:100%;
        padding:0;
        margin-top:10px;
    }
    
    .gift-cards .gift-card .price, .gift-cards .gift-card .price_libre {
        top: calc(50% + 12px);
        left: calc(50% + 6px);
        font-size: 50px;
    }
    
    .gift-card-page.achat-page .coordonnees input[type="submit"] {
        padding: 12px 25px;
        font-size: 18px;
        line-height: 24px;
    }
    
    .gift-card-page.achat-page .coordonnees.commande .pdf-giftcard {
        max-width:calc(100% - 80px);
        font-size:20px;
        line-height:24px;
        text-align:center;
    }
    
    .page-reservation-activite .horaires_list .one_horaire {
        width: calc(((100% / 2) - 30px - (20px / 2)) - 2px);
    }
    
    .page-reservation-activite .horaires_list .one_horaire:nth-child(3n) {
      margin-right: 20px;
    }
    
    .page-reservation-activite .horaires_list .one_horaire:nth-child(2n) {
      margin-right: 0;
    }
    
    .page-reservation-activite .recap h4 span {
      width: 100%;
    }
    
    .form-container form input[type="submit"], .page-reservation-activite form button {
        padding-right:70px;
    }
    
    .jeux_vr_selection .jeu_vr_container {
        width:calc(50% - 7px);
        margin-left:0px;
        margin-right:7px;
    }
    
    .jeux_vr_selection .jeu_vr_container:nth-child(2n) {
        margin-left:7px;
        margin-right:0px;
    }
    
    .jeux_vr_selection .jeu_vr {
        margin-bottom:10px;
        height: calc(((((100vw - 50px)) / 2) - 10px) * (9 / 10.5));
    }
    
    .jeux_vr_selection .jeu_vr h3 {
        font-size:12px;
        width:calc(100% - 20px);
        padding:5px 10px;
    }
    
    .jeux_vr_selection .jeu_vr img {
        top: 25px;
    }
    
    .jeux_vr_selection .jeu_vr_container h4 {
        font-size: 12px;
        line-height: 15px;
        margin-top: 7px;
        margin-left: 8px;
        flex-direction: column;
    }
    
    .jeux_vr_selection .jeu_vr_container h4.description_vr {
        flex-direction:row;
    }
    
    .confirmation_jeu_vr {
        margin-left:0;
    }
    
    .form-container form .column_left img {
        width:100%;
    }
    
    .a_l_avance {
        margin-left:0;
    }
}

@media all and (max-width:550px) {
    .page-anniversaires .reservation .reservation-form .panier .gateau-and-enfant {
        flex-direction:column;
    }
    .page-anniversaires .reservation .reservation-form .panier .gateau-recap > img {
        display:block;
        margin-left:auto;
        margin-right:auto;
    }
    .page-anniversaires .reservation .reservation-form .panier .gateau-and-enfant .enfant-recap {
        margin-left:0;
    }
    
    .gift-card-page.achat-page .recap .gift-card-container {
        padding: 20px 15px;
    }
}

@media all and (max-width:530px) {
    .date-events{
        font-size:1.1rem;
    }
}

@media all and (max-width:500px) {
    .home-page h1{
        font-size:1.4rem;
    }
    
    .home-page .coordonnees h2 {
        font-size:1.2rem;
    }
    
    .home-page .coordonnees p {
        font-size:0.8rem;
    }
    
    .confirmation_commande h2 {
        font-size:1.3rem;
    }
    .confirmation_commande p {
        font-size:0.9rem;
    }
    
    .auth-ctn {
        padding:30px;
        max-width:calc(80% - 60px)
    }
    
    .auth-ctn h2 {
        font-size:0.9rem;
    }
    
    .list-products .product .infos-product{
        padding-right:50px;
        width:calc(100% - 150px);
        min-height:80px;
    }
    
    .list-products .product .infos-product ul{
        flex-direction:column;
    }
    
    .list-products .product .infos-product ul li{
        margin-left:0;
    }
    
    .horaires > div {
        width:calc(33% - 20px);
        padding:5px;
    }
    
    .horaires .arrow-change-days {
        position: relative;
        top: 15px;
        font-size: 1.5rem;
    }
}

@media all and (max-width:470px) { 
    .gift-cards .gift-card .price, .gift-cards .gift-card .price_libre {
        top: calc(50% + 6px);
    }
}

@media all and (max-width:450px) {
    .reservation-admin .gateau-recap > img {
        width:50px;
    }
    .reservation-admin .gateau-and-enfant .enfant-recap {
        margin-left:20px;
    }
}

@media all and (max-width:420px) {
    .page-anniversaires .informations-etapes .etapes-order .etape {
        width:calc(100% - 30px);
        padding:15px;
        font-size:0.8rem;
    }
    .page-anniversaires .informations-etapes .etapes-order .etape span.numerotation {
        margin-right:8px;
    }
    
    .page-anniversaires .informations-etapes .etapes-order .etape.done i {
        font-size:20px;
    }
    .page-anniversaires .informations-etapes .etapes-order .etape.en-cours {
        width: calc(100% - 30px + 15px);
        font-size:0.9rem;
    }
    
    .page-anniversaires .informations-etapes .etapes-order .etape.en-cours i {
        font-size:20px;
    }
    
    .page-anniversaires .informations-etapes .etapes-order .etape.en-cours span.numerotation {
        margin-right:14px;
    }
    
    .page-anniversaires .reservation .reservation-form {
        padding:10px;
    }
    
    .gift-cards .gift-card .price, .gift-cards .gift-card .price_libre {
        top: calc(50%);
    }
}

@media all and (max-width:400px) {
    .calendar-events-date-current {
        font-size:1.2rem !important;
    }
    
    .page-a-o-e {
        padding:10px;
    }
    
    .top-background .order {
        height:80px;
    }
    
    .top-background .order .prix-commander {
        top:50px;
    }
    
    .plats_restaurant .plat_restaurant .text_plat{
        width:calc(100% - 110px);
    }

    .plats_restaurant .plat_restaurant .image_plat{
        width:80px;
        height:80px;
        overflow:hidden;
    } 
    
    .plats_restaurant .plat_restaurant .image_plat img{
        height:80px;
    }
    
    .list-products .product .infos-product .quantity {
        right:50px;
    }
    
    .page-reservation-activite .ariane {
        margin-bottom:50px;
    }
    
    .page-reservation-activite .ariane .etape p {
        display:none;
    }
    
    .page-reservation-activite .ariane .progress__current.step-1 {
        width:calc((25px) + 26px);
    }
    
    .jeux_vr_selection .jeu_vr {
        height: calc(((((100vw - 50px)) / 2) - 10px) * (9 / 10.5) + 30px);
    }
    
    .jeux_vr_selection .jeu_vr img { 
        top:43px;
    }
    
    .jeux_vr_selection .jeu_vr h3 {
        word-spacing: 50px;
    }
    
    .jeux_vr_selection .jeu_vr_container h4 {
        margin-left:0;
    }
}

@media all and (max-width:385px) {
    ul.events-list li .calendar-event-item .infos{
        font-size:0.8rem;
    }
    ul.events-list li .hour-reservation {
        font-size: 1rem;
    }
    
    ul.events-list li .category_event {
        font-size:0.9rem;
    }
}

@media all and (max-width:370px) {
    footer p {
        font-size:0.7rem;
    }
    
    .gift-cards .gift-card .price, .gift-cards .gift-card .price_libre {
        top: calc(50% - 5px);
    }
}