<div class="c-flight-product c-flight-product--round-trip-moredays">
<div class="c-flight-product__info">
<p class="tag tag--mobile">Miglior prezzo</p>
<div class="c-flight-product__route">
<div class="c-route ">
<div class="c-route__data">
<div class="c-route__label">
<strong>ANDATA</strong>
<span class="c-route__date">Martedì, 07 marzo 2022</span>
</div>
<div class="c-route__flight-company">
<span>Alitalia</span>
<strong>EK 94</strong>
<svg class="c-icon c-icon--16">
<use xlink:href="#ic-plane"></use>
</svg>
</div>
</div>
<div class="c-route__journey">
<div class='c-airport-info'>
<strong class='c-airport-info__code'>BLQ</strong>
<strong class='c-airport-info__time'>15:35</strong>
<p class='c-airport-info__name'><strong>Bologna</strong>, Guglielmo Marconi</p>
</div>
<div class='c-flight-stops'>
<p>
Durata del volo: <strong>6h 45min</strong>
</p>
<div class='line' aria-hidden='true'>
<span class='line__stop'></span>
</div>
<div class='c-flight-stops__toggle'>
<label for="stop-toggle-1" class='js-flight-stop-toggle'>
1 scalo
</label>
</div>
</div>
<div class='c-airport-info'>
<strong class='c-airport-info__code'>Dxb</strong>
<strong class='c-airport-info__time'>23:30<span class='more-days'>+1</span></strong>
<p class='c-airport-info__name'><strong>Dubai</strong>, International</p>
</div>
</div>
</div>
<input type="checkbox" id="stop-toggle-1" name="stop-toggle-1" class="u-visuallyhidden u-chkbx-toggle" aria-controls="" aria-label="Espandi per le informazioni dello scalo" role="switch">
<div class="c-route__stop-detail u-chkbx-toggleReceiver" id="stop-detail-1" role="region" aria-live="polite">
<div class="c-route c-route--compact ">
<div class="c-route__flight-company">
<img src="../../images/flights-logos/alitalia.png" alt="Alitalia" width="100">
<p>Alitalia</p>
<strong>EK 765</strong>
</div>
<div class="c-route__journey">
<div class='c-airport-info c-airport-info--stops'>
BLQ
<strong>15:35</strong>
<p>Bologna, Guglielmo Marconi</p>
</div>
<div class="c-route__duration">
Durata del volo: <strong>4h 15min</strong>
</div>
<div class='c-airport-info c-airport-info--stops'>
<strong>
15:45
</strong>
SVO
<p>Mosca Sheremetyevo</p>
</div>
</div>
</div>
<div class="waiting-time">
<p>Durata scalo: <strong>3h</strong></p>
</div>
<div class="c-route c-route--compact ">
<div class="c-route__flight-company">
<img src="../../images/flights-logos/alitalia.png" alt="Alitalia" width="100">
<p>Alitalia</p>
<strong>EK 104</strong>
</div>
<div class="c-route__journey">
<div class='c-airport-info c-airport-info--stops'>
SVO
<strong>15:35</strong>
<p>Mosca Sheremetyevo</p>
</div>
<div class="c-route__duration">
Durata del volo: <strong>4h 15min</strong>
</div>
<div class='c-airport-info c-airport-info--stops'>
<strong>
01:15
<span class='more-days'>+1</span>
</strong>
Dxb
<p>Dubai International</p>
</div>
</div>
</div>
</div>
</div>
<div class="c-flight-product__route">
<div class="c-route ">
<div class="c-route__data">
<div class="c-route__label">
<strong>RITORNO</strong>
<span class="c-route__date">Sabato, 11 marzo 2022</span>
</div>
<div class="c-route__flight-company">
<span>Alitalia</span>
<strong>EK 95</strong>
<svg class="c-icon c-icon--16">
<use xlink:href="#ic-plane"></use>
</svg>
</div>
</div>
<div class="c-route__journey">
<div class='c-airport-info'>
<strong class='c-airport-info__code'>Dxb</strong>
<strong class='c-airport-info__time'>9:00</strong>
<p class='c-airport-info__name'><strong>Dubai</strong>, International</p>
</div>
<div class='c-flight-stops'>
<p>
Durata del volo: <strong>6h 45min</strong>
</p>
<div class='line' aria-hidden='true'>
<span class='line__stop'></span>
<span class='line__stop'></span>
</div>
<div class='c-flight-stops__toggle'>
<label for="stop-toggle-2" class='js-flight-stop-toggle'>
1 scalo
</label>
</div>
</div>
<div class='c-airport-info'>
<strong class='c-airport-info__code'>BLQ</strong>
<strong class='c-airport-info__time'>13:20</strong>
<p class='c-airport-info__name'><strong>Bologna</strong>, Guglielmo Marconi</p>
</div>
</div>
</div>
<input type="checkbox" id="stop-toggle-2" name="stop-toggle-2" class="u-visuallyhidden u-chkbx-toggle" aria-controls="" aria-label="Espandi per le informazioni dello scalo" role="switch">
<div class="c-route__stop-detail u-chkbx-toggleReceiver" id="stop-detail-2" role="region" aria-live="polite">
<div class="c-route c-route--compact ">
<div class="c-route__flight-company">
<img src="../../images/flights-logos/alitalia.png" alt="Alitalia" width="100">
<p>Alitalia</p>
<strong>EK 765</strong>
</div>
<div class="c-route__journey">
<div class='c-airport-info c-airport-info--stops'>
BLQ
<strong>15:35</strong>
<p>Bologna, Guglielmo Marconi</p>
</div>
<div class="c-route__duration">
Durata del volo: <strong>4h 15min</strong>
</div>
<div class='c-airport-info c-airport-info--stops'>
<strong>
15:45
</strong>
SVO
<p>Mosca Sheremetyevo</p>
</div>
</div>
</div>
<div class="waiting-time">
<p>Durata scalo: <strong>2h</strong></p>
</div>
<div class="c-route c-route--compact ">
<div class="c-route__flight-company">
<img src="../../images/flights-logos/alitalia.png" alt="Alitalia" width="100">
<p>Alitalia</p>
<strong>EK 104</strong>
</div>
<div class="c-route__journey">
<div class='c-airport-info c-airport-info--stops'>
SVO
<strong>17:45</strong>
<p>Mosca Sheremetyevo</p>
</div>
<div class="c-route__duration">
Durata del volo: <strong>4h 15min</strong>
</div>
<div class='c-airport-info c-airport-info--stops'>
<strong>
01:15
</strong>
Dxb
<p>Dubai International</p>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="c-flight-product__actions">
<div class="actions-wrapper">
<p class="tag tag--desktop">Miglior prezzo</p>
<div class="price">
<div>
<p>Andata/Ritorno - 1 passeggero</p>
<p>Economy class</p>
</div>
<div>
<p class="pre-price-txt">A partire da</p>
<strong class="price__value">€ 350,18</strong>
</div>
</div>
<div class="cta">
<button type="submit" class="c-button c-button--submit js-fr-dialogmodal-open" aria-controls="dialog-flight-fares">
Seleziona le tariffe
</button> <a href="#" class="buy-via-phone"><svg class="c-icon c-icon--18">
<use xlink:href="#ic-call-black-24px"></use>
</svg> Acquista al telefono</a>
</div>
</div>
</div>
</div>
<div class="c-dialog js-fr-dialogmodal c-dialog--bill-detail " id="dialog-bill-detail">
<div class="c-dialog__inner js-fr-dialogmodal-modal" aria-labelledby="dialog-bill-detail-title">
<div role="document">
<p class="c-dialog__title" id="dialog-bill-detail-title" aria-hidden="true">Totale del viaggio</p>
<table width="100%">
<tr>
<td class="desc">Costo per persona:</td>
<td class="price">
<p><strong>€ 120,00</strong> x 1 adulto</p>
<p><strong>€ 120,00</strong> x 1 adulto</p>
<p><strong>€ 120,00</strong> x 1 adulto</p>
</td>
</tr>
<tr>
<td class="desc">Tasse per persona:</td>
<td class="price">
<p><strong>€ 120,00</strong> x 1 adulto</p>
<p><strong>€ 120,00</strong> x 1 adulto</p>
</td>
</tr>
<tr>
<td class="desc">Totale per tutti i passeggeri:</td>
<td class="price">
<p><strong>€ 120,00</strong></p>
</td>
</tr>
<tr>
<td class="desc">Spese di agenzia:</td>
<td class="price">
<p>+ <strong>€ 15,00</strong> x 1 adulto</p>
<p>+ <strong>€ 15,00</strong> x 1 adulto</p>
<p>+ <strong>€ 15,00</strong> x 1 adulto</p>
</td>
</tr>
<tr>
<td class="desc">Totale:</td>
<td class="price">
<p><strong>€ 790,00</strong></p>
</td>
</tr>
</table>
<div class="u-mt--medium">
<p class="clean"><small><strong>Andata BLQ - DXB:</strong> Non incluso bagaglio da stiva</small></p>
<p class="clean"><small><strong>Ritorno DXB - BLQ:</strong> bagaglio da stiva incluso</small></p>
</div>
<button type="button" class="c-dialog__close js-fr-dialogmodal-close" aria-label="Chiudi la modale">
<svg class="c-icon c-icon--32">
<use xlink:href="#ic_close_black_24px"></use>
</svg> </button>
</div>
</div>
</div>
<div class="c-flight-product {{ modifier }}" {{#each aria-attributes}}{{{ this.data }}}{{/each}}>
<div class="c-flight-product__info">
{{#if tag }}
<p class="tag tag--mobile">{{ tag.text }}</p>
{{/if}}
{{#if atom-rounded-label }}
<div class="c-flight-product__labels">
{{#each atom-rounded-label}} {{> @rounded-label }} {{/each}}
</div>
{{/if}}
<div class="c-flight-product__route">
{{> @route--moredays round }}
</div>
<div class="c-flight-product__route">
{{> @route trip }}
</div>
</div>
<div class="c-flight-product__actions">
<div class="actions-wrapper">
{{#if tag }}
<p class="tag tag--desktop">{{ tag.text }}</p>
{{/if}}
<div class="price">
<div>
<p>{{ price.info }} - {{ price.passenger }}</p>
<p>{{ price.extra }}</p>
</div>
<div>
<p class="pre-price-txt">{{ pre-price-txt }}</p>
<strong class="price__value">{{ price.value }}</strong>
</div>
</div>
{{#if cta}}
<div class="cta">
{{> @button--submit cta }}
<a href="#" class="buy-via-phone">{{> @icon symbol="ic-call-black-24px" class="c-icon c-icon--18"}} Acquista al telefono</a>
</div>
{{/if}}
</div>
</div>
{{#if hasDetailLink }}
<div class="c-flight-product__launch">
<a href="{{ path '/components/preview/page-reservation-detail-flight' }}" class="c-link c-link--icon graphic-link"
aria-label="Vai al dettaglio prenotazione">
{{> @icon symbol="ic_chevron_right_black_24px" class="c-icon c-icon--24" }}
</a>
<a href="{{ path '/components/preview/page-reservation-detail-flight' }}" class="txt-link">Vai al dettaglio
prenotazione
<span aria-hidden="true">→</span></a>
</div>
{{/if}}
</div>
{{ render "@dialog--bill-detail" dialog-flight-bill merge=true }}
{
"round": {
"route-label": "<strong>ANDATA</strong>",
"route-date": "Martedì, 07 marzo 2022",
"company-logo": "/images/flights-logos/alitalia.png",
"company-name": "Alitalia",
"flight-code": "EK 94",
"from": {
"airport-code": "BLQ",
"airport-name": "<strong>Bologna</strong>, Guglielmo Marconi",
"time": "15:35"
},
"to": {
"airport-code": "Dxb",
"airport-name": "<strong>Dubai</strong>, International",
"time": "23:30"
},
"stops": {
"duration": "Durata del volo: <strong>6h 45min</strong>",
"stops-number": 1,
"toggle": {
"id": "stop-toggle-1",
"name": "stop-toggle-1",
"text": "1 scalo"
},
"aria-controls-id": "stop-detail-1"
},
"features": {
"aria-label": "Caratteristiche di questo volo",
"items": [
{
"icon": "ic-no-bagaglio-stiva-24px",
"text": "Non incluso bagaglio da stiva",
"modifier": "c-icon-list__item--disabled"
},
{
"icon": "ic-baseline-airline-seat-recline-extra-24px",
"text": "Economy class"
}
]
},
"stopDetail-1": {
"company-logo": "/images/flights-logos/alitalia.png",
"company-name": "Alitalia",
"flight-code": "EK 765",
"from": {
"airport-code": "BLQ",
"airport-name": "Bologna, Guglielmo Marconi",
"time": "15:35"
},
"to": {
"airport-code": "SVO",
"airport-name": "Mosca Sheremetyevo",
"time": "15:45"
},
"features": {
"aria-label": "Caratteristiche di questo volo",
"items": [
{
"icon": "ic-bagaglio-stiva-24px",
"text": "Bagaglio da stiva incluso"
},
{
"icon": "ic-baseline-airline-seat-recline-extra-24px",
"text": "Economy class"
}
]
}
},
"waiting-time": "Durata scalo: <strong>3h</strong>",
"stopDetail-2": {
"company-logo": "/images/flights-logos/alitalia.png",
"company-name": "Alitalia",
"flight-code": "EK 104",
"from": {
"airport-code": "SVO",
"airport-name": "Mosca Sheremetyevo",
"time": "15:35"
},
"to": {
"airport-code": "Dxb",
"airport-name": "Dubai International",
"time": "01:15",
"moredays": true
},
"features": {
"aria-label": "Caratteristiche di questo volo",
"items": [
{
"icon": "ic-bagaglio-stiva-24px",
"text": "Bagaglio da stiva incluso"
},
{
"icon": "ic-baseline-airline-seat-recline-extra-24px",
"text": "Economy class"
}
]
}
}
},
"tag": {
"text": "Miglior prezzo"
},
"pre-price-txt": "A partire da",
"price": {
"info": "Andata/Ritorno",
"passenger": "1 passeggero",
"extra": "Economy class",
"value": "€ 350,18"
},
"cta": {
"type": "submit",
"text": "Seleziona le tariffe",
"modifier": "c-button--submit js-fr-dialogmodal-open",
"opens-dialog": "dialog-flight-fares"
},
"dialog-flight-bill": {
"title": "Totale del viaggio"
},
"price-text-refund": "Rimborsabile",
"price-text-edit": "Modificabile",
"tooltip-refund": {
"tooltip_aria_label": "Espandi per sapere di più",
"tooltip_exposed_icon": "ic_info_black_24px",
"tooltip_position_class": "c-tooltip__bubble--up",
"bubble_text": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.",
"text": "<small><strong>Dove trovo il mio QR-code per accedere al parcheggio?</strong></small>"
},
"tooltip-edit": {
"tooltip_aria_label": "Espandi per sapere di più",
"tooltip_exposed_icon": "ic_info_black_24px",
"tooltip_position_class": "c-tooltip__bubble--down",
"bubble_text": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.",
"text": "<small><strong>Dove trovo il mio QR-code per accedere al parcheggio?</strong></small>"
},
"modifier": "c-flight-product--round-trip-moredays",
"trip": {
"route-label": "<strong>RITORNO</strong>",
"route-date": "Sabato, 11 marzo 2022",
"company-logo": "/images/flights-logos/alitalia.png",
"company-name": "Alitalia",
"flight-code": "EK 95",
"from": {
"airport-code": "Dxb",
"airport-name": "<strong>Dubai</strong>, International",
"time": "9:00"
},
"to": {
"airport-code": "BLQ",
"airport-name": "<strong>Bologna</strong>, Guglielmo Marconi",
"time": "13:20"
},
"stops": {
"duration": "Durata del volo: <strong>6h 45min</strong>",
"stops-number": 2,
"toggle": {
"id": "stop-toggle-2",
"name": "stop-toggle-2",
"text": "1 scalo"
},
"aria-controls-id": "stop-detail-2"
},
"stopDetail-1": {
"company-logo": "/images/flights-logos/alitalia.png",
"company-name": "Alitalia",
"flight-code": "EK 765",
"from": {
"airport-code": "BLQ",
"airport-name": "Bologna, Guglielmo Marconi",
"time": "15:35"
},
"to": {
"airport-code": "SVO",
"airport-name": "Mosca Sheremetyevo",
"time": "15:45"
},
"features": {
"aria-label": "Caratteristiche di questo volo",
"items": [
{
"icon": "ic-bagaglio-stiva-24px",
"text": "Bagaglio da stiva incluso"
},
{
"icon": "ic-baseline-airline-seat-recline-extra-24px",
"text": "Economy class"
}
]
}
},
"waiting-time": "Durata scalo: <strong>2h</strong>",
"stopDetail-2": {
"company-logo": "/images/flights-logos/alitalia.png",
"company-name": "Alitalia",
"flight-code": "EK 104",
"from": {
"airport-code": "SVO",
"airport-name": "Mosca Sheremetyevo",
"time": "17:45"
},
"to": {
"airport-code": "Dxb",
"airport-name": "Dubai International",
"time": "01:15"
},
"features": {
"aria-label": "Caratteristiche di questo volo",
"items": [
{
"icon": "ic-bagaglio-stiva-24px",
"text": "Bagaglio da stiva incluso"
},
{
"icon": "ic-baseline-airline-seat-recline-extra-24px",
"text": "Economy class"
}
]
}
},
"features": {
"aria-label": "Caratteristiche di questo volo",
"items": [
{
"icon": "ic-bagaglio-stiva-24px",
"text": "Bagaglio da stiva incluso"
},
{
"icon": "ic-baseline-airline-seat-recline-extra-24px",
"text": "Economy class"
}
]
}
}
}
.c-flight-product {
background-color: #fff;
border: remify(1px) solid primary(sky, 40);
margin-bottom: remify(48px);
position: relative;
&:first-child {
}
&:focus-within {
@include shadow(medium);
}
&.is-open {
}
@include min-screen(bp(tablet-p)) {
display: flex;
margin-bottom: remify(48px);
flex-wrap: wrap;
}
main & {
grid-column: initial;
}
.c-header+main & {
margin-top: remify(16px);
@include min-screen(bp(tablet-p)) {
position: relative;
margin-top: 0;
}
}
.c-main-reservationList & {
margin-bottom: remify(16px);
@supports (display: grid) {
grid-column: main;
margin-bottom: 0;
}
}
.c-main--flight-payed &,
.c-main-reservationDetail & {
margin-bottom: 0;
@include min-screen(bp(tablet-p)) {
// padding-top: remify(24px);
}
}
}
.c-flight-product .tag {
position: absolute;
top: 0;
left: 0;
width: 100%;
background-color: aviation(arrivi);
color: #fff;
text-align: center;
padding: remify(4px);
text-transform: uppercase;
@include font-scale(level-1);
font-weight: fw(semibold);
}
.c-flight-product .tag--mobile {
display: block;
@include min-screen(bp(tablet-p)) {
display: none;
}
}
.c-flight-product__labels {
border-radius: remify(12px);
padding: remify(16px);
display: flex;
flex-wrap: wrap;
gap: remify(8px);
}
.c-flight-product__info,
.c-flight-product__actions {
// padding-inline: remify(16px);
@include min-screen(bp(tablet-p)) {
display: flex;
flex-direction: column;
padding: 0;
// padding: remify(16px) remify(24px);
}
}
.c-flight-product__info {
flex: 3;
position: relative;
z-index: 1;
background-color: #fff;
// padding-top: remify(16px);
// @include min-screen(bp(tablet-p)) {
// padding-bottom: remify(16px);
// }
&:has(.tag--mobile) {
@include max-screen(bp(tablet-p)) {
padding-top: 24px;
}
}
}
.c-flight-product__route {
// padding-bottom: remify(16px);
border-bottom: 1px solid primary(sky, 40);
// margin-top: remify(24px);
@include min-screen(bp(tablet-p)) {
// margin-top: 0;
// margin-bottom: remify(16px);
}
&:last-child {
margin-bottom: 0;
padding-bottom: 0;
border: none;
}
.c-route {
padding: remify(16px);
@include min-screen(bp(tablet-p)) {
padding: remify(16px) remify(24px);
}
}
.c-route--compact {
margin-top: 0;
}
}
.c-flight-product__actions {
background-color: #fff;
position: relative;
// padding-bottom: remify(16px);
padding: remify(16px);
@include min-screen(bp(tablet-p)) {
border-left: 1px solid primary(sky, 40);
// padding-top: remify(16px);
min-width: remify(290px);
padding: remify(16px) remify(24px);
}
.actions-wrapper {
flex: 1;
display: flex;
justify-content: space-between;
flex-wrap: wrap;
flex-direction: column;
gap: remify(24px);
@include min-screen(bp(tablet-p)) {
display: block;
flex: none;
flex-direction: initial;
text-align: center;
}
}
// .actions-wrapper>*:not(.c-flight-product__mini-rules) {
// flex: 1 1 100%;
// @include min-screen(bp(tablet-p)) {
// display: block;
// width: 100%;
// }
// }
@include min-screen(bp(tablet-p)) {
display: flex;
flex-direction: column;
justify-content: flex-start;
}
.tag--desktop {
display: none;
@include min-screen(bp(tablet-p)) {
display: inline-block;
}
}
.price {
@include max-screen(bp(tablet-p)) {
display: flex;
align-items: center;
justify-content: space-between;
gap: remify(16px);
}
@include min-screen(bp(tablet-p)) {
margin-block: remify(16px);
}
p {
font-size: remify(11px);
color: secondary(text, 100);
@include min-screen(bp(tablet-p)) {
font-size: 75%;
}
svg {
vertical-align: top;
}
}
.price__value {
font-size: remify(24px);
@include min-screen(bp(tablet-p)) {
font-size: remify(32px);
}
}
.btn-open-bill {
border: 0;
background: none;
padding: 0;
svg * {
fill: primary(night, 40);
}
}
}
.pre-price-txt {
text-align: right;
@include min-screen(bp(tablet-p)) {
margin-top: remify(16px);
text-align: center;
}
}
.buy-via-phone {
font-weight: fw(bold);
@include font-scale(level-1);
color: primary(night, 100);
display: block;
@include min-screen(bp(tablet-p)) {
margin-top: remify(12px);
}
svg {
vertical-align: middle;
margin-right: remify(4px);
fill: primary(night, 100);
}
}
.cta {
width: 100%;
display: flex;
flex-direction: column;
gap: remify(12px);
align-items: center;
@include min-screen(bp(phone-p)) {
align-items: center;
justify-content: center;
flex-direction: row-reverse;
gap: remify(16px);
justify-content: space-between;
}
@include min-screen(bp(tablet-p)) {
display: block;
}
}
}
.c-flight-product__launch {
padding: remify(8px);
@include min-screen(bp(tablet-p)) {
flex: 1 0 100%;
border-top: 1px dashed primary(night, 20);
}
@include min-screen(bp(tablet-l)) {
border: none;
position: absolute;
padding: 0;
top: 50%;
transform: translateY(-50%);
right: remify(-36px);
}
.graphic-link {
display: none;
@include min-screen(bp(tablet-l)) {
display: block;
}
}
.txt-link {
display: block;
text-align: center;
@include min-screen(bp(tablet-l)) {
display: none;
}
}
}
.c-flight-product__mini-rules-wrapper {
margin: remify(16px) 0;
}
.c-flight-product__mini-rules {
display: flex;
align-items: center;
font-size: 75%;
margin-top: remify(8px);
gap: 0 remify(8px);
@include min-screen(bp(tablet-p)) {
justify-content: center;
}
.c-tooltip .c-icon {
fill: primary(night, 40);
}
span[data-js-tooltip-icon] {
display: flex;
}
}
/*------------------------------------*\
noPrice modifier
\*------------------------------------*/
.c-flight-product--noPrice {
.c-flight-product__actions {
justify-content: center;
}
.price {
strong,
.c-tooltip,
.starting-from-txt {
display: none;
}
p {
margin-top: remify(8px);
}
}
}
No notes defined.