:root {
	--dark_blue: #5b8da3;
}

.grey_2 {
    color: #767676 !important;
}

.navbar nav {
	display: none;
}

.navbar.navbar-white nav {
	display: flex;
}

.nav-icons ul {
	margin-left: 24px !important;
	justify-content: flex-start !important;
	gap: 8px !important;
	list-style: none;
}
.nav-icons ul li {
	padding-left: 5px;
	padding-right: 5px;
	cursor: pointer;
}

.nav-icons ul svg {
	width: 28px;
	height: 28px;
	color: var(--green);
}

.nav-icons ul svg path {
	stroke: initial !important;
}

.nav-date-duration {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 5px;
    color: var(--grey_2);
}

.nav-date-duration > div {
    display: flex;
    gap: 8px;
}
.nav-pax svg,
.nav-date-duration svg {
	color: var(--green);
}

.nav-name {
    color: var(--black);
    font-size: 18px;
    text-transform: uppercase;
    font-weight: 500;
    display: flex;
    align-items: center;
    flex: 1;
    justify-content: center;
    white-space: nowrap;
}

.nav-name .tag {
    margin-bottom: 0;
    margin-left: 16px;
    font-size: 16px;
    padding: 8px 16px;
    line-height: 14px;
    border-radius: 4px;
    color: #fff;
    text-transform: none;
}

.nav-pax > div {
    color: var(--grey_2);
    display: flex;
    gap: 8px;
    align-items: center;
}

.navbar .logo-mini {
    display: none;
}


@media only screen and (max-width: 800px) {
	/*.navbar.navbar-white nav {
		display: none;
	}*/

	.navbar.navbar-white .logo-mini {
		width: 32px;
	    height: 32px;
	    display: block;
	}

	.navbar .logo-mini path {
		fill: #000;
	}

	.navbar-white .nav-logo {
		display: none;
	}

	.btn-phone {
		display: none;
	}

	.navbar {
		padding-left: 16px;
		padding-right: 16px;
    	justify-content: flex-start;
	}

	/*.navbar.navbar-white nav .nav-name {
		display: none;
	}*/
	.navbar.navbar-white nav .nav-date-duration {
		display: none;
	}
	.navbar.navbar-white nav .nav-pax {
		display: none;
	}

	.navbar.navbar-white nav .r-tot-price {
		justify-self: flex-end;

	}

	.nav-name .tag {
		display: none;
	}
	.nav-name {
		justify-content: flex-start;
		max-width: 150px;
		overflow: hidden;
		text-overflow: ellipsis;
		display: none;
	}

	.nav-icons ul {
		margin-left: 0 !important;
		gap: 4px !important;
	}

	/*.navbar.navbar-white nav {
		gap: 12px !important;
	}*/
}




.price-strike {
	opacity: .5;
    font-size: 24px;
    text-decoration: line-through;
    margin-right: 5px;
}

.r-tot-price {
	font-family: 'Inter', sans-serif;
    font-style: normal;
    font-weight: 700;
    text-align: right;
    letter-spacing: -0.03em;
    font-size: 24px;
    line-height: 30px;
    color: var(--green);
    display: flex;
    flex-direction: column;
}

.devis-no {
	font-family: 'Inter', sans-serif;
    font-style: normal;
    font-weight: 700;
    font-size: 87px;
    line-height: 105px;
    text-align: center;
    letter-spacing: -0.03em;
    font-size: 30px;
    line-height: 50px;
    color: #fff;
    display: block;
    margin: auto;
    margin-top: 16px;
    padding: 4px 24px;
    border-radius: 8px;
    background: var(--green);
    box-shadow: var(--drop_large);
    width: fit-content;
}

.devis-no span {
	background: var(--green);
    font-size: 74px;
    line-height: 85px;
    text-shadow: none;
    display: flex;
    width: 90px;
    height: 90px;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    box-shadow: var(--drop_large);
}

@media only screen and (max-width: 800px) {
	.devis-no {
		font-size: 20px;
	    line-height: 36px;
	    padding: 4px 18px;
	}
}



.tooltip {
  position: relative;
  display: inline-block;
  cursor: pointer;
}

