
/* XXX: remove in prod */
/*.remodal-overlay, .remodal-wrapper {*/
/*display: none !important;*/
/*}*/

* {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;

    /* Blocks input fields on Safari */
    /*user-select: none; !* supported by Chrome and Opera *!*/
    /*-webkit-user-select: none; !* Safari *!*/
    /*-khtml-user-select: none; !* Konqueror HTML *!*/
    /*-moz-user-select: none; !* Firefox *!*/
    /*-ms-user-select: none; !* Internet Explorer/Edge *!*/
}

/* Hiding scrollbars */
::-webkit-scrollbar {
    display: none;
}
* {
    -ms-overflow-style: none;  /* Internet Explorer 10+ */
    scrollbar-width: none;  /* Firefox */
}

a, a:hover, a:link, a:focus, a:visited {
    outline: 0;
    text-decoration: none;
    word-wrap: break-word;
    color: black; /* default now */
}
a.black, a.black:hover, a.black:link, a.black:focus, a.black:visited {
    color: black;
}
.white {
    color: white;
}

.ajax-link.linked, .direct-link, .menu-button {
    cursor: pointer;
}

.hidden {
    display: none !important;
}

.link {
    cursor: pointer;
}
.link.danger-link:not(.disabled):not([disabled]) {
    background: #ff4c4d;
}
.link[disabled], .link.disabled {
    background: gray;
    cursor: default;
}

.pointer {
    cursor: pointer;
}

input:disabled {
    opacity: 1; /* iOS spec ---- WHERE IS RESET.CSS ??????? ?? ?? ? ? ?*/
}

/*a.link, a.link:hover, a.link:link, a.link:focus, a.link:visited {*/
/*color: inherit;*/
/*}*/

.underline {
    text-decoration: underline !important;
}

.unselectable {
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}

.start-collapsed {
    display: none;
}

.always-in-front {
    z-index: 100000000 !important;
}

/* Fonts */
* {
    font-family: "WorkSans-Regular", serif;
    font-size: 16px;
    line-height: normal;
}
.title-big {
    font-family: "SpaceGrotesk-Bold", serif;
    font-size: 25px;
}
.title-small {
    font-family: "SpaceGrotesk-Bold", serif;
    font-size: 20px;
}

/* Forms */

/*input[type="text"], input[type="date"], input[type="time"], select {*/
/*    background: transparent;*/
/*    border: 1px solid rgba(175, 175, 175, 0.95);*/
/*    -webkit-border-radius: 1px;*/
/*    border-radius: 1px;*/
/*    -webkit-box-shadow: inset 2px 2px 0px -1px rgba(0,0,0,0.15);*/
/*    box-shadow: inset 2px 2px 0px -1px rgba(0,0,0,0.15);*/
/*    padding: 2px 5px;*/
/*    color: black;*/
/*    font-weight: normal;*/
/*    !*font-size: 15px;*!*/
/*    font-family: Roboto, Arial, serif;*/
/*}*/

.form-error > div {
    color: red;
    font-weight: normal;
    /*font-size: 10px;*/
    font-family: Roboto, Arial, serif;
    margin: 10px 0 -5px 0;
    text-align: center;
}

input[type=date]::-webkit-inner-spin-button,
input[type=date]::-webkit-calendar-picker-indicator,
input[type=time]::-webkit-inner-spin-button,
input[type=time]::-webkit-calendar-picker-indicator {
    -webkit-appearance: none;
    display: none;
}


/*header {*/
/*height: 10vh;*/
/*}*/
/*.content {*/
/*height: 75vh;*/
/*}*/
/*.no-header .content {*/
/*height: 85vh;*/
/*}*/
/*footer {*/
/*height: 15vh;*/
/*}*/
body { /* to avoid bugs with flexbox... */
    height: 100vh;
    overflow: hidden;
}
#container { /* ... the web is going great :/ */
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    -webkit-flex-direction: column;
    flex-direction: column;
    height: 100vh;
    overflow: hidden;
    position: absolute;
    width: 100%;
}
.content {
    -webkit-box-flex: 1;
    -ms-flex: 1 1;
    -webkit-flex: 1 1;
    flex: 1 1;
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    position: relative;
}

/*.loading-area {*/
/*position: absolute;*/
/*left: 50%;*/
/*top: 50%;*/
/*transform: translate(-50%,-50%);*/
/*}*/
/* LOADER */
.loading-area {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.5);
    z-index: 50000;
    display: none;
}

.loading-area .loader {
    position: fixed;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
    width: 80%;
    height: auto;
    opacity: 0.9;
    z-index: 1;
}

.loading-area .loader_dots {
    position: fixed;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
    width: 50%;
    height: auto;
    opacity: 0.9;
    z-index: -1;
}

.loading-area .loader_thin {
    position: fixed;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
    width: 50%;
    max-width: 300px;
    height: auto;
    opacity: 0.9;
    z-index: -1;
}

.loading-area .loader_hourglass {
    position: fixed;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
    width: 50%;
    height: auto;
    opacity: 1;
    z-index: -1;
}

.loading-area .loader_magnify {
    position: fixed;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
    width: 50%;
    height: auto;
    opacity: 0.9;
    z-index: -1;
}


header {
    height: 8vh;
    flex: 0 0 8vh;
    display: flex;
    justify-content: space-between;
    box-shadow: 0 0 6px #00000029;
    position: relative;
    align-items: center;
    z-index: 1;
}
header .myvizito-logo { /* ... to vertically center that one */
    height: 80%;
    margin-left: 1vh;
}
header .user-menu {
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
}
header .user-menu img {
    margin: 0 19px -1px 19px;
}
header .user-menu img,
header .user-menu svg {
    height: 3vh;
}
header .offline-button {
    padding: 0.5vh 2vw;
    margin-right: 4vw;
    display: none;
}
body[data-mode="web"] header .offline-button {
    display: none !important;
}
header .offline-button .tgl-flat + .tgl-btn {
    vertical-align: sub;
    margin-left: 3px;
}
body.has-ios-statusbar header .myvizito-logo {
}
/*body.has-ios-statusbar header {*/
/*    -webkit-box-flex: 0;*/
/*    -ms-flex: 0 0 calc(6vh + 20px);*/
/*    -webkit-flex: 0 0 -webkit-calc(6vh + 20px);*/
/*    flex: 0 0 calc(6vh + 20px);*/
/*    padding-top: 20px;*/
/*}*/

#content {
    width: 100%;
    display: flex; /* Safari cannot apply height:100% to a flex child. So use only flex (fix #4 from http://stackoverflow.com/questions/33636796/chrome-safari-not-filling-100-height-of-flex-parent) */
}
#content > div:not(.cachwir-modal-overlay) {
    /* height: 100%; */ /* not needed since (fix #4) */
    width: 100%; /* but now thats needed! because of fix #4 */
}

/* GLOBAL 3.0 */

.filter-button * {
    pointer-events: none;
}
#content > .services,
#content > .explore {
    display: flex;
    flex-direction: column;
}
.content-body {
    display: flex;
    flex-direction: column;
    flex-grow: 1;
    padding: 16px 12px;
}
.content-body-row {
    display: flex;
    justify-content: space-between;
}
.content-body-row .filter-button {
    position: relative;
    width: 40px;
    height: 40px;
    margin-top: -4px;
    display: flex;
    flex-direction: row-reverse;
    justify-content: center;
    align-items: center;
}
.content-body-row .filter-button img,
.content-body-row .filter-button svg {
    width: 25px;
    color: black;
}
.content-body-row .filter-button:not([data-filtering="true"]) span {
    display: none;
}
.content-body-row .filter-button span {
    position: absolute;
    top: 2px;
    right: 2px;
    border-radius: 100%;
    width: 16px;
    height: 16px;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 11px;
    color: black;
}
.page-title {
    position: relative;
    font-family: SpaceGrotesk-Bold, serif;
    font-size: 20px;
    margin-bottom: 10px;
}
.page-title:before {
    content: "";
    position: absolute;
    left: 0;
    top: 11px;
    width: 80px;
    height: 20px;
    z-index: -1;
}

.empty-list {
    margin: 20px 5px;
    border: 1px solid #F4F0EF;
    border-radius: 12px;
    padding: 20px 10px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
}
.empty-list-title {
    max-width: 240px;
    text-align: center;
    font-family: SpaceGrotesk-Bold, serif;
}
.empty-list-text {
    text-align: center;
}

/* ENTITIES LISTS (New in 3.0) */

.entities-list-menu {
    max-width: 100vw;
}
.entities-list-menu:not(.categories-menu) {
    overflow-x: auto;
    white-space: nowrap;
    display: flex;
    flex-direction: row;
    gap: 26px;
    margin-left: -12px;
    padding: 0 24px;
    width: calc(100% + 24px);
}
.entities-list-menu.on-top {
    box-shadow: 0px 4px 6px #00000029;
}
.entities-list-menu.on-bottom {
    box-shadow: 0px -4px 6px #00000029;
}
.entities-list-menu.no-shadow {
    box-shadow: unset;
}
.entities-list-menu .item {
    position: relative;
    height: 100%;
    padding: 16px 0;
}
.entities-list-menu .item[data-selected="true"] {
    font-family: "WorkSans-Medium", serif;
}
.entities-list-menu .item[data-selected="true"]:after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 4px;
    border-radius: 10px;
}

.entities {
    display: flex;
    flex-direction: column;
    align-items: center;
}
.entities .entities-count {
    text-align: center;
    margin: 25px;
}
.entities .entities-count * {
    font-family: WorkSans-Light, serif;
}
.entities .entities-list {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-content: center;
    gap: 20px;
    align-items: flex-start;
    justify-content: center;
    max-width: 1500px;
    width: 100%;
}
.entities .entity {
    position: relative;
    max-width: 100%;
    overflow: hidden;
    border-radius: 12px;
    transition: border-color 0.5s ease;
}
.entities .like-button {
    position: absolute;
    right: 11px;
    top: 10px;
    width: 34px;
    height: 34px;
    z-index: 2;
}
.entities .entity.tour .like-button {
    background-color: rgba(0, 0, 0, 0.2);
    border-radius: 100%;
    -webkit-box-shadow: 0px 0px 15px 3px rgba(0, 0, 0, 0.2);
    box-shadow: 0px 0px 15px 3px rgba(0, 0, 0, 0.2);
}
.entities .like-button * {
    pointer-events: none;
}
.entities .like-button .heart-container {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}
.entities .like-button .heart {
    position: absolute;
    top: 0;
    bottom: 1px;
    left: 0;
    right: 1px;
    margin: auto;
    width: 17.5px;
    height: 17.5px;
    display: none;
}
.entities .entity.liked .like-button .heart {
    display: block;
    animation: fadeInHeart ease 0.5s;
    animation-iteration-count: 1;
    animation-fill-mode: forwards;
}
.entities .entity-image {
    border-radius: 12px;
}
.entities .entity-image img {
    width: 100%;
    height: 100%;
}
.entities .entity-info {
    padding-right: 4px;
    padding-bottom: 7px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    flex-grow: 1;
}
.entities .entity-add {
    position: absolute;
    bottom: 0;
    right: 0;
    border-top: 1px solid #E8E8E8;
    border-left: 1px solid #E8E8E8;
    border-top-left-radius: 12px;
    padding: 7px 18px;
    transition: background-color 0.5s ease, border-color 0.5s ease;
    background: rgba(255, 255, 255, 0.9);
}
.entity-attributes {
    display: flex;
    gap: 4px;
    margin: 9px 0 4px 0;
    width: calc(100% - 40px);
    overflow: hidden;
}
.entity-attributes span {
    padding: 2px 6px;
    white-space: nowrap;
    font-size: 14px;
}
.entities .entity.activity .entity-title {
    width: calc(100% - 33px);
}
.entities .entity-title,
.entities .entity-title .entity-title-text {
    font-family: WorkSans-SemiBold, serif;
    font-size: 16px;
    max-height: 39px;
    overflow: hidden;
    flex-shrink: 100;
}
.entities .entity-title .entity-title-text {
    white-space: normal; /* Allow line breaks */
    overflow-wrap: break-word; /* Break long words if necessary */
    word-wrap: break-word; /* Fallback for older browsers */
}
.entities .entity.itinerary .entity-title {
    width: calc(100% - 30px);
}
.entities .entity-date {
    white-space: nowrap;
    overflow: hidden;
}

.entities .entity.tour {
    aspect-ratio: 3.9 / 3;
}
.entities .entity.tour .entity-image {
    width: 100%;
    aspect-ratio: 5 / 3;
}

.entities .entity.activity {
    display: flex;
    gap: 14px;
    height: 127px;
    border: 1px solid #E8E8E8;
    aspect-ratio: 343 / 127;
}
.entities .entity.activity .like-button,
.entities .entity.itinerary .like-button {
    width: 22px;
    height: 22px;
}
.entities .entity.activity .like-button *,
.entities .entity.itinerary .like-button * {
    position: absolute;
    top: 0;
    left: 0;
}
.entities .entity.activity .like-button .heart-empty,
.entities .entity.itinerary .like-button .heart-empty {
    margin-left: -50%;
    margin-top: -50%;
    width: 200%;
    height: 200%;
}
.entities .entity.activity .like-button .heart,
.entities .entity.itinerary .like-button .heart {
    width: 103%;
    height: 103%;
    margin: auto;
}
.entities .entity.activity .entity-image {
    aspect-ratio: 116 / 127;
    height: 100%;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    background-clip: content-box;
}
.entities .entity.activity .entity-location {
    margin-top: 4px;
    margin-bottom: 3px;
    display: flex;
    gap: 4px;
}
.entities .entity.activity .entity-location a {
    font-size: 14px;
    white-space: normal;
    overflow-wrap: break-word;
    word-wrap: break-word;
}
.entities .entity.activity .entity-date span {
    font-size: 13px;
}
.entities .entity.activity .entity-location img,
.entities .entity.activity .entity-location svg,
.entities .entity.activity .entity-date img,
.entities .entity.activity .entity-date svg {
    color: #7F7F7F;
    height: 14px;
    margin-bottom: -1px;
}
.entities .entity .entity-duration {
    display: flex;
    align-items: flex-start;
    gap: 4px;
}
.entities .entity .entity-duration img[data-transport="6"] {
    width: 25px;
    margin-top: -4px;
}
.entities .entity .entity-duration img[data-transport="3"] {
    align-self: normal;
    margin-top: -1px;
}


@keyframes fadeInHeart {
    0% {
        opacity: 0;
        transform: scale(1);
    }
    66% {
        transform: scale(1.25);
        opacity: 1;
    }
    100% {
        transform: scale(1);
    }
}

.entities .entity.itinerary {
    border-radius: 10px;
    box-shadow: 0 0 8px #0000001F;
    padding: 12px 12px 8px 12px;
    width: 100%;
}
.entities .entity.itinerary .entity-title {
    font-size: 17px;
    position: relative;
}
.entities .entity.itinerary .entity-title .entity-title-left {
    width: 100%;
    display: flex;
    align-items: center;
    gap: 8px;
}
.entities .entity.itinerary .entity-rename {
    position: absolute;
    right: 0;
    top: 0;
    display: flex;
    justify-content: flex-end;
}
.entities .entity.itinerary .entity-title .entity-title-text {
    font-size: 17px;
}
.entity-rename-button {
    display: flex;
}
.entity-rename-button img,
.entity-rename-button svg {
    width: 26px;
    height: 26px;
    pointer-events: none;
}
.entity-title .entity-title-rename-form {
    padding: 0;
    margin-top: 2px;
    gap: 0;
    height: 30px;
    align-items: stretch;
    display: flex;
    width: 100%;
}
.entity-title .entity-title-rename-form .entity-title-renamer {
    border: none;
    width: 100%;
}
.entity-title .entity-title-rename-form img,
.entity-title .entity-title-rename-form svg {
    width: 12px;
    height: 12px;
    pointer-events: none;
}
.entities .entity.itinerary .entity-info {
    padding: 0;
    gap: 4px;
    position: relative;
}
.entities .entity.itinerary .entity-attributes {
    margin-top: 8px;
}
.entities .entity.itinerary .entity-bottom {
    display: flex;
    flex-direction: row;
    gap: 12px;
}


/* MAP 3.0 */

.map-container {
    flex-grow: 1;
    display: flex;
    position: relative;
}
.content-body-row + .map-container {
    margin-top: 6px;
}
.map-container .map {
    flex-grow: 1;
}

