/*
Theme Name: Inspiro Child
Text Domain: tripandyou
Theme URI: https://www.wpzoom.com/themes/inspiro/
Template: inspiro
Author: isyop
Author URI: https://www.wpzoom.com/
Description: 
Version: 2.0.5.1748273191
Updated: 2025-05-26 17:26:31

*/

/* Le main search doit avoir un z-index elevé pour que les predictions soient au dessus de la map leaflet et donc en menu mobile il faut que le header soit plus élevé pour qu'il soit au dessus du search */
header {
    z-index: 1500 !important;
}

body {
	font-size: 100%;
    background: linear-gradient(135deg, #f3f2ff, #f3f3f3);
}

a, a:visited, a:active, a:hover {
    text-decoration: none !important;
}

body.home #main {
	max-width: 1200px !important;
}
body.home #main .container {
	max-width: 1150px !important;
}
body.home #main header h1 {
	color: white;
}

button {
	text-transform: none;
	border-radius: 6px;
}

button:hover {
	color: white !important;
}

.main-navigation {
    padding: 0;
}

.nav-container {
	min-height: unset;
}

.pt0 {
  padding-top: 80px;
}


/*Bug du theme : container dans container donc applique 2 fois le padding*/
.container {
 padding: 0; 
}







html {
  font-size: 100%;
}







.lds-dual-ring.active {
    display: inline-block;
    width: auto;
    height: 20px;
}
.lds-dual-ring.active:after {
    content: " ";
    display: block;
    width: 25px;
    height: 25px;
    margin-left: 15px;
    border-radius: 50%;
    border: 6px solid #fff;
    border-color: #fff transparent #fff transparent;
    animation: lds-dual-ring 1.2s linear infinite;
}
@keyframes lds-dual-ring {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}


.alert, .error {
	z-index: 1002;
    position: absolute;
    width: max-content;
    display: block;
    padding: 10px;
    background-color: #ffffff;
    border: 1px solid #dfd6b1;
    border-radius: 5px;
    color: black;
    font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
    font-size: 13px;
    box-shadow: 0px 2px 6px rgba(0, 0, 0, 0.1);
    letter-spacing: .1px;
}

#reservation-form .error {
	margin-top: -20px;
}

.error:empty {
    display: none;
}

.alert::before, .error::before {
    background-color: #fd981f;
    border-radius: 2px;
    display: inline-block;
    width: 24px;
    height: 24px;
    margin-right: 10px;
    color: #fff;
    font-size: 18px;
    align-content: center;
    text-align: center;
    line-height: 20px;
    font-weight: 800;
    content: "!";
}
/* Triangle */
.alert::after, .error::after {
	content: "";
    position: absolute;
    bottom: 100%;
    left: 50%;
    border-width: 8px;
    border-style: solid;
    border-color: transparent transparent #ffffff transparent;
	filter: drop-shadow(0 0 0 black);
}



















#content {
    padding: 40px 0;
}



div#content header *, .page-title {
  text-align: center;
}

#primary h1 {
    font-size: xxx-large;
}

#primary, aside#secondary .widget {
    margin-top: 20px;
    background-color: rgba(255,255,255,.99);
    padding: 30px 50px 50px 50px;
    border-radius: 5px;
    margin-bottom: 0;
}




.mega-menu-link, .mega-menu-link .trp-ls-language-name {
    font-weight: bold !important;
}

.nav-bar a {
    height: unset !important;
}



/* (Ultimate member) in the account page, hide avatar with profile link */
.um-account-meta {
  display: none;
}





/*===  Language switcher style ===*/
.nav-bar img.trp-flag-image {
    margin: 0 6px 0 0px;
    vertical-align: inherit;
}
/* =======*/



/*=== Woocommerce Currency Switcher style === */
.woocommerce-currency-switcher-form .wSelect {
    box-shadow: none !important;
    border: none !important;
    background-color: white !important;
    margin: 0;
    background-image: linear-gradient(45deg, transparent 50%, gray 50%), linear-gradient(135deg, gray 50%, transparent 50%);
    background-position: calc(100% - 8px) calc(1em + 0px), calc(100% - 3px) calc(1em + 0px);
    background-size: 5px 5px, 5px 5px;
    background-repeat: no-repeat;
    min-width: 70px !important;
    width: 70px !important;
}

.woocommerce-currency-switcher-form .wSelect .wSelect-arrow {
display: none;
}

.woocommerce-currency-switcher-form .wSelect .wSelect-selected {
    margin-right: 0;
  line-height: 24px;
}


/* =======*/


/* pour que le mini cart ne soit pas devant la validation de cookies */
#apbd-mini-cart-container {
    z-index: 9998 !important;
}



