/*
# Base code

This include :
 * Eric Meyer reset code
 * basic settings for body (mainly typo, and full height html,body)

 */

html, body {
    height: 100%;
}

body {
    background: #f4f4f4;
    color: #000000;
    font-family: "Calibri", "Verdana", "Arial", "sans serif";
    line-height: 1.5;
}

h4 {
    font-weight: bold;
    margin-bottom: 20px;
}

.hidden {
    display: none;
}

.link--underlined,
.link:hover {
    text-decoration: underline;
}

a,
a:hover {
    color: #3B7ADB;
}

.header {
    background-color: #fff;
    height: 91px;
    box-shadow: 3px 3px 9px rgba(0,0,0,0.15);
    position: relative;
}

.header__logo {
    float: left;
    margin: 1.2em;
    height: 50px;
}

.header__social-icons{
    margin-right: 5%;
    position: absolute;
    top: 20px;
    right: 0px;
    display: inline-block;
    margin-top: 20px;
    float: right;
}

/* handle refactoring of theme with one main class "phoenix" on parent, applied only in B2C context */
.phoenix .form {
  background-color: white;
  padding: 32px;
  border-radius: 16px;
  box-shadow: none;
  border: 1px solid #e0e0e0;
}

.phoenix .form.small-paddings {
  padding: 16px 24px;
}

.phoenix .form h1 {
  font-size: 2em;
  font-weight: bold;
  margin-bottom: 1em;
}

/* phoenix buttons */
.phoenix .button,
.phoenix button,
/* apply primary style button on secondary button when button is alone */
.phoenix .button.secondary:only-child,
.phoenix button.secondary:only-child
{
  background: #EC6B06 none;
  border-radius: 8px;
  color: white;
  transition: unset;
  margin: 0;
}

.phoenix .button:focus, .phoenix .button:hover, .phoenix .button:active,
.phoenix button:focus, .phoenix button:hover, .phoenix button:active,
  /* apply primary style button on secondary button when button is alone */
.phoenix .button.secondary:only-child:focus, .phoenix .button.secondary:only-child:hover, .phoenix .button.secondary:only-child:active,
.phoenix button.secondary:only-child:focus, .phoenix button.secondary:only-child:hover, .phoenix button.secondary:only-child:active
{
  background: #ee5017 none;
  color: white;
}