.info-window-title {
    font-size: 14px;
    overflow: hidden;
    margin-top: -3px;
    max-height: 32px;
    text-align: center;
}
.info-window-body {
    font-family: Roboto, Arial, serif;
    font-size: 13px;
}
.info-window-body * {
    text-align: center;
}

.map-buttons-container {
    position: absolute;
    z-index: 1;
    display: flex;
    flex-direction: column;
    top: 10px;
    gap: 10px;
}
.map-buttons-container.left-buttons {
    left: 10px;
}
.map-buttons-container.right-buttons {
    right: 10px;
}
.map-buttons-container.bottom-buttons {
    bottom: 10px;
    right: 10px;
    top: auto;
}
.map-button {
    width: 56px;
    height: 56px;
    background: white;
    border: 1px solid black;
    border-radius: 16px;
    display: flex;
    justify-content: center;
    align-items: center;
}
.map-button img.back,
.map-button svg.back {
    width: 25px;
    height: 20px;
}
.map-button img.menu,
.map-button svg.menu {
    width: 18px;
    height: 24px;
}
.map-button img.recenter,
.map-button svg.recenter,
.map-button img.options,
.map-button svg.options {
    width: 29px;
    height: 29px;
}
.map-button img.fullscreen,
.map-button svg.fullscreen {
    width: 21px;
    height: 21px;
}
.map-button.open-transport-selector {
    width: auto;
    height: 39px;
    padding: 0 9px;
    border-radius: 20px;
    gap: 6px;
    transition: width 500ms ease-in-out;
    position: absolute;
    bottom: 0;
    right: 0;
    align-items: stretch;
    z-index: 1;
}
.map-button.open-transport-selector > * {
    flex-shrink: 0;
    display: flex  ;
    align-items: center;
}
.map-button.open-transport-selector .transport-image {
    display: none;
}
.map-button.open-transport-selector[data-transport="WALKING"] .transport-image {
    width: 9px;
    display: block;
}
.map-button.open-transport-selector[data-transport="BICYCLING"] .transport-image {
    width: 25px;
    display: block;
}
.map-button.open-transport-selector[data-transport="DRIVING"] .transport-image {
    width: 18px;
    display: block;
}
.map-button.open-transport-selector[data-transport="TRANSIT"] .transport-image {
    width: 16px;
    display: block;
}
.map-button.transport-selector {
    display: none;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    height: auto;
    background: white;
    width: auto;
    position: absolute;
    bottom: 0;
    right: 0;
    z-index: 2;
}
.map-button.transport-selector.opened {
    display: flex;
}
.map-button.transport-selector .selectable-transport {
    width: auto;
    height: 39px;
    padding: 0 9px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
}
.map-button.transport-selector .selectable-transport:not(:first-child) {
    border-top: 1px solid #F5F5F6;
}
.map-button.transport-selector .selectable-transport:not(.selected) .duration,
.map-button.transport-selector .selectable-transport:not(.selected) .check-mark {
    display: none;
}
.map-button.open-transport-selector .check-mark,
.map-button.transport-selector .check-mark {
    border-radius: 100%;
    width: 20px;
    height: 20px;
    display: flex;
    justify-content: center;
    align-items: center;
}
.map-button.transport-selector .selectable-transport * {
    pointer-events: none;
}
.map-button.transport-selector .selectable-transport[data-transport="6"] > img {
    width: 25px;
}

.map-open-activity-details {
    display: block;
    margin-bottom: 10px;
    margin-top: 10px;
}

/* DATEPICKER 3.0 */
.jedatebox em, .jedatebox i {
    display: flex;
    align-items: center;
    justify-content: center;
}

/* footer */

footer {
    height: 8vh;
    flex: 0 0 8vh;
    background: #F7F7F7;
    display: flex;
    justify-content: space-between;
    align-items: end;
    box-shadow: 0 0 6px #00000029;
    position: relative;
}
footer .footer-link {
    display: flex;
    flex-direction: column;
    justify-content: end;
    align-items: center;
    cursor: pointer;
    height: 100%;
    flex: 1 1 auto;
}
footer .footer-link > .footer-link-image {
    display: inline-block;
}
footer .footer-link > .footer-link-image > svg {
    height: 100%;
    width: auto;
}
footer .push-notifications-menu-link > .footer-link-image {
    position: relative;
}
footer .notifications-counter {
    position: absolute;
    right: -10px;
    bottom: -2px;
    background: #da6161;
    min-width: 17px;
    height: 13px;
    font-size: 11px;
    line-height: 15px;
    font-weight: bold;
    color: white;
    text-align: center;
    border-radius: 4px;
}

/* footer 3.0 */
.footer-link-image,
.footer-link-image > img {
    margin-bottom: 0.7vh;
    height: 2.3vh; /* cannot put % here or its totally buggy (neither on the svg) */
}
.footer-link-image.explore,
.footer-link-image.explore > img {
    height: 2.5vh;
}

.selectable-link[selected] .footer-link-image.home,
.selectable-link[selected] .footer-link-image.home > img {
    height: 3.2vh;
    margin-left: -1.1vh;
    margin-bottom: 0.66vh;
}
.selectable-link[selected] .footer-link-image.favorite,
.selectable-link[selected] .footer-link-image.favorite > img {
    height: 3.7vh;
    margin-left: -1.2vh;
    margin-bottom: 0.05vh;
}
.selectable-link[selected] .footer-link-image.events,
.selectable-link[selected] .footer-link-image.events > img {
    height: 3.4vh;
    margin-left: -1.6vh;
    margin-bottom: 0.2vh;
}
.selectable-link[selected] .footer-link-image.services,
.selectable-link[selected] .footer-link-image.services > img {
    height: 3.5vh;
    margin-left: -1.5vh;
    margin-bottom: 0.2vh;
}
.selectable-link[selected] .footer-link-image.explore,
.selectable-link[selected] .footer-link-image.explore > img {
    height: 3.7vh;
    margin-left: -1.3vh;
    margin-bottom: 0.2vh;
}

.footer-link-title {
    font-size: 1.4vh;
    height: 1.4vh;
    margin-bottom: 1.6vh;
    text-align: center;
}

.selectable-link[selected] .menu-icon-unselected {
    display: none;
}
.selectable-link:not([selected]) .menu-icon-selected {
    display: none;
}
.selectable-link[selected] > .link-text {
    font-family: 'WorkSans-Bold', 'WorkSans-Regular', serif;
}

/* /NEW INTE */

footer .area-logo {
    /*height: 80%;*/
    max-width: 20vw;
    max-height: 7vh;
}
footer .area-logo:first-child {
    margin:auto;
}

footer .push-notifications-menu-link > .footer-link-image.animated > svg {
    animation: bell-swing 1s 2 ease-out;
    transform-origin: top center;
}

@keyframes bell-swing {
    0% {
        transform: rotate(0deg);
    }

    8% {
        transform: rotate(-38deg);
    }

    12% {
        transform: rotate(-40deg);
    }

    16% {
        transform: rotate(-35deg);
    }

    40% {
        transform: rotate(33deg);
    }

    43% {
        transform: rotate(35deg);
    }

    46% {
        transform: rotate(35deg);
    }

    50% {
        transform: rotate(30deg);
    }

    72% {
        transform: rotate(-10deg);
    }

    90% {
        transform: rotate(5deg);
    }

    100% {
        transform: rotate(0deg);
    }
}

@media (min-width:750px)
{
    footer .notifications-counter {
        right: -2.5vh;
        min-width: 2.4vh;
        height: 2.1vh;
        font-size: 1.6vh;
        line-height: 2.2vh;
    }
}


.footer-banners { /* optionnal */
    height: 8vh;
    overflow: hidden;
    position: relative;
    background-color: white;
}
.footer-banners .banner {
    height: 100%; /* else we dont see the whole ad.. FIXME: keep a constant aspect ratio */
    position: relative;
    text-align: center;
}
.footer-banners .banner > a {
    height: 100%;
    display: inline-block;
}
.footer-banners .banner > a > img {
    height: 100%;
}

.bottom-button {
    height: 8vh;
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: -webkit-inline-flex;
    display: inline-flex; /* safari cannot center text in a block button with a % width (it must be inline-x) */
    width: 100%;

    -webkit-box-pack: center;

    -ms-flex-pack: center;

    -webkit-justify-content: center;

    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    -webkit-align-items: center;
    align-items: center;
    text-align: center;

    text-transform: uppercase;
    color: white;
    font-size: 2vh;
}
a.bottom-button:visited, a.bottom-button:hover, a.bottom-button:active {
    color: white;
}
.bottom-button[type=submit] {
    display: inline-block; /* safari has many problems, u know */
    border: 0;
}
.bottom-button .button-icon {
    height: 1.3em;
    display: inline-block;
    margin-left: 8px;
}
.bottom-button.fixed {
    position: fixed !important;
    z-index: 1;
    width: 100%;
    left:0;
    right:0;
    bottom: 8vh;
}
body.has-advert .bottom-button.fixed {
    bottom: 18vh;
}

/* Modals */

.myvizito-modal {
    display: none;
}

.offline_confirmation_modal {
    padding: 20px;
}
.offline_confirmation_modal h4 {
    font-size: 28px;
    margin-bottom: 20px;
}

.go-fill-your-profile-modal .image img {
    max-height: 60vh;
    margin: -35px 0 15px -35px;
    width: calc(100% + 70px);
}
.go-fill-your-profile-modal .title {
    font-size: 20px;
    margin-bottom: 15px;
}
.go-fill-your-profile-modal .buttons .link.confirm-button {
    width: 100%;
    margin-top: 15px;
}

.status-area {
    vertical-align: 8px;
}
.status-area.ready {
    color: limegreen;
}
.loader_thin.download_modal_loader {
    width: 30px;
    height: 30px;
    margin: 0 10px;
}

.user-menu-modal .menu-modal-container,
.profile-menu-modal .menu-modal-container{
    height: 50vh;
    min-height: 420px;
}
.cachwir-modal-overlay > .menu-modal.share-modal {
    flex-direction: row;
    flex-wrap: wrap;
}
.share-modal .share-link * {
    pointer-events: none;
}
.cachwir-modal-overlay > .menu-modal.share-modal a {
    width: 50%;
    gap: 15px;
}
.cachwir-modal-overlay > .menu-modal.share-modal a.cancel-button {
    width: 100%;
}
.cachwir-modal-overlay > .menu-modal.share-modal a:not(.cancel-button) {
    justify-content: flex-start;
    padding: 0 0 0 15px;
}
.cachwir-modal-overlay > .menu-modal.share-modal a:nth-child(odd):not(.cancel-button) {
    border-right: 1px solid #EBEBEB;
}
.share-modal .share-icon {
    display: flex !important;
}

.share-modal .share-icon img,
.share-modal .share-icon svg {
    height: 30px;
    width: 30px;
}

.main-menu {
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    -webkit-flex-direction: column;
    flex-direction: column;
    -ms-flex-pack: distribute;
    -webkit-justify-content: space-around;
    justify-content: space-around;
    overflow-y: auto;
}
.user-menu-modal .main-menu,
.profile-menu-modal .main-menu{
    height: 400px;
}

.menu-modal-container {
    position: relative;
}
.menu-modal-container > div {
    position: absolute;
    width: 100%;
}
.menu-modal-container a.link {
    padding: 20px;
    text-transform: uppercase;
    color: white;
    font-size: 1.2em;
}
.menu-modal-container .menu-links {
    display: flex;
    flex-direction: column;
    height: calc(100% - 5vh);
    padding-bottom: 5vh;
    overflow-y: auto;
}
.menu-modal-container .menu-links > * {
    margin: 4% 0;
}
.menu-modal-container .menu-links > *:first-child {
    margin-top: 0;
}
.menu-modal-container .menu-links > *:last-child {
    margin-bottom: 0;
}
.main-menu .close-button {
    color: white;
    margin-bottom: -10px;
}

.submenu {
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    -webkit-flex-direction: column;
    flex-direction: column;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    overflow-y: auto;
    height: 100%;
}
.user-menu .user-menu-items-container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    -webkit-flex-direction: column;
    flex-direction: column;
    overflow-y: auto;
}
.user-menu .user-menu-item {
    border: 1px solid black;
    padding: 10px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    -webkit-flex-direction: row;
    flex-direction: row;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    cursor: pointer;
    margin-bottom: 20px;
    -ms-flex-negative: 0;
    -webkit-flex-shrink: 0;
    flex-shrink: 0;
}
.user-menu .user-menu-item:last-child {
    margin-bottom: 3vh;
}
.user-menu .user-menu-item .user-menu-item-title {
    text-align: left;
    padding-right: 5px;
}
.user-menu .user-menu-item .user-menu-item-links .link {
    color: white;
    padding: 5px;
}
.user-menu .user-menu-item .user-menu-item-current {
    border-width: 3px;
    border-style: dashed !important;
    padding: 1vh;
    font-size: 18px;
    font-weight: bold;
}
.user-menu .user-menu-item .user-menu-item-links .user-menu-delete-button {
    display: inline-block;
    background: #ff6a6b;
    font-size: 20px;
    font-weight: bold;
    width: 40px;
    height: 40px;
    -webkit-border-radius: 100%;
    border-radius: 100%;
    line-height: 34px;
    color: white;
}
.user-menu .user-menu-item .user-menu-item-links .user-menu-delete-button span {
    vertical-align: middle;
}
.submenu .close-button {
    -ms-flex-item-align: end;
    -ms-grid-row-align: end;
    -webkit-align-self: end;
    align-self: end;
    color: white;
    font-size: 20px;
    width: 100%;
}

.reload-by-code label {
    background: white;
    color: black;
}
.reload-by-code .errors {
    color: red;
    text-align: center;
}
.reload-by-code .errors div {
    display: none;
}
.reload-by-code input[type=text] {
    background: white;
    width: 50%;
    text-align: center;
    border-width: 1px;
    font-size: 1.2em;
}
.reload-by-code .submit {
    width: 50%;
}

.confirmation-modal-content .icon {
    height: 40pt;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 20px;
}
.confirmation-modal-content .icon svg {
    height: 40pt;
    width: 40pt;
}
.confirmation-modal-content .icon.icon-orange svg g
{
    fill: #ee8100;
}
.confirmation-modal-content .icon .icon-wrench
{
    margin-left: -13pt;
    margin-bottom: -15pt;
    width: 30pt;
    height: 30pt;
}
.confirmation-modal-content .text {
    font-size: 18px;
}
.confirmation-modal-content .text.small-text {
    font-size: 16px;
}
.confirmation-modal-content .text .bold {
    font-weight: bold;
}
.confirmation-modal-content .buttons {
    margin-top: 2vh;
    padding: 10px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    -webkit-flex-direction: row;
    flex-direction: row;
    -ms-flex-pack: distribute;
    -webkit-justify-content: space-around;
    justify-content: space-around;
    cursor: pointer;
}
.confirmation-modal-content .buttons .link {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 50%;
    color: white;
    padding: 10px;
    font-size: 18px;
}
.confirmation-modal-content .buttons .cancel-button {
    background-color: lightgrey;
    color: black;
}
.confirmation-modal-content .buttons .close-button {
    background-color: #ff382d;
    color: white;
}
.confirmation-modal-content .buttons .green {
    background-color: #2fa92f;
    color: white;
}

.go-download-the-app-peasant .public-download-link-area {
    display: flex;
    flex-direction: column;
    gap: 30px;
}
.go-download-the-app-peasant .download-app-link-containers {
    display: flex;
    gap: 20px;
}
.go-download-the-app-peasant .public-download-link-area img {
    width: 100%;
    max-width: 400px;
}

/* NOTIFICATIONS */

