{"version":3,"file":"tent-lib.mjs","sources":["../../../projects/tent/src/lib/components/atomic/badge/badge.component.ts","../../../projects/tent/src/lib/components/atomic/badge/badge.component.html","../../../projects/tent/src/lib/components/atomic/breadcrump/breadcrump.component.ts","../../../projects/tent/src/lib/components/atomic/breadcrump/breadcrump.component.html","../../../projects/tent/src/lib/components/atomic/button/button.component.ts","../../../projects/tent/src/lib/components/atomic/button/button.component.html","../../../projects/tent/src/lib/components/atomic/datepicker/datepicker.component.ts","../../../projects/tent/src/lib/components/atomic/datepicker/datepicker.component.html","../../../projects/tent/src/lib/components/atomic/dropdown/dropdown.component.ts","../../../projects/tent/src/lib/components/atomic/dropdown/dropdown.component.html","../../../projects/tent/src/lib/components/atomic/input/input.component.ts","../../../projects/tent/src/lib/components/atomic/input/input.component.html","../../../projects/tent/src/lib/components/core/advantages/advantages.component.ts","../../../projects/tent/src/lib/components/core/advantages/advantages.component.html","../../../projects/tent/src/lib/components/core/brunch-gallery/brunch-gallery.component.ts","../../../projects/tent/src/lib/components/core/brunch-gallery/brunch-gallery.component.html","../../../projects/tent/src/lib/components/core/brunch/brunch.component.ts","../../../projects/tent/src/lib/components/core/brunch/brunch.component.html","../../../projects/tent/src/lib/components/core/cards-2col/cards-2col.component.ts","../../../projects/tent/src/lib/components/core/cards-2col/cards-2col.component.html","../../../projects/tent/src/lib/components/core/cards-3col/cards-3col.component.ts","../../../projects/tent/src/lib/components/core/cards-3col/cards-3col.component.html","../../../projects/tent/src/lib/components/core/contact-form/contact-form.component.ts","../../../projects/tent/src/lib/components/core/contact-form/contact-form.component.html","../../../projects/tent/src/lib/components/core/contact-office/contact-office.component.ts","../../../projects/tent/src/lib/components/core/contact-office/contact-office.component.html","../../../projects/tent/src/lib/components/core/delivery-app/delivery-app.component.ts","../../../projects/tent/src/lib/components/core/delivery-app/delivery-app.component.html","../../../projects/tent/src/lib/components/core/destination-hotels/destination-hotels.component.ts","../../../projects/tent/src/lib/components/core/destination-hotels/destination-hotels.component.html","../../../projects/tent/src/lib/directives/lazy-background.directive.ts","../../../projects/tent/src/lib/components/core/destination-info/destination-info.component.ts","../../../projects/tent/src/lib/components/core/destination-info/destination-info.component.html","../../../projects/tent/src/lib/components/core/destination-list/destination-list.component.ts","../../../projects/tent/src/lib/components/core/destination-list/destination-list.component.html","../../../projects/tent/src/lib/components/core/employment-benefits/employment-benefits.component.ts","../../../projects/tent/src/lib/components/core/employment-benefits/employment-benefits.component.html","../../../projects/tent/src/lib/components/core/employment-form/employment-form.component.ts","../../../projects/tent/src/lib/components/core/employment-form/employment-form.component.html","../../../projects/tent/src/lib/components/core/employment-info/employment-info.component.ts","../../../projects/tent/src/lib/components/core/employment-info/employment-info.component.html","../../../projects/tent/src/lib/components/core/facilities-slider/facilities-slider.component.ts","../../../projects/tent/src/lib/components/core/facilities-slider/facilities-slider.component.html","../../../projects/tent/src/lib/components/core/footer-a/footer-a.component.ts","../../../projects/tent/src/lib/components/core/footer-a/footer-a.component.html","../../../projects/tent/src/lib/components/core/footer-b/footer-b.component.ts","../../../projects/tent/src/lib/components/core/footer-b/footer-b.component.html","../../../projects/tent/src/lib/components/core/footer-static/footer-static.component.ts","../../../projects/tent/src/lib/components/core/footer-static/footer-static.component.html","../../../projects/tent/src/lib/components/core/modals/room-zoom-modal/room-zoom-modal.component.ts","../../../projects/tent/src/lib/components/core/modals/room-zoom-modal/room-zoom-modal.component.html","../../../projects/tent/src/lib/components/core/gallery-photos/gallery-photos.component.ts","../../../projects/tent/src/lib/components/core/gallery-photos/gallery-photos.component.html","../../../projects/tent/src/lib/components/core/generic-head/generic-head.component.ts","../../../projects/tent/src/lib/components/core/generic-head/generic-head.component.html","../../../projects/tent/src/lib/components/core/guests-popup/guests-popup.component.ts","../../../projects/tent/src/lib/components/core/guests-popup/guests-popup.component.html","../../../projects/tent/src/lib/components/core/header-mobile/header-mobile.component.ts","../../../projects/tent/src/lib/components/core/header-mobile/header-mobile.component.html","../../../projects/tent/src/lib/components/core/modals/hotel-list-modal/hotel-list-modal.component.ts","../../../projects/tent/src/lib/components/core/modals/hotel-list-modal/hotel-list-modal.component.html","../../../projects/tent/src/lib/components/core/header/header.component.ts","../../../projects/tent/src/lib/components/core/header/header.component.html","../../../projects/tent/src/lib/components/core/hotel-about/hotel-about.component.ts","../../../projects/tent/src/lib/components/core/hotel-about/hotel-about.component.html","../../../projects/tent/src/lib/components/core/hotel-app/hotel-app.component.ts","../../../projects/tent/src/lib/components/core/hotel-app/hotel-app.component.html","../../../projects/tent/src/lib/components/core/hotel-equipment/hotel-equipment.component.ts","../../../projects/tent/src/lib/components/core/hotel-equipment/hotel-equipment.component.html","../../../projects/tent/src/lib/components/core/hotel-location/hotel-location.component.ts","../../../projects/tent/src/lib/components/core/hotel-location/hotel-location.component.html","../../../projects/tent/src/lib/components/core/hotel-services/hotel-services.component.ts","../../../projects/tent/src/lib/components/core/hotel-services/hotel-services.component.html","../../../projects/tent/src/lib/components/core/hotel-slider/hotel-slider.component.ts","../../../projects/tent/src/lib/components/core/hotel-slider/hotel-slider.component.html","../../../projects/tent/src/lib/pipes/currency.pipe.ts","../../../projects/tent/src/lib/components/core/hotels-list/hotels-list.component.ts","../../../projects/tent/src/lib/components/core/hotels-list/hotels-list.component.html","../../../projects/tent/src/lib/components/core/info-slider/info-slider.component.ts","../../../projects/tent/src/lib/components/core/info-slider/info-slider.component.html","../../../projects/tent/src/lib/components/core/location-beach/location-beach.component.ts","../../../projects/tent/src/lib/components/core/location-beach/location-beach.component.html","../../../projects/tent/src/lib/components/core/location-how/location-how.component.ts","../../../projects/tent/src/lib/components/core/location-how/location-how.component.html","../../../projects/tent/src/lib/components/core/location-map/location-map.component.ts","../../../projects/tent/src/lib/components/core/location-map/location-map.component.html","../../../projects/tent/src/lib/components/core/loyalty-form/loyalty-form.component.ts","../../../projects/tent/src/lib/components/core/loyalty-form/loyalty-form.component.html","../../../projects/tent/src/lib/components/core/modals/books-modal/books-modal.component.ts","../../../projects/tent/src/lib/components/core/modals/books-modal/books-modal.component.html","../../../projects/tent/src/lib/components/core/modals/checkin-modal/checkin-modal.component.ts","../../../projects/tent/src/lib/components/core/modals/checkin-modal/checkin-modal.component.html","../../../projects/tent/src/lib/components/core/modals/gallery-category/gallery-category.component.ts","../../../projects/tent/src/lib/components/core/modals/gallery-category/gallery-category.component.html","../../../projects/tent/src/lib/components/core/modals/languages-modal/languages-modal.component.ts","../../../projects/tent/src/lib/components/core/modals/languages-modal/languages-modal.component.html","../../../projects/tent/src/lib/directives/scroll.directive.ts","../../../projects/tent/src/lib/components/core/modals/loyalty-modal/loyalty-modal.component.ts","../../../projects/tent/src/lib/components/core/modals/loyalty-modal/loyalty-modal.component.html","../../../projects/tent/src/lib/components/core/modals/menu-modal/menu-modal.component.ts","../../../projects/tent/src/lib/components/core/modals/menu-modal/menu-modal.component.html","../../../projects/tent/src/lib/components/core/modals/newsletter-modal/newsletter-modal.component.ts","../../../projects/tent/src/lib/components/core/modals/newsletter-modal/newsletter-modal.component.html","../../../projects/tent/src/lib/components/core/module-404/module-404.component.ts","../../../projects/tent/src/lib/components/core/module-404/module-404.component.html","../../../projects/tent/src/lib/components/core/module-brava/module-brava.component.ts","../../../projects/tent/src/lib/components/core/module-brava/module-brava.component.html","../../../projects/tent/src/lib/components/core/module-google-maps/module-google-maps.component.ts","../../../projects/tent/src/lib/components/core/module-google-maps/module-google-maps.component.html","../../../projects/tent/src/lib/components/core/module-search/module-search.component.ts","../../../projects/tent/src/lib/components/core/module-search/module-search.component.html","../../../projects/tent/src/lib/components/core/motor/motor.component.ts","../../../projects/tent/src/lib/components/core/motor/motor.component.html","../../../projects/tent/src/lib/components/core/offer-banner/offer-banner.component.ts","../../../projects/tent/src/lib/components/core/offer-banner/offer-banner.component.html","../../../projects/tent/src/lib/components/core/offer-details/offer-details.component.ts","../../../projects/tent/src/lib/components/core/offer-details/offer-details.component.html","../../../projects/tent/src/lib/components/core/offer/offer.component.ts","../../../projects/tent/src/lib/components/core/offer/offer.component.html","../../../projects/tent/src/lib/components/core/offer-list/offer-list.component.ts","../../../projects/tent/src/lib/components/core/offer-list/offer-list.component.html","../../../projects/tent/src/lib/components/core/offer-slider/offer-slider.component.ts","../../../projects/tent/src/lib/components/core/offer-slider/offer-slider.component.html","../../../projects/tent/src/lib/components/core/registration/registration.component.ts","../../../projects/tent/src/lib/components/core/registration/registration.component.html","../../../projects/tent/src/lib/components/core/room-slider/room-slider.component.ts","../../../projects/tent/src/lib/components/core/room-slider/room-slider.component.html","../../../projects/tent/src/lib/components/core/services-details/services-details.component.ts","../../../projects/tent/src/lib/components/core/services-details/services-details.component.html","../../../projects/tent/src/lib/components/core/smartvel/smartvel.component.ts","../../../projects/tent/src/lib/components/core/smartvel/smartvel.component.html","../../../projects/tent/src/lib/components/core/submenu/submenu.component.ts","../../../projects/tent/src/lib/components/core/submenu/submenu.component.html","../../../projects/tent/src/lib/components/core/tent-carrousel-img/tent-carrousel-img.component.ts","../../../projects/tent/src/lib/components/core/tent-carrousel-img/tent-carrousel-img.component.html","../../../projects/tent/src/lib/components/core/tent-faq/tent-faq.component.ts","../../../projects/tent/src/lib/components/core/tent-faq/tent-faq.component.html","../../../projects/tent/src/lib/components/core/tent-footer-logos/tent-footer-logos.component.ts","../../../projects/tent/src/lib/components/core/tent-footer-logos/tent-footer-logos.component.html","../../../projects/tent/src/lib/components/core/tent-loyalty/tent-loyalty.component.ts","../../../projects/tent/src/lib/components/core/tent-loyalty/tent-loyalty.component.html","../../../projects/tent/src/lib/components/core/tent-redirection/tent-redirection.component.ts","../../../projects/tent/src/lib/components/core/tent-redirection/tent-redirection.component.html","../../../projects/tent/src/lib/components/core/tent-video/tent-video.component.ts","../../../projects/tent/src/lib/components/core/tent-video/tent-video.component.html","../../../projects/tent/src/lib/components/core/thanks/thanks.component.ts","../../../projects/tent/src/lib/components/core/thanks/thanks.component.html","../../../projects/tent/src/lib/components/core/top-module/top-module.component.ts","../../../projects/tent/src/lib/components/core/top-module/top-module.component.html","../../../projects/tent/src/lib/components/core/travelers/travelers.component.ts","../../../projects/tent/src/lib/components/core/travelers/travelers.component.html","../../../projects/tent/src/lib/components/core/webmap/webmap.component.ts","../../../projects/tent/src/lib/components/core/webmap/webmap.component.html","../../../projects/tent/src/services/dynamic-scripts/dynamic-scripts.service.ts","../../../projects/tent/src/services/language/lang-code.service.ts","../../../projects/tent/src/services/screen-sizer/screen-sizer.service.token.ts","../../../projects/tent/src/services/screen-sizer/screen-sizer.service.ts","../../../projects/tent/src/public-api.ts","../../../projects/tent/src/tent-lib.ts"],"sourcesContent":["import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, Input } from '@angular/core';\n\n@Component({\n    selector: 'tent-badge',\n    standalone: true,\n    imports: [CommonModule],\n    templateUrl: './badge.component.html',\n    styleUrl: './badge.component.scss',\n    changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class BadgeComponent {\n    @Input() orientation: 'left' | 'right' = 'right';\n    @Input() rounded?: boolean;\n    @Input() label?: string;\n    @Input() icon?: string;\n}\n","<div\n    class=\"badge bg-orange color--white\"\n    [ngClass]=\"{\n        'badge--rounded': rounded,\n        'badge--left': orientation === 'left' && !rounded,\n        'badge--right': orientation === 'right' && !rounded\n    }\"\n>\n    <span>{{ label }}</span>\n</div>\n","import { CommonModule } from '@angular/common';\nimport {\n    ChangeDetectionStrategy,\n    Component,\n    EventEmitter,\n    Input,\n    OnInit,\n    Output,\n} from '@angular/core';\nimport { BreadcrumpI } from '../../../interfaces/atomic/breadcrump.interface';\nimport { RouterModule } from '@angular/router';\n\n@Component({\n    selector: 'tent-breadcrump',\n    standalone: true,\n    imports: [CommonModule, RouterModule],\n    templateUrl: './breadcrump.component.html',\n    styleUrl: './breadcrump.component.scss',\n    changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class BreadcrumpComponent implements BreadcrumpI, OnInit {\n    @Input({ required: true }) breadcrumps!: Breadcrump[];\n    @Input() selected?: Breadcrump;\n\n    @Output() breadcrumpClick = new EventEmitter<Breadcrump>();\n\n    breadcrumpClicked(breadcrump: Breadcrump, event: Event): void {\n        event.preventDefault();\n        this.selected = this.breadcrumps.find((item) => item === breadcrump);\n        this.breadcrumpClick.emit(breadcrump);\n    }\n\n    ngOnInit(): void {\n        this.selected = this.breadcrumps[this.breadcrumps.length - 1];\n    }\n}\n\nexport interface Breadcrump {\n    label: string;\n    url: string;\n}\n","<ol class=\"breadcrump\">\n    @for (breadcrump of breadcrumps; track $index; let last = $last) {\n    <li class=\"breadcrump__element\">\n        <a\n            [href]=\"breadcrump.url\"\n            [routerLink]=\"[breadcrump.url]\"\n            [attr.aria-label]=\"breadcrump.label\"\n            class=\"breadcrump__item\"\n            (click)=\"breadcrumpClicked(breadcrump, $event)\"\n            [ngClass]=\"{\n                'breadcrump__item--active': selected?.label === breadcrump.label\n            }\"\n        >\n            {{ breadcrump.label }}\n        </a>\n        @if (!last) {\n        <div class=\"breadcrump__separator\">·</div>\n        }\n    </li>\n    }\n</ol>\n","import { CommonModule } from '@angular/common';\nimport {\n    ChangeDetectionStrategy,\n    Component,\n    EventEmitter,\n    Input,\n    Output,\n    inject,\n} from '@angular/core';\nimport { DomSanitizer, SafeStyle } from '@angular/platform-browser';\nimport { RouterModule } from '@angular/router';\n\n@Component({\n    selector: 'tent-button',\n    standalone: true,\n    imports: [CommonModule, RouterModule],\n    templateUrl: './button.component.html',\n    styleUrl: './button.component.scss',\n    changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ButtonComponent {\n    @Input() type: ButtonType = 'dark-box';\n    @Input() label?: string;\n    @Input() url?: string;\n    @Input() linkType?: string = 'external';\n    @Input() icon?: string;\n    @Input() socialMedia?:\n        | 'instagram'\n        | 'tiktok'\n        | 'youtube'\n        | 'facebook'\n        | 'linkedin';\n    @Input() iconPosition?: 'left' | 'right' = 'left';\n    @Input() boxWidth?: string;\n    @Input() innerContent?: string;\n    @Input() linkSizeIcon?: string;\n    @Input() closeButton?: boolean;\n    @Input() disabled?: boolean;\n    @Input() name?: string;\n\n    @Output() btnClick = new EventEmitter<void>();\n\n    private readonly sanitizer = inject(DomSanitizer);\n\n    get showBtn(): boolean {\n        return (this.label || this.icon || this.innerContent) !== undefined;\n    }\n\n    get width(): SafeStyle {\n        return this.sanitizer.bypassSecurityTrustStyle(\n            this.boxWidth ? `--size-btn-box: ${this.boxWidth}` : ''\n        );\n    }\n\n    get linkIconStyle(): SafeStyle {\n        return this.sanitizer.bypassSecurityTrustStyle(\n            this.linkSizeIcon\n                ? `--btns-size-icon-links: ${this.linkSizeIcon}`\n                : ''\n        );\n    }\n\n    get isInternalLink(): boolean {\n        return this.linkType === 'internal' || this.linkType === 'self_link';\n    }\n\n    btnClicked(event: Event) {\n        if (this.linkType === 'internal' || this.linkType === 'redirect') {\n            event?.preventDefault();\n        }\n        this.btnClick.emit();\n    }\n}\n\nexport type ButtonType =\n    | 'light-box'\n    | 'dark-box'\n    | 'dark-box-white'\n    | 'dark-box-filled'\n    | 'dark-link'\n    | 'light-circle'\n    | 'dark-circle'\n    | 'dark-circle-filled';\n","@if (showBtn) { @if (url) { @if (isInternalLink) {\n<a\n    class=\"btn\"\n    [ngClass]=\"{\n        'btn--box':\n            type === 'light-box' ||\n            type === 'dark-box-white' ||\n            type === 'dark-box' ||\n            type === 'dark-box-filled',\n        'btn--dark': type === 'dark-box' || type === 'dark-circle',\n        'btn--dark-white': type === 'dark-box-white',\n        'btn--dark-filled':\n            type === 'dark-box-filled' || type === 'dark-circle-filled',\n        'btn--light': type === 'light-box' || type === 'light-circle',\n        'btn--circle--social-media': socialMedia,\n        disabled: disabled,\n        'btn--circle':\n            type === 'dark-circle' ||\n            type === 'light-circle' ||\n            type === 'dark-circle-filled',\n        'btn--close': closeButton,\n        'btn--link': type === 'dark-link'\n    }\"\n    [routerLink]=\"[url]\"\n    target=\"_self\"\n    [style]=\"width\"\n    [href]=\"url\"\n    [attr.aria-label]=\"label\"\n    (click)=\"btnClicked($event)\"\n>\n    <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n</a>\n} @else {\n<a\n    class=\"btn\"\n    [ngClass]=\"{\n        'btn--box':\n            type === 'light-box' ||\n            type === 'dark-box-white' ||\n            type === 'dark-box' ||\n            type === 'dark-box-filled',\n        'btn--dark': type === 'dark-box' || type === 'dark-circle',\n        'btn--dark-white': type === 'dark-box-white',\n        'btn--dark-filled':\n            type === 'dark-box-filled' || type === 'dark-circle-filled',\n        'btn--light': type === 'light-box' || type === 'light-circle',\n        'btn--circle--social-media': socialMedia,\n        disabled: disabled,\n        'btn--circle':\n            type === 'dark-circle' ||\n            type === 'light-circle' ||\n            type === 'dark-circle-filled',\n        'btn--close': closeButton,\n        'btn--link': type === 'dark-link'\n    }\"\n    target=\"_blank\"\n    [style]=\"width\"\n    [href]=\"url\"\n    [attr.aria-label]=\"label\"\n    (click)=\"btnClicked($event)\"\n>\n    <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n</a>\n} } @else {\n<!--BUTTON BOX-->\n@if(type === 'light-box' || type ==='dark-box-white' || type ==='dark-box' ||\ntype ==='dark-box-filled') {\n<button\n    class=\"btn btn--box\"\n    [ngClass]=\"{\n                'btn--dark': type === 'dark-box',\n                'btn--dark-white': type === 'dark-box-white',\n                'btn--dark-filled': type === 'dark-box-filled',\n                'btn--light': type === 'light-box',\n                'disabled': disabled,\n            }\"\n    [style]=\"width\"\n    (click)=\"btnClicked($event)\"\n    [attr.disabled]=\"disabled ? true : null\"\n    [name]=\"name\"\n    [attr.aria-label]=\"name\"\n>\n    <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n</button>\n\n}\n<!--BUTTON CIRCLE-->\n@if(type === 'light-circle' || type === 'dark-circle' || type ===\n'dark-circle-filled') {\n<div class=\"btn--circle-container\">\n    <button\n        class=\"btn btn--circle btn--circle--{{ socialMedia }}\"\n        [ngClass]=\"{\n            'btn--circle--social-media': socialMedia,\n            'btn--dark': type === 'dark-circle',\n            'btn--light': type === 'light-circle',\n            'btn--dark-filled': type === 'dark-circle-filled',\n            'btn--close': closeButton\n        }\"\n        (click)=\"btnClicked($event)\"\n        [name]=\"name\"\n        [attr.aria-label]=\"name\"\n    >\n        <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n    </button>\n</div>\n}\n\n<!--BUTTON LINK-->\n@if (type === 'dark-link') {\n<p class=\"btn btn--link\" (click)=\"btnClicked($event)\">\n    <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n</p>\n} } }\n\n<ng-template #content>\n    <!--BUTTON BOX-->\n    @if(type === 'light-box' || type ==='dark-box-white' || type ==='dark-box'\n    || type ==='dark-box-filled') {\n\n    <div class=\"btn--box-container\">\n        @if(icon && iconPosition === 'left' ) {\n        <mat-icon\n            fontSet=\"icomoon\"\n            class=\"btn--box-icon\"\n            [ngClass]=\"icon\"\n        ></mat-icon>\n        }\n\n        {{ label }}\n\n        @if(icon && iconPosition === 'right') {\n        <mat-icon\n            fontSet=\"icomoon\"\n            class=\"btn--box-icon\"\n            [ngClass]=\"icon\"\n        ></mat-icon>\n        }\n    </div>\n\n    }\n    <!--BUTTON CIRCLE-->\n    @if(type === 'light-circle' || type === 'dark-circle' || type ===\n    'dark-circle-filled') { @if (icon) {\n    <mat-icon\n        fontSet=\"icomoon\"\n        [ngClass]=\"icon\"\n        class=\"btn--circle-icon\"\n    ></mat-icon>\n\n    } }\n\n    <!--BUTTON LINK-->\n    @if (type === 'dark-link') { @if(icon && iconPosition === 'left' ) {\n    <mat-icon\n        fontSet=\"icomoon\"\n        [ngClass]=\"icon\"\n        class=\"btn--link-icon\"\n    ></mat-icon>\n    } @if (label) {\n    {{ label }}\n    } @else {\n    <span [innerHTML]=\"innerContent\"></span>\n    } @if(icon && iconPosition === 'right') {\n    <mat-icon\n        fontSet=\"icomoon\"\n        [ngClass]=\"icon\"\n        class=\"btn--link-icon\"\n        [style]=\"linkIconStyle\"\n    ></mat-icon>\n    } }\n</ng-template>\n","import { CommonModule } from '@angular/common';\nimport {\n    ChangeDetectionStrategy,\n    Component,\n    EventEmitter,\n    Input,\n    Output,\n    ViewChild,\n    forwardRef,\n} from '@angular/core';\nimport {\n    ControlValueAccessor,\n    FormsModule,\n    NG_VALUE_ACCESSOR,\n} from '@angular/forms';\nimport { MatIconModule } from '@angular/material/icon';\nimport { Calendar, CalendarModule } from 'primeng/calendar';\n\n@Component({\n    selector: 'tent-datepicker',\n    standalone: true,\n    imports: [CommonModule, CalendarModule, FormsModule, MatIconModule],\n    templateUrl: './datepicker.component.html',\n    styleUrl: './datepicker.component.scss',\n    providers: [\n        {\n            provide: NG_VALUE_ACCESSOR,\n            useExisting: forwardRef(() => DatepickerComponent),\n            multi: true,\n        },\n    ],\n    changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class DatepickerComponent implements ControlValueAccessor {\n    @ViewChild('datepicker') datepicker!: Calendar;\n    @Input() value?: Date[];\n    @Input() title?: string;\n    @Input() placeholder?: string;\n    @Input() icon?: string;\n    @Input() isDisabled = false;\n    @Input() bordered = false;\n    @Input() sameTitlePlaceholder = false;\n\n    @Output() change = new EventEmitter<typeof this.value>();\n\n    dateFormat = 'dd-mm-yy';\n    minDate = new Date();\n\n    onChange = (_: Date[] | undefined) => {};\n    onTouch = () => {};\n\n    dateChange(date: Date[] | undefined): void {\n        this.value = date;\n\n        if (date && this.sameTitlePlaceholder && !this.title) {\n            this.title = this.placeholder;\n        }\n\n        this.onTouch();\n        this.onChange(this.value);\n        this.change.emit(this.value);\n    }\n\n    openCalendar(): void {\n        this.datepicker.toggle();\n    }\n\n    //Control value accessor\n\n    writeValue(value: Date[] | undefined): void {\n        if (value) {\n            this.value = value;\n        } else {\n            this.value = undefined;\n        }\n    }\n    registerOnChange(fn: any): void {\n        this.onChange = fn;\n    }\n    registerOnTouched(fn: any): void {\n        this.onTouch = fn;\n    }\n    setDisabledState(isDisabled: boolean): void {\n        this.isDisabled = isDisabled;\n    }\n}\n","<div class=\"datepicker--wrapper\">\n    <div class=\"datepicker--content\">\n        @if (title) {\n        <p class=\"datepicker--title\">\n            {{ title }}\n        </p>\n        }\n        <p-calendar\n            class=\"datepicker\"\n            [showOtherMonths]=\"false\"\n            [minDate]=\"minDate\"\n            [dateFormat]=\"dateFormat\"\n            [(ngModel)]=\"value\"\n            [disabled]=\"isDisabled\"\n            selectionMode=\"range\"\n            [numberOfMonths]=\"2\"\n            [placeholder]=\"placeholder\"\n            (ngModelChange)=\"dateChange($event)\"\n            #datepicker\n        >\n        </p-calendar>\n    </div>\n\n    <mat-icon\n        (click)=\"openCalendar()\"\n        fontSet=\"icomoon\"\n        class=\"datepicker--icon flex-row flex-row--center\"\n        [ngClass]=\"icon\"\n    ></mat-icon>\n</div>\n","import { CommonModule, isPlatformBrowser } from '@angular/common';\nimport {\n    ChangeDetectionStrategy,\n    ChangeDetectorRef,\n    Component,\n    EventEmitter,\n    Inject,\n    Input,\n    OnInit,\n    Output,\n    PLATFORM_ID,\n    Renderer2,\n    forwardRef,\n} from '@angular/core';\nimport {\n    ControlValueAccessor,\n    FormsModule,\n    NG_VALUE_ACCESSOR,\n} from '@angular/forms';\nimport { DropdownModule } from 'primeng/dropdown';\n\n@Component({\n    selector: 'tent-dropdown',\n    standalone: true,\n    imports: [CommonModule, DropdownModule, FormsModule, CommonModule],\n    templateUrl: './dropdown.component.html',\n    styleUrl: './dropdown.component.scss',\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    providers: [\n        {\n            provide: NG_VALUE_ACCESSOR,\n            useExisting: forwardRef(() => DropdownComponent),\n            multi: true,\n        },\n    ],\n})\nexport class DropdownComponent implements ControlValueAccessor, OnInit {\n    @Input() value?: DropdownOption;\n    @Input() placeholder?: string;\n    @Input() title?: string;\n    @Input() smallTitle?: string;\n    @Input() options?: DropdownOption[];\n    @Input() name!: string;\n    @Input() iconLeft?: string;\n    @Input() error?: string;\n    @Input() theme?: string;\n    @Input() valid = true;\n    @Input() isDisabled = false;\n    @Input() light = false;\n    @Input() showTitleTop = false;\n    @Input() sameTitlePlaceholder = false;\n    @Input() staticPosition = true;\n\n    @Output() change = new EventEmitter<DropdownOption>();\n    @Output() dropdownBlur = new EventEmitter<void>();\n\n    optionsWithSubcategories: DropdownOption[] = [];\n\n    isThereSubcategories?: boolean;\n\n    onChange = (_: DropdownOption | undefined) => {};\n    onTouch = () => {};\n\n    constructor(\n        private readonly renderer: Renderer2,\n        private readonly cdr: ChangeDetectorRef,\n        @Inject(PLATFORM_ID) private platformId: Object\n    ) {}\n\n    ngOnInit(): void {\n        this.isThereSubcategories = this.options?.some(\n            (option) => option.subcategories !== undefined\n        );\n        if (this.isThereSubcategories) {\n            this.options?.forEach((option) => {\n                this.optionsWithSubcategories.push(option);\n\n                if (option.subcategories?.length) {\n                    option.subcategories.forEach((suboption) => {\n                        this.optionsWithSubcategories.push(suboption);\n                    });\n                }\n            });\n\n            this.options = this.optionsWithSubcategories;\n        }\n    }\n\n    onShowDropdown(): void {\n        if (!isPlatformBrowser(this.platformId)) return;\n        if (this.isThereSubcategories) {\n            let i = 0;\n            this.options?.forEach((option) => {\n                if (!option.subcategories?.length && i > 0) {\n                    this.renderer.setStyle(\n                        document.getElementsByTagName('p-dropdownitem')[i]\n                            .children[0],\n                        'padding-left',\n                        '30px'\n                    );\n                } else {\n                    this.renderer.setStyle(\n                        document.getElementsByTagName('p-dropdownitem')[i]\n                            .children[0],\n                        'font-weight',\n                        '700'\n                    );\n                }\n                i++;\n            });\n        }\n    }\n\n    valueChange(value: DropdownOption | undefined): void {\n        this.value = value;\n\n        if (value && this.sameTitlePlaceholder && !this.title) {\n            this.title = this.placeholder;\n        }\n\n        this.onTouch();\n        this.onChange(this.value);\n        this.change.emit(this.value);\n    }\n\n    //Control value accessor\n\n    writeValue(value: DropdownOption | undefined): void {\n        if (value) {\n            this.value = value;\n        } else {\n            this.value = undefined;\n        }\n        this.cdr.markForCheck();\n    }\n    registerOnChange(fn: any): void {\n        this.onChange = fn;\n    }\n    registerOnTouched(fn: any): void {\n        this.onTouch = fn;\n    }\n    setDisabledState(isDisabled: boolean): void {\n        this.isDisabled = isDisabled;\n    }\n}\n\nexport interface DropdownOption {\n    name: string;\n    code: string;\n    subcategories?: DropdownOption[];\n    ticker?: string;\n}\n","<div\n    class=\"dropdown--wrapper\"\n    [ngClass]=\"{\n        'dropdown--wrapper--light': light,\n        'dropdown--wrapper--laundry': theme === 'theme-laundry',\n        invalid: !valid\n    }\"\n>\n    <div class=\"dropdown--content\">\n        @if (iconLeft) {\n        <mat-icon\n            fontset=\"icomoon\"\n            class=\"color--brown\"\n            [ngClass]=\"iconLeft\"\n        ></mat-icon>\n        }\n        <div class=\"dropdown--dropdown\">\n            @if (title) {\n            <div class=\"dropdown--title-wrapper\">\n                <span class=\"dropdown--title color--brown\">\n                    {{ title }}\n                </span>\n                @if (smallTitle) {\n                <small class=\"dropdown--small-title\">\n                    {{ smallTitle }}\n                </small>\n\n                }\n            </div>\n\n            }\n            <p-dropdown\n                [ngClass]=\"{\n                    'dropdown--big': iconLeft,\n                    'dropdown--static': staticPosition\n                }\"\n                class=\"dropdown\"\n                [options]=\"options\"\n                [(ngModel)]=\"value\"\n                optionLabel=\"name\"\n                [placeholder]=\"placeholder\"\n                [disabled]=\"isDisabled\"\n                [name]=\"name\"\n                dropdownIcon=\"icon-pointer-down\"\n                (ngModelChange)=\"valueChange($event)\"\n                (onShow)=\"onShowDropdown()\"\n                (onHide)=\"dropdownBlur.emit()\"\n            >\n            </p-dropdown>\n        </div>\n    </div>\n    <span class=\"icon-pointer-down dropdown--icon\"></span>\n</div>\n@if (!valid) {\n<span class=\"form-error\">{{ error }}</span>\n}\n","import { CommonModule } from '@angular/common';\nimport {\n    Component,\n    EventEmitter,\n    Input,\n    Output,\n    forwardRef,\n} from '@angular/core';\nimport {\n    ControlValueAccessor,\n    FormsModule,\n    NG_VALUE_ACCESSOR,\n} from '@angular/forms';\nimport { InputI } from '../../../interfaces/atomic/input.interface';\n\n@Component({\n    selector: 'tent-input',\n    standalone: true,\n    imports: [CommonModule, FormsModule],\n    templateUrl: './input.component.html',\n    styleUrl: './input.component.scss',\n    providers: [\n        {\n            provide: NG_VALUE_ACCESSOR,\n            useExisting: forwardRef(() => InputComponent),\n            multi: true,\n        },\n    ],\n})\nexport class InputComponent implements InputI, ControlValueAccessor {\n    @Input() type!: 'email' | 'password' | 'text' | 'number' | 'file' | 'tel';\n    @Input() value?: string | File = '';\n    @Input() placeholder?: string;\n    @Input() icon?: string;\n    @Input() title?: string;\n    @Input() required?: boolean;\n    @Input() name!: string;\n    @Input() error?: string;\n    @Input() isDisabled = false;\n    @Input() valid = true;\n    @Input() iconBackOffice = false;\n\n    @Output() change = new EventEmitter<string | File>();\n    @Output() inputBlur = new EventEmitter<void>();\n\n    onChange = (_: string | File) => {};\n    onTouch = () => {};\n\n    constructor() {}\n\n    onInputChange(event: Event): void {\n        const inputElement = event.target as HTMLInputElement;\n\n        if (this.type === 'tel') {\n            inputElement.value = inputElement.value.replace(/[^0-9+]/g, '');\n        }\n\n        if (this.type === 'file') {\n            const files = inputElement.files;\n            if (files && files.length > 0) {\n                this.valueChange(Array.from(files)[0]); // Maneja archivos\n            }\n        } else {\n            this.valueChange(inputElement.value); // Maneja valores de texto\n        }\n    }\n\n    valueChange(value: string | File): void {\n        this.value = value;\n        this.onChange(value);\n        this.onTouch();\n        this.change.emit(value);\n        this.inputBlur.emit();\n    }\n\n    getValuePath(): string {\n        return (this.value as File)?.name ?? '';\n    }\n\n    //Control value accessor\n\n    writeValue(value: string | File): void {\n        this.value = value;\n    }\n    registerOnChange(fn: any): void {\n        this.onChange = fn;\n    }\n    registerOnTouched(fn: any): void {\n        this.onTouch = fn;\n    }\n    setDisabledState(isDisabled: boolean): void {\n        this.isDisabled = isDisabled;\n    }\n}\n","<div class=\"flex-col\">\n    @if (title) {\n    <p class=\"input--title\">\n        @if (required) {\n        <span class=\"input--required\"></span>\n        }\n        {{ title }}\n    </p>\n    }\n    <div class=\"input--wrapper\" [ngClass]=\"{ invalid: !valid }\">\n        <input\n            class=\"input\"\n            [name]=\"name\"\n            [type]=\"type\"\n            [value]=\"type !== 'file' ? value : ''\"\n            [placeholder]=\"placeholder ?? ''\"\n            (change)=\"onInputChange($event)\"\n            [attr.accept]=\"type === 'file' ? 'application/pdf' : null\"\n            (blur)=\"inputBlur.emit()\"\n        />\n        @if (type === 'file' && value) {\n        <span class=\"input--path\">{{ getValuePath() }}</span>\n        } @if (icon) {\n        <span\n            class=\"input--icon \"\n            [ngClass]=\"{ 'input--icon--backoffice': iconBackOffice }\" >\n                <span class=\"icon-{{ icon }}\">\n            </span>\n        </span>\n        }\n    </div>\n    @if (!valid) {\n    <span class=\"form-error\">\n        {{ error }}\n    </span>\n    }\n</div>\n","import { CommonModule } from '@angular/common';\nimport {\n    ChangeDetectionStrategy,\n    Component,\n    Input,\n    ViewChild,\n} from '@angular/core';\nimport { MatIconModule } from '@angular/material/icon';\nimport {\n    CarouselComponent,\n    CarouselModule,\n    OwlOptions,\n} from 'ngx-owl-carousel-o';\n\n@Component({\n    selector: 'tent-advantages',\n    standalone: true,\n    imports: [CommonModule, CarouselModule, MatIconModule],\n    templateUrl: './advantages.component.html',\n    styleUrl: './advantages.component.scss',\n    changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class AdvantagesComponent {\n    @ViewChild(CarouselComponent) carousel!: CarouselComponent;\n\n    @Input() title?: string;\n    @Input() items?: AdvantageItem[];\n    @Input() sliderControls = [\n        '/assets/tent/img/arrow-left.svg',\n        '/assets/tent/img/arrow-right.svg',\n    ];\n\n    sliderOptions: OwlOptions = {\n        loop: true,\n        autoplay: true,\n        autoplayTimeout: 5000,\n        autoplaySpeed: 1500,\n        navSpeed: 1500,\n        responsiveRefreshRate: 100,\n        mouseDrag: true,\n        touchDrag: true,\n        pullDrag: true,\n        dots: false,\n        nav: false,\n        navText: [\n            '<img src=\"/assets/tent/img/arrow-left.svg\" alt=\"left\" class=\" \" >',\n            '<img src=\"/assets/tent/img/arrow-right.svg\" alt=\"left\" class=\" \" >',\n        ],\n        responsive: {\n            0: {\n                items: 1,\n                margin: 0,\n            },\n            688: {\n                items: 2,\n                margin: 0,\n            },\n            1024: {\n                items: 2,\n                margin: 0,\n            },\n            1130: {\n                items: 3,\n                margin: 0,\n            },\n        },\n    };\n\n    prevClick(): void {\n        this.carousel.prev();\n    }\n\n    nextClick(): void {\n        this.carousel.next();\n    }\n}\n\nexport interface AdvantageItem {\n    title: string;\n    icon: string;\n}\n","<section class=\"advantages module-spacer--bottom\">\n    <div class=\"advantages--content wrapper-big\">\n        @if (title) {\n        <h4 class=\"title--42 pb--20 color--brown\">{{ title }}</h4>\n        }\n\n        <div class=\"advantages--box\">\n            <owl-carousel-o\n                class=\"slider-arrows--center\"\n                [options]=\"sliderOptions\"\n            >\n                @for (item of items; track $index) { @if (item.title) {\n                <ng-template carouselSlide>\n                    <div class=\"advantages--slide flex-row flex-row--between\">\n                        <p class=\"advantages--text color--brown\">\n                            {{ item.title }}\n                        </p>\n\n                        @if (item.icon) {\n                        <mat-icon\n                            [ngClass]=\"item.icon\"\n                            class=\"color--brown\"\n                            fontSet=\"icomoon\"\n                        ></mat-icon>\n                        }\n\n                        <div class=\"advantages--separator\"></div>\n                    </div>\n                </ng-template>\n\n                } }\n            </owl-carousel-o>\n            <div class=\"advantages--nav\">\n                <div class=\"advantages--nav--inner\">\n                    <div class=\"advantages--nav--left\">\n                        <img\n                            (click)=\"prevClick()\"\n                            [src]=\"sliderControls[0]\"\n                            alt=\"left\"\n                            class=\"\"\n                        />\n                    </div>\n                    <div class=\"advantages--nav--right\">\n                        <img\n                            (click)=\"nextClick()\"\n                            [src]=\"sliderControls[1]\"\n                            alt=\"right\"\n                            class=\" \"\n                        />\n                    </div>\n                </div>\n            </div>\n        </div>\n    </div>\n</section>\n","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\nimport { DomSanitizer, SafeStyle } from '@angular/platform-browser';\n\n@Component({\n    selector: 'tent-brunch-gallery',\n    standalone: true,\n    imports: [],\n    templateUrl: './brunch-gallery.component.html',\n    styleUrl: './brunch-gallery.component.scss',\n    changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class BrunchGalleryComponent {\n    @Input() title?: string;\n    @Input() ndTitle?: string;\n    @Input() images?: string[];\n    @Input() holidayHouse?: boolean;\n\n    constructor(private readonly sanitizer: DomSanitizer) {}\n\n    getImage(image: string): SafeStyle {\n        return this.sanitizer.bypassSecurityTrustUrl(\n            `background-image: url(${image})`\n        );\n    }\n}\n","@if (!holidayHouse) {\n<div class=\"brunch-gallery wrapper-big brunch-gallery-box\">\n    <div class=\"brunch-gallery--image-group\">\n        <div class=\"brunch-gallery--inner\">\n            @if (title) {\n            <h1\n                class=\"brunch-gallery--title title--60 color--brown title-mobile\"\n            >\n                {{ title }}\n            </h1>\n            } @if (images?.length) {\n            <div class=\"brunch-gallery--grid\">\n                @for (img of images; track $index) { @if ($index < 6 ) {\n                <div class=\"brunch-gallery--item\" [id]=\"'item-' + ($index + 1)\">\n                    @if ($index === 0) {\n                    <h1\n                        class=\"brunch-gallery--title title--60 color--brown title-desktop\"\n                    >\n                        {{ title }}\n                    </h1>\n                    }\n                    <figure\n                        class=\"figure-full\"\n                        [style]=\"getImage(img)\"\n                    ></figure>\n                </div>\n\n                } } @if (ndTitle) {\n                <div class=\"brunch-gallery--item\" id=\"item-8\">\n                    <h1 class=\"brunch-gallery--title title--54 color--camel\">\n                        {{ ndTitle }}\n                    </h1>\n                </div>\n                }\n            </div>\n            }\n        </div>\n    </div>\n</div>\n\n} @else {\n<!-- //Holiday -->\n<div\n    class=\"brunch-gallery wrapper-big module-spacer--bottom holiday-gallery-box\"\n>\n    <div class=\"brunch-gallery--image-group\">\n        <div class=\"brunch-gallery--inner\">\n            @if (title) {\n            <h1\n                class=\"brunch-gallery--title title--60 color--brown title-mobile\"\n            >\n                {{ title }}\n            </h1>\n\n            } @if (images?.length) {\n            <div class=\"brunch-gallery--grid\">\n                @for (img of images; track $index) { @if ($index < 8 ) {\n                <div class=\"brunch-gallery--item\" [id]=\"'item-' + ($index + 1)\">\n                    @if ($index === 0) {\n                    <h1\n                        class=\"brunch-gallery--title title--60 color--brown title-desktop\"\n                    >\n                        {{ title }}\n                    </h1>\n                    }\n                    <figure\n                        class=\"figure-full\"\n                        [style]=\"getImage(img)\"\n                    ></figure>\n                </div>\n                } }\n            </div>\n            }\n        </div>\n    </div>\n</div>\n\n}\n","import { CommonModule } from '@angular/common';\nimport { Component, Input, Renderer2 } from '@angular/core';\nimport { MatProgressSpinnerModule } from '@angular/material/progress-spinner';\nimport { YouTubePlayerModule } from '@angular/youtube-player';\nimport { ButtonI } from '../../../interfaces/atomic/button.interface';\nimport { ImageI } from '../../../interfaces/atomic/image.interface';\nimport { ButtonComponent } from '../../atomic/button/button.component';\n@Component({\n    selector: 'tent-brunch',\n    standalone: true,\n    imports: [\n        CommonModule,\n        ButtonComponent,\n        YouTubePlayerModule,\n        MatProgressSpinnerModule,\n    ],\n    templateUrl: './brunch.component.html',\n    styleUrl: './brunch.component.scss',\n})\nexport class BrunchComponent {\n    @Input() title?: string;\n    @Input() description?: string;\n    @Input() additionalDescription?: string;\n    @Input() links?: ButtonI[];\n    @Input() image?: ImageI;\n    @Input() video?: ImageI;\n    @Input() timmingTitle?: string;\n    @Input() timmingItems?: TimingItem[];\n    showMore = false;\n\n    tag!: HTMLScriptElement;\n    playerVars!: YT.PlayerVars;\n    apiloaded = false;\n    loading = true;\n\n    constructor(private readonly renderer: Renderer2) {}\n\n    toggleShowMore(): void {\n        this.showMore = !this.showMore;\n    }\n\n    // ngOnInit(): void {\n    //     this.playerVars = {\n    //         enablejsapi: 1,\n    //         autoplay: 1,\n    //         controls: 0,\n    //         showinfo: 0,\n    //         modestbranding: 1,\n    //         loop: 1,\n    //         fs: 1,\n    //         cc_load_policy: 1,\n    //         iv_load_policy: 3,\n    //         autohide: 1,\n    //         rel: 0,\n    //         playsinline: 1,\n    //         playlist: this.video?.src,\n    //     };\n    //     if (this.video) {\n    //         this.initPlayer();\n    //     }\n    // }\n\n    // onStateChange(e: any) {\n    //     e.target.setPlaybackQuality('highres');\n    //     if (e.data == YT.PlayerState.PLAYING) {\n    //         e.target.mute();\n    //         setTimeout(() => {\n    //             e.target.playVideo();\n    //             document\n    //                 .getElementsByTagName('youtube-player')[0]\n    //                 .children[0].children[0].setAttribute(\n    //                     'style',\n    //                     'opacity: 1'\n    //                 );\n    //             this.loading = false;\n    //         }, 0);\n    //     }\n    //     if (e.data == YT.PlayerState.PAUSED) {\n    //         e.target.mute();\n    //         setTimeout(() => {\n    //             e.target.playVideo();\n    //             document\n    //                 .getElementsByTagName('youtube-player')[0]\n    //                 .children[0].children[0].setAttribute(\n    //                     'style',\n    //                     'opacity: 1'\n    //                 );\n    //             this.loading = false;\n    //         }, 0);\n    //     }\n    //     if (e.data == YT.PlayerState.ENDED) {\n    //         e.target.mute();\n    //         e.target.seekTo(0);\n    //         e.target.playVideo();\n    //     }\n    // }\n\n    // initPlayer(): void {\n    //     const existingScript = Array.from(\n    //         document.getElementsByTagName('script')\n    //     ).find((script) => script.src === 'https://www.youtube.com/iframe_api');\n\n    //     if (!existingScript) {\n    //         this.tag = document.createElement('script');\n    //         this.tag.src = 'https://www.youtube.com/iframe_api';\n    //         this.tag.async = true;\n    //         const firstScriptTag = document.getElementsByTagName('script')[0];\n    //         firstScriptTag.parentNode?.insertBefore(this.tag, firstScriptTag);\n\n    //         (window as any)['onYouTubeIframeAPIReady'] = () => {\n    //             this.apiloaded = true;\n    //         };\n    //     } else {\n    //         this.apiloaded = true;\n    //     }\n    // }\n\n    // onPlayerReady(event: any) {\n    //     event.target.mute();\n    //     event.target.seekTo(1, true);\n    //     event.target.playVideo();\n    // }\n}\n\nexport interface TimingItem {\n    label: string;\n    icon?: string;\n}\n","<div class=\"wrapper-big module-spacer--bottom\">\n    <div class=\"brunch\">\n        @if (video || image) {\n        <div class=\"brunch--video-wrapper figure-sticky\">\n            @if (video) {\n            <div class=\"brunch--video\">\n                <!-- @if (loading) {\n                <mat-spinner></mat-spinner>\n                } @if (apiloaded) {\n                <youtube-player\n                    #ytPlayer\n                    [videoId]=\"video.src\"\n                    suggestedQuality=\"highres\"\n                    [showBeforeIframeApiLoads]=\"true\"\n                    [playerVars]=\"playerVars\"\n                    (stateChange)=\"onStateChange($event)\"\n                    (ready)=\"onPlayerReady($event)\"\n                    [disablePlaceholder]=\"true\"\n                >\n                </youtube-player\n                >} -->\n                <video\n                    loop\n                    muted\n                    playsinline\n                    autoplay\n                    preload=\"auto\"\n                    width=\"100%\"\n                    height=\"100%\"\n                    oncanplay=\"this.play()\"\n                    onloadedmetadata=\"this.muted = true\"\n                >\n                    @if (video) {\n                    <source [src]=\"video.src + '.webm'\" type=\"video/webm\" />\n                    <source [src]=\"video.src + '.mp4'\" type=\"video/mp4\" />\n                    }\n                </video>\n            </div>\n            } @else if (image) {\n            <img\n                class=\"brunch--video\"\n                [src]=\"image.src\"\n                [alt]=\"image.alt\"\n                width=\"600\"\n                height=\"600\"\n                loading=\"lazy\"\n            />\n            }\n        </div>\n        }\n        <div class=\"brunch--content-wrapper\">\n            @if (title) {\n            <h2 class=\"brunch--title title--60 color--brown\">{{ title }}</h2>\n            } @if (description) {\n            <p class=\"brunch--description text\">\n                {{ description }}\n            </p>\n            } @if (showMore && additionalDescription) {\n            <p class=\"brunch--description text\">\n                {{ additionalDescription }}\n            </p>\n\n            } @if (additionalDescription && links?.length) { @if (!showMore) {\n            <tent-button\n                class=\"brunch--show-more\"\n                type=\"dark-link\"\n                [label]=\"links?.[0]?.label\"\n                (btnClick)=\"toggleShowMore()\"\n                [name]=\"links?.[0]?.label\"\n            >\n            </tent-button>\n            } @else {\n            <tent-button\n                type=\"dark-link\"\n                [label]=\"links?.[1]?.label\"\n                (btnClick)=\"toggleShowMore()\"\n                [name]=\"links?.[1]?.label\"\n            >\n            </tent-button>\n            } } @if (timmingItems?.length) {\n            <div class=\"brunch--timing-info\">\n                @if (timmingTitle) {\n                <p class=\"brunch--timing-title\">horarios</p>\n                }\n                <ul class=\"brunch--timing-list\">\n                    @for (item of timmingItems; track $index) { @if (item.label)\n                    {\n                    <li class=\"brunch--timing-item\">\n                        @if (item.icon) {\n                        <span\n                            class=\"brunch--timing-item--icon\"\n                            [ngClass]=\"item.icon\"\n                        ></span>\n                        }\n                        <span class=\"brunch--timing-item--text\">\n                            {{ item.label }}\n                        </span>\n                    </li>\n                    } }\n                </ul>\n            </div>\n            }\n        </div>\n    </div>\n</div>\n","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\nimport { ButtonComponent } from '../../atomic/button/button.component';\nimport { ButtonI } from '../../../interfaces/atomic/button.interface';\nimport { RouterModule } from '@angular/router';\nimport { ImageI } from '../../../interfaces/atomic/image.interface';\n\n@Component({\n    selector: 'tent-cards-2col',\n    standalone: true,\n    imports: [ButtonComponent, RouterModule],\n    templateUrl: './cards-2col.component.html',\n    styleUrl: './cards-2col.component.scss',\n    changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class Cards2colComponent {\n    @Input() itemLeft?: Cards2colItem;\n    @Input() itemRight?: Cards2colItem;\n\n    get itemLeftLink(): string {\n        return this.itemLeft?.btns?.[0]?.url!;\n    }\n\n    get itemRightLink(): string {\n        return this.itemRight?.btns?.[0]?.url!;\n    }\n\n    linkClicked(event: Event): void {\n        event.preventDefault();\n    }\n}\n\nexport interface Cards2colItem {\n    title: string;\n    titleLight: string;\n    description: string;\n    image: ImageI;\n    imageBackground: string;\n    btns?: ButtonI[];\n}\n","<section class=\"services-col2 wrapper-big module-spacer--bottom\">\n    <div class=\"services-col2--content\">\n        @if (itemLeft) {\n        <div class=\"services-col2--box\">\n            <a\n                [routerLink]=\"itemLeftLink\"\n                class=\"services-col2--box--inner bg-blue\"\n                [href]=\"itemLeftLink\"\n                [attr.aria-label]=\"itemLeft.title\"\n                (click)=\"linkClicked($event)\"\n            >\n                <div class=\"services-col2--box--info\">\n                    @if (itemLeft.image) {\n                    <img\n                        [src]=\"itemLeft.image.src\"\n                        [alt]=\"itemLeft.image.alt\"\n                        width=\"208\"\n                        height=\"85\"\n                        class=\"services-col2--logoTitle\"\n                    />\n                    } @if (itemLeft.imageBackground) {\n                    <img\n                        [src]=\"itemLeft.imageBackground\"\n                        [alt]=\"itemLeft.image.alt\"\n                        loading=\"lazy\"\n                        width=\"450\"\n                        height=\"400\"\n                        class=\"services-col2--markWater water1\"\n                    />\n                    } @if (itemLeft.title && itemLeft.description) {\n                    <div class=\"services-col2--des\">\n                        <h3 class=\"services-col2--title title--42 color--blue\">\n                            {{ itemLeft.title }}\n                            @if (itemLeft.titleLight) {\n                            <span class=\"color--white\">{{\n                                itemLeft.titleLight\n                            }}</span>\n                            }\n                        </h3>\n                        <p class=\"services-col2--text text color--white\">\n                            {{ itemLeft.description }}\n                        </p>\n                    </div>\n                    }\n                </div>\n                <tent-button\n                    class=\"services-col2--btn-plus\"\n                    type=\"dark-circle-filled\"\n                    icon=\"icon-plus\"\n                    name=\"icon-plus\"\n                ></tent-button>\n            </a>\n        </div>\n\n        } @if (itemRight) {\n        <div class=\"services-col2--box\">\n            <a\n                [routerLink]=\"itemRightLink\"\n                class=\"services-col2--box--inner bg-camel\"\n                [href]=\"itemRightLink\"\n                (click)=\"linkClicked($event)\"\n                [attr.aria-label]=\"itemRight.title\"\n            >\n                <div class=\"services-col2--box--info\">\n                    @if (itemRight.image) {\n                    <img\n                        [src]=\"itemRight.image.src\"\n                        [alt]=\"itemRight.image.alt\"\n                        class=\"services-col2--logoTitle\"\n                        width=\"174\"\n                        height=\"61\"\n                    />\n                    } @if (itemRight.imageBackground) {\n                    <img\n                        [src]=\"itemRight.imageBackground\"\n                        [alt]=\"itemRight.image.alt\"\n                        loading=\"lazy\"\n                        class=\"services-col2--markWater water2\"\n                        width=\"450\"\n                        height=\"400\"\n                    />\n                    } @if (itemRight.title && itemRight.description) {\n                    <div class=\"services-col2--des\">\n                        <h3 class=\"services-col2--title title--42 color--brown\">\n                            {{ itemRight.title }}\n                            @if (itemRight.titleLight) {\n                            <span class=\"color--white\">{{\n                                itemRight.titleLight\n                            }}</span>\n                            }\n                        </h3>\n                        <p class=\"services-col2--text text color--white\">\n                            {{ itemRight.description }}\n                        </p>\n                    </div>\n                    }\n                </div>\n                <tent-button\n                    class=\"services-col2--btn-plus\"\n                    type=\"dark-circle-filled\"\n                    icon=\"icon-plus\"\n                    name=\"icon-plus\"\n                ></tent-button>\n            </a>\n        </div>\n        }\n    </div>\n</section>\n","import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, Input } from '@angular/core';\nimport { CarouselModule, OwlOptions } from 'ngx-owl-carousel-o';\nimport { ButtonI } from '../../../interfaces/atomic/button.interface';\nimport { ButtonComponent } from '../../atomic/button/button.component';\n@Component({\n    selector: 'tent-cards-3col',\n    standalone: true,\n    imports: [CommonModule, CarouselModule, ButtonComponent],\n    templateUrl: './cards-3col.component.html',\n    styleUrl: './cards-3col.component.scss',\n    changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class Cards3colComponent {\n    @Input() items!: Cards3colItem[];\n    @Input() theme?: string;\n\n    collapsed = true;\n    sliderOptions: OwlOptions = {\n        loop: false,\n        autoplay: false,\n        autoplayTimeout: 5000,\n        autoplaySpeed: 1500,\n        navSpeed: 1500,\n        responsiveRefreshRate: 100,\n        mouseDrag: true,\n        touchDrag: true,\n        pullDrag: true,\n        dots: false,\n        navText: [\n            '<div class=\"btn btn__circle btn__circle-- btn__dark\"><span class=\"btn__circle-icon icon-signal-left icon--size12 \"> <span><div>',\n            '<div class=\"btn btn__circle btn__circle-- btn__dark\"><span class=\"btn__circle-icon icon-signal-right icon--size12 \"> <span><div>',\n        ],\n        responsive: {\n            0: {\n                items: 1,\n                loop: true,\n            },\n            540: {\n                items: 1,\n                loop: true,\n            },\n            714: {\n                items: 2,\n            },\n            1024: {\n                items: 3,\n            },\n            1280: {\n                items: 3,\n            },\n            1366: {\n                items: 3,\n            },\n            1680: {\n                items: 3,\n            },\n        },\n        nav: true,\n    };\n    toggleCollapse(): void {\n        this.collapsed = !this.collapsed;\n    }\n}\n\nexport interface Cards3colItem {\n    title: string;\n    smalltitle: string;\n    ndTitle: string;\n    icon: string;\n    btnCollapsed: ButtonI;\n    btn: ButtonI;\n}\n","<section class=\"services-col3 wrapper-big module-spacer--bottom\">\n    <div class=\"services-col3--content\">\n        <owl-carousel-o\n            class=\"services-col3--slider slider-circle--center slider-circle--center--centerFull\"\n            [options]=\"sliderOptions\"\n        >\n            @for (item of items; track $index) {\n            <ng-template carouselSlide>\n                <div class=\"services-col3--slide\">\n                    <div\n                        class=\"services-col3--box\"\n                        [ngClass]=\"collapsed ? 'close' : 'open'\"\n                        [ngClass]=\"{\n                            close: collapsed,\n                            open: !collapsed,\n                            'bg-yellow': $index === 0,\n                            'bg-orange': $index === 1,\n                            'bg-brown': $index === 2,\n                            'bg-blue': $index === 0 && theme == 'theme-loyalty'\n                        }\"\n                    >\n                        <div class=\"services-col3--box--inner\">\n                            @if (item.title) {\n                            <h4\n                                class=\"services-col3--titleTop title--42 color--brown\"\n                                [innerHTML]=\"item.title\"\n                            ></h4>\n                            } @if (item.smalltitle) {\n                            <p\n                                class=\"services-col3--btn color--brown\"\n                                [ngClass]=\"{\n                                    'theme-loyalty': theme === 'theme-loyalty'\n                                }\"\n                            >\n                                @if (item.icon) {\n                                <span\n                                    [ngClass]=\"item.icon\"\n                                    class=\"services-col3--icon\"\n                                ></span>\n                                }\n                                <span class=\"title--30\">\n                                    {{ item.smalltitle }}</span\n                                >\n                            </p>\n                            } @if (item.ndTitle) {\n                            <h3\n                                class=\"services-col3--titleBottom title--54 color--brown\"\n                                [innerHTML]=\"item.ndTitle\"\n                            ></h3>\n                            }\n                        </div>\n                        @if (item.btn && item.btnCollapsed) { @if (collapsed) {\n                        <tent-button\n                            class=\"services-col3--btn-plus\"\n                            type=\"dark-circle-filled\"\n                            [icon]=\"item.btnCollapsed.icon\"\n                            (click)=\"toggleCollapse()\"\n                            [name]=\"item.btnCollapsed.icon\"\n                        ></tent-button>\n                        } @else {\n                        <tent-button\n                            class=\"services-col3--btn-plus\"\n                            type=\"dark-circle-filled\"\n                            [icon]=\"item.btn.icon\"\n                            (click)=\"toggleCollapse()\"\n                            [name]=\"item.btn.icon\"\n                        ></tent-button>\n\n                        } }\n                    </div>\n                </div>\n            </ng-template>\n            }\n        </owl-carousel-o>\n    </div>\n</section>\n","import { CommonModule } from '@angular/common';\nimport {\n    AfterViewInit,\n    ChangeDetectionStrategy,\n    Component,\n    EventEmitter,\n    Input,\n    Output,\n    signal,\n} from '@angular/core';\nimport {\n    FormBuilder,\n    FormGroup,\n    FormsModule,\n    ReactiveFormsModule,\n    Validators,\n} from '@angular/forms';\nimport { MatCheckboxModule } from '@angular/material/checkbox';\nimport { tap } from 'rxjs';\nimport { ButtonI } from '../../../interfaces/atomic/button.interface';\nimport { DropdownI } from '../../../interfaces/atomic/dropdown.interface';\nimport { InputI } from '../../../interfaces/atomic/input.interface';\nimport { TextareaI } from '../../../interfaces/atomic/textarea.interface';\nimport { ButtonComponent } from '../../atomic/button/button.component';\nimport {\n    DropdownComponent,\n    DropdownOption,\n} from '../../atomic/dropdown/dropdown.component';\nimport { InputComponent } from '../../atomic/input/input.component';\n\n@Component({\n    selector: 'tent-contact-form',\n    standalone: true,\n    imports: [\n        CommonModule,\n        ButtonComponent,\n        MatCheckboxModule,\n        InputComponent,\n        DropdownComponent,\n        ReactiveFormsModule,\n        FormsModule,\n    ],\n    templateUrl: './contact-form.component.html',\n    styleUrl: './contact-form.component.scss',\n    changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ContactFormComponent implements AfterViewInit {\n    @Input() title?: string;\n    @Input() description?: string;\n    @Input() conditions?: string;\n    @Input() requiredFieldsLabel?: string;\n    @Input({ required: true }) dropdown!: DropdownI;\n    @Input({ required: true }) inputs!: InputI[];\n    @Input({ required: true }) textarea!: TextareaI;\n    @Input() button?: ButtonI;\n\n    @Output() formSubmit = new EventEmitter<ContactFormValue>();\n\n    form!: FormGroup;\n\n    isValid = signal(false);\n\n    formReady = signal(false);\n\n    constructor(private readonly fb: FormBuilder) {}\n\n    ngAfterViewInit(): void {\n        this.initializeForm();\n    }\n\n    initializeForm(): void {\n        this.form = this.fb.group({\n            dropdown: [this.dropdown.value, [Validators.required]],\n            email: [\n                this.inputs[1].value,\n                [\n                    Validators.required,\n                    Validators.minLength(3),\n                    Validators.email,\n                ],\n            ],\n            name: [\n                this.inputs[0].value,\n                [Validators.required, Validators.minLength(3)],\n            ],\n            textarea: [this.textarea.value],\n            checkbox: [false, [Validators.requiredTrue]],\n        });\n\n        this.form.statusChanges\n            .pipe(\n                tap((status) => {\n                    this.isValid.set(status === 'VALID');\n                })\n            )\n            .subscribe();\n\n        this.formReady.set(true);\n    }\n\n    validateInput(name: string) {\n        this.inputs[name === 'name' ? 0 : 1].valid =\n            this.form.controls[name].errors === null;\n    }\n\n    validateDropdown(): void {\n        this.dropdown.valid = this.form.controls['dropdown'].errors === null;\n    }\n\n    submitForm(): void {\n        this.formSubmit.emit(this.form.value);\n        this.resetForm();\n    }\n\n    resetForm(): void {\n        this.form.reset();\n        this.dropdown.value = undefined;\n        this.textarea.value = '';\n        this.inputs.forEach((input) => {\n            input.value = '';\n        });\n    }\n}\n\nexport interface ContactFormValue {\n    dropdown?: DropdownOption;\n    email: string;\n    name: string;\n    checkbox: boolean;\n    textarea?: string;\n}\n","<section class=\"contact-form\">\n    @if (title || description) {\n    <div class=\"flex-col contact-form--header\">\n        @if (title) {\n        <h3 class=\"contact-form--title color--brown\">\n            {{ title }}\n        </h3>\n        } @if (description) {\n        <p class=\"contact-form--description\">\n            {{ description }}\n        </p>\n        }\n    </div>\n    } @if (formReady()) {\n    <form class=\"contact-form--form\" [formGroup]=\"form\">\n        <div class=\"contact-form--left\">\n            @if (dropdown) {\n            <div class=\"contact-form--dropdown flex-col\">\n                <p class=\"contact-form--msg--title\">\n                    <span class=\"input--required\"></span>{{ dropdown.title }}\n                </p>\n                <tent-dropdown\n                    [options]=\"dropdown.options\"\n                    formControlName=\"dropdown\"\n                    name=\"hotels\"\n                    [value]=\"dropdown.value\"\n                    [valid]=\"dropdown.valid!\"\n                    [error]=\"dropdown.error\"\n                    (dropdownBlur)=\"validateDropdown()\"\n                ></tent-dropdown>\n            </div>\n            } @if (inputs && inputs.length) { @for (input of inputs; track\n            $index; let first = $first) {\n            <tent-input\n                [iconBackOffice]=\"true\"\n                [title]=\"input.title\"\n                [name]=\"input.name\"\n                [type]=\"input.type\"\n                [placeholder]=\"input.placeholder\"\n                [icon]=\"input.icon\"\n                [required]=\"true\"\n                [value]=\"input.value!\"\n                [error]=\"input.error\"\n                [valid]=\"input.valid!\"\n                (inputBlur)=\"validateInput(first ? 'name' : 'email')\"\n                [formControlName]=\"first ? 'name' : 'email'\"\n            ></tent-input>\n\n            } }\n        </div>\n        <div class=\"contact-form--right\">\n            @if (textarea) {\n            <div class=\"contact-form--msg flex-col\">\n                <p class=\"contact-form--msg--title\">\n                    {{ textarea.title }}\n                </p>\n                <textarea\n                    class=\"contact-form--msg--textarea\"\n                    [placeholder]=\"textarea.placeholder\"\n                    [value]=\"textarea.value\"\n                    name=\"textarea\"\n                    formControlName=\"textarea\"\n                ></textarea>\n            </div>\n\n            }\n            <div class=\"contact-form--footer\">\n                <div class=\"flex-col\">\n                    <div class=\"contact-form--checkbox--wrapper\">\n                        <mat-checkbox\n                            class=\"contact-form--checkbox\"\n                            formControlName=\"checkbox\"\n                        ></mat-checkbox>\n                        @if (conditions) {\n                        <span\n                            class=\"contact-form--conditions color--brown\"\n                            [innerHTML]=\"conditions\"\n                        >\n                        </span>\n                        }\n                    </div>\n                    @if (requiredFieldsLabel) {\n                    <span class=\"contact-form--required--text\">\n                        <span class=\"contact-form--required\"></span>\n                        {{ requiredFieldsLabel }}\n                    </span>\n                    }\n                </div>\n\n                @if (button) {\n                <tent-button\n                    class=\"contact-form--submit\"\n                    type=\"dark-box-filled\"\n                    boxWidth=\"240px\"\n                    [label]=\"button.label\"\n                    [disabled]=\"!isValid()\"\n                    (btnClick)=\"submitForm()\"\n                    [name]=\"button.label\"\n                ></tent-button>\n                }\n            </div>\n        </div>\n    </form>\n    }\n</section>\n","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ButtonComponent } from '../../atomic/button/button.component';\nimport { CarouselModule, OwlOptions } from 'ngx-owl-carousel-o';\nimport { ButtonI } from '../../../interfaces/atomic/button.interface';\nimport { DomSanitizer, SafeStyle } from '@angular/platform-browser';\n@Component({\n    selector: 'tent-contact-office',\n    standalone: true,\n    imports: [CommonModule, ButtonComponent, CarouselModule],\n    templateUrl: './contact-office.component.html',\n    styleUrl: './contact-office.component.scss',\n    changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ContactOfficeComponent {\n    @Input() images?: string[];\n    @Input() title?: string;\n    @Input() links?: ButtonI[];\n\n    sliderOptions: OwlOptions = {\n        loop: false,\n        autoplay: true,\n        autoplayTimeout: 5000,\n        autoplaySpeed: 1500,\n        navSpeed: 1500,\n        responsiveRefreshRate: 100,\n        margin: 0,\n        mouseDrag: true,\n        touchDrag: true,\n        pullDrag: true,\n        dots: false,\n        navText: [\n            '<div class=\"btn btn__circle btn__circle-- btn__dark\"><span class=\"btn__circle-icon icon-signal-left icon--size12 \"> </span></div>',\n            '<div class=\"btn btn__circle btn__circle-- btn__dark\"><span class=\"btn__circle-icon icon-signal-right icon--size12 \"> </span></div>',\n        ],\n        responsive: {\n            0: {\n                items: 1,\n            },\n            1680: {\n                items: 1,\n            },\n        },\n        nav: true,\n    };\n\n    collapsed = true;\n\n    constructor(private readonly sanitizer: DomSanitizer) {}\n\n    getImage(img: string): SafeStyle {\n        return this.sanitizer.bypassSecurityTrustStyle(\n            `background-image: url(${img})`\n        );\n    }\n\n    toggleCollapse(): void {\n        this.collapsed = !this.collapsed;\n    }\n}\n","<section class=\"contact-office module-spacer--bottom\">\n    <div class=\"contact-office--content wrapper-big\">\n        <div class=\"contact-office--box info-right\">\n            @if (images && images.length) {\n            <owl-carousel-o\n                class=\"contact-office--slider slider-circle--center figure-sticky\"\n                [options]=\"sliderOptions\"\n            >\n                @for (img of images; track $index) {\n                <ng-template carouselSlide>\n                    <div class=\"contact-office--photo figure-content\">\n                        <figure\n                            class=\"figure-full\"\n                            [style]=\"getImage(img)\"\n                        ></figure>\n                    </div>\n                </ng-template>\n                }\n            </owl-carousel-o>\n            }\n            <div\n                class=\"contact-office--info\"\n                [ngClass]=\"collapsed ? 'close' : 'open'\"\n            >\n                <div class=\"contact-office--info--inner\">\n                    @if (title) {\n                    <h2\n                        class=\"contact-office--info--title title--30 color--brown-70\"\n                    >\n                        {{ title }}\n                    </h2>\n                    } @if (links && links.length) {\n                    <ul class=\"contact-office--list\">\n                        @for (link of links; track $index; let last = $last) {\n                        <li [ngClass]=\"{ 'border-top': last }\">\n                            <span class=\"contact-office--icon\"\n                                ><span [ngClass]=\"link.icon\"></span\n                            ></span>\n                            @if (!last) {\n                            <a\n                                [innerHTML]=\"link.label\"\n                                [href]=\"link.url\"\n                                class=\"text link\"\n                                [attr.aria-label]=\"link.label\"\n                            >\n                            </a>\n                            } @else {\n                            <span [innerHTML]=\"link.label\" class=\"text\"> </span>\n                            }\n                        </li>\n                        }\n                    </ul>\n                    }\n                </div>\n            </div>\n        </div>\n    </div>\n</section>\n","import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, Input } from '@angular/core';\nimport { ButtonComponent } from '../../atomic/button/button.component';\nimport { ButtonI } from '../../../interfaces/atomic/button.interface';\n@Component({\n    selector: 'tent-delivery-app',\n    standalone: true,\n    imports: [CommonModule, ButtonComponent],\n    templateUrl: './delivery-app.component.html',\n    styleUrl: './delivery-app.component.scss',\n    changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class DeliveryAppComponent {\n    @Input() title?: string;\n    @Input() titleDark?: string;\n    @Input() description?: string;\n    @Input() buttons?: ButtonI[];\n}\n","<section class=\"delivery-app module-spacer--bottom\">\n    <div class=\"delivery-app--content wrapper-big\">\n        <div class=\"delivery-app--box\">\n            <div class=\"delivery-app--info\">\n                @if (title) {\n                <h2 class=\"delivery-app--title title--60 color--camel\">\n                    {{ title }}\n                    @if (titleDark) {\n                    <span class=\"color--brown\">{{ titleDark }}</span>\n                    }\n                </h2>\n                } @if (buttons?.length && buttons) {\n                <div class=\"delivery-app--btns btns-desktop\">\n                    @if (buttons[0]) {\n                    <tent-button\n                        type=\"dark-box-white\"\n                        [label]=\"buttons[0].label\"\n                        [name]=\"buttons[0].label\"\n                        [url]=\"buttons[0].url\"\n                        [linkType]=\"buttons[0].linkType\"\n                        icon=\"icon-google-play\"\n                    ></tent-button>\n                    } @if (buttons[1]) {\n                    <tent-button\n                        type=\"dark-box-white\"\n                        [label]=\"buttons[1].label\"\n                        [name]=\"buttons[1].label\"\n                        [url]=\"buttons[1].url\"\n                        [linkType]=\"buttons[1].linkType\"\n                        icon=\"icon-apple\"\n                    ></tent-button>\n                    }\n                </div>\n                }\n            </div>\n            <div class=\"delivery-app--photo\">\n                <img\n                    src=\"/assets/tent/img/movil.png\"\n                    alt=\"delivery\"\n                    loading=\"lazy\"\n                    class=\" \"\n                    width=\"\"\n                    height=\"\"\n                />\n            </div>\n            @if (description) {\n            <div class=\"delivery-app--des\">\n                <p class=\"text\">\n                    {{ description }}\n                </p>\n            </div>\n            } @if (buttons?.length && buttons) {\n            <div class=\"delivery-app--btns btns-mobile\">\n                @if (buttons[0]) {\n                <tent-button\n                    type=\"dark-box\"\n                    [label]=\"buttons[0].label\"\n                    [name]=\"buttons[0].label\"\n                    [url]=\"buttons[0].url\"\n                    [linkType]=\"buttons[0].linkType\"\n                    icon=\"icon-google-play\"\n                ></tent-button>\n                } @if (buttons[1]) {\n                <tent-button\n                    type=\"dark-box\"\n                    [label]=\"buttons[1].label\"\n                    [name]=\"buttons[1].label\"\n                    [url]=\"buttons[1].url\"\n                    [linkType]=\"buttons[1].linkType\"\n                    icon=\"icon-apple\"\n                ></tent-button>\n                }\n            </div>\n            }\n        </div>\n    </div>\n</section>\n","import {\n    ChangeDetectionStrategy,\n    Component,\n    EventEmitter,\n    Input,\n    Output,\n} from '@angular/core';\nimport { ButtonComponent } from '../../atomic/button/button.component';\nimport { BadgeComponent } from '../../atomic/badge/badge.component';\nimport { CarouselModule, OwlOptions } from 'ngx-owl-carousel-o';\nimport { ButtonI } from '../../../interfaces/atomic/button.interface';\nimport { DomSanitizer, SafeStyle } from '@angular/platform-browser';\n@Component({\n    selector: 'tent-destination-hotels',\n    standalone: true,\n    imports: [ButtonComponent, CarouselModule, BadgeComponent],\n    templateUrl: './destination-hotels.component.html',\n    styleUrl: './destination-hotels.component.scss',\n    changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class DestinationHotelsComponent {\n    @Input() items?: DestinationHotelItem[];\n    @Input() title?: string;\n    @Input() titleDark?: string;\n\n    @Output() hotelClick = new EventEmitter<DestinationHotelItem>();\n\n    sliderOptions: OwlOptions = {\n        loop: false,\n        autoplay: true,\n        autoplayTimeout: 5000,\n        autoplaySpeed: 1500,\n        navSpeed: 1500,\n        responsiveRefreshRate: 100,\n        mouseDrag: true,\n        touchDrag: true,\n        pullDrag: true,\n        dots: false,\n        navText: [\n            '<div class=\"btn btn__circle btn__circle-- btn__dark\"><span class=\"btn__circle-icon icon-signal-left icon--size12 \"> <span><div>',\n            '<div class=\"btn btn__circle btn__circle-- btn__dark\"><span class=\"btn__circle-icon icon-signal-right icon--size12 \"> <span><div>',\n        ],\n        responsive: {\n            0: {\n                items: 1,\n            },\n            1000: {\n                items: 2,\n            },\n            1680: {\n                items: 2,\n            },\n        },\n        nav: true,\n    };\n\n    constructor(private readonly sanitizer: DomSanitizer) {}\n\n    getImage(img: string): SafeStyle {\n        return this.sanitizer.bypassSecurityTrustStyle(\n            `background-image: url(${img})`\n        );\n    }\n}\n\nexport interface DestinationHotelItem {\n    id: string | number;\n    image?: string;\n    title?: string;\n    ndTitle?: string;\n    button?: ButtonI;\n    link?: ButtonI;\n}\n","<section class=\"destination-hotels module-spacer--bottom\">\n    <div class=\"destination-hotels--content wrapper-big\">\n        @if (title) {\n        <div class=\"destination-hotels--head\">\n            <h3 class=\"destination-hotels--title title--80 color--camel\">\n                {{ title }}\n                @if (titleDark) {\n                <span class=\"color--brown\">{{ titleDark }}</span>\n                }\n            </h3>\n        </div>\n        } @if (items?.length) {\n        <div class=\"destination-hotels--inner\">\n            <owl-carousel-o\n                class=\"destination-hotels--slider slider-circle--center\"\n                [options]=\"sliderOptions\"\n            >\n                @for (item of items; track $index) {\n                <ng-template carouselSlide>\n                    <div class=\"destination-hotels--slide\">\n                        @if (item.image) {\n                        <div class=\"destination-hotels--img\">\n                            <div\n                                class=\"destination-hotels--photo figure-content\"\n                            >\n                                <figure\n                                    class=\"figure-full\"\n                                    [style]=\"getImage(item.image)\"\n                                ></figure>\n                            </div>\n                        </div>\n                        } @if (item.title || item.button || item.link) {}\n                        <div class=\"destination-hotels--des\">\n                            @if (item.title) {\n                            <h4\n                                class=\"destination-hotels--slideTitle color--brown title--42\"\n                            >\n                                {{ item.title }}\n                                @if (item.ndTitle) {\n                                <span class=\"color--brown\">{{\n                                    item.ndTitle\n                                }}</span>\n                                }\n                            </h4>\n                            } @if (item.button ||item.link) {\n                            <div class=\"destination-hotels--btns\">\n                                @if (item.button) {\n                                <tent-button\n                                    type=\"dark-box-filled\"\n                                    class=\"btn-small\"\n                                    [label]=\"item.button.label\"\n                                    [url]=\"item.button.url\"\n                                    [linkType]=\"item.button.linkType\"\n                                ></tent-button>\n                                } @if (item.link) {\n                                <tent-button\n                                    type=\"dark-link\"\n                                    [label]=\"item.link.label\"\n                                    [url]=\"item.link.url\"\n                                    [linkType]=\"item.link.linkType\"\n                                    (btnClick)=\"hotelClick.emit(item)\"\n                                ></tent-button>\n                                }\n                            </div>\n                            }\n                        </div>\n                    </div>\n                </ng-template>\n                }\n            </owl-carousel-o>\n        </div>\n        }\n    </div>\n</section>\n","import { isPlatformBrowser } from '@angular/common';\nimport {\n    Directive,\n    ElementRef,\n    Inject,\n    Input,\n    OnInit,\n    PLATFORM_ID,\n} from '@angular/core';\n\n@Directive({\n    selector: '[lazyBackground]',\n    standalone: true,\n})\nexport class LazyBackgroundDirective implements OnInit {\n    @Input() lazyBackground?: string;\n\n    constructor(\n        private el: ElementRef,\n        @Inject(PLATFORM_ID) private platformId: Object\n    ) {}\n\n    ngOnInit() {\n        if (!isPlatformBrowser(this.platformId)) return;\n        const element = this.el.nativeElement;\n\n        const observer = new IntersectionObserver((entries, observer) => {\n            entries.forEach((entry) => {\n                if (entry.isIntersecting) {\n                    element.style.backgroundImage = `url(${this.lazyBackground})`;\n                    observer.unobserve(element);\n                }\n            });\n        });\n\n        observer.observe(element);\n    }\n}\n","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\nimport { LazyBackgroundDirective } from '../../../directives/lazy-background.directive';\nimport { ButtonI } from '../../../interfaces/atomic/button.interface';\nimport { ButtonComponent } from '../../atomic/button/button.component';\n@Component({\n    selector: 'tent-destination-info',\n    standalone: true,\n    imports: [ButtonComponent, LazyBackgroundDirective],\n    templateUrl: './destination-info.component.html',\n    styleUrl: './destination-info.component.scss',\n    changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class DestinationInfoComponent {\n    @Input() image!: string;\n    @Input() title!: string;\n    @Input() bannerTitle!: string;\n    @Input() bannerDescription?: string;\n    @Input() titleDark!: string;\n    @Input() buttons!: ButtonI[];\n\n    constructor() {}\n}\n","<section class=\"destinantion-info module-spacer--bottom\">\n    <div class=\"destinantion-info--content wrapper-big\">\n        @if (title) {\n        <h3 class=\"destinantion-info--title title--80 color--camel\">\n            {{ title }}\n            @if (titleDark) {\n            <span class=\"color--brown\">{{ titleDark }}</span>\n            }\n        </h3>\n        }\n        <div class=\"destinantion-info--inner\">\n            @if (image) {\n            <div class=\"destinantion-info--photo figure-content\">\n                <figure class=\"figure-full\" [lazyBackground]=\"image\"></figure>\n            </div>\n            }\n            <div class=\"destinantion-info--des bg-brown-90\">\n                @if (bannerTitle) {\n                <h4 class=\"title--54 color--white\">\n                    {{ bannerTitle }}\n                </h4>\n                } @if (bannerDescription) {\n                <p class=\"text color--white\">\n                    {{ bannerDescription }}\n                </p>\n                } @if (buttons.length) {\n                <div\n                    class=\"destinantion-info--btns flex-row flex-row--left mt--20\"\n                >\n                    @for (btn of buttons; track $index) {\n                    <tent-button\n                        type=\"light-box\"\n                        [label]=\"btn.label\"\n                        [url]=\"btn.url\"\n                        [linkType]=\"btn.linkType!\"\n                    ></tent-button>\n                    }\n                </div>\n                }\n            </div>\n        </div>\n    </div>\n</section>\n","import { CommonModule } from '@angular/common';\nimport {\n    ChangeDetectionStrategy,\n    Component,\n    EventEmitter,\n    Input,\n    Output,\n} from '@angular/core';\nimport { ButtonComponent } from '../../atomic/button/button.component';\nimport { ButtonI } from '../../../interfaces/atomic/button.interface';\nimport { DomSanitizer, SafeStyle } from '@angular/platform-browser';\nimport { RouterModule } from '@angular/router';\n\n@Component({\n    selector: 'tent-destination-list',\n    standalone: true,\n    imports: [CommonModule, ButtonComponent, RouterModule],\n    templateUrl: './destination-list.component.html',\n    styleUrl: './destination-list.component.scss',\n    changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class DestinationListComponent {\n    @Input() infoTitle?: string;\n    @Input() infoTitleDark?: string;\n    @Input() infoDescription?: string;\n    @Input() items?: DestinationListItem[];\n\n    @Output() destinyClick = new EventEmitter<string>();\n\n    constructor(private readonly sanitizer: DomSanitizer) {}\n\n    getImage(image: string): SafeStyle {\n        return this.sanitizer.bypassSecurityTrustStyle(\n            `background-image: url(${image})`\n        );\n    }\n\n    destinyClicked(item: DestinationListItem) {\n        this.destinyClick.emit(item.id);\n    }\n}\n\nexport interface DestinationListItem {\n    id?: string;\n    image?: string;\n    title?: string;\n    subtitle?: string;\n    button?: ButtonI;\n    link?: ButtonI;\n}\n","@if (items?.length) {\n<section class=\"destination-list module-spacer--bottom\">\n    <div class=\"destination-list--content wrapper-big\">\n        <div class=\"destination-list--inner\">\n            @for (item of items; track $index) {\n            <div class=\"destination-list--item\">\n                <a\n                    [href]=\"item.link?.url\"\n                    [routerLink]=\"item.link?.url\"\n                    (click)=\"$event.preventDefault(); destinyClicked(item)\"\n                    class=\"destination-list--photo figure-content figure-zoom\"\n                    [attr.aria-label]=\"item.title\"\n                >\n                    @if (item.image) {\n                    <figure\n                        class=\"figure-full\"\n                        [style]=\"getImage(item.image)\"\n                    ></figure>\n                    } @if (item.title || item.subtitle) {\n                    <div class=\"destination-list--info\">\n                        @if (item.title) {\n                        <h2 class=\"offer-detail--tit title--38 color--white\">\n                            {{ item.title }}\n                        </h2>\n                        } @if (item.subtitle) {\n                        <h3 class=\"subtitle--medium\">{{ item.subtitle }}</h3>\n                        }\n                    </div>\n                    }\n                </a>\n                @if (item.button || item.link) {\n\n                <div class=\"destination-list--btns\">\n                    @if (item.button) {\n                    <tent-button\n                        type=\"dark-box-filled\"\n                        [label]=\"item.button.label\"\n                        [linkType]=\"item.button.linkType!\"\n                        [url]=\"item.button.url\"\n                        (btnClick)=\"destinyClicked(item)\"\n                    ></tent-button>\n                    } @if (item.link) {\n                    <tent-button\n                        class=\"btn-minus\"\n                        type=\"dark-link\"\n                        [label]=\"item.link.label\"\n                        acka\n                        [linkType]=\"item.link.linkType!\"\n                        [url]=\"item.link.url\"\n                        (btnClick)=\"destinyClicked(item)\"\n                    ></tent-button\n                    >}\n                </div>\n                }\n            </div>\n            }\n        </div>\n    </div>\n</section>\n}\n\n<section class=\"module-info module-spacer--bottom\">\n    <div class=\"module-info--content wrapper-big\">\n        <div class=\"module-info--inner\">\n            <div class=\"module-info--box\">\n                @if (infoTitle) {\n                <h3 class=\"module-info--title title--80 color--camel\">\n                    {{ infoTitle }}\n                    @if (infoTitleDark) {\n\n                    <span class=\"color--brown\"> {{ infoTitleDark }} </span>}\n                </h3>\n                } @if (infoDescription) {\n                <div class=\"module-info--des\">\n                    <p class=\"text\">\n                        {{ infoDescription }}\n                    </p>\n                </div>\n                }\n            </div>\n        </div>\n    </div>\n</section>\n","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\nimport { ImageI } from '../../../interfaces/atomic/image.interface';\nimport { CommonModule } from '@angular/common';\n\n@Component({\n    selector: 'tent-employment-benefits',\n    standalone: true,\n    imports: [CommonModule],\n    templateUrl: './employment-benefits.component.html',\n    styleUrl: './employment-benefits.component.scss',\n    changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class EmploymentBenefitsComponent {\n    @Input() title?: string;\n    @Input() items?: EmploymentBenefitsItem[];\n}\n\nexport interface EmploymentBenefitsItem {\n    icon?: string;\n    title?: string;\n}\n","<section class=\"employment-benefits module-spacer--bottom\">\n    <div class=\"employment-benefits--content wrapper-big\">\n        <div class=\"employment-benefits--box\">\n            @if (title) {\n            <div class=\"employment-benefits--info\">\n                <h2 class=\"employment-benefits--title title--60 color--brown\">\n                    {{ title }}\n                </h2>\n            </div>\n            } @if (items && items.length) {\n            <div class=\"employment-benefits--list\">\n                @for (item of items; track $index) {\n                <div class=\"employment-benefits--item bg-beige\">\n                    <div class=\"employment-benefits--item--inner\">\n                        @if (item.title) {\n                        <h3 class=\"title--24 color--brown-70\">\n                            {{ item.title }}\n                        </h3>\n                        } @if (item.icon) {\n                        <span\n                            [ngClass]=\"item.icon\"\n                            class=\"employment-benefits--icon\"\n                        ></span>\n                        }\n                    </div>\n                </div>\n                }\n            </div>\n            }\n        </div>\n    </div>\n</section>\n","import { CommonModule } from '@angular/common';\nimport {\n    ChangeDetectionStrategy,\n    Component,\n    EventEmitter,\n    Input,\n    Output,\n    signal,\n} from '@angular/core';\nimport { ButtonComponent } from '../../atomic/button/button.component';\nimport { MatCheckboxModule } from '@angular/material/checkbox';\nimport { InputComponent } from '../../atomic/input/input.component';\nimport {\n    FormBuilder,\n    FormControl,\n    FormGroup,\n    FormsModule,\n    ReactiveFormsModule,\n    Validators,\n} from '@angular/forms';\nimport { tap } from 'rxjs';\nimport { InputI } from '../../../interfaces/atomic/input.interface';\nimport { ButtonI } from '../../../interfaces/atomic/button.interface';\n\n@Component({\n    selector: 'tent-employment-form',\n    standalone: true,\n    imports: [\n        CommonModule,\n        ButtonComponent,\n        MatCheckboxModule,\n        InputComponent,\n        FormsModule,\n        ReactiveFormsModule,\n    ],\n    templateUrl: './employment-form.component.html',\n    styleUrl: './employment-form.component.scss',\n    changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class EmploymentFormComponent {\n    @Input() inputs?: InputI[];\n    @Input() conditionsLink?: string;\n    @Input() requiredLabel?: string;\n    @Input() title?: string;\n    @Input() button?: ButtonI;\n\n    @Output() formSubmit = new EventEmitter();\n\n    form: FormGroup = this.fb.group({\n        checkbox: [false, [Validators.requiredTrue]],\n    });\n\n    formReady = false;\n\n    isValid = signal(false);\n\n    constructor(private readonly fb: FormBuilder) {}\n\n    ngOnInit(): void {\n        this.initializeForm();\n    }\n\n    initializeForm(): void {\n        this.inputs?.forEach((input) => {\n            this.form.addControl(\n                input.name,\n                new FormControl(\n                    input.value,\n                    input.name === 'email'\n                        ? [\n                              Validators.required,\n                              Validators.email,\n                              Validators.minLength(3),\n                          ]\n                        : [Validators.required, Validators.minLength(3)]\n                )\n            );\n        });\n\n        this.form.statusChanges\n            .pipe(\n                tap((status) => {\n                    this.isValid.set(status === 'VALID');\n                })\n            )\n            .subscribe();\n\n        this.formReady = true;\n    }\n\n    validateInput(name: string) {\n        this.inputs!.find((input) => input.name === name)!.valid =\n            this.form.controls[name].errors === null;\n    }\n\n    submitForm(): void {\n        this.formSubmit.emit(this.form.value);\n        this.resetForm();\n    }\n\n    resetForm(): void {\n        this.form.reset();\n        this.inputs?.forEach((input) => {\n            input.value = '';\n        });\n    }\n}\n","<section class=\"employment-form--wrapper\">\n    <div class=\"employment-form\">\n        @if (title) {\n        <h3 class=\"employment-form--title color--brown\">\n            {{ title }}\n        </h3>\n        } @if (formReady) {\n        <form class=\"employment-form--form\" [formGroup]=\"form\">\n            @if (inputs && inputs.length) {\n            <div class=\"employment-form--form--wrapper\">\n                @for (input of inputs; track $index) {\n                <tent-input\n                    [title]=\"input.title\"\n                    [type]=\"input.type\"\n                    [placeholder]=\"input.placeholder\"\n                    [icon]=\"input.icon\"\n                    [required]=\"true\"\n                    [formControlName]=\"input.name\"\n                    [valid]=\"input.valid!\"\n                    [error]=\"input.error\"\n                    [name]=\"input.name\"\n                    (inputBlur)=\"validateInput(input.name)\"\n                    [ngClass]=\"{ 'input-cv': $last }\"\n                ></tent-input>\n                }\n            </div>\n            }\n            <div class=\"employment-form--footer\">\n                <div class=\"flex-col\">\n                    <div class=\"employment-form--checkbox--wrapper\">\n                        <mat-checkbox\n                            class=\"employment-form--checkbox\"\n                            formControlName=\"checkbox\"\n                        ></mat-checkbox>\n                        @if (conditionsLink) {\n                        <span\n                            class=\"employment-form--conditions color--brown\"\n                            [innerHTML]=\"conditionsLink\"\n                        >\n                        </span>\n                        }\n                    </div>\n                    @if (requiredLabel) {\n                    <span class=\"employment-form--required--text\">\n                        <span class=\"employment-form--required\"></span>\n                        {{ requiredLabel }}\n                    </span>\n                    }\n                </div>\n\n                @if (button) {\n                <div class=\"employment-form--submit\">\n                    <tent-button\n                        type=\"dark-box-filled\"\n                        boxWidth=\"240px\"\n                        [label]=\"button.label\"\n                        [disabled]=\"!isValid()\"\n                        [name]=\"button.label\"\n                        (btnClick)=\"submitForm()\"\n                    ></tent-button>\n                </div>\n                }\n            </div>\n        </form>\n        }\n    </div>\n</section>\n","import { CommonModule } from '@angular/common';\nimport {\n    ChangeDetectionStrategy,\n    Component,\n    Input\n} from '@angular/core';\nimport { ButtonComponent } from '../../atomic/button/button.component';\nimport { MatCheckboxModule } from '@angular/material/checkbox';\n\nimport { ButtonI } from '../../../interfaces/atomic/button.interface';\n\n@Component({\n    selector: 'tent-employment-info',\n    standalone: true,\n    imports: [\n        CommonModule,\n        ButtonComponent,\n        MatCheckboxModule,\n    ],\n    templateUrl: './employment-info.component.html',\n    styleUrl: './employment-info.component.scss',\n    changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class EmploymentInfoComponent {\n    @Input() title?: string;\n    @Input() description?: string;\n    @Input() buttons?: ButtonI[];\n\n    constructor() {}\n\n    ngOnInit(): void {\n    }\n}\n","<section class=\"employment-info--wrapper\">\n    <div class=\"employment-info\">\n        @if (title) {\n            <h3 class=\"employment-info--title color--brown\">\n                {{ title }}\n            </h3>\n        }\n        @if (description || buttons) {\n            <div class=\"employment-info--content\">\n                @if (description) {\n                    <p class=\"employment-info--description\" [innerHTML]=\"description\"></p>\n                }\n                @if (buttons) {\n                    <div\n                        class=\"employment-info--btns flex-row flex-row--left pt--20\"\n                    >\n                        @for (btn of buttons; track $index) {\n                            <tent-button\n                                type=\"dark-link\"\n                                [url]=\"btn.url\"\n                                [linkType]=\"btn.linkType!\"\n                                [icon]=\"btn.icon\"\n                                [iconPosition]=\"btn.iconPosition\"\n                                [label]=\"btn.label\"\n                                [name]=\"btn.label\"\n                            ></tent-button>\n                        }\n                    </div>\n                }\n            </div>\n        }\n    </div>\n</section>\n","import {\n    ChangeDetectionStrategy,\n    Component,\n    Input,\n    OnInit,\n} from '@angular/core';\nimport { DomSanitizer, SafeStyle } from '@angular/platform-browser';\nimport { CarouselModule, OwlOptions } from 'ngx-owl-carousel-o';\nimport { LazyBackgroundDirective } from '../../../directives/lazy-background.directive';\nimport { ButtonI } from '../../../interfaces/atomic/button.interface';\nimport { ButtonComponent } from '../../atomic/button/button.component';\n@Component({\n    selector: 'tent-facilities-slider',\n    standalone: true,\n    imports: [ButtonComponent, CarouselModule, LazyBackgroundDirective],\n    templateUrl: './facilities-slider.component.html',\n    styleUrl: './facilities-slider.component.scss',\n    changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class FacilitiesSliderComponent implements OnInit {\n    @Input() iconControlLeft!: string;\n    @Input() iconControlRight!: string;\n    @Input() title?: string;\n    @Input() items!: FacilitiesSliderItem[];\n\n    sliderOptions: OwlOptions = {\n        loop: true,\n        autoplay: true,\n        autoplayTimeout: 5000,\n        autoplaySpeed: 1500,\n        navSpeed: 1500,\n        responsiveRefreshRate: 100,\n        stagePadding: 0,\n        margin: 0,\n        mouseDrag: true,\n        touchDrag: true,\n        pullDrag: true,\n        dots: false,\n        responsive: {\n            0: {\n                items: 1,\n            },\n            1680: {\n                items: 1,\n                stagePadding: 120,\n            },\n        },\n        nav: true,\n    };\n\n    constructor(private readonly sanitizer: DomSanitizer) {}\n\n    ngOnInit(): void {\n        this.sliderOptions.navText = [\n            `<div class=\"btn btn__circle btn__circle-- btn__dark\"><span class=\"btn__circle-icon ${this.iconControlLeft} icon--size12 \"> <span><div>`,\n            `<div class=\"btn btn__circle btn__circle-- btn__dark\"><span class=\"btn__circle-icon ${this.iconControlRight} icon--size12 \"> <span><div>`,\n        ];\n    }\n\n    getImage(image: string): SafeStyle {\n        return this.sanitizer.bypassSecurityTrustStyle(\n            `background-image: url(${image})`\n        );\n    }\n}\n\nexport interface FacilitiesSliderItem {\n    image: string;\n    title: string;\n    description: string;\n    buttons: ButtonI[];\n}\n","<section class=\"rooms-slider module-spacer--bottom\">\n    <div class=\"rooms-slider--content wrapper-big\">\n        @if (title) {\n        <div class=\"rooms-slider--head\">\n            <h3 class=\"rooms-slider--title title--80 color--camel\">\n                {{ title }}\n            </h3>\n        </div>\n        }\n        <owl-carousel-o\n            class=\"rooms-slider--slider slider-circle--center\"\n            [options]=\"sliderOptions\"\n        >\n            @for (item of items; track $index) {\n            <ng-template carouselSlide>\n                <div class=\"rooms-slider--slide\">\n                    @if (item.title) {\n                    <h4 class=\"rooms-slider--slideTitle color--brown title--80\">\n                        {{ item.title }}\n                    </h4>\n                    } @if (item.image) {\n                    <div class=\"rooms-slider--photo figure-content\">\n                        <figure\n                            class=\"figure-full\"\n                            [lazyBackground]=\"item.image\"\n                        ></figure>\n                    </div>\n                    } @if (item.buttons.length || item.description) {\n                    <div class=\"rooms-slider--des\">\n                        <div class=\"rooms-slider--des-inner bg-white\">\n                            @if (item.description) {\n                            <p class=\"text\">\n                                {{ item.description }}\n                            </p>\n                            } @if (item.buttons.length) {\n                            <div class=\"rooms-slider--btns pt--20\">\n                                @for (button of item.buttons; track $index) {\n                                <tent-button\n                                    type=\"dark-box\"\n                                    [label]=\"button.label\"\n                                    [url]=\"button.url\"\n                                    [linkType]=\"button.linkType!\"\n                                ></tent-button>\n                                }\n                            </div>\n                            }\n                        </div>\n                    </div>\n                    }\n                </div>\n            </ng-template>\n            }\n        </owl-carousel-o>\n    </div>\n</section>\n","import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component } from '@angular/core';\n\n@Component({\n    selector: 'tent-footer-a',\n    standalone: true,\n    imports: [CommonModule],\n    templateUrl: './footer-a.component.html',\n    styleUrl: './footer-a.component.scss',\n    changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class FooterAComponent {\n    collapsed1 = false;\n    collapsed2 = true;\n    collapsed3 = true;\n    collapsed4 = true;\n    toggleCollapse1(): void {\n        this.collapsed1 = !this.collapsed1;\n    }\n    toggleCollapse2(): void {\n        this.collapsed2 = !this.collapsed2;\n    }\n    toggleCollapse3(): void {\n        this.collapsed3 = !this.collapsed3;\n    }\n    toggleCollapse4(): void {\n        this.collapsed4 = !this.collapsed4;\n    }\n}\n"," \n\n\n<section class=\"footer-a module-spacer-small--bottom  wrapper-medium\">\n    <div class=\"footer-a--content\">\n        <div class=\"footer-a--box\" [ngClass]=\"collapsed1 ? 'close' : 'open'\"> \n            <h4 class=\"footer-a--title\" (click)=\"toggleCollapse1()\">conecta con nosotros <span class=\"icon-collapse icon-minus\"></span></h4>\n            <ul class=\"footer-a--list\">\n                <li>\n                    <a href=\"\" class=\"link-opacity color--brown\">\n                       faqs\n                    </a>\n                </li>\n                <li>\n                    <a href=\"\" class=\"link-opacity color--brown\">\n                       faqs\n                    </a>\n                </li>\n                <li>\n                    <a href=\"\" class=\"link-opacity color--brown\">\n                       faqs\n                    </a>\n                </li>\n            </ul>   \n        </div>\n        <div class=\"footer-a--box\" [ngClass]=\"collapsed2 ? 'close' : 'open'\">\n            <h4 class=\"footer-a--title\"  (click)=\"toggleCollapse2()\">conecta con nosotros <span class=\"icon-collapse icon-minus\"></span></h4>\n            <ul class=\"footer-a--list\">\n                <li>\n                    <a href=\"\" class=\"link-opacity color--brown\">\n                       faqs\n                    </a>\n                </li>\n                <li>\n                    <a href=\"\" class=\"link-opacity color--brown\">\n                       faqs\n                    </a>\n                </li>\n                <li>\n                    <a href=\"\" class=\"link-opacity color--brown\">\n                       faqs\n                    </a>\n                </li>\n            </ul>   \n        </div>\n        <div class=\"footer-a--box\" [ngClass]=\"collapsed3 ? 'close' : 'open'\"> \n            <h4 class=\"footer-a--title\" (click)=\"toggleCollapse3()\">conecta con nosotros <span class=\"icon-collapse icon-minus\"></span></h4>\n            <ul class=\"footer-a--list\">\n                <li>\n                    <a href=\"\" class=\"link-opacity color--brown\">\n                       faqs\n                    </a>\n                </li>\n                <li>\n                    <a href=\"\" class=\"link-opacity color--brown\">\n                       faqs\n                    </a>\n                </li>\n                <li>\n                    <a href=\"\" class=\"link-opacity color--brown\">\n                       faqs\n                    </a>\n                </li>\n            </ul>   \n        </div>\n        <div class=\"footer-a--box\" [ngClass]=\"collapsed4 ? 'close' : 'open'\"> \n            <h4 class=\"footer-a--title\" (click)=\"toggleCollapse4()\">conecta con nosotros <span class=\"icon-collapse icon-minus\"></span></h4> \n            <ul class=\"footer-a--list\">\n                <li>\n                    <a href=\"\" class=\"link-opacity color--brown\">\n                       faqs\n                    </a>\n                </li>\n                <li>\n                    <a href=\"\" class=\"link-opacity color--brown\">\n                       faqs\n                    </a>\n                </li>\n                <li>\n                    <a href=\"\" class=\"link-opacity color--brown\">\n                       faqs\n                    </a>\n                </li>\n            </ul>   \n        </div>\n    </div>\n</section>","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\nimport { ButtonComponent } from '../../atomic/button/button.component';\nimport { ButtonI } from '../../../../public-api';\n\n@Component({\n    selector: 'tent-footer-b',\n    standalone: true,\n    imports: [ButtonComponent],\n    templateUrl: './footer-b.component.html',\n    styleUrl: './footer-b.component.scss',\n    changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class FooterBComponent {\n    @Input() linksWithImage?: FooterBLinkWithImage[];\n    @Input() logo?: FooterBLinkWithImage;\n    @Input() title?: string;\n    @Input() links?: ButtonI[];\n    @Input() buttons?: ButtonI[];\n}\n\nexport interface FooterBLinkWithImage {\n    img: string;\n    alt?: string;\n    url: string;\n}\n","<section class=\"footer-b wrapper-medium\">\n    <div class=\"footer-b--content\">\n        @if (logo || linksWithImage?.length) {\n        <div class=\"footer-b--box footer-b--box--left\">\n            <div class=\"footer-b--box--inner\">\n                @if (logo) {\n                <a\n                    class=\"footer-b--logo\"\n                    [href]=\"logo.url\"\n                    target=\"_blank\"\n                    [attr.aria-label]=\"logo.alt\"\n                >\n                    <img\n                        [src]=\"logo.img\"\n                        loading=\"lazy\"\n                        width=\"180\"\n                        height=\"65\"\n                        [alt]=\"logo.alt\"\n                    />\n                </a>\n                } @if (linksWithImage?.length) {\n                <div class=\"footer-b--logos\">\n                    @for (link of linksWithImage; track $index) {\n                    <a\n                        class=\"footer-b--logos--logo\"\n                        [href]=\"link.url\"\n                        target=\"_blank\"\n                        [attr.aria-label]=\"link.alt\"\n                    >\n                        <img\n                            [src]=\"link.img\"\n                            loading=\"lazy\"\n                            width=\"87\"\n                            height=\"79\"\n                            [alt]=\"link.alt\"\n                        />\n                    </a>\n\n                    }\n                </div>\n                }\n            </div>\n        </div>\n        } @if (links?.length || buttons?.length) {\n\n        <div class=\"footer-b--box footer-b--box--right\">\n            <div class=\"footer-b--box--inner\">\n                @if (title || links?.length) {\n                <div class=\"footer-b--info\">\n                    @if (title) {\n                    <h3 class=\"title--42 color--brown\">{{ title }}</h3>\n                    } @if (links) { @for (link of links; track $index) {\n                    <a\n                        [href]=\"link.url\"\n                        class=\"link-regular color--brown\"\n                        [attr.aria-label]=\"link.label\"\n                    >\n                        {{ link.label }}\n                    </a>\n                    } }\n                </div>\n                } @if (buttons?.length) {\n                <div class=\"footer-b--btns\">\n                    @for (btn of buttons; track $index) {\n                    <tent-button\n                        type=\"dark-box-white\"\n                        [label]=\"btn.label\"\n                        [url]=\"btn.url\"\n                        [linkType]=\"btn.linkType!\"\n                    ></tent-button>\n\n                    }\n                </div>\n                }\n            </div>\n        </div>\n        }\n    </div>\n</section>\n","import { CommonModule, isPlatformBrowser } from '@angular/common';\nimport {\n    ChangeDetectionStrategy,\n    Component,\n    Inject,\n    Input,\n    PLATFORM_ID,\n} from '@angular/core';\nimport { RouterModule } from '@angular/router';\nimport { ButtonI } from '../../../interfaces/atomic/button.interface';\nimport { ButtonComponent } from '../../atomic/button/button.component';\n\n@Component({\n    selector: 'tent-footer-static',\n    standalone: true,\n    imports: [CommonModule, ButtonComponent, RouterModule],\n    templateUrl: './footer-static.component.html',\n    styleUrl: './footer-static.component.scss',\n    changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class FooterStaticComponent {\n    @Input({ required: true }) footerLinks?: ButtonI[];\n    @Input() title?: string;\n    @Input() scrollBtn?: ButtonI;\n\n    constructor(@Inject(PLATFORM_ID) private platformId: Object) {}\n\n    isInternalLink(link: ButtonI): boolean {\n        return link.linkType === 'internal';\n    }\n\n    linkClicked(event: Event, link: ButtonI): void {\n        if (link.linkType === 'internal') {\n            event.preventDefault();\n        }\n    }\n\n    scrollClicked(): void {\n        if (!isPlatformBrowser(this.platformId)) return;\n        window.scrollTo({\n            top: 0,\n            behavior: 'smooth',\n        });\n    }\n}\n","<footer class=\"footer wrapper-medium\">\n    @if (title) {\n    <div class=\"footer__copyright\">\n        <p class=\"text color--brown text--small\">{{ title }}</p>\n    </div>\n    } @if (footerLinks?.length) {\n    <ul class=\"footer__links\">\n        @for (link of footerLinks; track $index) {\n        <li class=\"footer__link\">\n            @if (isInternalLink(link)) {\n            <a\n                class=\"link link--brown\"\n                [href]=\"link.url\"\n                [routerLink]=\"[link.url]\"\n                (click)=\"linkClicked($event, link)\"\n                [attr.aria-label]=\"link.label\"\n            >\n                {{ link.label }}\n            </a>\n\n            } @else {\n            <a\n                class=\"link link--brown\"\n                [href]=\"link.url\"\n                target=\"_blank\"\n                (click)=\"linkClicked($event, link)\"\n                [attr.aria-label]=\"link.label\"\n            >\n                {{ link.label }}\n            </a>\n            }\n        </li>\n        }\n    </ul>\n    } @if (scrollBtn) {\n    <div class=\"scroll-top\">\n        <span class=\"text color--brown text--small\">{{ scrollBtn.label }}</span>\n        <tent-button\n            type=\"dark-circle\"\n            [icon]=\"scrollBtn.icon\"\n            (click)=\"scrollClicked()\"\n            [name]=\"scrollBtn.icon\"\n        ></tent-button>\n    </div>\n    }\n</footer>\n","import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, Input } from '@angular/core';\nimport { MatDialogRef } from '@angular/material/dialog';\nimport { DomSanitizer, SafeStyle } from '@angular/platform-browser';\nimport { CarouselModule, OwlOptions } from 'ngx-owl-carousel-o';\nimport { ButtonComponent } from '../../../atomic/button/button.component';\nimport { GalleryPhotosItem } from '../../gallery-photos/gallery-photos.component';\n\n@Component({\n    selector: 'tent-room-zoom-modal',\n    standalone: true,\n    imports: [CommonModule, CarouselModule, ButtonComponent],\n    templateUrl: './room-zoom-modal.component.html',\n    styleUrl: './room-zoom-modal.component.scss',\n    changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class RoomZoomModalComponent {\n    @Input() title?: string;\n    @Input() images?: GalleryPhotosItem[];\n    sliderOptions: OwlOptions = {\n        loop: true,\n        autoplay: false,\n        autoplayTimeout: 5000,\n        autoplaySpeed: 1500,\n        navSpeed: 1500,\n        responsiveRefreshRate: 100,\n        margin: 0,\n        mouseDrag: true,\n        touchDrag: true,\n        pullDrag: true,\n        dots: false,\n        navText: [\n            '<div class=\"btn btn__circle btn__circle-- btn__dark\"><span class=\"btn__circle-icon icon-signal-left icon--size12 \"> </span></div>',\n            '<div class=\"btn btn__circle btn__circle-- btn__dark\"><span class=\"btn__circle-icon icon-signal-right icon--size12 \"> </span></div>',\n        ],\n        responsive: {\n            0: {\n                items: 1,\n            },\n            1680: {\n                items: 1,\n            },\n        },\n        nav: true,\n    };\n    constructor(\n        private readonly dialogRef: MatDialogRef<RoomZoomModalComponent>,\n        private readonly sanitizer: DomSanitizer\n    ) {}\n\n    getImage(image: string): SafeStyle {\n        return this.sanitizer.bypassSecurityTrustStyle(\n            `background-image: url(${image})`\n        );\n    }\n    close(): void {\n        this.dialogRef.close();\n    }\n}\n","<div class=\"room-zoom flex-col\">\n    <div class=\"room-zoom--close\">\n        <tent-button\n            type=\"dark-circle\"\n            icon=\"icon-close\"\n            [closeButton]=\"true\"\n            (btnClick)=\"close()\"\n            name=\"close\"\n        ></tent-button>\n    </div>\n    <owl-carousel-o\n        class=\"room-zoom--slider slider-circle--center\"\n        [options]=\"sliderOptions\"\n    >\n        @for (img of images; track $index) {\n        <ng-template carouselSlide>\n            <p class=\"room-zoom--title\">{{ img.title }}</p>\n            <div class=\"room-zoom--image--wrapper\">\n                <figure\n                    class=\"room-zoom--image figure-full\"\n                    [style]=\"getImage(img.image)\"\n                ></figure>\n            </div>\n        </ng-template>\n        }\n    </owl-carousel-o>\n</div>\n","import { CommonModule } from '@angular/common';\nimport {\n    ChangeDetectionStrategy,\n    Component,\n    Input,\n    OnChanges,\n    SimpleChanges,\n} from '@angular/core';\nimport { MatDialog } from '@angular/material/dialog';\nimport {\n    DomSanitizer,\n    SafeResourceUrl,\n    SafeStyle,\n} from '@angular/platform-browser';\nimport { ButtonI } from '../../../interfaces/atomic/button.interface';\nimport { ButtonComponent } from '../../atomic/button/button.component';\nimport { RoomZoomModalComponent } from '../modals/room-zoom-modal/room-zoom-modal.component';\n\n@Component({\n    selector: 'tent-gallery-photos',\n    standalone: true,\n    imports: [CommonModule, ButtonComponent],\n    templateUrl: './gallery-photos.component.html',\n    styleUrl: './gallery-photos.component.scss',\n    changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class GalleryPhotosComponent implements OnChanges {\n    @Input({ required: true }) items!: GalleryPhotosItem[];\n    @Input() links?: ButtonI[];\n\n    itemsOrdered: GalleryPhotosItem[][] = [];\n    collapsed = true;\n    videoId: string | null = null;\n    thumbnailUrl: string | null = null;\n    safeEmbedUrl?: SafeResourceUrl;\n    isPlaying = false;\n\n    constructor(\n        private readonly sanitizer: DomSanitizer,\n        private readonly dialog: MatDialog\n    ) {}\n\n    openModal(photo: GalleryPhotosItem): void {\n        const dialogRef = this.dialog.open(RoomZoomModalComponent, {\n            width: '100vw',\n            height: '100vh',\n            maxWidth: '100vw',\n            panelClass: 'full-screen',\n            hasBackdrop: true,\n        });\n\n        dialogRef.componentInstance.images = this.items\n            ?.slice(this.items.indexOf(photo))\n            .concat(this.items?.slice(0, this.items.indexOf(photo)));\n    }\n\n    ngOnChanges(changes: SimpleChanges): void {\n        if (changes?.['items']?.currentValue) {\n            this.reorderVideoFirst();\n\n            const video = this.items[0]?.video;\n\n            if (this.isValidVideo(video)) {\n                this.setupVideo(video as string);\n            }\n\n            this.splitArray();\n        }\n    }\n\n    splitArray(): void {\n        let i = 0;\n        this.itemsOrdered = [];\n\n        const hasVideo = this.isValidVideo(this.items[0]?.video);\n\n        // 🔥 BOX 1: si hay vídeo → solo 3 elementos\n        if (hasVideo) {\n            this.itemsOrdered.push(this.items.slice(0, 3));\n            i = 3;\n        }\n\n        // 🔥 Sino hay vídeo → se comporta como siempre → 4\n        else {\n            this.itemsOrdered.push(this.items.slice(0, 4));\n            i = 4;\n        }\n\n        // 🔥 Resto de filas siguen el patrón 4 → 3 → 4 → 3…\n        let rowIndex = 1;\n\n        while (i < this.items.length) {\n            if (rowIndex % 2 === 1) {\n                // filas impares → 3 items\n                this.itemsOrdered.push(this.items.slice(i, i + 3));\n                i += 3;\n            } else {\n                // filas pares → 4 items\n                this.itemsOrdered.push(this.items.slice(i, i + 4));\n                i += 4;\n            }\n            rowIndex++;\n        }\n    }\n\n    getImageUrl(image: string): SafeStyle {\n        return this.sanitizer.bypassSecurityTrustStyle(\n            `background-image: url(${image})`\n        );\n    }\n\n    toggleCollapse(): void {\n        this.collapsed = !this.collapsed;\n    }\n\n    private reorderVideoFirst(): void {\n        const videoItemIndex = this.items.findIndex((i) =>\n            this.isValidVideo(i.video)\n        );\n\n        if (videoItemIndex > 0) {\n            const videoItem = this.items.splice(videoItemIndex, 1)[0];\n            this.items.unshift(videoItem);\n        }\n    }\n\n    private setupVideo(url: string): void {\n        const id = this.extractVideoId(url);\n        if (!id) return;\n\n        this.videoId = id;\n        this.thumbnailUrl = `https://img.youtube.com/vi/${id}/maxresdefault.jpg`;\n\n        const embed = `\n            https://www.youtube.com/embed/${id}\n            ?autoplay=1\n            &controls=0\n            &showinfo=0\n            &modestbranding=1\n            &rel=0\n            &playsinline=1\n            &mute=0\n        `.replace(/\\s+/g, '');\n\n        this.safeEmbedUrl =\n            this.sanitizer.bypassSecurityTrustResourceUrl(embed);\n    }\n\n    private extractVideoId(url: any): string | null {\n        if (typeof url !== 'string') return null;\n\n        // Quitar espacios\n        url = url.trim();\n        if (url === '') return null;\n\n        // Si viene sin protocolo, añadimos https://\n        if (!url.startsWith('http')) {\n            url = 'https://' + url;\n        }\n\n        try {\n            const u = new URL(url);\n\n            // Caso 1: formato normal → youtube.com/watch?v=ID\n            const v = u.searchParams.get('v');\n            if (v && v.length === 11) return v;\n\n            // Caso 2: youtu.be/ID\n            const shortMatch = u.pathname.match(/\\/([^\\/\\?]{11})/);\n            if (shortMatch) return shortMatch[1];\n\n            // Caso 3: embed/ID\n            const embedMatch = u.pathname.match(/embed\\/([^\\/\\?]{11})/);\n            if (embedMatch) return embedMatch[1];\n\n            return null;\n        } catch {\n            return null;\n        }\n    }\n\n    onPlayVideo(): void {\n        this.isPlaying = true;\n    }\n\n    isValidVideo(video: any): boolean {\n        if (typeof video !== 'string') return false;\n\n        const clean = video.trim();\n        if (clean === '') return false;\n\n        const id = this.extractVideoId(clean);\n        return !!id; // solo true si tiene un ID de youtube válido\n    }\n}\n\nexport interface GalleryPhotosItem {\n    image: string;\n    title: string;\n    category: string[];\n    video?: string;\n}\n","<section class=\"gallery-photos module-spacer--bottom-small\">\n    <div class=\"gallery-photos--content wrapper-big\">\n        <div class=\"gallery-photos--list\">\n            @for (item of itemsOrdered; let rowIndex = $index; track rowIndex) {\n                <div\n                    [ngClass]=\"{\n                        'gallery-photos--box1': rowIndex % 4 === 0,\n                        'gallery-photos--box2': rowIndex % 4 === 1,\n                        'gallery-photos--box3': rowIndex % 4 === 2,\n                        'gallery-photos--box4': rowIndex % 4 === 3,\n                        'no-photo3': item.length < 3,\n                        'has-video':\n                            rowIndex === 0 && isValidVideo(item[0]?.video),\n                    }\"\n                >\n                    @for (\n                        photo of item;\n                        let subIndex = $index;\n                        track subIndex\n                    ) {\n                        <!-- ========================================================= -->\n                        <!-- 🔥 VIDEO SOLO SI ES LA PRIMERA FOTO DE LA PRIMERA FILA -->\n                        <!-- ========================================================= -->\n                        @if (\n                            rowIndex === 0 &&\n                            subIndex === 0 &&\n                            isValidVideo(photo.video)\n                        ) {\n                            <div class=\"gallery-photos--item photo1 video-item\">\n                                <div\n                                    class=\"gallery-photos--photo figure-content\"\n                                >\n                                    <ng-container\n                                        *ngIf=\"!isPlaying; else iframeTpl\"\n                                    >\n                                        <img\n                                            class=\"video-thumb\"\n                                            [src]=\"photo.image\"\n                                            alt=\"Video thumbnail\"\n                                            loading=\"lazy\"\n                                        />\n\n                                        <button\n                                            class=\"video-play-btn\"\n                                            type=\"button\"\n                                            (click)=\"onPlayVideo()\"\n                                        >\n                                            <svg\n                                                width=\"50\"\n                                                height=\"50\"\n                                                viewBox=\"0 0 50 50\"\n                                                fill=\"none\"\n                                                xmlns=\"http://www.w3.org/2000/svg\"\n                                            >\n                                                <g\n                                                    filter=\"url(#filter0_d_2054_3)\"\n                                                >\n                                                    <path\n                                                        d=\"M41.5 17.2672C45.5 19.5766 45.5 25.3501 41.5 27.6595L13 44.114C9 46.4234 4 43.5367 4 38.9179L4 6.00889C4 1.39009 9 -1.49666 13 0.812744L41.5 17.2672Z\"\n                                                        fill=\"white\"\n                                                    />\n                                                </g>\n                                                <defs>\n                                                    <filter\n                                                        id=\"filter0_d_2054_3\"\n                                                        x=\"0\"\n                                                        y=\"0\"\n                                                        width=\"48.5\"\n                                                        height=\"52.9268\"\n                                                        filterUnits=\"userSpaceOnUse\"\n                                                        color-interpolation-filters=\"sRGB\"\n                                                    >\n                                                        <feFlood\n                                                            flood-opacity=\"0\"\n                                                            result=\"BackgroundImageFix\"\n                                                        />\n                                                        <feColorMatrix\n                                                            in=\"SourceAlpha\"\n                                                            type=\"matrix\"\n                                                            values=\"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0\"\n                                                            result=\"hardAlpha\"\n                                                        />\n                                                        <feOffset dy=\"4\" />\n                                                        <feGaussianBlur\n                                                            stdDeviation=\"2\"\n                                                        />\n                                                        <feComposite\n                                                            in2=\"hardAlpha\"\n                                                            operator=\"out\"\n                                                        />\n                                                        <feColorMatrix\n                                                            type=\"matrix\"\n                                                            values=\"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.25 0\"\n                                                        />\n                                                        <feBlend\n                                                            mode=\"normal\"\n                                                            in2=\"BackgroundImageFix\"\n                                                            result=\"effect1_dropShadow_2054_3\"\n                                                        />\n                                                        <feBlend\n                                                            mode=\"normal\"\n                                                            in=\"SourceGraphic\"\n                                                            in2=\"effect1_dropShadow_2054_3\"\n                                                            result=\"shape\"\n                                                        />\n                                                    </filter>\n                                                </defs>\n                                            </svg>\n                                        </button>\n                                    </ng-container>\n\n                                    <ng-template #iframeTpl>\n                                        <iframe\n                                            class=\"video-iframe\"\n                                            *ngIf=\"safeEmbedUrl\"\n                                            [src]=\"safeEmbedUrl\"\n                                            title=\"Video player\"\n                                            frameborder=\"0\"\n                                            allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\"\n                                            allowfullscreen\n                                        ></iframe>\n                                    </ng-template>\n                                </div>\n\n                                @if (photo.title) {\n                                    <div class=\"gallery-photos--label\">\n                                        <p class=\"text color--brown\">\n                                            {{ photo.title }}\n                                        </p>\n                                    </div>\n                                }\n                            </div>\n                        } @else {\n                            <!-- ========================================================= -->\n                            <!-- ⭐ FOTO NORMAL (todas las demás imágenes) -->\n                            <!-- ========================================================= -->\n\n                            <div\n                                class=\"gallery-photos--item\"\n                                [ngClass]=\"'photo' + (subIndex + 1)\"\n                            >\n                                <div\n                                    class=\"gallery-photos--photo figure-content\"\n                                    (click)=\"openModal(photo)\"\n                                >\n                                    <figure\n                                        class=\"figure-full\"\n                                        [style]=\"getImageUrl(photo.image)\"\n                                    ></figure>\n                                </div>\n\n                                @if (photo.title) {\n                                    <div class=\"gallery-photos--label\">\n                                        <p class=\"text color--brown\">\n                                            {{ photo.title }}\n                                        </p>\n                                        <span\n                                            class=\"icon-search-plus icon--size22 color--brown\"\n                                        ></span>\n                                    </div>\n                                }\n                            </div>\n                        }\n                    }\n                    <!-- end @for-photo -->\n                </div>\n            }\n            <!-- end @for-item -->\n        </div>\n\n        <!-- BOTONES MOSTRAR MÁS / MOSTRAR MENOS -->\n        @if (links && links.length && items.length > 14) {\n            <div class=\"gallery-photos--links\">\n                @if (collapsed) {\n                    <tent-button\n                        type=\"dark-link\"\n                        [label]=\"links[0].label\"\n                        (btnClick)=\"toggleCollapse()\"\n                    ></tent-button>\n                } @else {\n                    <tent-button\n                        type=\"dark-link\"\n                        [label]=\"links[1].label\"\n                        (btnClick)=\"toggleCollapse()\"\n                    ></tent-button>\n                }\n            </div>\n        }\n    </div>\n</section>\n","import {\n    ChangeDetectionStrategy,\n    Component,\n    EventEmitter,\n    Input,\n    OnInit,\n    Output,\n} from '@angular/core';\nimport {\n    DropdownComponent,\n    DropdownOption,\n} from '../../atomic/dropdown/dropdown.component';\n\nimport { CommonModule } from '@angular/common';\nimport { BreadcrumpI } from '../../../interfaces/atomic/breadcrump.interface';\nimport { ButtonI } from '../../../interfaces/atomic/button.interface';\nimport { DropdownI } from '../../../interfaces/atomic/dropdown.interface';\nimport { BreadcrumpComponent } from '../../atomic/breadcrump/breadcrump.component';\nimport { ButtonComponent } from '../../atomic/button/button.component';\n@Component({\n    selector: 'tent-generic-head',\n    standalone: true,\n    imports: [\n        CommonModule,\n        DropdownComponent,\n        ButtonComponent,\n        BreadcrumpComponent,\n    ],\n    templateUrl: './generic-head.component.html',\n    styleUrl: './generic-head.component.scss',\n    changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class GenericHeadComponent implements OnInit {\n    @Input() theme?: string;\n    @Input() galleryFilterOptions?: GalleryFilterOption[];\n    @Input() title?: string;\n    @Input() titleDark?: string;\n    @Input() breadcrumps?: BreadcrumpI;\n    @Input() filter?: DropdownI;\n    @Input() button?: ButtonI;\n    @Input() galleryBtns?: string[];\n    @Input() linkMaps?: ButtonI;\n    @Input() linkBack?: ButtonI;\n    @Input() bigger = true;\n\n    @Output() filterChange = new EventEmitter<DropdownOption>();\n    @Output() filterGalleryChange = new EventEmitter<GalleryFilterOption>();\n    @Output() openCategoryModal = new EventEmitter<void>();\n    @Output() btnClick = new EventEmitter<void>();\n\n    galleryFilterSelected!: GalleryFilterOption;\n\n    constructor() {}\n\n    ngOnInit(): void {\n        this.galleryFilterSelected = this.galleryFilterOptions?.[0]!;\n    }\n\n    filterChanged(option: DropdownOption): void {\n        this.filterChange.emit(option);\n    }\n\n    filterGalleryClicked(option: GalleryFilterOption): void {\n        this.galleryFilterSelected = option;\n        this.filterGalleryChange.emit(option);\n    }\n\n    openGalleryCategoryModal(): void {\n        this.openCategoryModal.emit();\n    }\n\n    btnClicked(): void {\n        this.btnClick.emit();\n    }\n}\n\nexport interface GalleryFilterOption {\n    id?: string | number;\n    label?: string;\n    rooms?: boolean;\n    room?: boolean;\n    allCategories?: boolean;\n    videoSrc?: string;\n}\n","<section\n    class=\"generic-head-module\"\n    [ngClass]=\"{ 'module-spacer-small--bottom': title || titleDark }\"\n>\n    <div class=\"wrapper-big\">\n        <div\n            class=\"generic-head\"\n            [ngClass]=\"{ 'generic-head--bigger': bigger }\"\n        >\n            @if (breadcrumps?.breadcrumps && breadcrumps) {\n            <tent-breadcrump\n                class=\"generic-head--breadcrumps\"\n                [ngClass]=\"{ 'generic-head--breadcrumps--absolute': titleDark }\"\n                [breadcrumps]=\"breadcrumps.breadcrumps\"\n                [selected]=\"\n                    breadcrumps.breadcrumps[breadcrumps.breadcrumps.length - 1]\n                \"\n            ></tent-breadcrump>\n            }\n            <div class=\"generic-head--content\">\n                @if (title) {\n                <h1\n                    class=\"generic-head--title title--80 color--camel\"\n                    [ngClass]=\"{\n                        'generic-head--title--laundry': theme === 'laundry'\n                    }\"\n                >\n                    {{ title }}\n                    <span class=\"color--brown\">{{ titleDark }}</span>\n                </h1>\n                }\n                <div [ngClass]=\"{ 'generic-head--content--end': linkMaps }\">\n                    @if (filter) {\n                    <div class=\"generic-head--filter\">\n                        <tent-dropdown\n                            [options]=\"filter.options\"\n                            [placeholder]=\"filter.placeholder\"\n                            [value]=\"filter.value\"\n                            (change)=\"filterChanged($event)\"\n                        ></tent-dropdown>\n                    </div>\n\n                    } @if (galleryFilterOptions) {\n                    <div class=\"generic-head--filter-gallery\">\n                        @for (filter of galleryFilterOptions; track $index) {\n                        @if (!filter.room) {\n                        <span\n                            class=\"generic-head--gallery-option\"\n                            [ngClass]=\"{\n                                'generic-head--gallery-option--selected':\n                                    filter === galleryFilterSelected\n                            }\"\n                            (click)=\"filterGalleryClicked(filter)\"\n                        >\n                            {{ filter.label }}\n                        </span>\n                        } } @if (galleryBtns?.length) { @if (galleryBtns?.[0] &&\n                        galleryBtns) {\n                        <div\n                            class=\"generic-head--gallery-btn\"\n                            (click)=\"openGalleryCategoryModal()\"\n                        >\n                            <span class=\"generic-head--gallery-btn--text\">\n                                {{ galleryBtns[0] }}\n                            </span>\n                            <span\n                                class=\"generic-head--gallery-btn--icon icon-menu\"\n                            ></span>\n                        </div>\n                        } }\n                    </div>\n                    } @if (button) {\n                    <tent-button\n                        class=\"generic-head--contact\"\n                        type=\"dark-box\"\n                        [label]=\"button.label\"\n                        [url]=\"button.url\"\n                        (btnClick)=\"btnClicked()\"\n                    ></tent-button>\n                    } @if (linkMaps) {\n                    <a\n                        class=\"generic-head--location\"\n                        [href]=\"linkMaps.url\"\n                        target=\"_blank\"\n                        [attr.aria-label]=\"linkMaps.label\"\n                    >\n                        <span\n                            class=\"generic-head--location--icon icon-map\"\n                        ></span>\n                        <p class=\"text link\">{{ linkMaps.label }}</p>\n                    </a>\n                    } @if (linkBack) {\n                    <tent-button\n                        type=\"dark-link\"\n                        [label]=\"linkBack.label\"\n                        [icon]=\"linkBack.icon\"\n                        iconPosition=\"left\"\n                        linkSizeIcon=\"8px\"\n                        [url]=\"linkBack.url\"\n                        (btnClick)=\"btnClicked()\"\n                    ></tent-button>\n                    }\n                </div>\n            </div>\n        </div>\n    </div>\n</section>\n","import { CommonModule, isPlatformBrowser } from '@angular/common';\nimport {\n    ChangeDetectionStrategy,\n    Component,\n    EventEmitter,\n    Inject,\n    Input,\n    OnInit,\n    Output,\n    PLATFORM_ID,\n} from '@angular/core';\nimport { ButtonI } from '../../../interfaces/atomic/button.interface';\nimport { DropdownI } from '../../../interfaces/atomic/dropdown.interface';\nimport { ButtonComponent } from '../../atomic/button/button.component';\nimport {\n    DropdownComponent,\n    DropdownOption,\n} from '../../atomic/dropdown/dropdown.component';\n\n@Component({\n    selector: 'tent-guests-popup',\n    standalone: true,\n    imports: [CommonModule, DropdownComponent, ButtonComponent],\n    templateUrl: './guests-popup.component.html',\n    styleUrl: './guests-popup.component.scss',\n    changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class GuestsPopupComponent implements OnInit {\n    @Input() adultsDropdown!: DropdownI;\n    @Input() kidsDropdown!: DropdownI;\n    @Input() ageDropdown!: DropdownI;\n    @Input() babysDropdown!: DropdownI;\n    @Input() title?: string;\n    @Input() kidLabel?: string;\n    @Input() btnApply!: ButtonI;\n    @Input() modal?: boolean;\n\n    @Output() appliedData = new EventEmitter<GuestsValue>();\n\n    kids?: number[] = [];\n    applied = false;\n\n    kidsOption!: DropdownOption;\n    adultsOption!: DropdownOption;\n    babysOption!: DropdownOption;\n\n    ages: number[] = [];\n    constructor(@Inject(PLATFORM_ID) private platformId: Object) {}\n\n    ngOnInit(): void {\n        this.kidsOption = this.kidsDropdown.options![0];\n        this.adultsOption = this.adultsDropdown.options![0];\n        this.babysOption = this.babysDropdown.options![0];\n    }\n\n    kidsChange(option: DropdownOption) {\n        if (!isPlatformBrowser(this.platformId)) return;\n        this.kids = [];\n        this.kidsOption = option;\n        for (let i = 0; i < Number(option.code); i++) {\n            this.kids?.push(i);\n        }\n\n        this.ages = Array(this.kids.length).fill(\n            Number(this.ageDropdown.options[0].code)\n        );\n\n        const popup = document.getElementsByClassName('p-dialog-mask')[0];\n\n        if (popup) {\n            if (Number(option.code) > 2) {\n                popup.classList.add('bigger');\n            } else {\n                if (popup.classList.contains('bigger')) {\n                    popup.classList.remove('bigger');\n                }\n            }\n        }\n    }\n\n    agesChange(kidIndex: number, option: DropdownOption): void {\n        this.ages[kidIndex] = Number(option.code);\n    }\n\n    babysChange(option: DropdownOption): void {\n        this.babysOption = option;\n    }\n\n    adultsChange(option: DropdownOption): void {\n        this.adultsOption = option;\n    }\n\n    applyData(): void {\n        this.appliedData.emit({\n            adults: Number(this.adultsOption?.code) ?? 0,\n            kids: Number(this.kidsOption?.code) ?? 0,\n            babys: Number(this.babysOption?.code) ?? 0,\n            kidsAges: this.ages ?? [],\n            totalGuests:\n                Number(this.babysOption?.code) +\n                Number(this.kidsOption?.code) +\n                Number(this.adultsOption?.code),\n        } as GuestsValue);\n    }\n}\n\nexport interface GuestsValue {\n    adults?: number;\n    kids?: number;\n    babys?: number;\n    kidsAges?: number[];\n    totalGuests: number;\n}\n","<div class=\"guests flex-col flex-col--center\">\n    <tent-dropdown\n        [title]=\"adultsDropdown.title\"\n        iconLeft=\"icon-user\"\n        [options]=\"adultsDropdown.options\"\n        [showTitleTop]=\"true\"\n        [value]=\"adultsDropdown.options[0]\"\n        (change)=\"adultsChange($event)\"\n    ></tent-dropdown>\n    <tent-dropdown\n        [title]=\"kidsDropdown.title\"\n        iconLeft=\"icon-user-small\"\n        [smallTitle]=\"kidsDropdown.smallTitle\"\n        [options]=\"kidsDropdown.options\"\n        [value]=\"kidsDropdown.options[0]\"\n        [showTitleTop]=\"true\"\n        (change)=\"kidsChange($event)\"\n    ></tent-dropdown>\n\n    <div\n        class=\"guests--kids\"\n        [ngClass]=\"{ 'guests--kids--show': !applied && kids?.length }\"\n    >\n        @if (title) {\n        <header class=\"guests--kids--header\">\n            <p class=\"color--brown guests--kids--header--title\">edades</p>\n        </header>\n        }\n\n        <div class=\"guests--kids--content\">\n            @for (kid of kids; track $index; let even = $even, last = $last) {\n            <div\n                class=\"guests--kids--dropdown\"\n                [ngClass]=\"{\n                    'guests--kids--dropdown--centered': even && last\n                }\"\n            >\n                <span class=\"color--brown guests--kids--title\"\n                    >{{ kidLabel }}{{ $index + 1 }}</span\n                >\n                <tent-dropdown\n                    [light]=\"true\"\n                    [options]=\"ageDropdown.options\"\n                    [value]=\"ageDropdown.options[0]\"\n                    (change)=\"agesChange($index, $event)\"\n                ></tent-dropdown>\n            </div>\n            }\n        </div>\n    </div>\n\n    <tent-dropdown\n        [ngClass]=\"{ 'guests--babys': applied || !kids?.length }\"\n        [showTitleTop]=\"true\"\n        [title]=\"babysDropdown.title\"\n        iconLeft=\"icon-user-small\"\n        [smallTitle]=\"babysDropdown.smallTitle\"\n        [value]=\"babysDropdown.options[0]\"\n        [options]=\"babysDropdown.options\"\n        (change)=\"babysChange($event)\"\n    ></tent-dropdown>\n\n    <tent-button\n        class=\"guests--btn\"\n        type=\"dark-box-filled\"\n        [label]=\"btnApply.label\"\n        boxWidth=\"240px\"\n        (btnClick)=\"applyData()\"\n        [name]=\"btnApply.label\"\n    ></tent-button>\n</div>\n","import { CommonModule } from '@angular/common';\nimport {\n    ChangeDetectionStrategy,\n    Component,\n    EventEmitter,\n    Input,\n    Output,\n} from '@angular/core';\nimport { MatIconModule } from '@angular/material/icon';\nimport { ButtonI, RightBtn } from '../../../../public-api';\nimport { BadgeI } from '../../../interfaces/atomic/badge.interface';\nimport { BadgeComponent } from '../../atomic/badge/badge.component';\nimport { ButtonComponent } from '../../atomic/button/button.component';\n\n@Component({\n    selector: 'tent-header-mobile',\n    standalone: true,\n    imports: [CommonModule, ButtonComponent, MatIconModule, BadgeComponent],\n    templateUrl: './header-mobile.component.html',\n    styleUrl: './header-mobile.component.scss',\n    changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class HeaderMobileComponent {\n    @Input() btnBook?: ButtonI;\n    @Input() lang?: string;\n    @Input() hotelId?: string;\n    @Input() phoneLink?: RightBtn;\n    @Input() advantages?: BadgeI;\n    @Output() motorClick = new EventEmitter<void>();\n    @Output() advantagesClick = new EventEmitter<void>();\n    constructor() {}\n\n    openMotor(): void {\n        this.motorClick.emit();\n    }\n}\n","<nav class=\"header-mobile\">\n    <div class=\"header-mobile--buttons\">\n        @if (advantages) {\n            <tent-badge\n                class=\"advantages\"\n                [label]=\"advantages.label\"\n                [icon]=\"advantages.icon\"\n                [rounded]=\"true\"\n                (click)=\"advantagesClick.emit()\"\n            ></tent-badge>\n            <span class=\"advantages--noBadge\" (click)=\"advantagesClick.emit()\">\n                {{ advantages.label }}\n            </span>\n        }\n        @if (btnBook) {\n            <tent-button\n                (btnClick)=\"openMotor()\"\n                type=\"dark-box-filled\"\n                [label]=\"btnBook.label\"\n                [name]=\"btnBook.label\"\n                class=\"header-mobile--button\"\n            ></tent-button>\n            <div\n                data-type=\"chain\"\n                data-currency=\"EUR\"\n                [attr.data-locale]=\"lang\"\n                data-mirai-id=\"502045\"\n                [attr.data-hotel]=\"hotelId\"\n                class=\"header-mobile--button--mirai\"\n            ></div>\n        }\n    </div>\n    @if (phoneLink) {\n        <a\n            class=\"header-mobile--phone-link\"\n            [href]=\"phoneLink.url\"\n            [attr.aria-label]=\"phoneLink.label\"\n        >\n            <mat-icon\n                [ngClass]=\"phoneLink.icon\"\n                class=\"color--brown\"\n            ></mat-icon>\n            <span class=\"color--brown\">{{ phoneLink.label }}</span>\n        </a>\n    }\n</nav>\n","import { CommonModule, isPlatformBrowser, Location } from '@angular/common';\nimport {\n    ChangeDetectionStrategy,\n    Component,\n    EventEmitter,\n    Inject,\n    Input,\n    OnInit,\n    Output,\n    PLATFORM_ID,\n} from '@angular/core';\nimport { RouterModule } from '@angular/router';\nimport { ButtonI } from '../../../../interfaces/atomic/button.interface';\nimport { ButtonComponent } from '../../../atomic/button/button.component';\n\n@Component({\n    selector: 'tent-hotel-list-modal',\n    standalone: true,\n    imports: [CommonModule, ButtonComponent, RouterModule],\n    templateUrl: './hotel-list-modal.component.html',\n    styleUrl: './hotel-list-modal.component.scss',\n    changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class HotelListModalComponent implements OnInit {\n    @Input() hotels?: HotelListModalCity[];\n    @Input() button?: ButtonI;\n    @Input() destinyButton?: ButtonI;\n    @Input() title?: string;\n\n    @Output() elementClick = new EventEmitter<ElementObject>();\n\n    collapsed: boolean[] = [];\n\n    constructor(\n        private readonly location: Location,\n        @Inject(PLATFORM_ID) private platformId: Object\n    ) {}\n\n    ngOnInit(): void {\n        if (this.hotels?.length) {\n            this.collapsed = new Array(this.hotels.length).fill(true);\n        }\n    }\n\n    elementClicked(\n        event: Event | undefined,\n        element: ButtonI,\n        type: ElementType\n    ): void {\n        event?.preventDefault();\n        this.elementClick.emit({ element, type });\n    }\n\n    toggleCollapsed(index: number): void {\n        this.collapsed[index] = !this.collapsed[index];\n    }\n\n    back(): void {\n        if (!isPlatformBrowser(this.platformId)) return;\n        this.location.back();\n    }\n}\n\nexport interface HotelListModalCity {\n    city: ButtonI;\n    items: HotelListModalItem[];\n    region?: string;\n}\n\nexport interface HotelListModalItem {\n    title: ButtonI;\n    hotels: {\n        img: string;\n        btn: ButtonI;\n    }[];\n}\n\nexport type ElementType = 'destinyParent' | 'destiny' | 'hotel';\nexport interface ElementObject {\n    element: ButtonI;\n    type: ElementType;\n}\n","<div class=\"hotel-list\">\n    <div class=\"hotel-list--close\">\n        <tent-button\n            type=\"dark-circle\"\n            icon=\"icon-close\"\n            (btnClick)=\"back()\"\n        ></tent-button>\n    </div>\n\n    <!--DESKTOP-->\n\n    @if (button) {\n    <div class=\"hotel-list--btn\">\n        <tent-button\n            type=\"dark-box\"\n            [label]=\"button.label\"\n            boxWidth=\"308px\"\n            [url]=\"button.url\"\n            [linkType]=\"button.linkType!\"\n            class=\"hotel-list--main-button\"\n        ></tent-button>\n    </div>\n    }\n\n    <div class=\"hotel-list--content\">\n        @for (destiny of hotels; track $index) {\n        <div class=\"hotel-list--container\">\n            <div class=\"hotel-list--container--header\">\n                @if (destiny.city) { @if (destiny.city.url) {\n                <a\n                    [href]=\"destiny.city.url\"\n                    [routerLink]=\"destiny.city.url\"\n                    [attr.aria-label]=\"destiny.city.label\"\n                    (click)=\"\n                        elementClicked($event, destiny.city, 'destinyParent')\n                    \"\n                    class=\"hotel-list--container--title\"\n                >\n                    {{ destiny.city.label }}\n                </a>\n                } @else {\n                <span\n                    [attr.aria-label]=\"destiny.city.label\"\n                    (click)=\"\n                        elementClicked($event, destiny.city, 'destinyParent')\n                    \"\n                    class=\"hotel-list--container--title\"\n                >\n                    {{ destiny.city.label }}\n                </span>\n                } } @if (destiny.region) {\n                <div\n                    class=\"hotel-list--column--header hotel-list--column--header--region\"\n                >\n                    <span class=\"hotel-list--column--title\">\n                        {{ destiny.region }}\n                    </span>\n                </div>\n                }\n            </div>\n\n            <div class=\"hotel-list--row\">\n                @for (item of destiny.items; track $index) {\n                <div class=\"hotel-list--column\">\n                    @if (item.title) {\n                    <div class=\"hotel-list--column--header\">\n                        <a\n                            [href]=\"item.title.url\"\n                            [attr.aria-label]=\"item.title.label\"\n                            [routerLink]=\"item.title.url\"\n                            (click)=\"\n                                elementClicked($event, item.title, 'destiny')\n                            \"\n                            class=\"hotel-list--column--title\"\n                        >\n                            {{ item.title.label }}\n                        </a>\n                    </div>\n                    } @for (element of item.hotels; track $index) {\n                    <div class=\"hotel-list--column--content\">\n                        <a\n                            [href]=\"element.btn.url\"\n                            [routerLink]=\"[element.btn.url]\"\n                            [attr.aria-label]=\"element.btn.label\"\n                            (click)=\"\n                                elementClicked($event, element.btn, 'hotel')\n                            \"\n                            class=\"hotel-list--column--element\"\n                        >\n                            {{ element.btn.label }}\n                        </a>\n                    </div>\n                    }\n                </div>\n                }\n            </div>\n        </div>\n        }\n    </div>\n\n    <!--MOBILE-->\n\n    <div class=\"hotel-list--content--mobile\">\n        @if (title) {\n        <p class=\"hotel-list--title color--camel\">{{ title }}</p>\n        } @for (destiny of hotels; track $index) {\n        <div class=\"hotel-list--container\">\n            <div\n                class=\"hotel-list--container--title--wrapper\"\n                (click)=\"toggleCollapsed($index)\"\n            >\n                @if (destiny.city) {\n                <div>\n                    <a\n                        [href]=\"destiny.city.url\"\n                        [routerLink]=\"destiny.city.url\"\n                        [attr.aria-label]=\"destiny.city.label\"\n                        (click)=\"\n                            elementClicked(\n                                $event,\n                                destiny.city,\n                                'destinyParent'\n                            )\n                        \"\n                        class=\"hotel-list--container--title\"\n                    >\n                        {{ destiny.city.label }}\n                    </a>\n                    @if (destiny.region) {\n                    <div\n                        class=\"hotel-list--column--header hotel-list--column--header--region\"\n                    >\n                        <span class=\"hotel-list--column--title\">\n                            {{ destiny.region }}\n                        </span>\n                    </div>\n                    }\n                </div>\n\n                <tent-button\n                    [ngClass]=\"collapsed[$index] ? 'collapsed' : ''\"\n                    icon=\"icon-signal-up\"\n                    class=\"hotel-list--button-collapse\"\n                    type=\"dark-circle\"\n                    name=\"signal-up\"\n                ></tent-button>\n                }\n            </div>\n            <div\n                class=\"hotel-list--row\"\n                [ngClass]=\"\n                    collapsed[$index] ? 'hotel-list--row--collapsed' : ''\n                \"\n            >\n                @if (destiny.items.length) { @for (item of destiny.items; track\n                $index) {\n                <div class=\"hotel-list--column\">\n                    @if (item.title) {\n                    <div class=\"hotel-list--column--header\">\n                        <a\n                            [href]=\"item.title.url\"\n                            [routerLink]=\"item.title.url\"\n                            [attr.aria-label]=\"item.title.label\"\n                            (click)=\"\n                                elementClicked($event, item.title, 'destiny')\n                            \"\n                            class=\"hotel-list--column--title\"\n                        >\n                            {{ item.title.label }}\n                        </a>\n                    </div>\n                    } @if (item.hotels.length) {\n                    <div class=\"hotel-list--column--content\">\n                        @for (element of item.hotels; track $index) {\n                        <a\n                            [href]=\"element.btn.url\"\n                            [routerLink]=\"[element.btn.url]\"\n                            [attr.aria-label]=\"element.btn.label\"\n                            (click)=\"\n                                elementClicked($event, element.btn, 'hotel')\n                            \"\n                            class=\"hotel-list--column--element\"\n                        >\n                            <div class=\"hotel-list--column--text\">\n                                <span>{{ element.btn.label }}</span>\n                                <span\n                                    class=\"hotel-list--column--element--icon icon-pointer-down\"\n                                >\n                                </span>\n                            </div>\n                        </a>\n                        }\n                    </div>\n                    }\n                </div>\n\n                } }\n            </div>\n        </div>\n        }\n    </div>\n</div>\n","import { CommonModule } from '@angular/common';\nimport {\n    ChangeDetectionStrategy,\n    Component,\n    EventEmitter,\n    Input,\n    Output,\n} from '@angular/core';\nimport { MatDialog } from '@angular/material/dialog';\nimport { MatIconModule } from '@angular/material/icon';\nimport { RouterModule } from '@angular/router';\nimport { ButtonI } from '../../../../public-api';\nimport { ButtonComponent } from '../../atomic/button/button.component';\nimport { HotelListModalComponent } from '../modals/hotel-list-modal/hotel-list-modal.component';\n\n@Component({\n    selector: 'tent-header',\n    standalone: true,\n    imports: [CommonModule, MatIconModule, ButtonComponent, RouterModule],\n    templateUrl: './header.component.html',\n    styleUrl: './header.component.scss',\n    changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class HeaderComponent {\n    @Input() lang?: string;\n    @Input() scrolled?: boolean;\n    @Input({ required: true }) logo!: string;\n    @Input() navLinks?: NavLink[];\n    @Input() menuIcon?: string;\n    @Input() altLogo?: string;\n    @Input() rightButtons?: RightButtons;\n    @Input() btnBook?: ButtonI;\n\n    @Output() menuClick = new EventEmitter<void>();\n    @Output() languagesClick = new EventEmitter<void>();\n    @Output() newsletterClick = new EventEmitter<void>();\n    @Output() checkinClick = new EventEmitter<void>();\n    @Output() booksClick = new EventEmitter<void>();\n    @Output() motorClick = new EventEmitter<void>();\n    @Output() navLinkClick = new EventEmitter<NavLink>();\n\n    constructor(private readonly dialog: MatDialog) {}\n\n    openMotor(): void {\n        this.motorClick.emit();\n    }\n\n    navLinkClicked(event: Event, navLink?: NavLink): void {\n        event.preventDefault();\n        this.navLinkClick.emit(navLink);\n    }\n\n    isInternalLink(navLink: NavLink): boolean {\n        return navLink.type === 'internal';\n    }\n\n    openHotelList() {\n        const dialogRef = this.dialog.open(HotelListModalComponent, {\n            width: '100vw',\n            height: '100vh',\n            maxWidth: '100vw',\n            panelClass: ['full-screen', 'hotel-list'],\n            hasBackdrop: false,\n        });\n    }\n}\n\nexport interface NavLink {\n    label?: string;\n    url?: string;\n    icon?: string;\n    type: 'internal' | 'external' | 'component';\n    order: number;\n    componentId?: string;\n}\n\nexport interface RightButtons {\n    phone: RightBtn | undefined;\n    books: RightBtn | undefined;\n    newsletter: RightBtn | undefined;\n    checkin: RightBtn | undefined;\n    languages: RightBtn | undefined;\n}\n\nexport interface RightBtn {\n    icon?: string;\n    label: string;\n    url?: string;\n    comment?: string;\n}\n","<nav class=\"header\" [ngClass]=\"{ 'header--scrolled': scrolled }\">\n    <div class=\"header--left-slot\">\n        @if (logo) {\n            <a\n                (click)=\"navLinkClicked($event, navLinks![0])\"\n                [routerLink]=\"\n                    isInternalLink(navLinks![0]) ? [navLinks![0].url] : null\n                \"\n                [href]=\"navLinks![0].url\"\n                [attr.aria-label]=\"altLogo\"\n            >\n                <img\n                    class=\"header--logo\"\n                    [src]=\"logo\"\n                    [alt]=\"altLogo\"\n                    width=\"150\"\n                    height=\"100\"\n                    loading=\"lazy\"\n                />\n            </a>\n        }\n        @if (navLinks?.length) {\n            <div class=\"header--nav-links\">\n                @for (navLink of navLinks; track $index) {\n                    <a\n                        (click)=\"navLinkClicked($event, navLink)\"\n                        [routerLink]=\"\n                            isInternalLink(navLink) ? [navLink.url] : null\n                        \"\n                        [href]=\"navLink.url\"\n                        class=\"link color--brown\"\n                        [attr.aria-label]=\"navLink.label\"\n                        >{{ navLink.label }}</a\n                    >\n                }\n            </div>\n        }\n        @if (menuIcon) {\n            <div class=\"header--menu-btn\" (click)=\"menuClick.emit()\">\n                <mat-icon\n                    class=\"color--brown\"\n                    [ngClass]=\"menuIcon\"\n                    fontSet=\"icomoon\"\n                ></mat-icon>\n            </div>\n        }\n    </div>\n    @if (rightButtons && rightButtons.checkin) {\n        <div class=\"header--center-slot\">\n            <div class=\"header--check-in\" (click)=\"checkinClick.emit()\">\n                <span class=\"color--white\">{{\n                    rightButtons.checkin.label\n                }}</span>\n            </div>\n        </div>\n    }\n    @if (rightButtons) {\n        <div class=\"header--right-slot\">\n            <div data-mirai-component=\"session\"></div>\n\n            @if (rightButtons.phone) {\n                <a\n                    [href]=\"rightButtons.phone.url\"\n                    class=\"color--brown header--link-phone\"\n                    [attr.aria-label]=\"rightButtons.phone.label\"\n                >\n                    <mat-icon\n                        class=\"color--brown icon-phone-plus\"\n                        fontSet=\"icomoon\"\n                    ></mat-icon>\n                    <span>{{ rightButtons.phone.label }}</span>\n                </a>\n            }\n            @if (rightButtons.books) {\n                <span\n                    (click)=\"booksClick.emit()\"\n                    class=\"link color--brown header--books\"\n                >\n                    {{ rightButtons.books.label }}\n                </span>\n            }\n            @if (rightButtons.newsletter) {\n                <span class=\"header--mail\" (click)=\"newsletterClick.emit()\">\n                    <mat-icon\n                        class=\"color--brown\"\n                        [ngClass]=\"rightButtons.newsletter.icon\"\n                        fontSet=\"icomoon\"\n                    ></mat-icon>\n                    <span class=\"header--mail-comment\">\n                        {{ rightButtons.newsletter.comment }}\n                    </span>\n                </span>\n            }\n            @if (rightButtons.languages) {\n                <span\n                    (click)=\"languagesClick.emit()\"\n                    class=\"color--brown header--language\"\n                >\n                    {{ rightButtons.languages.label }}\n                    <span class=\"header--language-comment\">{{\n                        rightButtons.languages.comment\n                    }}</span></span\n                >\n            }\n            @if (menuIcon) {\n                <div class=\"header--menu-btn\" (click)=\"menuClick.emit()\">\n                    <mat-icon\n                        class=\"color--brown\"\n                        [ngClass]=\"menuIcon\"\n                        fontSet=\"icomoon\"\n                    ></mat-icon>\n                </div>\n            }\n            @if (btnBook || rightButtons.checkin) {\n                <div\n                    class=\"header--btn-book\"\n                    [ngClass]=\"{ 'header--btn-book--scrolled': scrolled }\"\n                >\n                    @if (btnBook) {\n                        <tent-button\n                            type=\"dark-box-filled\"\n                            [label]=\"btnBook.label\"\n                            (btnClick)=\"openMotor()\"\n                            [name]=\"btnBook.label\"\n                        ></tent-button>\n                    }\n                    @if (rightButtons.checkin) {\n                        <div\n                            class=\"header--check-in header--check-in--right\"\n                            (click)=\"checkinClick.emit()\"\n                        >\n                            <span class=\"color--white\">{{\n                                rightButtons.checkin.label\n                            }}</span>\n                        </div>\n                    }\n                </div>\n            }\n        </div>\n    }\n</nav>\n","import { CommonModule, isPlatformBrowser } from '@angular/common';\nimport {\n    AfterViewInit,\n    ChangeDetectionStrategy,\n    ChangeDetectorRef,\n    Component,\n    ElementRef,\n    Inject,\n    Input,\n    OnChanges,\n    PLATFORM_ID,\n    ViewChild,\n} from '@angular/core';\nimport {\n    DomSanitizer,\n    SafeResourceUrl,\n    SafeStyle,\n} from '@angular/platform-browser';\nimport { CarouselModule, OwlOptions } from 'ngx-owl-carousel-o';\nimport { Subject } from 'rxjs';\nimport { ButtonI } from '../../../interfaces/atomic/button.interface';\nimport { ImageI } from '../../../interfaces/atomic/image.interface';\nimport { BadgeComponent } from '../../atomic/badge/badge.component';\nimport { ButtonComponent } from '../../atomic/button/button.component';\n\ndeclare global {\n    interface Window {\n        YT: any;\n        onYouTubeIframeAPIReady: () => void;\n    }\n}\n\n@Component({\n    selector: 'tent-hotel-about',\n    standalone: true,\n    imports: [CommonModule, ButtonComponent, CarouselModule, BadgeComponent],\n    templateUrl: './hotel-about.component.html',\n    styleUrl: './hotel-about.component.scss',\n    changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class HotelAboutComponent implements OnChanges, AfterViewInit {\n    @Input() title?: string;\n    @Input() titleDark?: string;\n    @Input() description?: string;\n    @Input() additionalDescription?: string;\n    @Input() btnMore?: ButtonI;\n    @Input() btnLess?: ButtonI;\n    @Input() slides?: HotelAboutSlide[];\n\n    @ViewChild('videoIframe') videoIframe?: ElementRef<HTMLIFrameElement>;\n    private ytPlayer: any;\n    private ytApiLoaded = false;\n\n    sliderOptions: OwlOptions = {\n        loop: true,\n        autoplay: false,\n        autoplayTimeout: 5000,\n        autoplaySpeed: 1500,\n        navSpeed: 1500,\n        responsiveRefreshRate: 100,\n        margin: 0,\n        mouseDrag: true,\n        touchDrag: true,\n        pullDrag: true,\n        dots: false,\n        navText: [\n            '<div class=\"btn btn__circle btn__circle-- btn__dark\"><span class=\"btn__circle-icon icon-signal-left icon--size12 \"> </span></div>',\n            '<div class=\"btn btn__circle btn__circle-- btn__dark\"><span class=\"btn__circle-icon icon-signal-right icon--size12 \"> </span></div>',\n        ],\n        responsive: {\n            0: {\n                items: 1,\n            },\n            1680: {\n                items: 1,\n            },\n        },\n        nav: true,\n    };\n    collapsed1 = true;\n\n    videoId: string | null = null;\n    safeEmbedUrl?: SafeResourceUrl;\n    isPlaying = false;\n    carouselVisible = false;\n    isVideoVisible = false;\n\n    refresh$ = new Subject<void>();\n\n    constructor(\n        private readonly sanitizer: DomSanitizer,\n        private readonly cdr: ChangeDetectorRef,\n        @Inject(PLATFORM_ID) private platformId: Object\n    ) {}\n\n    ngAfterViewInit(): void {\n        if (!isPlatformBrowser(this.platformId)) return;\n        requestAnimationFrame(() => {\n            requestAnimationFrame(() => {\n                this.carouselVisible = true;\n                this.cdr.markForCheck();\n            });\n        });\n    }\n\n    ngOnChanges(): void {\n        if (!isPlatformBrowser(this.platformId)) return;\n        this.carouselVisible = false;\n        this.cdr.markForCheck();\n\n        const hasVideo = this.slides?.some((s) => this.isValidVideo(s.video));\n\n        this.sliderOptions = {\n            ...this.sliderOptions,\n            loop: !hasVideo,\n        };\n\n        if (hasVideo) {\n            this.reorderVideoFirst();\n        }\n\n        requestAnimationFrame(() => {\n            this.carouselVisible = true;\n            this.cdr.markForCheck();\n        });\n    }\n\n    toggleCollapse1(): void {\n        this.collapsed1 = !this.collapsed1;\n    }\n\n    getImageUrl(image: string): SafeStyle {\n        return this.sanitizer.bypassSecurityTrustStyle(\n            `background-image: url(${image})`\n        );\n    }\n\n    private setupVideo(url: string): void {\n        if (!isPlatformBrowser(this.platformId)) return;\n        const id = this.extractVideoId(url);\n        if (!id) return;\n\n        this.videoId = id;\n\n        const embed = `https://www.youtube.com/embed/${id}\n            ?autoplay=1\n            &controls=0\n            &modestbranding=1\n            &rel=0\n            &playsinline=1\n            &iv_load_policy=3\n            &fs=0\n            &disablekb=1\n            &enablejsapi=1\n            &origin=${location.origin}\n        `.replace(/\\s+/g, '');\n\n        this.safeEmbedUrl =\n            this.sanitizer.bypassSecurityTrustResourceUrl(embed);\n    }\n\n    onPlayVideo(event: Event): void {\n        event.preventDefault();\n        event.stopPropagation();\n        event.stopImmediatePropagation();\n\n        // 🔥 RECONSTRUIR SIEMPRE EL EMBED\n        if (this.slides?.[0]?.video) {\n            this.setupVideo(this.slides[0].video);\n        }\n\n        this.isPlaying = true;\n        this.isVideoVisible = true;\n\n        this.sliderOptions = {\n            ...this.sliderOptions,\n            mouseDrag: false,\n            touchDrag: false,\n        };\n\n        this.cdr.markForCheck();\n\n        // Esperar a que el iframe exista en el DOM\n        setTimeout(() => this.loadYoutubeApi(), 0);\n    }\n\n    isValidVideo(video: any): boolean {\n        if (typeof video !== 'string') return false;\n        const clean = video.trim();\n        if (!clean) return false;\n        return !!this.extractVideoId(clean);\n    }\n\n    private extractVideoId(url: string): string | null {\n        if (!url.startsWith('http')) url = 'https://' + url;\n\n        try {\n            const u = new URL(url);\n            const v = u.searchParams.get('v');\n            if (v && v.length === 11) return v;\n\n            const short = u.pathname.match(/\\/([^\\/\\?]{11})/);\n            if (short) return short[1];\n\n            const embed = u.pathname.match(/embed\\/([^\\/\\?]{11})/);\n            if (embed) return embed[1];\n\n            return null;\n        } catch {\n            return null;\n        }\n    }\n\n    private reorderVideoFirst(): void {\n        if (!this.slides?.length) return;\n\n        const videoIndex = this.slides.findIndex((slide) =>\n            this.isValidVideo(slide.video)\n        );\n\n        if (videoIndex > 0) {\n            const [videoSlide] = this.slides.splice(videoIndex, 1);\n            this.slides.unshift(videoSlide);\n        }\n    }\n\n    private loadYoutubeApi(): void {\n        if (!isPlatformBrowser(this.platformId)) return;\n        if (this.ytApiLoaded) {\n            this.initYoutubePlayer();\n            return;\n        }\n\n        const script = document.createElement('script');\n        script.src = 'https://www.youtube.com/iframe_api';\n        document.body.appendChild(script);\n\n        window.onYouTubeIframeAPIReady = () => {\n            this.ytApiLoaded = true;\n            this.initYoutubePlayer();\n        };\n    }\n\n    private initYoutubePlayer(): void {\n        if (!isPlatformBrowser(this.platformId)) return;\n        if (!this.videoIframe?.nativeElement) return;\n\n        this.ytPlayer = new window.YT.Player(this.videoIframe.nativeElement, {\n            events: {\n                onStateChange: (event: any) => {\n                    if (event.data === window.YT.PlayerState.ENDED) {\n                        this.onVideoEnded();\n                    }\n                },\n            },\n        });\n    }\n\n    private onVideoEnded(): void {\n        // Ocultamos visualmente\n        this.isVideoVisible = false;\n        this.isPlaying = false;\n        this.cdr.markForCheck();\n\n        // Limpieza real\n        setTimeout(() => {\n            this.safeEmbedUrl = undefined;\n            this.ytPlayer = null;\n\n            this.sliderOptions = {\n                ...this.sliderOptions,\n                mouseDrag: true,\n                touchDrag: true,\n            };\n\n            this.cdr.markForCheck();\n        }, 0);\n    }\n}\n\nexport interface HotelAboutSlide {\n    image: ImageI;\n    badge: string;\n    video?: string;\n}\n","<section class=\"hotel-about module-spacer--bottom\">\n    <div class=\"hotel-about--content wrapper-big\">\n        <div class=\"hotel-about--box\">\n            <ng-container *ngIf=\"carouselVisible\">\n                <owl-carousel-o\n                    class=\"hotel-about--slider slider-circle--center\"\n                    [options]=\"sliderOptions\"\n                >\n                    @for (slide of slides; track $index) {\n                        <ng-template carouselSlide>\n                            <!-- ================= VIDEO SOLO EN SLIDE 0 ================= -->\n                            @if (\n                                $index === 0 &&\n                                slide.video &&\n                                isValidVideo(slide.video)\n                            ) {\n                                <div\n                                    class=\"hotel-about--photo video-item figure-content\"\n                                >\n                                    <ng-container\n                                        *ngIf=\"!isPlaying; else iframeTpl\"\n                                    >\n                                        <figure\n                                            class=\"figure-full video-thumb\"\n                                            [style]=\"\n                                                getImageUrl(slide.image.src)\n                                            \"\n                                        ></figure>\n\n                                        <button\n                                            class=\"video-play-btn\"\n                                            type=\"button\"\n                                            (mousedown)=\"onPlayVideo($event)\"\n                                            (touchstart)=\"onPlayVideo($event)\"\n                                        >\n                                            <svg\n                                                width=\"50\"\n                                                height=\"50\"\n                                                viewBox=\"0 0 50 50\"\n                                                fill=\"none\"\n                                                xmlns=\"http://www.w3.org/2000/svg\"\n                                            >\n                                                <g\n                                                    filter=\"url(#filter0_d_2054_3)\"\n                                                >\n                                                    <path\n                                                        d=\"M41.5 17.2672C45.5 19.5766 45.5 25.3501 41.5 27.6595L13 44.114C9 46.4234 4 43.5367 4 38.9179L4 6.00889C4 1.39009 9 -1.49666 13 0.812744L41.5 17.2672Z\"\n                                                        fill=\"white\"\n                                                    />\n                                                </g>\n                                                <defs>\n                                                    <filter\n                                                        id=\"filter0_d_2054_3\"\n                                                        x=\"0\"\n                                                        y=\"0\"\n                                                        width=\"48.5\"\n                                                        height=\"52.9268\"\n                                                        filterUnits=\"userSpaceOnUse\"\n                                                        color-interpolation-filters=\"sRGB\"\n                                                    >\n                                                        <feFlood\n                                                            flood-opacity=\"0\"\n                                                            result=\"BackgroundImageFix\"\n                                                        />\n                                                        <feColorMatrix\n                                                            in=\"SourceAlpha\"\n                                                            type=\"matrix\"\n                                                            values=\"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0\"\n                                                            result=\"hardAlpha\"\n                                                        />\n                                                        <feOffset dy=\"4\" />\n                                                        <feGaussianBlur\n                                                            stdDeviation=\"2\"\n                                                        />\n                                                        <feComposite\n                                                            in2=\"hardAlpha\"\n                                                            operator=\"out\"\n                                                        />\n                                                        <feColorMatrix\n                                                            type=\"matrix\"\n                                                            values=\"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.25 0\"\n                                                        />\n                                                        <feBlend\n                                                            mode=\"normal\"\n                                                            in2=\"BackgroundImageFix\"\n                                                            result=\"effect1_dropShadow_2054_3\"\n                                                        />\n                                                        <feBlend\n                                                            mode=\"normal\"\n                                                            in=\"SourceGraphic\"\n                                                            in2=\"effect1_dropShadow_2054_3\"\n                                                            result=\"shape\"\n                                                        />\n                                                    </filter>\n                                                </defs>\n                                            </svg>\n                                        </button>\n                                    </ng-container>\n\n                                    <ng-template #iframeTpl>\n                                        <iframe\n                                            #videoIframe\n                                            class=\"video-iframe\"\n                                            *ngIf=\"safeEmbedUrl && isVideoVisible\"\n                                            [src]=\"safeEmbedUrl\"\n                                            frameborder=\"0\"\n                                            allow=\"autoplay; encrypted-media; picture-in-picture\"\n                                            sandbox=\"allow-scripts allow-same-origin allow-presentation\"\n                                        ></iframe>\n                                    </ng-template>\n\n                                    @if (slide.badge) {\n                                        <tent-badge\n                                            class=\"hotel-about--badget\"\n                                            [rounded]=\"true\"\n                                            [label]=\"slide.badge\"\n                                        ></tent-badge>\n                                    }\n                                </div>\n                            } @else {\n                                <!-- ================= SLIDE NORMAL ================= -->\n                                <div class=\"hotel-about--photo figure-content\">\n                                    <figure\n                                        class=\"figure-full\"\n                                        [style]=\"getImageUrl(slide.image.src)\"\n                                    ></figure>\n\n                                    @if (slide.badge) {\n                                        <tent-badge\n                                            class=\"hotel-about--badget\"\n                                            [rounded]=\"true\"\n                                            [label]=\"slide.badge\"\n                                        ></tent-badge>\n                                    }\n                                </div>\n                            }\n                        </ng-template>\n                    }\n                </owl-carousel-o>\n            </ng-container>\n            <div\n                class=\"hotel-about--info\"\n                [ngClass]=\"collapsed1 ? 'close' : 'open'\"\n            >\n                <div class=\"hotel-about--info--inner\">\n                    @if (title) {\n                        <h2\n                            class=\"hotel-about--info--title title--60 color--brown\"\n                        >\n                            {{ title }}\n                            @if (titleDark) {\n                                <span class=\"color--camel\">{{\n                                    titleDark\n                                }}</span>\n                            }\n                        </h2>\n                    }\n                    <div class=\"hotel-about--info--des\">\n                        @if (description) {\n                            <p class=\"text\">\n                                {{ description }}\n                            </p>\n                        }\n                        @if (additionalDescription) {\n                            <p class=\"text text-more\">\n                                {{ additionalDescription }}\n                            </p>\n                        }\n                        @if (btnMore && btnLess) {\n                            <div class=\"hotel-about--btns\">\n                                @if (btnMore) {\n                                    <tent-button\n                                        class=\"btn-more\"\n                                        type=\"dark-link\"\n                                        [label]=\"btnMore.label\"\n                                        (click)=\"toggleCollapse1()\"\n                                        [name]=\"btnMore.label\"\n                                    ></tent-button>\n                                }\n                                @if (btnLess) {\n                                    <tent-button\n                                        class=\"btn-minus\"\n                                        type=\"dark-link\"\n                                        [label]=\"btnLess.label\"\n                                        (click)=\"toggleCollapse1()\"\n                                        [name]=\"btnLess.label\"\n                                    ></tent-button>\n                                }\n                            </div>\n                        }\n                    </div>\n                </div>\n            </div>\n        </div>\n    </div>\n</section>\n","import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, Input } from '@angular/core';\nimport { ButtonComponent } from '../../atomic/button/button.component';\nimport { ButtonI } from '../../../interfaces/atomic/button.interface';\nimport { ImageI } from '../../../interfaces/atomic/image.interface';\n\n@Component({\n    selector: 'tent-hotel-app',\n    standalone: true,\n    imports: [CommonModule, ButtonComponent],\n    templateUrl: './hotel-app.component.html',\n    styleUrl: './hotel-app.component.scss',\n    changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class HotelAppComponent {\n    @Input() title?: string;\n    @Input() titleDark?: string;\n    @Input() description?: string;\n    @Input() ndTitle?: string;\n    @Input() img?: ImageI;\n    @Input() buttons?: ButtonI[];\n    @Input() items?: HotelAppItem[];\n}\n\nexport interface HotelAppItem {\n    title: string;\n    icon: string;\n}\n","<section class=\"hotel-app module-spacer--bottom\">\n    <div class=\"hotel-app--content wrapper-big\">\n        <div class=\"hotel-app--box\">\n            @if (title) {\n            <header class=\"hotel-app--header\">\n                <h2 class=\"hotel-app--title title--60 color--camel\">\n                    {{ title }}\n                </h2>\n                @if (titleDark) {\n                <h2 class=\"hotel-app--title title--60 color--brown\">\n                    {{ titleDark }}\n                </h2>\n                }\n            </header>\n            }\n            <div class=\"hotel-app--list\">\n                @if (img) {\n                <img\n                    class=\"hotel-app--image\"\n                    [src]=\"img.src\"\n                    loading=\"lazy\"\n                    alt=\"app\"\n                    width=\"400\"\n                    height=\"650\"\n                />\n                } @if (description) {\n                <p class=\"hotel-app--description text\">\n                    {{ description }}\n                </p>\n                } @if (ndTitle) {\n                <h3 class=\"hotel-app--nd-title title--30 color--brown-70\">\n                    {{ ndTitle }}\n                </h3>\n                } @if (buttons) {\n                <div class=\"hotel-app--buttons\">\n                    <tent-button\n                        type=\"dark-box\"\n                        icon=\"icon-apple\"\n                        iconPosition=\"left\"\n                        [label]=\"buttons[0].label\"\n                        [url]=\"buttons[0].url\"\n                        [linkType]=\"buttons[0].linkType\"\n                    ></tent-button>\n                    <tent-button\n                        type=\"dark-box\"\n                        icon=\"icon-google-play\"\n                        iconPosition=\"left\"\n                        [label]=\"buttons[1].label\"\n                        [url]=\"buttons[1].url\"\n                        [linkType]=\"buttons[1].linkType\"\n                    ></tent-button>\n                </div>\n                } @if (items?.length) {\n                <ul class=\"hotel-app--info\">\n                    @for (item of items; track $index) {\n                    <li class=\"hotel-app--info--element\">\n                        <div class=\"hotel-app--info--element--icon--wrapper\">\n                            <span\n                                class=\"hotel-app--info--element--icon\"\n                                [ngClass]=\"item.icon\"\n                            >\n                            </span>\n                        </div>\n                        <span class=\"hotel-app--info--element--text text\">\n                            {{ item.title }}\n                        </span>\n                    </li>\n                    }\n                </ul>\n                }\n            </div>\n        </div>\n    </div>\n</section>\n","import { CommonModule, isPlatformBrowser } from '@angular/common';\nimport {\n    AfterViewInit,\n    ChangeDetectionStrategy,\n    Component,\n    Inject,\n    Input,\n    OnInit,\n    PLATFORM_ID,\n} from '@angular/core';\nimport { fromEvent, tap } from 'rxjs';\nimport { ButtonI } from '../../../interfaces/atomic/button.interface';\nimport { ButtonComponent } from '../../atomic/button/button.component';\n@Component({\n    selector: 'tent-hotel-equipment',\n    standalone: true,\n    imports: [CommonModule, ButtonComponent],\n    templateUrl: './hotel-equipment.component.html',\n    styleUrl: './hotel-equipment.component.scss',\n    changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class HotelEquipmentComponent implements OnInit, AfterViewInit {\n    @Input() items?: HotelEquipmentItem[];\n    @Input() itemsBelow?: HotelEquipmentItem[];\n    @Input() title?: string;\n    @Input() btnMore?: ButtonI;\n    @Input() btnLess?: ButtonI;\n\n    collapsed1 = true;\n\n    itemsToShow = 6;\n\n    constructor(@Inject(PLATFORM_ID) private platformId: Object) {}\n\n    ngOnInit(): void {\n        if (!isPlatformBrowser(this.platformId)) return;\n        this.itemsToShow = window.innerWidth >= 1680 ? 6 : 4;\n    }\n\n    ngAfterViewInit(): void {\n        if (!isPlatformBrowser(this.platformId)) return;\n        fromEvent(window, 'resize')\n            .pipe(\n                tap(() => {\n                    this.itemsToShow = window.innerWidth >= 1680 ? 6 : 4;\n                })\n            )\n            .subscribe();\n    }\n\n    toggleCollapse1(): void {\n        this.collapsed1 = !this.collapsed1;\n    }\n    collapsed2 = true;\n    toggleCollapse2(): void {\n        this.collapsed2 = !this.collapsed2;\n    }\n}\n\nexport interface HotelEquipmentItem {\n    title: string;\n    icon: string;\n    alt: string;\n}\n","<section class=\"hotel-benefits module-spacer--bottom\">\n    <div class=\"hotel-benefits--content wrapper-big\">\n        <div class=\"hotel-benefits--box\">\n            <div\n                class=\"hotel-benefits--equipament\"\n                [ngClass]=\"collapsed1 ? 'close' : 'open'\"\n            >\n                @if (title) {\n                <div class=\"hotel-benefits--info\">\n                    <h2 class=\"hotel-benefits--title title--60 color--brown\">\n                        {{ title }}\n                    </h2>\n                </div>\n                } @if (items?.length) {\n                <div class=\"hotel-benefits--list\">\n                    @for (item of items; track $index) {\n                    <div class=\"hotel-benefits--item bg-beige\">\n                        <div class=\"hotel-benefits--item--inner\">\n                            @if (item.title) {\n                            <h3\n                                class=\"title--24 color--brown-70\"\n                                [innerHTML]=\"item.title\"\n                            ></h3>\n                            } @if (item.icon) {\n                            <span\n                                [ngClass]=\"item.icon\"\n                                class=\"hotel-benefits--icon\"\n                            ></span>\n                            }\n                        </div>\n                    </div>\n                    }\n                </div>\n                } @if (btnMore && btnLess && (items?.length ?? 4) > itemsToShow)\n                {\n                <div class=\"hotel-benefits--btns\">\n                    <tent-button\n                        class=\"btn-more\"\n                        type=\"dark-link\"\n                        [label]=\"btnMore.label\"\n                        (click)=\"toggleCollapse1()\"\n                        [name]=\"btnMore.label\"\n                    ></tent-button>\n\n                    <tent-button\n                        class=\"btn-minus\"\n                        type=\"dark-link\"\n                        [label]=\"btnLess.label\"\n                        (click)=\"toggleCollapse1()\"\n                        [name]=\"btnLess.label\"\n                    ></tent-button>\n                </div>\n                }\n            </div>\n            @if (itemsBelow?.length) {\n            <div\n                class=\"hotel-benefits--services\"\n                [ngClass]=\"collapsed2 ? 'close' : 'open'\"\n            >\n                <ul class=\"hotel-benefits--services--list\">\n                    @for (item of itemsBelow; track $index) {\n                    <li>\n                        <span [ngClass]=\"item.icon\"></span>\n                        <p class=\"text\">{{ item.title }}</p>\n                    </li>\n                    }\n                </ul>\n                @if (btnMore && btnLess) {\n                <div class=\"hotel-benefits--btns\">\n                    <tent-button\n                        class=\"btn-more\"\n                        type=\"dark-link\"\n                        [label]=\"btnMore.label\"\n                        (click)=\"toggleCollapse2()\"\n                        [name]=\"btnMore.label\"\n                    ></tent-button>\n\n                    <tent-button\n                        class=\"btn-minus\"\n                        type=\"dark-link\"\n                        [label]=\"btnLess.label\"\n                        (click)=\"toggleCollapse2()\"\n                        [name]=\"btnLess.label\"\n                    ></tent-button>\n                </div>\n                }\n            </div>\n\n            }\n        </div>\n    </div>\n</section>\n","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ButtonComponent } from '../../atomic/button/button.component';\nimport { ButtonI } from '../../../../public-api';\nimport { DomSanitizer, SafeStyle } from '@angular/platform-browser';\n@Component({\n    selector: 'tent-hotel-location',\n    standalone: true,\n    imports: [CommonModule, ButtonComponent],\n    templateUrl: './hotel-location.component.html',\n    styleUrl: './hotel-location.component.scss',\n    changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class HotelLocationComponent {\n    @Input() title?: string;\n    @Input() description?: string;\n    @Input() subtitle?: string;\n    @Input() image?: string;\n    @Input() items?: HotelLocationsItem[];\n    @Input() btnMore?: ButtonI;\n    @Input() btnLess?: ButtonI;\n    @Input() address?: string;\n    @Input() linkMap?: string;\n    collapsed = true;\n\n    get getImageUrl(): SafeStyle {\n        return this.sanitizer.bypassSecurityTrustStyle(\n            `background-image: url(${this.image})`\n        );\n    }\n\n    constructor(private readonly sanitizer: DomSanitizer) {}\n\n    toggleCollapse(): void {\n        this.collapsed = !this.collapsed;\n    }\n}\n\nexport interface HotelLocationsItem {\n    title: string;\n    icon: string;\n}\n","<section class=\"hotel-location module-spacer--bottom\">\n    <div\n        class=\"hotel-location--content wrapper-big\"\n        [ngClass]=\"collapsed ? 'close' : 'open'\"\n    >\n        <div class=\"hotel-location--inner\">\n            <div class=\"hotel-location--inner--left\">\n                @if (title) {\n                <h3 class=\"hotel-location--tit title--60 color--brown\">\n                    {{ title }}\n                </h3>\n                } @if (description) {\n                <p class=\"text\">\n                    {{ description }}\n                </p>\n                }\n            </div>\n            <div class=\"hotel-location--inner--right\">\n                @if (subtitle) {\n                <h4 class=\"hotel-location--subtit title--24 color--brown-70\">\n                    {{ subtitle }}\n                </h4>\n                } @if (items) {\n                <ul class=\"hotel-location--list\">\n                    @for (item of items; track $index) {\n                    <li>\n                        <span class=\"hotel-location--icon\">\n                            <span\n                                class=\"hotel-location--iconsvg\"\n                                [ngClass]=\"item.icon\"\n                            ></span>\n                        </span>\n                        <p class=\"text\">{{ item.title }}</p>\n                    </li>\n\n                    }\n                </ul>\n\n                }\n            </div>\n            @if (btnMore && btnLess) {\n            <div class=\"hotel-location--btns\">\n                <tent-button\n                    class=\"btn-more\"\n                    type=\"dark-link\"\n                    [label]=\"btnMore.label\"\n                    (click)=\"toggleCollapse()\"\n                    [name]=\"btnMore.label\"\n                ></tent-button>\n                <tent-button\n                    class=\"btn-minus\"\n                    type=\"dark-link\"\n                    [label]=\"btnLess.label\"\n                    (click)=\"toggleCollapse()\"\n                    [name]=\"btnLess.label\"\n                ></tent-button>\n            </div>\n            } @if (image) {\n            <div class=\"hotel-location--maps\">\n                <a\n                    class=\"hotel-location--photo figure-content\"\n                    [href]=\"linkMap\"\n                    target=\"_blank\"\n                    [attr.aria-label]=\"linkMap\"\n                >\n                    <figure class=\"figure-full\" [style]=\"getImageUrl\"></figure>\n                </a>\n                <ul class=\"hotel-location--maps--address\">\n                    <li>\n                        <span class=\"hotel-location--icon icon-home\"></span>\n                        <span class=\"text\" [innerHTML]=\"address\"> </span>\n                    </li>\n                </ul>\n            </div>\n            }\n        </div>\n    </div>\n</section>\n","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\nimport { DomSanitizer, SafeStyle } from '@angular/platform-browser';\nimport { RouterModule } from '@angular/router';\nimport { LazyBackgroundDirective } from '../../../directives/lazy-background.directive';\nimport { ButtonI } from '../../../interfaces/atomic/button.interface';\nimport { ButtonComponent } from '../../atomic/button/button.component';\n\n@Component({\n    selector: 'tent-hotel-services',\n    standalone: true,\n    imports: [ButtonComponent, RouterModule, LazyBackgroundDirective],\n    templateUrl: './hotel-services.component.html',\n    styleUrl: './hotel-services.component.scss',\n    changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class HotelServicesComponent {\n    @Input() title!: string;\n    @Input() titleDark!: string;\n    @Input() items!: HotelServicesItem[];\n\n    constructor(private readonly sanitizer: DomSanitizer) {}\n\n    getImage(image: string): SafeStyle {\n        return this.sanitizer.bypassSecurityTrustStyle(\n            `background-image: url(${image})`\n        );\n    }\n\n    itemClicked(event: Event): void {\n        event.preventDefault();\n    }\n}\n\nexport interface HotelServicesItem {\n    image: string;\n    title?: string;\n    subtitle?: string;\n    description?: string;\n    buttons?: ButtonI[];\n}\n","<section class=\"hotel-intro wrapper-big module-spacer--bottom\">\n    <div class=\"hotel-intro--content\">\n        <h2 class=\"hotel-intro--title title--80 color--camel\">\n            {{ title }}\n            <span class=\"color--brown\">{{ titleDark }}</span>\n        </h2>\n    </div>\n    <div class=\"hotel-intro--services\">\n        @for (item of items; track $index) {\n        <div class=\"hotel-intro--service\">\n            <a\n                class=\"hotel-intro--photo figure-content figure-zoom\"\n                [href]=\"item.buttons?.[0]?.url\"\n                [routerLink]=\"item.buttons?.[0]?.url\"\n                [attr.aria-label]=\"item.buttons?.[0]?.url\"\n                (click)=\"itemClicked($event)\"\n            >\n                <figure\n                    class=\"figure-full\"\n                    [lazyBackground]=\"item.image\"\n                ></figure>\n            </a>\n            <div class=\"hotel-intro--info pt--10\">\n                <h3 class=\"hotel-intro--title title--42 color--brown\">\n                    {{ item.title }}\n\n                    @if (item.subtitle) {\n                    <span class=\"title--24 color--camel\">{{\n                        item.subtitle\n                    }}</span>\n                    }\n                </h3>\n                <p class=\"hotel-intro--text text color--gray1\">\n                    {{ item.description }}\n                </p>\n                @if (item.buttons) {\n                <div class=\"hotel-intro--btns flex-row flex-row--left pt--20\">\n                    @for (btn of item.buttons; track $index) {\n                    <tent-button\n                        type=\"dark-link\"\n                        [url]=\"btn.url\"\n                        [linkType]=\"btn.linkType!\"\n                        [icon]=\"btn.icon\"\n                        [iconPosition]=\"btn.iconPosition\"\n                        [label]=\"btn.label\"\n                        [name]=\"btn.label\"\n                    ></tent-button>\n\n                    }\n                </div>\n\n                }\n            </div>\n        </div>\n\n        }\n    </div>\n</section>\n","import {\n    ChangeDetectionStrategy,\n    Component,\n    EventEmitter,\n    Input,\n    OnInit,\n    Output,\n} from '@angular/core';\nimport { DomSanitizer, SafeStyle } from '@angular/platform-browser';\nimport { CarouselModule, OwlOptions } from 'ngx-owl-carousel-o';\nimport { LazyBackgroundDirective } from '../../../directives/lazy-background.directive';\nimport { BadgeI } from '../../../interfaces/atomic/badge.interface';\nimport { ButtonI } from '../../../interfaces/atomic/button.interface';\nimport { BadgeComponent } from '../../atomic/badge/badge.component';\nimport { ButtonComponent } from '../../atomic/button/button.component';\n@Component({\n    selector: 'tent-hotel-slider',\n    standalone: true,\n    imports: [\n        ButtonComponent,\n        CarouselModule,\n        BadgeComponent,\n        LazyBackgroundDirective,\n    ],\n    templateUrl: './hotel-slider.component.html',\n    styleUrl: './hotel-slider.component.scss',\n    changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class HotelSliderComponent implements OnInit {\n    @Input() iconControlLeft = 'icon-signal-left';\n    @Input() iconControlRight = 'icon-signal-right';\n    @Input() title?: string;\n    @Input() titleDark?: string;\n    @Input() items?: HotelSliderItem[];\n\n    @Output() hotelClick = new EventEmitter<HotelSliderItem>();\n\n    sliderOptions: OwlOptions = {\n        loop: true,\n        autoplay: false,\n        autoplayTimeout: 5000,\n        autoplaySpeed: 1500,\n        navSpeed: 1500,\n        responsiveRefreshRate: 100,\n        margin: 0,\n        mouseDrag: true,\n        touchDrag: true,\n        pullDrag: true,\n        dots: false,\n        responsive: {\n            0: {\n                items: 1,\n            },\n            1024: {\n                items: 1,\n            },\n            1680: {\n                items: 1,\n            },\n        },\n        nav: true,\n    };\n\n    constructor(private readonly sanitizer: DomSanitizer) {}\n\n    ngOnInit(): void {\n        this.sliderOptions.navText = [\n            `<div class=\"btn btn__circle btn__circle-- btn__dark\"><span class=\"btn__circle-icon ${this.iconControlLeft} icon--size12 \"> <span><div>`,\n            `<div class=\"btn btn__circle btn__circle-- btn__dark\"><span class=\"btn__circle-icon ${this.iconControlRight} icon--size12 \"> <span><div>`,\n        ];\n    }\n\n    getImage(image: string): SafeStyle {\n        return this.sanitizer.bypassSecurityTrustStyle(\n            `background-image: url(${image})`\n        );\n    }\n}\n\nexport interface HotelSliderItem {\n    id: string | number;\n    image: string;\n    title: string;\n    description: string;\n    ndTitle?: string;\n    badge: BadgeI;\n    buttons: ButtonI[];\n    ticker?: string;\n}\n","<section class=\"hotel-slider module-spacer--bottom\">\n    <div class=\"hotel-slider--content wrapper-big\">\n        @if (title) {\n            <div class=\"hotel-slider--head\">\n                <h3 class=\"hotel-slider--title title--80 color--camel\">\n                    {{ title }}\n                    <span class=\"color--brown\">{{ titleDark }}</span>\n                </h3>\n            </div>\n        }\n        @if (items?.length) {\n            <div class=\"hotel-slider--inner\">\n                <owl-carousel-o\n                    class=\"hotel-slider--slider slider-circle--center\"\n                    [options]=\"sliderOptions\"\n                >\n                    @for (item of items; track $index) {\n                        <ng-template carouselSlide>\n                            <div class=\"hotel-slider--slide\">\n                                @if (item.image) {\n                                    <div class=\"hotel-slider--img\">\n                                        <div\n                                            class=\"hotel-slider--photo figure-content\"\n                                        >\n                                            <figure\n                                                class=\"figure-full\"\n                                                [lazyBackground]=\"item.image\"\n                                            ></figure>\n                                        </div>\n                                    </div>\n                                }\n                                <div class=\"hotel-slider--des\">\n                                    <!--  @if (item.badge) {\n                            <tent-badge\n                                class=\"hotel-slider--badget\"\n                                [rounded]=\"true\"\n                                [label]=\"item.badge.label\"\n                            ></tent-badge>\n                            }  -->\n                                    @if (item.title) {\n                                        <h4\n                                            class=\"hotel-slider--slideTitle color--brown title--80\"\n                                        >\n                                            {{ item.title }}\n                                            @if (item.ndTitle) {\n                                                <span class=\"color--brown\">{{\n                                                    item.ndTitle\n                                                }}</span>\n                                            }\n                                        </h4>\n                                    }\n                                    @if (item.description) {\n                                        <p class=\"text\">\n                                            {{ item.description }}\n                                        </p>\n                                    }\n                                    @if (item.buttons.length) {\n                                        <div class=\"hotel-slider--btns pt--20\">\n                                            @for (\n                                                btn of item.buttons;\n                                                track $index\n                                            ) {\n                                                <tent-button\n                                                    [type]=\"btn.type!\"\n                                                    [icon]=\"btn.icon\"\n                                                    [iconPosition]=\"\n                                                        btn.iconPosition\n                                                    \"\n                                                    [label]=\"btn.label\"\n                                                    [url]=\"btn.url\"\n                                                    [linkType]=\"btn.linkType!\"\n                                                    (btnClick)=\"\n                                                        hotelClick.emit(item)\n                                                    \"\n                                                ></tent-button>\n                                            }\n                                        </div>\n                                    }\n                                </div>\n                            </div>\n                        </ng-template>\n                    }\n                </owl-carousel-o>\n            </div>\n        }\n    </div>\n</section>\n","import { Pipe, PipeTransform } from '@angular/core';\n\nconst CURRENCY_SYMBOLS: { [key: string]: string } = {\n  USD: '$',\n  EUR: '€',\n  GBP: '£',\n  JPY: '¥',\n  AUD: 'A$',\n  CAD: 'C$',\n  CHF: 'CHF',\n  CNY: '¥',\n  SEK: 'kr',\n  NZD: 'NZ$',\n};\n\n@Pipe({\n  name: 'currencySymbol',\n  standalone: true,\n})\nexport class CurrencyPipe implements PipeTransform {\n  transform(value: string): string {\n    return CURRENCY_SYMBOLS[value] || value;\n  }\n}\n","import { CommonModule } from '@angular/common';\nimport {\n    ChangeDetectionStrategy,\n    Component,\n    EventEmitter,\n    Input,\n    OnChanges,\n    OnInit,\n    Output,\n    SimpleChanges,\n} from '@angular/core';\nimport { DomSanitizer, SafeStyle } from '@angular/platform-browser';\nimport { ButtonI } from '../../../interfaces/atomic/button.interface';\nimport { CurrencyPipe } from '../../../pipes/currency.pipe';\nimport { ButtonComponent } from '../../atomic/button/button.component';\nimport { RouterModule } from '@angular/router';\n@Component({\n    selector: 'tent-hotels-list',\n    standalone: true,\n    imports: [CommonModule, ButtonComponent, CurrencyPipe, RouterModule],\n    templateUrl: './hotels-list.component.html',\n    styleUrl: './hotels-list.component.scss',\n    changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class HotelsListComponent implements OnInit, OnChanges {\n    @Input() infoTitle?: string;\n    @Input() infoTitleDark?: string;\n    @Input() infoDescription?: string;\n    @Input() links?: ButtonI[];\n    @Input() items?: HotelsListItem[];\n\n    @Output() hotelClick = new EventEmitter<HotelsListItem>();\n\n    collapsed?: boolean[];\n\n    constructor(private readonly sanitizer: DomSanitizer) {}\n\n    ngOnInit(): void {\n        this.collapsed = new Array(this.items?.length).fill(true);\n        this.items?.sort((a, b) => {\n            const subtitleA = a.subtitle ? a.subtitle.toLowerCase() : '';\n            const subtitleB = b.subtitle ? b.subtitle.toLowerCase() : '';\n            const destinyA = a.parentDestiny ? Number(a.parentDestiny) : 0;\n            const destinyB = b.parentDestiny ? Number(b.parentDestiny) : 0;\n            return destinyA < destinyB\n                ? -1\n                : destinyA > destinyB\n                ? 1\n                : subtitleA < subtitleB\n                ? -1\n                : subtitleA > subtitleB\n                ? 1\n                : 0;\n        });\n    }\n\n    ngOnChanges(changes: SimpleChanges): void {\n        if (changes?.['items']?.currentValue) {\n            this.collapsed = new Array(this.items?.length).fill(true);\n            this.items?.sort((a, b) => {\n                const subtitleA = a.subtitle ? a.subtitle.toLowerCase() : '';\n                const subtitleB = b.subtitle ? b.subtitle.toLowerCase() : '';\n                return subtitleA < subtitleB\n                    ? -1\n                    : subtitleA > subtitleB\n                    ? 1\n                    : 0;\n            });\n        }\n    }\n\n    getImage(image: string): SafeStyle {\n        return this.sanitizer.bypassSecurityTrustStyle(\n            `background-image: url(${image})`\n        );\n    }\n\n    toggleCollapse(index: number): void {\n        if (this.collapsed?.length) {\n            const itemCollapse = this.collapsed[index];\n            this.collapsed.fill(true);\n            this.collapsed[index] = !itemCollapse;\n        }\n    }\n}\n\nexport interface HotelsListItem {\n    title?: string;\n    ndTitle?: string;\n    subtitle?: string;\n    description?: string;\n    additionalDescription?: string;\n    priceTitle?: string;\n    priceSubtitle?: string;\n    price?: string | number;\n    currency?: string;\n    image?: string;\n    services?: string[];\n    button?: ButtonI;\n    hotelUrl?: string;\n    destinyId?: string | number;\n    parentDestiny?: string | number;\n    id: number;\n}\n","@if (items?.length) {\n<section class=\"hotels-list module-spacer--bottom\">\n    <div class=\"hotels-list--content wrapper-big\">\n        <div class=\"hotels-list--inner\">\n            @for (item of items; track mainIndex; let mainIndex = $index) {\n            <div class=\"hotels-list--item\">\n                @if (item.image) {\n                <a\n                    [href]=\"item.hotelUrl\"\n                    [routerLink]=\"[item.hotelUrl]\"\n                    [attr.aria-label]=\"item.title\"\n                    (click)=\"$event.preventDefault(); hotelClick.emit(item)\"\n                    class=\"hotels-list--photo figure-content figure-zoom\"\n                >\n                    <figure\n                        class=\"figure-full\"\n                        [style]=\"this.getImage(item.image)\"\n                    ></figure>\n                </a>\n                } @if (item.title || item.description) {\n                <div\n                    class=\"hotels-list--info bg-white\"\n                    [ngClass]=\"collapsed?.[mainIndex] ? 'close' : 'open'\"\n                >\n                    @if (item.title) {\n                    <a\n                        [href]=\"item.hotelUrl\"\n                        [routerLink]=\"[item.hotelUrl]\"\n                        [attr.aria-label]=\"item.title\"\n                        (click)=\"$event.preventDefault(); hotelClick.emit(item)\"\n                    >\n                        <h2 class=\"hotels-list--tit title--38 color--camel\">\n                            {{ item.title }} <br />{{ item.ndTitle }}\n                        </h2>\n                    </a>\n                    } @if (item.subtitle) {\n                    <h3 class=\"subtitle--medium color--brown-dark\">\n                        {{ item.subtitle }}\n                    </h3>\n                    } @if (item.description) {\n                    <p class=\"text\">\n                        {{ item.description }}\n                    </p>\n                    } @if (item.additionalDescription) {\n                    <p class=\"text text-more\">\n                        {{ item.additionalDescription }}\n                    </p>\n                    } @if (links?.length) {\n                    <div class=\"hotels-list--btns\">\n                        @for (link of links; track $index; let first = $first) {\n                        <tent-button\n                            [ngClass]=\"{\n                                'btn-more': first,\n                                'btn-minus': !first\n                            }\"\n                            type=\"dark-link\"\n                            [label]=\"link.label\"\n                            (click)=\"toggleCollapse(mainIndex)\"\n                            [name]=\"link.label\"\n                        ></tent-button>\n                        }\n                    </div>\n                    }\n                </div>\n                } @if (item.services?.length || (item.priceTitle && item.price\n                && item.currency)) {\n                <ul class=\"hotels-list--services bg-beige\">\n                    @if (item.services?.length) { @for (service of\n                    item.services; track $index) {\n                    <li class=\"hotels-list--services--item\">\n                        <p class=\"text\">{{ service }}</p>\n                    </li>\n                    } } @if (item.priceTitle && item.price && item.currency) {\n                    <div class=\"hotels-list--footer\">\n                        <div class=\"hotels-list--footer--text\">\n                            <p class=\"hotels-list--footer--title color--brown\">\n                                {{ item.priceTitle }}\n                            </p>\n                            @if (item.priceSubtitle) {\n                            <p\n                                class=\"hotels-list--footer--subtitle color--brown\"\n                            >\n                                {{ item.priceSubtitle }}\n                            </p>\n                            }\n                        </div>\n                        <span class=\"hotels-list--footer--price color--brown\"\n                            >{{ item.price\n                            }}<span>{{\n                                item.currency | currencySymbol\n                            }}</span></span\n                        >\n                    </div>\n                    }\n                </ul>\n                } @if (item.button) {\n                <div class=\"hotels-list--book\">\n                    <tent-button\n                        type=\"dark-box-filled\"\n                        class=\"btn-small\"\n                        [label]=\"item.button.label\"\n                        [url]=\"item.button.url\"\n                        [linkType]=\"item.button.linkType\"\n                        boxWidth=\"265px\"\n                    ></tent-button>\n                </div>\n                }\n            </div>\n            }\n        </div>\n    </div>\n</section>\n} @if(infoTitle || infoDescription){\n<section class=\"module-info module-spacer--bottom\">\n    <div class=\"module-info--content wrapper-big\">\n        <div class=\"module-info--inner\">\n            <div class=\"module-info--box\">\n                @if (infoTitle) {\n                <h3 class=\"module-info--title title--80 color--camel\">\n                    {{ infoTitle }} @if (infoTitleDark) {\n                    <span class=\"color--brown\">\n                        {{ infoTitleDark }}\n                    </span>\n                    }\n                </h3>\n                } @if (infoDescription) {\n                <div class=\"module-info--des\">\n                    <p class=\"text\" [innerHTML]=\"infoDescription\"></p>\n                </div>\n                }\n            </div>\n        </div>\n    </div>\n</section>\n}\n","import { CommonModule } from '@angular/common';\nimport { Component, Input, OnInit } from '@angular/core';\nimport { MatProgressSpinnerModule } from '@angular/material/progress-spinner';\nimport { DomSanitizer, SafeStyle } from '@angular/platform-browser';\nimport { YouTubePlayerModule } from '@angular/youtube-player';\nimport { CarouselModule, OwlOptions } from 'ngx-owl-carousel-o';\nimport { ButtonI } from '../../../interfaces/atomic/button.interface';\nimport { ImageI } from '../../../interfaces/atomic/image.interface';\nimport { ButtonComponent } from '../../atomic/button/button.component';\n@Component({\n    selector: 'tent-info-slider',\n    standalone: true,\n    imports: [\n        CommonModule,\n        ButtonComponent,\n        CarouselModule,\n        YouTubePlayerModule,\n        MatProgressSpinnerModule,\n    ],\n    templateUrl: './info-slider.component.html',\n    styleUrl: './info-slider.component.scss',\n})\nexport class InfoSliderComponent implements OnInit {\n    @Input() theme?: string = '';\n    @Input() infoalign?: string = 'info-right';\n    @Input() images?: string[];\n    @Input() title?: string;\n    @Input() description?: string;\n    @Input() video?: ImageI;\n    @Input() additionalDescription?: string;\n    @Input() links?: ButtonI[];\n    @Input() slim?: boolean;\n    sliderOptions: OwlOptions = {\n        loop: true,\n        autoplay: true,\n        autoplayTimeout: 5000,\n        autoplaySpeed: 1500,\n        navSpeed: 1500,\n        responsiveRefreshRate: 100,\n        margin: 0,\n        mouseDrag: true,\n        touchDrag: true,\n        pullDrag: true,\n        dots: false,\n        responsive: {\n            0: {\n                items: 1,\n            },\n            1680: {\n                items: 1,\n            },\n        },\n        nav: true,\n    };\n    collapsed = true;\n\n    tag!: HTMLScriptElement;\n    playerVars!: YT.PlayerVars;\n    apiloaded = false;\n    loading = true;\n\n    constructor(private readonly sanitizer: DomSanitizer) {}\n\n    toggleCollapse(): void {\n        this.collapsed = !this.collapsed;\n    }\n\n    ngOnInit(): void {\n        // if (this.video) {\n        //     this.playerVars = {\n        //         enablejsapi: 1,\n        //         autoplay: 1,\n        //         controls: 0,\n        //         showinfo: 0,\n        //         modestbranding: 1,\n        //         loop: 1,\n        //         fs: 1,\n        //         cc_load_policy: 1,\n        //         iv_load_policy: 3,\n        //         autohide: 1,\n        //         rel: 0,\n        //         playsinline: 1,\n        //         playlist: this.video?.src,\n        //     };\n        //     this.initPlayer();\n        // }\n        this.sliderOptions = {\n            ...this.sliderOptions,\n            navText: [\n                `<div class=\"btn btn__circle btn__circle-- ${\n                    this.theme === 'theme-laundry'\n                        ? 'btn__laundry'\n                        : 'btn__dark'\n                }\"><span class=\"btn__circle-icon icon-signal-left icon--size12 \"> </span></div>`,\n                `<div class=\"btn btn__circle btn__circle-- ${\n                    this.theme === 'theme-laundry'\n                        ? 'btn__laundry'\n                        : 'btn__dark'\n                }\"><span class=\"btn__circle-icon icon-signal-right icon--size12 \"> </span></div>`,\n            ],\n        };\n    }\n\n    // onStateChange(e: any) {\n    //     e.target.setPlaybackQuality('highres');\n    //     if (e.data == YT.PlayerState.PLAYING) {\n    //         e.target.mute();\n    //         setTimeout(() => {\n    //             e.target.mute();\n    //             e.target.playVideo();\n    //             document\n    //                 .getElementsByTagName('youtube-player')[0]\n    //                 .children[0].children[0].setAttribute(\n    //                     'style',\n    //                     'opacity: 1'\n    //                 );\n    //             this.loading = false;\n    //         }, 0);\n    //     }\n    //     if (e.data == YT.PlayerState.PAUSED) {\n    //         e.target.mute();\n    //         setTimeout(() => {\n    //             e.target.mute();\n    //             e.target.playVideo();\n    //             document\n    //                 .getElementsByTagName('youtube-player')[0]\n    //                 .children[0].children[0].setAttribute(\n    //                     'style',\n    //                     'opacity: 1'\n    //                 );\n    //             this.loading = false;\n    //         }, 0);\n    //     }\n    //     if (e.data == YT.PlayerState.ENDED) {\n    //         e.target.mute();\n    //         e.target.seekTo(0);\n    //         e.target.playVideo();\n    //     }\n    // }\n\n    // initPlayer(): void {\n    //     const existingScript = Array.from(\n    //         document.getElementsByTagName('script')\n    //     ).find((script) => script.src === 'https://www.youtube.com/iframe_api');\n\n    //     if (!existingScript) {\n    //         this.tag = document.createElement('script');\n    //         this.tag.src = 'https://www.youtube.com/iframe_api';\n    //         this.tag.async = true;\n    //         const firstScriptTag = document.getElementsByTagName('script')[0];\n    //         firstScriptTag.parentNode?.insertBefore(this.tag, firstScriptTag);\n\n    //         (window as any)['onYouTubeIframeAPIReady'] = () => {\n    //             this.apiloaded = true;\n    //         };\n    //     } else {\n    //         this.apiloaded = true;\n    //     }\n    // }\n\n    // onPlayerReady(event: any) {\n    //     event.target.mute();\n    //     event.target.seekTo(1, true);\n    //     event.target.playVideo();\n    // }\n\n    getImage(image: string): SafeStyle {\n        return this.sanitizer.bypassSecurityTrustStyle(\n            `background-image: url(${image})`\n        );\n    }\n}\n","<section class=\"info-slider module-spacer--bottom\" [ngClass]=\"[theme]\">\n    <div\n        class=\"info-slider--content wrapper-big\"\n        [ngClass]=\"{ 'info-slider--content--slim': slim }\"\n    >\n        <div class=\"info-slider--box\" [ngClass]=\"[infoalign]\">\n            @if (video && video.src) {\n            <div class=\"info-slider--video--wrapper\">\n                <div class=\"info-slider--video\">\n                    <!-- @if (loading) {\n                        <mat-spinner></mat-spinner>\n                        } @if (apiloaded) {\n                        <youtube-player\n                            #ytPlayer\n                            [videoId]=\"video.src\"\n                            suggestedQuality=\"highres\"\n                            [showBeforeIframeApiLoads]=\"true\"\n                            [playerVars]=\"playerVars\"\n                            (stateChange)=\"onStateChange($event)\"\n                            (ready)=\"onPlayerReady($event)\"\n                            [disablePlaceholder]=\"true\"\n                        >\n                        </youtube-player\n                        >} -->\n                    <video\n                        loop\n                        [muted]=\"true\"\n                        playsinline\n                        autoplay\n                        preload=\"auto\"\n                        width=\"100%\"\n                        height=\"100%\"\n                        oncanplay=\"this.play()\"\n                        onloadedmetadata=\"this.muted = true\"\n                    >\n                        @if (video) {\n                        <source [src]=\"video.src + '.webm'\" type=\"video/webm\" />\n                        <source [src]=\"video.src + '.mp4'\" type=\"video/mp4\" />\n                        }\n                    </video>\n                </div>\n            </div>\n            } @else if (images?.length) {\n            <owl-carousel-o\n                class=\"info-slider--slider slider-circle--center figure-sticky\"\n                [ngClass]=\"{ 'info-slider--slider--slim': slim }\"\n                [options]=\"sliderOptions\"\n            >\n                @for (img of images; track $index) {\n                <ng-template carouselSlide>\n                    <div\n                        class=\"info-slider--photo figure-content\"\n                        [ngClass]=\"{ 'info-slider--photo--slim': slim }\"\n                    >\n                        <figure\n                            class=\"figure-full\"\n                            [style]=\"getImage(img)\"\n                        ></figure>\n                    </div>\n                </ng-template>\n                }\n            </owl-carousel-o>\n            }\n            <div\n                class=\"info-slider--info\"\n                [ngClass]=\"collapsed ? 'close' : 'open'\"\n            >\n                @if (title || description) {\n                <div class=\"info-slider--info--inner\">\n                    @if (title) {\n                    <h2\n                        class=\"location-beach--info--title title--60 color--brown\"\n                    >\n                        {{ title }}\n                    </h2>\n\n                    } @if (description) {\n                    <div class=\"info-slider--info--des\">\n                        <p class=\"text\">\n                            {{ description }}\n                        </p>\n                        @if (additionalDescription) {\n                        <p class=\"text text-more\">\n                            {{ additionalDescription }}\n                        </p>\n                        } @if (links?.length) {\n                        <div class=\"info-slider--btns\">\n                            @for (link of links; track $index; let first =\n                            $first) {\n                            <tent-button\n                                class=\"btn-more\"\n                                [ngClass]=\"{\n                                    'btn-more': first,\n                                    'btn-minus': !first\n                                }\"\n                                type=\"dark-link\"\n                                [label]=\"link.label\"\n                                (click)=\"toggleCollapse()\"\n                                [name]=\"link.label\"\n                            ></tent-button>\n                            }\n                        </div>\n                        }\n                    </div>\n                    }\n                </div>\n                }\n            </div>\n        </div>\n    </div>\n</section>\n","import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, Input } from '@angular/core';\nimport { ButtonComponent } from '../../atomic/button/button.component';\nimport { BadgeComponent } from '../../atomic/badge/badge.component';\nimport { CarouselModule, OwlOptions } from 'ngx-owl-carousel-o';\nimport { ButtonI } from '../../../interfaces/atomic/button.interface';\nimport { BadgeI } from '../../../interfaces/atomic/badge.interface';\nimport { DomSanitizer, SafeStyle } from '@angular/platform-browser';\n@Component({\n    selector: 'tent-location-beach',\n    standalone: true,\n    imports: [CommonModule, ButtonComponent, CarouselModule, BadgeComponent],\n    templateUrl: './location-beach.component.html',\n    styleUrl: './location-beach.component.scss',\n    changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class LocationBeachComponent {\n    @Input() title?: string;\n    @Input() subtitle?: string;\n    @Input() description?: string;\n    @Input() infoItems?: LocationBeachInfoItem[];\n    @Input() items?: LocationBeachItem[];\n    @Input() links?: ButtonI[];\n    @Input() button?: ButtonI;\n\n    sliderOptions: OwlOptions = {\n        loop: false,\n        autoplay: true,\n        autoplayTimeout: 5000,\n        autoplaySpeed: 1500,\n        navSpeed: 1500,\n        responsiveRefreshRate: 100,\n        margin: 0,\n        mouseDrag: true,\n        touchDrag: true,\n        pullDrag: true,\n        dots: false,\n        navText: [\n            '<div class=\"btn btn__circle btn__circle-- btn__dark\"><span class=\"btn__circle-icon icon-signal-left icon--size12 \"> </span></div>',\n            '<div class=\"btn btn__circle btn__circle-- btn__dark\"><span class=\"btn__circle-icon icon-signal-right icon--size12 \"> </span></div>',\n        ],\n        responsive: {\n            0: {\n                items: 1,\n            },\n            1680: {\n                items: 1,\n            },\n        },\n        nav: true,\n    };\n    collapsed = true;\n\n    constructor(private readonly sanitizer: DomSanitizer) {}\n\n    getImage(img: string): SafeStyle {\n        return this.sanitizer.bypassSecurityTrustStyle(\n            `background-image: url(${img})`\n        );\n    }\n\n    toggleCollapse(): void {\n        this.collapsed = !this.collapsed;\n    }\n}\n\nexport interface LocationBeachItem {\n    image?: string;\n    tag?: BadgeI;\n}\n\nexport interface LocationBeachInfoItem {\n    title?: string;\n    icon?: string;\n}\n","<section class=\"location-beach module-spacer--bottom\">\n    <div class=\"location-beach--content wrapper-big\">\n        <div class=\"location-beach--box info-right\">\n            @if (items?.length) {\n            <owl-carousel-o\n                class=\"location-beach--slider slider-circle--center figure-sticky\"\n                [options]=\"sliderOptions\"\n            >\n                @for (item of items; track $index) {\n                <ng-template carouselSlide>\n                    <div class=\"location-beach--photo figure-content\">\n                        @if (item.image) {\n                        <figure\n                            class=\"figure-full\"\n                            [style]=\"getImage(item.image)\"\n                        ></figure>\n                        } @if (item.tag?.label && item.tag) {\n                        <tent-badge\n                            class=\"location-beach--badget\"\n                            [rounded]=\"true\"\n                            [label]=\"item.tag.label\"\n                        ></tent-badge>\n                        }\n                    </div>\n                </ng-template>\n                }\n            </owl-carousel-o>\n            }\n            <div\n                class=\"location-beach--info\"\n                [ngClass]=\"collapsed ? 'close' : 'open'\"\n            >\n                <div class=\"location-beach--info--inner\">\n                    @if (title) {\n                    <h2\n                        class=\"location-beach--info--title title--60 color--brown\"\n                    >\n                        {{ title }}\n                    </h2>\n                    } @if (subtitle) {\n                    <h3\n                        class=\"location-beach--info--subtit subtitle color--brown-70\"\n                    >\n                        {{ subtitle }}\n                    </h3>\n                    } @if (infoItems?.length && infoItems) {\n                    <ul class=\"location-beach--info--icons\">\n                        @for (item of infoItems; track $index) {\n                        <li>\n                            <span class=\"info--icon\">\n                                <span\n                                    class=\"info--icon--svg\"\n                                    [ngClass]=\"item.icon\"\n                                ></span>\n                            </span>\n                            @if (item.title) {\n                            <p class=\"text\">{{ item.title }}</p>\n                            }\n                        </li>\n                        }\n                    </ul>\n                    } @if (links && links.length > 2) { @if (links[0]) {\n                    <tent-button\n                        class=\"btn-more\"\n                        type=\"dark-link\"\n                        [label]=\"links[0].label\"\n                        (click)=\"toggleCollapse()\"\n                    ></tent-button>\n                    } @if (links[1]) {\n                    <tent-button\n                        class=\"btn-minus\"\n                        type=\"dark-link\"\n                        [label]=\"links[1].label\"\n                        (click)=\"toggleCollapse()\"\n                    ></tent-button>\n                    } } @if (description) {\n                    <div class=\"location-beach--info--des\">\n                        <p class=\"text\">\n                            {{ description }}\n                        </p>\n                    </div>\n                    } @if (button) {\n                    <div class=\"location-beach--info--btns\">\n                        <tent-button\n                            class=\"btn-book\"\n                            type=\"dark-box\"\n                            [linkType]=\"button.linkType\"\n                            [url]=\"button.url\"\n                            [label]=\"button.label\"\n                            [name]=\"button.label\"\n                        ></tent-button>\n                    </div>\n                    }\n                </div>\n            </div>\n        </div>\n    </div>\n</section>\n","import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, Input } from '@angular/core';\nimport { ButtonComponent } from '../../atomic/button/button.component';\nimport { ButtonI } from '../../../interfaces/atomic/button.interface';\nimport { DomSanitizer, SafeStyle } from '@angular/platform-browser';\n@Component({\n    selector: 'tent-location-how',\n    standalone: true,\n    imports: [CommonModule, ButtonComponent],\n    templateUrl: './location-how.component.html',\n    styleUrl: './location-how.component.scss',\n    changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class LocationHowComponent {\n    @Input() backgroundImage?: string;\n    @Input() title?: string;\n    @Input() items?: LocationHowItem[];\n    @Input() links?: ButtonI[];\n\n    tabActive = 'tab1';\n    collapsed = true;\n\n    get image(): SafeStyle {\n        return this.sanitizer.bypassSecurityTrustStyle(\n            `background-image: url(${this.backgroundImage})`\n        );\n    }\n\n    get hasItemActiveAdditionalDescription() {\n        return this.items?.[Number(this.tabActive.substring(-1)) - 1]\n            ?.additionalDescription;\n    }\n\n    constructor(private readonly sanitizer: DomSanitizer) {}\n\n    toggleCollapse(): void {\n        this.collapsed = !this.collapsed;\n    }\n\n    viewTab(tabActive: string): void {\n        this.tabActive = tabActive;\n    }\n}\n\nexport interface LocationHowItem {\n    icon?: string;\n    title?: string;\n    description?: string;\n    additionalDescription?: string;\n}\n","<section class=\"location-how module-spacer--bottom\">\n    <div class=\"location-how--content wrapper-big\">\n        @if (backgroundImage) {\n        <div class=\"location-how--maps figure-sticky\">\n            <div class=\"location-how--photo figure-content\">\n                <figure class=\"figure-full\" [style]=\"image\"></figure>\n            </div>\n        </div>\n        }\n        <div class=\"location-how--inner\" [ngClass]=\"[tabActive]\">\n            @if (title) {\n            <h3 class=\"location-how--tit title--60 color--brown\">\n                {{ title }}\n            </h3>\n            } @if (items?.length && items) {\n            <ul class=\"location-how--icons\">\n                @for (item of items; track $index) {\n                <li>\n                    <img\n                        src=\"/assets/tent/img/icon-location.svg\"\n                        alt=\"left\"\n                        loading=\"lazy\"\n                        width=\"59\"\n                        height=\"59\"\n                        class=\"location-how--iconactive\"\n                    />\n                    <span\n                        class=\"location-how--icon\"\n                        (click)=\"viewTab('tab' + ($index + 1))\"\n                    >\n                        <span\n                            class=\"location-how--icon--svg\"\n                            [ngClass]=\"item.icon\"\n                        ></span>\n                    </span>\n                </li>\n                }\n            </ul>\n            <div\n                class=\"location-how--infor\"\n                [ngClass]=\"collapsed ? 'close' : 'open'\"\n            >\n                @for (item of items; track $index) {\n                <div class=\"location-how--infor--tab\">\n                    @if (item.title) {\n                    <h3\n                        class=\"location-beach--info--subtit subtitle color--brown-70\"\n                    >\n                        {{ item.title }}\n                    </h3>\n                    } @if (item.description) {\n                    <p class=\"text\">\n                        {{ item.description }}\n                    </p>\n                    } @if (item.additionalDescription) {\n                    <p class=\"text text-more\">\n                        {{ item.additionalDescription }}\n                    </p>\n                    }\n                </div>\n\n                } @if (links && links.length &&\n                hasItemActiveAdditionalDescription) { @if (links[0]) {\n                <tent-button\n                    class=\"btn-more\"\n                    type=\"dark-link\"\n                    [label]=\"links[0].label\"\n                    (click)=\"toggleCollapse()\"\n                ></tent-button>\n                } @if (links[1]) {\n                <tent-button\n                    class=\"btn-minus\"\n                    type=\"dark-link\"\n                    [label]=\"links[1].label\"\n                    (click)=\"toggleCollapse()\"\n                ></tent-button>\n                } }\n            </div>\n            }\n        </div>\n    </div>\n</section>\n","import { CommonModule, isPlatformBrowser } from '@angular/common';\nimport {\n    ChangeDetectionStrategy,\n    Component,\n    EventEmitter,\n    Inject,\n    Input,\n    Output,\n    PLATFORM_ID,\n} from '@angular/core';\nimport { DomSanitizer, SafeStyle } from '@angular/platform-browser';\nimport { ButtonI } from '../../../../public-api';\nimport { ButtonComponent } from '../../atomic/button/button.component';\n@Component({\n    selector: 'tent-location-map',\n    standalone: true,\n    imports: [CommonModule, ButtonComponent],\n    templateUrl: './location-map.component.html',\n    styleUrl: './location-map.component.scss',\n    changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class LocationMapComponent {\n    @Input() image?: string;\n    @Input() linkImage?: string;\n    @Input() title?: string;\n    @Input() ndTitle?: string;\n    @Input() links?: ButtonI[];\n    @Input() copyRight?: string;\n    @Input() button?: ButtonI;\n\n    @Output() btnClick = new EventEmitter<void>();\n\n    get getMainImage(): SafeStyle {\n        return this.sanitizer.bypassSecurityTrustStyle(\n            `background-image: url(${this.image})`\n        );\n    }\n\n    constructor(\n        private readonly sanitizer: DomSanitizer,\n        @Inject(PLATFORM_ID) private platformId: Object\n    ) {}\n\n    btnMapClicked() {\n        if (!isPlatformBrowser(this.platformId)) return;\n        (document.getElementById('how') as HTMLElement).scrollIntoView({\n            behavior: 'smooth',\n        });\n    }\n}\n","<section class=\"location-map module-spacer--bottom\">\n    <div class=\"location-map--content wrapper-big\">\n        @if (image && linkImage) {\n        <div class=\"location-map--maps\">\n            <a\n                class=\"location-map--photo figure-content\"\n                [href]=\"linkImage\"\n                target=\"_blank\"\n            >\n                <figure class=\"figure-full\" [style]=\"getMainImage\"></figure>\n            </a>\n        </div>\n        }\n        <div class=\"location-map--inner\">\n            @if (title) {\n            <h3 class=\"location-map--tit title--30 color--brown-70\">\n                {{ title }}\n                @if (ndTitle) {\n                <span class=\"color--brown-70\"> {{ ndTitle }}</span>\n                }\n            </h3>\n            } @if (links?.length) {\n            <ul class=\"location-map--list\">\n                @for (link of links; track $index) {\n                <li>\n                    <span\n                        class=\"location-map--icon\"\n                        [ngClass]=\"{\n                            'icon-home': $index === 0,\n                            'icon-phone-2': $index === 1,\n                            'icon-envelope': $index === 2\n                        }\"\n                    ></span>\n                    @if (link.linkType === 'nolink') {\n                    <span class=\"text text--18\" [innerHTML]=\"link.label\">\n                    </span>\n                    } @else {\n                    <a\n                        class=\"link\"\n                        [href]=\"link.url\"\n                        [attr.aria-label]=\"link.label\"\n                    >\n                        {{ link.label }}\n                    </a>\n                    }\n                </li>\n                }\n            </ul>\n            } @if (copyRight) {\n            <ul class=\"location-map--list copyright\">\n                <li>\n                    <span class=\"location-map--icon icon-copyright\"></span>\n                    <p class=\"text text--18\">{{ copyRight }}</p>\n                </li>\n            </ul>\n            } @if (button) {\n            <div class=\"location-map--btns\">\n                <tent-button\n                    class=\"btn-book\"\n                    type=\"dark-box\"\n                    [label]=\"button.label\"\n                    [name]=\"button.name\"\n                    (btnClick)=\"btnMapClicked()\"\n                ></tent-button>\n            </div>\n            }\n        </div>\n    </div>\n</section>\n","import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, Input } from '@angular/core';\n\n@Component({\n    selector: 'tent-loyalty-form',\n    standalone: true,\n    imports: [CommonModule],\n    templateUrl: './loyalty-form.component.html',\n    styleUrl: './loyalty-form.component.scss',\n    changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class LoyaltyFormComponent {\n    @Input() title?: string;\n    @Input() description?: string;\n    @Input() lang?: string;\n    @Input() frame?: string;\n    @Input() state?: string;\n}\n","<section class=\"loyalty-form\" id=\"loyalty-form-anchor\">\n    <div class=\"loyalty-form__container\">\n        <div class=\"floating-box\">\n            <div class=\"floating-box__left-column\">\n                @if (title || description) {\n                    <div class=\"flex-col loyalty-form--header\">\n                        @if (title) {\n                            <h3 class=\"loyalty-form--title color--brown\">\n                                {{ title }}\n                            </h3>\n                        }\n                        @if (description) {\n                            <p class=\"loyalty-form--description\">\n                                {{ description }}\n                            </p>\n                        }\n                    </div>\n                }\n            </div>\n            <div class=\"floating-box__right-column\">\n                <div class=\"form-container\">\n                    @if (frame) {\n                        <div class=\"loyalty-form--form\">\n                            <div data-mirai-id=\"502045\" data-type=\"chain\"></div>\n                            @switch (state) {\n                                @case ('profile') {\n                                    <div\n                                        data-mirai-component=\"profile\"\n                                        [attr.data-locale]=\"lang\"\n                                    ></div>\n                                }\n                                @case ('bookings') {\n                                    <div\n                                        data-mirai-component=\"profile\"\n                                        data-mirai-context=\"bookings\"\n                                        [attr.data-locale]=\"lang\"\n                                    ></div>\n                                }\n                                @default {\n                                    <div\n                                        data-mirai-component=\"signup\"\n                                        [attr.data-locale]=\"lang\"\n                                    ></div>\n                                }\n                            }\n                        </div>\n                    }\n                </div>\n            </div>\n        </div>\n    </div>\n</section>\n","import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, Input } from '@angular/core';\nimport { MatDialogRef } from '@angular/material/dialog';\nimport { RouterModule } from '@angular/router';\nimport { ButtonComponent } from '../../../atomic/button/button.component';\n\n@Component({\n    selector: 'tent-books-modal',\n    standalone: true,\n    imports: [CommonModule, ButtonComponent, RouterModule],\n    templateUrl: './books-modal.component.html',\n    styleUrl: './books-modal.component.scss',\n    changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class BooksModalComponent {\n    @Input() lang?: String;\n\n    constructor(\n        private readonly dialogRef: MatDialogRef<BooksModalComponent>\n    ) {}\n\n    close(): void {\n        this.dialogRef.close();\n    }\n}\n","<div class=\"books\">\n    <div class=\"books--close\">\n        <tent-button\n            type=\"dark-circle\"\n            icon=\"icon-close\"\n            [closeButton]=\"true\"\n            (btnClick)=\"close()\"\n            name=\"icon-close\"\n        ></tent-button>\n    </div>\n    <div\n        data-mirai-engine=\"mirai_cma\"\n        [attr.data-lang]=\"lang\"\n        data-idchain=\"502045\"\n    ></div>\n</div>\n","import { CommonModule } from '@angular/common';\nimport {\n    ChangeDetectionStrategy,\n    Component,\n    Input,\n    inject,\n} from '@angular/core';\nimport { DomSanitizer, SafeStyle, SafeUrl } from '@angular/platform-browser';\nimport { ButtonI } from '../../../../interfaces/atomic/button.interface';\n\n@Component({\n    selector: 'tent-checkin-modal',\n    standalone: true,\n    imports: [CommonModule],\n    templateUrl: './checkin-modal.component.html',\n    styleUrl: './checkin-modal.component.scss',\n    changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class CheckinModalComponent {\n    @Input() image!: string;\n    @Input() title?: string;\n    @Input() script?: string;\n    @Input() closeBtn!: ButtonI;\n\n    get getImage(): SafeStyle {\n        return this.sanitizer.bypassSecurityTrustStyle(\n            `background-image: url(${this.image})`\n        );\n    }\n\n    get urlScript(): SafeUrl {\n        return this.sanitizer.bypassSecurityTrustResourceUrl(this.script!);\n    }\n\n    private readonly sanitizer = inject(DomSanitizer);\n}\n","<div class=\"checkin\">\n    @if (image) {\n    <div class=\"checkin--image-wrapper\">\n        <figure [style]=\"getImage\" class=\"checkin--image\"></figure>\n    </div>\n    }\n    <div class=\"checkin--right-slot\">\n        @if (title) {\n        <div class=\"checkin--header\">\n            <p class=\"checkin--title color--brown\">{{ title }}</p>\n        </div>\n        } @if (script) {\n        <iframe\n            [src]=\"urlScript\"\n            width=\"600\"\n            height=\"400\"\n            frameborder=\"0\"\n            allow=\"camera\"\n            scrolling=\"yes\"\n        ></iframe>\n        }\n    </div>\n</div>\n","import { CommonModule } from '@angular/common';\nimport {\n    ChangeDetectionStrategy,\n    Component,\n    EventEmitter,\n    Input,\n    Output,\n} from '@angular/core';\nimport { MatDialogRef } from '@angular/material/dialog';\nimport { ButtonComponent } from '../../../atomic/button/button.component';\nimport { GalleryFilterOption } from '../../generic-head/generic-head.component';\n\n@Component({\n    selector: 'tent-gallery-category',\n    standalone: true,\n    imports: [CommonModule, ButtonComponent],\n    templateUrl: './gallery-category.component.html',\n    styleUrl: './gallery-category.component.scss',\n    changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class GalleryCategoryComponent {\n    @Input() title?: string;\n    @Input() items?: GalleryFilterOption[];\n\n    @Output() itemClick = new EventEmitter<GalleryFilterOption>();\n\n    constructor(\n        private readonly dialogRef: MatDialogRef<GalleryCategoryComponent>\n    ) {}\n\n    itemClicked(item: GalleryFilterOption): void {\n        this.itemClick.emit(item);\n        this.closeModal();\n    }\n\n    closeModal(): void {\n        this.dialogRef.close();\n    }\n}\n","<div class=\"gallery-category\">\n    <div class=\"gallery-category--header\">\n        @if (title) {\n        <p class=\"color--brown\" [innerHTML]=\"title\"></p>\n        }\n\n        <tent-button\n            type=\"dark-circle\"\n            icon=\"icon-close\"\n            (btnClick)=\"closeModal()\"\n            name=\"close\"\n        ></tent-button>\n    </div>\n    @if (items?.length) {\n    <ul class=\"gallery-category--list\">\n        @for (item of items; track $index) {\n        <li class=\"gallery-category--item\" (click)=\"itemClicked(item)\">\n            <p class=\"color--brown\">\n                <span class=\"gallery-category--dot\"></span> {{ item.label }}\n            </p>\n            <span class=\"icon-pointer-down\"></span>\n        </li>\n        }\n    </ul>\n    }\n</div>\n","import { CommonModule } from '@angular/common';\nimport {\n    ChangeDetectionStrategy,\n    Component,\n    EventEmitter,\n    Input,\n    Output,\n    inject,\n} from '@angular/core';\nimport { ButtonComponent } from '../../../atomic/button/button.component';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatDialogRef } from '@angular/material/dialog';\nimport { ButtonI } from '../../../../interfaces/atomic/button.interface';\n\n@Component({\n    selector: 'tent-languages-modal',\n    standalone: true,\n    imports: [CommonModule, ButtonComponent, MatIconModule],\n    templateUrl: './languages-modal.component.html',\n    styleUrl: './languages-modal.component.scss',\n    changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class LanguagesModalComponent {\n    @Input() title?: string;\n    @Input() closeBtn?: ButtonI;\n    @Input() buttons?: ButtonI[];\n\n    @Output() languageSelect = new EventEmitter<ButtonI>();\n\n    selected = 'inglés';\n\n    private readonly dialogRef: MatDialogRef<LanguagesModalComponent> =\n        inject(MatDialogRef);\n\n    selectLanguage(language: ButtonI): void {\n        this.selected = language.label!;\n        this.languageSelect.emit(language);\n        this.close();\n    }\n\n    close(): void {\n        this.dialogRef.close();\n    }\n}\n","<div class=\"languages-modal\">\n    @if (closeBtn?.icon) {\n    <div class=\"languages-modal--close\">\n        <tent-button\n            type=\"dark-circle\"\n            [icon]=\"closeBtn?.icon\"\n            [closeButton]=\"true\"\n            (btnClick)=\"close()\"\n            [name]=\"closeBtn?.icon\"\n        ></tent-button>\n    </div>\n    } @if (title) {\n    <div class=\"languages-modal--header\">\n        <h4 class=\"languages-modal--header--title\">{{ title }}</h4>\n    </div>\n    } @if (buttons?.length) {\n    <div class=\"languages-modal--content\">\n        @for (btn of buttons; track $index) {\n        <tent-button\n            [ngClass]=\"{\n                'languages-modal--selected': btn.label == selected\n            }\"\n            type=\"dark-box\"\n            [label]=\"btn.label\"\n            (btnClick)=\"selectLanguage(btn)\"\n            [name]=\"btn.label\"\n        ></tent-button>\n\n        }\n    </div>\n    }\n</div>\n","import { isPlatformBrowser } from '@angular/common';\nimport {\n    Directive,\n    HostListener,\n    Inject,\n    Input,\n    Optional,\n    PLATFORM_ID,\n} from '@angular/core';\nimport { MatDialogRef } from '@angular/material/dialog';\n\n@Directive({\n    selector: '[tentScrollTo]',\n    standalone: true,\n})\nexport class ScrollToDirective {\n    // Pasamos el ID del elemento destino: [appScrollTo]=\"'#mi-id'\"\n    @Input('tentScrollTo') targetSelector!: string;\n    @Input() scrollOffset = 100; // Por si tienes un header sticky\n\n    constructor(\n        @Optional() private dialogRef: MatDialogRef<any>, // Opcional por si no hay modal\n        @Inject(PLATFORM_ID) private platformId: Object\n    ) {}\n\n    @HostListener('click', ['$event'])\n    onClick(event: Event): void {\n        event.preventDefault();\n\n        if (this.dialogRef) {\n            // Si estamos en un modal, esperamos a que cierre\n            this.dialogRef.afterClosed().subscribe(() => {\n                this.executeScroll();\n            });\n            this.dialogRef.close();\n        } else {\n            // Si no hay modal, scroll directo\n            this.executeScroll();\n        }\n    }\n\n    private executeScroll(): void {\n        if (!isPlatformBrowser(this.platformId)) return;\n        let attempts = 0;\n        const maxAttempts = 10; // Intentará durante 1 segundo (10 * 100ms)\n\n        const findAndScroll = () => {\n            const element = document.querySelector(this.targetSelector);\n\n            if (element) {\n                const rect = element.getBoundingClientRect();\n                const scrollTop =\n                    window.pageYOffset || document.documentElement.scrollTop;\n                const targetY = rect.top + scrollTop - this.scrollOffset;\n\n                window.scrollTo({\n                    top: targetY,\n                    behavior: 'smooth',\n                });\n                return true; // Encontrado y scrolleado\n            }\n            return false;\n        };\n\n        const interval = setInterval(() => {\n            attempts++;\n            if (findAndScroll() || attempts >= maxAttempts) {\n                if (\n                    attempts >= maxAttempts &&\n                    !document.querySelector(this.targetSelector)\n                ) {\n                    console.warn(\n                        `Directiva ScrollTo: Agotados los intentos para ${this.targetSelector}`\n                    );\n                }\n                clearInterval(interval);\n            }\n        }, 100); // Reintenta cada 100ms\n    }\n}\n","import { CommonModule } from '@angular/common';\nimport { Component, EventEmitter, Input, Output } from '@angular/core';\nimport { MatDialogRef } from '@angular/material/dialog';\nimport { ButtonI } from '../../../../interfaces/atomic/button.interface';\nimport { ImageI } from '../../../../interfaces/atomic/image.interface';\nimport { ButtonComponent } from '../../../atomic/button/button.component';\nimport { ScrollToDirective } from '../../../../directives/scroll.directive';\n\n@Component({\n    selector: 'tent-loyalty-modal',\n    standalone: true,\n    imports: [CommonModule, ButtonComponent, ScrollToDirective],\n    templateUrl: './loyalty-modal.component.html',\n    styleUrl: './loyalty-modal.component.scss',\n})\nexport class LoyaltyModalComponent {\n    @Input() items?: LoyaltyModalItem[];\n    @Input() button?: ButtonI;\n    @Input() link?: ButtonI;\n    @Input() image?: ImageI;\n\n    @Output() linkClick = new EventEmitter();\n    @Output() btnClick = new EventEmitter();\n\n    constructor(\n        private readonly dialogRef: MatDialogRef<LoyaltyModalComponent>\n    ) {}\n\n    close(): void {\n        this.dialogRef.close();\n    }\n}\n\nexport interface LoyaltyModalItem {\n    titleDark?: string;\n    title?: string;\n    items?: LoyaltyModalSubItem[];\n}\n\nexport interface LoyaltyModalSubItem {\n    icon?: string;\n    title?: string;\n    subtitle?: string;\n}\n","<div class=\"loyalty-modal\">\n    <div class=\"loyalty-modal--close\">\n        <tent-button\n            type=\"dark-circle\"\n            icon=\"icon-close\"\n            [closeButton]=\"true\"\n            (btnClick)=\"close()\"\n            name=\"icon-close\"\n        ></tent-button>\n    </div>\n    @if (items?.[0]) {\n        <div class=\"loyalty-modal--left-slot\">\n            <div class=\"flex-col\">\n                @if (items?.[0]?.title || items?.[0]?.titleDark) {\n                    <div class=\"loyalty-modal--header--wrapper\">\n                        <div class=\"loyalty-modal--header\">\n                            @if (items?.[0]?.titleDark) {\n                                <h3 class=\"loyalty-modal--title color--brown\">\n                                    {{ items?.[0]?.titleDark }}\n                                </h3>\n                            }\n                            @if (items?.[0]?.title) {\n                                <h3 class=\"loyalty-modal--title color--camel\">\n                                    {{ items?.[0]?.title }}\n                                </h3>\n                            }\n                        </div>\n                    </div>\n                }\n                @if (items?.[0]?.items?.length) {\n                    @for (item of items?.[0]?.items; track $index) {\n                        <div class=\"loyalty-modal--item\">\n                            @if (item.icon) {\n                                <span\n                                    class=\"loyalty-modal--item--icon\"\n                                    [ngClass]=\"item.icon\"\n                                ></span>\n                            }\n                            @if (item.title) {\n                                <div class=\"flex-col\">\n                                    <p\n                                        class=\"loyalty-modal--item--title color--brown\"\n                                    >\n                                        {{ item.title }}\n                                    </p>\n                                    <p\n                                        class=\"loyalty-modal--item--subtitle color--brown\"\n                                    >\n                                        {{ item.subtitle }}\n                                    </p>\n                                </div>\n                            }\n                        </div>\n                    }\n                }\n            </div>\n        </div>\n    }\n    @if (items?.[1]) {\n        <div class=\"loyalty-modal--right-slot\">\n            <div class=\"flex-col\">\n                @if (items?.[1]?.title || items?.[1]?.titleDark) {\n                    <div class=\"loyalty-modal--header--wrapper\">\n                        <div class=\"loyalty-modal--header\">\n                            @if (items?.[1]?.titleDark) {\n                                <h3 class=\"loyalty-modal--title color--brown\">\n                                    {{ items?.[1]?.titleDark }}\n                                </h3>\n                            }\n                            @if (items?.[1]?.title) {\n                                <h3 class=\"loyalty-modal--title color--camel\">\n                                    {{ items?.[1]?.title }}\n                                </h3>\n                            }\n                        </div>\n\n                        @if (image) {\n                            <img\n                                class=\"loyalty-modal--logo\"\n                                [src]=\"image.src\"\n                                [alt]=\"image.alt\"\n                            />\n                        }\n                    </div>\n                }\n                @if (items?.[1]?.items?.length) {\n                    @for (item of items?.[1]?.items; track $index) {\n                        <div class=\"loyalty-modal--item\">\n                            @if (item.icon) {\n                                <span\n                                    class=\"loyalty-modal--item--icon\"\n                                    [ngClass]=\"item.icon\"\n                                ></span>\n                            }\n                            @if (item.title) {\n                                <div class=\"flex-col\">\n                                    <p\n                                        class=\"loyalty-modal--item--title color--brown\"\n                                    >\n                                        {{ item.title }}\n                                    </p>\n                                    <p\n                                        class=\"loyalty-modal--item--subtitle color--brown\"\n                                    >\n                                        {{ item.subtitle }}\n                                    </p>\n                                </div>\n                            }\n                        </div>\n                    }\n                }\n                <div class=\"loyalty-modal--footer\">\n                    <tent-button\n                        type=\"dark-box-filled\"\n                        [label]=\"button?.label\"\n                        [url]=\"button?.url\"\n                        [linkType]=\"button?.linkType\"\n                        [tentScrollTo]=\"'#loyalty-form-anchor'\"\n                        [scrollOffset]=\"120\"\n                        (btnClick)=\"linkClick.emit()\"\n                    ></tent-button>\n                    <tent-button\n                        type=\"dark-link\"\n                        [label]=\"link?.label\"\n                        [url]=\"link?.url\"\n                        [linkType]=\"link?.linkType\"\n                        (btnClick)=\"btnClick.emit()\"\n                    ></tent-button>\n                </div>\n            </div>\n        </div>\n    }\n</div>\n","import { CommonModule, isPlatformBrowser } from '@angular/common';\nimport {\n    ChangeDetectionStrategy,\n    Component,\n    EventEmitter,\n    Inject,\n    Input,\n    OnDestroy,\n    OnInit,\n    Output,\n    PLATFORM_ID,\n    inject,\n} from '@angular/core';\nimport { MatDialogRef } from '@angular/material/dialog';\nimport { DomSanitizer, SafeStyle } from '@angular/platform-browser';\nimport { RouterModule } from '@angular/router';\nimport { ButtonI } from '../../../../interfaces/atomic/button.interface';\nimport { ButtonComponent } from '../../../atomic/button/button.component';\n\n@Component({\n    selector: 'tent-menu-modal',\n    standalone: true,\n    imports: [CommonModule, ButtonComponent, RouterModule],\n    templateUrl: './menu-modal.component.html',\n    styleUrl: './menu-modal.component.scss',\n    changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class MenuModalComponent implements OnInit, OnDestroy {\n    @Input() closeBtn!: ButtonI;\n    @Input() logo?: string;\n    @Input() checkinLabel?: string;\n    @Input() altLogo?: string;\n    @Input() items?: MenuItem[];\n    @Input() booksBtn?: ButtonI;\n    @Input() buttonItem?: ButtonI;\n    @Input() phoneBtn?: ButtonI;\n    @Input() newsletterBtn?: ButtonI;\n    @Input() socialButtons?: ButtonI[];\n\n    @Output() checkinClick = new EventEmitter<void>();\n    @Output() newsletterClick = new EventEmitter<void>();\n    @Output() booksClick = new EventEmitter<void>();\n    @Output() elementClick = new EventEmitter<MenuItem>();\n\n    isInternalLink(item: MenuItem): boolean {\n        return item.type === 'internal';\n    }\n\n    private readonly dialogRef: MatDialogRef<MenuModalComponent> =\n        inject(MatDialogRef);\n    private readonly sanitizer = inject(DomSanitizer);\n\n    constructor(@Inject(PLATFORM_ID) private platformId: Object) {}\n\n    ngOnInit(): void {\n        if (!isPlatformBrowser(this.platformId)) return;\n        document\n            .getElementsByTagName('html')[0]\n            .setAttribute('style', 'overflow: hidden');\n    }\n\n    ngOnDestroy(): void {\n        if (!isPlatformBrowser(this.platformId)) return;\n        document\n            .getElementsByTagName('html')[0]\n            .setAttribute('style', 'overflow: auto');\n    }\n\n    getImage(image?: string): SafeStyle | undefined {\n        return image\n            ? this.sanitizer.bypassSecurityTrustStyle(\n                  `background-image: url(${image})`\n              )\n            : undefined;\n    }\n\n    linkClicked(item: MenuItem, event: Event): void {\n        if (item.type !== 'external') {\n            event.preventDefault();\n        }\n        this.elementClick.emit(item);\n        this.closeModal();\n    }\n\n    closeModal(): void {\n        this.dialogRef.close();\n    }\n}\n\nexport interface MenuItem {\n    id?: string | number;\n    title: string;\n    image?: string;\n    url?: string;\n    type: 'internal' | 'external' | 'component';\n    componentId?: string;\n}\n","<div class=\"menu-modal\">\n    <div class=\"menu-modal--close\">\n        <tent-button\n            type=\"dark-circle\"\n            [icon]=\"closeBtn.icon\"\n            [closeButton]=\"true\"\n            (btnClick)=\"closeModal()\"\n            [name]=\"closeBtn.icon\"\n        ></tent-button>\n    </div>\n\n    <div class=\"menu-modal--content\">\n        @if (logo) {\n        <div class=\"flex-row flex-row--center menu-modal--logo\">\n            <img\n                class=\"menu-modal--logo--img\"\n                [src]=\"logo\"\n                [alt]=\"altLogo\"\n                loading=\"lazy\"\n                width=\"100\"\n                height=\"100\"\n            />\n        </div>\n        }\n        <div class=\"menu-modal--links\">\n            @if (items?.length) { @for (item of items; track $index) { @if\n            (item.title) {\n            <a\n                [href]=\"item.url\"\n                [routerLink]=\"isInternalLink(item) ? [item.url] : null\"\n                [attr.aria-label]=\"item.title\"\n                class=\"menu-modal--link-wrapper\"\n                (click)=\"linkClicked(item, $event)\"\n            >\n                @if (item.image) {\n                <div class=\"menu-modal--image-wrapper\">\n                    <figure\n                        class=\"menu-modal--image\"\n                        [style]=\"getImage(item.image)\"\n                    ></figure>\n                </div>\n                }\n                <div class=\"menu-modal--link\">\n                    <p>\n                        {{ item.title }}\n                    </p>\n                    @if (buttonItem) {\n                    <tent-button\n                        class=\"menu-modal--btn\"\n                        type=\"dark-circle\"\n                        [icon]=\"buttonItem.icon\"\n                        [name]=\"buttonItem.icon\"\n                    ></tent-button>\n                    }\n                </div>\n            </a>\n            } }} @if (checkinLabel) {\n            <div\n                class=\"menu-modal--check-in--wrapper flex-row flex-row--center\"\n            >\n                <div class=\"menu-modal--check-in\" (click)=\"checkinClick.emit()\">\n                    <span class=\"color--white\">{{ checkinLabel }}</span>\n                </div>\n            </div>\n            } @if (newsletterBtn || socialButtons) {\n            <div class=\"flex-row flex-row--between menu-modal--social-media\">\n                @if (newsletterBtn) {\n                <tent-button\n                    type=\"dark-link\"\n                    [label]=\"newsletterBtn.label\"\n                    icon=\"icon-envelope-plus\"\n                    iconPosition=\"right\"\n                    (btnClick)=\"newsletterClick.emit()\"\n                    [name]=\"newsletterBtn.label\"\n                ></tent-button>\n                } @if (socialButtons?.length) {\n                <ul class=\"menu-modal--socials\">\n                    @for (socialBtn of socialButtons; track $index) {\n                    <li>\n                        <a\n                            [attr.aria-label]=\"socialBtn.icon\"\n                            [href]=\"socialBtn.url\"\n                            rel=\"external\"\n                            target=\"_blank\"\n                            [ngClass]=\"socialBtn.icon\"\n                            class=\"module-travelers--social color--brown\"\n                        ></a>\n                    </li>\n\n                    }\n                </ul>\n                }\n            </div>\n            } @if (phoneBtn) {\n            <div class=\"flex-row flex-row--center menu-modal--books\">\n                <!-- <tent-button\n                        type=\"dark-link\"\n                        [label]=\"booksBtn.label\"\n                        [icon]=\"booksBtn.icon\"\n                        (btnClick)=\"booksClick.emit()\"\n                    ></tent-button> -->\n\n                <tent-button\n                    type=\"dark-link\"\n                    [label]=\"phoneBtn.label\"\n                    [url]=\"phoneBtn.url\"\n                    icon=\"icon-phone\"\n                    iconPosition=\"left\"\n                ></tent-button>\n            </div>\n            }\n        </div>\n    </div>\n</div>\n","import {\n    ChangeDetectionStrategy,\n    Component,\n    EventEmitter,\n    Input,\n    OnInit,\n    Output,\n    inject,\n} from '@angular/core';\nimport { MatCheckboxModule } from '@angular/material/checkbox';\nimport { ButtonComponent } from '../../../atomic/button/button.component';\nimport { MatDialogRef } from '@angular/material/dialog';\nimport { ButtonI } from '../../../../interfaces/atomic/button.interface';\nimport { InputI } from '../../../../interfaces/atomic/input.interface';\nimport { DomSanitizer, SafeStyle } from '@angular/platform-browser';\nimport {\n    FormBuilder,\n    FormGroup,\n    FormsModule,\n    ReactiveFormsModule,\n    Validators,\n} from '@angular/forms';\nimport { CommonModule } from '@angular/common';\n\n@Component({\n    selector: 'tent-newsletter-modal',\n    standalone: true,\n    imports: [\n        MatCheckboxModule,\n        ButtonComponent,\n        FormsModule,\n        ReactiveFormsModule,\n        CommonModule,\n    ],\n    templateUrl: './newsletter-modal.component.html',\n    styleUrl: './newsletter-modal.component.scss',\n    changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class NewsletterModalComponent implements OnInit {\n    @Input() closeBtn?: ButtonI;\n    @Input() title?: string;\n    @Input() titleDark?: string;\n    @Input() description?: string;\n    @Input() conditions?: string;\n    @Input() image?: string;\n    @Input() input?: InputI;\n\n    @Output() submitForm = new EventEmitter<string>();\n\n    get imageInstant(): SafeStyle {\n        return this.sanitizer.bypassSecurityTrustStyle(\n            `background-image: url(${this.image})`\n        );\n    }\n\n    form!: FormGroup;\n\n    constructor(\n        private readonly dialogRef: MatDialogRef<NewsletterModalComponent>,\n        private readonly sanitizer: DomSanitizer,\n        private readonly fb: FormBuilder\n    ) {}\n\n    ngOnInit(): void {\n        this.form = this.fb.group({\n            input: ['', [Validators.email, Validators.required]],\n            checkbox: [false, [Validators.requiredTrue]],\n        });\n    }\n\n    validateInput(): void {\n        this.input!.valid = this.form.controls['input'].errors === null;\n    }\n\n    inputChange(event: Event): void {\n        this.input!.value = (event.target as HTMLInputElement).value;\n    }\n\n    close(): void {\n        this.dialogRef.close();\n    }\n\n    submit(): void {\n        this.submitForm.emit(this.input!.value as string);\n    }\n}\n","<div class=\"newsletter-modal\">\n    @if (closeBtn?.icon) {\n    <div class=\"newsletter-modal--close\">\n        <tent-button\n            type=\"dark-circle\"\n            [icon]=\"closeBtn?.icon\"\n            [closeButton]=\"true\"\n            (btnClick)=\"close()\"\n            [name]=\"closeBtn?.icon\"\n        ></tent-button>\n    </div>\n    } @if (image) {\n    <div class=\"newsletter-modal--left-slot\">\n        <figure class=\"figure-full\" [style]=\"imageInstant\"></figure>\n    </div>\n\n    }\n    <div class=\"newsletter-modal--right-slot\">\n        <div class=\"flex-col\">\n            @if (title || titleDark) {\n            <div>\n                @if (titleDark) {\n                <h3 class=\"newsletter-modal--title color--brown\">\n                    {{ titleDark }}\n                </h3>\n                } @if (title) {\n                <h3 class=\"newsletter-modal--title color--camel\">\n                    {{ title }}\n                </h3>\n                }\n            </div>\n            } @if (description) {\n            <p class=\"newsletter-modal--subtitle\">\n                {{ description }}\n            </p>\n            }\n\n            <form class=\"flex-col\" [formGroup]=\"form\">\n                <div class=\"newsletter-modal--input\">\n                    @if (input) {\n                    <input\n                        type=\"email\"\n                        [value]=\"input.value\"\n                        [placeholder]=\"input.placeholder\"\n                        (blur)=\"validateInput()\"\n                        (change)=\"inputChange($event)\"\n                        formControlName=\"input\"\n                    />\n                    <span\n                        class=\"icon-pointer-down\"\n                        [ngClass]=\"{ invalid: !form.valid }\"\n                        (click)=\"submit()\"\n                    ></span>\n                    }\n                </div>\n                @if (!input?.valid) {\n                <span class=\"form-error\">\n                    {{ input?.error }}\n                </span>\n                }\n\n                <div class=\"flex-row\">\n                    <mat-checkbox\n                        class=\"newsletter-modal--checkbox\"\n                        formControlName=\"checkbox\"\n                    ></mat-checkbox>\n                    @if (conditions) {\n                    <span\n                        [innerHTML]=\"conditions\"\n                        class=\"newsletter-modal--conditions color--brown\"\n                    >\n                    </span>\n                    }\n                </div>\n            </form>\n        </div>\n    </div>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, Input } from '@angular/core';\nimport { ButtonComponent } from '../../atomic/button/button.component';\nimport { ButtonI } from '../../../interfaces/atomic/button.interface';\n@Component({\n    selector: 'tent-module-404',\n    standalone: true,\n    imports: [CommonModule, ButtonComponent],\n    templateUrl: './module-404.component.html',\n    styleUrl: './module-404.component.scss',\n    changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class Module404Component {\n    @Input() title?: string;\n    @Input() subtitle?: string;\n    @Input() description?: string;\n    @Input() buttons?: ButtonI[];\n}\n","<section class=\"module-404 bg-beige\">\n    <div class=\"module-404--content\">\n        <div class=\"module-404--inner\">\n            @if (title || subtitle) {\n                <div class=\"module-404--card bg-camel\">\n                    <div class=\"module-404--card--box\">\n                        @if (title) {\n                            <h4\n                                class=\"module-404--titleTop title--42 color--brown\"\n                            >\n                                {{ title }}\n                            </h4>\n                        }\n                        @if (subtitle) {\n                            <p class=\"module-404--btn color--brown\">\n                                <span class=\"title--30\"> {{ subtitle }}</span>\n                            </p>\n                        }\n                    </div>\n                </div>\n            }\n            @if (description || buttons?.length) {}\n            <div class=\"module-404--info bg-white\">\n                <div class=\"module-404--info--des\">\n                    @if (description) {\n                        <p class=\"text\">\n                            {{ description }}\n                        </p>\n                    }\n                    @if (buttons?.length) {\n                        <div class=\"module-404--btns\">\n                            @for (btn of buttons; track $index) {\n                                <tent-button\n                                    class=\"btn-book btn-small\"\n                                    type=\"dark-box\"\n                                    [label]=\"btn.label\"\n                                    [url]=\"btn.url\"\n                                    [linkType]=\"btn.linkType!\"\n                                ></tent-button>\n                            }\n                        </div>\n                    }\n                </div>\n            </div>\n        </div>\n    </div>\n</section>\n","import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, Input } from '@angular/core';\nimport { LazyBackgroundDirective } from '../../../directives/lazy-background.directive';\nimport { ButtonI } from '../../../interfaces/atomic/button.interface';\nimport { ButtonComponent } from '../../atomic/button/button.component';\n\n@Component({\n    selector: 'tent-module-brava',\n    standalone: true,\n    imports: [CommonModule, LazyBackgroundDirective, ButtonComponent],\n    templateUrl: './module-brava.component.html',\n    styleUrl: './module-brava.component.scss',\n    changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ModuleBravaComponent {\n    @Input() description?: string;\n    @Input() img?: string;\n    @Input() buttons?: ButtonI[];\n}\n","<section class=\"module-brava module-spacer--bottom\">\n    <div class=\"wrapper-big\">\n        <div class=\"module-brava--wrapper\">\n            @if (img) {\n                <div class=\"module-brava--photo figure-content\">\n                    <figure class=\"figure-full\" [lazyBackground]=\"img\"></figure>\n                </div>\n            }\n            @if (description) {\n                <p\n                    class=\"module-brava--description\"\n                    [innerHTML]=\"description\"\n                ></p>\n            }\n            @if (buttons?.length) {\n                <div class=\"module-brava--footer\">\n                    @for (btn of buttons; track $index) {\n                        <tent-button\n                            type=\"dark-box\"\n                            [label]=\"btn.label\"\n                            [url]=\"btn.url\"\n                            [linkType]=\"btn.linkType\"\n                        ></tent-button>\n                    }\n                </div>\n            }\n        </div>\n    </div>\n</section>\n","import { CommonModule, isPlatformBrowser } from '@angular/common';\nimport {\n    AfterViewInit,\n    ChangeDetectionStrategy,\n    ChangeDetectorRef,\n    Component,\n    ElementRef,\n    Inject,\n    Input,\n    OnChanges,\n    OnDestroy,\n    OnInit,\n    PLATFORM_ID,\n    SimpleChanges,\n    ViewChild,\n} from '@angular/core';\nimport { GoogleMap, GoogleMapsModule } from '@angular/google-maps';\nimport { MarkerClusterer } from '@googlemaps/markerclusterer';\nimport { fromEvent, Subscription, tap } from 'rxjs';\n\n@Component({\n    selector: 'tent-module-google-maps',\n    standalone: true,\n    imports: [CommonModule, GoogleMapsModule],\n    templateUrl: './module-google-maps.component.html',\n    styleUrl: './module-google-maps.component.scss',\n    changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ModuleGoogleMapsComponent\n    implements OnInit, AfterViewInit, OnChanges, OnDestroy\n{\n    @ViewChild('googleMap') googleMaps!: GoogleMap;\n    @ViewChild('googleMap', { read: ElementRef })\n    googleMapsElement!: ElementRef;\n    @Input() markers?: GoogleMarker[];\n    @Input() zoom = 6;\n    @Input() markerImg?: string;\n\n    existingScript?: boolean;\n\n    private markersArray: google.maps.Marker[] = [];\n    private customMarkersArray: google.maps.OverlayView[] = [];\n    private markerCluster?: MarkerClusterer;\n\n    //map config\n    width!: number;\n    map!: google.maps.Map;\n\n    options: google.maps.MapOptions = {\n        styles: [\n            {\n                elementType: 'geometry',\n                stylers: [{ color: '#ebe3cd' }],\n            },\n            {\n                elementType: 'labels.text.fill',\n                stylers: [{ color: '#523735' }],\n            },\n            {\n                elementType: 'labels.text.stroke',\n                stylers: [{ color: '#f5f1e6' }],\n            },\n            {\n                featureType: 'administrative',\n                elementType: 'geometry.stroke',\n                stylers: [{ color: '#c9b2a6' }],\n            },\n            {\n                featureType: 'administrative.land_parcel',\n                elementType: 'geometry.stroke',\n                stylers: [{ color: '#dcd2be' }],\n            },\n            {\n                featureType: 'administrative.land_parcel',\n                elementType: 'labels.text.fill',\n                stylers: [{ color: '#ae9e90' }],\n            },\n            {\n                featureType: 'landscape.natural',\n                elementType: 'geometry',\n                stylers: [{ color: '#e9d1bd' }],\n            },\n            {\n                featureType: 'poi',\n                elementType: 'geometry',\n                stylers: [{ color: '#e9d1bd' }],\n            },\n            {\n                featureType: 'poi',\n                elementType: 'labels.text.fill',\n                stylers: [{ color: '#93817c' }],\n            },\n            {\n                featureType: 'poi.park',\n                elementType: 'geometry.fill',\n                stylers: [{ color: '#a5b076' }],\n            },\n            {\n                featureType: 'poi.park',\n                elementType: 'labels.text.fill',\n                stylers: [{ color: '#447530' }],\n            },\n            {\n                featureType: 'road',\n                elementType: 'geometry',\n                stylers: [{ color: '#ffffff' }],\n            },\n            {\n                featureType: 'road.arterial',\n                elementType: 'geometry',\n                stylers: [{ color: '#ffffff' }],\n            },\n            {\n                featureType: 'road.highway',\n                elementType: 'geometry',\n                stylers: [{ color: '#ffffff' }],\n            },\n            {\n                featureType: 'road.highway',\n                elementType: 'geometry.stroke',\n                stylers: [{ color: '#ffffff' }],\n            },\n            {\n                featureType: 'road.highway.controlled_access',\n                elementType: 'geometry',\n                stylers: [{ color: '#ffffff' }],\n            },\n            {\n                featureType: 'road.highway.controlled_access',\n                elementType: 'geometry.stroke',\n                stylers: [{ color: '#ffffff' }],\n            },\n            {\n                featureType: 'road.local',\n                elementType: 'labels.text.fill',\n                stylers: [{ color: '#ffffff' }],\n            },\n            {\n                featureType: 'transit.line',\n                elementType: 'geometry',\n                stylers: [{ color: '#e9d1bd' }],\n            },\n            {\n                featureType: 'transit.line',\n                elementType: 'labels.text.fill',\n                stylers: [{ color: '#8f7d77' }],\n            },\n            {\n                featureType: 'transit.line',\n                elementType: 'labels.text.stroke',\n                stylers: [{ color: '#f0d0e4' }],\n            },\n            {\n                featureType: 'transit.station',\n                elementType: 'geometry',\n                stylers: [{ color: '#e9d1bd' }],\n            },\n            {\n                featureType: 'water',\n                elementType: 'geometry.fill',\n                stylers: [{ color: '#c5d0d1' }],\n            },\n            {\n                featureType: 'water',\n                elementType: 'labels.text.fill',\n                stylers: [{ color: '#c5d0d1' }],\n            },\n        ],\n    };\n\n    get centerMark(): GoogleMarker['position'] {\n        return this.markers?.[0]?.position!;\n    }\n\n    private resizeSub?: Subscription;\n\n    constructor(\n        private cdr: ChangeDetectorRef,\n        @Inject(PLATFORM_ID) private platformId: Object\n    ) {}\n\n    ngOnInit(): void {\n        if (!isPlatformBrowser(this.platformId)) return;\n        this.resizeSub = fromEvent(window, 'resize')\n            .pipe(\n                tap(() => {\n                    this.width = (\n                        this.googleMapsElement?.nativeElement as HTMLElement\n                    ).clientWidth;\n                    this.cdr.detectChanges();\n                })\n            )\n            .subscribe();\n    }\n\n    ngOnChanges(changes: SimpleChanges): void {\n        if (\n            changes['markers']?.currentValue &&\n            !changes['markers']?.firstChange\n        ) {\n            this.addCustomMarkers();\n        }\n    }\n\n    ngAfterViewInit(): void {\n        if (!isPlatformBrowser(this.platformId)) return;\n        if (this.googleMaps?.googleMap) {\n            this.width = (\n                this.googleMapsElement?.nativeElement as HTMLElement\n            ).clientWidth;\n            this.map = this.googleMaps?.googleMap;\n            this.cdr.detectChanges();\n            this.addCustomMarkers();\n        }\n    }\n\n    ngOnDestroy(): void {\n        if (this.resizeSub) {\n            this.resizeSub.unsubscribe();\n        }\n    }\n\n    addCustomMarkers() {\n        if (!isPlatformBrowser(this.platformId)) return;\n        this.clearMarkers();\n        this.markers?.forEach((data) => {\n            const marker = new google.maps.Marker({\n                position: new google.maps.LatLng(\n                    data.position.lat,\n                    data.position.lng\n                ),\n                map: null,\n            });\n\n            this.markersArray.push(marker);\n\n            const markerDiv = document.createElement('div');\n            markerDiv.classList.add('custom-marker');\n\n            const img = document.createElement('img');\n            img.src = this.markerImg ?? '/assets/tent/img/marker_maps.svg';\n\n            const labelDiv = document.createElement('div');\n            labelDiv.classList.add('label');\n            labelDiv.innerText = data.label;\n\n            markerDiv.appendChild(img);\n            markerDiv.appendChild(labelDiv);\n\n            if (this.markers && this.markers?.length < 1) {\n                markerDiv.addEventListener('click', () => {\n                    window.open(data.url, '_blank');\n                });\n            }\n\n            const customMarker = new google.maps.OverlayView();\n\n            customMarker.onAdd = function () {\n                const panes = this.getPanes();\n                panes?.overlayMouseTarget.appendChild(markerDiv);\n            };\n\n            customMarker.draw = function () {\n                const projection = this.getProjection();\n                const position = projection.fromLatLngToDivPixel(\n                    new google.maps.LatLng(data.position.lat, data.position.lng)\n                );\n                if (position) {\n                    markerDiv.style.left = `${position.x}px`;\n                    markerDiv.style.top = `${position.y}px`;\n                }\n            };\n\n            customMarker.onRemove = function () {\n                if (markerDiv.parentNode) {\n                    markerDiv.parentNode.removeChild(markerDiv);\n                }\n            };\n\n            customMarker.setMap(this.map);\n            this.customMarkersArray.push(customMarker);\n        });\n\n        this.markerCluster = new MarkerClusterer({\n            map: this.map,\n            markers: this.markersArray,\n            renderer: {\n                render: ({ count, position }) => {\n                    const div = document.createElement('div');\n                    div.textContent = count.toString();\n                    div.className = 'custom-cluster';\n                    return new google.maps.Marker({\n                        position,\n                        icon: {\n                            url: '/assets/tent/img/marker_maps-empty.svg',\n                            scaledSize: new google.maps.Size(53, 53),\n                            anchor: new google.maps.Point(26.5, 53),\n                            labelOrigin: new google.maps.Point(26.5, 26.5),\n                        },\n                        label: {\n                            text: count.toString(),\n                            color: '#fff',\n                            fontWeight: 'bold',\n                            fontSize: '16px',\n                        },\n                    });\n                },\n            },\n        });\n\n        google.maps.event.addListener(\n            this.markerCluster,\n            'clusteringend',\n            () => {\n                this.customMarkersArray.forEach((customMarker, index) => {\n                    const isVisible =\n                        this.markersArray[index].getMap() !== null;\n                    customMarker.getMap() && customMarker.onRemove();\n                    if (isVisible) {\n                        customMarker.setMap(this.map);\n                    } else {\n                        customMarker.setMap(null);\n                    }\n                });\n            }\n        );\n    }\n\n    private clearMarkers() {\n        // Limpiar los marcadores estándar\n        this.markersArray.forEach((marker) => marker.setMap(null));\n        this.markersArray = [];\n\n        // Limpiar los custom markers (OverlayView)\n        this.customMarkersArray.forEach((customMarker) =>\n            customMarker.setMap(null)\n        );\n        this.customMarkersArray = [];\n\n        // Limpiar el cluster anterior\n        if (this.markerCluster) {\n            this.markerCluster.clearMarkers(); // Quitar los marcadores del cluster\n            this.markerCluster = undefined; // Resetear el cluster\n        }\n    }\n}\nexport interface GoogleMarker {\n    position: {\n        lat: number;\n        lng: number;\n    };\n    label: string;\n    url: string;\n    hotelId: number;\n}\n","@if (markers?.length) {\n    <section class=\"google-maps wrapper-medium module-spacer--bottom\">\n        <google-map\n            #googleMap\n            [options]=\"options\"\n            [width]=\"width\"\n            [center]=\"centerMark\"\n            [zoom]=\"zoom\"\n        >\n        </google-map>\n    </section>\n}\n","import { CommonModule } from '@angular/common';\nimport {\n    ChangeDetectionStrategy,\n    Component,\n    Input,\n    OnInit,\n} from '@angular/core';\nimport { DomSanitizer, SafeStyle } from '@angular/platform-browser';\nimport { ButtonComponent } from '../../atomic/button/button.component';\nimport { ButtonI } from '../../../interfaces/atomic/button.interface';\nimport {\n    DropdownComponent,\n    DropdownOption,\n} from '../../atomic/dropdown/dropdown.component';\n\n@Component({\n    selector: 'tent-module-search',\n    standalone: true,\n    imports: [CommonModule, ButtonComponent, DropdownComponent],\n    templateUrl: './module-search.component.html',\n    styleUrl: './module-search.component.scss',\n    changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ModuleSearchComponent implements OnInit {\n    @Input() theme?: string;\n    @Input() title?: string;\n    @Input() placeholder?: string;\n    @Input() hotels?: ModuleSearchHotel[];\n\n    itemsToShow: ModuleSearchHotel[] = [];\n\n    options: DropdownOption[] = [];\n\n    constructor(private readonly sanitizer: DomSanitizer) {}\n\n    ngOnInit(): void {\n        if (this.hotels) {\n            for (let i = 0; i < this.hotels.length; i++) {\n                this.options.push({\n                    code: i.toString(),\n                    name: this.hotels[i].title!,\n                });\n            }\n        }\n    }\n\n    getImage(image: string): SafeStyle {\n        return this.sanitizer.bypassSecurityTrustStyle(\n            `background-image: url(${image})`\n        );\n    }\n\n    onSelect(option: DropdownOption): void {\n        const selected = this.hotels?.find(\n            (hotel) => hotel.title === option.name\n        );\n        this.itemsToShow = selected ? [selected] : [];\n    }\n\n    search(text: any): void {\n        this.itemsToShow = [];\n\n        this.hotels?.forEach((hotel) => {\n            if (\n                (hotel.title\n                    ?.toLowerCase()\n                    .includes(text.target.value.toLowerCase()) ||\n                    hotel.address\n                        ?.toLowerCase()\n                        .includes(text.target.value.toLowerCase())) &&\n                text?.target.value !== ''\n            ) {\n                this.itemsToShow.push(hotel);\n            }\n        });\n    }\n}\n\nexport interface ModuleSearchHotel {\n    img?: string;\n    title?: string;\n    address?: string;\n    contactLinks?: ButtonI[];\n    links?: ButtonI[];\n    footerTitle?: string;\n    footerDescription?: string;\n}\n","<div class=\"module-spacer--bottom\">\n    <section\n        class=\"module-search wrapper-medium\"\n        [ngClass]=\"{ 'module-search--laundry': theme === 'theme-laundry' }\"\n    >\n        <div class=\"module-search--header\">\n            @if (title) {\n            <p class=\"module-search--title color--brown\">\n                {{ title }}\n            </p>\n            } @if (theme !== 'theme-laundry') {\n            <div class=\"module-search--input--wrapper\">\n                <input\n                    type=\"text\"\n                    class=\"module-search--input\"\n                    [placeholder]=\"placeholder\"\n                    (input)=\"search($event)\"\n                />\n                <span\n                    class=\"module-search--input--icon\"\n                    class=\"icon-search\"\n                ></span>\n            </div>\n            } @else {\n            <tent-dropdown\n                [placeholder]=\"placeholder\"\n                [options]=\"options\"\n                theme=\"theme-laundry\"\n                (change)=\"onSelect($event)\"\n            ></tent-dropdown>\n            }\n        </div>\n\n        @if (itemsToShow.length) {\n        <div class=\"module-search--content\">\n            @for (item of itemsToShow; track $index) {\n            <div class=\"module-search--item\">\n                @if (item.img) {\n                <div class=\"module-search--item--image--wrapper\">\n                    <figure\n                        class=\"figure-full module-search--item--image\"\n                        [style]=\"getImage(item.img)\"\n                    ></figure>\n                </div>\n                }\n                <div class=\"module-search--item--content\">\n                    @if (item.title || item.address) {\n                    <div class=\"module-search--item--header\">\n                        @if (item.title) {\n                        <p class=\"module-search--item--title color--brown\">\n                            {{ item.title }}\n                        </p>\n                        } @if (item.address) {\n                        <p\n                            class=\"module-search--item--address\"\n                            [innerHTML]=\"item.address\"\n                        ></p>\n                        }\n                    </div>\n                    } @if (theme !== 'theme-laundry') { @if (item.contactLinks)\n                    {\n                    <div class=\"module-search--item--links\">\n                        @for (link of item.contactLinks; track $index) {\n                        <a\n                            class=\"link\"\n                            [href]=\"link.url\"\n                            target=\"_blank\"\n                            [attr.aria-label]=\"link.label\"\n                        >\n                            {{ link.label }}\n                        </a>\n                        } @for (link of item.links; track $index) {\n                        <tent-button\n                            type=\"dark-link\"\n                            [label]=\"link.label\"\n                            [url]=\"link.url\"\n                        ></tent-button>\n                        }\n                    </div>\n                    } } @else {\n\n                    <img\n                        class=\"module-search--icon-map\"\n                        src=\"/assets/tent/img/icon-map-palma.svg\"\n                        loading=\"lazy\"\n                        width=\"130\"\n                        height=\"130\"\n                        alt=\"\"\n                    />\n                    @if (item.footerTitle || item.footerDescription) {\n                    <div class=\"module-search--footer\">\n                        @if (item.footerTitle) {\n                        <p class=\"module-search--footer--title\">\n                            {{ item.footerTitle }}\n                        </p>\n                        } @if (item.footerDescription) {\n                        <p class=\"module-search--footer--description\">\n                            {{ item.footerDescription }}\n                        </p>\n                        }\n                    </div>\n                    } }\n                </div>\n            </div>\n\n            }\n        </div>\n        }\n    </section>\n</div>\n","import { CommonModule, isPlatformBrowser } from '@angular/common';\nimport {\n    AfterViewInit,\n    ChangeDetectionStrategy,\n    Component,\n    ElementRef,\n    EventEmitter,\n    Inject,\n    Input,\n    OnDestroy,\n    OnInit,\n    Output,\n    PLATFORM_ID,\n    ViewChild,\n} from '@angular/core';\nimport {\n    FormBuilder,\n    FormGroup,\n    FormsModule,\n    ReactiveFormsModule,\n} from '@angular/forms';\nimport { MatIconModule } from '@angular/material/icon';\nimport { DialogModule } from 'primeng/dialog';\nimport { BadgeI } from '../../../interfaces/atomic/badge.interface';\nimport { ButtonI } from '../../../interfaces/atomic/button.interface';\nimport { DropdownI } from '../../../interfaces/atomic/dropdown.interface';\nimport { InputI } from '../../../interfaces/atomic/input.interface';\nimport { GuestsPopupI } from '../../../interfaces/core/guests-popup.interface';\nimport { BadgeComponent } from '../../atomic/badge/badge.component';\nimport { ButtonComponent } from '../../atomic/button/button.component';\nimport { DatepickerComponent } from '../../atomic/datepicker/datepicker.component';\nimport { DropdownComponent } from '../../atomic/dropdown/dropdown.component';\nimport {\n    GuestsPopupComponent,\n    GuestsValue,\n} from '../guests-popup/guests-popup.component';\n\n@Component({\n    selector: 'tent-motor',\n    standalone: true,\n    imports: [\n        CommonModule,\n        ButtonComponent,\n        DatepickerComponent,\n        DropdownComponent,\n        GuestsPopupComponent,\n        FormsModule,\n        ReactiveFormsModule,\n        DialogModule,\n        GuestsPopupComponent,\n        MatIconModule,\n        BadgeComponent,\n    ],\n    templateUrl: './motor.component.html',\n    styleUrl: './motor.component.scss',\n    changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class MotorComponent implements OnDestroy, AfterViewInit, OnInit {\n    @ViewChild('wrapper', { read: ElementRef }) wrapper!: ElementRef;\n    @Input() modal = false;\n    @Input() square = false;\n    @Input() mirai = true;\n    @Input({ required: true }) lang!: string;\n    @Input() title?: string;\n    @Input() subtitle?: string;\n    @Input() hotelId?: string | number;\n    @Input() advantages?: BadgeI;\n    @Input() date!: motorDate;\n    @Input() dropdown!: DropdownI;\n    @Input() promoInput!: InputI;\n    @Input() guestsInput!: InputI;\n    @Input() btnSubmit!: ButtonI;\n    @Input() guestsPopup!: GuestsPopupI;\n    @Input() isHome?: boolean;\n\n    @Output() submit = new EventEmitter<MotorValue>();\n    @Output() close = new EventEmitter<void>();\n    @Output() advantagesClick = new EventEmitter<void>();\n\n    motorForm!: FormGroup;\n    dialogVisible = false;\n    dialogReady = false;\n    guestsValue?: GuestsValue;\n\n    isComponent?: boolean = false;\n\n    constructor(\n        private readonly formBuilder: FormBuilder,\n        @Inject(PLATFORM_ID) private platformId: Object\n    ) {}\n\n    ngOnInit(): void {\n        if (!this.mirai) {\n            this.motorForm = this.formBuilder.group({\n                hotel: [],\n                date: [],\n                guests: [],\n                promo: [],\n            });\n        }\n    }\n\n    ngAfterViewInit(): void {\n        this.isComponent = (\n            this.wrapper.nativeElement as HTMLElement\n        ).parentElement?.classList.contains('component');\n\n        if (this.modal && !this.isComponent) {\n            document\n                .getElementsByTagName('html')[0]\n                .setAttribute('style', 'overflow: hidden');\n\n            (\n                this.wrapper.nativeElement as HTMLElement\n            ).parentElement?.classList.add('modal');\n        }\n        if (this.square) {\n            this.initMiraiMotor();\n        }\n    }\n\n    private initMiraiMotor(): void {\n        if (!isPlatformBrowser(this.platformId)) return;\n        const tryInit = () => {\n            if ((window as any).Mirai?.core) {\n                (window as any).Mirai.core();\n            } else {\n                setTimeout(tryInit, 150);\n            }\n        };\n\n        tryInit();\n    }\n\n    btnClicked(): void {\n        if (!this.guestsValue) {\n            this.guestsValue = {\n                totalGuests: 1,\n                adults: 1,\n                kids: 0,\n                babys: 0,\n                kidsAges: [],\n            };\n        }\n        this.submit.emit({\n            formValue: this.motorForm.value,\n            guestValue: this.guestsValue,\n            url: this.btnSubmit.url!,\n        });\n\n        if (this.modal) {\n            this.closeDialog();\n        }\n    }\n\n    changeInput(event: any): void {\n        this.promoInput.value = event.target.value;\n    }\n\n    togglePopup(): void {\n        this.dialogVisible = !this.dialogVisible;\n\n        if (!this.modal) {\n            this.close.emit();\n        }\n    }\n\n    closeDialog(): void {\n        this.toggleMotorDialogReady();\n    }\n\n    ngOnDestroy(): void {\n        if (!isPlatformBrowser(this.platformId)) return;\n        if (this.modal && !this.isComponent) {\n            document\n                .getElementsByTagName('html')[0]\n                .setAttribute('style', 'overflow: unset');\n        }\n    }\n\n    closeModal(): void {\n        this.close.emit();\n    }\n\n    toggleMotorDialogReady(): void {\n        this.dialogReady = !this.dialogReady;\n    }\n\n    guestsChange(guests: GuestsValue) {\n        this.guestsInput.value =\n            guests.totalGuests < 10\n                ? '0' + guests.totalGuests.toString()\n                : guests.totalGuests.toString();\n\n        this.guestsValue = guests;\n\n        this.motorForm.get('guests')?.setValue(this.guestsInput.value);\n\n        this.togglePopup();\n    }\n}\n\nexport interface motorInput {\n    title: string;\n    icon: string;\n    placeholder?: string;\n    value: string;\n}\n\nexport interface motorDate {\n    value: [Date, Date];\n    title: string;\n    icon: string;\n}\n\nexport interface MotorValue {\n    formValue: any;\n    guestValue: GuestsValue;\n    url: string;\n}\n","<div\n    #wrapper\n    class=\"motor--wrapper\"\n    [ngClass]=\"{\n        'motor--wrapper--modal': modal,\n    }\"\n>\n    @if (modal) {\n        <div class=\"motor--close-button\">\n            <tent-button\n                type=\"dark-circle\"\n                icon=\"icon-close\"\n                (btnClick)=\"closeModal()\"\n                name=\"close\"\n            ></tent-button>\n        </div>\n    }\n    @if (mirai) {\n        <ng-container *ngTemplateOutlet=\"header\"></ng-container>\n        @if (!isHome) {\n            <div\n                data-type=\"chain\"\n                data-currency=\"EUR\"\n                [attr.data-locale]=\"lang\"\n                [attr.data-hotel]=\"hotelId\"\n                data-mirai-id=\"502045\"\n            ></div>\n        } @else {\n            <div\n                data-type=\"chain\"\n                data-currency=\"EUR\"\n                [attr.data-locale]=\"lang\"\n                data-mirai-id=\"502045\"\n            ></div>\n        }\n        @if (square) {\n            <div class=\"mi-be-square\">\n                <div data-mirai-component=\"finder\" data-layout=\"column\"></div>\n            </div>\n            <span class=\"advantages--noBadge\" (click)=\"advantagesClick.emit()\">\n                {{ advantages?.label }}\n            </span>\n        } @else {\n            <ng-container *ngTemplateOutlet=\"advantagesRef\"></ng-container>\n\n            <div data-mirai-component=\"finder\"></div>\n        }\n    } @else {\n        <ng-container *ngTemplateOutlet=\"header\"></ng-container>\n        @if (!isComponent && !modal) {\n            <ng-container *ngTemplateOutlet=\"advantagesRef\"></ng-container>\n        }\n        <form\n            class=\"motor flex-row flex-row--center\"\n            [formGroup]=\"motorForm\"\n            [ngClass]=\"{ 'motor--modal': modal }\"\n        >\n            <tent-dropdown\n                [options]=\"dropdown.options\"\n                [placeholder]=\"dropdown.placeholder\"\n                [sameTitlePlaceholder]=\"true\"\n                formControlName=\"hotel\"\n                [staticPosition]=\"false\"\n            ></tent-dropdown>\n            <tent-datepicker\n                [placeholder]=\"date.title\"\n                [icon]=\"date.icon\"\n                [value]=\"date.value\"\n                [sameTitlePlaceholder]=\"true\"\n                formControlName=\"date\"\n            ></tent-datepicker>\n            <div\n                class=\"motor--input--wrapper flex-row flex-row--between\"\n                (click)=\"togglePopup()\"\n            >\n                <div class=\"motor--input--content\">\n                    @if (guestsInput.value) {\n                        <p class=\"motor--input--title\">\n                            {{ guestsInput.placeholder }}\n                        </p>\n                    }\n                    <input\n                        [disabled]=\"true\"\n                        class=\"motor--input\"\n                        type=\"text\"\n                        [value]=\"guestsInput.value\"\n                        [placeholder]=\"guestsInput.placeholder\"\n                        formControlName=\"guests\"\n                    />\n                </div>\n\n                <span\n                    class=\"motor--input--icon\"\n                    [ngClass]=\"guestsInput.icon\"\n                ></span>\n            </div>\n\n            @if (!modal) {\n                <p-dialog\n                    class=\"motor--dialog\"\n                    [(visible)]=\"dialogVisible\"\n                    (onShow)=\"toggleMotorDialogReady()\"\n                    (onHide)=\"toggleMotorDialogReady()\"\n                >\n                    <tent-guests-popup\n                        [adultsDropdown]=\"guestsPopup.adultsDropdown\"\n                        [kidsDropdown]=\"guestsPopup.kidsDropdown\"\n                        [ageDropdown]=\"guestsPopup.ageDropdown\"\n                        [babysDropdown]=\"guestsPopup.babysDropdown\"\n                        [title]=\"guestsPopup.title\"\n                        [kidLabel]=\"guestsPopup.kidLabel\"\n                        [btnApply]=\"guestsPopup.btnApply\"\n                        (appliedData)=\"guestsChange($event)\"\n                    ></tent-guests-popup>\n                </p-dialog>\n            } @else if (dialogVisible) {\n                <tent-guests-popup\n                    [adultsDropdown]=\"guestsPopup.adultsDropdown\"\n                    [kidsDropdown]=\"guestsPopup.kidsDropdown\"\n                    [ageDropdown]=\"guestsPopup.ageDropdown\"\n                    [babysDropdown]=\"guestsPopup.babysDropdown\"\n                    [title]=\"guestsPopup.title\"\n                    [kidLabel]=\"guestsPopup.kidLabel\"\n                    [btnApply]=\"guestsPopup.btnApply\"\n                    (appliedData)=\"guestsChange($event)\"\n                ></tent-guests-popup>\n            }\n\n            <div\n                class=\"motor--input--wrapper flex-row flex-row--between\"\n                [ngClass]=\"{ 'motor--input--wrapper--left': !modal }\"\n                (click)=\"promoInputRef.focus()\"\n            >\n                <div class=\"motor--input--content\">\n                    @if (promoInput.value) {\n                        <p class=\"motor--input--title\">\n                            {{ promoInput.placeholder }}\n                        </p>\n                    }\n                    <input\n                        #promoInputRef\n                        class=\"motor--input\"\n                        type=\"text\"\n                        [value]=\"promoInput.value\"\n                        [placeholder]=\"promoInput.placeholder\"\n                        formControlName=\"promo\"\n                        (input)=\"changeInput($event)\"\n                    />\n                </div>\n\n                <span\n                    class=\"motor--input--icon\"\n                    [ngClass]=\"promoInput.icon\"\n                ></span>\n            </div>\n\n            <div class=\"motor--dark-btn-wrapper\">\n                <tent-button\n                    [ngClass]=\"{ 'motor--dark-btn--modal': modal }\"\n                    class=\"motor--dark-btn\"\n                    type=\"dark-box-filled\"\n                    [label]=\"btnSubmit.label\"\n                    boxWidth=\"200px\"\n                    (btnClick)=\"btnClicked()\"\n                    [name]=\"btnSubmit.label\"\n                ></tent-button>\n            </div>\n        </form>\n        @if (modal && advantages) {\n            <span class=\"advantages--noBadge\" (click)=\"advantagesClick.emit()\">\n                {{ advantages.label }}\n            </span>\n        }\n    }\n</div>\n\n<ng-template #header>\n    @if ((title || subtitle) && modal) {\n        <header class=\"motor--header\">\n            @if (title) {\n                <h3 class=\"motor--title color--brown\">\n                    {{ title }}\n                </h3>\n            }\n            @if (subtitle) {\n                <h3 class=\"motor--title color--camel\">\n                    {{ subtitle }}\n                </h3>\n            }\n        </header>\n    }\n</ng-template>\n\n<ng-template #advantagesRef>\n    @if (advantages) {\n        <tent-badge\n            class=\"advantages\"\n            [label]=\"advantages.label\"\n            [icon]=\"advantages.icon\"\n            [rounded]=\"true\"\n            (click)=\"advantagesClick.emit()\"\n        ></tent-badge>\n    }\n</ng-template>\n","import { CommonModule, isPlatformBrowser } from '@angular/common';\nimport {\n    AfterViewInit,\n    ChangeDetectionStrategy,\n    Component,\n    ElementRef,\n    EventEmitter,\n    Inject,\n    Input,\n    Output,\n    PLATFORM_ID,\n    ViewChild,\n} from '@angular/core';\nimport { RouterModule } from '@angular/router';\nimport { fromEvent, tap } from 'rxjs';\nimport { BadgeI } from '../../../interfaces/atomic/badge.interface';\nimport { ButtonI } from '../../../interfaces/atomic/button.interface';\nimport { ImageI } from '../../../interfaces/atomic/image.interface';\nimport { CurrencyPipe } from '../../../pipes/currency.pipe';\nimport { BadgeComponent } from '../../atomic/badge/badge.component';\nimport { ButtonComponent } from '../../atomic/button/button.component';\n\n@Component({\n    selector: 'tent-offer-banner',\n    standalone: true,\n    imports: [\n        CommonModule,\n        BadgeComponent,\n        ButtonComponent,\n        RouterModule,\n        CurrencyPipe,\n    ],\n    templateUrl: './offer-banner.component.html',\n    styleUrl: './offer-banner.component.scss',\n    changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class OfferBannerComponent implements AfterViewInit {\n    @ViewChild('close', { read: ElementRef }) closeBtn!: ElementRef;\n    @ViewChild('closeBanner', { read: ElementRef }) closeBanner!: ElementRef;\n    @Input() badge?: BadgeI;\n    @Input() btnClose?: ButtonI;\n    @Input() mainLabel?: string;\n    @Input() priceLabel?: string;\n    @Input() closeLabel?: string;\n    @Input() price?: string;\n    @Input() currency?: string;\n    @Input() btnInfo?: ButtonI;\n    @Input() img?: ImageI;\n    @Input() desktop?: boolean;\n    @Input() left?: boolean;\n\n    @Output() closeClick = new EventEmitter<void>();\n\n    constructor(@Inject(PLATFORM_ID) private platformId: Object) {}\n\n    ngAfterViewInit(): void {\n        if (!isPlatformBrowser(this.platformId)) return;\n        fromEvent(this.closeBtn.nativeElement, 'mouseenter')\n            .pipe(\n                tap(() => {\n                    (\n                        this.closeBanner.nativeElement as HTMLElement\n                    ).classList.add(\n                        this.left\n                            ? 'offer-banner--close--container--displayed--left'\n                            : 'offer-banner--close--container--displayed'\n                    );\n                    if (this.desktop) {\n                        (\n                            this.closeBtn.nativeElement as HTMLElement\n                        ).style.opacity = '0';\n                    }\n                })\n            )\n            .subscribe();\n        fromEvent(\n            document.getElementsByTagName('tent-offer-banner')[0],\n            'mouseleave'\n        )\n            .pipe(\n                tap(() => {\n                    (\n                        this.closeBanner.nativeElement as HTMLElement\n                    ).classList.remove(\n                        this.left\n                            ? 'offer-banner--close--container--displayed--left'\n                            : 'offer-banner--close--container--displayed'\n                    );\n                    (this.closeBtn.nativeElement as HTMLElement).style.opacity =\n                        '1';\n                })\n            )\n            .subscribe();\n    }\n\n    closeModal(): void {\n        this.closeClick.emit();\n    }\n\n    bannerClicked(event: Event): void {\n        event.preventDefault();\n    }\n}\n","<div\n    #closeBanner\n    class=\"offer-banner--close--container\"\n    [ngClass]=\"{ 'offer-banner--close--container--left': left }\"\n    (click)=\"closeClick.emit(); $event.stopPropagation()\"\n>\n    {{ closeLabel }}\n</div>\n\n<div class=\"offer-banner\" [ngClass]=\"{ 'offer-banner--left': left }\">\n    @if (badge) {\n        <tent-badge\n            class=\"offer-banner--badge\"\n            [rounded]=\"true\"\n            [label]=\"badge.label\"\n        ></tent-badge>\n    }\n    @if (btnClose) {\n        <tent-button\n            #close\n            class=\"offer-banner--close\"\n            type=\"dark-circle\"\n            [icon]=\"btnClose.icon\"\n            (btnClick)=\"closeClick.emit()\"\n            (click)=\"$event.stopPropagation()\"\n            name=\"close\"\n        ></tent-button>\n    }\n\n    <div\n        [attr.aria-label]=\"mainLabel\"\n        class=\"offer-banner--container\"\n        [routerLink]=\"btnInfo?.url ? [btnInfo?.url] : null\"\n        (click)=\"bannerClicked($event)\"\n    >\n        <div class=\"flex-col flex-col--between offer-banner--content\">\n            @if (mainLabel) {\n                <p class=\"offer-banner--title\">\n                    {{ mainLabel }}\n                </p>\n            }\n            <div class=\"flex-row flex-row--between\">\n                @if (price || priceLabel) {\n                    <div class=\"flex-row offer-banner--price\">\n                        @if (priceLabel) {\n                            <span class=\"color--white offer-banner--sublabel\">\n                                {{ priceLabel }}\n                            </span>\n                        }\n                        @if (price) {\n                            <span class=\"color--white offer-banner--offer\">\n                                {{ price }}\n                                @if (currency) {\n                                    {{ currency | currencySymbol }}\n                                }\n                            </span>\n                        }\n                    </div>\n                }\n                @if (btnInfo) {\n                    <tent-button\n                        class=\"offer-banner--btn-info offer-banner--btn-info--desktop\"\n                        type=\"dark-box\"\n                        [label]=\"btnInfo.label\"\n                        [url]=\"btnInfo.url\"\n                        [linkType]=\"btnInfo.linkType!\"\n                        boxWidth=\"154px\"\n                    ></tent-button>\n                    <tent-button\n                        class=\"offer-banner--btn-info offer-banner--btn-info--mobile\"\n                        type=\"dark-box\"\n                        [label]=\"btnInfo.label\"\n                        [url]=\"btnInfo.url\"\n                        [linkType]=\"btnInfo.linkType!\"\n                        boxWidth=\"115px\"\n                    ></tent-button>\n                }\n            </div>\n        </div>\n        @if (img?.src) {\n            <img\n                [src]=\"\n                    img?.src ||\n                    'data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7'\n                \"\n                [alt]=\"img?.alt\"\n                class=\"offer-banner--image\"\n                loading=\"lazy\"\n                width=\"150\"\n                height=\"100\"\n            />\n        }\n    </div>\n</div>\n","import { CommonModule } from '@angular/common';\nimport {\n    ChangeDetectionStrategy,\n    Component,\n    EventEmitter,\n    Input,\n    Output,\n} from '@angular/core';\nimport { ButtonComponent } from '../../atomic/button/button.component';\nimport { BadgeComponent } from '../../atomic/badge/badge.component';\nimport { BadgeI } from '../../../interfaces/atomic/badge.interface';\nimport { ButtonI } from '../../../interfaces/atomic/button.interface';\nimport { DomSanitizer, SafeStyle } from '@angular/platform-browser';\nimport { CurrencyPipe } from '../../../pipes/currency.pipe';\n@Component({\n    selector: 'tent-offer-details',\n    standalone: true,\n    imports: [CommonModule, ButtonComponent, BadgeComponent, CurrencyPipe],\n    templateUrl: './offer-details.component.html',\n    styleUrl: './offer-details.component.scss',\n    changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class OfferDetailsComponent {\n    @Input() image?: string;\n    @Input() badge?: BadgeI;\n    @Input() innerBadge?: BadgeI;\n    @Input() title?: string;\n    @Input() description?: string;\n    @Input() additionalDescription?: string;\n    @Input() links?: ButtonI[];\n    @Input() linkBack?: ButtonI;\n    @Input() conditionsTitle?: string;\n    @Input() conditions?: string[];\n    @Input() priceLabel?: string;\n    @Input() price?: string | number;\n    @Input() currency?: string;\n    @Input() button?: ButtonI;\n\n    @Output() backClick = new EventEmitter();\n\n    conditionActive = false;\n    collapsed = true;\n\n    get getImage(): SafeStyle {\n        return this.sanitizer.bypassSecurityTrustStyle(\n            `background-image: url(${this.image})`\n        );\n    }\n\n    constructor(private readonly sanitizer: DomSanitizer) {}\n\n    toggleCollapse(): void {\n        this.collapsed = !this.collapsed;\n    }\n\n    toggleConditions(): void {\n        this.conditionActive = !this.conditionActive;\n    }\n}\n","<section class=\"offer-detail module-spacer--bottom\">\n    <div class=\"offer-detail--content wrapper-big\">\n        <div class=\"offer-detail--picture\">\n            @if (image) {\n            <div class=\"offer-detail--photo figure-content\">\n                <figure class=\"figure-full\" [style]=\"getImage\"></figure>\n            </div>\n            } @if (badge) {\n            <tent-badge\n                class=\"offer-detail--picture--badget\"\n                [rounded]=\"true\"\n                [label]=\"badge.label\"\n            ></tent-badge>\n            }\n        </div>\n        <div class=\"offer-detail--inner\">\n            @if (title) {\n            <h2 class=\"offer-detail--tit title--60 color--brown\">\n                {{ title }}\n            </h2>\n            } @if (innerBadge) {\n            <tent-badge\n                class=\"offer-detail--inner--badget\"\n                [rounded]=\"true\"\n                [label]=\"innerBadge.label\"\n            ></tent-badge>\n            }\n\n            <div\n                class=\"offer-detail--info\"\n                [ngClass]=\"collapsed ? 'close' : 'open'\"\n            >\n                @if (description) {\n                <p class=\"text\" [innerHTML]=\"description\"></p>\n                } @if (additionalDescription) {\n                <p\n                    class=\"text text-more\"\n                    [innerHTML]=\"additionalDescription\"\n                ></p>\n                } @if (additionalDescription && links && links.length) {\n                <div class=\"offer-detail--info--btns\">\n                    @for (link of links; track $index; let first = $first) { @if\n                    ($index < 2) {\n                    <tent-button\n                        [ngClass]=\"{\n                            'btn-more': first,\n                            'btn-minus': !first\n                        }\"\n                        type=\"dark-link\"\n                        [label]=\"link.label\"\n                        (click)=\"toggleCollapse()\"\n                        [name]=\"link.label\"\n                    ></tent-button>\n                    } }\n                </div>\n                }\n            </div>\n            <div\n                class=\"offer-detail--conditions\"\n                [ngClass]=\"!conditionActive ? 'close' : 'open'\"\n            >\n                <div class=\"offer-detail--conditions--box\">\n                    @if (conditionsTitle) {\n                    <h3\n                        class=\"offer-detail--conditions--subtit subtitle color--brown-70\"\n                    >\n                        {{ conditionsTitle }}\n                    </h3>\n                    } @if (conditions && conditions.length) {\n                    <ul class=\"offer-detail--conditions--list\">\n                        @for (condition of conditions; track $index) {\n                        <li class=\"offer-detail--conditions--item\">\n                            <p class=\"text\">\n                                {{ condition }}\n                            </p>\n                        </li>\n                        }\n                    </ul>\n                    }\n                </div>\n\n                @if (conditions && conditions.length && links) {\n                <div class=\"offer-detail--conditions--btns\">\n                    @for (link of links; track $index; let last = $last) { @if\n                    ($index > 1) {\n                    <tent-button\n                        [ngClass]=\"{\n                            'btn-more': !last,\n                            'btn-minus': last\n                        }\"\n                        type=\"dark-link\"\n                        [label]=\"link.label\"\n                        (click)=\"toggleConditions()\"\n                        [name]=\"link.label\"\n                    ></tent-button>\n                    } }\n                </div>\n                }\n            </div>\n\n            <div class=\"offer-detail--prices\">\n                @if (price) {\n                <div class=\"offer-detail--prices--info\">\n                    <div class=\"offer-detail--prices--price\">\n                        @if (priceLabel) {\n                        <span class=\"title--18 color--brown\">{{\n                            priceLabel\n                        }}</span>\n                        }\n                        <p class=\"title--42 color--brown\">\n                            {{ price }}\n                            @if (currency) {\n                            <span class=\"title--32\">{{\n                                currency | currencySymbol\n                            }}</span>\n                            }\n                        </p>\n                    </div>\n                </div>\n                } @if (button) {\n                <div class=\"offer-detail--prices--btns\">\n                    <tent-button\n                        type=\"dark-box-filled\"\n                        [label]=\"button.label\"\n                        [name]=\"button.label\"\n                        [url]=\"button.url\"\n                        [linkType]=\"button.linkType\"\n                    ></tent-button>\n                </div>\n                }\n            </div>\n            @if (linkBack) {\n            <tent-button\n                class=\"offer-detail--link-back\"\n                type=\"dark-link\"\n                icon=\"icon-signal-left\"\n                [label]=\"linkBack.label\"\n                [name]=\"linkBack.label\"\n                [url]=\"linkBack.url\"\n                [linkType]=\"linkBack.linkType\"\n                (btnClick)=\"backClick.emit()\"\n            ></tent-button>\n            }\n        </div>\n    </div>\n</section>\n","import {\n    ChangeDetectionStrategy,\n    Component,\n    EventEmitter,\n    Input,\n    Output,\n} from '@angular/core';\nimport { DomSanitizer, SafeStyle } from '@angular/platform-browser';\nimport { RouterModule } from '@angular/router';\nimport { BadgeI } from '../../../interfaces/atomic/badge.interface';\nimport { ButtonI } from '../../../interfaces/atomic/button.interface';\nimport { CurrencyPipe } from '../../../pipes/currency.pipe';\nimport { BadgeComponent } from '../../atomic/badge/badge.component';\nimport { ButtonComponent } from '../../atomic/button/button.component';\n@Component({\n    selector: 'tent-offer',\n    standalone: true,\n    imports: [\n        ButtonComponent,\n        BadgeComponent,\n        RouterModule,\n        CurrencyPipe,\n        RouterModule,\n    ],\n    templateUrl: './offer.component.html',\n    styleUrl: './offer.component.scss',\n    changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class OfferComponent {\n    @Input() image!: string;\n    @Input() id!: string | number;\n    @Input() title!: string;\n    @Input() price!: string;\n    @Input() priceLabel!: string;\n    @Input() currency!: string;\n    @Input() badge?: BadgeI;\n    @Input() badgePrice?: BadgeI;\n    @Input() buttons?: ButtonI[];\n\n    @Output() btnClicked = new EventEmitter();\n\n    get getImage(): SafeStyle {\n        return this.sanitizer.bypassSecurityTrustStyle(\n            `background-image: url(${this.image})`\n        );\n    }\n\n    constructor(private readonly sanitizer: DomSanitizer) {}\n\n    offerClicked(event: Event): void {\n        event.preventDefault();\n        this.btnClicked.emit(this.buttons?.[0].url);\n    }\n}\n","<section class=\"offer-box\">\n    <div class=\"offer-box--content\">\n        @if(badge) {\n        <tent-badge\n            class=\"offer-box--badgetHotel\"\n            [rounded]=\"true\"\n            [label]=\"badge.label\"\n        ></tent-badge>\n        } @if (image) {\n        <a\n            [attr.aria-label]=\"title\"\n            [href]=\"buttons ? buttons?.[0]?.url : null\"\n            [routerLink]=\"[buttons?.[0]?.url]\"\n            (click)=\"offerClicked($event)\"\n            class=\"offer-box--photo figure-content\"\n        >\n            <figure class=\"figure-full\" [style]=\"getImage\"></figure>\n        </a>\n\n        }\n\n        <div class=\"offer-box--head\">\n            <div class=\"offer-box--headinner\">\n                <div class=\"offer-box--infocontent\">\n                    @if(badgePrice) {\n                    <tent-badge\n                        class=\"offer-box--badgetPrice\"\n                        [rounded]=\"true\"\n                        [label]=\"badgePrice.label\"\n                    ></tent-badge>\n                    }\n                    <div class=\"offer-box--info\">\n                        @if (title) {\n                        <h3 class=\"title--30 color--brown\">\n                            {{ title }}\n                        </h3>\n                        } @if (price && priceLabel && currency) {\n                        <div class=\"offer-box--price\">\n                            <span class=\"title--18 color--camel\">{{\n                                priceLabel\n                            }}</span>\n                            <p class=\"title--42 color--brown\">\n                                {{ price\n                                }}<span class=\"title--32\">{{\n                                    currency | currencySymbol\n                                }}</span>\n                            </p>\n                        </div>\n                        }\n                    </div>\n                    @if (buttons?.length) {\n                    <div class=\"offer-box--btns\">\n                        @for (btn of buttons; track $index) {\n                        <tent-button\n                            [type]=\"btn.type!\"\n                            [icon]=\"btn.icon\"\n                            [iconPosition]=\"btn.iconPosition\"\n                            [label]=\"btn.label\"\n                            [url]=\"btn.url\"\n                            [linkType]=\"btn.linkType!\"\n                            boxWidth=\"auto\"\n                            (btnClick)=\"\n                                $index === 0 ? btnClicked.emit(btn.url) : ''\n                            \"\n                        ></tent-button>\n\n                        }\n                    </div>\n                    }\n                </div>\n            </div>\n        </div>\n    </div>\n</section>\n","import { CommonModule } from '@angular/common';\nimport {\n    ChangeDetectionStrategy,\n    Component,\n    EventEmitter,\n    Input,\n    Output,\n} from '@angular/core';\nimport { OfferComponent } from '../offer/offer.component';\nimport { ButtonComponent } from '../../atomic/button/button.component';\nimport { OfferI } from '../../../interfaces/core/offer.interface';\nimport { ButtonI } from '../../../interfaces/atomic/button.interface';\n@Component({\n    selector: 'tent-offer-list',\n    standalone: true,\n    imports: [CommonModule, ButtonComponent, OfferComponent],\n    templateUrl: './offer-list.component.html',\n    styleUrl: './offer-list.component.scss',\n    changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class OfferListComponent {\n    @Input() items?: OfferI[];\n    @Input() title?: string;\n    @Input() titleDark?: string;\n    @Input() description?: string;\n    @Input() additionalDescription?: string;\n    @Input() links?: ButtonI[];\n\n    @Output() offerClick = new EventEmitter();\n\n    collapsed = true;\n\n    toggleCollapse(): void {\n        this.collapsed = !this.collapsed;\n    }\n}\n","<section class=\"offer-list module-spacer--bottom\">\n    <div class=\"offer-list--content wrapper-big\">\n        <div class=\"offer-list--inner\">\n            @if (items && items.length) { @for (offer of items; track $index) {\n            <div class=\"offer-list--item\">\n                <tent-offer\n                    [id]=\"offer.id\"\n                    [badge]=\"offer.badge\"\n                    [badgePrice]=\"offer.badgePrice\"\n                    [title]=\"offer.title\"\n                    [buttons]=\"offer.buttons\"\n                    [image]=\"offer.image\"\n                    [price]=\"offer.price\"\n                    [priceLabel]=\"offer.priceLabel\"\n                    [currency]=\"offer.currency\"\n                    (btnClicked)=\"\n                        offerClick.emit({ id: offer.id, url: $event })\n                    \"\n                ></tent-offer>\n            </div>\n            } }\n        </div>\n    </div>\n</section>\n<section class=\"offer-ours module-spacer--bottom\">\n    <div class=\"offer-ours--content wrapper-big\">\n        <div class=\"offer-ours--inner\">\n            <div class=\"offer-ours--box bg-beige\">\n                @if (title || titleDark) {\n                <h3 class=\"offer-ours--title title--80 color--camel\">\n                    {{ title }}\n                    @if (titleDark) {\n                    <span class=\"color--brown\">{{ titleDark }}</span>\n                    }\n                </h3>\n\n                }\n                <div\n                    class=\"offer-ours--des\"\n                    [ngClass]=\"collapsed ? 'close' : 'open'\"\n                >\n                    @if (description) {\n                    <p class=\"text\">\n                        {{ description }}\n                    </p>\n                    } @if (additionalDescription) {\n                    <p class=\"text text-more\">\n                        {{ additionalDescription }}\n                    </p>\n                    } @if (additionalDescription && links && links.length) {\n                    <div class=\"offer-ours--btns\">\n                        @for (link of links; track $index; let first = $first) {\n                        <tent-button\n                            [ngClass]=\"{\n                                'btn-more': first,\n                                'btn-minus': !first\n                            }\"\n                            type=\"dark-link\"\n                            [label]=\"link.label\"\n                            (click)=\"toggleCollapse()\"\n                            [name]=\"link.label\"\n                        ></tent-button>\n                        }\n                    </div>\n                    }\n                </div>\n            </div>\n        </div>\n    </div>\n</section>\n","import {\n    ChangeDetectionStrategy,\n    Component,\n    EventEmitter,\n    Input,\n    OnInit,\n    Output,\n} from '@angular/core';\nimport { DomSanitizer, SafeStyle } from '@angular/platform-browser';\nimport { CarouselModule, OwlOptions } from 'ngx-owl-carousel-o';\nimport { ButtonI } from '../../../interfaces/atomic/button.interface';\nimport { OfferI } from '../../../interfaces/core/offer.interface';\nimport { CurrencyPipe } from '../../../pipes/currency.pipe';\nimport { ButtonComponent } from '../../atomic/button/button.component';\nimport { OfferComponent } from '../offer/offer.component';\n@Component({\n    selector: 'tent-offer-slider',\n    standalone: true,\n    imports: [CarouselModule, OfferComponent, ButtonComponent, CurrencyPipe],\n    templateUrl: './offer-slider.component.html',\n    styleUrl: './offer-slider.component.scss',\n    changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class OfferSliderComponent implements OnInit {\n    @Input() offers!: OfferI[];\n    @Input() title!: string;\n    @Input() titleDark!: string;\n    @Input() iconControlLeft = 'icon-pointer-left';\n    @Input() iconControlRight = 'icon-pointer-right';\n    @Input() link?: ButtonI;\n    @Input() defaultImage?: string;\n    @Input() defaultLabel?: string;\n\n    @Output() offerClick = new EventEmitter<OfferData>();\n\n    sliderOptions: OwlOptions = {\n        loop: true,\n        autoplay: true,\n        autoplayTimeout: 5000,\n        autoplaySpeed: 1500,\n        navSpeed: 1500,\n        responsiveRefreshRate: 100,\n        margin: 40,\n        mouseDrag: true,\n        touchDrag: true,\n        pullDrag: true,\n        dots: false,\n        responsive: {\n            0: {\n                items: 1,\n            },\n            540: {\n                items: 1,\n            },\n            768: {\n                items: 1,\n            },\n\n            1000: {\n                items: 1,\n            },\n            1024: {\n                items: 1,\n            },\n\n            1280: {\n                items: 2,\n            },\n\n            1350: {\n                items: 2,\n            },\n        },\n        nav: true,\n    };\n\n    get getImage(): SafeStyle {\n        return this.sanitizer.bypassSecurityTrustStyle(\n            `background-image: url(${this.defaultImage})`\n        );\n    }\n\n    constructor(private readonly sanitizer: DomSanitizer) {}\n\n    ngOnInit(): void {\n        this.sliderOptions.navText = [\n            `<div class=\"btn btn__circle btn__circle-- btn__dark\"><span class=\"btn__circle-icon ${this.iconControlLeft} icon--size12 \"> <span><div>`,\n            `<div class=\"btn btn__circle btn__circle-- btn__dark\"><span class=\"btn__circle-icon ${this.iconControlRight} icon--size12 \"> <span><div>`,\n        ];\n\n        if (this.offers.length === 1) {\n            this.sliderOptions = {\n                ...this.sliderOptions,\n                loop: false,\n                autoplay: false,\n                nav: false,\n            };\n        }\n    }\n\n    offerClicked(id: number | string, url: string): void {\n        this.offerClick.emit({ id, url });\n    }\n}\n\nexport interface OfferData {\n    id: number | string;\n    url: string;\n}\n","<section class=\"offer-slider module-spacer--bottom\">\n    <div class=\"offer-slider--content wrapper-big\">\n        <div class=\"offer-slider--head\">\n            @if (titleDark) {\n            <h3 class=\"offer-slider--title title--80 color--brown\">\n                {{ titleDark }} @if (title) {\n\n                <span class=\"color--camel\">{{ title }}</span\n                >}\n            </h3>\n            } @if (link) {\n            <tent-button\n                type=\"dark-link\"\n                [icon]=\"link.icon\"\n                [iconPosition]=\"link.iconPosition\"\n                [label]=\"link.label\"\n                [url]=\"link.url\"\n                [linkType]=\"link.linkType!\"\n            ></tent-button>\n\n            }\n        </div>\n        <div class=\"offer-slider--inner\">\n            <owl-carousel-o\n                class=\"offer-slider--slider slider-circle--center slider-circle--center--centerFull\"\n                [options]=\"sliderOptions\"\n            >\n                @for (offer of offers; track $index) {\n                <ng-template carouselSlide>\n                    <tent-offer\n                        [id]=\"offer.id\"\n                        [badge]=\"offer.badge\"\n                        [badgePrice]=\"offer.badgePrice\"\n                        [title]=\"offer.title\"\n                        [buttons]=\"offer.buttons\"\n                        [image]=\"offer.image\"\n                        [price]=\"offer.price\"\n                        [priceLabel]=\"offer.priceLabel\"\n                        [currency]=\"offer.currency | currencySymbol\"\n                        (btnClicked)=\"offerClicked(offer.id, $event)\"\n                    ></tent-offer>\n                </ng-template>\n                } @if(offers.length === 1 && defaultImage) {\n                <ng-template carouselSlide>\n                    <div class=\"offer-slider--photo figure-content\">\n                        <figure class=\"figure-full\" [style]=\"getImage\"></figure>\n                        @if (defaultLabel) {\n                        <p\n                            class=\"offer-slider--photo--text\"\n                            [innerHTML]=\"defaultLabel\"\n                        ></p>\n                        }\n                    </div>\n                </ng-template>\n                }\n            </owl-carousel-o>\n        </div>\n    </div>\n</section>\n","import { CommonModule } from '@angular/common';\nimport {\n    ChangeDetectionStrategy,\n    Component,\n    EventEmitter,\n    Output,\n} from '@angular/core';\nimport { ButtonComponent } from '../../atomic/button/button.component';\nimport { MatCheckboxModule } from '@angular/material/checkbox';\nimport {\n    DropdownComponent,\n    DropdownOption,\n} from '../../atomic/dropdown/dropdown.component';\n\n@Component({\n    selector: 'tent-registration',\n    standalone: true,\n    imports: [\n        CommonModule,\n        ButtonComponent,\n        MatCheckboxModule,\n        DropdownComponent,\n    ],\n    templateUrl: './registration.component.html',\n    styleUrl: './registration.component.scss',\n    changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class RegistrationComponent {\n    tabs = ['login', 'recuperar', 'registrarse'];\n\n    selected = 'registrarse';\n\n    days: DropdownOption[] = [\n        {\n            name: '01',\n            code: '1',\n        },\n        {\n            name: '02',\n            code: '2',\n        },\n        {\n            name: '03',\n            code: '3',\n        },\n        {\n            name: '04',\n            code: '4',\n        },\n        {\n            name: '05',\n            code: '5',\n        },\n        {\n            name: '06',\n            code: '6',\n        },\n        {\n            name: '07',\n            code: '7',\n        },\n        {\n            name: '08',\n            code: '8',\n        },\n        {\n            name: '09',\n            code: '9',\n        },\n        {\n            name: '10',\n            code: '10',\n        },\n        {\n            name: '11',\n            code: '11',\n        },\n        {\n            name: '12',\n            code: '12',\n        },\n        {\n            name: '13',\n            code: '13',\n        },\n        {\n            name: '14',\n            code: '14',\n        },\n        {\n            name: '15',\n            code: '15',\n        },\n        {\n            name: '16',\n            code: '16',\n        },\n        {\n            name: '17',\n            code: '17',\n        },\n        {\n            name: '18',\n            code: '18',\n        },\n        {\n            name: '19',\n            code: '19',\n        },\n        {\n            name: '20',\n            code: '20',\n        },\n        {\n            name: '21',\n            code: '21',\n        },\n        {\n            name: '22',\n            code: '22',\n        },\n        {\n            name: '23',\n            code: '23',\n        },\n        {\n            name: '24',\n            code: '24',\n        },\n        {\n            name: '25',\n            code: '25',\n        },\n        {\n            name: '26',\n            code: '26',\n        },\n        {\n            name: '27',\n            code: '27',\n        },\n        {\n            name: '28',\n            code: '28',\n        },\n        {\n            name: '29',\n            code: '29',\n        },\n        {\n            name: '30',\n            code: '30',\n        },\n        {\n            name: '31',\n            code: '31',\n        },\n    ];\n\n    months: DropdownOption[] = [\n        {\n            name: 'enero',\n            code: '1',\n        },\n        {\n            name: 'febrero',\n            code: '2',\n        },\n        {\n            name: 'marzo',\n            code: '3',\n        },\n        {\n            name: 'abril',\n            code: '4',\n        },\n        {\n            name: 'mayo',\n            code: '5',\n        },\n        {\n            name: 'junio',\n            code: '6',\n        },\n        {\n            name: 'julio',\n            code: '7',\n        },\n        {\n            name: 'agosto',\n            code: '8',\n        },\n        {\n            name: 'septiembre',\n            code: '9',\n        },\n        {\n            name: 'octubre',\n            code: '10',\n        },\n        {\n            name: 'noviembre',\n            code: '11',\n        },\n        {\n            name: 'diciembre',\n            code: '12',\n        },\n    ];\n    years: DropdownOption[] = [\n        {\n            name: '2024',\n            code: '2024',\n        },\n        {\n            name: '2023',\n            code: '2023',\n        },\n        {\n            name: '2022',\n            code: '2022',\n        },\n        {\n            name: '2021',\n            code: '2021',\n        },\n        {\n            name: '2020',\n            code: '2020',\n        },\n        {\n            name: '2019',\n            code: '2019',\n        },\n        {\n            name: '2018',\n            code: '2018',\n        },\n        {\n            name: '2017',\n            code: '2017',\n        },\n        {\n            name: '2016',\n            code: '2016',\n        },\n        {\n            name: '2015',\n            code: '2015',\n        },\n        {\n            name: '2014',\n            code: '2014',\n        },\n        {\n            name: '2013',\n            code: '2013',\n        },\n        {\n            name: '2012',\n            code: '2012',\n        },\n        {\n            name: '2011',\n            code: '2011',\n        },\n        {\n            name: '2010',\n            code: '2010',\n        },\n        {\n            name: '2009',\n            code: '2009',\n        },\n        {\n            name: '2008',\n            code: '2008',\n        },\n        {\n            name: '2007',\n            code: '2007',\n        },\n        {\n            name: '2006',\n            code: '2006',\n        },\n        {\n            name: '2005',\n            code: '2005',\n        },\n        {\n            name: '2004',\n            code: '2004',\n        },\n        {\n            name: '2003',\n            code: '2003',\n        },\n        {\n            name: '2002',\n            code: '2002',\n        },\n        {\n            name: '2001',\n            code: '2001',\n        },\n        {\n            name: '2000',\n            code: '2000',\n        },\n        {\n            name: '1999',\n            code: '1999',\n        },\n        {\n            name: '1998',\n            code: '1998',\n        },\n        {\n            name: '1997',\n            code: '1997',\n        },\n        {\n            name: '1996',\n            code: '1996',\n        },\n        {\n            name: '1995',\n            code: '1995',\n        },\n    ];\n\n    @Output() tabClick = new EventEmitter<string>();\n\n    selectTab(tab: string): void {\n        this.selected = tab;\n        this.tabClick.emit(tab);\n\n        if (tab === 'registrarse') {\n        }\n    }\n}\n","<div class=\"registration\">\n    <div>\n        <div class=\"registration--main-wrapper\">\n            <div class=\"registration--main-content flex-col flex-col--center\">\n                <h3 class=\"registration--title color--brown\">registrarse</h3>\n\n                <form class=\"registration--form\">\n                    <div class=\"flex-col\">\n                        <p class=\"registration--input--title\">\n                            <span class=\"registration--input--required\"></span>\n                            nombre\n                        </p>\n                        <div class=\"registration--input--wrapper\">\n                            <input\n                                class=\"registration--input\"\n                                type=\"text\"\n                                placeholder=\"...\"\n                            />\n                            <span\n                                class=\"registration--input--icon icon-user\"\n                            ></span>\n                        </div>\n                    </div>\n                    <div class=\"flex-col\">\n                        <p class=\"registration--input--title\">\n                            <span class=\"registration--input--required\"></span>\n                            apellidos\n                        </p>\n                        <div class=\"registration--input--wrapper\">\n                            <input\n                                class=\"registration--input\"\n                                type=\"text\"\n                                placeholder=\"...\"\n                            />\n                            <span\n                                class=\"registration--input--icon icon-user\"\n                            ></span>\n                        </div>\n                    </div>\n                    <div class=\"flex-col\">\n                        <p class=\"registration--input--title\">\n                            <span class=\"registration--input--required\"></span>\n                            email\n                        </p>\n                        <div class=\"registration--input--wrapper\">\n                            <input\n                                class=\"registration--input\"\n                                type=\"email\"\n                                placeholder=\"@...\"\n                            />\n                            <span\n                                class=\"registration--input--icon icon-envelope\"\n                            ></span>\n                        </div>\n                    </div>\n                    <div class=\"flex-col\">\n                        <p class=\"registration--input--title\">\n                            <span class=\"registration--input--required\"></span>\n                            repetir email\n                        </p>\n                        <div class=\"registration--input--wrapper\">\n                            <input\n                                class=\"registration--input\"\n                                type=\"email\"\n                                placeholder=\"@...\"\n                            />\n                        </div>\n                    </div>\n                    <div class=\"flex-col\">\n                        <p class=\"registration--input--title\">teléfono</p>\n                        <div class=\"registration--input--wrapper\">\n                            <input\n                                class=\"registration--input\"\n                                type=\"text\"\n                                placeholder=\"...\"\n                            />\n                            <span\n                                class=\"registration--input--icon icon-phone\"\n                            ></span>\n                        </div>\n                    </div>\n                    <div class=\"flex-col\">\n                        <p class=\"registration--input--title\">\n                            <span class=\"registration--input--required\"></span>\n                            fecha de nacimiento\n                        </p>\n                        <div class=\"registration--date\">\n                            <tent-dropdown\n                                class=\"registration--dropdown registration--dropdown--days\"\n                                [options]=\"days\"\n                                [value]=\"days[0]\"\n                            ></tent-dropdown>\n                            <tent-dropdown\n                                class=\"registration--dropdown registration--dropdown--months\"\n                                [options]=\"months\"\n                                [value]=\"months[0]\"\n                            ></tent-dropdown>\n                            <tent-dropdown\n                                class=\"registration--dropdown registration--dropdown--years\"\n                                [options]=\"years\"\n                                [value]=\"years[0]\"\n                            ></tent-dropdown>\n                        </div>\n                    </div>\n                    <div class=\"flex-col\">\n                        <p class=\"registration--input--title\">\n                            <span class=\"registration--input--required\"></span>\n                            contraseña\n                        </p>\n                        <div class=\"registration--input--wrapper\">\n                            <input\n                                class=\"registration--input\"\n                                type=\"password\"\n                                placeholder=\"mínimo 6 carácteres\"\n                            />\n                        </div>\n                    </div>\n                    <div class=\"flex-col\">\n                        <p class=\"registration--input--title\">\n                            <span class=\"registration--input--required\"></span>\n                            repetir contraseña\n                        </p>\n                        <div class=\"registration--input--wrapper\">\n                            <input\n                                class=\"registration--input\"\n                                type=\"password\"\n                                placeholder=\"...\"\n                            />\n                        </div>\n                    </div>\n\n                    <div class=\"flex-col\">\n                        <div class=\"registration--checkbox--wrapper\">\n                            <mat-checkbox\n                                class=\"registration--checkbox\"\n                            ></mat-checkbox>\n                            <span class=\"registration--conditions color--brown\"\n                                >he leído y\n                                <a\n                                    class=\"registration--conditions--link color--brown\"\n                                    href=\"\"\n                                >\n                                    acepto el aviso</a\n                                >\n                                legal y la\n                                <a\n                                    class=\"registration--conditions--link color--brown\"\n                                    href=\"\"\n                                >\n                                    política de privacidad\n                                </a>\n                            </span>\n                        </div>\n                        <span class=\"registration--required--text\">\n                            <span class=\"registration--input--required\"></span>\n                            campos obligatorios\n                        </span>\n                    </div>\n\n                    <tent-button\n                        class=\"registration--submit\"\n                        type=\"dark-box-filled\"\n                        boxWidth=\"240px\"\n                        label=\"acceder\"\n                        name=\"acceder\"\n                    ></tent-button>\n                </form>\n            </div>\n        </div>\n\n        <div class=\"registration--submenu flex-row flex-row--center\">\n            <span\n                class=\"registration--tab\"\n                (click)=\"selectTab(tabs[0])\"\n                [ngClass]=\"{\n                    'registration--tab--selected': tabs[0] === selected\n                }\"\n                >{{ tabs[0] }}\n            </span>\n            |\n            <span\n                class=\"registration--tab\"\n                (click)=\"selectTab(tabs[1])\"\n                [ngClass]=\"{\n                    'registration--tab--selected': tabs[1] === selected\n                }\"\n                >{{ tabs[1] }}\n            </span>\n            |\n            <a\n                class=\"registration--tab\"\n                (click)=\"selectTab(tabs[2])\"\n                href=\"\"\n                [ngClass]=\"{\n                    'registration--tab--selected': tabs[2] === selected\n                }\"\n            >\n                {{ tabs[2] }}\n            </a>\n        </div>\n    </div>\n</div>\n","import { CommonModule, isPlatformBrowser } from '@angular/common';\nimport {\n    AfterViewInit,\n    ChangeDetectionStrategy,\n    Component,\n    Inject,\n    Input,\n    OnChanges,\n    OnInit,\n    PLATFORM_ID,\n    SimpleChanges,\n} from '@angular/core';\nimport { MatDialog } from '@angular/material/dialog';\nimport { DomSanitizer, SafeStyle } from '@angular/platform-browser';\nimport { CarouselModule, OwlOptions } from 'ngx-owl-carousel-o';\nimport { fromEvent, tap } from 'rxjs';\nimport { LazyBackgroundDirective } from '../../../directives/lazy-background.directive';\nimport { ButtonI } from '../../../interfaces/atomic/button.interface';\nimport { BadgeComponent } from '../../atomic/badge/badge.component';\nimport { ButtonComponent } from '../../atomic/button/button.component';\nimport { GalleryPhotosItem } from '../gallery-photos/gallery-photos.component';\nimport { RoomZoomModalComponent } from '../modals/room-zoom-modal/room-zoom-modal.component';\n\n@Component({\n    selector: 'tent-room-slider',\n    standalone: true,\n    imports: [\n        CommonModule,\n        ButtonComponent,\n        CarouselModule,\n        BadgeComponent,\n        LazyBackgroundDirective,\n    ],\n    templateUrl: './room-slider.component.html',\n    styleUrl: './room-slider.component.scss',\n    changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class RoomSliderComponent implements OnInit, OnChanges, AfterViewInit {\n    @Input({ required: true }) items!: RoomsSliderRoom[];\n    @Input() linkDescriptionMore?: ButtonI;\n    @Input() linkDescriptionLess?: ButtonI;\n    @Input() linkEquipmentMore?: ButtonI;\n    @Input() linkEquipmentLess?: ButtonI;\n\n    baseSliderOptions: OwlOptions = {\n        autoplayTimeout: 5000,\n        autoplaySpeed: 3000,\n        navSpeed: 3000,\n        responsiveRefreshRate: 100,\n        margin: 0,\n        dots: false,\n        navText: [\n            '<div class=\"btn btn__circle btn__circle-- btn__dark\"><span class=\"btn__circle-icon icon-signal-left icon--size12 \"> </span></div>',\n            '<div class=\"btn btn__circle btn__circle-- btn__dark\"><span class=\"btn__circle-icon icon-signal-right icon--size12 \"> </span></div>',\n        ],\n        responsive: {\n            0: { items: 1 },\n            1680: { items: 1 },\n        },\n    };\n\n    sliderOptionsList: OwlOptions[] = [];\n    collapsed: boolean[] = [];\n    viewmore: boolean[] = [];\n    itemsToShow = 4;\n\n    constructor(\n        private readonly dialog: MatDialog,\n        private readonly sanitizer: DomSanitizer,\n        @Inject(PLATFORM_ID) private platformId: Object\n    ) {}\n\n    ngOnInit(): void {\n        if (!isPlatformBrowser(this.platformId)) return;\n        this.initData();\n        this.itemsToShow = window.innerWidth >= 540 ? 6 : 3;\n    }\n\n    ngOnChanges(changes: SimpleChanges): void {\n        if (changes?.['items']?.currentValue) {\n            this.initData();\n        }\n    }\n\n    private initData(): void {\n        if (!this.items) return;\n\n        this.collapsed = new Array(this.items.length).fill(true);\n        this.viewmore = new Array(this.items.length).fill(true);\n\n        this.sliderOptionsList = this.items.map((item) => {\n            const hasMultiple = (item.images?.length || 0) > 1;\n\n            return {\n                ...this.baseSliderOptions,\n                loop: hasMultiple,\n                autoplay: hasMultiple,\n                mouseDrag: hasMultiple,\n                touchDrag: hasMultiple,\n                pullDrag: hasMultiple,\n                nav: hasMultiple,\n            };\n        });\n    }\n\n    ngAfterViewInit(): void {\n        if (!isPlatformBrowser(this.platformId)) return;\n        fromEvent(window, 'resize')\n            .pipe(\n                tap(() => {\n                    this.itemsToShow = window.innerWidth >= 540 ? 6 : 3;\n                })\n            )\n            .subscribe();\n    }\n\n    toggleCollapse(index: number): void {\n        this.collapsed[index] = !this.collapsed[index];\n    }\n\n    toggleViewmore(index: number): void {\n        this.viewmore[index] = !this.viewmore[index];\n    }\n\n    getImage(img: string): SafeStyle {\n        return this.sanitizer.bypassSecurityTrustStyle(\n            `background-image: url(${img})`\n        );\n    }\n\n    openRoomModal(item: RoomsSliderRoom, index: number): void {\n        const dialogRef = this.dialog.open(RoomZoomModalComponent, {\n            width: '100vw',\n            height: '100vh',\n            maxWidth: '100vw',\n            panelClass: 'full-screen',\n            hasBackdrop: true,\n        });\n\n        dialogRef.componentInstance.images =\n            index === 0\n                ? item.images?.map(\n                      (img) => ({ image: img }) as GalleryPhotosItem\n                  )\n                : item.images\n                      ?.slice(index)\n                      .concat(item.images.slice(0, index))\n                      ?.map((img) => ({ image: img }) as GalleryPhotosItem);\n    }\n}\n\nexport interface RoomsSliderRoom {\n    id?: string | number;\n    title?: string;\n    info?: {\n        label: string;\n        icon: string;\n    }[];\n    description?: string;\n    additionalDescription?: string;\n    images?: string[];\n    bookButton?: ButtonI;\n    equipment?: {\n        title?: string;\n        items?: string[];\n    };\n}\n","<section class=\"room-slider module-spacer--bottom\">\n    <div class=\"room-slider--content wrapper-big\">\n        @for (\n            item of items;\n            track mainIndex;\n            let mainIndex = $index;\n            let odd = $odd\n        ) {\n            <div\n                class=\"room-slider--box\"\n                [ngClass]=\"{\n                    'info-right': !odd,\n                    'info-left': odd,\n                    'module-spacer-small--bottom':\n                        mainIndex !== items.length - 1,\n                }\"\n            >\n                <owl-carousel-o\n                    class=\"room-slider--slider slider-circle--center figure-sticky\"\n                    [options]=\"sliderOptionsList[mainIndex]\"\n                >\n                    @for (\n                        img of item.images;\n                        track imageIndex;\n                        let imageIndex = $index\n                    ) {\n                        <ng-template carouselSlide>\n                            <div class=\"room-slider--photo figure-content\">\n                                <figure\n                                    class=\"figure-full\"\n                                    [lazyBackground]=\"img\"\n                                ></figure>\n                                <div class=\"btn_search--wrapper\">\n                                    <div\n                                        class=\"btn btn__circle btn__white btn_search--full\"\n                                        (click)=\"\n                                            openRoomModal(item, imageIndex)\n                                        \"\n                                    >\n                                        <span class=\"btn_search--text\">\n                                            ampliar foto</span\n                                        >\n                                        <span\n                                            class=\"btn__circle-icon icon-search-plus icon--size22\"\n                                        >\n                                        </span>\n                                    </div>\n                                    <div\n                                        class=\"btn btn__circle btn__white btn_search\"\n                                        (click)=\"\n                                            openRoomModal(item, imageIndex)\n                                        \"\n                                    >\n                                        <span\n                                            class=\"btn__circle-icon icon-search-plus icon--size22\"\n                                        >\n                                        </span>\n                                    </div>\n                                </div>\n                            </div>\n                        </ng-template>\n                    }\n                </owl-carousel-o>\n                <div class=\"room-slider--info\">\n                    @if (item.title) {\n                        <h2\n                            class=\"room-slider--info--title title--60 color--brown\"\n                        >\n                            {{ item.title }}\n                        </h2>\n                    }\n                    @if (item.info) {\n                        <ul class=\"room-slider--info--icons\">\n                            @for (infoItem of item.info; track $index) {\n                                <li>\n                                    <span class=\"info--icon\">\n                                        <span\n                                            class=\"info--icon--svg\"\n                                            [ngClass]=\"infoItem.icon\"\n                                        ></span>\n                                    </span>\n                                    <p class=\"text\">{{ infoItem.label }}</p>\n                                </li>\n                            }\n                        </ul>\n                    }\n                    @if (item.description || item.additionalDescription) {\n                        <div\n                            class=\"room-slider--info--des\"\n                            [ngClass]=\"collapsed[mainIndex] ? 'close' : 'open'\"\n                        >\n                            @if (item.description) {\n                                <p class=\"text\">\n                                    {{ item.description }}\n                                </p>\n                            }\n                            @if (item.additionalDescription) {\n                                <p class=\"text text-more\">\n                                    {{ item.additionalDescription }}\n                                </p>\n                            }\n                            @if (\n                                linkDescriptionMore &&\n                                linkDescriptionLess &&\n                                item.additionalDescription\n                            ) {\n                                <tent-button\n                                    class=\"btn-more\"\n                                    type=\"dark-link\"\n                                    [label]=\"linkDescriptionMore.label\"\n                                    (click)=\"toggleCollapse(mainIndex)\"\n                                    [name]=\"linkDescriptionMore.label\"\n                                ></tent-button>\n                                <tent-button\n                                    class=\"btn-minus\"\n                                    type=\"dark-link\"\n                                    [label]=\"linkDescriptionLess.label\"\n                                    (click)=\"toggleCollapse(mainIndex)\"\n                                    [name]=\"linkDescriptionLess.label\"\n                                ></tent-button>\n                            }\n                        </div>\n                    }\n                    <div\n                        class=\"room-slider--info--equipament\"\n                        [ngClass]=\"viewmore[mainIndex] ? 'close' : 'open'\"\n                    >\n                        @if (item.equipment?.title) {\n                            <h2\n                                class=\"room-slider--info--subtit title--24 color--brown\"\n                            >\n                                {{ item.equipment?.title }}\n                            </h2>\n                        }\n                        @if (item.equipment?.items) {\n                            <ul>\n                                @for (\n                                    equipmentItem of item.equipment?.items;\n                                    track $index\n                                ) {\n                                    <li>\n                                        <span class=\"icon-check\"></span>\n                                        <p class=\"text\">{{ equipmentItem }}</p>\n                                    </li>\n                                }\n                            </ul>\n                        }\n\n                        <div class=\"room-slider--info--btns\">\n                            @if (\n                                linkEquipmentMore &&\n                                linkEquipmentLess &&\n                                item.equipment?.items?.length! > itemsToShow\n                            ) {\n                                <tent-button\n                                    class=\"btn-more\"\n                                    type=\"dark-link\"\n                                    [label]=\"linkEquipmentMore.label\"\n                                    (click)=\"toggleViewmore(mainIndex)\"\n                                    [name]=\"linkEquipmentMore.label\"\n                                ></tent-button>\n                                <tent-button\n                                    class=\"btn-minus\"\n                                    type=\"dark-link\"\n                                    [label]=\"linkEquipmentLess.label\"\n                                    (click)=\"toggleViewmore(mainIndex)\"\n                                    [name]=\"linkEquipmentLess.label\"\n                                ></tent-button>\n                            }\n                            @if (item.bookButton; as btn) {\n                                <tent-button\n                                    type=\"dark-box-filled\"\n                                    [label]=\"btn.label\"\n                                    [name]=\"btn.label\"\n                                    [url]=\"btn.url\"\n                                ></tent-button>\n                            }\n                        </div>\n                    </div>\n                </div>\n            </div>\n        }\n    </div>\n</section>\n","import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, Input } from '@angular/core';\nimport { ButtonComponent } from '../../atomic/button/button.component';\nimport { BadgeComponent } from '../../atomic/badge/badge.component';\nimport { CarouselModule, OwlOptions } from 'ngx-owl-carousel-o';\nimport { ButtonI } from '../../../interfaces/atomic/button.interface';\nimport { DomSanitizer, SafeStyle } from '@angular/platform-browser';\n@Component({\n    selector: 'tent-services-details',\n    standalone: true,\n    imports: [CommonModule, ButtonComponent, CarouselModule, BadgeComponent],\n    templateUrl: './services-details.component.html',\n    styleUrl: './services-details.component.scss',\n    changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ServicesDetailsComponent {\n    @Input() items?: ServicesDetailsItem[];\n    @Input() title?: string;\n    sliderOptions: OwlOptions = {\n        loop: true,\n        autoplay: true,\n        autoplayTimeout: 5000,\n        autoplaySpeed: 1500,\n        navSpeed: 1500,\n        responsiveRefreshRate: 100,\n        margin: 0,\n        mouseDrag: true,\n        touchDrag: true,\n        pullDrag: true,\n        dots: false,\n        navText: [\n            '<div class=\"btn btn__circle btn__circle-- btn__dark\"><span class=\"btn__circle-icon icon-signal-left icon--size12 \"> </span></div>',\n            '<div class=\"btn btn__circle btn__circle-- btn__dark\"><span class=\"btn__circle-icon icon-signal-right icon--size12 \"> </span></div>',\n        ],\n        responsive: {\n            0: {\n                items: 1,\n            },\n            1680: {\n                items: 1,\n            },\n        },\n        nav: true,\n    };\n    collapsed1 = true;\n\n    constructor(private readonly sanitizer: DomSanitizer) {}\n\n    getImage(img: string): SafeStyle {\n        return this.sanitizer.bypassSecurityTrustStyle(\n            `background-image: url(${img})`\n        );\n    }\n\n    toggleCollapse1(): void {\n        this.collapsed1 = !this.collapsed1;\n    }\n}\n\nexport interface ServicesDetailsItem {\n    image?: string;\n    title?: string;\n    description?: string;\n    links?: ButtonI[];\n}\n","<section class=\"services-details module-spacer--bottom\">\n    <div class=\"services-details--content wrapper-big\">\n        <div class=\"services-details--inner\">\n            @if (title) {\n            <h2\n                class=\"services-details--title title--60 color--brown\"\n                [innerHTML]=\"title\"\n            ></h2>\n            } @if (items?.length) {\n            <div class=\"services-details--items\">\n                @for (item of items; track $index) {\n                <div class=\"services-details--item\">\n                    @if (item.image || item.title) {\n                    <div class=\"services-details--photo figure-content\">\n                        @if (item.image) {\n                        <figure\n                            class=\"figure-full\"\n                            [style]=\"getImage(item.image)\"\n                        ></figure>\n                        } @if (item.title) {\n                        <div class=\"services-details--info\">\n                            <h2\n                                class=\"services-details--tit title--38 color--white\"\n                                [innerHTML]=\"item.title\"\n                            ></h2>\n                        </div>\n                        }\n                    </div>\n                    } @if (item.description || item.links) {\n                    <div class=\"services-details--des\">\n                        @if (item.description) {\n                        <p class=\"text\">{{ item.description }}</p>\n\n                        } @if (item.links?.length && item.links) {\n                        <div class=\"flex-row\">\n                            @for (link of item.links; track $index) { @if (link)\n                            {\n                            <tent-button\n                                type=\"dark-link\"\n                                [url]=\"link.url\"\n                                [label]=\"link.label\"\n                                [linkType]=\"link.linkType\"\n                            ></tent-button>\n                            } }\n                        </div>\n                        }\n                    </div>\n                    }\n                </div>\n                }\n            </div>\n            }\n        </div>\n    </div>\n</section>\n","import { CommonModule, isPlatformBrowser } from '@angular/common';\nimport {\n    AfterViewInit,\n    ChangeDetectionStrategy,\n    Component,\n    Inject,\n    Input,\n    NO_ERRORS_SCHEMA,\n    PLATFORM_ID,\n} from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\nimport { ButtonComponent } from '../../atomic/button/button.component';\n\n@Component({\n    selector: 'tent-smartvel',\n    standalone: true,\n    imports: [CommonModule, ButtonComponent],\n    templateUrl: './smartvel.component.html',\n    styleUrl: './smartvel.component.scss',\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    schemas: [NO_ERRORS_SCHEMA],\n})\nexport class SmartvelComponent implements AfterViewInit {\n    @Input() apiKey?: string;\n    @Input() destinyCode?: string;\n\n    updatedApiKey: Boolean = false;\n\n    smartvelScript: HTMLScriptElement;\n    constructor(\n        private route: ActivatedRoute,\n        @Inject(PLATFORM_ID) private platformId: Object\n    ) {\n        this.smartvelScript = document.createElement('script');\n        if (!isPlatformBrowser(this.platformId)) return;\n        this.smartvelScript.src =\n            'https://cdn.smartvel.com/scripts/boot.min.js';\n        document.body.appendChild(this.smartvelScript);\n    }\n\n    ngAfterViewInit(): void {\n        if (!isPlatformBrowser(this.platformId)) return;\n        let container = document.querySelector('smartvelcomponent');\n\n        if (this.apiKey && container) {\n            this.updatedApiKey = true;\n            const lang = window.location.pathname.split('/')[1] || 'es';\n            container?.setAttribute('data-apikey', this.apiKey);\n            container?.setAttribute('data-lang', lang);\n            if (this.destinyCode) {\n                container?.setAttribute('data-destination', this.destinyCode);\n            }\n        }\n    }\n}\n","<div class=\"smartvel\">\n    <div id=\"smartvel\" class=\"smt-component\"></div>\n    <smartvelcomponent\n        [data-apikey]=\"apiKey\"\n        data-lang=\"es\"\n        [data-destination]=\"destinyCode\"\n    ></smartvelcomponent>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, Input } from '@angular/core';\nimport { RouterModule } from '@angular/router';\nimport { ButtonI } from '../../../interfaces/atomic/button.interface';\n\n@Component({\n    selector: 'tent-submenu',\n    standalone: true,\n    imports: [CommonModule, RouterModule],\n    templateUrl: './submenu.component.html',\n    styleUrl: './submenu.component.scss',\n    changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class SubmenuComponent {\n    @Input() links?: ButtonI[];\n    @Input() selected?: ButtonI;\n    @Input() title?: string;\n}\n","<div class=\"submenu\">\n    @if (title) {\n    <h3 class=\"submenu--title color--camel\">{{ title }}</h3>\n    } @if (links) {\n    <div class=\"submenu--links\">\n        @for (link of links; track $index) {\n        <a\n            [href]=\"link.url\"\n            [routerLink]=\"[link.url]\"\n            [attr.aria-label]=\"link.label\"\n            [ngClass]=\"{\n                'submenu--link--selected':\n                    selected?.label?.toLowerCase() ===\n                    link?.label?.toLowerCase()\n            }\"\n            class=\"submenu--link link color--white\"\n        >\n            {{ link.label }}\n        </a>\n        }\n    </div>\n    }\n</div>\n","import { CommonModule } from '@angular/common';\nimport {\n    ChangeDetectionStrategy,\n    Component,\n    Input,\n    OnInit,\n} from '@angular/core';\nimport { CarouselModule, OwlOptions } from 'ngx-owl-carousel-o';\nimport { ImageI } from '../../../../public-api';\nimport { ButtonComponent } from '../../atomic/button/button.component';\n\ntype Award = {\n    img: string;\n    alt: string;\n    title: string;\n    subtitle?: string;\n};\n\n@Component({\n    selector: 'lib-tent-carrousel-img',\n    standalone: true,\n    imports: [CommonModule, CarouselModule, ButtonComponent],\n    templateUrl: './tent-carrousel-img.component.html',\n    styleUrl: './tent-carrousel-img.component.scss',\n    changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TentCarrouselImgComponent implements OnInit {\n    @Input() iconControlLeft = 'icon-signal-left';\n    @Input() iconControlRight = 'icon-signal-right';\n    @Input() title?: string;\n    @Input() titleDark?: string;\n    @Input() items?: ImageI[];\n\n    /*  slides: Award[] = [\n        {\n            img: 'assets/tent/img/slider1.png',\n            alt: 'Skift IDEA Awards 2025 Finalist',\n            title: 'Skift IDEA Awards 2025 – Innovación hacia la transformación hotelera',\n            subtitle: '',\n        },\n        {\n            img: 'assets/tent/img/slider2.png',\n            alt: 'Premios CAEB–Santander',\n            title: 'Premios CAEB–Santander a la Innovación Empresarial',\n            subtitle: '',\n        },\n        {\n            img: 'assets/tent/img/slider3.png',\n            alt: 'Tripadvisor Travellers’ Choice 2023',\n            title: 'Travellers’ Choice Awards (2023)',\n            subtitle: 'tent Playa de Palma',\n        },\n        {\n            img: 'assets/tent/img/slider4.png',\n            alt: 'Tripadvisor Travellers’ Choice 2024',\n            title: 'Travellers’ Choice Awards (2024)',\n            subtitle: 'tent Capi Playa',\n        },\n        {\n            img: 'assets/tent/img/slider1.png',\n            alt: 'Skift IDEA Awards 2025 Finalist',\n            title: 'Skift IDEA Awards 2025 – Innovación hacia la transformación hotelera',\n            subtitle: '',\n        },\n        {\n            img: 'assets/tent/img/slider2.png',\n            alt: 'Premios CAEB–Santander',\n            title: 'Premios CAEB–Santander a la Innovación Empresarial',\n            subtitle: '',\n        },\n        {\n            img: 'assets/tent/img/slider3.png',\n            alt: 'Tripadvisor Travellers’ Choice 2023',\n            title: 'Travellers’ Choice Awards (2023)',\n            subtitle: 'tent Playa de Palma',\n        },\n    ]; */\n\n    sliderOptions: OwlOptions = {\n        loop: true,\n        autoplay: false,\n        autoplayTimeout: 5000,\n        autoplaySpeed: 1500,\n        navSpeed: 1500,\n        dots: false,\n        nav: true,\n        navText: ['', ''], // iconos por CSS\n        margin: 24,\n        smartSpeed: 450,\n        responsiveRefreshRate: 100,\n        mouseDrag: true,\n        touchDrag: true,\n        pullDrag: true,\n        stagePadding: 16,\n        responsive: {\n            0: { items: 1, stagePadding: 16, margin: 16 },\n            540: { items: 2, stagePadding: 16, margin: 20 },\n            768: { items: 4, stagePadding: 40, margin: 40 },\n            1280: { items: 5, stagePadding: 40, margin: 40 },\n        },\n    };\n\n    ngOnInit(): void {\n        this.sliderOptions.navText = [\n            `<div class=\"btn btn__circle btn__circle-- btn__dark\"><span class=\"btn__circle-icon ${this.iconControlLeft} icon--size12 \"> <span><div>`,\n            `<div class=\"btn btn__circle btn__circle-- btn__dark\"><span class=\"btn__circle-icon ${this.iconControlRight} icon--size12 \"> <span><div>`,\n        ];\n    }\n}\n","<section\n    class=\"tent__carrousel-img\"\n    aria-labelledby=\"tent__carrousel-img-title\"\n>\n    <!-- Cabecera decorativa -->\n    <div class=\"tent__carrousel-img__bg\" aria-hidden=\"true\"></div>\n    <header class=\"tent__carrousel-img__header\">\n        <h2\n            id=\"tent__carrousel-img-title\"\n            class=\"tent__carrousel-img__title\"\n        >\n            <span class=\"title--80 color--camel\">{{ title }}</span>\n            <span class=\"title--80 color--brown\">{{ titleDark }}</span>\n        </h2>\n    </header>\n    <div class=\"tent__carrousel-img__wrap\">\n\n        <owl-carousel-o\n            class=\"tent__carrousel-img__slider slider-circle--center\"\n            [options]=\"sliderOptions\"\n        >\n            @for (s of items; track s.alt) {\n                <ng-template carouselSlide>\n                    <div class=\"card-container\">\n                        <article class=\"tent__carrousel-card\">\n                            <div\n                                class=\"tent__carrousel-card__logo\"\n                                role=\"img\"\n                                [attr.aria-label]=\"s.alt\"\n                            >\n                                <img\n                                    [src]=\"s.src\"\n                                    [attr.alt]=\"s.alt\"\n                                    loading=\"lazy\"\n                                    decoding=\"async\"\n                                />\n                            </div>\n\n                            <div class=\"tent__carrousel-card__text\">\n                                <h3 class=\"title--18 color--brown\">\n                                    {{ s.title }}\n                                </h3>\n                                @if (s.subtitle) {\n                                    <p class=\"text color--camel\">\n                                        {{ s.subtitle }}\n                                    </p>\n                                }\n                            </div>\n                            @if (s.buttons && s.buttons[0]) {\n                                <div class=\"tent__carrousel--btns pt--20\">\n                                    <tent-button\n                                        [type]=\"'dark-link'\"\n                                        [icon]=\"undefined\"\n                                        [iconPosition]=\"undefined\"\n                                        [label]=\"s.buttons[0].label\"\n                                        [url]=\"s.buttons[0].url\"\n                                        [linkType]=\"undefined\"\n                                    ></tent-button>\n                                </div>\n                            }\n                        </article>\n                    </div>\n                </ng-template>\n            }\n        </owl-carousel-o>\n    </div>\n</section>\n","import {\n    animate,\n    state,\n    style,\n    transition,\n    trigger,\n} from '@angular/animations';\nimport { CommonModule, isPlatformBrowser } from '@angular/common';\nimport {\n    ChangeDetectionStrategy,\n    ChangeDetectorRef,\n    Component,\n    Inject,\n    inject,\n    Input,\n    OnDestroy,\n    PLATFORM_ID,\n    signal,\n} from '@angular/core';\nimport { MatIcon } from '@angular/material/icon';\nimport {\n    ButtonComponent,\n    DynamicScriptService,\n    LangCodeService,\n} from '../../../../public-api';\n\n@Component({\n    selector: 'lib-tent-faq',\n    standalone: true,\n    imports: [CommonModule, MatIcon, ButtonComponent],\n    templateUrl: './tent-faq.component.html',\n    styleUrl: './tent-faq.component.scss',\n    animations: [\n        trigger('slideToggle', [\n            state(\n                'open',\n                style({ height: '*', opacity: 1, overflow: 'hidden' })\n            ),\n            state(\n                'closed',\n                style({ height: '0px', opacity: 0, overflow: 'hidden' })\n            ),\n            transition('closed <=> open', animate('250ms ease')),\n        ]),\n    ],\n    changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TentFaqComponent implements OnDestroy {\n    @Input() title?: string;\n    @Input() pretitle?: string;\n    @Input() licence?: string;\n    @Input() lang?: string = 'en';\n    @Input() top?: string;\n    @Input() faqmore?: string;\n    @Input() faqless?: string;\n    @Input() description?: string;\n    @Input() maxItems: number = 5;\n    @Input() itemsArray?: TentFaqItem[];\n\n    items?: TentFaqItem[] = [];\n\n    selectedIndex = signal<number>(-1);\n    private scriptService = inject(DynamicScriptService);\n\n    private _showAll = signal(false);\n    showAll = this._showAll.asReadonly();\n\n    private cdr = inject(ChangeDetectorRef);\n    private faqScript?: HTMLScriptElement;\n\n    constructor(\n        private langSvc: LangCodeService,\n        @Inject(PLATFORM_ID) private platformId: Object\n    ) {}\n\n    async ngOnInit(): Promise<void> {\n        if (!isPlatformBrowser(this.platformId)) return;\n        if ((this.licence || this.itemsArray) && this.lang && this.top) {\n            try {\n                if (this.itemsArray?.length ?? 0 > 0) {\n                    this.items = this.itemsArray;\n                    return;\n                } else {\n                    let faqs = await this.loadFaqsManually();\n                    this.items = faqs;\n                    this.injectFaqStructuredData(faqs);\n                    this.cdr.markForCheck();\n                }\n            } catch (e) {}\n        }\n        if (!this.faqmore || !this.faqless) {\n            this._showAll.update((v) => true);\n        }\n    }\n\n    selectItem(index: number) {\n        this.selectedIndex.set(index);\n    }\n\n    private readonly QTXT_API = 'https://snippets.quicktext.im/v2/get/snippets';\n\n    private async loadFaqsManually(): Promise<TentFaqItem[]> {\n        const url = `https://snippets.quicktext.im/v2/get/snippets?license=${this.licence}&top=${this.top}&lang=${this.langSvc.toShort(this.lang ?? 'es')}`;\n\n        const res = await fetch(url);\n        if (!res.ok) throw new Error(`Quicktext API error: ${res.status}`);\n\n        const json = await res.json();\n\n        if (!Array.isArray(json)) throw new Error('FAQs no válidas');\n\n        return json.map((item: any) => ({\n            label: item.name ?? 'Ask',\n            description: item.acceptedAnswer?.text ?? 'Unanswered',\n        }));\n    }\n\n    toggleShowAll(): void {\n        this._showAll.update((v) => !v);\n    }\n\n    toggleItem(index: number, event: MouseEvent) {\n        event.stopPropagation();\n\n        if (this.selectedIndex() === index) {\n            this.selectedIndex.set(-1);\n        } else {\n            this.selectedIndex.set(index);\n        }\n    }\n\n    private injectFaqStructuredData(faqs: TentFaqItem[]) {\n        if (!isPlatformBrowser(this.platformId)) return;\n        if (this.faqScript) {\n            document.head.removeChild(this.faqScript);\n        }\n\n        const jsonLd = {\n            '@context': 'https://schema.org',\n            '@type': 'FAQPage',\n            mainEntity: faqs.map((faq) => ({\n                '@type': 'Question',\n                name: faq.label,\n                acceptedAnswer: {\n                    '@type': 'Answer',\n                    text: faq.description,\n                },\n            })),\n        };\n\n        this.faqScript = document.createElement('script');\n        this.faqScript.type = 'application/ld+json';\n        this.faqScript.text = JSON.stringify(jsonLd);\n\n        document.head.appendChild(this.faqScript);\n    }\n\n    ngOnDestroy(): void {\n        if (!isPlatformBrowser(this.platformId)) return;\n        if (this.faqScript) {\n            document.head.removeChild(this.faqScript);\n        }\n    }\n}\nexport interface TentFaqItem {\n    label?: string;\n    description?: string;\n}\n","<section class=\"tent__faq margin-main\">\n    <div class=\"container faq-container\">\n        <div class=\"row align-items-start\">\n            <div class=\"col-lg-8 offset-lg-2\">\n                @if (pretitle || title || description) {\n                    <div class=\"mb--40 text-center\">\n                        @if (pretitle) {\n                            <p\n                                class=\"text-uppercase subtitle color--brown title--40\"\n                            >\n                                {{ pretitle }}\n                            </p>\n                        }\n                        @if (title) {\n                            <h2 class=\"title title--60 color--camel\">\n                                {{ title }}\n                            </h2>\n                        }\n                        @if (description) {\n                            <h2 class=\"text color--camel\">\n                                {{ description }}\n                            </h2>\n                        }\n                    </div>\n                }\n\n                @if (items?.length) {\n                    <div\n                        class=\"tent-faq__list\"\n                        [class.is-collapsed]=\"!showAll()\"\n                    >\n                        @for (item of items; track $index) {\n                            <div\n                                class=\"tent-faq__item\"\n                                [class.active]=\"selectedIndex() === $index\"\n                                (click)=\"selectItem($index)\"\n                                *ngIf=\"showAll() || $index < maxItems\"\n                            >\n                                <button\n                                    type=\"button\"\n                                    class=\"tent-faq__question\"\n                                >\n                                    <h3\n                                        class=\"tent-faq__label color--brown title--24\"\n                                        [innerHTML]=\"item?.label\"\n                                    ></h3>\n                                    <mat-icon\n                                        class=\"color--brown icon-plus tent-faq__icon\"\n                                        fontSet=\"icomoon\"\n                                        (click)=\"toggleItem($index, $event)\"\n                                    ></mat-icon>\n                                </button>\n                                <div\n                                    class=\"tent-faq__answer\"\n                                    [@slideToggle]=\"\n                                        selectedIndex() === $index\n                                            ? 'open'\n                                            : 'closed'\n                                    \"\n                                >\n                                    <p\n                                        class=\"text\"\n                                        [innerHTML]=\"item.description\"\n                                    ></p>\n                                </div>\n                            </div>\n                        }\n                    </div>\n\n                    @if (items && faqless && faqmore && maxItems) {\n                        @if (items.length > maxItems) {\n                            @if (showAll()) {\n                                <tent-button\n                                    class=\"btn-minus\"\n                                    type=\"dark-link\"\n                                    [label]=\"faqless\"\n                                    (click)=\"toggleShowAll()\"\n                                    [name]=\"faqless\"\n                                ></tent-button>\n                            } @else {\n                                <tent-button\n                                    class=\"btn-more\"\n                                    type=\"dark-link\"\n                                    [label]=\"faqmore\"\n                                    (click)=\"toggleShowAll()\"\n                                    [name]=\"faqmore\"\n                                ></tent-button>\n                            }\n                        }\n                    }\n                }\n            </div>\n        </div>\n    </div>\n</section>\n","import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, Input } from '@angular/core';\nimport { ButtonComponent, ButtonI, ImageI } from '../../../../public-api';\n\n@Component({\n    selector: 'tent-footer-logos',\n    standalone: true,\n    imports: [CommonModule, ButtonComponent],\n    templateUrl: './tent-footer-logos.component.html',\n    styleUrl: './tent-footer-logos.component.scss',\n    changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TentFooterLogosComponent {\n    @Input() logos?: ImageI[];\n    @Input() texts?: TentTexts;\n    @Input() buttons?: ButtonI[];\n\n    get filteredButtons() {\n        return (this.buttons || []).filter((b) => !!b);\n    }\n\n    hasContent() {\n        return (\n            this.texts &&\n            (this.texts.title || this.texts.pretitle || this.texts.text)\n        );\n    }\n}\n\nexport interface TentFooterLogoItemI {\n    img?: ImageI;\n    link?: ButtonI;\n}\n\nexport interface TentTexts {\n    title?: string;\n    pretitle?: string;\n    text?: string;\n}\n","@if (hasContent()) {\n    <section class=\"tent__footer-logos\">\n        <div class=\"container footer-logos-container\">\n            <div class=\"intro_info pt--20\">\n                @if (texts?.pretitle) {\n                    <div class=\"text-pretitle\">\n                        <p\n                            class=\"text color--brown\"\n                            [innerHTML]=\"texts?.pretitle\"\n                        ></p>\n                    </div>\n                }\n                @if (texts?.title) {\n                    <h3 class=\"title--30 color--brown\">\n                        {{ texts?.title }}\n                    </h3>\n                }\n                @if (texts?.text) {\n                    <div class=\"text-description\">\n                        <p\n                            class=\"text color--brown\"\n                            [innerHTML]=\"texts?.text\"\n                        ></p>\n                    </div>\n                }\n            </div>\n            @if (filteredButtons.length) {\n                @for (button of filteredButtons; track $index) {\n                    @if (button.label || button.url) {\n                        <tent-button\n                            class=\"brunch--show-more\"\n                            type=\"dark-link\"\n                            [label]=\"button.label\"\n                            [name]=\"button.name\"\n                            [attr.aria-label]=\"button.label\"\n                            [url]=\"button.url\"\n                        >\n                        </tent-button>\n                    }\n                }\n            }\n            @if (logos?.length) {\n                <ul>\n                    @for (logo of logos; track $index) {\n                        <li>\n                            <img\n                                [src]=\"logo.src\"\n                                [alt]=\"logo.alt || ''\"\n                                loading=\"lazy\"\n                            />\n                        </li>\n                    }\n                </ul>\n            }\n        </div>\n    </section>\n}\n","import { CommonModule } from '@angular/common';\nimport { Component, Input } from '@angular/core';\nimport { TentLoyaltyI } from '../../../interfaces/core/tent-loyalty.interface';\nimport { ButtonComponent } from '../../atomic/button/button.component';\n\n@Component({\n    selector: 'lib-tent-loyalty',\n    standalone: true,\n    imports: [CommonModule, ButtonComponent],\n    templateUrl: './tent-loyalty.component.html',\n    styleUrl: './tent-loyalty.component.scss',\n})\nexport class TentLoyaltyComponent {\n    @Input() id: number = 0;\n    @Input() title?: string;\n    @Input() subtitle?: string;\n    @Input() percentage?: string;\n    @Input() percentagetext1?: string;\n    @Input() percentagetext2?: string;\n    @Input() loyalties?: TentLoyaltyI;\n\n    collapsed = true;\n    toggleCollapse(event: Event): void {\n        event.stopPropagation();\n        this.collapsed = !this.collapsed;\n    }\n}\n","<section\n    class=\"tent-loyalty wrapper-big\"\n    [ngClass]=\"{ 'module-spacer--bottom': id == 3 }\"\n>\n    <div class=\"tent-loyalty--content\">\n        @switch (id) {\n            @case (0) {\n                <div class=\"tent-loyalty--head\">\n                    @if (title) {\n                        <h2\n                            class=\"tent-loyalty--head--tit title--42 color--brown\"\n                        >\n                            {{ title }}\n                        </h2>\n                    }\n                    @if (subtitle) {\n                        <p class=\"tent-loyalty--head--text text\">\n                            {{ subtitle }}\n                        </p>\n                    }\n                    @if (percentage || percentagetext1 || percentagetext2) {\n                        <div class=\"discount-loyalty\">\n                            <div class=\"texts-container\">\n                                @if (percentagetext1) {\n                                    <p\n                                        class=\"text color--brown\"\n                                        [innerHTML]=\"percentagetext1\"\n                                    ></p>\n                                }\n                                @if (percentage) {\n                                    <h2\n                                        class=\"title--42 color--brown\"\n                                        [innerHTML]=\"percentage\"\n                                    ></h2>\n                                }\n                                @if (percentagetext2) {\n                                    <p\n                                        class=\"text color--brown\"\n                                        [innerHTML]=\"percentagetext2\"\n                                    ></p>\n                                }\n                            </div>\n                            <div class=\"img-container\">\n                                <img\n                                    src=\"/assets/tent/img/loyalty-discount-bg.svg\"\n                                    alt=\"left\"\n                                    loading=\"lazy\"\n                                    class=\"location-how--iconactive\"\n                                />\n                            </div>\n                        </div>\n                    }\n                </div>\n            }\n            @case (1) {\n                <div\n                    class=\"tent-loyalty--box bg-yellow\"\n                    [ngClass]=\"collapsed ? 'close' : 'open'\"\n                    (click)=\"toggleCollapse($event)\"\n                >\n                    <div class=\"tent-loyalty--box--inner\">\n                        <h3\n                            class=\"tent-loyalty--box--title title--42 color--brown\"\n                        >\n                            @if (loyalties?.icon) {\n                                <span\n                                    class=\"loyalty-icon color--brown\"\n                                    [ngClass]=\"'icon-' + loyalties?.icon\"\n                                ></span>\n                            }\n                            @if (loyalties?.levelName) {\n                                <div class=\"tent-loyalty--box--title--level\">\n                                    <span class=\"text color--brown\">\n                                        {{ loyalties?.levelName }}\n                                    </span>\n                                    @if (loyalties?.levelSubtitle) {\n                                        <p\n                                            class=\"tent-loyalty--info--text text color--brown\"\n                                            [ngClass]=\"\n                                                !collapsed\n                                                    ? 'visible'\n                                                    : 'hidden'\n                                            \"\n                                        >\n                                            {{ loyalties?.levelSubtitle }}\n                                        </p>\n                                    }\n                                </div>\n                            }\n                        </h3>\n                        <div\n                            class=\"tent-loyalty--box--info\"\n                            [ngClass]=\"collapsed ? 'visible' : 'hidden'\"\n                        >\n                            @if (loyalties?.discount) {\n                                <span\n                                    class=\"tent-loyalty--box--info--num title--42 color--brown\"\n                                    >{{ loyalties?.discount }}</span\n                                >\n                            }\n                            @if (loyalties?.advantages) {\n                                <p\n                                    class=\"tent-loyalty--info--text text color--brown\"\n                                >\n                                    {{ loyalties?.advantages }}\n                                </p>\n                            }\n                        </div>\n                        @if (collapsed) {\n                            <tent-button\n                                class=\"tent-loyalty--btn-arrow with-label\"\n                                type=\"dark-box\"\n                                [label]=\"loyalties?.seemore ?? '+'\"\n                                (click)=\"toggleCollapse($event)\"\n                            ></tent-button>\n                            <tent-button\n                                class=\"tent-loyalty--btn-arrow reverse without-label\"\n                                type=\"dark-circle-filled\"\n                                icon=\"icon-signal-up\"\n                                (click)=\"toggleCollapse($event)\"\n                            ></tent-button>\n                        } @else {\n                            <tent-button\n                                class=\"tent-loyalty--btn-arrow with-label\"\n                                type=\"dark-box\"\n                                [label]=\"loyalties?.seeless ?? '-'\"\n                                (click)=\"toggleCollapse($event)\"\n                            ></tent-button>\n                            <tent-button\n                                class=\"tent-loyalty--btn-arrow without-label\"\n                                type=\"dark-circle-filled\"\n                                icon=\"icon-signal-up\"\n                                (click)=\"toggleCollapse($event)\"\n                            ></tent-button>\n                        }\n                    </div>\n                    <ul class=\"tent-loyalty--box--list\">\n                        @if (loyalties?.items?.length) {\n                            @for (item of loyalties?.items; track $index) {\n                                <li\n                                    [ngClass]=\"\n                                        loyalties?.items?.length == 3 &&\n                                        $index == 0\n                                            ? 'first-item-big'\n                                            : ''\n                                    \"\n                                >\n                                    <p\n                                        class=\"tent-loyalty--box--item color--brown\"\n                                    >\n                                        @if (item.text) {\n                                            <span\n                                                class=\"text color--brown\"\n                                                [innerHTML]=\"item.text\"\n                                            ></span>\n                                        }\n                                        @if (item.icon) {\n                                            <span\n                                                class=\"tent-loyalty--box--item--icon\"\n                                                [class]=\"'icon-' + item.icon\"\n                                            ></span>\n                                        }\n                                        @if (item.title) {\n                                            <span class=\"text color--brown\">{{\n                                                item.title\n                                            }}</span>\n                                        }\n                                    </p>\n                                </li>\n                            }\n                        }\n                    </ul>\n                </div>\n            }\n            @case (2) {\n                <div\n                    class=\"tent-loyalty--box bg-orange\"\n                    [ngClass]=\"collapsed ? 'close' : 'open'\"\n                    (click)=\"toggleCollapse($event)\"\n                >\n                    <div class=\"tent-loyalty--box--inner\">\n                        <h3\n                            class=\"tent-loyalty--box--title title--42 color--white\"\n                        >\n                            @if (loyalties?.icon) {\n                                <span\n                                    class=\"loyalty-icon\"\n                                    [ngClass]=\"'icon-' + loyalties?.icon\"\n                                ></span>\n                            }\n                            @if (loyalties?.levelName) {\n                                <div class=\"tent-loyalty--box--title--level\">\n                                    <span class=\"text color--white\">\n                                        {{ loyalties?.levelName }}\n                                    </span>\n                                    @if (loyalties?.levelSubtitle) {\n                                        <p\n                                            class=\"tent-loyalty--info--text text color--white\"\n                                            [ngClass]=\"\n                                                !collapsed\n                                                    ? 'visible'\n                                                    : 'hidden'\n                                            \"\n                                        >\n                                            {{ loyalties?.levelSubtitle }}\n                                        </p>\n                                    }\n                                </div>\n                            }\n                        </h3>\n                        <div\n                            class=\"tent-loyalty--box--info\"\n                            [ngClass]=\"collapsed ? 'visible' : 'hidden'\"\n                        >\n                            @if (loyalties?.discount) {\n                                <span\n                                    class=\"tent-loyalty--box--info--num title--42 color--white\"\n                                    >{{ loyalties?.discount }}</span\n                                >\n                            }\n                            @if (loyalties?.advantages) {\n                                <p\n                                    class=\"tent-loyalty--info--text text color--white\"\n                                >\n                                    {{ loyalties?.advantages }}\n                                </p>\n                            }\n                        </div>\n                        @if (collapsed) {\n                            <tent-button\n                                class=\"tent-loyalty--btn-arrow with-label\"\n                                type=\"dark-box\"\n                                [label]=\"loyalties?.seemore ?? '+'\"\n                                (click)=\"toggleCollapse($event)\"\n                            ></tent-button>\n                            <tent-button\n                                class=\"tent-loyalty--btn-arrow reverse without-label\"\n                                type=\"dark-circle-filled\"\n                                icon=\"icon-signal-up\"\n                                (click)=\"toggleCollapse($event)\"\n                            ></tent-button>\n                        } @else {\n                            <tent-button\n                                class=\"tent-loyalty--btn-arrow with-label\"\n                                type=\"dark-box\"\n                                [label]=\"loyalties?.seeless ?? '-'\"\n                                (click)=\"toggleCollapse($event)\"\n                            ></tent-button>\n                            <tent-button\n                                class=\"tent-loyalty--btn-arrow without-label\"\n                                type=\"dark-circle-filled\"\n                                icon=\"icon-signal-up\"\n                                (click)=\"toggleCollapse($event)\"\n                            ></tent-button>\n                        }\n                    </div>\n                    <ul class=\"tent-loyalty--box--list\">\n                        @if (loyalties?.items?.length) {\n                            @for (item of loyalties?.items; track $index) {\n                                <li>\n                                    <p\n                                        class=\"tent-loyalty--box--item color--brown\"\n                                    >\n                                        @if (item.text) {\n                                            <span\n                                                class=\"text color--brown\"\n                                                [innerHTML]=\"item.text\"\n                                            ></span>\n                                        }\n                                        @if (item.icon) {\n                                            <span\n                                                class=\"tent-loyalty--box--item--icon\"\n                                                [class]=\"'icon-' + item.icon\"\n                                            ></span>\n                                        }\n                                        @if (item.title) {\n                                            <span class=\"text color--brown\">{{\n                                                item.title\n                                            }}</span>\n                                        }\n                                    </p>\n                                </li>\n                            }\n                        }\n                    </ul>\n                </div>\n            }\n            @case (3) {\n                <div\n                    class=\"tent-loyalty--box bg-brown\"\n                    [ngClass]=\"collapsed ? 'close' : 'open'\"\n                    (click)=\"toggleCollapse($event)\"\n                >\n                    <div class=\"tent-loyalty--box--inner\">\n                        <h3\n                            class=\"tent-loyalty--box--title title--42 color--white\"\n                        >\n                            @if (loyalties?.icon) {\n                                <span\n                                    class=\"loyalty-icon\"\n                                    [ngClass]=\"'icon-' + loyalties?.icon\"\n                                ></span>\n                            }\n                            @if (loyalties?.levelName) {\n                                <div class=\"tent-loyalty--box--title--level\">\n                                    <span class=\"text color--white\">\n                                        {{ loyalties?.levelName }}\n                                    </span>\n                                    @if (loyalties?.levelSubtitle) {\n                                        <p\n                                            class=\"tent-loyalty--info--text text color--white\"\n                                            [ngClass]=\"\n                                                !collapsed\n                                                    ? 'visible'\n                                                    : 'hidden'\n                                            \"\n                                        >\n                                            {{ loyalties?.levelSubtitle }}\n                                        </p>\n                                    }\n                                </div>\n                            }\n                        </h3>\n                        <div\n                            class=\"tent-loyalty--box--info\"\n                            [ngClass]=\"collapsed ? 'visible' : 'hidden'\"\n                        >\n                            @if (loyalties?.discount) {\n                                <span\n                                    class=\"tent-loyalty--box--info--num title--42 color--white\"\n                                    >{{ loyalties?.discount }}</span\n                                >\n                            }\n                            @if (loyalties?.advantages) {\n                                <p\n                                    class=\"tent-loyalty--info--text text color--white\"\n                                >\n                                    {{ loyalties?.advantages }}\n                                </p>\n                            }\n                        </div>\n                        @if (collapsed) {\n                            <tent-button\n                                class=\"tent-loyalty--btn-arrow with-label\"\n                                type=\"dark-box\"\n                                [label]=\"loyalties?.seemore ?? '+'\"\n                                (click)=\"toggleCollapse($event)\"\n                            ></tent-button>\n                            <tent-button\n                                class=\"tent-loyalty--btn-arrow reverse without-label\"\n                                type=\"dark-circle-filled\"\n                                icon=\"icon-signal-up\"\n                                (click)=\"toggleCollapse($event)\"\n                            ></tent-button>\n                        } @else {\n                            <tent-button\n                                class=\"tent-loyalty--btn-arrow with-label\"\n                                type=\"dark-box\"\n                                [label]=\"loyalties?.seeless ?? '-'\"\n                                (click)=\"toggleCollapse($event)\"\n                            ></tent-button>\n                            <tent-button\n                                class=\"tent-loyalty--btn-arrow without-label\"\n                                type=\"dark-circle-filled\"\n                                icon=\"icon-signal-up\"\n                                (click)=\"toggleCollapse($event)\"\n                            ></tent-button>\n                        }\n                    </div>\n                    <ul class=\"tent-loyalty--box--list\">\n                        @if (loyalties?.items?.length) {\n                            @for (item of loyalties?.items; track $index) {\n                                <li>\n                                    <p\n                                        class=\"tent-loyalty--box--item color--brown\"\n                                    >\n                                        @if (item.text) {\n                                            <span\n                                                class=\"text color--brown\"\n                                                [innerHTML]=\"item.text\"\n                                                >{{ item.text }}</span\n                                            >\n                                        }\n                                        @if (item.icon) {\n                                            <span\n                                                class=\"tent-loyalty--box--item--icon\"\n                                                [class]=\"'icon-' + item.icon\"\n                                            ></span>\n                                        }\n                                        @if (item.title) {\n                                            <span class=\"text color--brown\">{{\n                                                item.title\n                                            }}</span>\n                                        }\n                                    </p>\n                                </li>\n                            }\n                        }\n                    </ul>\n                </div>\n            }\n        }\n    </div>\n</section>\n","import { Component, Input } from '@angular/core';\nimport { ButtonI, ImageI } from '../../../../public-api';\nimport { BadgeComponent } from '../../atomic/badge/badge.component';\nimport { ButtonComponent } from '../../atomic/button/button.component';\n\n@Component({\n    selector: 'tent-redirection',\n    standalone: true,\n    imports: [ButtonComponent, BadgeComponent],\n    templateUrl: './tent-redirection.component.html',\n    styleUrl: './tent-redirection.component.scss',\n})\nexport class TentRedirectionComponent {\n    @Input() verticalText1?: string;\n    @Input() verticalText2?: string;\n    @Input() title?: string;\n    @Input() description?: string;\n    @Input() buttons?: ButtonI[];\n    @Input() img?: ImageI;\n}\n\nexport interface TextsI {\n    verticalText?: string;\n    title?: string;\n    description?: string;\n}\n","<section class=\"fergus-feature\">\n    <span class=\"fergus-feature__bg\"></span>\n\n    <div class=\"fergus-feature__inner\">\n        @if (verticalText1 || verticalText2) {\n            <span class=\"fergus-feature__vertical\">\n                @if (verticalText1) {\n                    <span class=\"gold title--60\">{{ verticalText1 }}</span\n                    ><br />\n                }\n                @if (verticalText2) {\n                    <span class=\"brown title--60\">{{ verticalText2 }}</span>\n                }\n            </span>\n        }\n\n        <figure class=\"fergus-feature__media\">\n            @if (img) {\n                <div class=\"img__container\">\n                    <img [src]=\"img.src\" [alt]=\"img.alt\" />\n                </div>\n            }\n            <figcaption class=\"fergus-feature__card\">\n                @if (title) {\n                    <div class=\"title--60-container\">\n                        <h2\n                            class=\"fergus-feature__title title--60\"\n                            [innerHTML]=\"title\"\n                        ></h2>\n                    </div>\n                }\n                <div class=\"info-container\">\n                    @if (description) {\n                        <p\n                            class=\"fergus-feature__desc text\"\n                            [innerHTML]=\"description\"\n                        ></p>\n                    }\n\n                    @if (buttons?.length) {\n                        @for (button of buttons; track $index) {\n                            @if (button) {\n                                <div class=\"button-container\">\n                                    <tent-button\n                                        type=\"dark-box\"\n                                        [label]=\"button.label\"\n                                        [url]=\"button.url\"\n                                        [linkType]=\"button.linkType\"\n                                    ></tent-button>\n                                </div>\n                            }\n                        }\n                    }\n                </div>\n            </figcaption>\n        </figure>\n    </div>\n</section>\n","import { CommonModule } from '@angular/common';\nimport { Component, Input, SimpleChanges } from '@angular/core';\nimport { DomSanitizer, SafeResourceUrl } from '@angular/platform-browser';\n\n@Component({\n    selector: 'lib-tent-video',\n    standalone: true,\n    imports: [CommonModule],\n    templateUrl: './tent-video.component.html',\n    styleUrls: ['./tent-video.component.scss'],\n})\nexport class TentVideoComponent {\n    @Input() title?: string;\n    @Input() subtitle?: string;\n\n    // URL completa de YouTube\n    @Input() youtubeUrl: string = '';\n    @Input() imagen?: string;\n\n    videoId: string | null = null;\n    thumbnailUrl: string | null = null;\n    safeEmbedUrl?: SafeResourceUrl;\n\n    isPlaying = false;\n\n    constructor(private sanitizer: DomSanitizer) {}\n\n    ngOnChanges(changes: SimpleChanges): void {\n        if (changes['youtubeUrl']) {\n            this.setupYoutubeData();\n        }\n    }\n\n    private setupYoutubeData(): void {\n        this.videoId = this.extractVideoId(this.youtubeUrl);\n        if (!this.videoId) return;\n\n        // Miniatura de YouTube\n        this.thumbnailUrl = `https://img.youtube.com/vi/${this.videoId}/maxresdefault.jpg`;\n\n        // URL embebida segura con autoplay=1\n        const embed = `https://www.youtube.com/embed/${this.videoId}?autoplay=1&rel=0&mute=0`;\n        this.safeEmbedUrl =\n            this.sanitizer.bypassSecurityTrustResourceUrl(embed);\n    }\n\n    private extractVideoId(url: string): string | null {\n        // Soporta formatos típicos de YouTube\n        const reg = /(?:v=|\\.be\\/|embed\\/)([a-zA-Z0-9_-]{11})/;\n        const match = url.match(reg);\n        return match && match[1] ? match[1] : null;\n    }\n\n    onPlayClick(): void {\n        if (!this.safeEmbedUrl) return;\n        this.isPlaying = true;\n    }\n}\n","<section class=\"hero-video-block\">\n    <!-- Tarjeta de fondo -->\n    <div class=\"hero-video-block__bg\"></div>\n\n    <!-- Contenido -->\n    <div class=\"hero-video-block__content\">\n        <div class=\"hero-video-block__title\">\n            <span class=\"line1\">{{ title }}</span>\n            <span class=\"line2\">{{ subtitle }}</span>\n        </div>\n\n        <div class=\"hero-video-block__video-wrapper\">\n            <!-- Mientras no se esté reproduciendo: miniatura + botón play -->\n            <ng-container *ngIf=\"!isPlaying; else playingTpl\">\n                @if (imagen || thumbnailUrl) {\n                    <div class=\"hero-video-block__thumb\">\n                        <img\n                            [src]=\"imagen ?? thumbnailUrl\"\n                            alt=\"Video thumbnail\"\n                            loading=\"lazy\"\n                        />\n                    </div>\n                }\n\n                <button\n                    class=\"hero-video-block__play-btn\"\n                    type=\"button\"\n                    (click)=\"onPlayClick()\"\n                >\n                    <svg\n                        width=\"50\"\n                        height=\"50\"\n                        viewBox=\"0 0 50 50\"\n                        fill=\"none\"\n                        xmlns=\"http://www.w3.org/2000/svg\"\n                    >\n                        <g filter=\"url(#filter0_d_2054_3)\">\n                            <path\n                                d=\"M41.5 17.2672C45.5 19.5766 45.5 25.3501 41.5 27.6595L13 44.114C9 46.4234 4 43.5367 4 38.9179L4 6.00889C4 1.39009 9 -1.49666 13 0.812744L41.5 17.2672Z\"\n                                fill=\"white\"\n                            />\n                        </g>\n                        <defs>\n                            <filter\n                                id=\"filter0_d_2054_3\"\n                                x=\"0\"\n                                y=\"0\"\n                                width=\"48.5\"\n                                height=\"52.9268\"\n                                filterUnits=\"userSpaceOnUse\"\n                                color-interpolation-filters=\"sRGB\"\n                            >\n                                <feFlood\n                                    flood-opacity=\"0\"\n                                    result=\"BackgroundImageFix\"\n                                />\n                                <feColorMatrix\n                                    in=\"SourceAlpha\"\n                                    type=\"matrix\"\n                                    values=\"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0\"\n                                    result=\"hardAlpha\"\n                                />\n                                <feOffset dy=\"4\" />\n                                <feGaussianBlur stdDeviation=\"2\" />\n                                <feComposite in2=\"hardAlpha\" operator=\"out\" />\n                                <feColorMatrix\n                                    type=\"matrix\"\n                                    values=\"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.25 0\"\n                                />\n                                <feBlend\n                                    mode=\"normal\"\n                                    in2=\"BackgroundImageFix\"\n                                    result=\"effect1_dropShadow_2054_3\"\n                                />\n                                <feBlend\n                                    mode=\"normal\"\n                                    in=\"SourceGraphic\"\n                                    in2=\"effect1_dropShadow_2054_3\"\n                                    result=\"shape\"\n                                />\n                            </filter>\n                        </defs>\n                    </svg>\n                </button>\n            </ng-container>\n\n            <!-- Cuando se pulsa play: iframe de YouTube con autoplay -->\n            <ng-template #playingTpl>\n                <iframe\n                    class=\"hero-video-block__iframe\"\n                    *ngIf=\"safeEmbedUrl\"\n                    [src]=\"safeEmbedUrl\"\n                    title=\"YouTube video player\"\n                    frameborder=\"0\"\n                    allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\"\n                    allowfullscreen\n                ></iframe>\n            </ng-template>\n        </div>\n    </div>\n</section>\n","import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, Input } from '@angular/core';\nimport { DomSanitizer, SafeStyle } from '@angular/platform-browser';\nimport { ButtonI } from '../../../interfaces/atomic/button.interface';\nimport { ButtonComponent } from '../../atomic/button/button.component';\n\n@Component({\n    selector: 'tent-thanks',\n    standalone: true,\n    imports: [CommonModule, ButtonComponent],\n    templateUrl: './thanks.component.html',\n    styleUrl: './thanks.component.scss',\n    changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ThanksComponent {\n    @Input() image?: string;\n    @Input() title?: string;\n    @Input() subtitle?: string;\n    @Input() description?: string;\n    @Input() button?: ButtonI;\n\n    constructor(private readonly sanitizer: DomSanitizer) {}\n\n    get imageInstant(): SafeStyle {\n        return this.sanitizer.bypassSecurityTrustStyle(\n            `background-image: url(${this.image})`\n        );\n    }\n}\n","<div class=\"thanks\">\n    <div class=\"thanks--left-slot\">\n        <figure class=\"figure-full\" [style]=\"imageInstant\"></figure>\n    </div>\n    <div class=\"thanks--right-slot\">\n        @if (title) {\n        <p class=\"thanks--title\">{{ title }}</p>\n        }\n\n        <div class=\"thanks--footer\">\n            @if (subtitle) {\n            <p class=\"thanks--subtitle\">\n                {{ subtitle }}\n            </p>\n            } @if (description) {\n            <p class=\"thanks--description\" [innerHTML]=\"description\"></p>\n            } @if (button) {\n            <tent-button\n                [label]=\"button.label\"\n                type=\"dark-link\"\n                [url]=\"button.url\"\n                [linkType]=\"button.linkType\"\n            ></tent-button>\n            }\n        </div>\n    </div>\n</div>\n","import { CommonModule, isPlatformBrowser } from '@angular/common';\nimport {\n    AfterViewInit,\n    ChangeDetectionStrategy,\n    Component,\n    ElementRef,\n    Inject,\n    Input,\n    OnInit,\n    PLATFORM_ID,\n    Renderer2,\n    ViewChild,\n} from '@angular/core';\nimport { MatIconModule } from '@angular/material/icon';\nimport { DomSanitizer, SafeStyle } from '@angular/platform-browser';\nimport {\n    CarouselComponent,\n    CarouselModule,\n    OwlOptions,\n} from 'ngx-owl-carousel-o';\nimport { LazyBackgroundDirective } from '../../../directives/lazy-background.directive';\nimport { BadgeI } from '../../../interfaces/atomic/badge.interface';\nimport { ButtonI } from '../../../interfaces/atomic/button.interface';\nimport { ImageI } from '../../../interfaces/atomic/image.interface';\nimport { BadgeComponent } from '../../atomic/badge/badge.component';\nimport { ButtonComponent } from '../../atomic/button/button.component';\n\n@Component({\n    selector: 'tent-top-module',\n    standalone: true,\n    imports: [\n        CommonModule,\n        ButtonComponent,\n        BadgeComponent,\n        CarouselModule,\n        MatIconModule,\n        LazyBackgroundDirective,\n    ],\n    templateUrl: './top-module.component.html',\n    styleUrl: './top-module.component.scss',\n    changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TopModuleComponent implements AfterViewInit, OnInit {\n    @ViewChild(CarouselComponent) carousel!: CarouselComponent;\n    @ViewChild('nav', { read: ElementRef }) nav!: ElementRef;\n    @ViewChild('module', { read: ElementRef }) module!: ElementRef;\n    @Input() btnScroll!: ButtonI;\n    @Input() items!: TopModuleItem[];\n    @Input() desktop?: boolean;\n    @Input() scrollLabel?: string;\n    @Input() video?: string;\n    @Input() gift?: ImageI;\n    @Input() logo?: ImageI;\n    @Input() logoMobile?: ImageI;\n    @Input() slim?: boolean;\n    @Input() title?: string;\n    @Input() subtitle?: string;\n\n    showScrollLabel = false;\n\n    sliderOptions: OwlOptions = {\n        loop: true,\n        autoplay: true,\n        autoplayTimeout: 5000,\n        autoplaySpeed: 1500,\n        navSpeed: 1500,\n        responsiveRefreshRate: 100,\n        mouseDrag: true,\n        touchDrag: true,\n        pullDrag: true,\n        dots: true,\n        nav: false,\n        navText: ['', ''],\n        responsive: {\n            0: {\n                items: 1,\n            },\n            540: {\n                items: 1,\n            },\n            768: {\n                items: 1,\n            },\n            1024: {\n                items: 1,\n            },\n            1280: {\n                items: 1,\n            },\n            1366: {\n                items: 1,\n            },\n            1680: {\n                items: 1,\n            },\n        },\n    };\n\n    get videoUrl(): string {\n        return `{videoURL:\\'${this.video}\\', containment:'.youtube-bg',autoPlay:true, mute:true, startAt:1, opacity:1, showControls:false, loop:true, stopMovieOnBlur: false}`;\n    }\n\n    constructor(\n        private readonly renderer: Renderer2,\n        private readonly sanitizer: DomSanitizer,\n        @Inject(PLATFORM_ID) private platformId: Object\n    ) {}\n\n    ngOnInit(): void {}\n\n    getImage(image: string): SafeStyle {\n        return this.sanitizer.bypassSecurityTrustStyle(\n            `background-image: url(${image})`\n        );\n    }\n\n    ngAfterViewInit(): void {\n        if (!isPlatformBrowser(this.platformId)) return;\n        if (!this.video && !this.gift) {\n            const dots = document.getElementsByClassName('owl-dots')[0];\n            this.renderer.appendChild(dots, this.nav.nativeElement);\n            this.renderer.setStyle(\n                this.nav.nativeElement,\n                'width',\n                `${dots.clientWidth + 40}px`\n            );\n        }\n    }\n\n    prevClick(): void {\n        this.carousel.prev();\n    }\n\n    nextClick(): void {\n        this.carousel.next();\n    }\n\n    scrollClicked(): void {\n        if (!isPlatformBrowser(this.platformId)) return;\n        window.scrollTo({\n            top:\n                (this.module.nativeElement as HTMLElement).clientHeight +\n                Number(\n                    window\n                        .getComputedStyle(this.module.nativeElement)\n                        .getPropertyValue('padding-bottom')\n                        .split('px')[0]\n                ) -\n                document.getElementsByTagName('tent-header')[0].clientHeight,\n            behavior: 'smooth',\n        });\n    }\n\n    toggleScrollLabel(): void {\n        this.showScrollLabel = !this.showScrollLabel;\n    }\n}\n\nexport interface TopModuleItem {\n    mainBadge?: BadgeI;\n    title?: string;\n    badgePromo?: BadgeI;\n    badgeDiscount?: BadgeI;\n    btn?: ButtonI;\n    img?: string;\n}\n","<section class=\"top-module module-spacer--bottom\" #module>\n    @if (gift && slim) { @if (title) {\n    <header class=\"top-module--header\">\n        @if (title) {\n        <h1 class=\"top-module--header--title color--brown\">\n            {{ title }}\n        </h1>\n        } @if (subtitle) {\n        <p class=\"top-module--header--subtitle color--camel\">\n            {{ subtitle }}\n        </p>\n        }\n    </header>\n    } } @if( (!video && !gift) || (!gift && !desktop)) {\n    <div class=\"top-module--nav flex-row flex-row--between\" #nav>\n        <span\n            class=\"icon-pointer-down color--white\"\n            (click)=\"prevClick()\"\n        ></span>\n        <span\n            class=\"icon-pointer-down color--white\"\n            (click)=\"nextClick()\"\n        ></span>\n    </div>\n\n    } @if (video && desktop) {\n    <div class=\"youtube-bg\">\n        <div\n            id=\"bgndVideo\"\n            class=\"player\"\n            [attr.data-property]=\"videoUrl\"\n        ></div>\n    </div>\n    } @else if(gift) {\n    <ng-container\n        *ngTemplateOutlet=\"content; context: { item: items[0] }\"\n    ></ng-container>\n    <img\n        class=\"top-module--gift\"\n        [ngClass]=\"{ 'top-module--gift--slim': slim }\"\n        [src]=\"gift.src\"\n        [alt]=\"gift.alt\"\n    />\n    @if (slim) {\n    <div class=\"top-module--gift--header\">\n        <h1 class=\"top-module--gift--title\">\n            {{ title }}\n        </h1>\n        <p class=\"top-module--gift--subtitle\">\n            {{ subtitle }}\n        </p>\n        @if (logo) {\n        <img class=\"top-module--logo\" [src]=\"logo.src\" [alt]=\"logo.alt\" />\n        }\n    </div>\n\n    } } @else if(items){\n    <owl-carousel-o\n        class=\"top-module--slider\"\n        [options]=\"sliderOptions\"\n        [ngClass]=\"{ 'no-loop': items.length < 2 }\"\n    >\n        @for (item of items; track $index) {\n        <ng-template carouselSlide>\n            <ng-container\n                *ngTemplateOutlet=\"content; context: { item: item }\"\n            ></ng-container>\n\n            @if (item.img) {\n            <figure\n                class=\"top-module--image\"\n                [lazyBackground]=\"item.img\"\n            ></figure>\n            }\n        </ng-template>\n        }\n    </owl-carousel-o>\n\n    }\n\n    <div\n        class=\"top-module--btn-scroll\"\n        (mouseenter)=\"toggleScrollLabel()\"\n        (mouseleave)=\"toggleScrollLabel()\"\n    >\n        @if (showScrollLabel && scrollLabel) {\n        <p class=\"top-module--btn-scroll--label\">\n            {{ scrollLabel }}\n        </p>\n\n        } @if(btnScroll.icon) {\n        <tent-button\n            type=\"light-circle\"\n            [icon]=\"btnScroll.icon\"\n            (click)=\"scrollClicked()\"\n            name=\"tent-hotels\"\n        ></tent-button>\n\n        }\n    </div>\n</section>\n\n<ng-template #content let-item=\"item\">\n    @if (!slim) {\n    <div class=\"top-module--content\">\n        @if (item.mainBadge) {\n        <div class=\"top-module--badge\">\n            <tent-badge\n                [rounded]=\"true\"\n                [label]=\"item.mainBadge.label\"\n            ></tent-badge>\n        </div>\n        } @if (item.title) {\n        <h3 class=\"title--80 color--white\">{{ item.title }}</h3>\n        } @if (item.badgePromo || item.badgeDiscount) {\n        <div class=\"top-module--offers flex-row\">\n            @if (item.badgePromo) {\n            <tent-badge\n                class=\"top-module--promo\"\n                [rounded]=\"true\"\n                [label]=\"item.badgePromo.label\"\n            ></tent-badge>\n            } @if (item.badgeDiscount) {\n            <tent-badge\n                class=\"top-module--discount\"\n                [rounded]=\"true\"\n                [label]=\"item.badgeDiscount.label\"\n            ></tent-badge>\n            }\n        </div>\n        } @if (item.btn) {\n        <div class=\"top-module--btn-info\">\n            <tent-button\n                type=\"light-box\"\n                [label]=\"item.btn.label\"\n                [url]=\"item.btn.url\"\n                [linkType]=\"item.btn.linkType!\"\n            ></tent-button>\n        </div>\n        }\n    </div>\n    }\n</ng-template>\n","import { ScrollingModule } from '@angular/cdk/scrolling';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, Input } from '@angular/core';\nimport { DomSanitizer } from '@angular/platform-browser';\nimport { CarouselModule, OwlOptions } from 'ngx-owl-carousel-o';\nimport { LazyBackgroundDirective } from '../../../directives/lazy-background.directive';\nimport { ButtonI } from '../../../interfaces/atomic/button.interface';\n@Component({\n    selector: 'tent-travelers',\n    standalone: true,\n    imports: [\n        CommonModule,\n        CarouselModule,\n        LazyBackgroundDirective,\n        ScrollingModule,\n    ],\n    templateUrl: './travelers.component.html',\n    styleUrl: './travelers.component.scss',\n    changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TravelersComponent {\n    @Input() images?: string[];\n    @Input() title?: string;\n    @Input() titleDark?: string;\n    @Input() links?: ButtonI[];\n\n    get instagramLink(): string {\n        return (\n            this.links?.find((link) => link.icon === 'icon-instagram')?.url ??\n            ''\n        );\n    }\n\n    sliderOptions: OwlOptions = {\n        loop: false,\n        autoplay: false,\n        autoWidth: true,\n        autoplayTimeout: 5000,\n        autoplaySpeed: 1500,\n        navSpeed: 1500,\n        responsiveRefreshRate: 100,\n        mouseDrag: true,\n        touchDrag: true,\n        pullDrag: true,\n        center: false,\n        dots: false,\n        navText: [\n            '<img width=\"12\" height=\"20\" src=\"/assets/tent/img/arrow-left.svg\" alt=\"left\" class=\" \" >',\n            '<img width=\"12\" height=\"20\" src=\"/assets/tent/img/arrow-right.svg\" alt=\"left\" class=\" \" >',\n        ],\n        responsive: {\n            0: {\n                items: 2,\n            },\n            540: {\n                items: 3,\n            },\n            768: {\n                items: 4,\n            },\n            1024: {\n                items: 5,\n            },\n            1280: {\n                items: 6,\n            },\n            1366: {\n                items: 7,\n            },\n            1680: {\n                items: 7,\n            },\n        },\n        nav: true,\n    };\n\n    constructor(private readonly sanitizer: DomSanitizer) {}\n}\n","<section class=\"module-travelers wrapper-medium module-spacer-small--bottom\">\n    @if (images?.length) {\n    <div class=\"module-travelers--inner\">\n        <owl-carousel-o\n            class=\"module-travelers--slider slider-arrows--center\"\n            [options]=\"sliderOptions\"\n        >\n            @for (img of images; track $index) {\n            <ng-template carouselSlide>\n                <div class=\"module-travelers--slide\">\n                    <a\n                        [href]=\"instagramLink\"\n                        aria-label=\"tent-hotels\"\n                        target=\"_blank\"\n                        class=\"module-travelers--img figure-zoom\"\n                    >\n                        <figure\n                            class=\"figure-full\"\n                            [lazyBackground]=\"img\"\n                        ></figure>\n                    </a>\n                </div>\n            </ng-template>\n            }\n        </owl-carousel-o>\n    </div>\n    }\n    <div class=\"module-travelers--info mt--20\">\n        <div class=\"flex-row flex-row--center\">\n            @if (title) {\n            <h2 class=\"module-travelers--title title--80 color--camel\">\n                <!---->{{ title\n                }}<!---->\n            </h2>\n            } @if (titleDark) {\n            <span class=\"color--brown title--80\">{{ titleDark }}</span>\n            }\n        </div>\n        @if (links?.length) {\n        <ul class=\"module-travelers--socials\">\n            @for (link of links; track $index) {\n            <li>\n                <a\n                    aria-label=\"tent-hotels\"\n                    [href]=\"link.url\"\n                    rel=\"external\"\n                    target=\"_blank\"\n                    class=\"module-travelers--social color--brown\"\n                    [ngClass]=\"link.icon\"\n                ></a>\n            </li>\n\n            }\n        </ul>\n        }\n    </div>\n</section>\n","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\nimport { ButtonI } from '../../../interfaces/atomic/button.interface';\n\n@Component({\n    selector: 'tent-webmap',\n    standalone: true,\n    imports: [],\n    templateUrl: './webmap.component.html',\n    styleUrl: './webmap.component.scss',\n    changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class WebmapComponent {\n    @Input() title?: string;\n    @Input() links?: ButtonI[];\n}\n","<section class=\"webmap bg-beige\">\n    <div class=\"webmap--content\">\n        <div class=\"webmap--inner\">\n            @if (title) {\n            <h3 class=\"webmap--title title--30 color--brown-70\">\n                {{ title }}\n            </h3>\n            } @if (links && links.length) {\n            <ul class=\"webmap--list\">\n                @for (link of links; track $index) {\n                <li class=\"webmap--item\">\n                    <a\n                        [href]=\"link.url\"\n                        [attr.aria-label]=\"link.label\"\n                        class=\"text link-regular\"\n                        >{{ link.label }}</a\n                    >\n                </li>\n                }\n            </ul>\n            }\n        </div>\n    </div>\n</section>\n","import { isPlatformBrowser } from '@angular/common';\nimport { Inject, Injectable, PLATFORM_ID } from '@angular/core';\n\n@Injectable({ providedIn: 'root' })\nexport class DynamicScriptService {\n    private loadedScripts = new Map<string, Promise<void>>();\n\n    constructor(@Inject(PLATFORM_ID) private platformId: Object) {}\n\n    /**\n     * Carga un script desde una URL con atributos extra. Solo se carga una vez por `name`.\n     */\n    loadScriptByUrl(\n        name: string,\n        src: string,\n        attributes: Record<string, string> = {}\n    ): Promise<void> {\n        if (!isPlatformBrowser(this.platformId))\n            return Promise.reject('No se puede cargar scripts en el servidor');\n        // Si ya se está cargando o se cargó, reutiliza la promesa\n        if (this.loadedScripts.has(name)) {\n            return this.loadedScripts.get(name)!;\n        }\n\n        const promise = new Promise<void>((resolve, reject) => {\n            const script = document.createElement('script');\n            script.src = src;\n            script.async = true;\n\n            for (const [key, value] of Object.entries(attributes)) {\n                script.setAttribute(key, value);\n            }\n\n            script.onload = () => resolve();\n            script.onerror = () => reject(`Error cargando el script \"${name}\"`);\n\n            document.body.appendChild(script);\n        });\n\n        // Guarda la promesa (aunque esté pendiente)\n        this.loadedScripts.set(name, promise);\n        return promise;\n    }\n\n    /**\n     * Ejecuta código JS en línea una sola vez.\n     */\n    executeInlineScript(name: string, code: string): void {\n        if (!isPlatformBrowser(this.platformId)) return;\n        if (this.loadedScripts.has(name)) return;\n\n        const script = document.createElement('script');\n        script.type = 'text/javascript';\n        script.text = code;\n        document.body.appendChild(script);\n\n        this.loadedScripts.set(name, Promise.resolve());\n    }\n}\n","import { DOCUMENT } from '@angular/common';\nimport { Inject, Injectable } from '@angular/core';\n\n@Injectable({\n    providedIn: 'root',\n})\nexport class LangCodeService {\n    private readonly langMap: Record<string, string> = {\n        es: 'es-ES',\n        en: 'en-GB',\n        fr: 'fr-FR',\n        de: 'de-DE',\n        it: 'it-IT',\n        pt: 'pt-PT',\n        nl: 'nl-NL',\n        sv: 'sv-SE',\n        da: 'da-DK',\n        fi: 'fi-FI',\n        no: 'no-NO',\n        ru: 'ru-RU',\n        zh: 'zh-CN',\n        ja: 'ja-JP',\n        ko: 'ko-KR',\n        ar: 'ar-SA',\n        tr: 'tr-TR',\n        pl: 'pl-PL',\n        cs: 'cs-CZ',\n        ro: 'ro-RO',\n        hu: 'hu-HU',\n        el: 'el-GR',\n        th: 'th-TH',\n        he: 'he-IL',\n        hi: 'hi-IN',\n        id: 'id-ID',\n        ms: 'ms-MY',\n        vi: 'vi-VN',\n        uk: 'uk-UA',\n        bg: 'bg-BG',\n        sk: 'sk-SK',\n        sl: 'sl-SI',\n        hr: 'hr-HR',\n        lt: 'lt-LT',\n        lv: 'lv-LV',\n        et: 'et-EE',\n    };\n\n    private readonly reverseMap: Record<string, string>;\n\n    constructor(@Inject(DOCUMENT) private doc: Document) {\n        this.reverseMap = Object.fromEntries(\n            Object.entries(this.langMap).map(([short, full]) => [\n                full.toLowerCase(),\n                short,\n            ])\n        );\n    }\n\n    private normalize(loc: string): string {\n        return loc?.replace('_', '-').toLowerCase();\n    }\n\n    toFull(loc: string, fallback: string = 'en-GB'): string {\n        const norm = this.normalize(loc ?? '');\n        if (!norm) return fallback;\n\n        if (this.langMap[norm]) return this.langMap[norm];\n\n        const shortFromFull = this.reverseMap[norm];\n        if (shortFromFull) return this.langMap[shortFromFull];\n\n        const guessShort = norm.split('-')[0];\n        return this.langMap[guessShort] ?? norm ?? fallback;\n    }\n\n    toShort(loc: string, fallback: string = 'en'): string {\n        const norm = this.normalize(loc ?? '');\n        if (!norm) return fallback;\n\n        if (this.langMap[norm]) return norm;\n\n        const shortFromFull = this.reverseMap[norm];\n        if (shortFromFull) return shortFromFull;\n\n        const guessShort = norm.split('-')[0];\n        return this.langMap[guessShort] ? guessShort : guessShort || fallback;\n    }\n\n    getHtmlLangCode(loc: string): string {\n        return this.toFull(loc);\n    }\n\n    applyHtmlLang(loc: string): void {\n        const full = this.toFull(loc);\n        this.doc?.documentElement?.setAttribute('lang', full);\n    }\n}\n","import { InjectionToken } from '@angular/core';\nimport { ScreenSizerParams } from './screen-sizer.interface';\n\nexport const SCREEN_SIZER_PARAMS_TOKEN = new InjectionToken<ScreenSizerParams>(\n    'ScreenSizerParams'\n);\n","import { isPlatformBrowser } from '@angular/common';\nimport { Inject, Injectable, PLATFORM_ID, inject, signal } from '@angular/core';\nimport {\n    debounceTime,\n    distinctUntilChanged,\n    fromEvent,\n    map,\n    startWith,\n} from 'rxjs';\nimport { SCREEN_SIZER_PARAMS_TOKEN } from './screen-sizer.service.token';\n\n@Injectable({\n    providedIn: 'root',\n})\nexport class ScreenSizerService {\n    readonly mobile = signal(false);\n    readonly smallTablet = signal(false);\n    readonly mediumTablet = signal(false);\n    readonly fullTablet = signal(false);\n    readonly smallDesktop = signal(false);\n    readonly mediumDesktop = signal(false);\n    readonly fullDesktop = signal(false);\n    readonly fullBigDesktop = signal(false);\n    readonly maxDesktop = signal(false);\n\n    readonly minSmallTablet = signal(false);\n    readonly minMediumTablet = signal(false);\n    readonly minFullTablet = signal(false);\n    readonly minSmallDesktop = signal(false);\n    readonly minMediumDesktop = signal(false);\n    readonly minFullDesktop = signal(false);\n    readonly minFullBigDesktop = signal(false);\n\n    get width(): number {\n        if (!isPlatformBrowser(this.platformId)) return 1380;\n        if (window.innerWidth > window.outerWidth) {\n            return window.outerWidth;\n        }\n        return window.innerWidth;\n    }\n\n    private readonly screenSizerParams = inject(SCREEN_SIZER_PARAMS_TOKEN)\n        .pixelBreakpoints;\n\n    constructor(@Inject(PLATFORM_ID) private platformId: Object) {\n        if (!isPlatformBrowser(this.platformId)) return;\n        fromEvent(window, 'resize')\n            .pipe(\n                debounceTime(200),\n                map(() => this.width),\n                distinctUntilChanged(),\n                startWith(this.width)\n            )\n            .subscribe((size) => {\n                if (size) {\n                    this.mobile.set(size < this.screenSizerParams.mobile);\n\n                    this.smallTablet.set(\n                        size < this.screenSizerParams.smallTablet\n                    );\n\n                    this.mediumTablet.set(\n                        size < this.screenSizerParams.mediumTablet\n                    );\n\n                    this.fullTablet.set(\n                        size < this.screenSizerParams.fullTablet\n                    );\n\n                    this.smallDesktop.set(\n                        size < this.screenSizerParams.smallDesktop\n                    );\n\n                    this.mediumDesktop.set(\n                        size < this.screenSizerParams.mediumDesktop\n                    );\n\n                    this.fullDesktop.set(\n                        size < this.screenSizerParams.fullDesktop\n                    );\n\n                    this.fullBigDesktop.set(\n                        size < this.screenSizerParams.fullBigDesktop\n                    );\n\n                    this.maxDesktop.set(\n                        size <= this.screenSizerParams.maxDesktop\n                    );\n\n                    this.minSmallTablet.set(\n                        size >= this.screenSizerParams.smallTablet\n                    );\n\n                    this.minMediumTablet.set(\n                        size >= this.screenSizerParams.mediumTablet\n                    );\n\n                    this.minFullTablet.set(\n                        size >= this.screenSizerParams.fullTablet\n                    );\n\n                    this.minSmallDesktop.set(\n                        size >= this.screenSizerParams.smallDesktop\n                    );\n\n                    this.minMediumDesktop.set(\n                        size >= this.screenSizerParams.mediumDesktop\n                    );\n\n                    this.minFullDesktop.set(\n                        size >= this.screenSizerParams.fullDesktop\n                    );\n\n                    this.minFullBigDesktop.set(\n                        size >= this.screenSizerParams.fullBigDesktop\n                    );\n                }\n            });\n    }\n\n    isMobileInstant(): boolean {\n        return this.mobile();\n    }\n\n    isSmallTabletInstant(): boolean {\n        return this.smallTablet();\n    }\n\n    isMediumTabletInstant(): boolean {\n        return this.mediumTablet();\n    }\n\n    isFullTabletInstant(): boolean {\n        return this.fullTablet();\n    }\n\n    isSmallDesktopInstant(): boolean {\n        return this.smallDesktop();\n    }\n\n    isMediumDesktopInstant(): boolean {\n        return this.mediumDesktop();\n    }\n\n    isFullDesktopInstant(): boolean {\n        return this.fullDesktop();\n    }\n\n    isFullBigDesktopInstant(): boolean {\n        return this.fullBigDesktop();\n    }\n\n    isMaxDesktopInstant(): boolean {\n        return this.maxDesktop();\n    }\n\n    minSmallTabletInstant(): boolean {\n        return this.minSmallTablet();\n    }\n\n    minMediumTabletInstant(): boolean {\n        return this.minMediumTablet();\n    }\n\n    minFullTabletInstant(): boolean {\n        return this.minFullTablet();\n    }\n\n    minSmallDesktopInstant(): boolean {\n        return this.minSmallDesktop();\n    }\n\n    minMediumDesktopInstant(): boolean {\n        return this.minMediumDesktop();\n    }\n\n    minFullDesktopInstant(): boolean {\n        return this.minFullDesktop();\n    }\n\n    minFullBigDesktopInstant(): boolean {\n        return this.minFullBigDesktop();\n    }\n}\n","/*\n * Public API Surface of tent\n */\n\n/*   ATOMIC COMPONENTS   */\nexport * from './lib/components/atomic/badge/badge.component';\nexport * from './lib/components/atomic/breadcrump/breadcrump.component';\nexport * from './lib/components/atomic/button/button.component';\nexport * from './lib/components/atomic/datepicker/datepicker.component';\nexport * from './lib/components/atomic/dropdown/dropdown.component';\nexport * from './lib/components/atomic/input/input.component';\n\n/*   CORE COMPONENTS   */\nexport * from './lib/components/core/advantages/advantages.component';\nexport * from './lib/components/core/brunch-gallery/brunch-gallery.component';\nexport * from './lib/components/core/brunch/brunch.component';\nexport * from './lib/components/core/cards-2col/cards-2col.component';\nexport * from './lib/components/core/cards-3col/cards-3col.component';\nexport * from './lib/components/core/contact-form/contact-form.component';\nexport * from './lib/components/core/contact-office/contact-office.component';\nexport * from './lib/components/core/delivery-app/delivery-app.component';\nexport * from './lib/components/core/destination-hotels/destination-hotels.component';\nexport * from './lib/components/core/destination-info/destination-info.component';\nexport * from './lib/components/core/destination-list/destination-list.component';\nexport * from './lib/components/core/employment-benefits/employment-benefits.component';\nexport * from './lib/components/core/employment-form/employment-form.component';\nexport * from './lib/components/core/employment-info/employment-info.component';\nexport * from './lib/components/core/facilities-slider/facilities-slider.component';\nexport * from './lib/components/core/footer-a/footer-a.component';\nexport * from './lib/components/core/footer-b/footer-b.component';\nexport * from './lib/components/core/footer-static/footer-static.component';\nexport * from './lib/components/core/gallery-photos/gallery-photos.component';\nexport * from './lib/components/core/generic-head/generic-head.component';\nexport * from './lib/components/core/guests-popup/guests-popup.component';\nexport * from './lib/components/core/header-mobile/header-mobile.component';\nexport * from './lib/components/core/header/header.component';\nexport * from './lib/components/core/hotel-about/hotel-about.component';\nexport * from './lib/components/core/hotel-app/hotel-app.component';\nexport * from './lib/components/core/hotel-equipment/hotel-equipment.component';\nexport * from './lib/components/core/hotel-location/hotel-location.component';\nexport * from './lib/components/core/hotel-services/hotel-services.component';\nexport * from './lib/components/core/hotel-slider/hotel-slider.component';\nexport * from './lib/components/core/hotels-list/hotels-list.component';\nexport * from './lib/components/core/info-slider/info-slider.component';\nexport * from './lib/components/core/location-beach/location-beach.component';\nexport * from './lib/components/core/location-how/location-how.component';\nexport * from './lib/components/core/location-map/location-map.component';\nexport * from './lib/components/core/loyalty-form/loyalty-form.component';\nexport * from './lib/components/core/modals/books-modal/books-modal.component';\nexport * from './lib/components/core/modals/checkin-modal/checkin-modal.component';\nexport * from './lib/components/core/modals/gallery-category/gallery-category.component';\nexport * from './lib/components/core/modals/hotel-list-modal/hotel-list-modal.component';\nexport * from './lib/components/core/modals/languages-modal/languages-modal.component';\nexport * from './lib/components/core/modals/loyalty-modal/loyalty-modal.component';\nexport * from './lib/components/core/modals/menu-modal/menu-modal.component';\nexport * from './lib/components/core/modals/newsletter-modal/newsletter-modal.component';\nexport * from './lib/components/core/modals/room-zoom-modal/room-zoom-modal.component';\nexport * from './lib/components/core/module-404/module-404.component';\nexport * from './lib/components/core/module-brava/module-brava.component';\nexport * from './lib/components/core/module-google-maps/module-google-maps.component';\nexport * from './lib/components/core/module-search/module-search.component';\nexport * from './lib/components/core/motor/motor.component';\nexport * from './lib/components/core/offer-banner/offer-banner.component';\nexport * from './lib/components/core/offer-details/offer-details.component';\nexport * from './lib/components/core/offer-list/offer-list.component';\nexport * from './lib/components/core/offer-slider/offer-slider.component';\nexport * from './lib/components/core/offer/offer.component';\nexport * from './lib/components/core/registration/registration.component';\nexport * from './lib/components/core/room-slider/room-slider.component';\nexport * from './lib/components/core/services-details/services-details.component';\nexport * from './lib/components/core/smartvel/smartvel.component';\nexport * from './lib/components/core/submenu/submenu.component';\nexport * from './lib/components/core/tent-carrousel-img/index';\nexport * from './lib/components/core/tent-faq/index';\nexport * from './lib/components/core/tent-footer-logos/tent-footer-logos.component';\nexport * from './lib/components/core/tent-loyalty/tent-loyalty.component';\nexport * from './lib/components/core/tent-redirection/tent-redirection.component';\nexport * from './lib/components/core/tent-video/tent-video.component';\nexport * from './lib/components/core/thanks/thanks.component';\nexport * from './lib/components/core/top-module/top-module.component';\nexport * from './lib/components/core/travelers/travelers.component';\nexport * from './lib/components/core/webmap/webmap.component';\n\n/*   ATOMIC INTERFACES   */\nexport * from './lib/interfaces/atomic/badge.interface';\nexport * from './lib/interfaces/atomic/breadcrump.interface';\nexport * from './lib/interfaces/atomic/button.interface';\nexport * from './lib/interfaces/atomic/datepicker.interface';\nexport * from './lib/interfaces/atomic/dropdown.interface';\nexport * from './lib/interfaces/atomic/image.interface';\nexport * from './lib/interfaces/atomic/input.interface';\nexport * from './lib/interfaces/atomic/textarea.interface';\n\n/*   CORE INTERFACES   */\nexport * from './lib/interfaces/core/advantages.interface';\nexport * from './lib/interfaces/core/brunch-gallery.interface';\nexport * from './lib/interfaces/core/brunch.interface';\nexport * from './lib/interfaces/core/cards2col.interface';\nexport * from './lib/interfaces/core/cards3col.interface';\nexport * from './lib/interfaces/core/checkin-modal.interface';\nexport * from './lib/interfaces/core/contact-form.interface';\nexport * from './lib/interfaces/core/contact-office.interface';\nexport * from './lib/interfaces/core/delivery-app.interface';\nexport * from './lib/interfaces/core/destination-hotels.interface';\nexport * from './lib/interfaces/core/destination-info.interface';\nexport * from './lib/interfaces/core/destination-list.interface';\nexport * from './lib/interfaces/core/employment-benefits.interface';\nexport * from './lib/interfaces/core/employment-form.interface';\nexport * from './lib/interfaces/core/employment-info.interface';\nexport * from './lib/interfaces/core/facilities-slider.interface';\nexport * from './lib/interfaces/core/footer-a.interface';\nexport * from './lib/interfaces/core/footer-b.interface';\nexport * from './lib/interfaces/core/footer-static.interface';\nexport * from './lib/interfaces/core/gallery-category.interface';\nexport * from './lib/interfaces/core/gallery-photos.interface';\nexport * from './lib/interfaces/core/generic-head.interface';\nexport * from './lib/interfaces/core/guests-popup.interface';\nexport * from './lib/interfaces/core/header-mobile.interface';\nexport * from './lib/interfaces/core/header.interface';\nexport * from './lib/interfaces/core/hotel-about.interface';\nexport * from './lib/interfaces/core/hotel-app.interface';\nexport * from './lib/interfaces/core/hotel-equipment.interface';\nexport * from './lib/interfaces/core/hotel-list-modal.interface';\nexport * from './lib/interfaces/core/hotel-location.interface';\nexport * from './lib/interfaces/core/hotel-services.interface';\nexport * from './lib/interfaces/core/hotel-slider.interface';\nexport * from './lib/interfaces/core/hotels-list.interface';\nexport * from './lib/interfaces/core/info-slider.interface';\nexport * from './lib/interfaces/core/languages-modal.interface';\nexport * from './lib/interfaces/core/location-beach.interface';\nexport * from './lib/interfaces/core/location-how.interface';\nexport * from './lib/interfaces/core/location-map.interface';\nexport * from './lib/interfaces/core/loyalty-form.interface';\nexport * from './lib/interfaces/core/loyalty-modal.interface';\nexport * from './lib/interfaces/core/menu-modal.interface';\nexport * from './lib/interfaces/core/module-404.interface';\nexport * from './lib/interfaces/core/module-brava.interface';\nexport * from './lib/interfaces/core/module-google-maps.interface';\nexport * from './lib/interfaces/core/module-search.interface';\nexport * from './lib/interfaces/core/motor.interface';\nexport * from './lib/interfaces/core/newsletter-modal.interface';\nexport * from './lib/interfaces/core/offer-banner.interface';\nexport * from './lib/interfaces/core/offer-details.interface';\nexport * from './lib/interfaces/core/offer-list.interface';\nexport * from './lib/interfaces/core/offer-slider.interface';\nexport * from './lib/interfaces/core/offer.interface';\nexport * from './lib/interfaces/core/room-slider.interface';\nexport * from './lib/interfaces/core/services-deatils.interface';\nexport * from './lib/interfaces/core/smartvel.interface';\nexport * from './lib/interfaces/core/simple-card.interface';\nexport * from './lib/interfaces/core/submenu.interface';\nexport * from './lib/interfaces/core/tent-footer-logos.interface';\nexport * from './lib/interfaces/core/tent-loyalty.interface';\nexport * from './lib/interfaces/core/tent-redirection.inteface';\nexport * from './lib/interfaces/core/thanks.interface';\nexport * from './lib/interfaces/core/top-module.interface';\nexport * from './lib/interfaces/core/travelers.interface';\nexport * from './lib/interfaces/core/webmap.interface';\n\n/*   SERVICES   */\nexport * from './services';\n\n/*   PIPES   */\nexport * from './lib/pipes/currency.pipe';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i2","i4","i3","i1","i5"],"mappings":"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AAE,IAAI;AACV,gBAAA,IAAI,EAAE,IAAI;AACb,aAAA;AACD,YAAA;AACI,gBAAA,IAAI,EAAE,IAAI;AACV,gBAAA,IAAI,EAAE,IAAI;AACb,aAAA;AACD,YAAA;AACI,gBAAA,IAAI,EAAE,IAAI;AACV,gBAAA,IAAI,EAAE,IAAI;AACb,aAAA;AACD,YAAA;AACI,gBAAA,IAAI,EAAE,IAAI;AACV,gBAAA,IAAI,EAAE,IAAI;AACb,aAAA;AACD,YAAA;AACI,gBAAA,IAAI,EAAE,IAAI;AACV,gBAAA,IAAI,EAAE,IAAI;AACb,aAAA;AACD,YAAA;AACI,gBAAA,IAAI,EAAE,IAAI;AACV,gBAAA,IAAI,EAAE,IAAI;AACb,aAAA;AACD,YAAA;AACI,gBAAA,IAAI,EAAE,IAAI;AACV,gBAAA,IAAI,EAAE,IAAI;AACb,aAAA;AACD,YAAA;AACI,gBAAA,IAAI,EAAE,IAAI;AACV,gBAAA,IAAI,EAAE,IAAI;AACb,aAAA;AACD,YAAA;AACI,gBAAA,IAAI,EAAE,IAAI;AACV,gBAAA,IAAI,EAAE,IAAI;AACb,aAAA;AACD,YAAA;AACI,gBAAA,IAAI,EAAE,IAAI;AACV,gBAAA,IAAI,EAAE,IAAI;AACb,aAAA;AACD,YAAA;AACI,gBAAA,IAAI,EAAE,IAAI;AACV,gBAAA,IAAI,EAAE,IAAI;AACb,aAAA;AACD,YAAA;AACI,gBAAA,IAAI,EAAE,IAAI;AACV,gBAAA,IAAI,EAAE,IAAI;AACb,aAAA;AACD,YAAA;AACI,gBAAA,IAAI,EAAE,IAAI;AACV,gBAAA,IAAI,EAAE,IAAI;AACb,aAAA;AACD,YAAA;AACI,gBAAA,IAAI,EAAE,IAAI;AACV,gBAAA,IAAI,EAAE,IAAI;AACb,aAAA;AACD,YAAA;AACI,gBAAA,IAAI,EAAE,IAAI;AACV,gBAAA,IAAI,EAAE,IAAI;AACb,aAAA;AACD,YAAA;AACI,gBAAA,IAAI,EAAE,IAAI;AACV,gBAAA,IAAI,EAAE,IAAI;AACb,aAAA;AACD,YAAA;AACI,gBAAA,IAAI,EAAE,IAAI;AACV,gBAAA,IAAI,EAAE,IAAI;AACb,aAAA;AAC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"}