/*
 * Abstractions like variables, mixins, etc.
 */
/* 
 * http://easings.net/nl 
 */
/*
 * Breakpoints
 */
/*
 * Sections attributes
 */
/*
 * Durations
 */
/*
 * Colors
 */
/*
 * Plant colors
 */
/*
 * Miscellaneous
 */
/*
 * Pages
 */
.search-steps-page .main-header {
  transform: translateY(-100%);
  display: none; }
.search-steps-page .main-footer {
  display: none; }
.search-steps-page .page-content {
  padding-top: 8rem;
  flex-grow: 0; }
.search-steps-page .error-message {
  text-align: center; }
  .search-steps-header {
  display: none;
  }
.search-steps-page .search-steps-header {
  display: none;
  width: 100%;
  height: 8rem;
  background: #37503C;
  position: fixed;
  z-index: 1999;
  color: #ffffff;
  padding-top: 1rem; }
  .search-steps-page .search-steps-header .header-section {
    display: flex;
    justify-content: space-between;
    align-items: center;
    max-width: 836px;
    margin: auto; }
  .search-steps-page .search-steps-header .title {
    display: flex;
    justify-content: flex-start;
    align-items: center; }
    .search-steps-page .search-steps-header .title .picto {
      width: 4.8rem;
      height: 4.8rem;
      margin-right: 1.6rem;
      color: #7BE1BC; }
    .search-steps-page .search-steps-header .title .rub {
      font-family: "Recoleta", sans-serif;
      font-size: 2.5rem;
      font-weight: 600;
      letter-spacing: -.05rem;
      display: block;
      margin: 0; }
    .search-steps-page .search-steps-header .title h1 {
      font-family: "Roboto", sans-serif;
      font-weight: 500;
      color: #ffffff;
      font-size: 1.8rem;
      white-space: nowrap;
      margin: 0;
      margin-top: -.3rem; }
  .search-steps-page .search-steps-header .close-search {
    display: block;
    color: #ffffff;
    text-decoration: none;
    margin-top: 1rem;
    margin-right: 1.6rem;
    font-size: 0; }
    @media (min-width: 1004px) {
      .search-steps-page .search-steps-header .close-search {
        font-size: 1.6rem;
        margin-right: 0; } }
    .search-steps-page .search-steps-header .close-search .picto {
      display: inline-block;
      vertical-align: middle;
      width: 2.4rem;
      height: 2.4rem;
      color: #ffffff; }
.search-steps-page .pagi-prec {
  text-decoration: none;
  width: 100%;
  text-decoration: none;
  color: #356EFF;
  display: flex;
  align-items: center;
  margin-bottom: 3.2rem;
  font-size: 1.6rem; }
  @media (min-width: 1004px) {
    .search-steps-page .pagi-prec {
      justify-content: center; } }
  .search-steps-page .pagi-prec .picto {
    display: inline-block;
    color: #356EFF;
    width: 2.4rem;
    height: 2.4rem;
    margin-right: .8rem;
    transform: scaleX(-1);
    transition: transform 0.3s cubic-bezier(0.455, 0.03, 0.515, 0.955); }
  .search-steps-page .pagi-prec:hover .picto {
    transform: scaleX(-1) translateX(1rem); }

.search-steps {
  z-index: 200; }
  .search-steps .form-step {
    position: relative;
    min-height: 52rem; }
    .search-steps .form-step .loader {
      position: absolute;
      z-index: 10;
      left: -10000px;
      top: 0;
      width: 100%;
      height: 100%;
      background: rgba(255, 255, 255, 0.88);
      backdrop-filter: blur(2px);
      transition: opacity 0.3s cubic-bezier(0.455, 0.03, 0.515, 0.955);
      opacity: 0;
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      padding: 2.4rem 1.6rem;
      box-sizing: border-box;
      overflow: hidden; }
      .search-steps .form-step .loader .title {
        font-family: "Recoleta", sans-serif;
        color: #37503C;
        font-size: 2.6rem;
        font-weight: 600;
        text-align: center;
        position: relative;
        z-index: 20; }
      .search-steps .form-step .loader .animated {
        background: #FFDE67;
        display: block;
        width: 20rem;
        max-width: 80%;
        height: 4.4rem;
        border-radius: 2.4rem;
        margin: 1.2rem auto 0;
        position: relative;
        z-index: 20;
        overflow: hidden; }
        .search-steps .form-step .loader .animated .bg-anim {
          content: '';
          position: absolute;
          left: 0;
          right: 0;
          bottom: 0;
          top: 0;
          background-color: #37503C;
          clip-path: polygon(0 0, 0 0, 0 100%, 0% 100%);
          -webkit-clip-path: polygon(0 0, 0 0, 0 100%, 0% 100%);
          transition: clip-path 4s cubic-bezier(0.455, 0.03, 0.515, 0.955), -webkit-clip-path 4s cubic-bezier(0.455, 0.03, 0.515, 0.955);
          display: flex;
          justify-content: center;
          align-items: center; }
        .search-steps .form-step .loader .animated .bg-anim svg {
          display: none; }
      .search-steps .form-step .loader.visible {
        left: 0;
        opacity: 1; }
        .search-steps .form-step .loader.visible .animated .bg-anim {
          -webkit-animation: loader-bg-anim 2s ease-out infinite;
          animation: loader-bg-anim 2s ease-out infinite; }
      .search-steps .form-step .loader .ajax-return {
        text-align: center;
        position: relative;
        z-index: 20; }
        .search-steps .form-step .loader .ajax-return p {
          margin-top: 3.2rem; }
  .search-steps .pagination {
    background: #ffffff;
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    padding: 1.7rem;
    margin-bottom: 4.8rem;
    min-height: 6.6rem; }
    .search-steps .pagination:before {
      content: '';
      position: absolute;
      z-index: -1;
      background: #ffffff;
      /*width: 100vw;*/
      height: 100%; }
    .search-steps .pagination .pagi-step {
      width: 3.2rem;
      height: 3.2rem;
      border-radius: 50%;
      display: flex;
      justify-content: center;
      align-items: center;
      opacity: .3;
      border: 0.3rem solid #44AB6F;
      background: #44AB6F;
      color: #ffffff;
      font-family: "Recoleta", sans-serif;
      font-size: 1.4rem;
      text-decoration: none;
      margin-right: .8rem;
      cursor: default; }
      .search-steps .pagination .pagi-step:last-child {
        margin-right: 0; }
      .search-steps .pagination .pagi-step.active {
        background: #ffffff;
        color: #44AB6F;
        opacity: 1; }
      .search-steps .pagination .pagi-step.past {
        background: #44AB6F;
        color: #ffffff;
        opacity: 1;
        cursor: pointer; }
  .search-steps .recap {
    color: #9EA6A1;
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.3s cubic-bezier(0.455, 0.03, 0.515, 0.955); }
    @media (min-width: 1004px) {
      .search-steps .recap {
        text-align: center; } }
    .search-steps .recap .recap-title {
      display: inline-block; }
      @media (max-width: 1003px) {
        .search-steps .recap .recap-title {
          display: block; } }
    .search-steps .recap .recap-filtres {
      display: inline-block; }
    .search-steps .recap .filtre {
      color: black;
      display: none;
      position: relative;
      padding-left: 2.4rem; }
      @media (min-width: 1004px) {
        .search-steps .recap .filtre {
          padding-left: 2.4rem;
          padding-right: 0; } }
      .search-steps .recap .filtre.visible {
        display: inline-block;
        vertical-align: middle;
        padding-right: .8rem;
        margin-top: -.3rem; }
      .search-steps .recap .filtre.color {
        width: 1.6rem;
        height: 1.6rem;
        border-radius: .4rem;
        padding: 0; }
        @media (min-width: 1004px) {
          .search-steps .recap .filtre.color {
            margin-left: .8rem;
            margin-right: 1.6rem; } }
        .search-steps .recap .filtre.color:before {
          display: none; }
      .search-steps .recap .filtre:nth-child(even):before {
        content: '';
        width: 2.4rem;
        height: 2.4rem;
        background: url(img/small-arrow-black-right.svg) no-repeat 100% 100%;
        position: absolute;
        left: 0;
        top: 50%;
        transform: translateY(-50%); }
      .search-steps .recap .filtre:nth-child(odd):not(.color) {
        padding-left: 0; }
        .search-steps .recap .filtre:nth-child(odd):not(.color):before {
          content: ':';
          display: inline-block;
          margin-right: .8rem; }
      .search-steps .recap .filtre:first-child {
        padding-left: 0; }
        @media (min-width: 1004px) {
          .search-steps .recap .filtre:first-child {
            padding-left: .8rem; } }
        .search-steps .recap .filtre:first-child:before {
          display: none !important; }
    .search-steps .recap.visible {
      display: block;
      max-height: 12rem;
      margin-bottom: 4rem; }
  .search-steps .step {
    position: relative;
    z-index: 1;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    opacity: 1;
    transition: opacity 0.3s cubic-bezier(0.455, 0.03, 0.515, 0.955), transform 0.3s cubic-bezier(0.455, 0.03, 0.515, 0.955); }
    .search-steps .step.init {
      transform: translateX(-50%) translateY(5rem);
      opacity: 0; }
    .search-steps .step.past {
      display: none; }
    .search-steps .step .results {
      text-align: center;
      max-height: 120rem;
      transition: max-height 0.6s cubic-bezier(0.455, 0.03, 0.515, 0.955), padding 0.6s cubic-bezier(0.455, 0.03, 0.515, 0.955);
      padding-bottom: 4rem; }
      .search-steps .step .results p {
        text-align: center; }
      .search-steps .step .results .found {
        font-family: "Recoleta", sans-serif;
        font-size: 2.1rem; }
      .search-steps .step .results .num {
        font-family: "Recoleta", sans-serif;
        font-size: 3.8rem;
        font-weight: 600;
        color: #37503C; }
      .search-steps .step .results.hidden {
        max-height: 0;
        overflow: hidden;
        padding-bottom: 0; }
  .search-steps .legend {
    display: block;
    width: 100%;
    margin: 0 0 3rem 0; }
    @media (min-width: 1004px) {
      .search-steps .legend {
        text-align: center; } }
    @media (max-width: 1003px) {
      .search-steps .legend.t2 {
        font-size: 2.5rem;
        color: #190800; } }
  .search-steps .form {
    display: block;
    width: 100%;
    max-width: 31.4rem;
    margin: auto; }
  .search-steps .actions {
    position: absolute;
    left: -10000px;
    top: -10000px; }
    .search-steps .actions.active {
      position: static; }
    @media (max-width: 1003px) {
      .search-steps .actions {
        pointer-events: none;
        padding: 1.6rem 0;
        background: linear-gradient(rgba(247, 241, 237, 0), #F7F1ED 10%, #f7f1ed); }
        .search-steps .actions > * {
          pointer-events: auto; }
        .search-steps .actions .btn.next {
          margin-top: 0; }
        .search-steps .actions.active {
          position: sticky !important;
          z-index: 600;
          left: 0 !important;
          top: auto !important;
          bottom: 0 !important; } }
  .search-steps .btn.next {
    width: 100%;
    margin-top: 4.8rem;
    opacity: 0;
    transform: translateY(100%);
    transition: transform 0.3s cubic-bezier(0.455, 0.03, 0.515, 0.955), opacity 0.6s cubic-bezier(0.455, 0.03, 0.515, 0.955), background 0.15s cubic-bezier(0.455, 0.03, 0.515, 0.955), color 0.3s cubic-bezier(0.455, 0.03, 0.515, 0.955);
    position: relative;
    left: -100000px; }
    .search-steps .btn.next.active {
      left: 0;
      opacity: 1;
      transform: none; }
  .search-steps .input-radio {
    width: 100%; }
  .search-steps .input-line {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    margin-bottom: .8rem; }
    @media (min-width: 1004px) {
      .search-steps .input-line {
        margin-left: 1.5rem;
        margin-right: 1.5rem;
        width: calc(100% - 3rem); } }
    .search-steps .input-line.color {
      width: 5.3rem;
      height: 5.3rem;
      display: inline-block;
      border-radius: 1.2rem;
      margin-left: 1.3rem;
      margin-right: 1rem;
      position: relative; }
      .search-steps .input-line.color label {
        opacity: 1;
        width: 5.3rem;
        height: 5.3rem;
        padding-left: 0;
        font-size: 0;
        position: relative; }
        .search-steps .input-line.color label:before {
          content: '';
          pointer-events: none;
          position: absolute;
          left: 0;
          top: 0;
          right: 0;
          bottom: 0;
          width: auto;
          height: auto;
          transform: none;
          background: transparent;
          border: 0.4rem solid #ffffff;
          border-radius: 1.2rem;
          opacity: 0;
          transition: opacity 0.15s cubic-bezier(0.455, 0.03, 0.515, 0.955); }
        .search-steps .input-line.color label:after {
          content: '';
          pointer-events: none;
          position: absolute;
          left: -.3rem;
          top: -.3rem;
          right: -.3rem;
          bottom: -.3rem;
          width: auto;
          height: auto;
          transform: none;
          background: transparent;
          border: 0.4rem solid #44AB6F;
          border-radius: 1.2rem;
          opacity: 0;
          transition: opacity 0.15s cubic-bezier(0.455, 0.03, 0.515, 0.955); }
      .search-steps .input-line.color:hover label:before, .search-steps .input-line.color:hover label:after {
        opacity: 1; }
      .search-steps .input-line.color input[type=radio]:checked + label:before, .search-steps .input-line.color input[type=radio]:checked + label:after {
        opacity: 1;
        background: transparent; }
    .search-steps .input-line:not(.color) input[type=radio] + label {
      height: auto;
      padding-top: 1.5rem;
      padding-bottom: 1.5rem;
      line-height: 1.2;
      padding-right: 1rem;
      margin-right: 0;
      position: relative;
      padding-left: 4.5rem;
      width: calc(100% - 4rem);
      background: rgba(2, 89, 82, 0.05);
      border-radius: 1.6rem; }
      .search-steps .input-line:not(.color) input[type=radio] + label:before {
        border: 0.2rem solid #37503C;
        left: 1.5rem; }
      .search-steps .input-line:not(.color) input[type=radio] + label:after {
        width: 1.4rem;
        height: 1.4rem;
        border-radius: 50%;
        background: #ffffff;
        border: 0.2rem solid #37503C;
        left: 1.8rem; }
    .search-steps .input-line:not(.color) input[type=radio]:checked + label {
      background: #37503C;
      color: #ffffff; }
      .search-steps .input-line:not(.color) input[type=radio]:checked + label:before {
        background: #ffffff;
        border-color: #ffffff; }
    .search-steps .input-line:not(.color) input[type=radio]:not(:checked) + label:hover {
      background: rgba(0, 179, 136, 0.1); }
    .search-steps .input-line:not(.color) .input-number {
      color: #ffffff;
      height: 4.8rem;
      line-height: 4.8rem;
      margin-right: 0;
      position: relative;
      padding-left: .8rem;
      padding-right: 1.6rem;
      width: calc(100% - 4rem);
      background: #37503C;
      border-radius: 1.6rem;
      /*&:before{
      	z-index: 10;
      	content: '\25B2';
      	position: absolute;
      	pointer-events: none;
      	//background: $radioBgChecked;
      	color: $white;
      	//border-radius: 1.6rem;
      	//right: 0;
      	//top: 0;
      	//height: 100%;
      	//width: 3.3rem;
      	right: 5px;
      	width: 1.6em;
      	height: .9em;
      	font-size: 10px;
      	margin-top: 1px
      }
      &:after{
      	z-index: 11;
      	content: '\25BC';
      	position: absolute;
      	pointer-events: none;
      	color: $white;
      	right: 5px;
      	width: 1.6em;
      	height: .9em;
      	font-size: 10px;
      	margin-bottom: 5px;
      	bottom: -.5em;
      }
      */ }
      .search-steps .input-line:not(.color) .input-number input[type=number] {
        border: 0;
        color: #ffffff;
        height: 4.8rem;
        line-height: 4.8rem;
        position: relative;
        width: 100%; }
      .search-steps .input-line:not(.color) .input-number label {
        position: absolute;
        pointer-events: none;
        right: 5rem;
        color: #ffffff;
        top: 50%;
        transform: translateY(-50%); }

@-webkit-keyframes loader-bg-anim {
  /* Safari, Opera, Chrome */
  0% {
    clip-path: polygon(0 0, 0 0, 0 100%, 0% 100%);
    -webkit-clip-path: polygon(0 0, 0 0, 0 100%, 0% 100%); }
  100% {
    clip-path: polygon(0 0, 100% 0, 100% 100%, 0% 100%);
    -webkit-clip-path: polygon(0 0, 100% 0, 100% 100%, 0% 100%); } }
@keyframes loader-bg-anim {
  /* Tous les autres navigateurs */
  0% {
    clip-path: polygon(0 0, 0 0, 0 100%, 0% 100%);
    -webkit-clip-path: polygon(0 0, 0 0, 0 100%, 0% 100%); }
  100% {
    clip-path: polygon(0 0, 100% 0, 100% 100%, 0% 100%);
    -webkit-clip-path: polygon(0 0, 100% 0, 100% 100%, 0% 100%); } }
.safari.search-steps-page .search-steps-header .close-search .picto {
  transform: translateY(-0.2rem); }