.notification-container {
    position: fixed;
    top: 5vh;
    right: 5vh;
    width: 310px;
    z-index: 100;
    color: white;
    cursor: pointer;
    -webkit-animation-duration: 1s;
    animation-duration: 1s;
    -webkit-animation-name: onNotification;
    animation-name: onNotification;
}
.notification-container.notification-destroy {
    -webkit-animation-duration: 2s;
    animation-duration: 2s;
    -webkit-animation-name: onNotificationDestroy;
    animation-name: onNotificationDestroy;
}
.notification-container .notification {
    -webkit-border-radius: 100%;
    border-radius: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    -webkit-flex-direction: row;
    flex-direction: row;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    -webkit-justify-content: space-between;
    justify-content: space-between;
}
.notification-container .notification .notification-text {
    -ms-flex-negative: 100;
    -webkit-flex-shrink: 100;
    flex-shrink: 100;
    font-size: 13px;
    padding: 10px;
    -webkit-border-top-left-radius: 100px;
    border-top-left-radius: 100px;
    -webkit-border-bottom-left-radius: 100px;
    border-bottom-left-radius: 100px;
    position: relative;
    /* width: calc(100% - 110px); */
    width: 100%;
}
.notification-container .notification .notification-text:before {
    content: "";
    position: absolute;
    top: 0;
    left: -10px;
    width: 110px;
    height: 110px;
    -webkit-border-radius: 100%;
    border-radius: 100%;
    z-index: -1;
}
.notification-container .notification .notification-text:after {
    content: "";
    position: absolute;
    top: 0;
    right: -15px;
    width: 20px;
    height: 110px;
    z-index: -1;
}
.notification-container .notification .notification-text .notification-title {
    font-size: 15px;
    text-align: center;
    font-weight: bold;
    margin-bottom: 5px;
    margin-left: 0;
    margin-right: -30px;
    width: inherit;
}
.notification-container .notification .notification-text .notification-description {
    text-align: center;
    height: 56px;
    overflow-y: hidden;
    width: inherit;
}
.notification-container .notification .notification-aside {
    width: 110px;
    height: 110px;
    position: relative;
}
.notification-container .notification .notification-aside:after {
    content: "";
    position: absolute;
    top: 0;
    left: 2px;
    width: 110px;
    height: 110px;
    -webkit-border-radius: 100%;
    border-radius: 100%;
    -webkit-border-top-left-radius: 0;
    border-top-left-radius: 0;
    -webkit-border-bottom-left-radius: 0;
    border-bottom-left-radius: 0;
    z-index: -1;
}
.notification-container .notification .notification-aside .notification-picture {
    width: 100%;
    height: 100%;
    overflow: hidden;
    -webkit-border-radius: 200px;
    border-radius: 200px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex; /* Magic begins */
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    -webkit-justify-content: center;
    justify-content: center;
}
.notification-container .notification .notification-picture img {
    height: 100%;
    min-width: 110px;
    max-height: 100%;
    -ms-flex-negative: 0;
    -webkit-flex-shrink: 0;
    flex-shrink: 0; /* Don't shrink it even if it's too wide */
}
@-webkit-keyframes onNotification {
    from {
        right: -10000px;
    }

    to {
        right: 5vh;
    }
}
@keyframes onNotification {
    from {
        right: -10000px;
    }

    to {
        right: 5vh;
    }
}
@-webkit-keyframes onNotificationDestroy {
    from {
        right: 5px;
    }

    to {
        right: -10000px;
    }
}
@keyframes onNotificationDestroy {
    from {
        right: 5px;
    }

    to {
        right: -10000px;
    }
}
@media (max-width:320px)
{
    .notification-container {
        width: 280px;
    }
    .notification-container .notification .notification-text {
        /* width: calc(100% - 90px); */
    }
    .notification-container .notification .notification-text:before,
    .notification-container .notification .notification-aside:after{
        height: 90px;
        width: 90px;
    }
    .notification-container .notification .notification-text:after {
        height: 90px;
    }
    .notification-container .notification .notification-text .notification-description {
        height: 40px;
    }
    .notification-container .notification .notification-aside {
        width: 90px;
        height: 90px;
    }
    .notification-container .notification .notification-picture img {
        min-width: 90px;
    }
}
@media (max-width:500px)
{
    .notification-container {
        left: 5px;
        right: 0;
        margin: auto;
    }
    @-webkit-keyframes onNotification {
        from {
            right: -10000px;
        }

        to {
            right: 0;
        }
    }
    @keyframes onNotification {
        from {
            right: -10000px;
        }

        to {
            right: 0;
        }
    }
}

/* NEW INTE POSITIONING */
.center {
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
}

/* NEW INTE BUTTONS */
.full-width-button {
    border: none;
    padding: 10px;
    width: 100%;
    height: 70px;
    font-weight: bold;
    display: flex;
    justify-content: center;
    align-items: center;
    color: black;
}
.main-button, .secondary-button, .input-button {
    border: none;
    border-radius: 7px;
    font-weight: bold;
}
.main-button {
    padding: 15px 30px;
    min-width: 150px;
    line-height: 23px;
    min-height: 50px;
}
.secondary-button {
    border-radius: 10px;
    height: 34px;
    font-size: 14px;
    display: flex;
    padding: 0 12px;
    align-items: center;
}
.input-button {
    border-radius: 10px;
    font-size: 14px;
    display: flex;
    padding: 0 12px;
    align-items: center;
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
}
.main-button.iconed, .secondary-button.iconed {
    display: flex;
    gap: 10px;
    align-items: center;
}
.main-button .icon, .secondary-button .icon {
    display: inline-block;
    height: 24px;
    width: 20px;
}
.main-button.union .icon {
    height: 24px;
    width: 23px;
}
.full-width-button:not([disabled]), .main-button:not([disabled]), .secondary-button:not([disabled]) {
    transition: opacity 0.5s ease;
}
.full-width-button[disabled], .main-button[disabled], .secondary-button[disabled] {
    opacity: 0.5;
}
.gray-button {
    background-color: #e6e6e6 !important;
}

.icon img,
.icon svg {
    width: 100%;
    height: 100%;
}

/* NEW INTE PAGE LAYOUT */

.page-content {
    display: flex;
    flex-direction: column;
    width: 100%;
    height: 100%;
}
.page-scrollable-content {
    overflow-y: auto;
    overflow-x: hidden;
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
}
.page-header {
    background-color: #F7F7F7;
    display: flex;
    align-items: center;
    gap: 19px;
    padding: 15px 19px;
}
.page-header > .close-button {
    display: inline-flex;
    align-items: center;
    width: 25px;
    height: 25px;
    color: black;
}
.page-header > .close-button img,
.page-header > .close-button svg {
    width: 25px;
    height: 25px;
}
.page-body {
    padding: 0 15px 15px 15px;
    flex-grow: 1;
}
.page-body-element {
    margin: 10px 0;
}
.page-body-element:first-child {
    margin-top: 20px;
}
.page-body-element-title {
    font-family: "WorkSans-SemiBold", serif;
    padding-top: 10px;
    margin-bottom: 10px;
}
.margined-content {
    margin: 0 11px;
}
.page-text {

}
.page-light-text {
    font-family: "WorkSans-Light", serif;
}
.text-centered {
    text-align: center;
}
.page-bottom-fixed-content {
    -webkit-box-shadow: 0 0 10px -1px #c2c2c2;
    box-shadow: 0 0 10px -1px #c2c2c2;
}
.page-bottom-element .main-button {
    margin: 10px 0;
}
.page-bottom-element.error-holder {
    display: none;
    color: red;
    padding: 12px;
    margin-bottom: -63px;
}
.page-bottom-element.error-holder.visible {
    display: block;
    animation: errorHolderSlideAnimation ease 1s;
    margin-bottom: 0;
}

@keyframes errorHolderSlideAnimation {
    0% {
        margin-bottom: -63px;
    }
    100% {
        margin-bottom: 0;
    }
}

/* MISC 3.0 */

.popup-bubble {
    position: fixed;
    display: flex;
    align-items: center;
    justify-content: center;
    bottom: 40px;
    left: 50%;
    transform: translateX(-50%);
    width: max-content;
    z-index: 99999;
    max-width: 300px;
    min-width: 140px;
    padding: 14px 28px;
    border-radius: 100px;
    background-color: rgba(255, 255, 255, 0.95);
    font-size: 16px;
    text-align: center;
    border: 1px solid black;
    opacity: 1;
    animation: popupBubbleShow ease-out 0.3s;
    -webkit-box-shadow: 0px 0px 24px 0px rgba(0,0,0,0.6);
    box-shadow: 0px 0px 24px 0px rgba(0,0,0,0.6);
}
.popup-bubble.dismissed {
    display: none;
    animation: popupBubbleDismiss ease-out 0.3s;
}

@keyframes popupBubbleShow {
    0% {
        opacity: 0;
        margin-bottom: -23px;
    }
    70% {
        opacity: 1;
        margin-bottom: 6px;
    }
    100% {
        margin-bottom: 0;
    }
}

@keyframes popupBubbleDismiss {
    0% {
        display: flex;
        opacity: 1;
        margin-bottom: 0;
    }
    100% {
        display: none;
        opacity: 0;
        margin-bottom: -11px;
    }
}

/* NEW INTE FORMS */

/* COLORS */
.gray-text {
    color: #9b9b9b;
}

/* CHECKBOX */
.checkbox-container {
    position: relative;
    align-items: center;
}
.checkbox-container.simple-checkbox {
    display: flex;
    flex-direction: row;
    gap: 8px;
}
.checkbox-container:not(.simple-checkbox) {
    display: inline-flex;
    flex-direction: row-reverse;
    gap: 4px;
    border: 1px solid black;
    border-radius: 30px;
    padding: 9px 13px;
    transition: background-color 500ms ease 0s;
}
.checkbox-container:not(.simple-checkbox) label {
    white-space: nowrap;
}
.checkbox-container > input[type="checkbox"],
.checkbox-container > input[type="radio"] {
    display: none;
}
.checkbox-container.simple-checkbox .checkbox {
    border: 1px solid #e7e7e7;
    display: inline-block;
    width: 20px;
    height: 20px;
    border-radius: 4px;
    transition: background-color 500ms ease 0s;
    flex-shrink: 0;
}
.checkbox-container:not(.simple-checkbox):not([data-checked="true"]) .checkbox {
    display: none;
}
.front-choice {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    padding: 10px;
    border: 1px solid #e7e7e7;
    border-radius: 4px;
}
.checkbox-additional-info.gray-text {
    transition: color 500ms ease 0s;
}
.checkbox-container[data-checked="true"]:not(.simple-checkbox) .checkbox-additional-info.gray-text {
    color: #474747;
}
.checkbox-container.simple-checkbox .checkbox {
    display: flex;
    justify-content: center;
    align-items: center;
}
.checkbox-container.simple-checkbox .checkbox img,
.checkbox-container.simple-checkbox .checkbox svg {
    width: 12px;
    height: 12px;
}
.checkbox-container:not(.simple-checkbox) .checkbox img,
.checkbox-container:not(.simple-checkbox) .checkbox svg {
    width: 15px;
    height: 15px;
    margin-left: 6px;
    margin-bottom: -1px;
}
.checkbox-container.simple-checkbox:not([data-checked="true"]) .checkbox img,
.checkbox-container.simple-checkbox:not([data-checked="true"]) .checkbox svg {
    display: none;
}

/* FORM 3.0 */

.false-select {
    padding: 10px;
    cursor: pointer;
    display: flex;
    gap: 10px;
    align-items: center;
    border-radius: 10px;
    border: 1px solid #e7e7e7;
}
.error-message {
    display: none;
    color: red;
}
.simple-input {
    width: 100%;
    padding: 10px;
    border-radius: 10px;
    border: 1px solid #e7e7e7;
}
.asterisque {
    vertical-align: text-top;
    font-size: smaller;
}
.text-input {
    border: 1px solid #EBEBEB;
    border-radius: 10px;
    width: 100%;
    height: 50px;
    padding: 0 12px;
}

/* PERIMETER */

.select-perimeter-form {
    position: relative;
}
.select-perimeter-form .perimeters-container {
    display: none;
    position: absolute;
    width: 100%;
    top: 0;
    left: 0;
    z-index: 1;
}
.select-perimeter-form .select-perimeter-form-border-effects {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    border-radius: 10px;
    -webkit-box-shadow: 0 0 10px -1px #c2c2c2;
    box-shadow: 0 0 10px -1px #c2c2c2;
}
.select-perimeter-form .close-perimeters-container {
    width: 100%;
    height: 41px;
    cursor: pointer;
}
.select-perimeter-form .perimeters-container .perimeter {
    background-color: white;
}
.select-perimeter-form .perimeters-container .perimeter[data-mode="checkbox"] {
    padding: 10px;
}
.select-perimeter-form .perimeters-container .perimeter[data-mode="radio"] input[type="radio"] {
    visibility: hidden;
}
.select-perimeter-form .perimeters-container .perimeter[data-mode="radio"] label {
    display: flex;
    justify-content: space-between;
    align-items: center;
    height: 41px;
    padding-left: 10px;
    padding-right: 10px;
}
.select-perimeter-form .perimeters-container .perimeter[data-mode="radio"] label .check-mark {
    display: none;
    border-radius: 100%;
    width: 21px;
    height: 21px;
    justify-content: center;
    align-items: center;
}
.select-perimeter-form .perimeters-container .perimeter[data-mode="radio"] label.checked {
    background-color: #F7F7F7;
}
.select-perimeter-form .perimeters-container .perimeter[data-mode="radio"] label.checked .check-mark {
    display: flex;
}

/* DATE PERIOD */
input[type="date"] {
    position: relative;
    border: unset;
    box-shadow: unset;
    width: 95px;
    padding: 0;
}
input[type="date"]:not([data-has-value="true"])::before {
    content: attr(placeholder);
    position: absolute;
    top: 1px;
    left: 0;
    background-color: white;
    color: #999;
    padding-right: 122px;
}
.reset-date-period {
    text-align: right;
    margin-bottom: 5px;
    margin-top: -35px;
}
.reset-date-period > span {
    cursor: pointer;
    text-decoration: underline;
    display: inline-block;
    padding: 10px;
}

/* SELECT MEGA PERIMETER & HOME & MAINTENANCE & SHIT */

body[page="select-mega-perimeter"] header,
body[page="home"] header,
body[page="maintenance"] header,
body[page="new-version"] header
{
    display: none;
}

body[page="select-mega-perimeter"] .footer-container,
body[page="maintenance"] .footer-container,
body[page="new-version"] .footer-container
{
    display: none;
}

#content[page="select-mega-perimeter"] {
    background-position: 50% 40%;
    background-size: cover;
}
#content .select-mega-perimeter {
    display: flex;
    flex-direction: column-reverse;
}
#content .select-mega-perimeter .start-buttons {
    height: 117px;
    height: 0;
    transition: all 300ms cubic-bezier(0.165, 0.840, 0.440, 1.000);
    position: relative;
    width: 100%;
    margin: 0 auto;
    overflow-y: hidden;
}
#content .select-mega-perimeter .start-buttons.step-2 {
    width: 290px;
    border-top-right-radius: 16px;
    border-top-left-radius: 16px;
}
#content .select-mega-perimeter .start-buttons.initialized {
    height: 70px;
}
#content .select-mega-perimeter .start-button-start,
#content .select-mega-perimeter .mega-perimeter-selector {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
}
#content .select-mega-perimeter .start-buttons[data-checked='true'] {
    height: 187px;
}
#content .select-mega-perimeter .mega-perimeter-selector,
#content .select-mega-perimeter .submit-area {
    display: none;
}
#content .select-mega-perimeter .form-fields {
    padding: 10px;
}
#content .select-mega-perimeter .start-buttons-title {
    color: white;
    padding: 2px 5px;
    margin-bottom: 12px;
    text-align: center;
}
#content .select-mega-perimeter .illustrated-radio-form {
    white-space: normal;
    gap: 10px;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
    width: auto;
    padding-right: 0;
    margin-left: 0;
    padding-left: 0;
    height: auto;
}
#content .select-mega-perimeter .illustrated-radio {
    flex-shrink: 0;
    flex-grow: 0;
}
.illustrated-radio-form {
    height: 70px;
    overflow-x: auto;
    white-space: nowrap;
    width: calc(100vw + 10px);
    padding-right: 10px;
    margin-left: -20px;
    padding-left: 20px;
}
.select-mega-perimeter .illustrated-radio-form {

}
.illustrated-radio {
    width: 170px;
    height: 70px;
    display: inline-flex;
    align-items: center;
    background: white;
    border-radius: 10px;
    border: 1px solid black;
    padding: 10px;
    vertical-align: top;
    position: relative;
    overflow: hidden;
    opacity: 0.8;
}
.illustrated-radio.large {
    width: 250px;
}
.illustrated-radio .illustrated-radio-img-container {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100%;
}
.illustrated-radio .illustrated-radio-img-container.small-icon {
    min-width: 55px;
}
.illustrated-radio .illustrated-radio-img-container img {
    max-height: 100%;
    max-width: 80px;
}
.illustrated-radio .illustrated-radio-img-container:not(.small-icon) img {
    margin-right: 10px;
}
.illustrated-radio label {
    white-space: normal;
}
.illustrated-radio input[type='radio'] {
    position: absolute;
    z-index: -1;
    opacity: 0.01;
}
.illustrated-radio .checked-symbol {
    display: flex;
    justify-content: center;
    align-items: center;
    visibility: hidden;
    position: absolute;
    right: 0;
    top: 0;
    border-bottom-left-radius: 10px;
    width: 25px;
    height: 25px;
}
.illustrated-radio[data-checked='true'] {
    opacity: 1;
}
.illustrated-radio[data-checked='true'] .checked-symbol {
    visibility: visible;
}
.illustrated-radio .checked-symbol img,
.illustrated-radio .checked-symbol svg {
    width: 55%;
    height: 55%;
}

