body {
  padding: 0;
  margin: 0;
  font-family: 'Roboto', sans-serif;
  color: #696969; }

.vertically-centered {
  display: flex;
  flex-direction: column;
  justify-content: center; }

.btn-round {
  display: inline-block;
  height: 40px;
  padding: 0px 18px;
  background: white;
  color: #696969;
  border-radius: 24px;
  font-size: 14px;
  text-align: center;
  line-height: 40px;
  text-decoration: none; }
  .btn-round.btn-pink {
    color: #f12f7f; }
  .btn-round.btn-green {
    color: #7ab51e; }
  .btn-round:hover {
    text-decoration: none; }

.btn, a.btn {
  display: block;
  border-radius: 6px;
  padding: 10px 20px;
  border: none;
  outline: none;
  color: white;
  font-size: 18px;
  margin: auto;
  margin-top: 20px; }
  .btn.pink, a.btn.pink {
    color: white !important;
    background: #f12f7f !important; }
  .btn.green, a.btn.green {
    color: white !important;
    background: #7ab51e !important; }
  .btn.gray, a.btn.gray {
    background: #696969 !important;
    color: white; }

a.btn {
  text-decoration: none; }
  a.btn:hover {
    color: white; }

.btn-gray {
  background-color: #818181 !important; }

.textcenter {
  text-align: center; }

.uppercase {
  text-transform: uppercase; }

.right {
  float: right; }

.blue {
  color: #304ffe; }

.pink {
  color: #f12f7f; }

.table > thead > tr > th,
.table > tbody > tr > th,
.table > tfoot > tr > th,
.table > thead > tr > td,
.table > tbody > tr > td,
.table > tfoot > tr > td {
  vertical-align: middle; }

.table.noborder td {
  border: none; }

.table tr.noborder td {
  border: none; }

.table td {
  font-weight: 400;
  color: #696969; }
  .table td.leftalign {
    text-align: left; }
  .table td.rightalign {
    text-align: right; }
  .table td.pink {
    color: #f12f7f; }
  .table td.green {
    color: #7ab51e; }

h2 {
  font-size: 14px;
  padding-bottom: 10px; }
  h2.green {
    border-bottom: 1px solid #7ab51e;
    color: #7ab51e; }
  h2.pink {
    border-bottom: 1px solid #f12f7f;
    color: #f12f7f; }

select.simple-style {
  border: 1px solid #e3e3e3;
  border-radius: 2px;
  background: url("/ressources/img/wedge-down.png") 95% 50% no-repeat;
  -moz-appearance: none;
  -webkit-appearance: none;
  box-shadow: none;
  padding-left: 4px;
  padding-right: 20px; }

input[type="text"].simple-style {
  border: 1px solid #e3e3e3;
  border-radius: 2px;
  -moz-appearance: none;
  -webkit-appearance: none;
  box-shadow: none; }

header {
  display: flex;
  flex-direction: row;
  width: 100%;
  height: 138px;
  padding: 40px; }
  header .logo {
    flex-grow: 0; }
  header .middle {
    flex-grow: 2;
    display: flex;
    justify-content: center;
    text-align: center; }
    header .middle:after {
      content: "";
      display: table;
      clear: both; }
    header .middle p {
      float: left;
      margin: 0;
      padding: 0;
      color: #fff;
      font-size: 22px;
      font-weight: 300;
      margin-right: 20px; }
    header .middle a.edit i {
      color: white;
      text-decoration: none;
      font-size: 24px;
      display: inline-block;
      padding-top: 20px; }
  header .right {
    flex-grow: 0; }
    header .right .btn-round {
      margin-right: 10px; }
    header .right .disconnect {
      margin-right: 0;
      color: #696969; }

section.content {
  background: #f6f7fa; }

body.voyages-univers header, body.voyages-univers .card-header, body.voyages-univers .btn {
  background-color: #f12f7f; }

body.voyages-univers .form-group label, body.voyages-univers .add-passenger {
  color: #f12f7f; }

body.voyages-univers .form-group .content hr {
  background: #f12f7f; }

body.voyages-univers a {
  color: #f12f7f; }

body.famille-univers header, body.famille-univers .card-header, body.famille-univers .btn {
  background-color: #7ab51e; }

body.famille-univers .form-group label, body.famille-univers .add-passenger {
  color: #7ab51e; }

body.famille-univers .form-group .content hr {
  background: #7ab51e; }

body.famille-univers a {
  color: #7ab51e; }

section.content {
  padding: 40px 0px; }

.bottom-margin {
  margin-bottom: 40px; }

.card-header {
  border-radius: 4px 4px 0px 0px;
  height: 40px;
  font-size: 16px;
  color: white;
  line-height: 40px;
  padding-left: 20px; }
  .card-header.textcenter {
    padding-left: 0; }

.card-body {
  padding: 20px 0px;
  background: white;
  box-shadow: 0px 0px 4px rgba(0, 0, 0, 0.3); }
  .card-body:after {
    content: "";
    display: table;
    clear: both; }
  .card-body hr {
    float: left;
    width: calc(100% - 40px);
    margin: 20px 20px 30px 20px;
    background: #d7d7d7; }
  .card-body.recapcontainer {
    padding: 20px 16px; }
  .card-body h2 {
    width: calc(100% - 40px);
    margin: 20px;
    margin-bottom: 10px;
    padding-left: 10px; }

.form-group .content {
  position: relative;
  background: #f6f7fa;
  border-radius: 6px;
  padding: 4px 10px;
  overflow: hidden; }
  .form-group .content.textinside {
    height: 62px;
    line-height: 62px;
    color: #696969; }
  .form-group .content label {
    font-size: 14px;
    font-weight: 300;
    margin-bottom: 0; }
  .form-group .content hr {
    height: 2px;
    position: absolute;
    width: 100%;
    margin: 0;
    padding: 0;
    margin-left: -10px;
    bottom: 0px; }
  .form-group .content select, .form-group .content input[type="text"], .form-group .content input[type="date"] {
    background: none;
    border: none;
    -moz-appearance: none;
    -webkit-appearance: none;
    box-shadow: none;
    padding-left: 0;
    font-size: 16px;
    color: #696969; }
    .form-group .content select.noicon, .form-group .content input[type="text"].noicon, .form-group .content input[type="date"].noicon {
      background: none !important; }
  .form-group .content input[type="text"] {
    padding-right: 24px;
    background: url("/ressources/img/icon-pen.png") right center no-repeat; }
  .form-group .content input[type="date"] {
    padding-right: 24px;
    background: url("/ressources/img/icon-calendar.png") right center no-repeat; }
  .form-group .content select {
    background: url("/ressources/img/wedge-down.png") right center no-repeat; }

.form-group .form-check-inline {
  display: -ms-inline-flexbox;
  display: inline-flex;
  -ms-flex-align: center;
  align-items: center;
  padding-left: 0;
  margin-right: .75rem;
  padding-top: 30px; }

.pricebox {
  background-color: #f6f7fa;
  border: 1px solid #eaeae8;
  border-radius: 4px;
  padding: 4px 12px;
  margin-bottom: 20px;
  color: #696969;
  font-size: 16px; }
  .pricebox.left, .pricebox.right {
    width: 47%; }
  .pricebox.left {
    float: left; }
  .pricebox.right {
    float: right; }
  .pricebox.big {
    padding: 12px; }
  .pricebox .light {
    font-weight: 300;
    font-size: 14px; }

.peoplecontainer {
  display: flex;
  justify-content: space-between;
  margin-bottom: 20px; }
  .peoplecontainer .peoplebox {
    display: inline-block; }

body.voyages-univers .form-group .form-check-label,
body.famille-univers .form-group .form-check-label {
  color: #696969; }

body.voyages-univers table th {
  color: #f12f7f;
  border-bottom: 1px solid #f12f7f; }

.card-body table {
  width: calc(100% - 40px);
  margin-left: 20px; }
  .card-body table td {
    text-align: center; }
  .card-body table .fa-times {
    color: #c02020;
    font-size: 16px;
    line-height: 33px; }

.add-passenger {
  display: inline-block;
  margin-left: 40px; }

.button-container {
  text-align: center; }
  .button-container .btn {
    width: 220px; }

table.total {
  width: 40%;
  margin-left: 50px; }
  table.total tr td {
    font-size: 14px; }

.submit-container {
  text-align: center;
  font-size: 16px; }

.payment-content {
  padding-left: 60px; }
  .payment-content strong {
    color: #363636; }

html {
  height: 100%; }

body.panel-mode {
  font-family: 'Roboto', sans-serif;
  background: url("/ressources/img/background-panel.jpg") no-repeat center center fixed;
  -webkit-background-size: cover;
  -moz-background-size: cover;
  -o-background-size: cover;
  background-size: cover;
  height: 100%; }
  body.panel-mode .wrapper {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100%; }
  body.panel-mode section.panel {
    width: calc(60% - 40px);
    height: calc(80% - 40px);
    padding: 20px;
    max-width: 60vw;
    max-height: 80vh;
    background: white;
    box-shadow: 0px 0px 50px rgba(0, 0, 0, 0.2);
    text-align: center; }
    body.panel-mode section.panel .panel-top {
      position: relative;
      height: 105px; }
      body.panel-mode section.panel .panel-top .btn-disconnect {
        position: absolute;
        top: 20px;
        right: 0;
        display: block;
        width: 150px;
        height: 48px;
        background-color: #8c3049;
        color: white;
        font-size: 14px;
        text-align: center;
        line-height: 48px;
        border-radius: 24px;
        text-decoration: none; }
    body.panel-mode section.panel .panel-middle {
      display: flex;
      flex-direction: column;
      height: calc(100% - 133px);
      overflow-y: auto;
      font-size: 20px;
      color: #8492af; }
      body.panel-mode section.panel .panel-middle .title {
        flex-grow: 1; }
        body.panel-mode section.panel .panel-middle .title h1 {
          font-size: 40px;
          font-weight: 300;
          color: #8c3049; }
          body.panel-mode section.panel .panel-middle .title h1 small {
            font-size: 36px;
            color: #8492af; }
      body.panel-mode section.panel .panel-middle .content {
        flex-grow: 2; }
      body.panel-mode section.panel .panel-middle input[type="text"] {
        width: 500px;
        height: 54px;
        border: none;
        border-bottom: 1px solid #d4d9e3;
        font-family: 'Roboto', sans-serif;
        font-size: 24px;
        font-weight: 300;
        background: url("/ressources/img/icon-user.png") left center no-repeat;
        padding-left: 60px;
        -moz-appearance: none;
        -webkit-appearance: none;
        outline: none; }
      body.panel-mode section.panel .panel-middle input[type="date"] {
        width: 270px;
        height: 60px;
        border-radius: 8px;
        border: 2px solid #8492af;
        color: #8492af;
        font-family: 'Roboto', sans-serif;
        font-size: 24px;
        font-weight: 300;
        text-align: center;
        -moz-appearance: none;
        -webkit-appearance: none;
        outline: none; }
        body.panel-mode section.panel .panel-middle input[type="date"]:focus {
          border: 2px solid #8c3049; }
      body.panel-mode section.panel .panel-middle .btn-submit {
        width: 340px;
        height: 60px;
        background-color: #8c3049;
        color: white;
        font-size: 20px;
        text-align: center;
        line-height: 60px;
        border-radius: 35px;
        margin-top: 40px;
        text-transform: uppercase;
        border: none;
        cursor: pointer; }
      body.panel-mode section.panel .panel-middle label {
        display: block;
        text-align: left; }
      body.panel-mode section.panel .panel-middle .radio-container {
        display: inline-block;
        margin: auto; }
      body.panel-mode section.panel .panel-middle .logo-selector {
        display: flex;
        margin: auto;
        width: 60%;
        justify-content: space-between;
        flex-direction: row; }
      body.panel-mode section.panel .panel-middle .vacances {
        display: block;
        width: 221px;
        height: 66px;
        background: url("/ressources/img/logo-voyages.png") top left no-repeat; }
        body.panel-mode section.panel .panel-middle .vacances:hover {
          background: url("/ressources/img/logo-voyages.png") bottom left no-repeat; }
      body.panel-mode section.panel .panel-middle .vaf {
        display: block;
        width: 219px;
        height: 78px;
        background: url("/ressources/img/logo-vaf.png") top left no-repeat; }
        body.panel-mode section.panel .panel-middle .vaf:hover {
          background: url("/ressources/img/logo-vaf.png") bottom left no-repeat; }
    body.panel-mode section.panel .panel-footer {
      height: 28px;
      text-align: center; }
      body.panel-mode section.panel .panel-footer a {
        color: #8492af;
        font-size: 20px;
        font-weight: 300;
        text-decoration: none; }
        body.panel-mode section.panel .panel-footer a:hover {
          color: #8c3049; }

.radio {
  margin: 16px 0;
  display: block;
  cursor: pointer;
  /*&:hover {
        input {
            & + span {
                &:before {
                    transform: scale(.92);
                }
                &:after {
                    transform: scale(.74);
                }
            }
            &:checked + span {
                &:after {
                    transform: scale(.4);
                }
            }
        }
    }*/ }
  .radio input {
    display: none; }
    .radio input + span {
      padding-left: 14px;
      display: block;
      position: relative;
      font-weight: 300; }
      .radio input + span:not(:empty) {
        padding-left: 44px; }
      .radio input + span:before {
        content: '';
        width: 14px;
        height: 14px;
        display: block;
        border-radius: 50%;
        left: 0;
        top: 3px;
        position: absolute; }
      .radio input + span:before {
        border: 2px solid #8492af;
        transition: background 0.2s ease, transform 0.4s cubic-bezier(0.175, 0.885, 0.32, 2); }
      .radio input + span:after {
        background: #fff;
        transform: scale(0.78);
        transition: transform 0.6s cubic-bezier(0.175, 0.885, 0.32, 1.4); }
    .radio input:checked + span:before {
      transform: scale(1.04);
      background: #8c3049; }
    .radio input:checked + span:after {
      transform: scale(0.4);
      transition: transform 0.3s ease; }

@keyframes hover-color {
  from {
    border-color: #c0c0c0; }
  to {
    border-color: #f12f7f; } }

.magic-radio,
.magic-checkbox {
  position: absolute;
  display: none; }

.magic-radio[disabled],
.magic-checkbox[disabled] {
  cursor: not-allowed; }

.magic-radio + label,
.magic-checkbox + label {
  position: relative;
  display: block;
  padding-left: 30px;
  cursor: pointer;
  vertical-align: middle; }
  .magic-radio + label:hover:before,
  .magic-checkbox + label:hover:before {
    animation-duration: 0.4s;
    animation-fill-mode: both;
    animation-name: hover-color; }
  .magic-radio + label:before,
  .magic-checkbox + label:before {
    position: absolute;
    top: 0;
    left: 0;
    display: inline-block;
    width: 20px;
    height: 20px;
    content: '';
    border: 1px solid #c0c0c0; }
  .magic-radio + label:after,
  .magic-checkbox + label:after {
    position: absolute;
    display: none;
    content: ''; }

.magic-radio[disabled] + label,
.magic-checkbox[disabled] + label {
  cursor: not-allowed;
  color: #e4e4e4; }
  .magic-radio[disabled] + label:hover,
  .magic-radio[disabled] + label:before,
  .magic-radio[disabled] + label:after,
  .magic-checkbox[disabled] + label:hover,
  .magic-checkbox[disabled] + label:before,
  .magic-checkbox[disabled] + label:after {
    cursor: not-allowed; }
  .magic-radio[disabled] + label:hover:before,
  .magic-checkbox[disabled] + label:hover:before {
    border: 1px solid #e4e4e4;
    animation-name: none; }
  .magic-radio[disabled] + label:before,
  .magic-checkbox[disabled] + label:before {
    border-color: #e4e4e4; }

.magic-radio:checked + label:before,
.magic-checkbox:checked + label:before {
  animation-name: none; }

.magic-radio:checked + label:after,
.magic-checkbox:checked + label:after {
  display: block; }

.magic-radio + label {
  padding-left: 40px;
  height: 24px;
  line-height: 24px;
  margin-bottom: 10px; }
  .magic-radio + label:before {
    width: 24px;
    height: 24px;
    border-radius: 0%;
    background: url("/ressources/img/radio.png") top left no-repeat;
    border: none; }
  .magic-radio + label:after {
    width: 24px;
    height: 24px;
    top: 0;
    left: 0;
    border-radius: 0%;
    background: url("/ressources/img/radio.png") bottom left no-repeat; }

.magic-checkbox + label:before {
  border-radius: 3px; }

.magic-checkbox + label:after {
  top: 2px;
  left: 7px;
  box-sizing: border-box;
  width: 6px;
  height: 12px;
  transform: rotate(45deg);
  border-width: 2px;
  border-style: solid;
  border-color: #fff;
  border-top: 0;
  border-left: 0; }

.magic-checkbox:checked + label:before {
  border: #f12f7f;
  background: #f12f7f; }

.magic-checkbox:checked[disabled] + label:before {
  border: #fbbed7;
  background: #fbbed7; }

/*.box-sizing (@sizing: border-box) {
    -moz-box-sizing: @sizing;
    -webkit-box-sizing: @sizing;
    box-sizing: @sizing;
}

.transition (@attr,@time,@ease) {
    -webkit-transition: @attr @time @ease;
    -o-transition: @attr @time @ease;
    -moz-transition: @attr @time @ease;
    transition: @attr @time @ease;
}

.border-radius (@radius: 4px;) {
    -moz-border-radius: @radius;
    -webkit-border-radius: @radius;
    border-radius: @radius;
}*/
/* ON/OFF Switch */
.onoffswitch {
  position: relative;
  width: 70px;
  display: inline-block;
  font-size: 80%;
  z-index: 1;
  margin-left: -70px; }
  .onoffswitch .onoffswitch-label {
    display: block;
    overflow: hidden;
    cursor: pointer;
    border: 1px solid #e6e6e6;
    border-radius: 28px;
    margin: 0; }
  .onoffswitch .onoffswitch-inner {
    width: 200%;
    margin-left: -100%;
    transition: margin, 0.15s, ease-in-out; }
    .onoffswitch .onoffswitch-inner:before,
    .onoffswitch .onoffswitch-inner:after {
      float: left;
      width: 50%;
      height: 32px;
      padding: 0;
      line-height: 32px;
      font-size: 12px;
      color: white;
      font-weight: 400;
      box-sizing: border-box; }
    .onoffswitch .onoffswitch-inner:before {
      content: "Oui";
      padding-left: 10px;
      background-color: #3ab54a;
      color: white; }
    .onoffswitch .onoffswitch-inner:after {
      content: "Non";
      padding-right: 10px;
      background-color: #fafafa;
      color: #3d3d3d;
      text-align: right; }
  .onoffswitch .onoffswitch-switch {
    width: 26px;
    height: 26px;
    margin: 0;
    background: white;
    box-shadow: 0 0 3px rgba(0, 0, 0, 0.3);
    border-radius: 50%;
    position: absolute;
    top: 4px;
    bottom: 0;
    right: 41px;
    transition: right, 0.15s, ease-in-out; }

.toggle-group {
  z-index: 1;
  position: relative;
  height: 35px;
  top: 50%;
  left: 20px;
  margin-top: -17.5px; }
  .toggle-group input[type=checkbox] {
    position: absolute;
    left: -99999px; }
    .toggle-group input[type=checkbox]:checked ~ .onoffswitch .onoffswitch-label .onoffswitch-inner {
      margin-left: 0; }
    .toggle-group input[type=checkbox]:checked ~ .onoffswitch .onoffswitch-label .onoffswitch-switch {
      right: 3px;
      box-shadow: 0 0 3px rgba(0, 0, 0, 0.5); }
    .toggle-group input[type=checkbox]:focus ~ .onoffswitch {
      outline: thin dotted #333;
      outline: 0; }
  .toggle-group label {
    position: relative;
    cursor: pointer;
    padding-left: 80px;
    display: inline-block;
    text-align: left;
    line-height: 32px;
    z-index: 2;
    width: 300px;
    height: 32px;
    font-weight: 400;
    vertical-align: top; }

/* ==== Accessibility ===== */
.aural {
  clip: rect(1px, 1px, 1px, 1px);
  height: 1px;
  overflow: hidden;
  position: absolute;
  width: 1px; }
  .aural:focus {
    clip: rect(0, 0, 0, 0);
    font-size: 1em;
    height: auto;
    outline: thin dotted;
    position: static !important;
    width: auto;
    overflow: visible; }

body.modal-visible {
  overflow: hidden; }

.overlay {
  display: none; }
  .overlay.visible {
    display: block;
    position: absolute;
    width: 100vw;
    height: 100%;
    top: 0;
    left: 0;
    background-color: rgba(255, 255, 255, 0.6);
    z-index: 99; }

.modal-user {
  position: fixed;
  top: calc(50% - 300px);
  left: calc(50% - 300px);
  z-index: 100; }
  .modal-user .card {
    width: 600px; }
    .modal-user .card .btn-close {
      margin-right: 16px; }
      .modal-user .card .btn-close img {
        width: 18px;
        height: 18px; }
    .modal-user .card .card-body {
      padding: 20px 100px; }
      .modal-user .card .card-body .form-group {
        margin-bottom: 20px; }
		
		
body.hotels-univers header, body.hotels-univers .card-header, body.hotels-univers .btn {
  background-color: #FAC73B; }

body.hotels-univers .form-group label, body.hotels-univers .add-passenger {
  color: #DBA81D; }

body.hotels-univers .form-group .content hr {
  background: #FAC73B; }

body.hotels-univers a {
  color: #DBA81D; }
  
body.hotels-univers .form-group .form-check-label {
  color: #DBA81D; }

body.hotels-univers table th {
  color: #DBA81D;
  border-bottom: 1px solid #FAC73B; }
  
.table td.yellow {
    color: #DBA81D; }
.btn.yellow, a.btn.yellow {
    color: white !important;
    background: #FAC73B !important; }
.yellow {
  color: #DBA81D; }

h2.yellow {
    border-bottom: 1px solid #DBA81D;
    color: #DBA81D; }