/*
  font-family: "Caveat", cursive;
  font-family: "Poppins", sans-serif;
  font-family: "Figtree", sans-serif;
  font-family: "Permanent Marker", cursive;
*/


:root{
    --ct-color-primary:#000E48;
    --ct-color-secondary:#e9663f;
    --ct-color-alternative:#FFF;
    --ct-font-primary: "Lexend", sans-serif;
    --ct-font-secondary:"Lexend", sans-serif;
    --ct-body-font-size: 1.5rem;
    --ct-body-font-weight: 400;
    --ct-body-line-height: 1.4;
    --ct-body-color: #414E59;
    --ct-body-bg: #FFF;
    --ct-color-cta:#1d74b3;
    --ct-color-green:#4ab42d;

}

/* Puedes agregar más estilos según sea necesario */

 h1,h2,h3,h4,h5{font-size:inherit; font-family:inherit; margin:0px; display:inline-block;}

 body{
     font-weight:var(--ct-body-font-weight);
    font-size:var(--ct-body-font-size);
    line-height:var(--ct-body-line-height);
    font-family:var(--ct-font-primary);
    background-color:var(--ct-body-bg);
    color:var(--ct-body-color);
    
    font-stretch: normal;
    font-optical-sizing: none;
}
 
     
a{color:var(--ct-color-cta);}
    a:hover{color:var(--ct-color-cta); text-decoration:none; transition:all 0.25s ease-out 0s}


.fw,.full-width{width:100%; float:left;}
        .full-width.container{max-width:100%;}
.full-image{background-size:cover; background-position:center;} 