/* rectifie bug du plugin "Menu Icons" l icone n'est pas centree verticalement */
.menu-item i._mi {
    margin-top: 0;
}

/* arrondir les icones des drapeaux pour le changement de langages */
.trp-flag-image {
	border-radius: 50%;
}







.module.widget-handle .function:hover, .module.widget-handle .function:focus {
    opacity: 1;
    transform: translate3d(0, 0px, 0);
    -webkit-transform: translate3d(0, 0px, 0);
    -moz-transform: translate3d(0, 0px, 0);
    visibility: visible;
}


/*========== Max Mega Menu style =========*/


@media only screen and (max-width: 1024px) {
	#mega-menu-wrap-primary #mega-menu-primary li.mega-menu-item.mega-toggle-on > ul.mega-sub-menu {
    	width: calc(100% + 40px);
    	margin-left: -20px;
	}
    
	#mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-flyout ul.mega-sub-menu li.mega-menu-item > a.mega-menu-link {
    	padding-left: 40px;
    }
}

/*Login submit button in mega menu*/
.mega-menu-item .um-center .um-button {
    min-width: unset!important;
    width: 100% !important;
}

.mega-menu-item .um-login {
	margin-bottom:0!important;
}
/*============================================*/






.loader-container {
    padding: 10px 50px;
    background: white;
    border-radius: 0.75rem;
    text-align: center;
    margin: 30px 0;
}
    
.loader {
	margin: 5px auto;
	border: 10px solid #f3f3f3;
  border-radius: 50%;
  border-top: 10px solid #3498db;
  width: 80px;
  height: 80px;
  -webkit-animation: spin 1s linear infinite; /* Safari */
  animation: spin 1s linear infinite;
}
.loader:before {
	display:none !important;
}

.stops-block .loader-editable {
    margin-right: 40px;
    top: 10px;
}

.loader-editable {
    display: none;
    position: absolute;
    right: 30px;
    top: 8px;
    width: 22px;
    height: 22px;
    border: 2px solid #f3f3f3;
    border-top: 2px solid #a8b9c5;
    border-radius: 50%;
    animation: spin 1s linear infinite;
}

.BpkTicket_bpk-ticket__paper__OTA1O .loader-container, .loader-container.loader-offers-details, .page-template-passengers-details .loader-container {
	display: block;
}
    
.BpkTicket_bpk-ticket__paper__OTA1O .loader, .page-template-passengers-details .loader {
	border-width: 5px;
border-top-color: #97a7b0;
width: 30px;
  height: 30px;
}

/* Safari */
@-webkit-keyframes spin {
  0% { -webkit-transform: rotate(0deg); }
  100% { -webkit-transform: rotate(360deg); }
}

@keyframes spin {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}




.popup-overlay {
visibility:hidden;
    position: fixed;
    z-index: 1500;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    overflow: auto; /* Enable scroll if needed */
    background-color: rgba(0,0,0,0.4);
}

.popup-content {
	margin: 5% auto;
    padding: 2.5rem 3.5rem;
    border: 5px solid #5f4483;
    width: 80%;
    display: block;
    background: white;
}

.close {
    position: absolute;
    top: 0;
    right: 10px;
    font-size: 30px;
    font-weight: 700;
    line-height: 1;
    color: #000;
    text-shadow: 0 1px 0 #fff;
    filter: alpha(opacity=20);
    opacity: .2;
}

.popup-overlay.active{
	visibility:visible;
}

/*Pour que lorsque le popup se ferme, tous les champs disparaissent tout de suite, sans transition*/
.popup-content * {
	transition: visibility 0s !important;
}



.woocommerce-MyAccount-navigation, .woocommerce-MyAccount-content {
    width: 100% !important;
}

.woocommerce-MyAccount-navigation ul {
    display: flex;
    width: 100%;
    margin: auto;
    list-style: none;
    padding: 20px;
}

.woocommerce-MyAccount-navigation ul li {
	width: 20%;
    text-align: center;
}






















footer.site-footer {
  background: #0e1015 !important;
  padding: 60px 0 20px;
}

footer.site-footer a, footer.site-footer a:visited {
    color: white;
}

.copyright-text {
    margin-top: 50px !important;
    font-size: .8rem;
    color: #fefefe;
}



#mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-flyout ul.mega-sub-menu {
	box-shadow: 0px 5px 10px 0px rgba(0, 0, 0, 0.5);
}

#mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-flyout ul.mega-sub-menu li.mega-menu-item a.mega-menu-link:hover, #mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-flyout ul.mega-sub-menu li.mega-menu-item a.mega-menu-link:focus {
  padding-left: 15px;
  transition: padding .1s;
}