.tooltip::after {
  content: attr(data-tooltip);
  visibility: hidden;
  width: 100px;
  background-color: black;
  color: #fff;
  text-align: center;
  padding: 5px;
  border-radius: 5px;
  
  /* Positioning */
  position: absolute;
  bottom: 125%; /* Adjust this as necessary */
  left: 50%;
  transform: translateX(-50%);
  opacity: 0;
  transition: opacity 0.3s;
  
  /* Tooltip arrow (optional) */
}

.tooltip:hover::after {
  visibility: visible;
  opacity: 1;
}

.vos-hotels {
	width: var(--container);
	margin: auto;
}

.vh-row {
	display: flex;
	padding-bottom: 40px;
	margin-bottom: 32px;
	gap: 48px;
	align-items: center;
	border-bottom: 1px solid var(--grey_3);
}

.vh-row:first-child {
	padding-top: 32px;
	border-top: 1px solid var(--grey_3);
}

.vh-city {
	width: 160px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 12px;
}

.vh-city h3 {
	font-size: 20px;
	display: flex;
	gap: 5px;
	text-align: center;
	align-items: center;
}
.vh-city span {
	color: var(--grey_2);
}

.vh-row .trip-hotels {
}

.vh-hotel-dates {
	width: 100%;
	display: flex;
	align-items: center;
	gap: 5px;
	justify-content: center;
}

.title-alt {
	margin-bottom: 16px;
	margin-left: calc(25% + 48px);
}

.title-alt-phone {
	display: none;
}

@media only screen and (max-width: 800px) {
	.vh-row {
		flex-direction: column;
		gap: 24px;
	}

	.title-alt-phone {
		width: 100%;
		margin-top: 16px;
		text-align: center;
		display: flex;
        align-items: center;
        justify-content: center;
        gap: 10px;
	}

	.title-alt {
		display: none;
	}


}





.circuit-itinerary {
	width: var(--container);
	margin: auto;
	margin-bottom: 128px;
}	

.r-it-row {
	display: flex;
	align-items: center;
	gap: 24px;
	padding-top: 10px;
	padding-bottom: 10px;
	justify-content: flex-start;
	position: relative;
	cursor: pointer;
}

.r-it-row:after {
	content: '';
	display: block;
	height: 100%;
	width: 1px;
	border-left: 1px dashed var(--green);
	position: absolute;
	top: 50%;
	left: 158px;
}
.r-it-row:last-child:after {
	display: none;
}

.r-it-content {
	flex: 1;
	color: var(--grey_2);
}

.r-it-content b {
	color: #000;
}
.r-it-content em {
	font-size: 12px;
	opacity: .7;
}

.r-jno {
	width: 30px;
	height: 30px;
	border-radius: 50%;
	border: 2px solid var(--green);
	color: #fff;
	font-weight: 700;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	background: var(--green);
	font-size: 12px;
	z-index: 2;
}

.r-it-date {
	width: 120px;
	text-transform: capitalize;
	color: var(--green);
}

@media only screen and (max-width: 800px) {

	.r-it-row{
		gap: 16px;
	}

	.r-it-date {
		display: none;
	}

	.r-it-row:after {
		left: 16px;
	}

	.r-it-content {
		line-height: 18px;
	}

}


.map-item.map-hover.highlight,
.map-item.map-hover:hover {
    transform: translateY(8px);
    box-shadow: var(--drop_large), 8px 8px 0px var(--green);
    transition: all .3s ease-out;
}




.trip .trip-itinerary {
	background: #fff;
    list-style: none;
    margin: 0;
    padding: 3px;
    text-align: center;
    margin-top: 24px;
    color: var(--grey_1);
}

.trip .trip-itinerary li {
	margin-bottom: 2px;
	display: flex;
    justify-content: center;
    gap: 2px;
}

.trip .trip-itinerary li svg {
	display: inline-block;
	margin-right: 5px;
}

.trip .trip-itinerary em {
	opacity: .7;
	font-size: 12px;
}

.trip .trip-itinerary-phone {
    list-style: none;
    margin: 0;
    padding: 0;
    text-align: center;
    margin-top: 8px;
    color: var(--grey_1);
    align-items: center;
    justify-content: center;
    display: none;
    gap: 16px;
}