/* HOME 3.0 */

#content:not([page="select-mega-perimeter"]) {
    height: 92vh;
}
#content > .home {
    display: flex;
    flex-direction: column;
    overflow-x: hidden;
    padding-bottom: calc(22px + 0.5vw);
}
#content > .home,
#content > .my-events,
#content > .liked
{
    overflow-y: auto;
}
.top-right-element {
    position: absolute;
    top: 12px;
    right: 12px;
}
.top-right-element .user-menu {
    background: #FFFFFF 0% 0% no-repeat padding-box;
    border: 1px solid black;
    border-radius: 20px;
    width: 50px;
    height: 50px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.top-right-element .user-menu img,
.top-right-element .user-menu svg {
    height: 22px;
}
#content .home .home-background {
    background-size: cover;
    background-repeat: no-repeat;
    width: calc(100% + 16px);
    height: calc(100% + 16px);
    position: absolute;
    top: -8px;
    left: -8px;
    z-index: -1;
    filter: blur(8px);
    -webkit-filter: blur(8px);
}
#content .home .home-header {
    display: flex;
    flex-direction: column;
    align-content: center;
    justify-content: space-between;
    align-items: center;
    z-index: 2;
    position: relative;
    flex-shrink: 0;
}
#content .home .home-header .home-header-content {
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    align-content: center;
    justify-content: space-between;
    align-items: center;
    z-index: 2;
    background-size: cover;
    position: absolute;
    flex-shrink: 0;
}
#content .home .header-image {
    width: 100%;
}
#content .home .header-image img {
    height: 100%;
    width: 100%;
}
#content .home .logo {
    max-width: 150px;
    margin-top: 10px;
    max-height: 50px;
}
#content .home .home-header .bottom {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100%;
}
#content .home .welcome-message {
    text-align: center;
    margin-bottom: 45px;
}
#content .home .search-bar {
    position: absolute;
    top: -29px;
    left: 0;
    right: 0;
    display: flex;
    background: white;
    height: 58px;
    border-radius: 10px;
    color: #5d5d5d;
    flex-direction: row;
    align-content: center;
    justify-content: flex-start;
    align-items: center;
    margin: 0 auto -29px auto;
    box-shadow: 0 0 12px #00000029;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    width: 480px;
    max-width: calc(100% - 20px);
}
#content .home .search-bar img {
    display: none;
}
#content .home .search-bar span {
    margin: 0 10px 0 14px;
    height: 100%;
    display: inline-flex;
    align-items: center;
}
#content .home .home-body {
    position: relative;
    background: white;
    flex-grow: 1;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    z-index: 2;
}
#content .home .categories-menu {
    height: 140px;
    background-color: #F7F7F7;
    display: flex;
    justify-content: center;
}
#content .home .categories-menu > div {
    padding: 25px 15px 0 15px;
    gap: 15px;
    overflow-x: auto;
    white-space: nowrap;
    display: flex;
    flex-direction: row;
}
#content .home .categories-menu > div > div {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    gap: 11px;
    height: 100%;
    padding: 2px 4px 0 4px;
    box-sizing: border-box;
}
#content .home .categories-menu > div > div * {
    pointer-events: none;
}
#content .home .categories-menu .category-icon {
    width: 32px;
    height: 32px;
    display: flex;
    align-items: center;
}
#content .home .categories-menu .category-icon img {
    opacity: 0;
}
#content .home .categories-menu .category-icon svg {
    max-width: 32px;
    max-height: 32px;
}
#content .home .categories-menu > .icon-animated .category-icon svg {
    opacity: 0;
    animation: fadeInAnimation ease 2s;
    animation-iteration-count: 1;
    animation-fill-mode: forwards;
}
#content .home .categories-menu > div  > div[data-selected="true"] .icon-unselected {
    display: none;
}
#content .home .categories-menu > div > div:not([data-selected="true"]) .icon-selected {
    display: none;
}
#content .home .categories-menu .category-text {
    height: 39px;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
}
#content .home .categories-menu > div  > div[data-selected="true"] .category-text {
    font-weight: bold;
}

@keyframes fadeInAnimation {
    0% {
        opacity: 0;
    }
    100% {
        opacity: 1;
    }
}

#content .home #new-itinerary-block {
    display: none;
}

/* HOME old */

#content .maintenance,
#content .new-version
{
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
}

.page-titles {
    position: fixed;
    text-align: center;
    color: white;
    font-family: ralewaylight, sans-serif;
    display: block; /* will be set to flex by slabtext */
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    -webkit-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: center;
    -ms-flex-align: center;
    -webkit-align-items: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    -webkit-justify-content: center;
    justify-content: center;
    height: 100%;
    -webkit-box-flex: 1;
    -ms-flex: 1;
    -webkit-flex: 1;
    flex: 1; /* for #content.home */
    top: -26vh;
}
.page-titles .welcome-to {
    font-size: 7vw;
    /*padding: 1% 2%;*/ /* flexbox N'ARRIVE PAS à sizer correctement si padding en % */
    padding: 0 0.7em;
    white-space: nowrap;
    background: transparent;
    line-height: 2;
}
.page-titles .place-heading {
    max-width: 90%;
    line-height: 1.42857143;
}
.page-titles .home-area-logo {
    width: 30%;
}
.page-titles .home-myvizito-logo {
    display: flex;
    justify-content: center;
    align-items: center;
    padding-top: 2vh;
}
.page-titles .home-myvizito-logo .home-myvizito-logo-pretext {
    margin-bottom: 2vw;
    margin-right: 1vw;
    font-size: 5.7vw;
    line-height: 0;
}
.page-titles .myvizito-logo {
    width: 37%;
    max-width: 37%;
    padding-bottom: 3vw;
    padding-left: 2vw;
    margin-bottom: -2vw;
}
#content .home .start-buttons {
    display: flex;
}
#content .home .start-button {
    margin-bottom: 3vh;
    margin-top: 3vh;
    padding: 0 5px;
}
#content .home .start-button:first-child {
    margin-left: 8px;
    margin-right: 4px;
}
#content .home .start-button:last-child {
    margin-left: 4px;
    margin-right: 8px;
}
#content .home .start-button:first-child:last-child {
    margin-left: 8px;
    margin-right: 8px;
}

.page-titles {
    display: flex;
    width: 100%;
}

.welcome-to {
    font-size: 5vh;
    word-spacing: 0.8vh;
    letter-spacing: 0.02vh;
}

.place-heading > span.long-text {
    font-size: 7.8vw;
}
.place-heading > span:not(.long-text) {
    font-size: 12.4vw;
}

.error-code {
    color: red;
    background: white;
    text-align: center;
    font-family: roboto, sans-serif;
}

.maintenance-text,
.new-version-text {
    max-width: 500px;
    background-color: white;
    font-size: 14px;
    width: 90%;
    margin: 5vw auto;
    margin-top: 0;
    padding: 10px;
}
.maintenance-text h3,
.new-version-text h3
{
    text-align: center;
    margin-top: 10px;
}
.new-version-url {
    text-align: center;
}
.new-version-url img {
    width: 150px;
    margin-top: 10px;
}

/* MODAL PAGES 3.0 */

.preloaded-modal-page-link * {
    pointer-events: none;
}
.preloaded-modal-page-content {
    display: none !important;
}
.full-page {
    width: 100vw;
    height: 100vh;
    background-color: white;
}

/* LIKED (new in 3.0) */
.open-itinerary-code-modal .icon {
    width: 16px;
    margin-right: 9px;
    margin-left: 2px;
}


/* MY EVENTS (new in 3.0) */

/* SERVICES AND EXPLORE (new in 3.0) */
.services .content-body,
.explore .content-body {
    padding: 0;
}
.services .content-body-title,
.explore .content-body-title {
    padding: 16px 12px 3px 12px;
}
.services .entities-list-menu,
.explore .entities-list-menu {
    max-width: none;
}
/* SELECT ENTITIES 3.0 */

.select-entities-header {
    display: flex;
    justify-content: space-between;
}
.select-entities-header .text {
    flex-shrink: 1000;
}
.select-entities-header .counter {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 52px;
    height: 40px;
    font-size: 18px;
    border-radius: 12px;
    flex-grow: 0;
    flex-shrink: 0;
}
.select_entities .entity-attributes {
    width: calc(100% - 4px);
}

/* JOURNEY 3.0 */

.entities-rack .rack {
    overflow-x: auto;
    white-space: nowrap;
    display: flex;
    gap: 10px !important;
    aspect-ratio: unset !important;
    flex-direction: row;
    align-items: center;
    padding: 10px;
    background-color: #F7F7F8;
    height: 167px !important;
    margin: 0;
    width: 100%;
}
.entities-rack .rack .entity {
    transition: background-color ease-out 0.5s, border-color ease-out 0.5s;
}
.entities-rack .rack .entity.activity,
.entities-rack .rack.reorder .entity.step {
    width: 330px;
    height: 147px;
    margin-bottom: 0;
    overflow: unset;
    padding: 10px;
    background-color: white;
}
.entities-rack .rack.reorder .entity.step {
    width: 147px;
    border-width: 1px;
    border-style: solid;
    border-color: rgb(232, 232, 232);
    padding: 0;
}
.entities-rack .rack.reorder .entity.step .entity-info {
    padding: 10px !important;
    padding-top: 20px !important;
    width: 100% !important;
    height: 100% !important;
    border-radius: 12px !important;
    background-color: white;
}
.entities-rack .rack.reorder .entity.step.to-remove .entity-info,
.entities-rack .rack.reorder .entity.step.to-remove .remove-step {
    opacity: 0.7;
    filter: brightness(0.8);
}
.entities-rack .rack .entity-info {
    padding-bottom: 0;
}
.entities-rack .rack .entity.activity .entity-info {
    justify-content: space-between;
}
.entities-rack .rack .entity.restaurant .entity-info {
    justify-content: start;
    gap: 4px;
}
.entities-rack .rack.reorder .entity.step .entity-info {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 127px;
    height: 127px;
    padding-top: 10px;
    gap: 8px;
    padding-right: 0;
}
.entities-rack .rack .entity.activity .entity-info .entity-info-bottom {
    display: flex;
    flex-direction: column;
    gap: 4px;
}
.entities-rack .rack .entity .entity-location svg,
.entities-rack .rack .entity .entity-location img {
    height: 18px;
    vertical-align: bottom;
    margin-right: 4px;
    margin-left: 2px;
}
.entities-rack .rack .entity .entity-duration,
.entities-rack .rack .entity .entity-letsugo {
    display: flex;
    gap: 6px;
    align-items: center;
}
.entities-rack .rack .entity .entity-duration svg,
.entities-rack .rack .entity .entity-duration img {
    height: 17px;
    vertical-align: text-top;
}
.entities-rack .rack .entity .entity-letsugo svg,
.entities-rack .rack .entity .entity-letsugo img {
    height: 15px;
    margin-bottom: -2px;
}
.entities-rack .rack .entity .entity-title {
    display: flex;
    align-items: center;
    gap: 10px;
}
.entities-rack .rack.reorder .entity.step .entity-title-text {
    flex: 1;
    word-wrap: break-word;
    white-space: normal;
    text-align: center;
}
.entities-rack .rack .entity .entity-title .entities-title-text {
    flex-shrink: 500;
    white-space: break-spaces;
}
.entities-rack .rack .entity .entity-title-badge {
    font-size: 20px;
    width: 34px;
    height: 34px;
    border-radius: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-shrink: 0;
    flex-grow: 0;
}
.entities-rack .rack .entity .entity-title-badge img,
.entities-rack .rack .entity .entity-title-badge svg {
    width: 20px;
}
.entities-rack .rack[data-rack-type="Services"] {
    height: 167px;
    overflow-y: auto;
    display: block;
}
.entities-rack .rack[data-rack-type="Services"] .rack-services-container {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
    white-space: nowrap;
    gap: 10px;
    align-items: center;
    padding: 14px 10px;
    background-color: white;
    border: 1px solid #E8E8E8;
    border-radius: 12px;
}

.entities-rack .rack .entity.activity.add-activities {
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 147px;
    gap: 8px;
}
.entities-rack .rack .entity.activity.add-activities.disabled {
    opacity: 0.6;
}
.entities-rack .rack .entity.activity.add-activities img,
.entities-rack .rack .entity.activity.add-activities svg {
    width: 30px
}
.entities-rack .rack .entity.activity.add-activities span {
    white-space: normal;
    overflow-wrap: break-word;
    word-wrap: break-word;
    text-align: center;
}

.entities-rack .rack.reorder .switch-step {
    position: absolute;
    width: 45px;
    z-index: 1;
    bottom: 0;
    top: 0;
    margin: auto 0;
}
.entities-rack .rack.reorder .switch-step * {
    pointer-events: none;
}
.entities-rack .rack.reorder > div:first-of-type .switch-left {
    display: none;
}
.entities-rack .rack.reorder > div:last-of-type .switch-right {
    display: none;
}
.entities-rack .rack.reorder .remove-step {
    position: absolute;
    width: 37px;
    top: auto;
    bottom: 10px;
    right: 0;
    left: 0;
    margin: auto;
    border-radius: 100%;
    background-color: rgba(255, 255, 255, 0.8);
    padding: 5px;
    border: 1px solid rgb(232, 232, 232);
    z-index: 1;
}
.entities-rack .rack.reorder .remove-step * {
    pointer-events: none;
}
.entities-rack .rack.reorder .switch-step.switch-left {
    left: -23px;
    bottom: 5px;
}
.entities-rack .rack.reorder .switch-step.switch-right {
    right: -23px;
    top: 5px;
}
.entities-rack .rack.reorder .entity.confirm {
    width: 147px;
    height: 147px;
    margin-bottom: 0;
    overflow: unset;
    padding: 10px;
    display: flex;
    flex: 1;
    word-wrap: break-word;
    white-space: normal;
    align-items: center;
    justify-content: center;
    text-align: center;
    aspect-ratio: auto;
    border: none;
    flex-grow: 0;
    flex-shrink: 0;
}


/* PROFILE */

body[page="new-itinerary"] .content,
body[page="new-tour"] .content,
body[page="init-profile"] .content,
body[page="edit-profile"] .content,
body[page="subscriptions"] .content {
    background: white;
}

#content .new-itinerary .form-header,
#content .new-tour .form-header,
#content .init-profile .form-header,
#content .edit-profile .form-header,
#content .subscriptions .form-header,
#content .new-itinerary .form-pane,
#content .new-tour .form-pane,
#content .init-profile .form-pane,
#content .edit-profile .form-pane,
#content .subscriptions .form-pane
{
    width: 80%; /* for wide? */
    margin-left: auto;
    margin-right: auto;
}

#content .new-tour form {
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.form-header {
    text-transform: uppercase;
    font-weight: bold;
    font-size: 1em;
    margin: 0.6em 0 1em;
}
.form-pane {
    position: relative;
    margin-top: 1em;
    margin-bottom: 1em;
}
.form-pane-header .pin {
    width: 1em;
    position: absolute;
    left: -1.5em;
}
.form-pane-header {
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-box-align: baseline;
    -ms-flex-align: baseline;
    -webkit-align-items: baseline;
    align-items: baseline;
    padding-bottom: 0.5em;
}
.form-pane-header span:not(.fa) {
    font-family: ralewaylight, sans-serif;
    font-weight: bold;
    font-size: 1.3em;
}
.form-pane-header span.fa {
    margin-left: 5px;
    line-height: 22px;
}
.form-pane-header:not(.borderless) span {
    max-width: 100%;
}
.form-pane-header:not(.borderless):after {
    content: ' ';
    border-bottom: 2px solid #a7aaaa;
    -webkit-box-flex: 1;
    -ms-flex: 1;
    -webkit-flex: 1;
    flex: 1;
    margin-left: 8px;
}
.form-pane-content.collapsing-element {
    overflow: visible !important;
}
[data-toggle="collapse"] {
    cursor: pointer; /* If you don't do this, it doesn't work in iOS */
}

