<!-- Error rendering component -->
<!-- Cannot read properties of undefined (reading 'includes') -->
<!-- TypeError: Cannot read properties of undefined (reading 'includes')
    at Object.staticPath (/Users/antoniomatera/Sites/adb/node_modules/@frctl/handlebars/src/helpers/path.js:16:18)
    at Object.helperWrapper (/Users/antoniomatera/Sites/adb/node_modules/promised-handlebars/index.js:130:23)
    at Object.<anonymous> (/Users/antoniomatera/Sites/adb/node_modules/promised-handlebars/lib/utils.js:29:28)
    at Object.wrapper (/Users/antoniomatera/Sites/adb/node_modules/handlebars/dist/cjs/handlebars/internal/wrapHelper.js:15:19)
    at Object.eval [as main] (eval at createFunctionContext (/Users/antoniomatera/Sites/adb/node_modules/handlebars/dist/cjs/handlebars/compiler/javascript-compiler.js:262:23), <anonymous>:15:98)
    at main (/Users/antoniomatera/Sites/adb/node_modules/handlebars/dist/cjs/handlebars/runtime.js:208:32)
    at ret (/Users/antoniomatera/Sites/adb/node_modules/handlebars/dist/cjs/handlebars/runtime.js:212:12)
    at ret (/Users/antoniomatera/Sites/adb/node_modules/handlebars/dist/cjs/handlebars/compiler/compiler.js:519:21)
    at prepareAndResolveMarkers (/Users/antoniomatera/Sites/adb/node_modules/promised-handlebars/index.js:92:17)
    at /Users/antoniomatera/Sites/adb/node_modules/promised-handlebars/lib/utils.js:29:28
    at Object.invokePartial (/Users/antoniomatera/Sites/adb/node_modules/handlebars/dist/cjs/handlebars/runtime.js:334:12)
    at hbs.VM.invokePartial (/Users/antoniomatera/Sites/adb/node_modules/@frctl/handlebars/src/adapter.js:76:38)
    at hbs.VM.invokePartial (/Users/antoniomatera/Sites/adb/node_modules/@frctl/handlebars/src/adapter.js:76:38)
    at Object.invokePartialWrapper [as invokePartial] (/Users/antoniomatera/Sites/adb/node_modules/handlebars/dist/cjs/handlebars/runtime.js:84:39)
    at eval (eval at createFunctionContext (/Users/antoniomatera/Sites/adb/node_modules/handlebars/dist/cjs/handlebars/compiler/javascript-compiler.js:262:23), <anonymous>:25:28)
    at Object.prog (/Users/antoniomatera/Sites/adb/node_modules/handlebars/dist/cjs/handlebars/runtime.js:268:12) -->
{{#extend "@template-master"}}

  {{!-- HEADER --}}
  {{#content "header"}}
    {{ render "@header" header merge=true }}
  {{/content}}

  {{!-- FOOTER --}}
  {{#content "footer"}}
  {{/content}}

  {{!-- MAIN --}}
	{{#content "main"}}

    {{ render "@notifications" }}

    <div class="l-travel-home__core">

      <h1 class="l-travel-home__pagetitle">Benvenuto all'Aeroporto di Bologna</h1>
      
      <div class="l-travel-home__billboards">
        {{ render "@billboards" }}
      </div>

      <div class="l-travel-home__conversion">
        {{ render "@tablist--forms" }}
        <div class="l-travel-home__banner l-travel-home__banner--relevant">
          {{> @carousel--gallery relevant-banner }}
        </div>
      </div>
  
      <div class="l-travel-home__banner l-travel-home__banner--stop">
        <h2 class="title">Quale sarà la tua prossima destinazione?</h2>
        <p class="subtitle"><span class="mobile-hidden">Voli diretti verso <strong>99 destinazioni in tutto il mondo!</strong></span> <a href="{{ path '/components/preview/page-flights-destinations' }}">Scopri le destinazioni</a></p>
        {{> @carousel--gallery destination-banner }}
      </div>

    </div>

    <div class="l-travel-home__banner l-travel-home__banner--shopping">
      {{ render "@starting-grid--split" grid-split merge=true }}
    </div>

    <header data-shady>
      <h2>Organizza ora il tuo viaggio</h2>
    </header>

    <div class="l-travel-home__organize o-adjacent">
      <div class="o-adjacent__item">
        {{> @card--art-linked-super bus }}
      </div>
      <div class="o-adjacent__item">
        {{> @card--art-linked hotel }}
      </div>
      <div class="o-adjacent__item">
        {{> @card--art-linked rent-car }}
      </div>
    </div>

	{{/content}}

  {{!-- SCRIPTS JS --}}
  {{#content "scripts" mode="append"}}
    <script src="{{ path '/js/footer.min.js' }}"></script>
    <script>
      $.tangible.shortcutNavigation();
      // $.tangible.navToolbar();
      $.tangible.notifications();
      $.tangible.formFlights();

      // Forms tablist
      var forms = [
        {
          id: 'section-park-form',
          label: 'Prenota un parcheggio'
        },
        {
          id: 'section-mbl-form',
          label: 'Prenota un ingresso Vip lounge'
        },
        {
          id: 'section-flight-express',
          label: 'Acquista il tuo biglietto per il Marconi Express'
        }
      ];

      if (!(navigator.appName == 'Microsoft Internet Explorer' ||  !!(navigator.userAgent.match(/Trident/) || navigator.userAgent.match(/rv:11/)) || (typeof $.browser !== "undefined" && $.browser.msie == 1))) {
        var app5 = new Xiao(forms, 'section-park-form');
      }

      // Banner relevant
      $('.c-carousel--relevantBanner .owl-carousel').owlCarousel({
        loop: false,
				rewind: true,
        responsiveClass: true,
				margin: 16,
				stageOuterClass: "owl-stage-outer c-carousel__outer",
        stageClass: "owl-stage c-carousel__stage",
        nav: false,
				dotsClass: "c-carousel__dots",
				dotClass: "owl-dot c-carousel__dot",
        mouseDrag: false,
        responsive:{
					0:{
						items: 1
					}
        }
      });

      // Banner destinations
      $('.c-carousel--destinations .owl-carousel').owlCarousel({
        loop: false,
				rewind: true,
        responsiveClass: true,
				margin: 16,
				stageOuterClass: "owl-stage-outer c-carousel__outer",
        stageClass: "owl-stage c-carousel__stage",
        nav: false,
				dotsClass: "c-carousel__dots",
				dotClass: "owl-dot c-carousel__dot",
        mouseDrag: false,
        responsive:{
					0:{
						items: 1
					}
        }
      });

      // Banner shopping
      $('.c-carousel--shopping .owl-carousel').owlCarousel({
        loop: false,
				rewind: true,
        responsiveClass: true,
        margin: 16,
        stageOuterClass: "owl-stage-outer c-carousel__outer",
        stageClass: "owl-stage c-carousel__stage",
        nav: false,
        dotsClass: "c-carousel__dots",
        dotClass: "owl-dot c-carousel__dot",
        mouseDrag: false,
        responsive:{
          0:{
            items: 1
          }
        }
      });

      // initialization flatpickr https://flatpickr.js.org/getting-started/
      // if browser language is italian, set flatpickr language to italian https://flatpickr.js.org/localization/
      var userLang = navigator.language || navigator.userLanguage;
      
      if (userLang == 'it-IT') {
        flatpickr.localize(flatpickr.l10ns.it);
      }
      
      // gestione abiliata/disabilita plugin mobile/desktop
      function flatPickrController() {
        var date_entrance = flatpickr("#entrance-date-time-desktop.js-flatpickr"),
            date_exit = flatpickr("#exit-date-time-desktop.js-flatpickr"),
            vip_lounge = flatpickr("#departure-date.js-flatpickr"),
            round_trip = flatpickr("#round-trip-desktop.js-flatpickr"),
            round_only = flatpickr("#round-desktop.js-flatpickr"),
            mobileBreakPoint = 1024;

            // se la viewport è maggiore di 1024 (display input desktop), inizializzo i flatpickr
            if ($(window).width() > mobileBreakPoint) {

              // parking form - enter
              var date_entrance = flatpickr("#entrance-date-time-desktop.js-flatpickr", {
                dateFormat: "d F Y H:i",
                enableTime: true,
                minDate: "today", 
                minuteIncrement: 15,
                allowInput:true,
                onChange: function(dateStr, dateObj){
                  date_exit.set("minDate", dateObj);
                },
                plugins: [new confirmDatePlugin({
                  confirmText: "Conferma "
                })]
              });

              // parking form - exit
              var date_exit = flatpickr("#exit-date-time-desktop.js-flatpickr", {
                dateFormat: "d F Y H:i",   
                enableTime: true,
                minuteIncrement: 15,
                allowInput:true,
                plugins: [new confirmDatePlugin({
                  confirmText: "Conferma "
                })]
              });

              // vip lounge form - date (single ok)
              var vip_lounge = flatpickr("#departure-date.js-flatpickr", {      
                dateFormat: "d F Y",
                minDate: "today",
                allowInput:true
              });
      
              // flights form - andata/ritorno (desktop)
              var round_trip = flatpickr("#round-trip-desktop.js-flatpickr", {      
                dateFormat: "d F Y",
                mode: "range",
                minDate: "today",
                allowInput:true
              });  
              
              // flights form - andata (desktop)
              var round_only = flatpickr("#round-desktop.js-flatpickr", {      
                dateFormat: "d F Y",
                minDate: "today",
                allowInput:true
              });  

            } else {
              // disabilita il plugin flatpickr, utilizza input normali
              date_entrance.destroy();
              date_exit.destroy();
              vip_lounge.destroy();
              round_trip.destroy();
              round_only.destroy();
            }
      }

      // al caricamento e al resize, chiama la funzione che abilita o disabilita il plugin
      $(window).on('load resize', flatPickrController);

           
    // LOGICA FORM PARCHEGGI - set min date
    var $dateInput1 = $("#entrance-date-mobile"),
        $dateInput2 = $("#exit-date-mobile"),
        $dateInputDetail1 = $(".c-time-detail #entrance-date-mobile"),
        $dateInputDetail2 = $(".c-time-detail #exit-date-mobile"),
        $today = new Date().toISOString().split("T")[0];

        $.merge($dateInput1, $dateInput2).attr('min', $today);
        $.merge($dateInputDetail1, $dateInputDetail2).attr('value', $today);   

    // LOGICA FORM PARCHEGGI - validazione
    $("#entrance-date-mobile, #entrance-time-mobile, #exit-date-mobile, #exit-time-mobile").change( function() {

        var $dateInput1 = $("#entrance-date-mobile"),
            $dateInput2 = $("#exit-date-mobile"),
            $timeInput1 = $("#entrance-time-mobile"),
            $timeInput2 = $("#exit-time-mobile"),
            $noteField = $("#parking-form-note");

        var $date1 = new Date($dateInput1.val()),
            $date2 = new Date($dateInput2.val()),
            $dateParse1 = Date.parse($date1),
            $dateParse2 = Date.parse($date2),
            $time1 = $timeInput1.val(),
            $time2 = $timeInput2.val(),
            $entranceData = $dateParse1 + $time1,
            $exitData = $dateParse2 + $time2;

        if ($entranceData >= $exitData) {            
            $noteField.addClass('is-negative');
            $noteField.removeClass('u-visuallyhidden');
        } else {            
            $noteField.removeClass('is-negative');
            $noteField.addClass('u-visuallyhidden');
        }
    })
    
    // MBL valore default mobile = today
    dateMbl = $('#departure-date-mobile');
    $today = new Date().toISOString().split("T")[0];

    $(dateMbl).attr('min', $today);  
    $(dateMbl).attr('value', $today); 

    // LOGICA FORM VOLI - set min date
    var $round = $("#round-mobile"),
        $trip = $("#trip-mobile"),
        $today = new Date().toISOString().split("T")[0];        

        $.merge($round, $trip).attr('min', $today);

    // LOGICA FORM VOLI - validazione
    $("#trip-mobile, #round-mobile").change( function(e){
        var $roundDate = new Date($round.val()),
        $tripDate = new Date($trip.val()),
        $roundParse = Date.parse($roundDate),
        $noteField = $("#flights-form-note"),
        $tripParse = Date.parse($tripDate);
        
        if ($roundParse > $tripParse){              
            $noteField.addClass('is-negative');
            $noteField.removeClass('u-visuallyhidden');
        } else {
            $noteField.removeClass('is-negative');
            $noteField.addClass('u-visuallyhidden');
        }
    } );


    // LOGICA FORM VOLI - mostra/nascondi
    // all'atterraggio in pagina nascondo il campo solo andata desktop
    $("#round-desktop").closest("label").hide();

    // funzione radio button voli desktop
    function ImpostaRitornoDesktop(abilita) {
      var roundDesktopInput = $(".js-round-desktop input"),
          roundDesktopLabel = $(".js-round-desktop label"),
          roundTripDesktopInput = $(".js-round-trip-desktop input"),
          roundTripDesktopLabel = $(".js-round-trip-desktop label");

      if (abilita) {
        // mostro il campo solo andata desktop
        roundDesktopInput.attr("required", "required");
        roundDesktopLabel.show();
        // nascondo il campo andata e ritorno desktop
        roundTripDesktopInput.removeAttr("required");
        roundTripDesktopLabel.hide();
      } else {
        // nascondo il campo solo andata desktop
        roundDesktopInput.removeAttr("required");
        roundDesktopLabel.hide();
        // mostro il campo andata e ritorno desktop
        roundTripDesktopInput.attr("required", "required");
        roundTripDesktopLabel.show();          
      }
    }
      
    // funzione radio button voli mobile
    function ImpostaRitornoMobile(abilita) {
      var roundMobileInput = $(".js-round-mobile input"),
          tripMobileInput = $(".js-trip-mobile input"),
          tripMobileLabel = $(".js-trip-mobile label");
      
      if (abilita) {          
        // mostro il campo andata mobile
        roundMobileInput.attr("required", "required"); 
        // nascondo il campo ritorno mobile
        tripMobileInput.removeAttr("required");
        tripMobileLabel.hide();
        tripMobileLabel.next().hide();        
      } else {          
        // mostro il campo ritorno mobile
        tripMobileInput.attr("required", "required");
        tripMobileLabel.show();
        tripMobileLabel.next().show();
      }
    }
  
    // FIX CHROME ATTRIBUTI REQUIRED
    // rimuove e aggiunge gli attributi required per gli input e le select dei form e-commerce
    function checkInputVisibility() {
      
      // breakpoint desktop-mobile
      var breakPoint              = 1024,
          mobileInput             = $('.c-form__el--mobile input, .c-form__el--mobile select'),
          desktopInput            = $('.c-form__el--desktop input, .c-form__el--desktop select'),
          desktopInputFlightsTrip = $(".js-round-desktop input");
          
        if ($(window).width() > breakPoint) {
          desktopInput.attr('required','required');
          mobileInput.removeAttr('required');
          desktopInputFlightsTrip.removeAttr("required");
        } else if ($(window).width() < breakPoint){
          desktopInput.removeAttr('required');
          mobileInput.attr('required','required');          
        }
    }

    // al caricamento e al resize della pagina
    $(window).on('load resize', checkInputVisibility);

    </script>
    
  {{/content}}

{{/extend}}
{
  "name": "default",
  "template-main-class": "c-main--home-travel no-gap",
  "home-it": true,
  "superhero": {
    "bg-path": "/images/superhero-home-4.jpg",
    "modifier": "c-superhero--homepage ",
    "h1": "Benvenuto<br /> all'<strong>Aeroporto di Bologna</strong>"
  },
  "flightform": [
    {
      "componentName": "@list-search--inline",
      "componentInstance": {
        "modifier": "c-list-search--inline c-list-search--center",
        "inputComponentName": "@autocomplete",
        "inputComponentInstance": {
          "label_id": "text-field",
          "label_message": "Cerca volo",
          "label_class": null,
          "atom-input": {
            "id": "text-field",
            "type": "text",
            "class": null,
            "required": false,
            "hasNote": true,
            "describedby": "text-note"
          },
          "autocomplete": {
            "datalist-id": "search-destinations",
            "prefix-class": "combobox",
            "case-sensitive": "no",
            "search-option": "containing",
            "help-text": "Premi il tasto TAB o le frecce direzionali per accedere e navigare attraverso i suggerimenti. Conferma la tua scelta col tasto INVIO, oppure premi il tasto ESC per chiudere la lista dei suggerimenti.",
            "options": [
              {
                "value": "Dubai (EMIRATI ARABI)"
              },
              {
                "value": "Roma (ITALIA)"
              },
              {
                "value": "New York Ny (STATI UNITI)"
              },
              {
                "value": "Parigi (FRANCIA)"
              },
              {
                "value": "Berlino (GERMANIA)"
              },
              {
                "value": "Londra (REGNO UNITO)"
              }
            ]
          },
          "note_id": "text-note",
          "note_message": "Inserisci la città, n° volo o compagnia aerea",
          "note_class": ""
        },
        "hasSubmitButton": true,
        "submitButtonModifier": "c-button--adding",
        "search-icon": {
          "class": "c-icon c-icon--18 ",
          "symbol": "ic_search_black_24px"
        },
        "hasExtra": false
      }
    }
  ],
  "parking-form-dialog": {
    "id": "dialog-parking-form",
    "dialog-labelledby": "title",
    "title": "Hai una convenzione?",
    "paragraph": "Cerca nella lista e scopri il vantaggio sulle tariffe",
    "entrance-date": {
      "label_id": "entrance-date",
      "label_message": "Entrata",
      "label_class": "is-datepicker",
      "screen-reader-text": "Scegli la data",
      "atom-input": {
        "id": "entrance-date",
        "type": "date",
        "class": null,
        "placeholder": "Scegli la data",
        "required": true,
        "hasNote": true,
        "describedby": "entrance-date-note"
      },
      "note_id": "entrance-date-note",
      "note_message": "Seleziona la data di entrata al parcheggio",
      "note_class": ""
    },
    "entrance-time": {
      "label_id": "entrance-time",
      "label_message": "Ore",
      "label_class": null,
      "atom-select": {
        "id": "entrance-time",
        "class": null,
        "required": true,
        "hasNote": true,
        "describedby": "entrance-time-note",
        "placeholder": "00:00",
        "options": [
          {
            "value": "option-1",
            "text": "20:00"
          },
          {
            "value": "option-2",
            "text": "20:15"
          },
          {
            "value": "option-3",
            "text": "20:30"
          },
          {
            "value": "option-4",
            "text": "20:45"
          }
        ]
      },
      "note_id": "entrance-time-note",
      "note_message": "Seleziona l'ora di ingresso al parcheggio",
      "note_class": ""
    },
    "exit-date": {
      "label_id": "exit-date",
      "label_message": "Uscita",
      "label_class": "is-datepicker",
      "screen-reader-text": "Scegli la data",
      "atom-input": {
        "id": "exit-date",
        "type": "date",
        "class": null,
        "placeholder": "Scegli la data",
        "required": true,
        "hasNote": true,
        "describedby": "exit-date-note"
      },
      "note_id": "exit-date-note",
      "note_message": "Seleziona la data di uscita dal parcheggio",
      "note_class": ""
    },
    "exit-time": {
      "label_id": "exit-time",
      "label_message": "Ore",
      "label_class": null,
      "atom-select": {
        "id": "exit-time",
        "class": null,
        "required": true,
        "hasNote": true,
        "describedby": "exit-time-note",
        "placeholder": "00:00",
        "options": [
          {
            "value": "option-1",
            "text": "20:00"
          },
          {
            "value": "option-2",
            "text": "20:15"
          },
          {
            "value": "option-3",
            "text": "20:30"
          },
          {
            "value": "option-4",
            "text": "20:45"
          }
        ]
      },
      "note_id": "exit-time-note",
      "note_message": "Seleziona l'ora di uscita dal parcheggio",
      "note_class": ""
    },
    "select-conventions": {
      "label_id": "select-conventions",
      "label_message": "Convenzione:",
      "label_class": "",
      "atom-select": {
        "id": "select-conventions",
        "class": "",
        "required": false,
        "hasNote": true,
        "describedby": "select-conventions-note",
        "placeholder": "Hai una convenzione?",
        "options": [
          {
            "value": "option-1",
            "text": "Alba Tour"
          },
          {
            "value": "option-2",
            "text": "Alpitour"
          },
          {
            "value": "option-3",
            "text": "Brixia Viaggi"
          },
          {
            "value": "option-4",
            "text": "Club Med"
          },
          {
            "value": "option-5",
            "text": "Domina Travel"
          },
          {
            "value": "option-6",
            "text": "In Viaggi"
          },
          {
            "value": "option-7",
            "text": "Marsupio Group"
          },
          {
            "value": "option-8",
            "text": "Smeg S.p.A."
          },
          {
            "value": "option-9",
            "text": "Viaggi Idea"
          }
        ]
      },
      "note_id": "select-conventions-note",
      "note_message": "Seleziona un'opzione dal menù a tendina",
      "note_class": ""
    },
    "file-number": {
      "label_id": "file-number",
      "label_message": "Numero pratica",
      "label_class": "",
      "atom-input": {
        "id": "file-number",
        "type": "text",
        "class": "",
        "placeholder": "es. AA46923757",
        "required": false,
        "hasNote": true,
        "describedby": "file-number-note"
      },
      "note_id": "file-number-note",
      "note_message": "Inserisci il numero di pratica della convenzione",
      "note_class": ""
    },
    "submit": {
      "name": "submit",
      "type": "submit",
      "text": "Cerca parcheggio",
      "modifier": "c-button--submit c-button--large"
    }
  },
  "relevant-banner": {
    "modifier": "c-carousel--gallery c-carousel--equalH c-carousel--relevantBanner",
    "items": [
      {
        "componentName": "@showcase--full",
        "componentInstance": {
          "bg-path": "/images/showcase-slide-park.jpg",
          "title": "Scegli i parcheggi ufficiali dell'Aeroporto di Bologna",
          "subtitle": "Fino al 30% di sconto se acquisti online",
          "logo": false,
          "link": {
            "text": "Scopri di più",
            "url": "#",
            "modifier": "c-showcase__link"
          }
        }
      },
      {
        "componentName": "@showcase--full",
        "componentInstance": {
          "bg-path": "/images/showcase-russia.jpg",
          "title": "Titolo banner 2",
          "subtitle": "",
          "logo": null,
          "link": {
            "text": "Scopri di più",
            "url": "#",
            "modifier": "c-showcase__link"
          }
        }
      },
      {
        "componentName": "@showcase--full",
        "componentInstance": {
          "bg-path": "/images/showcase-russia.jpg",
          "title": "Titolo banner 3",
          "subtitle": "Sottotitolo banner 3",
          "logo": null,
          "link": {
            "text": "Scopri di più",
            "url": "#",
            "modifier": "c-showcase__link"
          }
        }
      },
      {
        "componentName": "@showcase--full",
        "componentInstance": {
          "modifier": "c-showcase--clickable",
          "bg-path": "/images/showcase-APD-BANNER-Bologna-3.jpg",
          "title": null,
          "subtitle": null,
          "logo": null,
          "link": {
            "text": "",
            "url": "https://tangible.is/",
            "modifier": "c-showcase__link"
          }
        }
      }
    ]
  },
  "highlight-emergency": {
    "modifier": "c-highlight--composite c-highlight--emergency c-highlight--grid",
    "sticker": {
      "img-src": "/images/svgs/stk_covid.svg",
      "img-alt": "Info Covid-19"
    },
    "title": "Covid-19 | Viaggia informato",
    "text": "<p><strong>IN EVIDENZA</strong>: Ultimi aggiornamenti. <a href=\"\">Leggi di più →</a></p>",
    "text2": "<p><strong>APPROFONDIMENTI</strong>:  La gestione dell'emergenza e le nostre azioni per il futuro. <a href=\"\">Leggi di più →</a></p>"
  },
  "btnDiscoverDestinations": {
    "type": "button",
    "text": "Scopri le destinazioni",
    "modifier": "",
    "url": "/components/preview/page-flights-landing-destinations",
    "svg": {
      "symbol": "ic_chevron_right_black_24px",
      "class": "svg-24"
    }
  },
  "destination-banner": {
    "modifier": "c-carousel--gallery c-carousel--equalH c-carousel--destinations",
    "items": [
      {
        "componentName": "@showcase",
        "componentInstance": {
          "bg-path": "/images/showcase-tbilisi.jpg",
          "title": "Vola a Tbilisi",
          "subtitle": "Voli diretti, due volte alla settimana con <strong>Georgian Airways</strong>",
          "logo": {
            "path": "/images/georgian-airways.png",
            "alt": "Georgian airways"
          },
          "link": {
            "text": "Scopri di più",
            "url": "/components/preview/page-flights-destination",
            "modifier": "",
            "svg": true
          }
        }
      },
      {
        "componentName": "@showcase",
        "componentInstance": {
          "bg-path": "/images/showcase-russia.jpg",
          "title": "Vola in Russia",
          "subtitle": "Nuovi voli per la Russia",
          "logo": null,
          "link": {
            "text": "Scopri di più",
            "url": "/components/preview/page-flights-destination",
            "modifier": "",
            "svg": true
          }
        }
      },
      {
        "componentName": "@showcase",
        "componentInstance": {
          "bg-path": "/images/showcase-china.jpg",
          "title": "Vola in Cina",
          "subtitle": "Voli charter per la Cina",
          "logo": null,
          "link": {
            "text": "Scopri di più",
            "url": "/components/preview/page-flights-destination",
            "modifier": "",
            "svg": true
          }
        }
      }
    ]
  },
  "destinations-highlight": {
    "modifier": "c-carousel--destinations c-carousel--fullwidth c-carousel--zoom",
    "aria-label-title": "Ecco le destinazioni migliori",
    "items": [
      {
        "componentName": "@launch--destination",
        "componentInstance": {
          "title": "Valencia",
          "subtitle": "Scopri di più",
          "bg-path": "/images/destinations/zurich.png",
          "company-info": {
            "company-path": "/images/flight-companies/swissair.png",
            "company-of-the-month": false
          }
        }
      },
      {
        "componentName": "@launch--destination",
        "componentInstance": {
          "title": "Amsterdam",
          "subtitle": "Scopri di più",
          "bg-path": "/images/destinations/zurich.png",
          "company-info": {
            "company-path": "/images/flight-companies/easyJet.gif",
            "company-of-the-month": false
          }
        }
      },
      {
        "componentName": "@launch--destination",
        "componentInstance": {
          "title": "Zurich",
          "subtitle": "Scopri di più",
          "bg-path": "/images/destinations/zurich.png",
          "company-info": {
            "company-path": "/images/flight-companies/swissair.png",
            "company-of-the-month": false
          }
        }
      },
      {
        "componentName": "@launch--destination",
        "componentInstance": {
          "title": "Valencia",
          "subtitle": "Scopri di più",
          "bg-path": "/images/destinations/zurich.png",
          "company-info": {
            "company-path": "/images/flight-companies/swissair.png",
            "company-caption": "SwissAir compagnia del mese",
            "company-of-the-month": true
          }
        }
      },
      {
        "componentName": "@launch--destination",
        "componentInstance": {
          "title": "Valencia",
          "subtitle": "Scopri di più",
          "bg-path": "/images/destinations/zurich.png",
          "company-info": {
            "company-path": "/images/flight-companies/vueling-VY.png",
            "company-of-the-month": false
          }
        }
      },
      {
        "componentName": "@launch--destination",
        "componentInstance": {
          "title": "Valencia",
          "subtitle": "Scopri di più",
          "bg-path": "/images/destinations/zurich.png",
          "company-info": {
            "company-path": "/images/flight-companies/swissair.png",
            "company-caption": "AirSwiss compagnia del mese",
            "company-of-the-month": true
          }
        }
      },
      {
        "componentName": "@launch--destination",
        "componentInstance": {
          "title": "Valencia",
          "subtitle": "Scopri di più",
          "bg-path": "/images/destinations/zurich.png",
          "company-info": {
            "company-path": "/images/flight-companies/logo-fr.png",
            "company-of-the-month": false
          }
        }
      },
      {
        "componentName": "@launch--destination",
        "componentInstance": {
          "title": "Valencia",
          "subtitle": "Scopri di più",
          "bg-path": "/images/destinations/zurich.png",
          "company-info": {
            "company-path": "/images/flight-companies/swissair.png",
            "company-caption": "SwissAir compagnia del mese",
            "company-of-the-month": true
          }
        }
      }
    ]
  },
  "innovability": {
    "modifier": "c-carousel--destinations c-carousel--fullwidth c-carousel--zoom",
    "aria-label-title": "Ecco le destinazioni migliori",
    "items": [
      {
        "componentName": "@launch--fullimage",
        "componentInstance": {
          "bg-path": "/images/launch_innovability.jpg",
          "label": false,
          "caption": false
        }
      },
      {
        "componentName": "@launch--fullimage",
        "componentInstance": {
          "bg-path": "/images/launch_innovability.jpg",
          "label": false,
          "caption": false
        }
      },
      {
        "componentName": "@launch--fullimage",
        "componentInstance": {
          "bg-path": "/images/launch_innovability.jpg",
          "label": false,
          "caption": false
        }
      },
      {
        "componentName": "@launch--fullimage",
        "componentInstance": {
          "bg-path": "/images/launch_innovability.jpg",
          "label": false,
          "caption": false
        }
      },
      {
        "componentName": "@launch--fullimage",
        "componentInstance": {
          "bg-path": "/images/launch_innovability.jpg",
          "label": false,
          "caption": false
        }
      },
      {
        "componentName": "@launch--fullimage",
        "componentInstance": {
          "bg-path": "/images/launch_innovability.jpg",
          "label": false,
          "caption": false
        }
      }
    ]
  },
  "shopping-bg-path": "/images/bg-servizi-cut.jpg",
  "feature-cards": [
    {
      "img-icon": {
        "symbol": "ic_directions_bus_black_24px",
        "class": "c-icon"
      },
      "title": "<p>Prenota un autobus.</p>",
      "body": "<p>Scopri tutti i collegamenti attivi dall’areoporto di Bologna alle principali città.</p>",
      "cta-icon": {
        "symbol": "ic_chevron_right_black_24px",
        "class": "c-icon c-icon--24"
      }
    },
    {
      "img-icon": {
        "symbol": "ic_directions_car_black_24px",
        "class": "c-icon"
      },
      "title": "<p>Noleggia un’auto.</p>",
      "body": "<p>Scopri il noleggio auto all'Aeroporto di Bologna o al tuo Aeroporto di destinazione al miglior prezzo garantito.</p>",
      "brand-img": {
        "src": "/images/rentalcars-logo.png",
        "alt": "Rental cars"
      },
      "cta-icon": {
        "symbol": "ic_chevron_right_black_24px",
        "class": "c-icon c-icon--24"
      }
    }
  ]
}
  • Content:
    $travel-home-background-pos-size: 50%;
    
    .l-travel-home__core {
      position: relative;
      grid-column: full;
    
      background: #fff;
      display: flex;
      flex-wrap: wrap;
      flex-direction: column;
      z-index: $zIndex-2;
      
    }
    
    
    .l-travel-home__core > * {
      z-index: 10;
    }
    
    // .l-travel-home__core--chinese {
    //   background-color: transparent;
      
    //   @include min-screen(bp(tablet-p)) {
    //     background-color: primary(night, 100);
    //   }
    // }
    
    // .l-travel-home__pagetitle {
    //   text-align: center;
    //   grid-column: innermain;
    //   grid-area: pagetitle;
    //   color: primary(night, 100);
    //   margin-top: remify(128px);
    //   margin-bottom: remify(16px);
      
    //   @include min-screen(bp(tablet)) {
    //     font-size: 250%; // 40px
    //   }
    
    //   .c-main--home-emergency & {
    //     margin-bottom: 0;
    //   }
    // }
    
    // .l-travel-home__pagetitle--no-margin {
    //   margin-bottom: 0;
    // }
    
    // .l-travel-home__subtitle {
    //   text-align: center;
    //   grid-column: innermain;
    //   color: #fff;
    //   margin-bottom: remify(16px);
    //   font-size: 100%;
    
    //   @include min-screen(bp(tablet)) {
    //     font-size: 150%;
    //   }
    
    // }
    
    .l-travel-home__conversion,
    .l-travel-home__billboards {
      grid-column: full;
      max-width: 100%;
    
      padding: remify(16px);
    
      @include min-screen(bp(tablet-p)) {
      padding: 0;
      }
    }
    
    .l-travel-home__conversion {
      @include min-screen(bp(tablet-p)) {
        order: 1;
        .c-tablist {
          margin-top: remify(-75px);
        }
      }
    }
    
    .l-travel-home__billboards {
      background-color: primary(sky, 10);
      padding: remify(24px) remify(16px) remify(96px);
      margin-bottom: remify(24px);
      text-align: center;
    
      @include min-screen(bp(tablet-p)) {
        margin-bottom: remify(64px);
        order: 2;
        .c-billboards {
          max-width: remify($base-page-width);
          margin: 0 auto;
        }
      }
    
    }
    
    .l-travel-home__banner {
      max-width: remify(1130px);
      margin-left: auto;
      margin-right: auto;
      width: 100%;
      grid-column: full;
      
      .title,
      .subtitle {
        text-align: center;
        color: primary(night, 100);
    
        a {
          color: currentColor;
        }
    
      }
    
      .title {
        font-size: 125%;
        line-height: 1.4;
        margin-bottom: remify(8px);
    
        @include min-screen(bp(tablet)) {
          font-size: 200%;
          line-height: 1.5;
        }
    
        .c-main--home-emergency & {
          margin: remify(24px) 0;
        }
    
      }
    
      .subtitle {
        margin-bottom: remify(16px);
    
        @include min-screen(bp(tablet)) {
          font-size: 125%;
          line-height: 1.4;
          margin-bottom: remify(32px);
        }
    
      }
    
      .mobile-hidden {
        display: none;
    
        @include min-screen(bp(tablet)) {
          display: inline-block;
        }
    
      }
    
    }
    
      .l-travel-home__banner--stop {
        // order: 3;
      }
    
      .l-travel-home__banner--relevant {
        margin-top: remify(16px);
        max-width: remify(1030px);
        position: relative;
        z-index: 1;
        
        @include min-screen(bp(tablet)) {
          margin-bottom: remify(56px);
        }
        
      }
    
      .l-travel-home__banner--shopping {
        
        grid-column: full;
        max-width: 100%;
        background-color: #fff;
        background-repeat: no-repeat;
        background-size: contain;
        background-position: right top;
        padding: remify(48px) remify(16px) remify(56px);
        position: relative;
        z-index: 1;
        text-align: center;
        margin-bottom: remify(48px);
    
    
        &.has-mask:before {
          content: '';
          position: absolute;
          z-index: 0;
          width: 100%;
          height: 100%;
          top: 0;
          left: 0;
          opacity: 1;
          z-index: 2;
    
          background: linear-gradient(180deg, #FFFFFF 39%, #EAF2FB 135.82%, #F4F4F4 144.03%);
    
          @include min-screen(bp(tablet-p)) {
            background: transparent url(../../images/svgs/superhero-mask-wide.svg) no-repeat right 14vw top;
            background-size: cover;
          }
    
        }
    
        .c-starting-grid  {
          position: relative;
          z-index: 3;
        }
    
      }
    
      .l-travel-home__organize {
        text-align: center;
    
        h2 {
          @include font-scale(level-4, bold);
          margin-bottom: remify(32px);
        }
    
        .o-adjacent__item {
          margin-bottom: remify(16px);
        }
    
        .c-logo--innovability {
          width: remify(118px);
          margin-bottom: remify(24px);
        }
      }
    
      .l-travel-home__feature-cards {
        grid-column: main;
        width: 100%;
        max-width: 1120px;
        margin-inline: auto;
        margin-bottom: remify(48px);
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(400px, 1fr));
        gap: remify(16px);
        align-items: stretch;
    
        .c-feature-card {
          height: 100%;
        }
    
      }
    
      .l-travel-home__chess {
        grid-column: main;
        margin-bottom: remify(54px);
    
        h2 {
          text-align: center;
          font-size: 125%;
          line-height: 1.4;
          margin-bottom: remify(24px);
        
          @include min-screen(bp(tablet)) {
            font-size: 200%;
            line-height: 1.5;
          }
        
        }
    
      }
    
      .l-travel-home__pax-guide {
        grid-column: innermain;
        margin-top: remify(16px);
    
        @include min-screen(bp(tablet)) {
          margin-top: 0;
        }
    
      }
    
      .l-travel-home__partner-billboards {
        grid-column: innermain;
    
        .l-travel-home__core--chinese & {
          margin-bottom: 0;
        }
      }
    
      .l-travel-home__grid-board {
        grid-column: innermain;
        padding: 0;
    
        @include min-screen(bp(phone-l)) {
          padding: 0;
        }
    
        @include min-screen(bp(tablet)) {
          padding: remify(120px) 0 0;
        }
    
        @include min-screen(bp(tablet-p)) {
          max-width: remify(1130px);
          margin-left: auto;
          margin-right: auto;
          padding: 0 0 remify(60px);
        }
        
      }
    
      .l-travel-home__sticker {
        display: block;
        margin: 0 auto;
      }
    
  • URL: /components/raw/page-home-travel/_page-home-travel.scss
  • Filesystem Path: src/views/05-pages/10-page-home-travel/_page-home-travel.scss
  • Size: 5.6 KB

No notes defined.