/*Pour rectifier un bug daffichage au moment de payer la commande*/
.woocommerce-terms-and-conditions-wrapper input[type=checkbox] {
	position: relative;
}
















.row {
    display: flex;
    gap: 20px;
    margin-bottom: 15px;
    flex-wrap: nowrap;
}
.full {
    flex: 1 1 100%;
    display: block;
}.half {
    flex: 1 1 48%;
    display: block;
}

@media (max-width: 600px) {
  .half {
    flex: 1 1 100%;
  }
}

.input {
    width: 100%;
}







.side-nav-open .side-nav-overlay, .side-nav-transitioning {
    cursor: default !important;
}

.site-header.headroom {
	position: relative !important;
}

.navbar {
	padding: 0 !important;
    line-height: 0;
    background: transparent !important;
}

body.wp-custom-logo .custom-logo-link img {
    max-height: none !important;
	position: absolute;
    top: 0;
    border-radius: 0 4px 4px;
}


.footer-widgets .widget_block {
	border-radius: 0 0 4px 4px;
    margin-bottom: 0;
}

.site-footer-separator {
    margin-top: 1.875em;
}

.navbar-toggle .icon-bar {
    background: #7e6f6f !important;
}









.woocommerce-account .woocommerce-MyAccount-navigation {
    padding: 0 !important;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li {
    border-bottom: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a {
    border-bottom: 2px solid var(--inspiro-primary-color);
}

body .entry-title:after {
    content: none !important;
}








#mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-flyout ul.mega-sub-menu li.mega-menu-item a.mega-menu-link:hover, #mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-flyout ul.mega-sub-menu li.mega-menu-item a.mega-menu-link:focus {
    padding-left: 20px;
}

.mega-menu-item .um-field {
    padding: 5px 0 0 0;
}
.mega-menu-item .um-field:first-of-type {
    padding: 0;
}
.mega-menu-item .um-field-label label {
    font-size: 13px !important;
    line-height: 20px !important;
    font-weight: 500;
}

.mega-menu-item .um-form input[type=number], .um-form input[type=password], .um-form input[type=search], .um-form input[type=tel], .um-form input[type=text] {
    height: 32px !important;
}

.mega-menu-item .um:not(.um-admin) {
    margin-bottom: 0 !important;
}

.mega-menu-item .um-button.um-alt {
	display: none;
}

.mega-menu-item .um-col-alt-b, .mega-menu-item .um-field-checkbox {
    font-size: 13px;
    padding: 0;
}

.mega-menu-item .um-row._um_row_1  {
	margin: 0 !important;
}




/*Empecher que le pop up du login form du mega menu disparaisse lorsqu'on clique sur un email préenregistré par le navigateur*/
#mega-menu-wrap-primary li.mega-menu-item.keep-open > ul.mega-sub-menu {
   opacity: 1 !important;
   transform: translate(0, 0) !important;
   visibility: visible !important;
}






@keyframes pulseScale {
  0% {
    transform: scale(1);
  }
  40% {
    transform: scale(1.15);
  }
  70% {
    transform: scale(0.97);
  }
  100% {
    transform: scale(1);
  }
}

.pulse {
    animation: pulseScale 0.3s ease-in-out;
}











.calendar {
  width: 65px;
  height: 70px;
  border-radius: 10px;
  overflow: hidden;
  border: 1.5px solid #e2e0db;
  background: white;
  font-family: Arial, sans-serif;
  position: relative;
}
.rings {
  position: absolute;
  top: -4px;
  width: 100%;
  display: flex;
  justify-content: space-evenly;
}
.rings span {
  width: 7px;
  height: 9px;
  background: #f1efe8;
  border-radius: 3px;
  border: 1px solid #ccc;
}
.calendar-top {
  background: #E24B4A;
  color: white;
  text-align: center;
  font-size: 8px;
  font-weight: 500;
  padding: 6px 0 4px;
  letter-spacing: 0.04em;
}
.calendar-body {
  padding: 5px 0 8px;
  text-align: center;
}
.day {
  font-size: 22px;
  font-weight: 500;
  line-height: 1;
  color: #2c2c2a;
  letter-spacing: -0.5px;
}
.month {
  font-size: 7px;
  font-weight: 500;
  letter-spacing: 0.1em;
  color: #888780;
  margin-top: 2px;
  text-transform: uppercase;
}






/* Mobile */
@media (max-width: 768px) { }

/* Tablette */
@media (max-width: 1024px) { 
	body {
    	padding: 0 !important;
    }
    
    .inner-wrap {
     	padding: 0 20px !important;
    }
}

/* Desktop */
@media (min-width: 1025px) { }

/* Grand écran */
@media (min-width: 1440px) { }