.form-pane.visit-dates .form-item label:first-child {
    display: inline-block;
    width: 50px;
    text-align: right;
}
.form-pane.visit-dates .form-item {
    display: inline-block;
    margin-bottom: 5px;
}
/*input[type="date"],*/
/*input[type="time"],*/
#form_perimeter_id {
    min-width: 130px;
}

.form-item .append-icon {
    position: relative;
}
.form-item .click-icon {
    position: absolute;
}
.form-item .click-icon.click-icon-calendar {
    top: -1px;
    right: 8px;
}
.form-item .click-icon.click-icon-sort-down {
    top: -5px;
    right: 11px;
}

.form-pane-select {
    margin-left: 54px;
}

.form-perimeter select {
    max-width: -webkit-calc(80vw - 100px);
    max-width: calc(80vw - 100px);
}

/* jeDate datepicker */

.jedatebox {
    top: 0 !important;
    bottom: 0 !important;
    left: 0 !important;
    right: 0 !important;
    margin: auto !important;
    max-height: 328px;
}
.jeoverlay {
    content: "";
    position: fixed;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.5);
    z-index: -1;
}
.jedaul {
    background-color: inherit;
}
.jedatebox * {
    font-family: Roboto, 'PingFangSC-Light','PingFang SC','Segoe UI','Lucida Grande','NotoSansHans-Light','Microsoft YaHei', '\5FAE\8F6F\96C5\9ED1', STHeiti, 'WenQuanYi Micro Hei', SimSun, sans-serif;
    font-size: 13px;
}
.jedateblue .jedatehmstitle {
    font-size: 16px;
}
.jedateblue .jedateproptext {
    width: 108px;
}
.jedateblue .jedatehmscon {
    width: 113px;
}
.jedateproptext:nth-child(4),
.jedatepropseconds,
.jedatehms li:nth-of-type(3),
.jedatehms i:nth-of-type(2) {
    display: none !important;
}
.pndrop {
    display: none !important;
}
.jedatebox .jedateym .prev, .jedatebox .jedateym .next {
    width: 25%;
}
.jedateblue .jedateym span {
    width: 50%;
}
.jedateblue .jedatebot .jedatebtn span {
    width: 60%;
}
.jedateblue .jedatebot .botflex {
    width: 32%;
}
.jedateblue .jedatebot .botflex.jedatebtn {
    width: 66%;
}


.checkboxes {

}
/*.checkbox {*/
/*    display: -webkit-inline-box;*/
/*    display: -ms-inline-flexbox;*/
/*    display: -webkit-inline-flex;*/
/*    display: inline-flex;*/
/*    width: 33%;*/
/*    margin: 0.4em 0;*/
/*    cursor: pointer;*/
/*    user-select: none;*/
/*    -moz-user-select: none;*/
/*    -khtml-user-select: none;*/
/*    -webkit-user-select: none;*/
/*    -o-user-select: none;*/
/*}*/
.checkbox * {
    cursor: pointer;
}
/*.checkbox:only-child {*/
/*    width: 100%;*/
/*}*/
/*@media (max-width:450px) {*/
/*    .checkbox:not(:only-child) {*/
/*        width: 49%;*/
/*    }*/
/*}*/
.checkbox input[type="checkbox"],
.checkbox input[type="radio"] {
    display: none;
}
.checkbox .checkbox-svg {
    margin-right: 6px;
    -webkit-box-flex: 0;
    -ms-flex: 0 0 2em;
    -webkit-flex: 0 0 2em;
    flex: 0 0 2em;
}
.checkbox-svg + label { /* create a pseudo element to recover the svg... */
    position: relative;
}
.checkbox-svg + label:before { /* ... because svg does not bubble up click events */
    content: ' ';
    display: block;
    position: absolute;
    right: 100%;
    width: -webkit-calc(2em + 6px);
    width: calc(2em + 6px);
    height: 100%;
}
.checkbox input[type="checkbox"]:not(:checked) + .checkbox-svg .main-color-fill,
.checkbox input[type="radio"]:not(:checked) + .checkbox-svg .main-color-fill {
    fill: transparent !important;
}
.checkbox input[type="checkbox"]:checked + .checkbox-svg + label,
.checkbox input[type="radio"]:checked + .checkbox-svg + label {
    font-weight: bold;
}
.checkbox input[type="checkbox"]:not(:checked) + .checkbox-svg + label,
.checkbox input[type="radio"]:not(:checked) + .checkbox-svg + label {
    color: black; /* because it has {{ main-color }} by default */
}

.iconed-checkboxes {
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -ms-flex-pack: distribute;
    -webkit-justify-content: space-around;
    justify-content: space-around;
}

.iconed-checkboxes input[type="checkbox"],
.iconed-checkboxes input[type="radio"] {
    display: none;
}

.iconed-checkboxes input[type="checkbox"] + label,
.iconed-checkboxes input[type="radio"] + label {
    -webkit-border-radius: 100%;
    border-radius: 100%;
    width: 2em;
    height: 2em;
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: -webkit-inline-flex;
    display: inline-flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    -webkit-align-items: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    -webkit-justify-content: center;
    justify-content: center;
    color: white;
    font-size: 1.5em;
    border: 1px solid gray;
}
.iconed-checkboxes input[type="checkbox"]:not(:checked) + label,
.iconed-checkboxes input[type="radio"]:not(:checked) + label {
    background: transparent;
    color: gray;
}

/* PROFILE 3.0 */
/* ACTIVITIES DETAILS 3.0 */

.modal_page.profile,
.modal_page.activity_details ,
.modal_page.tour_details {
    height: 100vh;
    background: white;
}

.main-section {
    flex-grow: 1;
}

.page-bottom-menu {
    justify-content: flex-start;
    padding: 0 6px;
}
.page-bottom-menu a {
    height: 100%;
    flex: 1 1 auto;
}
.page-bottom-menu a * {
    color: black;
}

.activity_details,
.tour_details {
    display: flex;
    flex-direction: column;
}

.activity_details .page-body-element {
    margin-bottom: 15px;
}
.activity_details .page-body-element-title {
    margin-bottom: 5px;
}
.activity_details .activities-photos {
    height: 196px;
    overflow-x: auto;
    display: flex;
    gap: 10px;
}
.activity_details .activities-photos img {
    height: 100%;
    border-radius: 12px;
}
.activity_details .entity-attributes {
    flex-wrap: wrap;
}
.activity_details .entity-attributes span {
    margin: 2px 0;
}
.activity_details .booking-link {

}
.activity_details .full-description {
    display: none;
}
.activity_details .toggle-full-hours,
.activity_details .display-full-description {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-top: 8px;
}
.load-fairguest-review {
    margin-bottom: -12px;
    margin-top: 22px;
    display: block;
}
.load-fairguest-review .score {
    color: white;
    padding: 3px 6px;
}

/* SELECT ACTIVITIES & SELECT ENTITIES & SELECT TOUR */

body[page="select_entities"] .content,
body[page="select_tour"] .content {
    background: white;
}

#content .select_entities .form-pane {
    padding-top: 0.8em;
    margin: 0 auto;
    width: 80%;
}
#content .select_entities .form-pane-header span {
    font-size: 1.2em;
}

.ratio-4x3 {
    padding-bottom: 60%;
    position: relative;
}
.ratio-4x3 > * {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}
.we-also-recommend {
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    -webkit-align-items: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    -webkit-justify-content: center;
    justify-content: center;
    font-family: Roboto, Arial, sans-serif;
    font-size: 8vw;
    text-align: center;
    color: white;
    padding: 0 10%;
}

.filter-container {
    width: 100%;
}
.filter-label {
    display: block;
    width: 100%;
}

.activity-header .activity-name { float: left; }
.activity-header .activity-distance { float: right; }
.activity-header .activity-city {
    display: inline-block;
    font-weight: bold;
    margin-right: 10px;
}
.activity-header .activity-open { clear:left; float: left; }
.activity-header .activity-price { float: right; }
.activity-description { clear:both; }

.activity-header .activity-name {
    font-size: 1.2em;
    font-weight: bold;
    text-transform: uppercase;
}
.activity-header .activity-name.long {
    font-size: 1em;
    float: none; /* because float left passes below the checkbox that is float right... so remove float. Since title occupy the whole width, it's not a problem for other elements that are float below */
}
.activity-header .activity-distance,
.activity-header .activity-open,
.activity-header .activity-price {
    white-space: nowrap;
}

.activity-checkbox {
    padding: 0.5em 3% 0.5em 2%;
}
.activity-checkbox .checkbox-svg, .activity-checkbox .svg-container {
    width: 40px;
    height: 40px;
}

.activity-checkbox.button_yes .svg-container {
    cursor: pointer;
}
.activity-checkbox.button_yes svg .main-color-fill { /* on comprend pas qu'il faut cliquer .... */
    fill: rgba(0,0,0,0);
}
.activity-checkbox.button_yes svg circle {
    stroke: #414141;
}
.activity-checkbox.button_yes svg .main-color-fill + polyline { /* ... comme elle est violette. Ok alors on la mets grise. */
    stroke: #414141 !important;
}
.entity[data-selected] .activity-checkbox.button_yes svg .main-color-fill {
    fill: #4aff4b;
}
.entity[data-selected] .activity-checkbox.button_yes svg circle {
    stroke: #4aff4b;
}
.entity[data-selected] .activity-checkbox.button_yes svg .main-color-fill + polyline { /* ... comme elle est violette. Ok alors on la mets grise. */
    stroke: #ffffff !important;
}

.activity-header > div,
.activity-description {
    padding-left: 2%;
    padding-right: 2%;
}
.activity-header,
.activity-description {
    padding-top: 0.2em;
    padding-bottom: 0.2em;
}
.activity-description {
    font-size: 0.9em;
}

.prevButton, .nextButton {
    position: absolute;
    top: 0;
    padding-bottom: 60%; /* same as ratio-4x3 */
    width: 10%;
    /*background: #a7aaaa;*/
    background: rgba(138, 138, 138, 0.7);
    z-index: 1;
}
.prevButton {
    left:0;
}
.nextButton {
    right:0;
}

.prevButton a, .nextButton a {
    position: absolute;
    left: 0; top: 0;
    width: 100%;
    height: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    -webkit-justify-content: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    -webkit-align-items: center;
    align-items: center;
    cursor: pointer;
}
.prevButton a img, .nextButton a img {
    width: 80%;
}


#content .select_entities .bottom-button {
    padding: 0;
}


#content .select_entities .slide-description-container {
    display: none;
}


.price-details {
    cursor: pointer;
}

/* JOURNEY */
.map-toggle-icons {
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -ms-flex-pack: distribute;
    -webkit-justify-content: space-around;
    justify-content: space-around;
    -webkit-box-align: center;
    -ms-flex-align: center;
    -webkit-align-items: center;
    align-items: center;
    border: 1px solid gray;
}
.map-toggle-icon, .map-toggle-icon:focus, .map-toggle-icon:visited {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    -webkit-flex: 1;
    flex: 1;
    text-align: center;
    font-size: 1.5em;
    padding: 5px 0;
    line-height: 1em;
    color: gray;
}
.map-toggle-icon:not(:last-child) {
    border-right: 1px solid gray;
}
.map-toggle-icon:not(.active) {
    background: white;
}
.map-toggle-icon.active {
    background: transparent;
    color: white;
}
.map-toggle-icon[disabled] {
    background: lightgrey;
}
.map-toggle-icon .text-icon {
    font-size: 4.2vw;
    height: 37px;
    line-height: 25px;
}

.export-by-pdf-hidden {
    display: none;
}

@media (min-width: 600px)
{
    .map-toggle-icon .text-icon {
        font-size: 20px;
    }
}

.clickable {
    cursor: pointer;
}

/* ---------------------------------------------------------- */
/*                      PDF MODAL PAGES                       */
/* ---------------------------------------------------------- */

.pdf_modal_page {
    background-color: white;
    height: 100%;
    overflow-x: hidden;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    font-family: Lato,"Helvetica Neue",Helvetica,Arial,sans-serif;
    font-size: 16px;
}
.pdf_modal_page .content-header {
    position: relative;
    padding: 40px 0 0 0;
    text-align: center;
}
.pdf_modal_page .content-header .content-header-main {
    font-size: 23px;
    margin-top: 20px;
    font-weight: 900;
    line-height: 1.1;
}
.pdf_modal_page .content-container {
    padding-left: 15px;
    padding-right: 15px;
    margin-bottom: 20px;
}
.pdf_modal_page .pdf-plan {
    margin-bottom: 20px;
}
.pdf_modal_page .pdf-plan .pdf-plan-element {
    margin-top: 10px;
}
.pdf_modal_page .pdf-article {
    margin: 50px 0;
}
.pdf_modal_page .pdf-article .pdf-article-title {
    font-weight: bold;
    margin: 30px 0;
}


@media (min-width:600px)
{
    /* ---------------------------------------------------------- */
    /*                      PDF MODAL PAGES                       */
    /* ---------------------------------------------------------- */
    .pdf_modal_page .content-header,
    .pdf_modal_page .content-body {
        width: 83.3333333333%;
        margin-left: 8.3333333333%;
    }

    .pdf_modal_page {
        font-size: 20px;
    }

    .pdf_modal_page .content-header {
        padding: 150px 0 20px 0;
    }

    .pdf_modal_page .content-header .content-header-main {
        font-size: 40px;
        margin-top: 10px;
    }

    .pdf_modal_page .pdf-article {
        margin: 100px 0;
    }

    .pdf_modal_page .pdf-article .pdf-article-title {
        margin: 30px 0;
    }
}

/* ---------------------------------------------------------- */
/*                      TOUR DETAILS                          */
/* ---------------------------------------------------------- */

.tour_details {
    background-color: white;
    height: 100%;
    overflow: auto;
    -webkit-overflow-scrolling: touch;
    font-family: Lato,"Helvetica Neue",Helvetica,Arial,sans-serif;
    font-size: 16px;
}
.tour_details .content-header {
    position: relative;
    padding: 40px 0;
    text-align: center;
}
.tour_details .content-header .content-header-sub {
    font-weight: 400;
    font-size: 18px;
    margin-bottom: 5px;
    margin-top: 20px;
}
.tour_details .content-header .content-header-main {
    font-family: Clarendon,Georgia,Times New Roman,Times,serif;
    font-size: 42px;
    margin-top: 5px;
    margin-bottom: 10px;
    font-weight: 900;
    line-height: 1.1;
}

.tour_details .content-container {
    padding-left: 15px;
    padding-right: 15px;
    margin-bottom: 20px;
}
.tour_details .page-body {
    padding: 0;
}
.tour_details .content-body .tour-data .tour-compatible-transport-types {
    margin: 5px auto 10px auto;
    text-align: center;
}
.tour_details .content-body .tour-data .tour-compatible-transport-type-icon {
    border: 1px solid black;
    border-radius: 100%;
    padding: 5px;
    margin: 0 10px;
}
.tour_details .content-body .tour-data .tour-additional-data {
    text-align: center;
    margin: 10px 0;
}

.tour_details .content-body .tour-has-closed-activities {
    text-align: center;
    color: #ea0038;
    margin: 10px;
}
.tour_details .content-body .content-description {
    font-family: Georgia,Times New Roman,Times,serif;
    font-style: italic;
    text-align: center;
    margin: 0 0 10px;
    word-break: break-word;
}
.tour_details .content-body .step {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-flow: row nowrap;
    flex-flow: row nowrap;
    -ms-flex-align: center;
    align-items: center;
    position: relative;
}
.tour_details .content-body .step .step-image-container {
    width: 30%;
    min-width: 136px;
    margin-right: 15px;
    text-align: center;
    position: relative;
    -ms-flex-positive: 0;
    flex-grow: 0;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    -ms-flex-item-align: stretch;
    -ms-grid-row-align: stretch;
    align-self: stretch;
}
.tour_details .content-body .step .step-image-container:before,
.tour_details .content-body .between-step[data-has-data] .between-step-decorator-container .between-step-decorator:before {
    content: "";
    display: block;
    height: 100%;
    position: absolute;
    left: 50%;
    margin-left: -7px;
    -webkit-mask: url(../images/common/dots.svg);
    mask: url(../images/common/dots.svg);
    width: 15px;
    -webkit-mask-size: 14px;
    mask-size: 14px;
}
.tour_details .content-body .step:first-child .step-image-container:before {
    height: 50%;
    bottom: 0;
}
.tour_details .content-body .step:last-child .step-image-container:before {
    height: 50%;
    top: 0;
}
.tour_details .content-body .step .step-image-container .step-image-decorator {
    max-width: 136px;
    height: auto;
    margin: 0 auto;
    margin-top: 20px;
    margin-bottom: 20px;
    -webkit-clip-path: polygon(50% 0,100% 50%,50% 100%,0 50%);
    clip-path: polygon(50% 0,100% 50%,50% 100%,0 50%);
}
.tour_details .content-body .step .step-image-container .step-image-decorator a:active,
.tour_details .content-body .step .step-image-container .step-image-decorator a:focus,
.tour_details .content-body .step .step-image-container .step-image-decorator a:hover {
    font-family: icomoon!important;
    speak: none;
    font-style: normal;
    font-weight: 400;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}
