/* Import fonts from npm package Handcook
/ ================================================== */
/*
  * Created by IRIS Interactive
  * User : IRIS Interactive
*/
/* Layout
/ ================================================== */
/* Header
/ ================================================== */
/* Gutter
/ ================================================== */
/* Margin
/ ================================================== */
/* Margin
/ ================================================== */
/* Breakpoint
/ ================================================== */
/* Global
/ ================================================== */
/* Global SIT
/ ================================================== */
/* Notifications
/ ================================================== */
/* Difficulty
/ ================================================== */
/*!
 * IRIS Interactive
 *
 * NOTICE OF LICENSE
 *
 * This source file is no subject to a specific license
 * but it belongs to the company IRIS Interactive.
 * You can contact IRIS Interactive at the following
 * address: contact@iris-interactive.fr
 *
 * @author      Lucas ROCHE
 * @date        28/01/2022 07:41
 * @copyright   Copyright (c) 2002-2022 IRIS Interactive, Inc. (http://www.iris-interactive.fr)
 */
/* Font icon
/* ============================================= */
/* Font size
/* ============================================= */
/* Text icon
/* ============================================= */
/*
  * Created by IRIS Interactive
  * User : IRIS Interactive
*/
/* Main gutter
/ ================================================== */
/* Breakpoints
/* ============================================= */
/* display flex
/* ============================================= */
/* Hover
/* ============================================= */
/* Touch
/* ============================================= */
/* Clear
/* ============================================= */
/*
  * Created by IRIS Interactive
  * User : IRIS Interactive
*/
/* Transition
/* ============================================= */
/* Animate
/* ============================================= */
/* Ellipsis
/* ============================================= */
/*  Adaptive height block
/* ============================================= */
/* Line clamp
/* ============================================= */
/* Object fit
/* ============================================= */
/* Linear Gradient
/* ============================================= */
/* fit-content
/* ============================================= */
/* stretched-link
/* ============================================= */
/* sr-only
/* ============================================= */
/* Button
/* ============================================= */
/*
  * Created by IRIS Interactive
  * User : IRIS Interactive
*/
/* Utils classes
/* ============================================= */
.stretched-link:before {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1;
  content: "";
  background-color: transparent;
}

/* ============================================= */
.list-flex {
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 0;
}
.list-flex > * {
  list-style-type: none;
  margin: 0 5px 10px 0;
}
.list-flex > *:last-child {
  margin-right: 0;
}