.trip .trip-itinerary-phone li {
	margin-bottom: 2px;
}

.trip .trip-itinerary-phone em {
	opacity: .7;
	font-size: 12px;
}

.trip .trip-itinerary-phone li.dashed-separator {
	flex: 1;
    border-top: 4px dotted #ffffff;
    height: 12px;
    margin-left: 16px;
    margin-right: 16px;
}

.trip {
	position: relative;
	margin-bottom: 0;
	padding-bottom: 128px;
}

.trip:after {
    content: "";
    width: 1px;
    height: 100%;
    position: absolute;
    top: 0;
    left: 196px;
/*    border-left: 1px dashed var(--ink-light);*/
    border-left: 6px dotted var(--green);
    opacity: .5;
    z-index: -1;
}

.trip-img.trip-img-sticky {
	position: sticky;
	top: 80px;
	width: 400px;
	background: #fff;
}

.trip-img {
	position: relative;
}
.trip-img > .trip-img-text {
	position: absolute;
    bottom: 0;
    padding: 16px;
  	color: #fff;
    top: 0;
    left: 0;
    right: 0;
    /*background: linear-gradient(transparent 50%, rgba(0, 0, 0, .5) 100%);
    background: rgba(0,0,0,.3);
    background: linear-gradient(0deg, transparent 60%, rgba(0,0,0,1) 100%);*/
/*    background: linear-gradient(0deg, transparent 85%, rgba(0,0,0,.4) 100%);*/
    border-radius: 20px;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    font-family: 'Inter', sans-serif;
    font-style: normal;
    font-weight: 400;
    font-size: 14px;
    line-height: 21px;
}

.trip-img > .trip-img-text h3 {
	color: white;
    font-family: 'Inter', sans-serif;
    font-style: normal;
    font-weight: 700;
    letter-spacing: -0.03em;
    font-size: 18px;
    line-height: 20px;
    margin-bottom: 8px;
}
.trip-img > .trip-img-text span {
	text-shadow: 0px 0px 10px rgba(0, 0, 0, 1);
}

.trip img.trip-img {
	display: block !important;
}

.trip-city-hotel {
	background: #fff;
	padding: 5px;
	justify-content: center;
	margin-top: 24px;
}

.hotel-selected {
	background: #fff;
	box-shadow: var(--drop_large);
	border-radius: 20px;
	display: flex;
	align-items: center;
	justify-content: flex-start;
	gap: 24px;
	overflow: hidden;
	margin-top: 32px;
	width: 66.67%;
}

.hotel-selected img {
	width: 180px;
	border-radius: 0;
}

.hotel-selected > div {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: center;
	gap: 4px;
	text-align: left;
}

.hotel-selected > div i {
	color: var(--grey_2);
}

.hotel-selected > div b {
	color: #000;
}



.trip-hotels {
	display: flex;
	margin-top: 32px;
	margin-top: 0;
	gap: 16px;
	flex-wrap: wrap;
}
.trip-hotels .hotel {
	text-align: left;
	color: #fff;
	box-shadow: var(--drop_large);
	border-radius: 10px;
	background: #fff;
	position: relative;
	opacity: 1;
	aspect-ratio: 3/2;
	width: calc(25% - 10px);
	width: calc(25% - 25px);
}
.trip-hotels .hotel b {
	color: #fff;
}

.trip-hotels .hotel a {
	margin-bottom: 8px;
	color: #fff;
}

.trip-hotels .hotel.active {
    box-shadow: var(--drop_large), 8px 8px 0px var(--green);
    margin-right: 48px;
}

.trip-hotels .hotel .hotel-desc {
	position: absolute;
	left: 0;
    right: 0;
    top: 0;
    aspect-ratio: 3/2;
    border-radius: 10px;
	display: flex;
	flex-direction: column;
    padding: 10px;
    text-align: left;
    justify-content: flex-end;
    background: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0) 70%, rgba(0, 0, 0, 0.6) 100%);
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0;
}