.tour_details .content-body .step .step-image-container .step-image-decorator a:active:before,
.tour_details .content-body .step .step-image-container .step-image-decorator a:focus:before,
.tour_details .content-body .step .step-image-container .step-image-decorator a:hover:before {
    content:"\e661";
    color: #b06ba3;
    font-size: 36px;
    position: absolute;
    top: 50%;
    left: 50%;
    z-index: 400;
    margin-top: -.5em;
    margin-left: -.5em;
}
.tour_details .content-body .step .step-image-container .step-image-decorator a:active:after,
.tour_details .content-body .step .step-image-container .step-image-decorator a:focus:after,
.tour_details .content-body .step .step-image-container .step-image-decorator a:hover:after {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 100;
    background-color: #fff;
    opacity: .5;
}
.tour_details .content-body .step .step-image-container .step-image-decorator img {
    position: relative;
    width: 124px;
    height: 124px;
    margin: 6px;
    background-color: #fff;
    vertical-align: middle;
    -webkit-clip-path: polygon(50% 0,100% 50%,50% 100%,0 50%);
    clip-path: polygon(50% 0,100% 50%,50% 100%,0 50%);
}


.tour_details .content-body .step .step-city {
    font-size: 16px;
    font-weight: 400;
    margin-top: 20px;
    margin-bottom: 0;
    line-height: 1.1;
}
.tour_details .content-body .step .step-name {
    font-family: Clarendon,Georgia,Times New Roman,Times,serif;
    font-size: 24px;
    font-weight: 400;
    margin-top: 10px;
    margin-bottom: 5px;
    line-height: 1.1;
}
.tour_details .content-body .step .step-is-closed {
    color: red;
    margin: 5px 0;
}
.tour_details .content-body .step-additional-data {

}
.tour_details .content-body .step-additional-data > * {
    text-align: center;
    display: inline-block;
}
.tour_details .content-body .step-additional-data a {
    min-width: 24px;
}
.tour_details .content-body .step-additional-data .activity-icon {
    vertical-align: middle;
    font-size: 23px;
}
.tour_details .content-body .step-additional-data .full-phone {
    display: none;
}

.tour_details .content-body .between-step[data-has-data] {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-flow: row nowrap;
    flex-flow: row nowrap;
    -ms-flex-align: center;
    align-items: center;
    position: relative;
}
.tour_details .content-body .between-step[data-has-data] .between-step-decorator-container {
    width: 15%;
    min-width: 68px;
    margin-right: 15px;
    -ms-flex-positive: 0;
    flex-grow: 0;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    -ms-flex-item-align: stretch;
    -ms-grid-row-align: stretch;
    align-self: stretch;
    position: relative;
}
.tour_details .content-body .between-step[data-has-data] .between-step-decorator-container .between-step-decorator {
    height: 100%;
    position: absolute;
    right: 0;
}
.tour_details .content-body .between-step[data-has-data] .between-step-decorator-container .between-step-decorator:before {
    left: 100%;
}
.tour_details .content-body .between-step[data-has-data] .between-step-data {
    margin-top: 10px;
    margin-bottom: 10px;
    line-height: 36px;
}

.tour_details .map-container {
    height: 500px;
}
.tour_details .map-container .step-marker-container {
    position: absolute;
    width: 116px;
    height: 116px;
    cursor: auto;
    -webkit-clip-path: polygon(50% 0,100% 50%,50% 100%,0 50%);
    clip-path: polygon(50% 0,100% 50%,50% 100%,0 50%);
    transform: translate(-50%,-50%);
}
.tour_details .map-container .step-marker-container img.step-marker {
    position: absolute;
    top: 8px;
    left: 8px;
    width: 100px;
    height: 100px;
    -webkit-clip-path: polygon(50% 0,100% 50%,50% 100%,0 50%);
    clip-path: polygon(50% 0,100% 50%,50% 100%,0 50%);
    max-width: none;
}


/* ---------------------------------------------------------- */
/*                        JOURNEY                             */
/* ---------------------------------------------------------- */

.journey .content-entities,
.destination-details .content-entities {
    width: 100%;
    margin-top: 1rem;
    height: -webkit-calc(50% - 80px);
    height: calc(50% - 80px);
}

.journey .content-entities:not(.active), .journey .entities-type:not(.active) {
    display: none;
}

.journey .content-entities .activity-main-data,
.journey .content-entities .api-entity,
.journey.offline .content-entities > div,
.destination-details .content-entities > div {
    width: 100%;
    background-color: white;
    border-bottom: 1px solid rgba(175, 175, 175, 0.75);
    height: 54px;
}
.journey .content-entities .api-entity {
    padding-left: 2%;
    padding-right: 2%;
}
.journey .content-entities .api-entity.unavailable {
    background-color: rgba(128, 45, 41, 0.28);
}

.journey .content-entities[data-mode="see-all"] > div > div.activity-step-details {
    display: none;
}

.journey .content-entities[data-mode="see-step"] > div:not(.maximized), .journey .content-entities[data-mode="see-step"] > div.maximized > div:not(.activity-step-details) {
    display: none;
}

.journey .content-entities > div.maximized {
    height: auto;
    background: transparent;
    border-bottom: none;
}

.journey:not(.offline) .content-entities > div > div > div:not(.api-entity),
.journey:not(.offline) .content-entities .api-entity > div,
.journey.offline .content-entities > div > div,
.journey .content-entities .activity-number,
.journey .content-entities .activity-data,
.destination-details .content-entities > div > div,
.destination-details .content-entities .activity-number,
.destination-details .content-entities .activity-data{
    width: 32px;
    display: inline-block;
    height: 100%;
    overflow: hidden;
    text-align: center;
    line-height: 51px;
}
.journey.offline .content-entities > div > div {
    overflow: visible;
}
.journey.offline .activity-directions img {
    margin-top: -56px;
    height: 40px;
}

.journey .content-entities .activity-remove,
.journey .content-entities .activity-details,
.journey .content-entities .api-entity-marker-display-controller,
.notifications .content-entities .user-notification-details,
.select_entities .entities .entity-details,
.notifications .content-entities .user-notification-remove,
.select_entities .entities .entity-remove {
    width: 44px !important;
}

.journey .content-entities .activity-step-details {
    width: 100%;
    height: 100%;
    text-align: left;
    background: white;
}

.journey .content-entities .activity-step-details .white-box {
    padding: 3px 0;
    margin-bottom: 0;
}

.journey .content-entities .activity-step-details .white-box-title {
    line-height: 30px;
    font-size: 21px;
    padding: 0 10px;
}

.journey .content-entities .activity-step-details .white-box-title > div, .journey .content-entities .activity-step-details .white-box-title > div > span {
    font-size: 12px;
}

.journey .content-entities .activity-step-details .white-box-title > div > span {
    display: inline-block;
    margin-right: 3px;
    font-size: 13px;
}

.journey .content-entities .activity-step-details > .white-box > div:not(:last-child) {
    border-bottom: 1px solid rgba(175, 175, 175, 0.25);
}

.journey .content-entities .activity-step-details > .white-box > .white-box-element {
    padding: 5px 10px 5px 10px;
}

.journey .content-entities .activity-step-details > .white-box > .white-box-element * {
    font-size: 12px;
}

.journey .content-entities .activity-step-details .city-name {
    font-weight: 300;
    font-size: 13px !important;
    display: block;
    margin-top: -3px;
}

.journey .content-entities .activity-link,
.destination-details .content-entities > div > .activity-link {
    width: -webkit-calc(100% - 88px) !important;
    width: calc(100% - 88px) !important;
    vertical-align: top;
}
.journey .content-entities .step.has-api.display-control-on .activity-main-data .activity-link {
    width: -webkit-calc(100% - 132px) !important;
    width: calc(100% - 132px) !important;
}
.journey.offline .content-entities > div > .activity-link {
    width: -webkit-calc(100% - 60px) !important;
    width: calc(100% - 60px) !important;
}
.journey .content-entities .step:not(.display-control-on) .api-entity-container .activity-link {
    width: -webkit-calc(100% - 44px) !important;
    width: calc(100% - 44px) !important;
}

.journey .content-entities .activity-link > a,
.destination-details > div > .activity-link > a {
    color: #333333;
}

.journey .content-entities .activity-number,
.destination-details .content-entities .activity-number {
    position: relative;
    color: white;
    font-weight: bold;
    font-family: Roboto, Arial, serif;
    vertical-align: top;
}

.journey:not(.offline) .content-entities[data-entities="activities"] .activity-number::before {
    content: '\f077';
    position: absolute;
    top: 1px;
    left: 0;
    right: 0;
    margin: auto;
    color: white;
    font: normal normal normal 14px/1 FontAwesome;
    font-size: 10px;
    text-rendering: auto;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    -webkit-transform: translate(0, 0);
    -ms-transform: translate(0, 0);
    transform: translate(0, 0);
}

.journey:not(.offline) .content-entities[data-entities="activities"] .activity-number::after {
    content: '\f078';
    position: absolute;
    bottom: 3px;
    left: 0;
    right: 0;
    margin: auto;
    color: white;
    font: normal normal normal 14px/1 FontAwesome;
    font-size: 10px;
    text-rendering: auto;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    -webkit-transform: translate(0, 0);
    -ms-transform: translate(0, 0);
    transform: translate(0, 0);
}

.journey .content-entities .activity-data,
.destination-details .content-entities .activity-data{
    width: -webkit-calc(100% - 32px);
    width: calc(100% - 32px);
    padding: 9px;
}

.journey .content-entities .activity-data > *,
.destination-details .content-entities .activity-data > *{
    font-family: Roboto, Arial, serif;
    text-align: left;
}

.journey .content-entities .activity-data > .activity-data-name,
#content .notifications .content-entities .user-notification-data > .user-notification-data-name,
#content .select_entities .entities .entity-data > .entity-data-name,
.destination-details .content-entities .activity-data > .activity-data-name {
    font-size: 14px;
    font-weight: bold;
    line-height: 16px;
    width: 100%;
    white-space: nowrap;
    overflow: hidden;
    -o-text-overflow: ellipsis;
    text-overflow: ellipsis;
    padding-left: 1px;
}
#content .notifications .content-entities .user-notification-data .user-notification-data-name,
#content .select_entities .entities .entity-data .entity-data-name {
    white-space: normal;
    font-size: 13px;
    position: relative;
}
#content .select_entities .entities .entity-data .entity-message
{
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3; /* number of lines to show */
}
#content .notifications .content-entities .user-notification-data .user-notification-message-true-width,
#content .select_entities .entities .entity-data .entity-message-true-width {
    position: absolute;
    visibility: hidden;
    height: auto;
    width: auto;
    white-space: nowrap; /* Thanks to Herb Caudill's comment */
}

.journey .content-entities .activity-data > .activity-data-details,
.destination-details .content-entities .activity-data > .activity-data-details,
.notifications .content-entities .user-notification-data-details,
.select_entities .entities .entity-data-details {
    font-family: Roboto, Arial, serif;
    font-size: 13px;
    line-height: 19px;
}
.notifications .content-entities .user-notification-data-details,
.select_entities .entities .entity-data-details {
    position: absolute;
    right: 0;
    bottom: 0;
}
.notifications .content-entities .icon-cross,
.select_entities .entities .icon-cross {
    background-color: white;
}

.journey .content-entities .activity-data > .activity-data-details > span,
.destination-details .content-entities .activity-data > .activity-data-details > span,
.notifications .content-entities .user-notification-data-details > span,
.select_entities .entities .entity-data-details > span {
    font-size: 14px;
    vertical-align: text-top;
}

.journey .content-entities .activity-data > .activity-data-details > span.icon-pin,
.destination-details .content-entities .activity-data > .activity-data-details > span.icon-pin{
    margin-right: 1px;
}

.journey .content-entities .activity-data > .activity-data-details > span.icon-timer,
.destination-details .content-entities .activity-data > .activity-data-details > span.icon-timer{
    margin-right: 3px;
    margin-left: 5px;
}

.journey .content-entities .activity-remove {
    border-left: 1px solid rgba(175, 175, 175, 0.25);
    line-height: 49px;
}

.journey .content-entities .activity-check {
    border-left: 1px solid rgba(175, 175, 175, 0.75);
}

.journey .content-entities .activity-details {
    border-left: 1px solid rgba(175, 175, 175, 0.50);
    line-height: 54px;
    vertical-align: top;
}

.journey .content-entities .activity-details .view-activity-details {
    color: rgb(51, 51, 51);
}

.journey .content-entities .api-entities-collapser {
    color: rgb(0, 99, 119);
    font-size: 30px;
}

.journey .content-entities .api-entity-marker-display-controller {
    color: rgb(119, 8, 70);
    font-size: 27px;
    margin-top: 2px;
}

.journey .content-entities .activity-check > span {
    font-size: 13px;
    line-height: 40px;
    color: limegreen;
    font-weight: bold;
}

.journey .content-entities .activity-remove > span,
#content .notifications .content-entities .user-notification-remove > span,
#content .select_entities .entities .entity-remove > span {
    font-size: 14px;
    line-height: 54px;
    color: #666;
    font-weight: bold;
}

.journey .content-entities .activity-remove.disabled,
#content .notifications .content-entities .user-notification.disabled,
#content .select_entities .entities .entity.disabled {
    cursor: not-allowed;
}

.journey .content-entities .activity-remove.disabled > span,
#content .notifications .content-entities .user-notification.disabled > span,
#content .select_entities .entities .entity.disabled > span {
    color: #c3bebe;
    opacity: 0.5;
}

.journey .activity-description-area {
    position: absolute;
    z-index: 30;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    display: none;
}

.journey .link {
    margin-bottom: 0;
}

/* MAP */

.map-caption-head {
    font-size: 14px;
    margin-bottom: 5px;
}

.map-caption-info * {
    font-size: 13px;
}

.map-caption-body [class^="icon-"], .map-caption-body [class*=" icon-"] {
    font-size: 14px;
}

.map-caption-body .icon-euro {
    margin: 1px 10px 2px 5px;
    font-size: 23px;
    display: inline-block;
}

.map-caption-body .map-adresse2 {
    margin-bottom: 3px;
    margin-left: 29px;
}

.map-caption-body .icon-phone {
    margin-right: 7px;
}

.map-caption-body .icon-home {
    margin-right: 5.5px;
}

.map-caption {
    max-width: 250px;
    max-height: 170px;
    overflow-y: auto;
}

@media (min-width: 700px)
{
    .map-caption-head {
        font-size: 20px;
    }
    .map-caption-info * {
        font-size: 17px;
    }
    .map-caption-body [class^="icon-"], .map-caption-body [class*=" icon-"] {
        font-size: 20px;
    }
}