.btn-theme {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    gap: 6px;
    padding: 12px 25px;
    font-size: 1.7rem;
    border-radius: 25px;
    text-align: center;
    text-transform: inherit;
    background: #FFF;
    font-family:var(--ct-font-secondary);
    color: var(--ct-color-primary);
    font-weight: 500;
    border:2px solid #f2f2f2;
    box-shadow: 0px 2px 5px rgb(0 0 0 / .19);
    .material-icons-outlined{color:var(--ct-color-cta)}
    &:hover{border-color:var(--ct-color-cta)}
}
.btn-theme.md-button{text-transform:inherit; line-height:inherit; font-weight:inherit; min-height:inherit; font-size:inherit}
.btn-theme.btn-alt{background-color:var(--ct-color-secondary); color:#FFF; border:0px;
    .material-icons-outlined{color:#FFF}
}

.row-sp{margin-left:-3px; margin-right:-3px;}
.pad-sp{padding:0px 3px;}

.p-0, .no-pad{padding:0px !important}

.color-primary{color:var(--ct-color-primary) !important}
    a.color-primary:hover{opacity:.8}
.color-secondary{color:var(--ct-color-secondary) !important}
    a.color-secondary:hover{opacity:.8}
.color-cta{color:var(--ct-color-cta) !important}
    a.color-cta:hover{opacity:.8}
.color-alt{color:var(--ct-color-alternative) !important}
    a.color-alt:hover{opacity:.8}
.color-white{color:#fff !important}
    a.color-white:hover{opacity:.8}    
    
.text-alt{font-family:var(--ct-font-secondary); }

.md-dialog .md-dialog-content.loadingCreateBooking md-progress-circular path{color:#fff}
.md-dialog .md-dialog-content.loadingCreateBooking span{color:#fff;    font-weight: 500;    font-size: 16px;}

/* LOADERS */
.bookingPage .loadingBooking, .availEngines .loadingResults{
    text-align: center;
    margin-top: 10px;
    display: flex;
    justify-content: center;
    padding: 15px; position:fixed; z-index:999; top:0px; bottom:0px; right:0px; left:0px; flex-direction:column; align-items:center; background-color:var(--ct-color-cta)}
    .bookingPage .loadingBooking::after, .availEngines .loadingResults::after{content: "";
    position: absolute;
    z-index: 2;
    top: 50%; 
    left: 50%;
    width: 200px; /* Ajusta según el tamaño del logo */
    height: 53.7px; /* Ajusta según el tamaño del logo */
    transform: translate(-50%, -50%);
    background: url('/cdn/images/logo.png') no-repeat center center;
    background-size: contain;}
    .bookingPage .loadingBooking::before, .availEngines .loadingResults::before{content:""; position:absolute; z-index:1; top:48%; left:50%; width:50px; margin-top:-70px; margin-left:-25px;
	aspect-ratio: 1;
	border-radius: 50%;
	border: 2px solid #FFF;
	border-right-color: var(--ct-color-cta);
	animation: spinner 1s infinite linear;}
.bookingPage .loadingBooking  md-progress-circular, .availEngines .loadingResults md-progress-circular{display:none; }
.bookingPage .loadingBooking span, .availEngines .loadingResults span {
    color: #FFF;
    font-weight: bold;
    display:inline-block; margin-top:100px;
}
.availEngines .loadingResults md-progress-circular path{stroke:var(--ct-color-secondary)}


#loader-container {background:var(--ct-color-cta); position: fixed;overflow: hidden;top: 0;right: 0;left: 0;bottom: 0;z-index: 99999;
}
#loader-container::after {
    content: "";
    position: absolute;
    z-index: 2;
    top: 51%; 
    left: 50%;
    width: 200px; /* Ajusta según el tamaño del logo */
    height: 53.7px; /* Ajusta según el tamaño del logo */
    transform: translate(-50%, -50%);
    background: url('/cdn/images/logo.png') no-repeat center center;
    background-size: contain;
}
#loader-container::before{content:""; position:absolute; z-index:1; top:50%; left:50%; width:50px; margin-top:-70px; margin-left:-25px;
	aspect-ratio: 1;
	border-radius: 50%;
	border: 2px solid #FFF;
	border-right-color: var(--ct-color-primary);
	animation: spinner 1s infinite linear;}
@keyframes spinner {
	to {
		transform: rotate(1turn);
	}
}

/* END LOADERS */

@media (min-width: 1px) and (max-width: 767px){.clearfix-xs{clear:both !important;}}
@media (min-width: 768px) and (max-width: 992px){.clearfix-sm{clear:both !important;}}
@media (min-width: 992px) and (max-width: 1200px){.clearfix-md{clear:both !important;}}
@media (min-width: 1200px){.clearfix-lg{clear:both !important;}}

.mt-1{margin-top:10px;}
.mt-2{margin-top:25px;}
.mt-3{margin-top:45px;}
.mt-4{margin-top:60px;}

.mb-0{margin-bottom:0px;}
.mb-1{margin-bottom:10px;}
.mb-2{margin-bottom:25px;}
.mb-3{margin-bottom:45px;}
.mb-4{margin-bottom:65px;}

.pt-1{padding-top:10px;}
.pt-2{padding-top:25px;}
.pt-3{padding-top:45px;}
.pt-4{padding-top:60px;}

.pb-1{padding-bottom:10px;}
.pb-2{padding-bottom:25px;}
.pb-3{padding-bottom:45px;}
.pb-4{padding-bottom:65px;}

.font-light{font-weight:300}
.font-medium{font-weight:500}
.font-semibold{font-weight:600}
.font-bold{font-weight:700}
.font-extrabold{font-weight:800}
.font-black{font-weight:900}

.font-3xs{font-size:1.1rem}
.font-2xs{font-size:1.3rem}
.font-xs{font-size:1.5rem}
.font-sm{font-size:1.6rem}
.font-md{font-size:1.8rem}
.font-2md{font-size:2rem}
.font-lg{font-size:2.3rem}
.font-xl{font-size:2.6rem; line-height:1.1em}
.font-xxl{font-size:3.2rem; line-height:1.1em}
.font-2xxl{font-size:6.5rem; line-height:1.1em}
.material-icons.default{position:relative; top:6px}


.text-gray{color:var(--ct-color-gray)}
.text-red{color:var(--ct-color-red)}
.text-orange{color:var(--ct-color-orange)}
.text-green{color:var(--ct-color-green)}
.text-blue{color:var(--ct-color-blue)}
.text-emerald{color:var(--ct-color-emerald)}
.text-violet{color:var(--ct-color-violet)}
    
.op-80{opacity:.8}
md-dialog md-toolbar.md-default-theme:not(.md-menu-toolbar), md-toolbar:not(.md-menu-toolbar){background-color:#062f4a;}
    md-dialog md-toolbar h4{font-weight: 700; font-size:18px; font-family:var(--ct-font-secondary); color:#FFF;}
    md-dialog .section-header{font-weight: 700; font-size:18px; font-family:var(--ct-font-secondary); color:#6f6f6e;}
        md-dialog a{color:var(--ct-color-cta);} 
            md-dialog a:hover{color:var(--ct-color-primary);}


.ui-datepicker{border-color:var(--ct-color-primary); z-index:999 !important}
.ui-datepicker th, .ui-datepicker.travel-datepicker .infoPrice, .ui-datepicker.travel-datepicker .ui-datepicker-calendar td a[data-custom-price]::after{color:var(--ct-color-primary)}
.ui-datepicker .ui-datepicker-header{background-color:#062f4a}      
.ui-datepicker td a.ui-state-active.ui-state-hover, .ui-datepicker td a.ui-state-active{background-color:var(--ct-color-cta)}

.infoGDPR{margin-bottom:20px}




.btn-as-link{
    min-width: auto;
    min-height: inherit;
    margin: 0;
    padding: 0;
    line-height: inherit;
    font: inherit;
    text-transform: none;
    border: 0;
    vertical-align: inherit;
    background: none;}

.line-btns .btn-theme{margin:0px 9px}
.img-box{background-position:50% 50% !important; -webkit-background-size: cover !important; -moz-background-size: cover !important; -o-background-size: cover !important; background-size: cover !important; background-color:#141414;}
.forma-responsive{display:block; position: relative; width: 100%;  background:#23211D;}
.forma-responsive:before{ content: ""; display: block; padding-top:53%;}
.forma-responsive.panoramica:before{ content: ""; display: block; padding-top:48%; border-radius:3px;}
.forma-responsive.squared:before{ content: ""; display: block; padding-top:100%;}
.img-boxed {    position: absolute; z-index:1;    top: 0;    right: 0;    bottom: 0;    left: 0;}

.img-boxed .img-cover {    width: 100%;    height: 100%;    object-fit: cover;}
.box .img-box .deg {    position: absolute;    top: 0;    right: 0;    bottom: 0;    left: 0;    background: none;    transition: .3s;}
.as-link .hover-link {    z-index: 20;    position: absolute;    top: 0;    right: 0;    bottom: 0;    left: 0; text-align:center}
/*.as-link .hover-link:hover{backdrop-filter: blur(2px);}*/
.as-link .hover-link .icon{width: 100%;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    animation: changeColour 3s infinite alternate;
}
.as-link .hover-link .material-icons{opacity:0; font-size:5em; transition:all 0.25s ease-out 0s   } 
.as-link .hover-link:hover .material-icons{opacity:1}


.middle-box {
    width: 100%;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

md-checkbox.md-default-theme:not([disabled]).md-primary.md-checked .md-icon, md-checkbox:not([disabled]).md-primary.md-checked .md-icon{background-color:var(--ct-color-cta) !important}

/* Custom concretos */
.md-primary.md-button{background-color:var(--ct-color-cta) !important; color:#FFF !important; font-weight:700 !important; text-transform:inherit !important; 
    &:hover{background-color:var(--ct-color-primary) !important}
}

.md-open-menu-container.md-active{border-radius:10px;}
.md-menu-content.md-default-theme, md-menu-content{border-radius:10px; background-color:#FFF; color:var(--ct-color-cta); }
    md-menu-content.md-default-theme md-menu-item, md-menu-content md-menu-item{color:var(--ct-color-primary);}
    .md-menu-content.md-default-theme .material-icons, md-menu-content .material-icons{color:var(--ct-color-emerald)}
    .md-menu-content.md-default-theme a, md-menu-content a{color:var(--ct-color-cta) !important; text-decoration:none !important}
    .md-menu-content.md-default-theme a svg, md-menu-content a svg{margin-right:8px; fill:var(--ct-color-cta); color:var(--ct-color-cta)}
    .md-menu-content.md-default-theme a:hover, md-menu-content a:hover{color:var(--ct-color-primary); opacity:.9}
.header-landing{position:relative; padding:125px 0px; background:var(--ct-color-cta); color:#FFF; font-family:var(--ct-font-secondary); box-shadow:5px 5px 10px 0px rgb(0 0 1 / 1%)}
    .header-landing h1{position:relative}


.aside-theme{background:var(--ct-color-secondary); padding:40px 25px; border-radius:6px; box-shadow: 0px 0px 10px rgb(131 130 140 / .38); color:#FFF;
    a{color:#FFF}
    .material-icons-outlined{position:relative; top:6px}
}
  
    
  

		.bookingPage .loadingBooking md-progress-circular,
		.availEngines .loadingResults md-progress-circular,
		.loadingCreateBooking md-progress-circular,
		.receiptPage .loadingBooking md-progress-circular path,
		.budgetPage .loadingBooking md-progress-circular path,
		.clientBooking .loadingBooking md-progress-circular path,
		.agencyBooking .loadingBooking md-progress-circular path,
		.productHotel .optionsContainer .loadingResults md-progress-circular path,
		.productActivity .modalitiesContainer .loadingResults md-progress-circular path,
		.availEngines .loadingResults md-progress-circular path,
		.loadingResults *{stroke: var(--ct-color-cta) !important; margin:0 auto;}

		.bookingPage .loadingBooking span,
		.availEngines .loadingResults span,
		.receiptPage .loadingBooking span,
		.budgetPage .loadingBooking span,
		.clientBooking .loadingBooking span,
		.agencyBooking .loadingBooking span,
		.productHotel .optionsContainer .loadingResults span,
		.productActivity .modalitiesContainer .loadingResults span{color:#FFF !important}

		/*Sin contenedor*/
			.md-dialog .md-dialog-content.loadingValuation md-progress-circular path,
			.md-dialog .md-dialog-content.loadingCreateBooking md-progress-circular path,
			.md-dialog .md-dialog-content.loadingPreconfirmBooking md-progress-circular path,
			.md-dialog .md-dialog-content.loadingBudget md-progress-circular path,
			.md-dialog .md-dialog-content.loadingPaymentBooking md-progress-circular path{stroke: var(--ct-color-cta);}

			.md-dialog .md-dialog-content.loadingValuation span,
			.md-dialog .md-dialog-content.loadingCreateBooking span,
			.md-dialog .md-dialog-content.loadingPreconfirmBooking span,
			.md-dialog .md-dialog-content.loadingBudget span,
			.md-dialog .md-dialog-content.loadingPaymentBooking span{color:var(--ct-color-primary); font-weight:bold;}	



/* /Custom  */
md-menu-content md-menu-item {
    margin-left: 15px;
    margin-right: 15px;
}



			md-progress-linear.md-default-theme .md-bar, md-progress-linear .md-bar{background-color:var(--ct-color-cta);}
			md-input-container.md-default-theme:not(.md-input-invalid).md-input-focused label, md-input-container:not(.md-input-invalid).md-input-focused label, md-input-container.md-default-theme:not(.md-input-invalid).md-input-focused md-icon, md-input-container:not(.md-input-invalid).md-input-focused md-icon{color:var(--ct-color-cta)}
			md-input-container.md-default-theme:not(.md-input-invalid).md-input-focused .md-input, md-input-container:not(.md-input-invalid).md-input-focused .md-input, md-input-container.md-default-theme:not(.md-input-invalid).md-input-resized .md-input, md-input-container:not(.md-input-invalid).md-input-resized .md-input{border-color:var(--ct-color-cta);}
			md-select.md-default-theme:not([disabled]):focus .md-select-value, md-select:not([disabled]):focus .md-select-value{border-bottom-color:var(--ct-color-cta)}
  

.header-bar-top{position:relative; z-index:10; height:3px; background: linear-gradient(to right,  rgba(15,239,178,1) 0%,rgba(6,145,207,1) 100%); }
#web-header{position:relative; z-index:32;  padding:10px 15px; background-color:var(--ct-color-cta); font-family:var(--ct-font-secondary); font-weight:600;
    .logo-brand{width:85px}
    .content{display:flex; justify-content: space-between; align-items:center; }
    .area-l{display:flex; align-items:center; justify-content:center; gap:15px;}
    .area-r{display:flex; align-items:center; justify-content:center; gap:15px;
            .boxCurrency .md-button{display:flex;justify-content: center;align-items: center; min-width:inherit; width:34px; height:34px; margin:0px 0px; background-color:rgb(201 209 247 / .3);  border-radius: 50%; color:#FFF;font-family:var(--ct-font-secondary); font-size: 2rem; font-weight: 600;} 
	        .boxLanguage .md-button img{width:20px; height:20px; border-radius:50%; box-shadow:1px 0px 2px rgb(41 48 67 / .27)}
	        .boxProfile{    display: flex;    justify-content: start;    align-items: center;    gap: 5px;}
	        .btn-as-link{  display: flex;   justify-content: start;align-items: center; gap: 5px; font-size: 1.65rem; font-weight: 600;
	            &:hover{background:rgb(255 255 255 / .9) !important; color:var(--ct-color-primary);
	                .material-icons-outlined{color:var(--ct-color-cta)}
	            }
	        }
	        .btn-dropdown{padding:12px 15px; border-radius:25px; background-color:#FFF; color:var(--ct-color-primary);}
	        .my-account{display:flex; justify-content:center; align-items:center; padding:0px 15px; height:44px; border-radius:25px;  background-color:#FFF; color:var(--ct-color-primary);}
	 } 
}
body:has(.main-slider)  #web-header{background:transparent} 
    
						#web-header .right-items .phone{font-size:14px}			

			#web-header .navbar-nav{margin-left:15px !important;  }
			#web-header .navbar-nav.navbar-right{text-align:right;}  
				#web-header .navbar-nav  > li{display:inline-block; float:none;}		
				/*#web-header .navbar-nav  > li:last-child > md-menu > button, #web-header .navbar-nav  > li:last-child > a{padding-right:0}*/
				#web-header .btn-as-link{text-align:right}
				md-menu-item>*{padding:0px}
				#web-header .navbar-secondary{display:flex; justify-content:center; align-items:center; gap:15px; margin:0 15px 0 0}
				#web-header .navbar-secondary>li>a{padding-top:0px; padding-bottom:0px; line-height:inherit; color:#FFF}

 
				/*	#web-header .navbar-secondary  > li a, 
					#web-header .navbar-nav  > li a, 
					#web-header .navbar-secondary  > li .btn-as-link, 
					#web-header .navbar-nav  > li .btn-as-link{font-size:1.6rem; font-weight:700; color:#FFF; display:inline-block; margin:0px; }*/

					
					
					
					#web-header .btn-as-link .flag-circle{width:26px; height:26px; border-radius:50%; float:right; overflow:hidden; text-align:center;}
					    #web-header .btn-as-link .flag-circle > img{height:102%; margin-top:-1%; margin-left:-2px;}
					
					md-menu-item>.md-button{color:#2e2e2e}
					
					
					
						#web-header .navbar-nav  > li .btn-as-link md-icon{position:relative; top:-1px; width:12px; min-width:12px; height:auto; min-height:1px; margin-left:2px; font-size:16px; color:inherit;}							
				md-menu>.md-button:active, md-menu-item>.md-button:active, md-menu>.md-button:focus, md-menu-item>.md-button:focus, md-menu>.md-button:hover, md-menu-item>.md-button:hover, #web-header .navbar-nav  > li a:focus, #web-header .navbar-nav  > li a:hover, #web-header .navbar-nav  > li .btn-as-link:hover{color:var(--ct-color-secondary); background-color:transparent !important}
                    #web-header .boxLanguage .md-button{min-width:inherit; margin:0px 0px;  padding: 6px;  background-color:rgb(201 209 247 / .3);  border-radius: 50%;} 
                            #web-header .boxLanguage .md-button img{width:20px; height:20px; border-radius:50%}
                       #web-header .boxLanguage .md-button .material-icons{color:#FFF; font-size:24px}
#web-header .media .media-body{width:inherit; padding-right:5px}
    #web-header .media .media-body .default{top:3px}
    #web-header .media .media-right .default{top:9px}
    
#web-header .navbar-toggle{float:left; background-color:transparent; margin:2px 0px;}
    #web-header .navbar-toggle:hover .icon-bar{background-color:#fff;}
    #web-header .navbar-toggle .icon-bar{background-color:#fff;}

/*#web-header .logo-brand{position: absolute; left: 50%; transform: translateX(-50%);}*/

#web-header .navbar-toggle{ margin:9px 0px;}
 /*body:not(:has(.header-landing), :has(.main-slider)) #web-header .logo-brand{max-width:158px}*/
	ul.submenu-special{}
		ul.submenu-special{width:100%; margin:0 0 0 -5px; padding:0; list-style:none;}
			ul.submenu-special li{width:100%; margin-bottom:6px; border-bottom:#ddd solid 1px;}
				ul.submenu-special a{display:inline-block; width:100%; padding:4px 0 6px;}
			ul.submenu-special li:last-child{margin:0; border-bottom:0;}
				ul.submenu-special li:last-child a{padding-bottom:0}
				
    md-menu-content.nav-list{background-color:#FFF; font-size:14px; text-transform:uppercase}
         md-menu-content.nav-list ul{list-style:none;padding-left:10px}
            md-menu-content.nav-list ul li{margin:5px 0px}
            md-menu-content.nav-list ul a{color:var(--ct-color-primary);}  
            md-menu-content.nav-list ul a:hover{color:var(--ct-color-cta);} 
            


.sidenav-menu-mvl{background:var(--ct-color-primary);
        .navbar-nav > li a,
        .navbar-nav li label{padding:15px}
}
.sidenav-menu-mvl md-content{background:transparent}
    .sidenav-menu-mvl img{width:84px}
	.sidenav-menu-mvl ul{width:100%; margin:0;}
	    .sidenav-menu-mvl ul .md-button{text-transform:inherit; text-align:left; margin:0px 0px 2px 0px;}
		.sidenav-menu-mvl ul .md-button, .sidenav-menu-mvl ul li{width:100%; float:left;}
			.sidenav-menu-mvl ul .dropdown label, .sidenav-menu-mvl ul .md-button, .sidenav-menu-mvl ul li a, .sidenav-menu-mvl ul li .btn-as-link{display:block; width:100%; margin-bottom:2px; font-size:16px; font-weight:600; text-align:left;  border-radius:2px; background:rgba(0, 0, 0, 0.2)}
		    .sidenav-menu-mvl ul .md-button:hover, .sidenav-menu-mvl ul li a:hover{ color:var(--ct-color-cta); background:transparent;}

.sidenav-menu-mvl .navbar-nav .dropdown-content{position:static; width:100%; background-color:#2f2f31}
.sidenav-menu-mvl .navbar-nav .dropdown-content li a, .sidenav-menu-mvl .navbar-nav .dropdown-content li a:focus, .sidenav-menu-mvl .navbar-nav .dropdown-content li a:active, .sidenav-menu-mvl .navbar-nav .dropdown-content li label{border:0px; color:#F4F4F4; background-color:rgba(0, 0, 0, 0.2)}
.sidenav-menu-mvl .navbar-nav .submenu-list > input[type="checkbox"] ~ label{ background-color:rgba(0, 0, 0, 0.2); color:#F4F4F4}
.sidenav-menu-mvl .navbar-nav .submenu-list > input[type="checkbox"]:checked ~ label{ background-color:#2f2f31; color:var(--ct-color-cta)}
.sidenav-menu-mvl .navbar-nav .dropdown-content li a:hover, .sidenav-menu-mvl .navbar-nav .dropdown-content li label:hover{background-color:rgba(0, 0, 0, 0.2);}
.sidenav-menu-mvl{position:fixed; top:0; bottom:0;}

/* Main menu V2 - Refactorizado para Accesibilidad */
.navbar-nav {
  --dropdown-width: 250px;
  --dropdown-border-color: #fff;
  --hover-bg-color: #f4f8fc;
  --border-color: #ddd;
}

/* Estilo unificado para enlaces y botones del menú */
.navbar-nav > li a,
.navbar-nav li .btn-sidenav-toggle, /* Nuevo: el botón del sidebar */
.navbar-nav li label {
  padding: 15px;
  font-size: 1.65rem; 
  font-weight: 600; 
  color: #FFF; 
  display: flex; /* Cambiado a flex para alinear iconos */
  justify-content: space-between;
  align-items: center;
  margin: 0;
  line-height: 1em;
  text-transform: none;
  background: transparent;
  border: none;
  width: 100%;
  cursor: pointer;
  text-decoration: none;
}

/* Hover general */
#header-web .navbar-nav > li a:hover, 
.navbar-nav li .btn-sidenav-toggle:hover { 
  color: var(--ct-color-cta);
}

.navbar-nav .dropdown {
  position: relative;
}

/* Dropdown Content - Desktop */
.navbar-nav .dropdown-content {
  display: none; /* Se controla con ng-show en mobile, y hover en desktop */
  position: absolute;
  z-index: 99;
  background-color: #FFF;
  margin-top: -1px;
  overflow: hidden;
  border-radius: 0 0 6px 6px;
  box-shadow: 0 8px 12px rgba(0, 0, 0, .175);
  border-top: 2px solid var(--dropdown-border-color);
  width: var(--dropdown-width);
}

/* Ajuste para que el botón dentro del dropdown se vea como los antiguos links */
.navbar-nav .dropdown-content li a,
.navbar-nav .dropdown-content li .btn-sidenav-toggle {
  display: flex;
  border-top: 1px solid var(--border-color);
  color: #333;
  padding: 15px 10px;
  width: 100%;
}

.navbar-nav .dropdown-content li a:hover,
.navbar-nav .dropdown-content li .btn-sidenav-toggle:hover {
  background-color: var(--hover-bg-color);
}

/* Submenú de segundo nivel (Nidado) */
.navbar-nav .dropdown-content-submenu {
  background-color: #f3f3f3;
  list-style: none;
  padding: 0;
}

/* --- Lógica de Visualización (Reemplaza al checkbox) --- */

/* Desktop: Hover */
@media (min-width: 768px) {
  .navbar-nav .dropdown.menu-hover:hover > .dropdown-content {
    display: block;
  }
}

/* Mobile: El SideNav usa ng-show, por lo que no necesita display:block forzado por CSS, 
   pero nos aseguramos de que los botones ocupen el ancho total */
@media (max-width: 767px) {
  .navbar-nav .dropdown-content {
    position: relative; /* En mobile el menú desplaza el contenido hacia abajo */
    width: 100%;
    box-shadow: none;
    border: none;
  }
}

/* --- Iconos de expansión (Sustituyendo los ::after del checkbox) --- */

/* Usamos Material Icons para los iconos de expansión en lugar de "+" y "-" */
.btn-sidenav-toggle::after {
  font-family: 'Material Icons';
  content: "expand_more"; /* Icono por defecto */
  font-size: 20px;
  transition: transform 0.3s;
}

/* Cuando el menú está abierto (usando el atributo aria que pusimos en el HTML) */
.btn-sidenav-toggle[aria-expanded="true"]::after {
  content: "expand_less";
  color: var(--ct-color-cta);
}

/* Estilo específico para el botón de "vuelo última hora" */
.navbar-nav > li .btn-flight-lm {
  font-size: 1.2rem;
  font-weight: 500;
  background: var(--ct-color-cta) !important;
  border-radius: 25px;
  display: inline-block;
  width: auto;
  margin: 10px;
}


.infoGDPR {
  color: #31708f;
  line-height: 1.5em;
  border: 0;
  background: #d9edf7;
}

#web-footer{position:relative; background-color:#FFF; margin-top:35px; 
     .logo-brand{width:140px}
    .separator-gradient{float:left; width:100%; height:40px; background: linear-gradient(0deg, rgba(255, 255, 255, 0) 0%, rgba(0, 14, 72, 0.153) 100%); margin-bottom:15px}
}


        #web-footer ul.links li{margin-bottom:10px; display: flex; justify-content: start; align-items: center;    gap: 10px;}
        #web-footer li a{color:var(--ct-body-color)}
            #web-footer li a:hover{color:var(--ct-color-cta)}


#web-footer .contact-forms .left-side{display:flex;  gap:18px;}
 #web-footer .contact-forms{display:flex;  justify-content:center; flex-direction:column; align-items:center;
     
     .content{display: flex;    justify-content: space-between;    align-items: center;}
     .layout-r{display:flex; justify-content:start; align-items:center; gap:5px; 
                ul{display:flex; align-items:center; gap:20px; flex-wrap:wrap}
                a{display:flex; align-items:center; gap:5px; font-weight:600; color:#111; font-size:1.7rem}
     }
     .layout-l{color:#414E59; font-weight:400; font-size:1.2rem;     }
     
 }
 #web-footer .social-networks{display:flex; gap:10px; align-items:center; justify-content:center}

#web-footer .top-line{position:relative; padding:60px 0px 45px; 
        .links{
            .btn-as-link{color:#433f56;
                &:hover{color:var(--ct-color-primary); background:transparent}
            }
             a{color:#433f56;
                &:hover{color:var(--ct-color-primary); opacity:1}
            }
        }
        .text-alt{font-size:2.3rem; color:var(--ct-color-secondary)}
       
       
}

#web-footer .top-line .container{position:relative; z-index:2}

#web-footer .bottom-line{position:relative; padding:30px; background-color:#09397B}
#web-footer .bottom-line .info{display:flex; justify-content:space-between; gap:15px; align-items:center}

#web-footer .btn-accordion-footer {
    padding:5px 10px;
    background: transparent;
    border: none;
    color: inherit;
    font: inherit;
    text-align: left;
    width: 100%;
    display: flex;
    justify-content: space-between;
    &[aria-expanded="true"] .plus{display:none}
    &[aria-expanded="false"] .less{display:none}
}
.whatsappme__button{position: fixed; z-index: 2; bottom: 8px; right: 8px; width:60px; height: 60px; text-align:center; color: #fff; border-radius: 30px; box-shadow: 1px 6px 24px 0 rgba(7,94,84,.24); cursor: pointer; background-color: #25d366; 	transition: background-color .2s linear;}
        .whatsappme__button svg{position:relative; top:16px; left:1px; transform: scale(1.2);}
    .whatsappme__button:hover{color:#fff; background:var(--ct-color-cta);}

#web-header .navbar-nav > li a.btn-flight-lm:hover{background-color:var(--ct-color-secondary) !important; color:#FFF !important}
/*body:has(.main-slider)  #web-header .bottom-line{background:transparent} */
.main-slider{position:relative; z-index:2; float:left; width:100%;background-color:var(--ct-color-cta); margin-top:-105px}
    .main-slider, .main-slider .item{min-height:600px}
    .main-slider .img-boxed{ background-color: #000E48CC;
        img{opacity:.55;}
    }
    .main-slider .layout-top{position:absolute; z-index:1; top:0px; left:0px; right:0px; height:151px; background: linear-gradient(0deg, rgba(65, 78, 89, 0) 0%, rgba(65, 78, 89, 0.81) 100%); }
    .main-slider .position-caption{position:absolute; z-index:3; top:200px; left:0px; right:0px; font-family:var(--ct-font-secondary);
        .content{ display:flex; flex-direction:column; gap:15px; justify-content:center; align-items:center; text-align:center; color:#FFF;
            .texts{display:flex; gap:6px; flex-wrap:wrap; background-color:var(--ct-color-secondary); border-radius:25px; padding:10px 20px; box-shadow:0px 0px 10px rgb(0 0 0 / .2);
                &:hover{background-color:var(--ct-color-cta); color:#FFF; }
                    h1{font:600 1.7rem var(--ct-font-secondary);}
                    span{opacity:.8}
                }
            
        }
    }
 
       
    
    .main-slider .middle-box{z-index:2}
.main-slider .carousel-indicators{
    bottom: 50%;
    display: flex;
    flex-direction: column;
    gap: 10px;
    left: inherit;
    right: 40px;
    width: inherit;
    li{width:20px; height:20px; border:2px solid rgb(255 255 255 /.5);}
    .active{border:2px solid #DDD}
    }
    

.main-slider .carousel-control{
    top:inherit;
    bottom:30px; z-index:10;
    width: 44px;
    height: 44px;
    background:transparent ;
    opacity: 1;
    color:#FFF;
}
.main-slider .carousel-control.left{left:30px}
    .main-slider .carousel-control.left span{margin-left:-15px}
    .main-slider .carousel-control.right span{margin-right:-15px}
.main-slider .carousel-control.right{right:30px}
.main-slider .carousel-control span{font-size:1.8rem; margin-top:-9px}
.main-slider .carousel-control:hover{background-color:var(--ct-color-cta); color:#FFF; border-radius:12px}


.main-slider .position-searcher{position:absolute; z-index:3; bottom:83px; left:0px; right:0px;
    .title{color:#fff; margin-bottom:15px}
}

.main-slider .hover-link:hover{background-color:rgb(87 168 135 / .2)}

.main-slider .position-footer{position:absolute; bottom:30px; left:0px; right:0px; z-index:4; text-align:center; color:#FFF;
    a{color:#FFF}
}

.searcher{float:left; width:100%; background-color:#EFF2F7; border-radius: 20px; padding: 25px 15px;
    md-radio-button.md-default-theme .md-on, md-radio-button .md-on{background-color:var(--ct-color-cta)}
    md-radio-button.md-default-theme .md-off, md-radio-button .md-off, md-radio-button.md-default-theme.md-checked .md-off, md-radio-button.md-checked .md-off{border-color:var(--ct-color-cta)}
}

.searcher label {
    color: var(--ct-color-primary) !important;
    font-size: 1.5rem;
    font-weight:600;
}
.searcher md-input-container .md-input{color:#515d7c !important; border-bottom:1px solid #749DBB}
.btnSearch{float:right; padding:12px 25px; font-size:1.5rem; font-weight:600; color:#FFF !important; border-radius:25px !important; text-transform:none;  background: var(--ct-color-secondary);
    &:hover{background-color:var(--ct-color-hover) !important}
}

.banner-recommended{position:relative; min-height:260px; border-radius:12px; background-color:rgba(17, 17, 17, 1); box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.15); margin-bottom:15px; overflow:hidden;
    /*.layout-hover{position:absolute; inset:0; z-index:2; background-color:rgba(0 0 1 / .5); opacity:.45}*/
    .img-boxed{opacity:.6}
    .caption{position:absolute; z-index:5; inset:0; display:flex; flex-direction:column; justify-content:center; gap:5px; align-items:center; color:#FFF; 
        h3{text-shadow:0px 0px 16px rgba(41 48 67 / 1)}
        .tag{background-color:var(--ct-color-cta); padding:5px 15px; border-radius:25px}
    }
    .material-icons-outlined{position:absolute; z-index:5; bottom:15px; right:15px; color:#FFF}
    
}
.banners-footer .img-responsive{float:right}

.whyBook-section{background-color:#c04623; border-radius:12px; padding:50px 0px; text-align:center; color:#FFF;
    .separator{border-top:1px dashed #FFF; margin-bottom:20px}
    .content{padding:0px 25px}
}
.whyBook-recommended{display:flex; flex-direction:column; gap:10px; justify-content:center; align-items:center;
    .icon{opacity:.65;
        span{font-size:6rem}
    }
}

.block-seo{ margin-bottom:25px; 
    .color-secondary{display:flex; gap:10px; flex-wrap:wrap;}
    h1,h2,h3{font-weight:600}
    h2{opacity:.8}
    h3{opacity:.6}
    p{font-size:1.2rem;}
    img{float:right}
}

.content-products {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 1rem; 
}

.product-recommended{position:relative;
    .image{position:relative; min-height:200px; border-radius:18px; overflow:hidden}
    .caption{position:relative; z-index:5; margin-top:-20px; background-color:#FFF; padding:15px 45px 15px 15px; border-radius:18px;
        p{margin:0px}
        .icon{position:absolute; bottom:15px; right:15px}
    }
}

.tabs-theme md-pagination-wrapper{border-bottom:1px dashed #749DBB; margin-bottom:24px;
    .md-tab{display:inline-flex; align-items:center; gap:8px; padding:8px 10px; font-size:1.7rem; font-weight:600; text-transform:inherit; color:var(--ct-color-primary);
        .material-icons-outlined{color:var(--ct-color-cta);}
    }
    .md-tab.md-active{
        .material-icons-outlined{color:var(--ct-color-secondary);}
    }
    
}

.panel-faq{width:100%; float:left; background-color:transparent;}
		.panel-faq .panel{border:0; background-color:transparent;}
			.panel-faq .panel-heading{position:relative; padding:0; background-color:transparent;}
				.panel-faq .panel-heading a{display:inline-block; width:100%; padding:12px 45px 12px 15px; font-weight:500;  text-transform:none;   border-radius:25px; color:#fff !important; background:var(--ct-color-cta);}
					.panel-faq .panel-heading a .icon{position:absolute; right:15px; top:17px; color:#fff ;}
					.panel-faq .panel-heading.active .plus{display:none;}
					.panel-faq .panel-heading a:hover, .panel-faq .panel-heading a:hover .icon{color:#fff; background:#14131f;}
			.panel-faq  .panel-body{background:#FFF}	


/*Tours*/
.availEngines .searchResume .searchParameters md-icon, .availEngines .searchResume .searchParameters{color:var(--ct-color-primary); font-weight:500; font-size:1.5rem}
.productHotel .optionsContainer .searchResume .newSearch, .availEngines .searchResume .newSearch md-icon, .availEngines .searchResume .newSearch{color:var(--ct-color-cta); font-weight:800; }

.availEngines .filtersContainer .title, .availEngines .resultsContainer .title{text-transform:inherit;
}

.panel-default{border:0px}
.panel.panel-default > .panel-heading, .panel > .panel-heading{font-family:var(--ct-font-secondary);background-color:#f4f4f2; border-radius:25px; text-transform:inherit}
.panel > .panel-heading i{font-size:14px; color:#213145;  position: relative; top: 5px;}
.ui-slider .ui-slider-handle, .ui-slider .ui-slider-range{background-color:var(--ct-color-primary)}

.availEngines .resultsContainer .orderTools{border:0px;}
.availEngines .resultsContainer .orderTools span.titleOrder{padding-top:9px; min-height:39px; padding-left:16px; background-color:#233746; border-bottom:3px solid #233746; color:#FFF; border-radius:25px 0 0 25px; font-size:14px; text-transform:inherit}
.availEngines .resultsContainer .orderParameter.md-button{border-bottom:3px solid #FFF; border-left:0px; text-transform: inherit; font-size: 1.5rem;}
.availEngines .resultsContainer .orderTools .md-button.orderActive{background-color:#FFF; color:var(--ct-color-cta); border-bottom-color:var(--ct-color-cta)}
.availEngines .activityContainer, .availTours .resultsContainer .tourContainer{position:relative; border:0px; border-radius:6px; box-shadow:0px 0px 7px rgb(0 0 0 / .19)}
.availEngines .activityContainer .activityDetails .activityName, .availTours .resultsContainer .tourContainer .tourDetails .tourName{font-size:26px; font-weight:700; color:var(--ct-color-primary)}
.availEngines .activityContainer .activityDetails .activityDescription, .availTours .resultsContainer .tourContainer .tourDetails .tourDescription{font-size:1.6rem; color:inherit; margin:10px 0px;}
.availTours .resultsContainer .tourContainer .tourDetails .tourLocDetails md-icon, .availTours .resultsContainer .tourContainer .tourDetails .tourDeparture md-icon, .availTours .resultsContainer .tourContainer .tourDetails .tourDeparture, .availTours .resultsContainer .tourContainer .tourDetails .tourLocDetails{font-size:1.5rem;color:var(--ct-body-color)}
.productTour .tourCategories span, .availTours .resultsContainer .tourContainer .tourDetails .tourCategories span{display:inline-block}
.availEngines .activityContainer{padding:25px 15px}
.availEngines .activityContainer .activityImg{padding:0 25px 0 5px; aspect-ratio:1/1; max-height:inherit}
.availTours .resultsContainer .tourImg {
    z-index: 2;
    position: absolute;
    top: 25px;
    left: 25px;
    width: 160px;
    height: 160px;
    border-radius: 8px;
    -webkit-box-shadow: 0 4px 4px 0px rgb(33 30 55 / 15%);
    box-shadow: 0 4px 4px 0px rgb(33 30 55 / 15%);
}
.availTours .resultsContainer .tourImg img {
    position: absolute;
    left: 0;
    width: auto;
    height: 100%;
}
.availEngines .activityContainer img{border-radius: 4px;
    -webkit-box-shadow: 0 4px 4px 0px rgb(33 30 55 / 15%);
    box-shadow: 0 4px 4px 0px rgb(33 30 55 / 15%);}
.availTours .resultsContainer .tourContainer .tourDetailsBox {
    width: 100%;
    padding-left: 200px;
}
.availTours .resultsContainer .tourContainer .tourIncludesDetails{border:0px}
.availTours .resultsContainer .tourContainer .tourIncludesDetails .includesList{
    background: #efefef;
    border-radius: 25px;
    padding: 10px;}
.availTours .resultsContainer .tourContainer .tourIncludesDetails .includesList b{display:none}
.availTours .resultsContainer .tourContainer .tourIncludesDetails .includesList i{margin:0px 2px}
.availTours .resultsContainer .tourContainer .tourIncludesDetails .includesList .material-icons{color:#233746}
.availTours .resultsContainer .tourContainer .tourPriceDetails .duration, .availTours .resultsContainer .tourContainer .tourPriceDetails .duration .material-icons, .availTours .resultsContainer .tourContainer .tourPriceDetails .info, .availTours .resultsContainer .tourContainer .tourPriceDetails .price{color:var(--ct-color-cta)}
.availTours .resultsContainer .tourContainer .tourPriceDetails .duration{font-size:14px}

.productTour .tourCategories, .availTours .resultsContainer .tourContainer .tourCategories{margin-top:15px}

.availEngines .activityContainer .activityPriceDetails .md-button.price, .bookingPage .btnContinue, .availTours .resultsContainer .tourContainer .tourIncludesDetails .md-button.viewTour{display:inline-block; text-align:center; padding:5px 25px; border-radius:25px; box-shadow:0px 0px 5px rgba(0,0,1,.4); border:0px; background-color:var(--ct-color-cta); color:#FFF  !important; font-weight:500; text-transform:inherit; font-size:1.6rem; }
.productActivity .activityName, .bookingPage .titlePage, .productTour .tourName{font-size:30px; font-weight:700; color:var(--ct-color-primary)}

.productTour .infoTour{background:transparent}
.productActivity, .productTour .infoTour, .productTour .tourName{margin-top:45px}
.productTour .tourName{margin-bottom:10px}
.productTour .tourDestinations{font-size:1.6rem}
.productTour .tourDestinations md-icon{position:relative; top:4px; color:#b7d8eb }
.productTour .tourDestinations b{color:#213145}
.productTour .galleryTour { overflow: hidden;  display: block;  position: relative;  width: 100%;  margin: 0 auto 25px;  border-radius: 16px; box-shadow: 0px 0px 5px rgb(0 0 1 / 32%);}
.productTour .galleryTour:before{ content: ""; display: block; padding-top:56%;}
.productTour .galleryTour .sliderImages {  position: absolute;   top: 0;right: 0;   bottom: 0;   left: 0;   margin: 0 !important;}
.productTour .galleryTour img { display: block;   width: 100%;    height: 100%;    object-fit: cover;}
.productTour .galleryTour .sliderImages .arrow{top:50%; bottom:inherit; padding-top:20px; width:60px; height:60px; background-image:none;background-color:#233746; border-radius:25px; text-align:center; color:#fff; box-shadow:0px 0px 21px rgba(0,0,1,.17); opacity:1}  
    .productTour .galleryTour .sliderImages .arrow:hover{background-color:var(--ct-color-primary)}
    .productTour .galleryTour .sliderImages .arrow .glyphicons{font-size:20px;position:static; margin:0px}
.productTour .galleryTour .sliderImages .arrow.next, .productTour .galleryTour .sliderImages .arrow.prev{opacity:1}
.productTour .shortDescription{color:inherit; font-size:1.5rem}
.productActivity .informationContainer .detailsTitle, .bookingPage .boxSummary .serviceContainer .sectionSubservice, .bookingPage .formContainerBox .paxContainer .roomHeader .title,.bookingPage .titleSection, .productTour .additionalDescription > .title, .productTour .itineraryDescription > .title, .productTour .includesDescription .title{text-align:left;font-size:18px; font-weight:400; color:#FFF; border: 0px;  background: #5b6a78;  border-radius: 25px;  padding: 10px 20px; margin-bottom:10px}
    .productActivity .informationContainer .detailsTitle .material-icons, .productTour .additionalDescription > .title .material-icons, .productTour .itineraryDescription > .title .material-icons, .productTour .includesDescription .title .material-icons{color:#FFF }
.productTour .includesDescription .boxInclude{min-height:80px; height:inherit}    
.bookingPage .formContainerBox .paxContainer .paxHeader .title, .productTour .includesDescription .boxInclude > span b{font-size:14px; font-weight:700; color:var(--ct-color-primary)}
.productTour .includesDescription .boxInclude > md-icon{color:var(--ct-color-primary)}
.productTour .includesDescription .boxInclude > span span{font-size:14px; line-height: 1.2em; margin-top: 5px;}
.productTour .itineraryDescription > .title{margin-bottom:0px}
.productTour .itineraryDescription .dayItinerary .dayInformation{border-color:#5b6a78}
.productTour .itineraryDescription .dayItinerary .dayNumber{font-size:1.5rem; color:#213145}
.availTour .configurationTour > .resumeConfiguration > .iconResume, .availTour .availableModality .resultsContainer > .resumeConfiguration > .iconResume, .availTour .configurationTour > .boxService > .serviceOrder, .productTour .itineraryDescription .dayItinerary .dayInformation .itinerary-day{background-color:var(--ct-body-bg); border-color:#5b6a78; }
.productTour .additionalDescription .boxDescription .title, .productTour .itineraryDescription .dayItinerary .dayInformation .title{font-size:1.5rem; color:#213145; font-weight:500}
.productTour .additionalDescription .boxDescription .text, .productTour .itineraryDescription .dayItinerary .dayInformation .description{color:inherit; font-size:1.5rem; line-height:var(--ct-body-line-height)}
.productTour .itineraryDescription .dayItinerary.contrast{background-color:transparent; border-color:transparent }
.productTour .itineraryDescription .dayItinerary .dayInformation .dayImage img{border-radius:6px}

.productTour .infoTour .durationInformation, .productTour .infoTour .priceInformation{width: auto; margin: 0 0 10px 2%; padding: 10px 15px 6px 15px;border-radius: 4px;}
.productTour .infoTour .durationInformation .duration, .productTour .infoTour .durationInformation .info{color:#213145}
.productTour .infoTour .priceInformation{padding-top: 15px;  box-shadow: 0 0 5px 0 rgb(0 0 0 / 30%);background: var(--ct-color-cta);}
.productTour .infoTour .priceInformation .price, .productTour .infoTour .priceInformation .info{color:#FFF}
.productTour .columRightDesktop .thumbImages li.active{border-radius:4px; border-color:var(--ct-color-primary)}
.bookingPage .loginBox, .availTour .configurationTour > .resumeConfiguration, .availTour .availableModality .resultsContainer > .resumeConfiguration, .availTour .headerBox, .productTour .searcherBox{background:#233746; border-radius:16px; border:0px; box-shadow:0px 0px 5px rgb(0 0 1 / 32%)}
.productTour .searcherBox a{color:var(--ct-color-cta)}
.productTour .searcherBox > .infoSubTitle md-icon{color:#b7d8eb }
.productTour .searcherBox md-checkbox{font-size:14px}
.availTour .configurationTour > .resumeConfiguration > .priceInfo button.tourBook, .availTour .availableModality .resultsContainer > .resumeConfiguration > .priceInfo button.tourBook, .availTour .headerBox .priceInfo button.tourBook, .productTour .headerFixed .info .md-button.btnSearch, .productTour .searcherBox .searchBox .md-button.btnSearch{border-radius:12px; font-size:1.5rem; font-weight:500; background-color:var(--ct-color-cta) !important; color:#FFF !important}
.productTour .headerFixed .info .md-button.btnSearch{font-weight:400; padding:5px 15px; height:inherit}
.productTour .searcherBox .includesBox{border-radius:16px; background-color:rgba(255,255,255,.8); border:0px}
.productTour .searcherBox .includesBox .title{float:left !important; color:#233746;}
.productTour .searcherBox .includesBox .listBox{background-color:rgba(255,255,255,.8); border-radius:0px 0px 16px 16px; color:#213145}
.productTour .searcherBox .includesBox .listBox .line md-icon{color:#213145 }
.productTour .columRightDesktop .shareTour{padding:10px 0px}
.productTour .columRightDesktop .shareTour .md-button.icon{background-color:var(--ct-color-primary); margin:4px}
.productTour .columRightDesktop .filesTour .md-button{background-color:var(--ct-color-cta); color:#FFF; border-radius:8px}

.tourHotelInfo .contact{background-color:transparent}
.tourHotelInfo .contact .line{margin:3px 0px; padding:5px 15px; background-color:#F4F4F2; border-radius:25px}
.tourHotelInfo .galleryHotel{margin:0px}

.availTour .headerBox .resumePrice > .breakdown .label, .availTour .headerBox .resumePrice > .breakdown .price, .availTour .headerBox .resumePrice > .breakdown .price, .availTour .headerBox .resumePrice > .breakdown .person, .availTour .headerBox{font-size:14px; margin-top:25px}
.availTour .headerBox .tourName{font-size:1.6rem; font-weight:700;}
.availTour .searchResume{box-shadow:inherit; border:0px}
.availTour .includesTour{ border-radius:16px;}
.availTour .serviceInformation .hotels .cardHotel md-card md-card-title .md-headline, .availTour .configurationTour > .title, .availTour .configurationTour > .resumeConfiguration > .title, .availTour .availableModality .resultsContainer > .resumeConfiguration > .title, .availTour .includesTour .title{font-size:14px; font-weight:500}
.availTour .configurationTour > .resumeConfiguration > .priceInfo .amount, .availTour .availableModality .resultsContainer > .resumeConfiguration > .priceInfo .amount, .availTour .headerBox .priceInfo .amount{font-weight:500}
.availTour .configurationTour > .boxService > .serviceOrder{color:var(--ct-color-cta);    padding-top:1px;    font-size: 22px;}
.availTour .configurationTour > .title{border-radius:25px; background-color:#f4f4f2; color:inherit; padding:8px 20px}
.availTour .configurationTour > .boxService{border-color:#f4f4f2}
.availTour .configurationTour > .resumeConfiguration > .iconResume, .availTour .availableModality .resultsContainer > .resumeConfiguration > .iconResume{border:0px}

.availTour .configurationTour > .boxService > .title{font-weight:500; font-size:14px; color:inherit}
.availTour .configurationTour > .boxService > .configService .serviceInformation .destinations md-icon{opacity:.75; position: relative; top: -1px; width:15px; min-width:15px; height:15px; min-height:15px; margin-right: 5px; font-size:1.5rem; color:#b7d8eb;}
					.availTour .configurationTour > .boxService > .configService{background:transparent}
					.availTour .configurationTour > .boxService > .configService .serviceInformation .description{font-size:1.6rem}
						.availTour .configurationTour > .boxService > .configService .modalityContainer{padding:20px 13px;}
							.availTour .configurationTour > .boxService > .configService .serviceChange{margin-bottom:1.6rem; padding-left:24px;}
							.availTour .configurationTour > .boxService > .configService .serviceInformation .title,
							.bookingPage .boxSummary .serviceContainer .serviceData .serviceTitle, .availTour .availableModality .resultsContainer > .listModality > .boxModality .serviceInformation .title{color: var(--ct-color-primary); font-size:21px; font-weight:700}
							.availTour .configurationTour > .boxService > .configService .serviceInformation .destinations,
							.availTour .availableModality .resultsContainer > .listModality > .boxModality .serviceInformation .destinations{font-size:0.9em; color:inherit;}
								.availTour .configurationTour > .boxService > .configService .serviceInformation .destinations md-icon,
								.availTour .availableModality .resultsContainer > .listModality > .boxModality .serviceInformation .destinations md-icon{margin-right:0;}
.bookingPage .formContainerBox, .availEngines .flightContainer, .availEngines .modalityContainer {    padding: 10px 0;    border: 0;    border-radius: 16px;    box-shadow: 0 0 5px 0 rgb(0 0 0 / 15%);    background: #FFF}								
.availTour .configurationTour > .boxService > .configService.complement, .availTour .configurationTour > .boxService > .configService.insurances {    margin-bottom: 10px;    padding: 15px 20px;    font-size: 0.9em;    border-radius: 15px;    -webkit-box-shadow: 0 5px 20px 10px rgb(33 30 55 / 8%);    box-shadow: 0 5px 20px 10px rgb(33 30 55 / 8%);    background-color: #fff;}
.availTour .serviceInformation .hotels .btnShowHotels{font-size:14px; color:var(--ct-color-cta); font-weight:500}
.availTour .serviceInformation .hotels .btnShowHotels .material-icons{color:var(--ct-color-cta)}

.availTour .configurationTour > .resumeConfiguration > .iconResume md-icon, .availTour .availableModality .resultsContainer > .resumeConfiguration > .iconResume md-icon{color:var(--ct-color-primary)}
.availTours .resultsContainer .tourContainer .tourImg{height:100px; border-radius:4px}
/* /Tours*/

/* hotels*/
.panel-default.mapContainer{background-color:#fff; width:300px; box-shadow:0 1px 1px rgba(0,0,0,.05);
    .panel-body{padding:6px}
}
.productHotel{margin-top:50px}
.productHotel .hotelName{
    font-size: 4rem;
    font-weight: 800;
    color:var(--ct-color-primary);
}.productHotel .hotelName .categoryHotel {font-size:2rem}
.productHotel .galleryHotel{background-color:transparent}
.productHotel .hotelAddress{font-size:1.6rem}
.productHotel .hotelGeneralData .iconInfo{color:var(--ct-color-primary)}
.productHotel .hotelGeneralData .viewOnMap .md-button{border-color:var(--ct-color-primary)}
.productHotel .optionsContainer .roomsContainer .boardContainer .boardOptionsContainer .boardOption .optionPrice .md-button, .productHotel .btnBooking,.availEngines .hotelContainer .hotelPriceDetails .md-button.moreInfo, .availEngines .hotelContainer .boardContainer .boardOptionsContainer .boardOption .optionPrice .md-button, .availEngines .resultsContainer .mapContainer .md-button.price, .productHotel .optionsContainer .askOptions .md-button{background-color:var(--ct-color-cta) !important; font-weight:700 !important; text-transform:inherit !important}
.availEngines .hotelContainer .boardContainer .boardOptionsContainer .boardOption .optionPrice{text-align:right}
.availEngines .hotelContainer .hotelPriceDetails .md-button.moreInfo{background-color:var(--ct-color-primary) !important}

.availEngines .hotelContainer .hotelDetails .hotelName{color:var(--ct-color-primary); font-size:2.1rem; font-weight:800}
.availEngines .filtersContainer .md-button.viewMap{border-color:var(--ct-color-primary)}

.productHotel .hotelGeneralData .priceInformation .price, .productHotel .hotelGeneralData .viewOnMap .md-button md-icon, .availEngines .hotelContainer .hotelPriceDetails .price, .productHotel .optionsContainer .searchResume .newSearch md-icon{color:var(--ct-color-primary);}

.gm-style .infoBox{width:auto !important; padding:0px 2px}


/* Activities */
.productActivity .galleryActivity{padding:0 15px; background:transparent}
.productActivity .activityDestination{font-size:1.8rem}
.productActivity .activityGeneralData{box-shadow:0px 0px 10px rgb(131 130 140 / .38); border-radius:6px}
.productActivity .modalitiesContainer{background:transparent}
.productActivity .modalitiesContainer .searchCalendar{background:transparent}
.productActivity .modalitiesContainer .totalPrice > div > .price, .productActivity .activityGeneralData .iconInfo{color:var(--ct-color-cta)}
.productActivity .modalitiesContainer .modalityContainer .paxesContainer .paxQuantity .price, .productActivity .activityGeneralData .priceInformation .price{color:var(--ct-color-primary)}
.productActivity .informationContainer{border:0px; padding:10px 0px; background:transparent; margin-bottom:15px}
.productActivity .informationContainer md-divider{display:none}
.productActivity .informationContainer .description{padding:0px 15px}
.productActivity .btnBooking, .productActivity .modalitiesContainer .totalPrice .md-button{background-color:var(--ct-color-cta);box-shadow:0px 0px 5px rgb(0 0 1 / 40%); border-radius:6px}


/* flights */
.filtersContainer .panel-default{background:transparent}
.panel.panel-default > .panel-heading, .panel > .panel-heading{background-color:#cfdae5; color:#404151}
.availEngines .searchResume{background:transparent}
.availEngines .flightContainer .boxPrice .optionPrice > div > .price{color:var(--ct-color-primary)}
.availEngines .flightContainer .journeysContainer .journeyContainer .btnShowDetails a{color:var(--ct-color-secondary)}
.availEngines .flightContainer .boxPrice .optionPrice .md-button{ border-radius:50px; font-size:16px; font-weight:700 !important; box-shadow:0px 0px 5px rgba(0,0,1,.4); border:0px; background-color:var(--ct-color-cta) !important; text-transform:inherit}

/* packages */
.availPackages .configurationPackage > .boxService > .configService{padding:15px 0px; background:transparent}
/* ferries */
.availEngines .resultsContainer .residentResume{background-color: #edf2fa;       border: 1px solid #c7d3e0; border-radius:25px; box-shadow:5px 0px 21px rgb(0 95 156 / .12)}
.availEngines .searchResume .searchParameters md-icon, .availEngines .searchResume .searchParameters{color:var(--ct-color-primary); font-weight:500; font-size:16px}
.ferryResume .totalPrice .priceBreakdown md-icon,.ferryResume .totalPrice .priceBreakdown,.availEngines .searchResume .newSearch md-icon, .availEngines .searchResume .newSearch{color:var(--ct-color-cta); font-weight:500; }

.availEngines .filtersContainer .title, .availEngines .resultsContainer .title{text-transform:inherit; font-family:var(--ct-font-secondary)}

.availEngines .resultsContainer .residentResume .changeResident{background-color:var(--ct-color-cta); text-transform:inherit; font-weight:500; padding:0px 25px; font-size:1.6rem; border-radius:25px}
.availEngines .resultsContainer .residentResume h5{text-transform:inherit; color:var(--ct-body-color)}

.availFerries .resultsContainer .journeyBox{color:inherit; background:transparent; border-bottom:3px dotted #DDD}
.availFerries .resultsContainer .journeyBox .type md-icon i, .availFerries .resultsContainer .journeyBox .type md-icon{color:var(--ct-color-primary)}
.availEngines .resultsContainer .title{padding-top:0px}
.availEngines .ferryContainer.selected{border-color:var(--ct-color-secondary); border-width:1px}
.availEngines .ferryContainer.selected > .boxRadio{background-color:rgba(244,166,0,.3)}

.availEngines .ferryContainer .tariffContainer .headerOptions{background-color:var(--ct-body-color)}
.availEngines .ferryContainer .tariffContainer .tariffTitle{background-color:#f4f4f4; color:var(--ct-body-color)}
.availEngines .ferryContainer .tariffContainer .boxOption{border-color:#F4F4F4}
.availEngines .ferryContainer .tariffContainer .boxOption .boxRadio{background-color:#f4f4f4}
.availEngines .ferryContainer .tariffContainer .boxOption .boxPrice .price{color:var(--ct-body-color)}

.availEngines .ferryContainer .tariffContainer .boxOption.selected{
    border: 2px solid rgba(244,166,0, 0.3);
    background-color: rgba(244,166,0, 0.3);}
    
.bookingPage .formContainerBox md-input-container.promotionalCodeContainer>.md-button, .bookingPage .btnContinue, .ferryResume .goBooking{background-color:var(--ct-color-secondary) !important; color:#FFF !important; border-radius:25px} 
.bookingPage .btnContinue[disabled]{color:var(--ct-color-primary) !important}
.bookingPage .btnContinue md-icon{color:#FFF}


/* Checkout */
.bookingPage .progressBarContainer{font-size:1.5rem;}
.bookingPage .progressBarContainer > div.step span{font-weight:500; color:inherit}
.bookingPage .loginBox{padding:15px;color:#FFF; text-align:left; font-size:1.5rem; font-weight:400; margin-bottom:15px}
.bookingPage .loginBox .btnLogin{border-radius:8px}
.bookingPage .titleSection{margin-top:30px;}
.bookingPage .tabsOperation .btnPageOperation{background-color:#FFF; color: var(--ct-color-primary); border-radius:6px 6px 0 0}
.bookingPage .tabsOperation .btnPageOperation .material-icons{color:var(--ct-color-primary)}
.bookingPage .tabsOperation .btnPageOperation.active{background-color:var(--ct-color-primary); color:#FFF}
.bookingPage .tabsOperation .btnPageOperation.active .material-icons{color:#FFF}
    .bookingPage .tabsOperation .btnPageOperation[ng-click="operationBooking='budget'"]{display:none}
.bookingPage .tabsOperation{border-color:var(--ct-color-primary)}
.bookingPage .infoSection{font-size:14px; color:inherit}
.bookingPage .formContainerBox{padding:15px;font-size:1.5rem}
.bookingPage .formContainerBox .optionalTitle{font-size:1.5rem}
.bookingPage .formContainerBox .optionalTitle .material-icons,.bookingPage .formContainerBox .optionalTitle{color:var(--ct-color-primary); font-weight:500}
.bookingPage .formContainerBox .secondBox{background-color:#f4f4f2; border-radius:16px}
.bookingPage .formContainerBox .paxContainer .roomHeader .title{background:transparent; padding:0px}
.bookingPage .formContainerBox.cancelPoliciesContainer .containerBox{font-size:14px}

.bookingPage .boxSummary{color:inherit; border:0px; background-color:#FFF}
.bookingPage .boxSummary .headerSummary{text-transform:inherit; background:#FFF}
    .bookingPage .boxSummary .headerSummary b{font-weight:500}
.bookingPage .boxSummary .serviceContainer{border-color:var(--ct-color-secondary)}    
.bookingPage .boxSummary .serviceContainer .sectionSubservice{font-size:20px}
.bookingPage .boxSummary .serviceContainer .serviceData .serviceInfo{color:inherit; font-size: 14px;  padding: 5px 10px;    border-top: 1px solid #f4f4f2;    margin-top: 5px;}
.bookingPage .boxSummary .priceContainer .priceLine{font-size:1.5rem}
.bookingPage .contactUs {    border-radius: 50px;    background: var(--ct-color-cta); color:#FFF;}
.bookingPage .contactUs b{font-weight:500}
.bookingPage .contactUs .phone {    width: 100%;    float: left;    font-size: 24px !important;    line-height: 26px !important;    color: #fff !important;}
.bookingPage .securePayment{text-align:center}
.bookingPage .securePayment .title{text-transform:inherit; font-weight:500; font-size:1.5rem; margin-top:30px}

.bookingPage .progressBarContainer {background-color:transparent;}
.loginBox .btnLogin {border-radius:25px;
    background-color: #5b6a78;
    color: #FFF;
    padding: 10px 20px;
    margin:5px 0px;
    width: 100%;
    text-transform: inherit;
    font-weight: 500;}
    .loginBox .btnLogin.btnTwitter {background-color:#1DA1F2}
    .loginBox .btnLogin.btnLinkedin {background-color:#0077b5}
    .loginBox .btnLogin.btnPayPal {background-color:#003087}
    .loginBox .btnLogin.btnTWSClient  {margin-top:10px}
    .loginBox .btnLogin:hover{background-color:var(--ct-color-secondary) !important}
.loginBox md-checkbox, .loginContainer md-checkbox{margin-bottom:0px; font-size:1.5rem}
.loginBox .md-block a, .loginContainer .md-block a{font-size:1.5rem}
.registerBox .loginLink{
    background: var(--ct-color-primary);
    color: #FFF;
    border-radius: 5px;
    padding: 10px 25px;
    display: inline-block;
    margin-top: 10px;
    font-weight: 700;}
@media (max-width: 1200px) {
    .main-slider .position-caption{top:120px}
  .content-products {
    grid-template-columns: repeat(4, 1fr);
  }
}

@media (max-width: 992px) {
     .block-seo img, .banners-footer .img-responsive{float:none; margin:0 auto}
  .content-products {
    grid-template-columns: repeat(3, 1fr);
  }
  .main-slider, .main-slider .item{min-height:400px}
  .main-slider .position-searcher{position:static; padding:15px 0;}  
  .main-slider .position-footer{bottom:inherit; top:330px}
}

@media (max-width: 768px) {
   
    .whyBook-section h3{padding:0px 15px}
  .content-products {
    grid-template-columns: repeat(2, 1fr);
  }
  #web-footer .contact-forms .content{flex-direction:column}
  .whatsappme__button{width:44px; height: 44px;}
    .whatsappme__button svg{top:9px; left:1px; transform: scale(1);}
}

@media (max-width: 480px) {
  .content-products {
    grid-template-columns: 1fr;
  }
}

@media (min-width: 1200px) {.container {width:100%; max-width:1370px;} }	


/* Fix v+h movil */
@media (max-width: 767px){
	.availPackages .configurationPackage{padding:10px !important}
	.availPackages .configurationPackage > .boxService{margin-left:0 !important; padding-left:0 !important; border:0 !important;}				
	.availPackages .configurationPackage > .boxService > .serviceOrder{display:none}				
	.availEngines .flightContainer .journeysContainer .journeyContainer .imgAirline{width:100%; margin-bottom:10px;}
	.availEngines .flightContainer .journeysContainer .journeyContainer .col-xs-9{width:100%;}
	.availEngines .hotelContainer .hotelImg{width:100%;}
	.availEngines .hotelContainer .hotelDetails{padding:10px;}
	.availPackages .configurationPackage > .boxService > .configService > .hotelContainer .hotelPriceDetails{width:100%;}
	.availPackages .configurationPackage > .boxService > .configService .serviceChange button.modifiyService{width:100%;}
	.availEngines .hotelContainer .hotelDetails .md-button.moreInfo{color:#F88B00 !important; background:#fff !important}
	
	.availPackages .configurationPackage > .resumeConfiguration > .iconResume, .availPackages .changeService > .resumeConfiguration > .iconResume{display:none;}
	.availPackages .configurationPackage > .resumeConfiguration > .title, .availPackages .changeService > .resumeConfiguration > .title{color:#fff;}
	.availPackages .configurationPackage > .resumeConfiguration, .availPackages .changeService > .resumeConfiguration .price-info{width:100%;}
}

		/* Sitemap */
		.page-sitemap{font-size:16px;}
			.page-sitemap .container{width:100%; max-width:1340px; margin:30px auto;}   .main-slider.template, .main-slider.template .item{min-height:400px}.as-table{width:100%; float:left;}
		.as-table > .line{padding:.9em 0; border-bottom:1px #dddde6 solid;}
		.as-table .line:nth-child(2n){background:#f4f4f6;}	