/* Animations
/* ============================================= */
@keyframes loader {
  100% {
    transform: rotate(360deg);
  }
}
@keyframes fade {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
/* Sr-only
/* ============================================= */
.sr-only {
  clip: rect(0, 0, 0, 0);
  border-width: 0;
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  white-space: nowrap;
  width: 1px;
}

/* Text with icon before
/* ============================================= */
.text-icon {
  display: inline-flex;
  align-items: center;
  gap: 5px;
}
.text-icon--start {
  align-items: flex-start;
}

/* Block with img animated on hover
/* ============================================= */
.hover-item img {
  transition: 0.2s ease;
  will-change: transform;
}
.hover-item:hover img {
  transform: scale(1.02);
}

/* Opening
/* ============================================= */
.is-open {
  color: #009e55;
}

.soon-close {
  color: #ff890e;
}

.is-close {
  color: #f33;
}

/* Font
/* ============================================= */
.fi--color:before,
.fi-color:after {
  color: var(--iris--icon--color);
}

/* Sizes
/* ============================================= */
.font-size-xsmall {
  font-size: var(--iris--global--font-size-xsmall--rem);
}

.font-size-small {
  font-size: var(--iris--global--font-size-small--rem);
}

.font-size-regular {
  font-size: var(--iris--global--font-size-regular--rem);
}
@media screen and (max-width: 650px) {
  .font-size-regular {
    font-size: var(--iris--global--font-size-regular--small--rem);
  }
}

.font-size-large {
  font-size: var(--iris--global--font-size-large--rem);
}
@media screen and (max-width: 650px) {
  .font-size-large {
    font-size: var(--iris--global--font-size-large--small--rem);
  }
}

.font-size-xlarge {
  font-size: var(--iris--global--font-size-extra-large--rem);
}
@media screen and (max-width: 650px) {
  .font-size-xlarge {
    font-size: var(--iris--global--font-size-extra-large--small--rem);
  }
}

/* Flex alignment
/* ============================================= */
.align-items--end, .align-items--bottom {
  align-items: flex-end;
}
.align-items--start, .align-items--top {
  align-items: flex-start;
}
.align-items--center {
  align-items: center;
}

/* Actions
 * ========================================= */
.travel-book__actions__metas {
  display: flex;
  justify-content: center;
  margin-bottom: 60px;
}
.travel-book__actions__metas__item {
  margin-right: 20px;
}
.travel-book__actions__metas__item, .travel-book__actions__metas__item:before,
.travel-book__actions__metas__item > span {
  transition: color 0.3s ease 0s !important;
}
.travel-book__actions__metas__item:last-child {
  margin-right: 0;
}
.travel-book__actions__metas__item.fi--file-download.in-progress:before {
  animation: rotating 2s linear infinite;
  content: var(--font-icon--refresh);
  font-family: "collection-font";
  font-style: initial;
  text-transform: none;
  font-weight: 400;
  font-display: swap;
}

.template-travel-book .iris-bottom-bar .travel-book__bottom-bar-actions__list {
  display: none;
}
.template-travel-book .iris-bottom-bar .travel-book__bottom-bar-actions__export.in-progress:before {
  margin-right: 5px;
  animation: rotating 2s linear infinite;
  content: var(--font-icon--refresh);
  font-family: "collection-font";
  font-style: initial;
  text-transform: none;
  font-weight: 400;
  font-display: swap;
}
.template-travel-book.travel-book-map-open .travel-book__bottom-bar-actions__map {
  display: none;
}
.template-travel-book.travel-book-map-open .travel-book__bottom-bar-actions__list {
  display: flex;
}
@media screen and (max-width: 1000px) {
  .template-travel-book.travel-book-map-open.has-customer-bottom-bar .iris-bottom-bar {
    transform: translateY(var(--iris--customer-bottom-bar--height, 60px)) !important;
  }
}

.iris-travel-bookNotice {
  position: fixed;
  top: 10px;
  left: 50%;
  transform: translateX(-50%);
  padding: 10px 35px 10px 15px;
  background-color: #dedede;
  max-width: 500px;
  margin: 0 auto;
  z-index: 999999;
}
.iris-travel-bookNoticeClose {
  position: absolute;
  right: 10px;
  top: 50%;
  background: transparent;
  padding: 0;
  border: 0;
  font-size: 0.75pxrem;
  color: #fff;
  transform: translateY(-50%);
  cursor: pointer;
}
.iris-travel-bookNoticeClose span {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  border: 0;
}
.iris-travel-bookNotice--success {
  background-color: #009e55;
  color: #fff;
}
.iris-travel-bookNotice--error {
  background-color: #f33;
  color: #fff;
}

/* Button
 * ========================================= */
.iris-travel-book__button-add {
  cursor: pointer;
  z-index: 2;
  position: relative;
}
.iris-card .iris-travel-book__button-add {
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.375rem;
  transition: transform 0.3s ease;
}
body.iris-hover .iris-card .iris-travel-book__button-add:hover {
  transform: scale(1.1);
}
.iris-card .iris-travel-book__button-add i.fi {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
}
.iris-card__media__position--top-right .iris-travel-book__button-add {
  margin-top: calc(-1 * var(--iris--card--widget--media--shift));
  margin-right: calc(-1 * var(--iris--card--widget--media--shift));
  padding: var(--iris--card--widget--media--shift);
}
.iris-travel-book__button-add > * {
  pointer-events: none;
}
.iris-card:not(.iris-card-agenda) .iris-travel-book__button-add i.fi:before {
  text-shadow: 0 0 5px rgba(0, 0, 0, 0.5);
}
.iris-card:not(.iris-card-agenda) .iris-travel-book__button-add i.fi--favorite:after {
  content: var(--font-icon--favorite-full);
  font-family: "collection-font";
  font-style: initial;
  text-transform: none;
  font-weight: 400;
  font-display: swap;
  position: absolute;
  left: 0;
  top: 50%;
  z-index: -1;
  right: 0;
  margin: auto;
  color: rgba(0, 0, 0, 0.3);
  transform: translateY(-50%);
}

.travel-book__layout__map__bottombar {
  position: absolute;
  width: calc(100% - 20px);
  z-index: 4;
  height: auto;
  left: 10px;
  right: 10px;
  bottom: calc(var(--iris--bottom-bar--min-height, 80px) + 10px);
}
.travel-book__layout__map__close {
  position: absolute;
  font-size: 1rem !important;
  padding: 10px !important;
  pointer-events: auto;
  top: 20px;
  right: 20px;
  z-index: 205;
}
@media screen and (min-width: 1000.1px) {
  .travel-book__layout__map__close {
    display: none;
  }
}
.travel-book__layout__map__close:after {
  margin: 0 !important;
}
@media screen and (max-width: 1000px) {
  .travel-book__layout__map .maplibregl-ctrl-attrib {
    margin-bottom: 80px !important;
  }
  .travel-book__layout__map .maplibregl-ctrl-basemaps {
    margin-bottom: 100px !important;
  }
}

/* Cross Selling
 * ========================================= */
.travel-book__cross-selling {
  margin-top: var(--iris--global--block-margin-highest, 60px);
  overflow: hidden;
}
@media screen and (max-width: 650px) {
  .travel-book__cross-selling {
    margin-top: var(--iris--global--block-margin-highest--small, 30px);
  }
}

.iris-travel-bookSendform {
  display: flex;
  align-items: flex-end;
}
@media screen and (max-width: 650px) {
  .iris-travel-bookSendform {
    flex-direction: column;
    align-items: flex-start;
    gap: 20px;
  }
}
.iris-travel-bookSendform > .form__group--email {
  margin-bottom: 0 !important;
}
.iris-travel-bookSendform > button {
  max-height: var(--iris--form-field--height);
}

/* Layout
 * ========================================= */
.travel-book__layout {
  position: relative;
}
@media screen and (min-width: 1000.1px) {
  .travel-book__list.alignfull .travel-book__layout {
    display: grid;
    grid-template-columns: 60% 1fr;
    gap: 40px;
  }
}
@media screen and (min-width: 1000.1px) and (max-width: 1452.380952381px) {
  .travel-book__list.alignfull .travel-book__layout {
    gap: 20px;
  }
}
.travel-book__list.alignfull .travel-book__layout__list {
  padding-left: 40px;
}
@media screen and (max-width: 1452.380952381px) {
  .travel-book__list.alignfull .travel-book__layout__list {
    padding-left: 20px;
  }
}
@media screen and (max-width: 1000px) {
  .travel-book__list.alignfull .travel-book__layout__list {
    padding: 0 40px;
  }
}
@media screen and (max-width: 650px) {
  .travel-book__list.alignfull .travel-book__layout__list {
    padding: 0 20px;
  }
}
@media screen and (min-width: 1000.1px) {
  .travel-book__layout__map {
    margin-right: 40px;
  }
}
@media screen and (min-width: 1000.1px) and (max-width: 1452.380952381px) {
  .travel-book__layout__map {
    margin-right: 20px;
  }
}
@media screen and (max-width: 1000px) {
  .travel-book__layout__map {
    left: -100%;
    top: 0;
    width: 100%;
    height: 100%;
    position: fixed;
    transition: 0.2s ease;
  }
  .travel-book-map-open .travel-book__layout__map {
    left: 0;
    z-index: 200;
  }
}
.travel-book__layout__map [data-iris-map] {
  background-color: #f1f1f1;
}
@media screen and (min-width: 1000.1px) {
  .travel-book__layout__map [data-iris-map] {
    position: sticky;
    top: 40px;
    height: calc(100vh - 80px);
    height: calc(100dvh - 80px);
  }
}
@media screen and (min-width: 1000.1px) and (max-width: 1452.380952381px) {
  .travel-book__layout__map [data-iris-map] {
    top: 20px;
    height: calc(100vh - 40px);
    height: calc(100dvh - 40px);
  }
}
@media screen and (max-width: 1000px) {
  .travel-book__layout__map [data-iris-map] {
    height: 100%;
  }
}
@media screen and (max-width: 650px) {
  .travel-book__layout .travel-book-infobox-mobile {
    padding: 10px;
    border-radius: var(--iris--global--border-radius);
    background-color: #fff;
  }
  .travel-book__layout .travel-book-infobox-mobile .iris-card {
    display: flex !important;
    align-items: center;
    gap: 15px;
  }
  .travel-book__layout .travel-book-infobox-mobile .iris-card__media {
    width: 30%;
    border-radius: var(--iris--global--border-radius);
  }
  .travel-book__layout .travel-book-infobox-mobile .iris-card__media img {
    border-radius: var(--iris--global--border-radius);
  }
  .travel-book__layout .travel-book-infobox-mobile .iris-card__content {
    padding: 0 !important;
    width: 70%;
  }
  .travel-book__layout .travel-book-infobox-mobile .iris-card__content__title {
    display: -webkit-box;
    line-clamp: 1;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }
  .travel-book__layout .maplibregl-popup-content {
    opacity: 0 !important;
    background-color: transparent !important;
  }
}

.travel-book__row {
  margin-bottom: 40px;
}

.travel-book__row__title {
  margin-bottom: 30px;
}

.travel-book__modes {
  display: none;
}

@media screen and (max-width: 1000px) {
  .has-iris-scroll-reveal .travel-book__wrapper {
    animation: none !important;
    transform: none !important;
    transition: opacity var(--hc-scroll-reveal-duration) var(--hc-scroll-reveal-timing-function) var(--hc-scroll-reveal-delay);
  }
  .has-iris-scroll-reveal .travel-book__wrapper.hc-sr--show {
    opacity: 1 !important;
  }
}