/* JOURNEY MAP layout OVERRIDES */
/*.journey-map {*/
/*padding-bottom: 55%;*/
/*position: relative;*/
/*}*/
#journey_gmap {
    position: absolute;
    left: 0;
    top: 0;
    right: 0;
    bottom: 0;
    border: solid #adadad;
    border-width: 3px 4px;
}
.journey .content-entities .activity-number,
.destination-details .content-entities .activity-number {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: -webkit-inline-flex;
    display: inline-flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    -webkit-flex-direction: column;
    flex-direction: column;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    -webkit-justify-content: center;
    justify-content: center;
    height: 41px;
    top: 5px;
    line-height: 40px;
}
#content .journey .content-entities,
#content .notifications .content-entities,
#content .select_entities .entities,
#content .destination-details .content-entities{
    margin-top: 0;
}
#content .journey:not(.offline) .content-entities .step > div,
#content .journey.offline .content-entities .step,
#content .destination-details .content-entities .step{
    margin-left: 2%;
    margin-right: 2%;
    width: auto;
}
#content .journey:not(.offline) .content-entities .step > div.api-entity-container {
    margin-left: 4%;
    margin-right: 0;
}
.journey .content-entities .activity-remove,
.journey .content-entities .activity-check,
.journey .content-entities .activity-details,
.notifications .content-entities .user-notification-remove,
.select_entities .entities .entity-remove,
.notifications .content-entities .user-notification-details,
.select_entities .entities .entity-details {
    border: 0;
}
.journey .content-entities .activity-remove > span.icon-cross,
.notifications .content-entities .user-notification-remove > span.icon-cross,
.select_entities .entities .entity-remove > span.icon-cross {
    color: #666;
    border: 1px solid #666;
    padding: 6px;
    -webkit-border-radius: 100%;
    border-radius: 100%;
}
/* JOURNEY */
body[page="journey"] .footer-banners,
body[page="notifications"] .footer-banners,
body[page="select_entities"] .footer-banners,
body[page="select_tour"] .footer-banners
{
    display: none; /* never put advert on journey page (need too much space) - FIXME: only for mobile */
}
body[page="journey"] .content,
body[page="notifications"] .content,
body[page="select_entities"] .content,
body[page="select_tour"] .content
{
    overflow: hidden;
    background: white;
}
#content[page="journey"] .journey .content-body {
    height: -webkit-calc(100% - 8vh);
    height: calc(100% - 8vh); /* Safari again CANNOT COMPUTE THAT */
    height: 76vh; /* SO .... */
    overflow: hidden;
    position: relative;
}
#content[page="notifications"] .notifications .content-body,
#content[page="select_entities"] .select_entities .content-body,
#content[page="select_tour"] .select_entities .content-body,
#content[page="journey"] .journey.offline .content-body {
    height: 84vh;
    overflow: hidden;
    position: relative;
}
#content[page="journey"] .journey.offline .content-body {
    display: flex;
    flex-direction: column;
}
body.has-ios-statusbar #content .journey:not(.offline) .content-body
{
    height: -webkit-calc(78vh - 20px);
    height: calc(78vh - 20px);
}
body.has-ios-statusbar #content .notifications .content-body,
body.has-ios-statusbar #content .select_entities .content-body {
    height: -webkit-calc(86vh - 20px);
    height: calc(86vh - 20px);
}

#content .journey .content-map {
    height: 55%;
    position: relative;
}
#content .journey.offline .content-map {
    height: auto;
}
#content .journey .journey-map {
    height: -webkit-calc(100% - 109px);
    height: calc(100% - 109px); /* 35px x3 button rows */
    position: relative;
}
#content .journey .entities-list-area {
    height: 45%;
}
#content .journey.offline .entities-list-area {
    height: auto;
    overflow-y: scroll;
}

.gmap-fullscreen-container {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    z-index: 100;
}
.gmap-fullscreen-container > #map {
    width: 100%;
    height: 100%;
}

#content .journey.offline .journey-map {
    height: 100%; /* 35px x1 button rows */
}
/*#content .journey.offline .journey-map {*/ /* TODO CHANGE BACK WHEN SHE PAYS */
/*height: calc(100% - 35px); !* 35px x1 button rows *!*/
/*}*/
#content .journey .content-entities {
    height: 100%;
    overflow: auto;
    -webkit-overflow-scrolling: touch;
}
body.has_advert #content .journey .content-entities {
    height: 34vh; /* .... WE CAN COMPUTE THAT OURSELVES HOPEFULLY */
}
#content .journey .content-entities .activity-data-details span {
    vertical-align: baseline;
}
/*.booking-link, .booking-link:focus, .booking-link:hover, .booking-link:visited {*/
/*    display: inline-block;*/
/*    float: right;*/
/*    color: white;*/
/*    cursor: pointer;*/
/*    !*background: #da6161;*!*/
/*    padding: 1px 8px;*/
/*    font-weight: bold;*/
/*    -webkit-border-radius: 5%;*/
/*    border-radius: 5%;*/
/*    border-width: 1px;*/
/*}*/
/*.booking-link.offline, .booking-link.offline:focus, .booking-link.offline:hover, .booking-link.offline:visited {*/
/*color: gray;*/
/*}*/

.journey .entities-content-bottom-area {
    position: relative;
    width: 100%;
}
.journey .entity-content-bottom-area {
    position: absolute;
    width: 100%;
    left: 0;
    top: 0;
}
.entity-content-bottom-area .content-bottom {
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    -webkit-flex-direction: row;
    flex-direction: row;
    -webkit-box-flex: 1;
    -ms-flex: 1 1 0px;
    -webkit-flex: 1 1 0;
    flex: 1 1 0;
}
.journey .entity-content-bottom-area .bottom-button {
    font-size: 1.8vh;
}

/* Google maps */
a[href^="http://maps.google.com/maps"],
a[href^="https://maps.google.com/maps"],
a[href^="https://www.google.com/maps"]
a[title="Report problems with Street View imagery to Google"]
{
    display:none !important
}
.gmnoprint a, .gmnoprint span, .gm-style-cc {
    display:none;
}
.gmnoprint div {
    background:none !important;
}


/* ACTIVITY DETAILS */
body[page="activity_details"] .content {
    /*overflow: hidden;*/ /* cf it breaks all below */
    overflow: auto;
    -webkit-overflow-scrolling: touch;
    background: white;
}


/* Activity details */
/* but before some dependant prefixed imported styles */
.activity_details .activity {
    position: relative;
    /*height: 100%;*/ /* it breaks all must bet let to auto */
}
.activity_details .activity-title-area {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 2;
    min-height: 32px;
    padding: 0 4px 0 13px;
    font-weight: normal;
    font-size: 22px;
    text-transform: uppercase;
    background-color: rgba(255, 255, 255, 0.9);
}

.activity_details .activity-title {
    display: inline-block;
    width: -webkit-calc(100% - 55px);
    width: calc(100% - 55px);
}

.activity_details .activity-title-small {
    font-size: 17px;
    line-height: 18px;
    padding-top: 6px;
}

/*.activity_details .activity-title-price {
    display: inline-block;
    width: 50px;
    text-align: right;
    vertical-align: top;
}       */ /* I have one already */

.activity_details .activity .activity-body {
    max-height: 100%;
}

.activity_details .activity .white-box {
    padding-top: 0;
    padding-bottom: 0;
}

.activity_details .activity .white-box .picture-area {
    overflow-y: hidden;
    background-position: center;
    background-repeat: no-repeat;
    -webkit-background-size: contain;
    background-size: contain;
}

.activity_details .citypasses {
    width: 100%;
    background-color: rgba(255, 255, 255, 0.8);
    padding: 7px 5px 5px 5px;
}

.activity_details .citypasses .condensed-roboto {
    font-size: 12px;
}

.activity_details {
    position: relative;
    height: 100%;
    /*margin: 0 10px;*/ /*removed and put on content-body as padding */
}

.activity_details .content-body {
    width: 100%;
    /*height: calc(100% - 40px);*/
    /*height: calc(100% - 55px); *//* random 55px ..... */

    background: rgba(255, 255, 255, 0.95);
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    -webkit-flex-direction: column;
    flex-direction: column;
    padding: 0 10px;

    /* ..... THANK YOU SAFARI */
    height: 100%;
    margin-bottom: -8vh;
    padding-bottom: 8vh;
}
.activity_details .bottom-button { /* ..... THANK YOU SAFARI */
    z-index: 10;
    position: relative;
}

.activity_details .activity_title-area {
    padding: 0 5px;
    -ms-flex-negative: 0;
    -webkit-flex-shrink: 0;
    flex-shrink: 0;
}

.activity_details .white-box:not(.activity-title-area) {
    background: none;
}

.activity_details .white-box-body:last-child {
    margin-bottom: 40px;
}

.activity_details .subarea {
    float: left;
    width: -webkit-calc(100% - 35px);
    width: calc(100% - 35px);
}

.activity_details .gmap-icon-area {
    float: right;
    width: 35px;
    padding: 10px 7px 0 0;
    text-align: right;
    height: 50px;
}

.activity_details .gmap-icon {
    width: 100%;
}

.activity_details .white-box-title {
    border-bottom: none;
    padding: 0;
}

.activity_details .activity-title {
    width: 100%;
    display: inline-block;
    white-space: nowrap;
    overflow: hidden;
    -o-text-overflow: ellipsis;
    text-overflow: ellipsis;
    font-size: 22px;
    line-height: 23px;
}

.activity_details .activity-title:not(.activity-title-small) {
    margin-top: 5px;
}

.activity_details .activity-title-details {
    margin-top: -4px;

}

.activity_details .activity-title-details * {
    font-size: 13px;
}

.activity_details .activity-title-details div {
    -webkit-transform: scale(0.85,1.05) translate(-9% , 0);
    -ms-transform: scale(0.85,1.05) translate(-9% , 0);
    transform: scale(0.85,1.05) translate(-9% , 0);
}

.activity_details .activity-title-details div > span {
    font-family: Roboto, Arial, serif;
}

.activity_details .activity {
    clear: both;
    height: auto;
    -webkit-overflow-scrolling: touch;
    overflow-y: auto;
}

.activity_details .activity-opening-period-period {
    font-weight: bold;
    margin-top: 5px;
}

.activity_details .activity-associated-push-notifications {
    background: #f7f6f7;
    margin-left: -5px;
    margin-right: -5px;
    padding: 4px 5px;
    font-size: 12px;
    line-height: 17px;
}
.activity_details .activity-associated-push-notifications .activity-associated-push-notifications-title {
    font-size: 14px;
}
.activity_details .activity-associated-push-notifications .activity-associated-push-notification {
    margin: 2px 0;
}

.activity_details .activity .activity-title-area {
    min-height: inherit;
    font-size: 20px;
}

.activity_details .activity-title-price {
    width: 100%;
    line-height: 22px;
    padding-top: 4px;
}

.activity_details .activity-title-price > span {
    margin: 0 2px;
}

.activity_details .citypasses {
    text-align: right;
    padding-right: 7px;
}

.activity_details .citypass {
    float: left;
    margin-top: 2px;
    height: 16px; /* added */
}

.activity_details .picture-area {
    position: relative;
}

.activity_details .swiper-slide img {
    width: 100%;
    height: 100%;
}

.activity_details .table {
    display: table;
    height: 100%;
}

.activity_details .table-cell {
    vertical-align: middle;
    display: table-cell;
}

.activity_details .prevButton, .activity_details .nextButton {
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto 0;
    z-index: 1;
}

.activity_details .prevButton {
    /*left: 8%;*/
    left: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    -webkit-flex-direction: column;
    flex-direction: column;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    -webkit-justify-content: center;
    justify-content: center;
}

.activity_details .nextButton {
    /*right: 8%;*/
    right: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    -webkit-flex-direction: column;
    flex-direction: column;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    -webkit-justify-content: center;
    justify-content: center;
}

.activity_details .prevButton .table-cell > div, .activity_details .nextButton .table-cell > div {
    position: relative;
}

.activity_details .prevButton a, .activity_details .nextButton a {
    color: white;
    /*display: inline-block;*/  /* y'a collision avec moi mon cochon. Moi c'est flex, corn-flex, pour centrer les kikis. Capiche ? */
    text-align: center;
}

.activity_details .prevButton a::before, .activity_details .nextButton a::before {
    content: "";
    position: absolute;
    top: -13px;
    left: -14px;
    opacity: 0.5;
    z-index: -1;
    -webkit-border-radius: 100%;
    border-radius: 100%;
}

.activity_details .activity-data {
    margin-bottom: 0;
}

.activity_details .activity-data .white-box-header {
    text-align: left;
    padding: 2px 5px;
}

.activity_details .activity-name {
    line-height: 22px;
    margin-bottom: 6px;
}

.activity_details .full-hours,
.activity_details .periods {
    display: none;
    padding-bottom: 10px;
}

.activity_details .full-hours-title,
.activity_details .periods-title {
    margin-top: 10px;
    margin-bottom: 5px;
    font-size: 16px;
}

.activity_details .activity-iconed-description {
    padding: 2px 0;
}

.activity_details .activity-iconed-description > .activity-icon {
    font-size: 16px;
    display: inline-block;
    vertical-align: text-bottom;
    width: 18px;
}




/* MISC */

/* MODAL */

.remodal {
    max-width: 500px !important;
}
.remodal-close {
    right: 0;
    left: initial !important;
}

.lang-modal .available-lang {
    display: inline-block;
    margin: 4% 5%;
    width: 30%;
    border-width: 3px;
    position: relative;
}
.lang-modal .available-lang img {
    width: 100%;
}
.lang-modal .available-lang.active-lang:before {
    content: '\f078';
    position: absolute;
    left: 0;
    right: 0;
    top: -2.5rem;
    margin: auto;
    font: normal normal normal 14px/1 FontAwesome;
    font-size: 100%;
    text-rendering: auto;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    -webkit-transform: translate(0, 0);
    -ms-transform: translate(0, 0);
    transform: translate(0, 0);
}

.menu-modal .close-button {
    font: inherit;
    display: inline-block;
    overflow: visible;
    min-width: 110px;
    margin: 0;
    padding: 12px 0;
    cursor: pointer;
    -webkit-transition: background 0.2s;
    -o-transition: background 0.2s;
    transition: background 0.2s;
    text-align: center;
    vertical-align: middle;
    text-decoration: none;
    border: 0;
    outline: 0;
    text-transform: uppercase;
}

.itinerary_save_confirmation_modal {
    display: none;
}
.itinerary_save_confirmation_modal input {
    width: 175px;
    margin-bottom: 20px;
    margin-left: 5px;
}

.confirmation-modal .subtext-padded {
    padding-bottom: 20px;
    font-size: 18px;
}
.confirmation-modal .subtext-error, .confirmation-modal .subtext-success {
    display: none;
}
.confirmation-modal .subtext-error {
    color: red;
}
.confirmation-modal .subtext-success {
    color: #5bb734;
}

.big-modal-container {
    max-height: calc(80vh - 70px);
    overflow-y: auto;
}

.push-notifications-manufacturer-warning {
    text-align: left;
}
.push-notifications-manufacturer-warning .manufacturers-title {
    text-align: center;
    font-weight: bold;
    margin-bottom: 20px;
}
.push-notifications-manufacturer-warning .manufacturers-intro {
    margin-bottom: 30px;
}
.push-notifications-manufacturer-warning .manufacturer-rules {
    margin-bottom: 30px;
}
.push-notifications-manufacturer-warning .manufacturer {
    font-weight: bold;
    margin-bottom: 5px;
}

.send-itinerary-by-mail-modal .includes-gps-directions-container {
    margin-top: 20px;
}
.send-itinerary-by-mail-modal .target-email {
    max-width: 100%;
}

/* Datetimepicker */

.jedateblue {
    border: none;
}

.c-datepicker {
    font-family: 'Roboto', sans-serif !important;
    -webkit-font-smoothing: antialiased;
}

.c-datepicker * {
    -webkit-box-sizing: content-box;
    box-sizing: content-box;
}

.c-datepicker__header-date * {
    line-height: normal;
}

.c-btn {
    font-size: 14px;
    font-weight: 600;
    display: inline-block;
    line-height: 36px;
    cursor: pointer;
    text-align: center;
    text-transform: uppercase;
    min-width: 88px;
    height: 36px;
    margin: 10px 8px;
    padding: 0 8px;
    letter-spacing: .5px;
    -webkit-border-radius: 2px;
    border-radius: 2px;
    background: #F1F1F1;
    color: #393939;
    -webkit-transition: background 200ms ease-in-out;
    -o-transition: background 200ms ease-in-out;
    transition: background 200ms ease-in-out;
    -webkit-box-shadow: 0 3.08696px 5.82609px 0 rgba(0, 0, 0, 0.16174), 0 3.65217px 12.91304px 0 rgba(0, 0, 0, 0.12435);
    box-shadow: 0 3.08696px 5.82609px 0 rgba(0, 0, 0, 0.16174), 0 3.65217px 12.91304px 0 rgba(0, 0, 0, 0.12435);
}

.c-btn--flat {
    background: transparent;
    margin: 10px 8px;
    min-width: 52px;
}

.c-btn:hover {
    background: rgba(153, 153, 153, 0.2);
    color: #393939;
}