.phoenix .button.secondary,
.phoenix button.secondary {
  background-image: linear-gradient(white 85%, #eee);
  color: #EC6B06;
  border: 1px solid;
  border-radius: 8px;
}

.phoenix .button.secondary:focus, .phoenix button.secondary:focus,
.phoenix .button.secondary:hover, .phoenix button.secondary:hover {
  background: white;
  color: #ee5017;
}

/* use full-width when only one "right" button is displayed */
.phoenix .button.right:only-child {
  padding-left: 0;
  padding-right: 0;
  width: 100%;
}

/* phoenix input */
.phoenix .input-decoration-wrapper {
  margin-bottom: 0;
}

.phoenix input[type=text], .phoenix input[type=text]:focus,
.phoenix input[type=password], .phoenix input[type=password]:focus,
.phoenix input[type=button], .phoenix input[type=button]:focus,
.phoenix input[type=file], .phoenix input[type=file]:focus,
.phoenix input[type=number], .phoenix input[type=number]:focus,
.phoenix input[type=search], .phoenix input[type=search]:focus,
.phoenix input[type=submit], .phoenix input[type=submit]:focus,
.phoenix input[type=tel], .phoenix input[type=tel]:focus,
.phoenix input[type=url], .phoenix input[type=url]:focus,
.phoenix input[type=email], .phoenix input[type=email]:focus,
.phoenix textarea, .phoenix textarea:focus,
.phoenix select, .phoenix select:focus {
  border-radius: 8px;
  margin-bottom: 0;
}

.phoenix .link--forgot {
  color: #EC6B06;
}

.phoenix span.error {
  border-radius: 8px;
}

.social-icons {
    display: inline-block;
    color: black;
    font-size: 25px;
}

.social-icons--mobile {
    font-size: initial;
}

.img-coffreo-pro-logo-full {
    background: url(coffreo-pro-logo-navbar-v2.jpg);
    background-repeat: no-repeat;
    background-size: contain;
    width: 150px;
    height: 56px;
}

.layout {
    min-height: 100%;
    position: relative;
    overflow:auto;
    display: flex;
    flex-direction: column;
}

.layout__content {
  flex-grow: 1;
}

.footer {
    color: #333333;
    font-size: 12px;
    padding: 25px 0 8px;
    text-align: center;
}

.footer__link:hover {
    text-decoration: underline;
}

label span.error{
    background-color: #ffffff;
    border-color: rgba(212,122,27,1) ;
    display: inline-block;
}

@keyframes bounceInUp {
  from, 60%, 75%, 90%, 100% {
    animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
  }

  from {
    opacity: 0;
    transform: translate3d(0, 3000px, 0);
  }

  60% {
    opacity: 1;
    transform: translate3d(0, -20px, 0);
  }

  75% {
    transform: translate3d(0, 10px, 0);
  }

  90% {
    transform: translate3d(0, -5px, 0);
  }

  100% {
    transform: translate3d(0, 0, 0);
  }
}

.bounceInUp {
  animation-name: bounceInUp;
}
/*!
Animate.css - http://daneden.me/animate
Licensed under the MIT license - http://opensource.org/licenses/MIT

Copyright (c) 2015 Daniel Eden
*/

.animated {
  animation-duration: 1s;
  animation-fill-mode: both;
}

.animated.infinite {
  animation-iteration-count: infinite;
}

.animated.hinge {
  animation-duration: 2s;
}

.animated.flipOutX,
.animated.flipOutY,
.animated.bounceIn,
.animated.bounceOut{
  animation-duration: .75s;
}

.contact_bar {
    width: 200px;
    height: 100px;
    color: #ffffff;
    background-color:  rgba(43,107,205,1);
    position: fixed;
    bottom:-50px ;
    right: 50px;
    text-align: center;
    line-height: 50px;
    font-size: 20px;
    border-top-left-radius: 4px;
    border-top-right-radius: 4px;
    -webkit-animation: bounceInUp 1s;
    -webkit-animation-delay: .1s;
}

a.contact_bar,
a:hover.contact_bar {
     color: #ffffff;
}
a:hover.contact_bar {
    text-decoration: underline;
}

.contact_bar a,
.contact_bar a:hover {
     color: #ffffff;
}
.contact_bar a:hover {
  text-decoration: underline;
}

button:hover,
button:focus, .button:hover,
.button:focus {
  transition: background-color 0ms;
  background-color: #128a3a;
}

button:hover,
button:focus, .button:hover,
.button:focus {
  color: #FFFFFF;
}

button.secondary, .button.secondary {
  background-color: #2b6bce;
  border-color: #2256a5;
  color: #FFFFFF;
}

button.secondary:hover,
button.secondary:focus, .button.secondary:hover,
.button.secondary:focus {
  background-color: #2256a5;
}

button.secondary:hover,
button.secondary:focus, .button.secondary:hover,
.button.secondary:focus {
  color: #FFFFFF;
}

/** Page authorize **/
button.expand, .button.expand {
  padding-left: 0;
  padding-right: 0;
  width: 100%;
}

button.radius, .button.radius {
  border-radius: 4px;
}

@media only screen and (min-width: 40.0625em) {
  button, .button {
    display: inline-block;
  }
}

label {
  color: #4d4d4d;
  font-weight: 600;
}

label a {
    font-size: 16px;
    font-weight: 100;
}

/* ====== START OF handle input decoration ====== */

/*
* Wrap the input with `.input-decoration-wrapper`
* Add class `.input-decorated` on the input
* Add decorator after the input inside the wrapper

Notice: currently input decorator can only be displayed at the end of the field.

Availables modifiers :
 * .input-decorator--bordered : use a border around decorator, and apply input border style to
                                render the feeling as the decorator is inside the field
 * .input-decorator--darken : apply a light gray background on decorator
 * .input-decorator--separator : add separator between input and decorator
 * .input-decorator--action : change cursor to pointer

*/
.input-decoration-wrapper {
    display: flex;
    align-items: center;
    margin: 0 0 1rem 0;
}

.input-decoration-wrapper--bordered .input-decorated,
.input-decoration-wrapper--bordered .input-decorated:focus,
.input-decoration-wrapper--bordered .input-decorated.error {
    border-right: none !important;
    border-radius: 2px 0 0 2px;
}

.phoenix .input-decoration-wrapper--bordered .input-decorated,
.phoenix .input-decoration-wrapper--bordered .input-decorated:focus,
.phoenix .input-decoration-wrapper--bordered .input-decorated.error {
  border-radius: 8px 0 0 8px;
}

.input-decoration-wrapper--bordered .input-decorated {
    border-right: none;
    border-top-right-radius: 0 !important;
    border-bottom-right-radius: 0 !important;
}
.input-decoration-wrapper--bordered .input-decorated:focus + .input-decorator--bordered {
    border-color: #2b6bcd;
    border-width: 2px;
    border-left: none;
    border-radius: 0 4px 4px 0 !important;
}

.phoenix .input-decoration-wrapper--bordered .input-decorated:focus + .input-decorator--bordered {
  border-radius: 0 8px 8px 0 !important;
}

.input-decoration-wrapper--bordered .input-decorated.error + .input-decorator--bordered {
    border-color: #FA4B4C;
}
.input-decoration-wrapper--bordered .input-decorated.error:focus + .input-decorator--bordered {
    border-width: 2px;
    border-left: none;
    border-radius: 0 4px 4px 0 !important;
}

.phoenix .input-decoration-wrapper--bordered .input-decorated.error:focus + .input-decorator--bordered {
  border-radius: 0 8px 8px 0 !important;
}

.input-decoration-wrapper .input-decorated {
    margin: 0;
}

.input-decorator {
    padding: 6px;
    text-align: center;
    height: 2.3125rem;
    width: 2.3125rem;
}

/*
When used, this is mandatory to add the modifier `input-decoration-wrapper--bordered` on parent
`input-decoration-wrapper`
*/
.input-decorator--bordered {
    transition: box-shadow 0.45s,border-color 0.45s ease-in-out;
    border: 1px solid #ccc;
    border-radius: 0 2px 2px 0;
    border-left: none;
    position: relative;
}

.phoenix .input-decorator--bordered {
  border-radius: 0 8px 8px 0;
}

/* decorator background is light gray */
.input-decorator--darken {
    background: rgba(25, 25, 25, 0.08);
}

/* add a separator between field and decorator */
.input-decorator--separator:before {
    content: " ";
    position: absolute;
    top: 0;
    left: -1px;
    height: 100%;
    width: 1px;
    background-color: #ccc;;
}

/* define the decorator as an action, changing cursor to pointer */
.input-decorator--action {
    cursor: pointer;
}

/* icons color */
.input-decorator__icon-show,
.input-decorator__icon-hide {
    color: rgba(25, 25, 25, 0.55);
}

.input-decorator__icon-show:hover,
.input-decorator__icon-hide:hover {
    color: rgba(25, 25, 25, 0.65);
}

/* handle which icon is displayed upon input type value */
.input-decoration-wrapper input[type=password] + .input-decorator .input-decorator__icon-hide { display: none; }
.input-decoration-wrapper input[type=text]     + .input-decorator .input-decorator__icon-show { display: none; }

/* ====== END OF handle input decoration ====== */

/* We use this to get basic styling on all basic form elements */
input[type="text"], input[type="password"], input[type="date"], input[type="datetime"], input[type="datetime-local"], input[type="month"], input[type="week"], input[type="email"], input[type="number"], input[type="search"], input[type="tel"], input[type="time"], input[type="url"], input[type="color"], textarea {
    box-shadow: none;
    border-radius: 2px;
    color: rgba(25, 25, 25, 0.75);
}

input[type="text"]:focus, input[type="password"]:focus, input[type="date"]:focus, input[type="datetime"]:focus, input[type="datetime-local"]:focus, input[type="month"]:focus, input[type="week"]:focus, input[type="email"]:focus, input[type="number"]:focus, input[type="search"]:focus, input[type="tel"]:focus, input[type="time"]:focus, input[type="url"]:focus, input[type="color"]:focus, textarea:focus {
  background: #fff;
  border-radius: 4px;
  color: #2b6bcd;
  border-width: 2px;
  border-color: #2b6bcd;
  box-shadow: none;
}

button.disabled, button[disabled], .button.disabled, .button[disabled] {
    background: #9d9d9d;
}

input[type="text"]:disabled, input[type="password"]:disabled, input[type="date"]:disabled, input[type="datetime"]:disabled, input[type="datetime-local"]:disabled, input[type="month"]:disabled, input[type="week"]:disabled, input[type="email"]:disabled, input[type="number"]:disabled, input[type="search"]:disabled, input[type="tel"]:disabled, input[type="time"]:disabled, input[type="url"]:disabled, input[type="color"]:disabled, textarea:disabled {
  cursor: default;
}

label input {
    display: none;/* <-- hide the default checkbox */
}

label span {/* <-- style the artificial checkbox */
    height: 20px;
    width: 20px;
    border: 1px solid grey;
    display: inline-block;
    line-height: 2em;
    margin-right: 10px;
    vertical-align: middle;
}

[type=checkbox]:checked + span {/* <-- style its checked state */
    background-image: url(check-cbe427e2d611dbed64813dd5264c3d98.png);
    background-size: 100%;
}

input[type="submit"] {
  -webkit-appearance: none;
  -moz-appearance: none;
  border-radius: 0;
}

select:hover {
  border-color: #2b6bce;
}

span.error {
  display: block;
  font-size: 0.75rem;
  font-style: italic;
  font-weight: normal;
  margin-bottom: 1rem;
  margin-top: -1px;
  padding: 0.375rem 0.5625rem 0.5625rem;
  background: #FA4B4C;
  color: #FFFFFF;
}

.error input,
.error select {
  margin-bottom: 0;
}

.form {
  background-color: white;
  border-radius: 4px;
  box-shadow: 3px 3px 9px rgba(0, 0, 0, 0.15);
  padding: 15px;
}

.form__label {
  font-size: 1.5em;
  font-weight: bold;
  margin-bottom: 20px;
}

.form__message {
  margin: 1em 0 2em 0;
}

.form__field {
  margin-bottom: 20px;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.form__footer {
    display: flex;
    flex-direction: row-reverse;
    gap: 8px;
    flex-wrap: wrap;
}

.form__footer:before, .form__footer:after {
  content: " ";
  display: table;
}

.phoenix .form__footer:before, .phoenix .form__footer:after {
  content: "";
  display: none;
}

.form__footer:after {
  clear: both;
}

.form__error {
  color: red;
}

.form__group {
  margin-bottom: 30px;
}


.input.input.capitalized {
  text-transform: capitalize;
}

.input.input.grouped {
  margin-top: 5px;
}

.input.input--valid {
  font-style: normal;
  color: #17ad49;
  border: 1px solid #17ad49;
}

.input.error {
  font-style: normal;
  color: #FA4B4C;
  border: 1px solid #FA4B4C;
}

.input.error:focus {
  font-style: normal;
  color: #FA4B4C;
  border: 2px solid #FA4B4C;
  box-shadow: none;
}

.button {
    box-shadow: 3px 3px 9px rgba(0, 0, 0, 0.15);
    margin: 0;
    border-radius: 2px;
    background: linear-gradient(#17ad49 25%, #149b41 75%);
    font-family: "Calibri", "Verdana", "Arial", "sans serif";
    padding: 0.625rem 1.25rem 0.6875rem 1.25rem;
}

.form-pro .button--booking,
.form-pro .button--booking:hover,
.form-pro .button--booking:focus {
    background: #375D9D;
}

.form-com .button--booking,
.form-com .button--booking:hover,
.form-com .button--booking:focus {
    background: #EC6B06;
}

.button--booking {
    margin-right: 10px;
    border-radius: 2px;
    box-shadow: 0 2px 2px 0 rgba(0,0,0,0.15);
}

.button.error {
    box-shadow: 3px 3px 9px rgba(0, 0, 0, 0.15);
    margin: 0;
    border-radius: 4px;
    background: linear-gradient(#ff5955 25%, #d9534f 75%);
}

.button:focus {
  box-shadow: none;
  background: linear-gradient(#17ad49, #149b41 100%);
}

button[disabled],
button.disabled,
button[disabled]:hover,
button.disabled:hover,
button[disabled]:focus,
button.disabled:focus {
  color: #191919;
  background: #9d9d9d !important;
}

.button.disabled:focus {
  box-shadow: none;
}

.button.secondary {
  background: linear-gradient(#2b6bce 75%, #235eb8);
}

.button.secondary:focus {
  box-shadow: none;
  background: linear-gradient(#2b6bce 100%, #235eb8);
}

.title {
  font-size: 1.5em;
}

.title--bold {
  font-weight: bold;
}

.field__label {
  display: block;
  font-size: 1em;
  color: #000000;
}

.field__label__attribut {
  display: inline-block;
  font-size: 0.8em;
  margin-left: 4px;
}

/* add by me before refacto */
.msg-help-footer {
    background: url(need-help.png);
    background-position: 180px 26px;
    background-repeat: no-repeat;
    position: absolute;
    bottom: 70px;
    right: 174px;
    width: 232px;
    height: 80px;
    font-size: 1.2em;
    line-height: 100%;
    color: grey;
}

.toastr {
    width: 100%;
    background-color: #FA4B4C;
    color: white;
    display: flex;
    align-items: center;
    z-index: 1;
    padding: 0.5em 1em;
}

.toastr-message {
  padding-right: 1.5em;
}

.link-toaster {
  color: white !important;
  text-decoration: underline;
  transition: background-color 200ms;
  padding: 0 .5em; /* for hover */
  white-space: nowrap;
  float: right;
  /* click effect without changing size */
  border-bottom: 1px solid transparent; /* add a fake border to force element size to size + 1 for :active effect */
}

.link-toaster:hover {
  background-color: rgba(255, 255, 255, .2);
}

.link-toaster:active {
  background-color: rgba(255, 255, 255, .15);
  border-top: 1px solid transparent; /* push content one pixel down */
  border-bottom-width: 0;            /* prevent changing global size */
}

/* Désactiver fond jaune chrome input */
input:-webkit-autofill,
input:-webkit-autofill:focus,
input:-webkit-autofill:active {
    -webkit-box-shadow: 0 0 0 1000px white inset !important;
}

body:not(.phoenix) .button--forgot-return {
    background: white !important;
    color: #EC6B06 !important;
    box-shadow: 0 2px 2px 0 rgba(0,0,0,0.15);
    border-radius: 2px;
}

.button--forgot-return:active,
.button--forgot-return:hover,
.button--forgot-return:focus {
    background: white;
    color: #EC6B06;
}

.link--forgot,
.link--forgot:hover,
.link--forgot:focus {
    color: #EC6B06;
}

span.ic-yes {
    color: #19AB48;
    font-size: 2rem;
    position: absolute;
    left: -32px;
    top: -7px;
}

.success .field__label {
    color: #19AB48;
}