.trip-hotels .hotel .hotel-desc a {
	font-family: 'Inter', sans-serif;
    font-style: normal;
    font-weight: 700;
    letter-spacing: -0.03em;
	color: #fff;
    font-size: 16px;
    line-height: 20px;
    margin: 0;
    text-decoration: none;

    display: -webkit-box !important;
	-webkit-line-clamp: 1;
	-webkit-box-orient: vertical;  
	overflow: hidden;
	text-overflow: ellipsis;
}

.trip-hotels .hotel .hotel-bg {
    width: 100%;
    top: 0;
    left: 0;
    object-fit: cover;
    border-radius: 10px;
    z-index: -1;
    box-shadow: none;
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0;
}

.trip-hotels .hotel .hotel-room {
	color: var(--grey_2);
    font-size: 14px;
    line-height: 17px;
    padding: 12px 10px;
    display: flex;
    flex-direction: column;
    gap: 8px;
    text-align: center;
}

.trip-hotels .hotel .stars {
	position: absolute;
    top: 8px;
    right: 8px;
    display: flex;
    filter: drop-shadow(0px 0px 20px black);
    gap: 2px;
    z-index: 2;
}
.trip-hotels .hotel .stars svg {
	width: 12px;
	height: 12px;
}

.trip h3.title-act {
	color: var(--brown);
	font-size: 18px;
	margin-bottom: 4px;
	font-weight: 400;
	margin-top: 24px;
}

.list-activities {
	width: 100%;
	justify-content: flex-start;
	margin-top: 24px;
	margin-bottom: 0;
}

.list-activities.map .card_1 {
	aspect-ratio: 3/2;
}

.list-activities.map .card_1 img {
	border-radius: 0;
}

.list-activities.map .card_1 .text_card_1 {
	color: #fff;
    font-size: 18px;
    line-height: 22px;
    padding: 12px;
    margin: 0;
}

.trip-content {
	flex: 1;
	position: sticky;
    top: 80px;
}

.trip-hotels-selected.trip-hotels .hotel {
	margin: 0;
    width: 100%;
    box-shadow: var(--drop_large), 8px 8px 0px var(--green);
}

.trip-hotels-selected.trip-hotels {
	width: 230px;
}

.trip-hotels-alternative {
	width: auto;
	flex: 1;
}

.trip-hotels-alternative .trip-hotels {
	width: 100%;
}

@media only screen and (max-width: 800px) {

	.trip {
		width: 100%;
	}

	.trip-img.trip-img-sticky {
		position: relative;
    	width: 100%;
    	top: 0;
	}

    .trip img {
    	width: 100%;
    	border-radius: 0;
    }

    .trip-img > .trip-img-text {
    	border-radius: 0;
    }

    .trip .trip-itinerary {
    	display: none;
    }

    .trip-content {
    	width: var(--container);
    	margin: auto;
    	position: static;
    	top: auto;
    }

    .trip:after {
    	display: none;
    }

	.list-activities {
		gap: 16px;
	}

    .list-activities.map .card_1 {
    	width: calc(50% - 8px);
    	height: auto;
    }

    .list-activities.map .card_1 .text_card_1 {
	    font-size: 16px;
	    line-height: 18px;
	    padding: 12px;
	}

	.trip-hotels-alternative .trip-hotels .hotel {
		width: calc(50% - 10px);
	}

	.vh-city {
		gap: 4px;
		width: 100%;
	}

	.vh-city h3 {
		gap: 12px;
	}

	.vh-city svg {
		width: 20px;
		height: 20px;
	}

	.trip-hotels-selected.trip-hotels .hotel {
		max-width: 240px;
	}

	.trip .trip-itinerary-phone {
		display: flex;
	}

	.trip-city-hotel {
		margin-top: 0;
	}

	.trip-hotels .hotel.active {
	    margin-right: auto;
	    margin-left: auto;
	    width: 230px;
	}

	.trip-hotels .hotel.hotel-alt {
		display: none;
	}

}



.map-names .col-names {
    align-items: flex-start;
    justify-content: flex-start;
    align-self: center;
}

.map-names .col-names .card_1 {
	aspect-ratio: 20 / 9;		
	width: calc(50% - 8px);
}

.map-names .col-names .card_1 .text_card_1 {
	color: #fff;
    font-size: 14px;
    line-height: 16px;
    padding: 6px;
    margin: 0;
}
.map-names .col-names .card_1 .text_card_1 > div {
	font-size: 12px;
}