.c-btn:active {
    -webkit-box-shadow: 0 9.6087px 10.78261px 0 rgba(0, 0, 0, 0.17217), 0 13.56522px 30.3913px 0 rgba(0, 0, 0, 0.15043);
    box-shadow: 0 9.6087px 10.78261px 0 rgba(0, 0, 0, 0.17217), 0 13.56522px 30.3913px 0 rgba(0, 0, 0, 0.15043);
}

.c-btn--flat, .c-btn--flat:hover, .c-btn--flat:active {
    -webkit-box-shadow: none;
    box-shadow: none;
}


@media (orientation:landscape) and (min-width:1920px) {
    #content .new-itinerary .form-header, #content .new-itinerary .form-pane,
    #content .new-tour .form-header, #content .new-tour .form-pane {
        max-width: 45vw !important;
    }

    body {
        font-size: 0.9vw !important;
    }

    /*input[type="date"], input[type="time"] {*/
    /*    width: 7.5vw !important;*/
    /*}*/
}

/* OFFLINE LAYOUT */
#current-position-pin {
    position: fixed;
    z-index: -100;
    opacity: 0.01;
}

.current-position-pin {
    position: absolute;
    z-index: 1;
    width: 5vw;
}

/* OFFLINE JOURNEY */
#content .journey.offline .content-map {
    z-index: 1;
}
.pinch-zoom-container {
    position: static !important;
}

/* DESTINATION (FINALE) DETAILS */
.static-map {
    width: 100%;
    height: 100%;
}
.destination-details {
    overflow-y: auto;
}
.destination-details .destination-map {
    height: -webkit-calc(40vh - 35px);
    height: calc(40vh - 35px);
    position: relative;
    z-index: 1;
}
.destination-details table.steps {
    width: 100%;
}
.destination-details table.steps tbody tr:nth-child(even) {
    background-color: #f7f7f7;
}
.destination-details .infos {
    padding-top: 10px;
    padding-bottom: 5px;
}
.destination-details .infos span {
    font-size: 18px;
    font-weight: 300;
    font-family: Roboto, "Helvetica Neue", Helvetica, Arial, sans-serif;
}

/* NOTIFICATIONS */

#content .notifications .content-entities,
#content .select_entities .content-entities {
    width: 100%;
}

#content .notifications .notifications-section,
#content .select_entities .entities-section {
    display: flex;
    flex-direction: column;
    height: 100%;
    width: 100%;
}

#content .notifications .notifications-list-area,
#content .select_entities .entities-list-area {
    display: flex;
    min-height: 0;
}
#content .notifications .content-title,
#content .select_entities .content-title {
    height: -webkit-calc(4vh + 15px);
    height: calc(4vh + 15px);
    flex-shrink: 0;
}
#content .notifications .content-title .notifications-page-title,
#content .select_entities .content-title .entities-page-title {
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
}
#content .notifications .content-title span,
#content .select_entities .content-title span {
    display: inline-block;
    margin-bottom: -6px;
    font-size: 20px;
    text-transform: uppercase;
}
#content .notifications .notifications-tabs-buttons,
#content .select_entities .entities-tabs-buttons {
    display: flex;
}
#content .notifications .notifications-tabs-buttons .notifications-tab-button,
#content .select_entities .entities-tabs-buttons .entities-tab-button {
    margin: 1px;
    text-align: center;
    border-width: 1px;
    width: 25%;
    line-height: 26px;
    transition: background-color 0.5s, color 0.5s;
}
#content .notifications .notifications-tabs-buttons .notifications-tab-button:not([data-picked]),
#content .select_entities .entities-tabs-buttons .entities-tab-button:not([data-picked]) {
    background: white !important;
}
#content .notifications .notifications-tabs-buttons .notifications-tab-button[data-picked],
#content .select_entities .entities-tabs-buttons .entities-tab-button[data-picked] {
    color: white !important;
}
#content .notifications .notifications-tabs-buttons .notifications-tab-button[data-disabled],
#content .select_entities .entities-tabs-buttons .entities-tab-button[data-disabled] {
    /*background: lightgray !important;*/
    /*border-color: #919191 !important;*/
    /*color: #919191 !important;*/
}
#content .notifications .notifications-filters-subtypes .notifications-filters-subtypes-button,
#content .select_entities .entities-filters-subtypes .entities-filters-subtypes-button {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 5px 10px;
    font-weight: bold;
    color: white;
}
#content .notifications .notifications-filters-subtypes .notifications-filters-subtypes-text,
#content .select_entities .entities-filters-subtypes .entities-filters-subtypes-text {
    font-weight: bold;
}
#content .notifications .notifications-filters-subtypes .notifications-filters-subtypes-icon,
#content .select_entities .entities-filters-subtypes .entities-filters-subtypes-icon {
    display: inline-block;
    transform: rotate(90deg);
    margin-bottom: -8px;
    font-weight: bold;
}
#content .notifications .content-entities-type,
#content .select_entities .entities-type {
    position: relative;
}
#content .notifications .content-entities-scroller,
#content .select_entities .content-entities-scroller {
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    width: 100%;
}
#content .notifications .notifications-filters-subtypes:not([data-picked]),
#content .notifications .notifications-filters-subtypes[data-unsubscribed],
#content .notifications .content-entities-type:not([data-picked])
{
    display: none;
}
#content .notifications .content-entities-scrollbar,
#content .select_entities .entities-scrollbar {
    position: fixed;
    width: 3px;
    margin-left: calc(100% - 3px);
    margin-top: 0;
    z-index: 1;
}
#content .notifications .notifications-filters-period,
#content .notifications .notifications-filters-subtypes .notifications-filters-subtypes-picker,
#content .select_entities .entities-filters-period,
#content .select_entities .entities-filters-subtypes .entities-filters-subtypes-picker {
    color: white;
    text-transform: uppercase;
}
#content .notifications .notifications-filters-subtypes .notifications-filters-subtypes-picker-container,
#content .select_entities .entities-filters-subtypes .entities-filters-subtypes-picker-container {
    height: 0;
    overflow: hidden;
}
#content .notifications .notifications-filters-subtypes .notifications-filters-subtypes-picker-container[data-opened],
#content .select_entities .entities-filters-subtypes .entities-filters-subtypes-picker-container[data-opened] {
    height: initial;
}
#content .notifications .notifications-filters-subtypes .notifications-filters-subtypes-picker,
#content .select_entities .entities-filters-subtypes .entities-filters-subtypes-picker {
    padding: 2vh;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: stretch;
    align-items: flex-start;
}
#content .notifications .notifications-filters-subtypes .notifications-filters-subtypes-picker .notification-subtype,
#content .select_entities .entities-filters-subtypes .entities-filters-subtypes-picker .entity-subtype {
    min-width: calc(50% - 10px);
    max-width: 250px;
    margin: 5px;
    text-align: center;
    background: white;
    transition: background-color 0.3s, color 0.3s;
}
#content .notifications .notifications-filters-subtypes .notifications-filters-subtypes-picker .notification-subtype:not([data-picked]),
#content .select_entities .entities-filters-subtypes .entities-filters-subtypes-picker .entity-subtype:not([data-picked])
{
    background: none;
    color: white !important;
}
#content .notifications .notifications-filters-period {
    position: relative;
    height: 48px;
}
#content .select_entities .bottom-button {
    min-height: 48px;
    height: 8vh;
}
#content .notifications .notifications-filters-period,
#content .notifications .notifications-filters-period *,
#content .select_entities .entities-filters-period,
#content .select_entities .entities-filters-period * {
    -ms-touch-action: none;
    touch-action: none;
    user-select: none;
}
#content .notifications .notifications-filters-period .notifications-filters-period-container,
#content .select_entities .entities-filters-period .entities-filters-period-container {
    position: absolute;
    left: 33.33%;
    top: 0;
    width: 1500%;
    height: 100%;
}
#content .notifications .notifications-filters-period .notifications-filters-period-container .notifications-filter-period,
#content .select_entities .entities-filters-period .entities-filters-period-container .entities-filter-period {
    width: 33.33vw;
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100%;
    float: left;
}
#content .notifications .notifications-filters-period .notifications-filters-period-container .notifications-filter-period > span,
#content .select_entities .entities-filters-period .entities-filters-period-container .entities-filter-period > span {
    text-align: center;
    display: inline-block;
    max-width: calc(100% - 20px);
}
#content .notifications .notifications-filters-period .notifications-filters-period-selector,
#content .select_entities .entities-filters-period .entities-filters-period-selector {
    position: absolute;
    z-index: 1;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
}
#content .notifications .notifications-filters-period .notifications-filters-period-selector-visual,
#content .select_entities .entities-filters-period .entities-filters-period-selector-visual {
    position: absolute;
    z-index: 1;
    width: 39.33%;
    height: 100%;
    left: 30.33%;
    top: 0;
    background: rgba(255, 255, 255, 0.3);
    border-radius: 30px;
}
#content .notifications .notifications-filters-period .notifications-filters-period-selector-visual:before,
#content .notifications .notifications-filters-period .notifications-filters-period-selector-visual:after,
#content .select_entities .entities-filters-period .entities-filters-period-selector-visual:before,
#content .select_entities .entities-filters-period .entities-filters-period-selector-visual:after {
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto 0;
    font-size: 15px;
    line-height: 13px;
    height: 11px;
    font-family:icomoon;
}
#content .notifications .notifications-filters-period .notifications-filters-period-selector-visual:before,
#content .select_entities .entities-filters-period .entities-filters-period-selector-visual:before {
    content: "\e799";
    left: 5%;
}
#content .notifications .notifications-filters-period .notifications-filters-period-selector-visual:after,
#content .select_entities .entities-filters-period .entities-filters-period-selector-visual:after {
    content: "\e6df";
    right: 5%;
}
.notifications .content-entities .main-data .notification-data,
.select_entities .entities .main-data .entity-data {
    display: inline-block;
    height: 100%;
    overflow: hidden;
    text-align: center;
    line-height: 51px;
}
#content .notifications .user-notification-data,
#content .select_entities .entity-data,
.activity_details .user-notification-data {
    display: flex;
    flex-direction: column;
    padding: 5px;
}
#content .notifications .user-notification-data .notification-data-column.main-column,
#content .notifications .user-notification-data .notification-data-column.options-column,
#content .select_entities .entity-data .entity-data-column.main-column,
#content .select_entities .entity-data .entity-data-column.options-column,
.activity_details .activity-data-main {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    padding-left: 5px;
}
#content .select_entities .entity-data .entity-data-column.additional-data-column {
    padding-left: 5px;
    font-weight: bold;
    font-size: 13px;
}
#content .notifications .notification-data-type-container,
#content .select_entities .entity-data-type-container,
.activity_details .activity-data-type-container {
    width: calc(100% - 100px);
    height: 30px;
    display: flex;
    flex-direction: column;
}
#content .notifications .notification-data-type-container:not(.has-booking-link),
#content .select_entities .entity-data-type-container:not(.has-booking-link) {
    width: 100%;
}
#content .notifications .notification-data-type-container .notification-data-type,
#content .select_entities .entity-data-type-container .entity-data-type,
.activity_details .activity-data-type-container {
    font-size: 17px;
    font-weight: bold;
    line-height: 29px;
    white-space: nowrap;
    overflow-x: hidden;
    text-overflow: ellipsis;
}
#content .notifications .user-notification-data-name,
#content .select_entities .entity-data-name {
    width: calc(100% - 50px);
    height: 55px;
    overflow: hidden;
}
.notifications .content-entities .user-notification-remove,
.select_entities .entities .entity-remove {
    text-align: center;
    align-self: flex-end;
    margin-bottom: 5px;
}
#content .notifications .content-entities .user-notification-remove > span,
#content .select_entities .entities .entity-remove > span {
    line-height: 29px;
}
#content .notifications .notification-image .picture-area,
#content .select_entities .entity-image .picture-area {
    width: 100%;
    height: 100%;
}
#content .notifications .no-entity,
#content .select_entities .no-entity {
    display: none;
    text-align: center;
    padding: 5vh;
    background: #f1efef;
    font-size: 16px;
}
#content .notifications .no-entity:first-child,
#content .select_entities .no-entity:first-child {
    display: block;
}
#content .notifications .ask-for-subscription {
    text-align: center;
    padding: 3vh;
    font-size: 14px;
}
#content .notifications .ask-for-subscription .ask-for-subscription-link {
    display: block;
    width: 500px;
    max-width: 100%;
    margin-top: 3vh;
    padding: 4vh;
    text-transform: uppercase;
}
#content .notifications .notifications-bottom-menu,
#content .select_entities .entities-bottom-menu {
    flex-shrink: 0;
    margin-top: auto;
}
#content .notifications .bottom-area,
#content .select_entities .bottom-area {
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
}
#content .notifications .bottom-area > a,
#content .select_entities .bottom-area > a {
    font-size: 2vh;
    height: 8vh;
    vertical-align: top;
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: -webkit-inline-flex;
    display: inline-flex;
}
#content .notifications .bottom-area > a .icon-check,
#content .select_entities .bottom-area > a .icon-check {
    line-height: 34px;
    font-size: 20px;
}
#content .notifications .user-notification-read > span,
#content .select_entities .entity-read > span {
    position: absolute;
    left: 0;
    right: calc(70% - 86px);
    top: 0;
    bottom: 0;
    margin: auto;
    width: 45px;
    height: 45px;
    text-align: center;
    font-size: 24px;
    line-height: 42px;
    transform: rotate(-15deg);
    color: #62318e;
}
#content .notifications .user-notification-read > span:after,
#content .select_entities .entity-read > span:after {
    content: "";
    position: absolute;
    z-index: -1;
    left: 50%;
    bottom: 50%;
    width: 1px;
    height: 1px;
    -moz-border-radius: 100%;
    border-radius: 100%;
    border: 1px solid #62318e;
    -webkit-box-shadow: -1px -1px 50px 35px #FFFFFF;
    box-shadow: -1px -1px 50px 35px #FFFFFF;
}

/* PROFILE &&SUBSCRIPTIONS */

.bottom-buttons-area {
    display: flex;
}
.bottom-buttons-area > *:not(:first-child)
{
    border-left-color: white;
    border-left-style: solid;
    border-left-width: 1px;
}

#content .new-itinerary,
#content .new-tour,
#content .init-profile,
#content .edit-profile,
#content .subscriptions {
    overflow-x: hidden;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
}
#content .new-itinerary #new-itinerary-form,
#content .new-tour #new-tour-form,
#content .init-profile #profile-form,
#content .edit-profile #profile-form,
#content .subscriptions #subscriptions-form {
    height: 76vh;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}
body.has-ios-statusbar #content .new-itinerary #new-itinerary-form,
body.has-ios-statusbar #content .new-tour #new-tour-form,
body.has-ios-statusbar #content .init-profile #profile-form,
body.has-ios-statusbar #content .edit-profile #profile-form,
body.has-ios-statusbar #content .subscriptions #subscriptions-form {
    height: calc(78vh - 20px);
}
#content .new-itinerary .new-itinerary-form-container,
#content .new-tour .new-tour-form-container,
#content .init-profile .profile-form-container,
#content .edit-profile .profile-form-container,
#content .subscriptions .subscriptions-form-container {
    position: relative;
    padding-bottom: 20px;
}
#content .init-profile .profile-description,
#content .edit-profile .profile-description,
#content .subscriptions .subscriptions-description {
    margin-bottom: 10px;
}
#content .init-profile .form-pane-select,
#content .edit-profile .form-pane-select {
    margin: 0;
}
#content .init-profile .add_button_area,
#content .edit-profile .add_button_area {
    text-align: center;
}
#content .init-profile .add_button_area a,
#content .edit-profile .add_button_area a {
    color: white;
    height: 100%;
    width: 100%;
    display: inline-block;
    padding: 3px 10vw;
    margin-top: 5px;
}

#content .init-profile .form-pane-select select,
#content .edit-profile .form-pane-select select {
    max-width: calc(80vw - 24px);
}
#content .init-profile .collection-holder,
#content .edit-profile .collection-holder {
    margin-top: 10px;
}
#content .init-profile .delete-link i,
#content .edit-profile .delete-link i {
    font-size: 20px;
    line-height: 26px;
    color: #de0000;
    margin-right: 8px;
}

#content .subscriptions .checkbox {
    width: 100%;
}

.collection-holder > div {
    width: 100%;
    margin: 5px 0;
    display: flex;
    align-items: center;
}
.collection-holder > div > div {
    display: flex;
    flex-grow: 1;
}
.collection-holder > div > div > div {
    display: flex;
    justify-content: space-between;
    align-items: center;
}