@media only screen and (max-width: 800px) {
	.map-names {
		width: 100%;
	}

	.map-names .col-names {
		padding-left: 16px;
		padding-right: 16px;
	}

	.map-names .map-gmap-layout {
		border-radius: 0;
		height: 240px !important;
		min-height: 240px !important;
	}

	.map-names .col-names .card_1 .text_card_1 {
	    font-size: 16px;
	    line-height: 18px;
	    padding: 10px;
	    margin: 0;
	}

}




.logo-footer {
	padding-top: 180px;
	padding-bottom: 64px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, var(--green) 100%);
	background: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, var(--brown) 100%);
	background: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, #000000 100%);
	background: #a77e6cb5;
	background: rgb(21 15 2 / 80%);
	position: relative;
	margin-top: 96px;
}

.logo-footer .bg {
	position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    z-index: -1;
}

.logo-footer svg.the-logo {
	width: 80%;
	height: auto;
	max-width: 800px;
	filter: drop-shadow(0px 0px 16px rgba(0, 0, 0, .2));
}
.logo-footer svg.the-logo path {
    fill: var(--grey_3);
    fill: #fff;
}

.logo-footer .triangle-top {
    fill: #fff;
    position: absolute;
    width: 100%;
    height: var(--triangle_h);
    top: 0;
}

@media only screen and (max-width: 800px) {

	.intro-circuit {
		margin-bottom: 64px;
	}

	.logo-footer {
		padding-top: 96px;
		margin-top: 48px;
	}
}


.list-infos-pratiques .map-item {
	width: calc(25% - 24px);
}

@media only screen and (max-width: 800px) {
	.list-infos-pratiques {
		gap: 16px;
	}

	.list-infos-pratiques .map-item {
		width: calc(50% - 8px);
	}

	.list-infos-pratiques .map-item .text_card_1 {
		font-size: 18px;
		line-height: 20px;
	}

	.list-infos-pratiques .map-item > div {
		padding: 10px;
	}
}

.text-2col {
	column-count: 2;
	column-fill: balance;
	column-gap: 7mm;
}

@media only screen and (max-width: 800px) {
	.text-2col {
		column-count: 1;
	}	
}

.info-company {
	text-align: right;
}

.info-company svg {
	width: 240px;
	margin-left: auto;
}

.blog-author-resume .btn {
	padding: 8px 16px;
    color: #fff;
    font-size: 14px;
    line-height: 15px;
    text-decoration: none;
    margin: 0;
    display: inline-block;
    margin-top: 11px;
    border-radius: 6px;
}
.blog-author-resume .btn:hover {
	text-decoration: none;
}

@media only screen and (max-width: 800px) {
	.blog-author-resume {
		gap: 16px;
		text-align: center;
		padding-bottom: 32px;
	}

	.info-company {
		text-align: center;
	}

	.info-company svg {
		width: 240px;
		margin-left: auto;
		margin-right: auto;
	}

}


.modal-back {
	display: none;
}

@media only screen and (max-width: 800px) {
	.modal-content {
		border-radius: 0;
		margin: 0;
		width: 100%;
		border: none;
	}

	.modal-body {
		border-radius: 0;
		height: 100vh;
	}

	.modal-body iframe {
    	border-radius: 0;
    }

    .modal-close {
    	display: none;
    }

    .modal-back {
		display: flex;
		position: fixed;
		top: 0;
		left: 0;
		right: 0;
		background: var(--white);
		color: var(--black);
		box-shadow: var(--drop_large);
		padding: 16px;
		align-items: center;

		font-family: 'Inter', sans-serif;
	    font-style: normal;
	    font-weight: 500;
	    font-size: 17px;
	    font-size: 14px;
	    line-height: 21px;
	    gap: 8px;
        color: var(--grey_1);
        height: 60px;
        z-index: 2;
	}

}


.hotel-link {	
	position: absolute;
    top: 10px;
    left: 10px;
    z-index: 2;
	transition: all .1s;
}

.hotel-link:hover {
	transform: scale(1.5);
	transition: all .3s;
}	



/*.r-tot-price .circuit-price-tooltip {
	display: none;
}
.r-tot-price:hover .circuit-price-tooltip {
	position: fixed;
	top: 70px;
	right: 16px;
	display: flex;
	background: #fff;
	border-radius: 20px;
	box-shadow: var(--drop_large);
}*/


#tooltip-total-price {
	display: none;
	align-items: center;
	justify-content: center;
	position: fixed;
	top: 76px;
	left: 0;
	right: 0;
	z-index: 20;
	justify-content: flex-end;
    width: calc(100% - 32px);
}

#tooltip-total-price .close-price {
	width: 40px;
    height: 40px;
    color: var(--grey_2);
    position: absolute;
    top: 0;
    right: 0;
	cursor: pointer;
}

#tooltip-total-price-btn {
	transition: transform .1s ease;
	cursor: pointer;
}

#tooltip-total-price-btn:hover {
	transform: scale(1.2);
	transition: transform .3s ease;
}

@media only screen and (max-width: 800px) {
	#tooltip-total-price {
		top: 40px;
		justify-content: center;
	    width: var(--container);
	}
}







.trip-meal {
	margin-top: 24px;
	border-radius: 20px;
	display: flex;
	gap: 16px;
	align-items: center;
	font-family: 'Inter', sans-serif;
	font-style: normal;
	font-weight: 500;
	letter-spacing: -0.03em;
	font-weight: 400;
	font-size: 14px;
	line-height: 23px;
	color: var(--green);
}

.trip-meal .meal-item {
	display: flex;
	align-items: center;
	gap: 4px;
}

.trip-meal svg {
color: var(--green);
	width: 24px;
	height: 24px;
}

.rb-p-name {
	width: 100px;
	position: relative;
}
.rb-p-name span {
	width: 100px;
	display: block;
	white-space: nowrap;
	text-overflow: ellipsis;
	overflow: hidden;
	position: absolute;
	background: var(--grey_4);
	color: #bfbfbf;
}
.rb-p-name span:hover {
	width: fit-content;
opacity: 1;
padding-right: 10px;
}

.trip-info.trip-info-blue .rb-p-name span {
	background: #ddeef5;
}

.trip-info td {
	padding-inline: 4px;
	vertical-align: top;
}
.trip-info {
	background: var(--grey_4);
border: 1px solid var(--grey_3);
border-radius: 20px;
padding: 16px;
margin-top: 32px;
position: relative;
isolation: isolate;
display: flex;
align-items: center;
justify-content: flex-start;
gap: 16px;
}
.trip-info.trip-info-blue {
	background: #ddeef5;
	border: 1px solid var(--blue);
}
.trip-info > div {
	flex: 1;
}

.trip-info svg {
	width: 64px;
	height: 64px;
	color: var(--grey_3);
	color: var(--green);
}

.trip-info ul {
	margin-bottom: 0;
}
.trip-info ul li {
	position: relative;
	list-style-type: none;
	margin-bottom: 4px;
}

.trip-info ul li:after {
content: '';
width: 20px;
height: 20px;
display: block;
background: url("data:image/svg+xml,%3Csvg width='16' height='16' viewBox='0 0 16 16' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M6.5 12.5L11 8L6.5 3.5' stroke='%2389C05D' stroke-miterlimit='10' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
background-size: cover;
position: absolute;
left: -27px;
top: 2px;
}

.trip-info-link {
	color: var(--blue);
	text-decoration: underline;
	text-decoration-style: solid !important;
}



.hotel-long-desc {
	background: var(--grey_4);
	border: 1px solid var(--grey_3);
	box-shadow: var(--drop_large);
	border-radius: 15px;
	flex: 1;
	padding: 16px;
	color: var(--grey_1);
}

@media only screen and (max-width: 800px) {
	.hotel-long-desc {
		width: 100%;
		flex: auto;
	}
}


.trip-durations {
	background: #fff;
	padding: 5px;
	margin-top: 16px;
	display: flex;
	justify-content: center;
	gap: 16px;
}

.trip-duration-item {
	display: flex;
	align-items: center;
	gap: 5px;
	color: var(--grey_2);
}
.trip-duration-item svg {
	color: var(--green);
}

.trip-city-hotel .trip-duration-item span {
	margin-left: 2px;
}

.trip-no-car {
	position:relative;
	width: 28px;
	display: flex;
	align-items: center;
	justify-content: center;
}




#open-share.tooltip:after {
	bottom: -34px;
	width: 140px;
	font-size: 12px;
	line-height: 14px;
}

.tooltip-bottom.tooltip:after {
	bottom: -34px;
	width: fit-content;
	font-size: 12px;
	line-height: 14px;
}

#modal-share {
	align-items: center;
}
#modal-share .modal-content {
	max-width: 540px;
	text-align: center;
}
#modal-share .modal-content h2 {
	color: #000;
	margin-bottom: 16px;
}

#modal-share .modal-body {
	height: auto;
	padding-top: 24px;
	padding-bottom: 24px;
}
#modal-share .modal-close {
color: #000;
font-size: 64px;
font-weight: bold;
position: absolute;
text-shadow: none;
top: -15px;
right: 15px;
opacity: .5;
display: block !important;
}

#modal-share .link-devis {
	border: 1px solid var(--grey_3);
	border-radius: 10px;
	padding: 8px 16px;
	width: fit-content;
margin: auto;
	margin-top: 16px;
	    width: 80%;
	    text-align: center;
}

#modal-share .btn {
	border: none;
padding: 10px 24px;
font-size: 18px;
line-height: 18px;
margin: auto;
margin-top: 24px;
margin-bottom: 0;
}

#copy-message {
	display: none;
	margin-top: 8px;
}



@media (max-width: 700px) {
    .intro-circuit > .circuit-price {
        width: 100%;
        order: -1;
        position: static !important;
        top: auto !important;
    }
}


#col-map {
	position: sticky;
	top: 60px;
	align-self: flex-start;
	width: 75%;
}

@media (max-width: 700px) {
	#col-map {
		position: static;
		top: auto;
		width: 100%;
	}
}

.map-names {
	align-items: flex-start;
}
.map-names .col-names .card_1 {
    aspect-ratio: 20 / 9;
    width: auto;
	flex: 1;
}

.etape-item {
	width: 100%;
	display: flex;
	align-items: center;
	gap: 16px;
	position: relative;
	cursor: pointer;
}

.etape-item:after {    
	content: "";
    width: 1px;
    height: 100%;
    position: absolute;
    top: 50%;
    left: 14px;
    border-left: 4px dotted var(--green);
    opacity: .5;
    z-index: -1;
}
.etape-item:last-child:after {    
	display: none;
}

.etape-item .day-circle {
	color: #fff;
	background: var(--green);
	width: 32px;
	height: 32px;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	font-family: 'Inter', sans-serif;
    font-style: normal;
    font-weight: 500;
    font-size: 11px;
    line-height: 21px;
}

.etape-item:hover .day-circle, 
.etape-item.highlight .day-circle {
	background: var(--yellow);
	color: #000;
}

.etape-item .map-item.map-hover.highlight, .etape-item .map-item.map-hover:hover {
    transform: none;
    box-shadow: var(--drop_large);
    transition: all .3s ease-out;
}

@media (max-width: 700px) {
	.etape-item {
		max-width: 260px;
	}

	.map-names .col-names {
		justify-content: center;
        flex-direction: column;
        width: 100%;
        align-items: center;
	}

	.map-names .col-names .card_1 .text_card_1 {
	    color: #fff;
	    font-size: 14px;
	    line-height: 16px;
	    padding: 6px;
	    margin: 0;
	}
}


.col-faq {
	display: flex;
}

@media (max-width: 700px) {
	.col-faq {
		flex-direction: column;
		gap: 24px;
	}
}


.card_1.map-item .tag-more {
	position: absolute;
    top: 8px;
    right: 8px;
    padding: 3px 10px;
    font-size: 11px;
    font-family: 'Inter', sans-serif;
    border-radius: 4px;
}



.hotel-room .tag {
	position: absolute;
	bottom: -12px;
}

.trip-hotels .hotel .hotel-room {
	padding-bottom: 15px;
}

.btn-grey {
	padding: 6px 16px;
    font-size: 12px;
    font-weight: 400;
    color: var(--grey_2);
    background: var(--grey_3);
    margin: 0;
    line-height: 20px;
    border-radius: 4px;
}

.hide-alt {
	display: none;
}
.vh-show-alt .hide-alt {
	display: block;
}
.vh-show-alt .show-alt {
	display: none;
}

.trip-hotels .hotel.hotel-alt {
	display: none;
}
.vh-show-alt .trip-hotels .hotel.hotel-alt {
	display: block;
}

.title-alt {
	display: none;
}
.vh-show-alt .title-alt {
	display: block;
}

.vh-show-alt .hotel-long-desc {
	display: none;
}

@media only screen and (max-width: 800px) {
	.hide-alt {
		display: none !important;
	}
	.show-alt {
		display: none !important;
	}
}



.trip h3.tag-day {
	color: #fff;
	width: fit-content;
	display: block;
	margin: auto;
	margin-bottom: 10px;
	font-size: 18px;
	line-height: 20px;
}


.it-map-container {
	display:flex;
	flex-direction: column;
	gap: 15px;
	margin-top: 16px;
}

.it-map-item {
	display: flex;
	align-items: center;
	gap: 24px;
	box-shadow: var(--drop_large);
	padding: 16px;
	border-radius: 10px;

	color: #A2A2A2 !important;
    font-family: 'Inter', sans-serif;
    font-style: normal;
    font-weight: 500;
    font-size: 17px;
    font-size: 14px;
    line-height: 21px;
}

.it-map-item em {
    opacity: .7;
    font-size: 12px;
    width: auto !important;
    color: var(--grey_1);
}

.it-map-item.it-map-item-small {
	padding: 8px;
	gap: 0px;
}

.it-map-item.it-map-item-small .bi-chevron-right {
	margin-left: 8px;
}

.it-map-item svg {
	width: 48px;
	height: 48px;
	width: 40px;
	height: 24px;
}
.it-map-item.it-map-item-small svg {
	width: 24px;
	height: 24px;
}
.it-map-item svg.ico-type {
	width: 72px;
}

.it-map-content {
	display: flex;
	flex-direction: column;
	flex: 1;
	text-align: center;
}

.it-map-content b {
	font-weight: 400;
}
.it-map-content em {
	width: 15px;
	display: inline-block;
	font-style: normal;
}

.it-map-content .trip-itinerary svg {
	display: none !important;
	padding: 0 !important;
}

.it-map-duration {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	text-align: right;
	width: 40px;
}

@media only screen and (max-width: 800px) {
	.it-map-container {
		padding-left: 16px;
		padding-right: 16px;
	}

	.it-map-item svg.ico-type {
		width: 40px;
	}

	.trip .it-map-content .trip-itinerary {
		display: block;
	}
}



.faq-container {
    width: var(--container);
    margin: auto;
    box-shadow: var(--drop_large);
    background: #fff;
    border-radius: 20px;
    max-width: 800px;
    overflow: hidden;
}
.faq-container .faq {
	width: 100%;
	box-shadow: none;
	border-radius: 0;
	margin: 0;
	border-bottom: 1px solid var(--grey_3);
}






#modal-includes-excludes .modal-content {
	background: #fff;
}

#modal-includes-excludes .modal-body {
	display: flex;
	padding: 24px;
	gap: 24px;
	height: auto;
}
#modal-includes-excludes .modal-body > div {
	width: 50%;
}
#modal-includes-excludes .modal-body > div h2 {
	color: #333;
	margin-top: 0;
	margin-bottom: 10px;
	text-indent: 32px;
}

#btn-modal-IE {
	margin: auto;
    display: block;
    width: fit-content;
    margin-top: 24px;
}

#modal-includes-excludes .modal-close {
	color: #00000050;
	text-shadow: none;
	right: 16px;
}

@media only screen and (max-width: 800px) {
	#modal-includes-excludes .modal-body {
		flex-direction: column;
		padding-top: 80px;
	}
	#modal-includes-excludes .modal-body > div {
		width: 100%;
	}

}


.trip-date-long {
	text-align: center;
    width: 100%;
    display: block;
    margin-bottom: 10px;
}