templates/tour/index_by_category.html.twig line 907

Open in your IDE?
  1. {% extends 'base-V3.html.twig' %}
  2. {% block stylesheets %}
  3.     <!--
  4.         <link rel="stylesheet" href="{#{ asset('assets/v3/css/homepage.css') }#}">
  5.     -->
  6.     <link rel="stylesheet" href="{{ asset('assets/v3/css/swiper.min.css') }}">
  7.     <link rel="stylesheet" href="{{ asset('assets/v3/css/theme.min.css') }}">
  8.     <link rel="stylesheet" href="{{ asset('assets/v3/css/flatpickr.min.css') }}">
  9.     <link rel="preconnect" href="https://fonts.googleapis.com">
  10.     <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
  11.     <link href="https://fonts.googleapis.com/css2?family=Sacramento&display=swap" rel="stylesheet">
  12.     <link rel="preconnect" href="https://fonts.googleapis.com">
  13.     <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
  14.     <link href="https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,100;0,300;0,400;0,500;0,700;0,900;1,100;1,300;1,400;1,500;1,700;1,900&display=swap" rel="stylesheet">
  15.     <style>
  16.     {% set cdn = "/cdn-cgi/image/width=1600" %}
  17.     .destination-voyages-en-couple {
  18.         /* background-image: url({{ api_base_path ~ cdn ~ "/images/Visuel-encouple-odasie1.png"}} ); */
  19.         background-image: url("../../assets/images/thematiques/voyages-en-couple.svg")
  20.         background-size: cover;
  21.     }
  22.     .destination-voyages-en-famille {
  23.         background-image: url({{ api_base_path ~ cdn ~ "/images/Visuel-enfamille-odasie.png"}} );
  24.         background-size: cover;
  25.     }
  26.     .destination-voyages-entre-amis {
  27.         background-image: url({{ api_base_path ~ cdn ~ "/images/Visuel-entreamis-odasie.png"}} );
  28.         background-size: cover;
  29.     }
  30.     .destination-voyages-en-groupe {
  31.         background-image: url({{ api_base_path ~ cdn ~ "/images/Visuel-group2-odasie.png"}} );
  32.         background-size: cover;
  33.     }
  34.     .destination-voyages-de-noces {
  35.         background-image: url({{ api_base_path ~ cdn ~ "/images/Visuel-noces-odasie.png"}} );
  36.         background-size: cover;
  37.     }
  38.     .destination-all {
  39.         background-image: url({{ api_base_path ~ cdn ~ "/images/destinations.jpg"}} );
  40.         background-size: cover;
  41.     }
  42.     body, html {
  43.         overflow-x: hidden;
  44.     }
  45.     {% set cdn = '/cdn-cgi/image/width=1600' %}
  46.     #search-container-wrapper {
  47.         /* background-image: url('../../assets/images/thematiques/header-background.png'); */
  48.         background-image: url("{{ api_base_path ~ cdn ~ '/images/thematiques/header-background.png' }}");
  49.         background-color: #0c629b;
  50.         background-blend-mode: multiply;
  51.         flex-direction: column;
  52.         align-items: center;
  53.         justify-content: unset;
  54.         position: relative;
  55.         overflow: hidden;
  56.         height: 1100px;
  57.         max-height: unset !important;
  58.     }
  59.     /* #search-container-wrapper::before {
  60.         content: '';
  61.         width: 100%;
  62.         height: 100%;
  63.         position: absolute;
  64.     }
  65.     .blueLayer {
  66.         position: absolute;
  67.         width: 100%;
  68.         height: 100%;
  69.         background-color: rgba(0, 58, 98, 0.7);
  70.     } */
  71.     .tourtype-title-container {
  72.         display: flex;
  73.         flex-direction: column;
  74.         align-items: center;
  75.         z-index: 5;
  76.         padding-top: 20px;
  77.     }
  78.     .voyage {
  79.         font-family: 'Roboto', sans-serif;
  80.         color: #FFC20E;
  81.         font-size: 110px;
  82.         font-weight: 700;
  83.         text-transform: uppercase;
  84.     }
  85.     .tour-type-libelle {
  86.         font-family: 'Sacramento', cursive;
  87.         font-size: 170px;
  88.         color: white;
  89.         color: white;
  90.         line-height: 0;
  91.         margin-bottom: 120px;
  92.         color: white;
  93.     }
  94.     .visuelHeader {
  95.         margin-bottom: 50px;
  96.         position: relative;
  97.         /* width: 722px; */
  98.         max-width: 722px;
  99.         max-height: 500px;
  100.         height: 500px;
  101.         display: flex;
  102.         justify-content: center;
  103.         padding: 0 20px;
  104.     }
  105.     .header-contact-button {
  106.         background-color: #FFC20E;
  107.         font-family: 'Roboto', sans-serif;
  108.         font-size: 16px;
  109.         font-weight: 300;
  110.         padding: 5px 25px;
  111.         border-radius: 25px;
  112.         z-index: 5;
  113.         text-align: center
  114.     }
  115.     .toursContainer {
  116.         position: relative;
  117.     }
  118.     .format {
  119.         height: 350px;
  120.         position: absolute;
  121.         top: -250px;
  122.         left: 50%;
  123.         transform: translateX(-50%);
  124.         background-color: white;
  125.         z-index: 10;
  126.         width: 100%;
  127.         clip-path: ellipse(60% 80% at 50% 100%);
  128.     }
  129.     /*.toursContainer::before {
  130.         content: '';
  131.         position: absolute;
  132.         top: -160px;
  133.         left: 50%;
  134.         width: 100%;
  135.         height: 320px;
  136.         background-color: white;
  137.         border-radius: 50%;
  138.         transform: translateX(-50%);
  139.     }
  140.     .tourSectionTitleWrapper {
  141.         position: absolute;
  142.         left: 50%;
  143.         top: -100px;
  144.         transform: translateX(-50%);
  145.         margin: 0 !important;
  146.     }*/
  147.     .tourSectionTitleWrapper {
  148.         position: absolute;
  149.         left: 50%;
  150.         transform: translateX(-50%);
  151.         top: -100px;
  152.         z-index: 15;
  153.         padding: 0;
  154.         margin: 0 !important;
  155.     }
  156.     .tourSectionTitle {
  157.         font-family: 'Roboto', sans-serif;
  158.         font-size: 40px;
  159.         font-weight: 400;
  160.         position: relative;
  161.         z-index: 10;
  162.     }
  163.     #nos-tours {
  164.         position: relative;
  165.         z-index: 10;
  166.         padding-top: 20px;
  167.     }
  168.     .tour-card-introduction {
  169.         overflow-y: hidden !important;
  170.     }
  171.     .odasiePlus-section {
  172.         position: relative;
  173.         z-index: 10;
  174.     }
  175.     
  176.     /* media queries under 1365px */
  177. /*     @media screen and (max-width: 1365px) {
  178.         .tour-card-background {
  179.         height: auto !important;
  180.         margin: -25% auto !important;
  181.         }
  182.         .tour-card-image {
  183.         overflow-y: hidden !important;
  184.         }
  185.     } */
  186.     .loadingSpeed {
  187.         filter: blur(10px); /* Appliquer un flou initial */
  188.         transition: filter 0.5s ease; /* Ajouter une transition pour l'effet de fondu */
  189.     }
  190.     .loadingSpeed.loaded {
  191.         filter: none; /* Supprimer le filtre une fois l'image chargée */
  192.         transition: filter 0.5s ease;
  193.     }
  194.     .paysVignette{
  195.         position: absolute;
  196.         right: 0;
  197.         border-radius: 0 10px 0 0;
  198.         padding: 5px 10px;
  199.         background: rgb(253, 29, 29);
  200.         background: linear-gradient(90deg, rgb(219, 25, 25) 0%, rgb(255, 98, 36) 100%);
  201.         color: #fff;
  202.         z-index: 999;
  203.     }
  204.     .lieuFlex ul{
  205.         display: flex;
  206.         justify-content: center;
  207.     }
  208.     .highlights{
  209.         background-color: #D9D9D9;
  210.     }
  211.     #tourCard {
  212.         height: 550px !important;
  213.     }
  214.     .tour-suggestions {
  215.     width: 95%;
  216.     overflow: hidden;
  217.     margin-top: 30px;
  218.     margin-bottom: 20px;
  219.     padding-bottom: 60px;
  220.     z-index: 5;
  221.     }
  222.     .tour-suggestions h2 {
  223.     text-align: center;
  224.     color: #FFFFFF;
  225.     margin-bottom: 10px;
  226.     margin-top: 30px;
  227.     }
  228.     .subtitle-roboto {
  229.     font-size: 40px;
  230.     }
  231.     .subtitle-sacramento {
  232.     font-family: "Sacramento", cursive;
  233.     font-size: 64px;
  234.     }
  235.     .tour-cards-container {
  236.     height: 500px;
  237.     overflow-x: auto;
  238.     display: flex;
  239.     justify-content: start;
  240.     margin-left: 4%;
  241.     }
  242.     .tour {
  243.     margin-right: 8px;
  244.     }
  245.     .tour-card {
  246.     width: 320px !important;
  247.     height: 460px !important;
  248.     min-height: 0 !important;
  249.     border-radius: 11px;
  250.     font-family: "Roboto", sans-serif;
  251.     display: flex;
  252.     flex-direction: column;
  253.     position: relative;
  254.     }
  255.     .tour-card::after {
  256.     content: "";
  257.     border-radius: 11px;
  258.     position: absolute;
  259.     top: 0;
  260.     left: 0;
  261.     right: 0;
  262.     left: 0;
  263.     background-color: inherit !important;
  264.     }
  265.     .tour-card:hover::after {
  266.     bottom: -40px;
  267.     z-index: -5;
  268.     }
  269.     .tour-card:hover .tour-card-hover {
  270.     opacity: 1;
  271.     }
  272.     .tour-card-image {
  273.     width: 100%;
  274.     height: 50%;
  275.     position: relative;
  276.     }
  277.     .tour-card-background {
  278.     position: absolute;
  279.     top: 0;
  280.     left: 0;
  281.     width: 100%;
  282.     height: 100%;
  283.     border-radius: 11px 11px 0 0;
  284.     transition: 0.3s ease-in-out;
  285.     }
  286.     .tour-card:hover .tour-card-background {
  287.     filter: brightness(130%);
  288.     }
  289.     .tour-card .content {
  290.     height: 50%;
  291.     min-height:50%;
  292.     }
  293.     .price {
  294.     position: absolute;
  295.     left: 0;
  296.     bottom: 0;
  297.     background: none !important;
  298.     background-color: #FFC20E !important;
  299.     color: black !important;
  300.     padding-left: 10px;
  301.     padding-right: 10px;
  302.     height: 26px;
  303.     border-radius: 0 11px 0 0;
  304.     text-align: center;
  305.     vertical-align: middle;
  306.     display: flex;
  307.     align-items: center;
  308.     }
  309.     .price small {
  310.     font-size: 12px;
  311.     margin-right: 10px;
  312.     }
  313.     .price strong {
  314.     font-size: 14px;
  315.     font-weight: 700;
  316.     }
  317.     .tour-card-title {
  318.     font-size: 14px !important;
  319.     font-weight: 700;
  320.     text-transform: uppercase;
  321.     line-height: normal
  322.     }
  323.     .tour-card-introduction {
  324.     font-size: 15px;
  325.     line-height: normal;
  326.     font-family: 'roboto light' !important;
  327.     font-weight: 500;
  328.     line-height:normal !important;
  329.     height: 100px !important;
  330.     max-height: 100px !important;
  331.     }
  332.     .highlights {
  333.     background-color: #D9D9D9;
  334.     font-weight: 700;
  335.     font-size: 13;
  336.     text-align: center;
  337.     display: flex;
  338.     height: 30px;
  339.     width: 100%;
  340.     justify-content: space-evenly;
  341.     overflow: hidden;
  342.     height: 50px;
  343.     }
  344.     .highlights li {
  345.     font-size: 13px;
  346.     }
  347.     .tour-suggestions-button {
  348.     margin: auto;
  349.     }
  350.     .tour-card-bottom {
  351.     font-size: 14px;
  352.     font-weight: 700;
  353.     }
  354.     .tour-card-hover {
  355.     display: flex;
  356.     width: 100%;
  357.     height: 30px;
  358.     justify-content: center;
  359.     position: absolute;
  360.     bottom: -30px;
  361.     opacity: 0;
  362.     background: none !important;
  363.     background-color: transparent;
  364.     float: none;
  365.     }
  366.     .tour-card-hover a {
  367.     width: 90% !important;
  368.     border-radius: 5px;
  369.     background-color: #34DFA1;
  370.     font-size: 12px;
  371.     float: none;
  372.     }
  373.     .discover-section {
  374.     margin-top: 40px;
  375.     margin-bottom: 30px;
  376.     width: 90%;
  377.     display: flex;
  378.     justify-content: space-between;
  379.     z-index: 5;
  380.     }
  381.     .discover-section-subtitle {
  382.     width: 50%;
  383.     display: flex;
  384.     flex-direction: column;
  385.     align-items: end;
  386.     }
  387.     .discover-section-subtitle {
  388.     text-align: end;
  389.     }
  390.     .discover-section-text-wrapper {
  391.     width: 40%
  392.     }
  393.     .discover-subtitle-roboto {
  394.     font-size: 60px;
  395.     color:#FFFFFF;
  396.     font-weight: 300;
  397.     text-transform: uppercase;
  398.     }
  399.     .discover-subtitle-sacramento {
  400.     font-family: "Sacramento", cursive;
  401.     font-size: 109px;
  402.     color:#fd5224;
  403.     margin-bottom: 10px;
  404.     }
  405.     .discover-section-text {
  406.     color:#FFFFFF;
  407.     font-size: 24px;
  408.     text-align: justify;
  409.     }
  410.     .tour-config-section {
  411.     position: relative;
  412.     width: 100%;
  413.     min-height: 680px;
  414.     margin: 0;
  415.     padding: 0;
  416.     padding-top: 30px;
  417.     display: flex;
  418.     flex-direction: column;
  419.     align-items: center;
  420.     overflow: hidden;
  421.     }
  422.     .tour-config-background {
  423.     height: 100%;
  424.     position: absolute;
  425.     top:0 ;
  426.     left: 0;
  427.     z-index: -5;
  428.     }
  429.     .tour-config-section-title {
  430.     color:#FFFFFF;
  431.     width: 100%;
  432.     font-size: 36px;
  433.     text-align: center;
  434.     margin-bottom: 30px;
  435.     }
  436.     .config-tour-form-wrapper {
  437.     width: 80%;
  438.     height: 500px;
  439.     display: flex;
  440.     justify-content: space-evenly;
  441.     }
  442.     .celebration-bottom-form {
  443.     width: 100%;
  444.     }
  445.     #form-container {
  446.     display: flex;
  447.     flex-direction: column;
  448.     align-items: center;
  449.     width: 100%;
  450.     height: 300px;
  451.     justify-content: space-between;
  452.     }
  453.     #widget-container {
  454.     color:#FFFFFF;
  455.     width: 100%;  
  456.     }
  457.     .widget-number-wrapper {
  458.     display: flex;
  459.     justify-content: space-evenly;
  460.     width: 300px;
  461.     }
  462.     .widget-number-wrapper span:first-child  {
  463.     font-family: 'Roboto', sans-serif;
  464.     font-size: 24px;
  465.     font-weight: 700;
  466.     }
  467.     .widget-wrapper {
  468.     display:flex;
  469.     flex-direction: column;
  470.     border: 0.5px solid white;
  471.     border-radius: 5px;
  472.     min-width: 250px;
  473.     max-width: 300px;
  474.     }
  475.     .label-wrapper {
  476.     margin-left: 10px;
  477.     position: relative;
  478.     display: flex;
  479.     height: 30px;
  480.     }
  481.     .label-wrapper:hover {
  482.     cursor: pointer;
  483.     }
  484.     .label-wrapper label {
  485.     position: absolute;
  486.     left: 30px;
  487.     top: 5px;
  488.     }
  489.     .fa-arrow-left {
  490.     padding: 0.2em;
  491.     border: 2px solid #FFFFFF;
  492.     border-radius: 50%;
  493.     margin-right: 5px;
  494.     width: 10px;
  495.     height: 10px;
  496.     margin-top: 7px;
  497.     position: absolute;
  498.     }
  499.     .arrow-down {
  500.     transform: rotate(-90deg);
  501.     }
  502.     .label-separator {
  503.     width: 90%;
  504.     height: 0.3px;
  505.     background-color: #ffffff;
  506.     margin-top: 10px;
  507.     margin-bottom: 10px;
  508.     }
  509.     .choice-wrapper {
  510.     display: flex;
  511.     width: 90%;
  512.     margin-left: 10px;
  513.     align-items: center;
  514.     }
  515.     .checkbox-input {
  516.     display: block;
  517.     width: 15px;
  518.     height: 15px;
  519.     min-width: 15px;
  520.     min-height: 15px;
  521.     border: 1px solid #ffffff;
  522.     position: relative;
  523.     display: flex;
  524.     align-items: center;
  525.     justify-content: center;
  526.     margin-right: 10px;
  527.     }
  528.     .hide-form,
  529.     .hide-datepicker {
  530.     display: none;
  531.     }
  532.     .checkbox-input-check {
  533.     width: 70%;
  534.     height: 70%;
  535.     border-radius: 2px;
  536.     background-color: #ffffff;
  537.     display: none;
  538.     }
  539.     .show-checked {
  540.     display: block;
  541.     }
  542.     .details-mobile, .price-mobile {
  543.     display: none;
  544.     }
  545.     .tour-config-buttons-wrapper {
  546.     display: flex;
  547.     flex-direction: column;
  548.     align-items: center;
  549.     height: 120px;
  550.     justify-content: space-evenly;
  551.     }
  552.     .btn-see-trip, .btn-search-trip {
  553.     border-radius: 35px;
  554.     width: 170px;
  555.     height: 30px;
  556.     display:  flex;
  557.     align-items: center;
  558.     justify-content: center;
  559.     flex-wrap: nowrap;
  560.     border: 0;
  561.     }
  562.     .btn-see-trip {
  563.     background-color: #ffffff;
  564.     color: black;
  565.     font-weight: 300;
  566.     font-size: 16px;
  567.     transition: 0.5s ease;
  568.     }
  569.     .btn-see-trip:hover {
  570.     background-color:#fd5224;;
  571.     color: #ffffff;
  572.     }
  573.     .btn-search-trip {
  574.     background: transparent;
  575.     color: #ffffff;
  576.     font-size: 14px;
  577.     border: 1px solid #ffffff;
  578.     }
  579.     .btn-search-trip span {
  580.     margin-right: 5px;
  581.     }
  582.     .tour-destinations {
  583.     display: none;
  584.     }
  585.      .odasiePlus-container {
  586.         padding-right: 0;
  587.         padding-left: 0;
  588.     }
  589.     #actus-et-avis {
  590.         color: white;
  591.         /* background-color: #232323; */
  592.         background-image: url('/assets/images/pays-footer-background.png');
  593.         background-size: cover;
  594.         background-color: #002042e5;
  595.         background-blend-mode: soft-light;
  596.         position: relative;
  597.     }
  598.     .temoignage {
  599.         width: 400px;
  600.         height: 110px;
  601.         font-family: 'Roboto', sans-serif;
  602.         font-size: 12px;
  603.         font-weight 300;
  604.         padding-bottom: 10px;
  605.         margin-top: 10px;
  606.         border-bottom: 1px solid #ffffff
  607.     }
  608.     .temoignageImage {
  609.         justify-content: space-between;
  610.         align-items: center;}
  611.     .temoignageImage img {
  612.         width: 75px !important;
  613.         height: 75px !important;
  614.         border-radius: 50% !important;
  615.     }
  616.     .temoignage-auteur {
  617.         padding-left: 0 !important;
  618.     }
  619.     .temoignageContent {
  620.         display: flex;
  621.         flex-direction: column;
  622.         justify-content: space-between;
  623.     }
  624.     .temoignageContent p {
  625.         margin: 0;
  626.     }
  627.     .temoignage-separator {
  628.         display: none;
  629.     }
  630.     .temoignages-button:hover,
  631.     .actus-button:hover {
  632.         background-color: red;
  633.         color: white !important;
  634.         justify-content: start;
  635.         transition: 0.3S ease;
  636.     }
  637.     @media screen and (max-width: 1365px) {
  638.     .separator, .separator-bottom {
  639.         display: none;
  640.     }
  641.     .tour-suggestions h2 {
  642.         display: flex;
  643.         flex-direction: column;
  644.         width: 100%;
  645.         align-items: start;
  646.         justify-content: space-between;
  647.         margin-top: 0;
  648.     }
  649.     .subtitle-roboto {
  650.         font-size: 20px
  651.     }
  652.     /* .tour-card-title {
  653.         height: unset;
  654.         min-height: none !important;
  655.     }
  656.     .subtitle-sacramento {
  657.         font-size: 40px;
  658.     }
  659.     .subtitle-optional {
  660.         display: none;
  661.     }
  662.     .tour-suggestions {
  663.         height: 310px;
  664.         width: 95%;
  665.     }
  666.     .tour-suggestions h2 {
  667.         margin-left: 10px;
  668.     }
  669.     .tour-card-container {
  670.         overflow-x: scroll;
  671.         overflow-y: hidden;
  672.         width: 100%;
  673.         height: 250px;
  674.         display: flex;
  675.     }
  676.     .tour-card-wrapper {
  677.         width: 290px;
  678.         height: 226px;
  679.         margin-right: 15px;
  680.     }
  681.     .swiper-wrapper {
  682.         height: 250px;
  683.     }
  684.     #right-sibling {
  685.         height: unset !important;
  686.     }
  687.     .tour-card {
  688.         width: 290px !important;
  689.         height: 226px !important;
  690.         border-radius: 11px;
  691.     }
  692.     .tour-card:hover .tour-card-hover,
  693.     .tour-card:hover::after {
  694.         display: none;  
  695.     }
  696.     .tour-card-title {
  697.         font-weight: 400
  698.     }
  699.     .tour-card-background {
  700.         border-radius: 11px 11px 0 0
  701.     }
  702.     .tour-card-image {
  703.         width: 100%;
  704.         height: 138px;
  705.         border-radius: 11px 11px 0 0;
  706.     }
  707.     .highlights,
  708.     .voyage-duree-desktop,
  709.     .tour-card-introduction,
  710.     .price,
  711.     .tour-card-button {
  712.         display: none;
  713.     }
  714.     .tour-card-title {
  715.         width: 100%;
  716.         text-align: start;
  717.         font-size: 14px
  718.     }
  719.     .details-mobile {
  720.         display: flex;
  721.         width: 100%;
  722.         font-size: 10px;
  723.         font-family: 'Roboto', sans-serif;
  724.         color: 969696
  725.     }
  726.     .price-mobile {
  727.         display: flex;
  728.         font-size: 12px;
  729.         text-transform: lowercase;
  730.     }
  731.     .price-mobile-price {
  732.         color: #FF4601;
  733.     }
  734.     .price-mobile-person {
  735.         color: #969696;
  736.     } */
  737.     .tour-config-section-title {
  738.         width: 80%;
  739.         font-size:22px;
  740.     }
  741.     #form-container {
  742.         height: 400px;
  743.     }
  744.     #widget-container {
  745.         align-items: center;
  746.         display: flex;
  747.         flex-direction: column;
  748.     }
  749.     .widget-wrapper {
  750.         margin-bottom: 20px;
  751.         min-width: auto;
  752.         padding-right: 20px;
  753.         padding-left: 10px;
  754.         padding-top: 2px;
  755.         padding-bottom: 2px;
  756.         align-items: center;
  757.         justify-content: center;
  758.     }
  759.     .widget-number-wrapper {
  760.         margin-bottom: 0 !important;
  761.     }
  762.     .widget-number-wrapper>span {
  763.         display: none;
  764.     }
  765.     .label-wrapper {
  766.         align-items: center;
  767.     }
  768.     .label-wrapper label {
  769.         position: static;
  770.     }
  771.     .fa-arrow-left {
  772.         margin-top: 0;
  773.         position: relative;
  774.     }
  775.     .widget-label {
  776.         position: static !important;
  777.         margin-bottom: 0;
  778.     }
  779.     }
  780.     @media screen and (min-width:1366px)
  781.     and (max-width: 1700px) {
  782.     .tour-card-container {
  783.         overflow-x: scroll;
  784.         overflow-y: hidden;
  785.         width: 100%;
  786.         display: flex;
  787.     }
  788.     }
  789.     @media screen and (max-width: 600px) {
  790.         .voyage {
  791.             font-size: 80px
  792.         }
  793.         .tour-type-libelle {
  794.             font-size: 100px;
  795.             margin-bottom: unset;
  796.         }
  797.         #search-container-wrapper {
  798.             /* min-height: 900px; */
  799.             padding-bottom: 200px;
  800.             height: unset
  801.         }
  802.         .tourSectionTitle {
  803.             font-size: 30px;
  804.         }
  805.         .visuelHeader {
  806.             margin-top: 50px;
  807.             /* min-height: 535px; */
  808.             height: unset;
  809.         }
  810.         .format {
  811.             top: -220px;
  812.         }
  813.     }
  814.     @media screen and (max-width: 450px) {
  815.     .subtitle-sacramento {
  816.         font-size: 5px;
  817.     }
  818.     .discover-subtitle-roboto {
  819.         font-size: 28px
  820.     }
  821.     .discover-subtitle-sacramento {
  822.         font-size: 50px
  823.     }
  824.     .separator {
  825.         display: none;
  826.     }
  827.     .label-separator {
  828.         margin-left: 10px;
  829.     }
  830.     .choice-wrapper {
  831.         width: auto;
  832.     }
  833.     .flatpickr-mobile {
  834.         margin-left: 10px;
  835.     }
  836.     .tourSectionTitle {
  837.         font-size: 24px
  838.     }
  839.     .format {
  840.         display: none
  841.     }
  842.     .tourSectionTitleWrapper {
  843.         position: static;
  844.         transform: unset
  845.     }
  846.     #search-container-wrapper {
  847.         padding-bottom: 50px;
  848.     }
  849.     .tour-type-libelle {
  850.         font-size: 80px;
  851.     }
  852.     }
  853.     @media screen and (min-width: 1921px) {
  854.     .tour-cards-container {
  855.         justify-content: center;
  856.     }
  857. }
  858.     </style>
  859. {% endblock %}  
  860. {% block keywords %} {{ seo.meta_keywords is defined ? meta_keywords : parent() }} {% endblock %}
  861. {% block description %} {{ seo.meta_description is defined ? seo.meta_description|striptags|e : parent() }} {% endblock %}
  862. {% set firstPartTitle =  'Voyages à thèmes'|trans %}
  863. {% block title %} {{ seo.meta_title is defined ? firstPartTitle ~ ' - ' ~ seo.meta_title ~ " - " ~  parent() : parent() }} {% endblock %}
  864. {% block layout %}option-com_woa_tour view-category layout-default{% endblock %}
  865. {% block bodyClass %}class="p-topbar"{% endblock %}
  866. {% block body %}
  867.     <section class="container-fluid p-0 justify-content-center">
  868.         <div id="search-container-wrapper" {# class="destination-{{ slug }}" #}>
  869.             <div class="blueLayer"></div>
  870.             <div class="tourtype-title-container">
  871.                 <span class='voyage'>voyage</span>
  872.                 <span class="tour-type-libelle">{{ typeLibelle }}</span>
  873.             </div>
  874.             <div class="visuelHeader">
  875.                 {% set cdn = "/cdn-cgi/image/width=700" %}
  876.                 {# <img class="img-fluid" src="../../assets/images/thematiques/{{ slug }}.svg" alt=""> #}
  877.                 <img class='img-fluid' src="{{ api_base_path ~ cdn ~ '/images/thematiques/' ~ slug ~ '.svg' }}" alt="">
  878.             </div>
  879.             <div class="row d-flex justify-content-center container-fluid">
  880.                 <a href="{{ path('contact_sur_mesure_1')}}" class="header-contact-button">
  881.                     Nous contacter pour un voyage sur-mesure
  882.                 </a>
  883.             </div>
  884.             <div id="search-container" class='d-none'>
  885.                 <div class="container mb-3 d-none d-md-block">
  886.                     {#% include 'destination/_index_search.html.twig' %#}
  887.                     {# barre de recherche #}
  888.                     <form class="search-container-inner d-none" action="" method="GET"> 
  889.                     
  890.                         <div class="d-md-flex justify-content-md-center align-items-md-center no-gutters">
  891.                             <div class="form-group mr-md-2 mr-lg-1">
  892.                                 <label  for="arrival">{% trans %}Arrivée{% endtrans %}</label>
  893.                                 <input value="{% if arrival is defined and arrival is not null %}{{ arrival }}{% else %}{{ "now"|date("d/m/Y") }}{% endif %}"  class="form-control datepicker-start" id="arrival" name="arrival" type="text" placeholder="{% if app.request.getLocale() == "fr" %}jj-mm-aaaa{% else %}dd-mm-yyyy{% endif %}" required >
  894.                             </div>
  895.                             <div class="form-group mr-md-2 mr-lg-1">
  896.                                 <label for="duration_range">{% trans %}Durée du séjour{% endtrans %}</label>
  897.                                 <select class="form-control" id="duration_range" name="duration_range">
  898.                                     <option {% if duration_range is defined and duration_range not in [1,2,3] %}selected{% endif %}  value="">{% trans %}Toutes{% endtrans %}</option>
  899.                                     <option {% if duration_range is defined and duration_range == 1 %}selected{% endif %} value="1">{% trans %}Moins de 14 jours{% endtrans %}</option>.
  900.                                     <option {% if duration_range is defined and duration_range == 2 %}selected{% endif %} value="2">{% trans %}14 à 20 jours{% endtrans %}</option>
  901.                                     <option {% if duration_range is defined and duration_range == 3 %}selected{% endif %} value="3">{% trans %}21 jours ou plus{% endtrans %}</option>
  902.                                 </select>
  903.                             </div>
  904.                             <div class="form-group mr-md-2 mr-lg-1">
  905.                                 <label for="category">{% trans %}Thème{% endtrans %}</label>
  906.                                 <select class="form-control w-lg-75" id="category" name="category">
  907.                                     <option selected hidden value="#">{% trans %}Choisir un thème{% endtrans %}</option>
  908.                                     {# {{ render(url('render_theme_collection', { 
  909.                                         'template': 'theme_input',
  910.                                         'sort': 't.ordre',
  911.                                         'direction': 'ASC',
  912.                                         'value': category|default(null)
  913.                                         } 
  914.                                     )) }}  #}
  915.                                     {% if navigation.themes.children is defined %}
  916.                                         {% for voyage_theme in navigation.themes.children %}  
  917.                                             {% if voyage_theme.path|replace({'/' : ""}) != "contact-sur-mesure" %}
  918.                                                 <option value="{{ voyage_theme.path|replace({'/' : ""}) }}">
  919.                                                     {{ voyage_theme.label }}
  920.                                                 </option>
  921.                                             {% endif %}
  922.                                         {% endfor %}
  923.                                     {% endif %}
  924.                                 </select>  
  925.                             </div>
  926.                             <div class="align-self-end mb-3">
  927.                                 <button type="submit" 
  928.                                     class="btn btn-block bgRedGradient text-white"
  929.                                     style="background: none; background-color: #FFC20E; color: black !important">{% trans %}Départ{% endtrans %}
  930.                                 </button>
  931.                             </div>
  932.                         </div>
  933.                     </form>
  934.                 </div>
  935.             </div>
  936.         </div>
  937.     </section>
  938.     <!-- Mobile -->
  939.     <section class="d-block d-md-none">
  940.         {#% include 'destination/_index_search.html.twig' %#}
  941.     </section>
  942.     <!-- FIN Mobile -->
  943.     <div class="toursContainer">
  944.         <div class="format"></div>
  945.         <section class="mainSection tourSectionTitleWrapper">
  946.             <div class="row">
  947.                 <div class="col ml-10 mt-4 text-center tourSectionTitle">
  948.                     Nos voyages {{ typeLibelle }}
  949.                     {# {{ render(url('render_theme', { 
  950.                         'template': 'theme_informations',
  951.                         'titleTagName': 'h1',
  952.                         'slug': slug
  953.                         } 
  954.                     )) }} #} 
  955.                 </div>
  956.             </div>
  957.         </section>
  958.         <section id='nos-tours' class="mainSection">
  959.             <div class="container-fluid text-center pb-4">
  960.                 {{ render(url('render_voyage_collection', { 
  961.                             'template': 'pays_voyages_v3',
  962.                             'perPage': 6,
  963.                             'theme': slug,
  964.                             'page': page,
  965.                             'duree' : duration_range
  966.                             } 
  967.                             )) }} 
  968.             </div>
  969.         </section>
  970.     </div>
  971.     <section id="visiteAutrePays" class="mainSection my-3 py-md-5 d-none">
  972.         <div class="row justify-content-center mx-0">
  973.             <div class="col-md-6 col-12 px-0 ">
  974.                 <p class="text-uppercase font-weight-bold">{% trans %}Vous voulez visiter un autre pays avec Ôdasie ?{% endtrans %}</p>
  975.             </div>
  976.         </div>
  977.         <div class="row justify-content-center mx-0">
  978.             <div class="col-md-6 col-12 px-0">
  979.                 <div class="row mx-0">
  980.                     <div class="col-10 col-md-10 pl-0 pr-1">
  981.                         <select class="w-100 h-100 dropdown-dark" name="goToCountry" id="goToCountry">
  982.                             <option selected disabled hidden value="#">{% trans %}Choisir une destination{% endtrans %}</option>
  983.                             {% for country in countries %}
  984.                                 {% if country.libelle != "Birmanie - Myanmar" %}
  985.                                     <option value="{{country.slug}}">{{country.libelle}}</option>
  986.                                 {% endif %}
  987.                             {% endfor %}
  988.                         </select>
  989.                     </div>
  990.                     <div class="col col-md px-0">
  991.                         <button id="btnGoToCountry" type="button" class="btn btn-block btn-dark">GO!</button>
  992.                     </div>
  993.                 </div>
  994.             </div>
  995.         </div>
  996.     </section>
  997.     <section>
  998.         <div class="container-fluid odasiePlus-container">
  999.             <div class="row footerVoyageList d-none">
  1000.                 <div class="col order-2 order-md-1">
  1001.                     <div class="row mx-0 justify-content-center">
  1002.                         <div id="odasiePlusContainer" class="col-6 px-0 text-white">
  1003.                             <div class="odasiePlusTitle"><p class="text-uppercase mb-0 mx-auto mx-md">{% trans %}NOUVEAU{% endtrans %}</p></div>
  1004.                             <div class="odasiePlusSubtitle h2 mb-0 text-uppercase ">{% trans %}L'application Ôdasie+{% endtrans %}</div>
  1005.                             <hr>
  1006.                             <div class="h6 odasiePlusSubSubtitle">{% trans %}Votre compagnon de voyage sur-mesure{% endtrans %}</div>
  1007.                             <!-- location icons and dotted line -->
  1008.                             <div id="cursors" class="row mt-4 mx-md-4" >
  1009.                                 <div class="col px-0">
  1010.                                     <svg  height="48" viewBox="0 0 17 21" fill="none" xmlns="http://www.w3.org/2000/svg">
  1011.                                         <path d="M8.50008 10.5C9.073 10.5 9.56362 10.2959 9.97196 9.88754C10.3803 9.47921 10.5841 8.98893 10.5834 8.41671C10.5834 7.84379 10.3792 7.35317 9.97091 6.94483C9.56258 6.5365 9.0723 6.33268 8.50008 6.33337C7.92716 6.33337 7.43654 6.53754 7.02821 6.94587C6.61987 7.35421 6.41605 7.84449 6.41675 8.41671C6.41675 8.98962 6.62091 9.48025 7.02925 9.88858C7.43758 10.2969 7.92786 10.5007 8.50008 10.5ZM8.50008 18.1563C10.6181 16.2118 12.1893 14.4452 13.2136 12.8563C14.2379 11.2674 14.7501 9.85699 14.7501 8.62504C14.7501 6.73268 14.1466 5.18337 12.9397 3.97712C11.7327 2.77087 10.2529 2.1674 8.50008 2.16671C6.74661 2.16671 5.2664 2.77018 4.05946 3.97712C2.85251 5.18407 2.24939 6.73337 2.25008 8.62504C2.25008 9.85768 2.76223 11.2684 3.78654 12.8573C4.81084 14.4462 6.38203 16.2125 8.50008 18.1563ZM8.50008 20.9167C5.70494 18.5382 3.61744 16.3292 2.23758 14.2896C0.85772 12.25 0.167442 10.3618 0.166748 8.62504C0.166748 6.02087 1.0046 3.94622 2.68029 2.40108C4.35598 0.855943 6.29591 0.083374 8.50008 0.083374C10.7049 0.083374 12.6452 0.855943 14.3209 2.40108C15.9966 3.94622 16.8341 6.02087 16.8334 8.62504C16.8334 10.3612 16.1431 12.2493 14.7626 14.2896C13.382 16.3299 11.2945 18.5389 8.50008 20.9167Z" fill="white"/>
  1012.                                     </svg>
  1013.                                     <p>{% trans %}Jour{% endtrans %} 1</p>
  1014.                                 </div>
  1015.                                 <div class="col px-0">
  1016.                                     <svg  height="48" viewBox="0 0 17 21" fill="none" xmlns="http://www.w3.org/2000/svg">
  1017.                                         <path d="M8.50008 10.5C9.073 10.5 9.56362 10.2959 9.97196 9.88754C10.3803 9.47921 10.5841 8.98893 10.5834 8.41671C10.5834 7.84379 10.3792 7.35317 9.97091 6.94483C9.56258 6.5365 9.0723 6.33268 8.50008 6.33337C7.92716 6.33337 7.43654 6.53754 7.02821 6.94587C6.61987 7.35421 6.41605 7.84449 6.41675 8.41671C6.41675 8.98962 6.62091 9.48025 7.02925 9.88858C7.43758 10.2969 7.92786 10.5007 8.50008 10.5ZM8.50008 18.1563C10.6181 16.2118 12.1893 14.4452 13.2136 12.8563C14.2379 11.2674 14.7501 9.85699 14.7501 8.62504C14.7501 6.73268 14.1466 5.18337 12.9397 3.97712C11.7327 2.77087 10.2529 2.1674 8.50008 2.16671C6.74661 2.16671 5.2664 2.77018 4.05946 3.97712C2.85251 5.18407 2.24939 6.73337 2.25008 8.62504C2.25008 9.85768 2.76223 11.2684 3.78654 12.8573C4.81084 14.4462 6.38203 16.2125 8.50008 18.1563ZM8.50008 20.9167C5.70494 18.5382 3.61744 16.3292 2.23758 14.2896C0.85772 12.25 0.167442 10.3618 0.166748 8.62504C0.166748 6.02087 1.0046 3.94622 2.68029 2.40108C4.35598 0.855943 6.29591 0.083374 8.50008 0.083374C10.7049 0.083374 12.6452 0.855943 14.3209 2.40108C15.9966 3.94622 16.8341 6.02087 16.8334 8.62504C16.8334 10.3612 16.1431 12.2493 14.7626 14.2896C13.382 16.3299 11.2945 18.5389 8.50008 20.9167Z" fill="white"/>
  1018.                                     </svg>
  1019.                                     <p>{% trans %}Jour{% endtrans %} 2</p>
  1020.                                 </div>
  1021.                                 <div class="col px-0">
  1022.                                     <svg  height="48" viewBox="0 0 17 21" fill="none" xmlns="http://www.w3.org/2000/svg">
  1023.                                         <path d="M8.50008 10.5C9.073 10.5 9.56362 10.2959 9.97196 9.88754C10.3803 9.47921 10.5841 8.98893 10.5834 8.41671C10.5834 7.84379 10.3792 7.35317 9.97091 6.94483C9.56258 6.5365 9.0723 6.33268 8.50008 6.33337C7.92716 6.33337 7.43654 6.53754 7.02821 6.94587C6.61987 7.35421 6.41605 7.84449 6.41675 8.41671C6.41675 8.98962 6.62091 9.48025 7.02925 9.88858C7.43758 10.2969 7.92786 10.5007 8.50008 10.5ZM8.50008 18.1563C10.6181 16.2118 12.1893 14.4452 13.2136 12.8563C14.2379 11.2674 14.7501 9.85699 14.7501 8.62504C14.7501 6.73268 14.1466 5.18337 12.9397 3.97712C11.7327 2.77087 10.2529 2.1674 8.50008 2.16671C6.74661 2.16671 5.2664 2.77018 4.05946 3.97712C2.85251 5.18407 2.24939 6.73337 2.25008 8.62504C2.25008 9.85768 2.76223 11.2684 3.78654 12.8573C4.81084 14.4462 6.38203 16.2125 8.50008 18.1563ZM8.50008 20.9167C5.70494 18.5382 3.61744 16.3292 2.23758 14.2896C0.85772 12.25 0.167442 10.3618 0.166748 8.62504C0.166748 6.02087 1.0046 3.94622 2.68029 2.40108C4.35598 0.855943 6.29591 0.083374 8.50008 0.083374C10.7049 0.083374 12.6452 0.855943 14.3209 2.40108C15.9966 3.94622 16.8341 6.02087 16.8334 8.62504C16.8334 10.3612 16.1431 12.2493 14.7626 14.2896C13.382 16.3299 11.2945 18.5389 8.50008 20.9167Z" fill="white"/>
  1024.                                     </svg>
  1025.                                     <p>{% trans %}Jour{% endtrans %} 3</p>
  1026.                                 </div>
  1027.                                 <div class="col px-0">
  1028.                                     <svg  height="48" viewBox="0 0 17 21" fill="none" xmlns="http://www.w3.org/2000/svg">
  1029.                                         <path d="M8.50008 10.5C9.073 10.5 9.56362 10.2959 9.97196 9.88754C10.3803 9.47921 10.5841 8.98893 10.5834 8.41671C10.5834 7.84379 10.3792 7.35317 9.97091 6.94483C9.56258 6.5365 9.0723 6.33268 8.50008 6.33337C7.92716 6.33337 7.43654 6.53754 7.02821 6.94587C6.61987 7.35421 6.41605 7.84449 6.41675 8.41671C6.41675 8.98962 6.62091 9.48025 7.02925 9.88858C7.43758 10.2969 7.92786 10.5007 8.50008 10.5ZM8.50008 18.1563C10.6181 16.2118 12.1893 14.4452 13.2136 12.8563C14.2379 11.2674 14.7501 9.85699 14.7501 8.62504C14.7501 6.73268 14.1466 5.18337 12.9397 3.97712C11.7327 2.77087 10.2529 2.1674 8.50008 2.16671C6.74661 2.16671 5.2664 2.77018 4.05946 3.97712C2.85251 5.18407 2.24939 6.73337 2.25008 8.62504C2.25008 9.85768 2.76223 11.2684 3.78654 12.8573C4.81084 14.4462 6.38203 16.2125 8.50008 18.1563ZM8.50008 20.9167C5.70494 18.5382 3.61744 16.3292 2.23758 14.2896C0.85772 12.25 0.167442 10.3618 0.166748 8.62504C0.166748 6.02087 1.0046 3.94622 2.68029 2.40108C4.35598 0.855943 6.29591 0.083374 8.50008 0.083374C10.7049 0.083374 12.6452 0.855943 14.3209 2.40108C15.9966 3.94622 16.8341 6.02087 16.8334 8.62504C16.8334 10.3612 16.1431 12.2493 14.7626 14.2896C13.382 16.3299 11.2945 18.5389 8.50008 20.9167Z" fill="white"/>
  1030.                                     </svg>
  1031.                                     <p>{% trans %}Jour{% endtrans %} 4</p>
  1032.                                 </div>
  1033.                                 <div class="col px-0">
  1034.                                 </div>
  1035.                             </div>
  1036.                             <div id="cursorsLine" class="row mx-md-4">
  1037.                                 <ul class="odasiePlusDayByDayFooter w-100">
  1038.                                     <li>
  1039.                                     </li>
  1040.                                     <li>
  1041.                                     </li>
  1042.                                     <li>
  1043.                                     </li>
  1044.                                     <li>
  1045.                                     </li>
  1046.                                     <li><div>▶</div></li>
  1047.                                 </ul>
  1048.                             </div>
  1049.                             <!-- END location icons and dotted line -->
  1050.                             <div id="odasiePlusImage" class="w-100 text-center mt-3">
  1051.                                 <img class="loadingSpeed" data-link="{{ asset('assets/v3/images/appInt.png')}}" src="{{ asset('assets/v3/images/appInt.png')}}" alt=""> 
  1052.                             </div>
  1053.                             <div class="row justify-content-center mt-5 mb-3 mb-md mx-0">
  1054.                                 <div class="col-8 text-center">
  1055.                                     <a href="#" class="btn btn-block btn-light odasiePlusLink">{% trans %}En savoir plus sur ÔDASIE+{% endtrans %}</a>
  1056.                                 </div>
  1057.                             </div>
  1058.                             
  1059.                         </div>  
  1060.                     </div>
  1061.                 </div>
  1062.                 <div class="col order-1 order-md-2">
  1063.                     <div id="avisContainer" class="overflow-hidden h-100 container-fluid">
  1064.                         {% set avisSurLesVoyagesEn = {
  1065.                             1 : "Les avis sur les voyages en Thaïlande" | trans,
  1066.                             2 : "Les avis sur les voyages en Indonésie" | trans,
  1067.                             3 : "Les avis sur les voyages au Cambodge" | trans,
  1068.                             4 : "Les avis sur les voyages au Sri Lanka" | trans,
  1069.                             5 : "Les avis sur les voyages au Vietnam" | trans,
  1070.                             6 : "Les avis sur les voyages aux Philippines" | trans,
  1071.                             7 : "Les avis sur les voyages en Malaisie" | trans,
  1072.                             8 : "Les avis sur les voyages au Laos" | trans,
  1073.                             9 : "Les avis sur les voyages en Chine" | trans,
  1074.                             10 : "Les avis sur les voyages en Birmanie - Myanmar" | trans,
  1075.                             12 : "Les avis sur les voyages au Népal" | trans
  1076.                         } %}
  1077.                         
  1078.                         <div class="row mx-0 justify-content-center">
  1079.                             <div class="col-md-9 col-12">
  1080.                                 <div class="avisContainerTitle text-uppercase font-weight-bold text-white pt-5">{{ "Les avis sur les voyages"| trans }}</div>
  1081.                                 <div class="d-flex flex-column mt-3 scroller">
  1082.                                     {% for temoignage in temoignages %}
  1083.                                     <div class="d-flex temoignage" style="">
  1084.                                         <div class="d-flex temoignageImage">
  1085.                                             <a href="{#{{ path('tour_show', {'slug': temoignage.voyage_slug })}}#}" title="{{ temoignage.voyage_libelle}}">
  1086.                                                 {#% set urlImage = "https://picsum.photos/seed/picsum/200/300" %#}
  1087.                                             
  1088.                                                 {% set urlImage = api_base_path ~ '/uploads/' ~ temoignage.image_entite ~ '/' ~ temoignage.image_path %}
  1089.                 
  1090.                                                 <img class="loadingSpeed" data-link="{{ urlImage }}" style="width:100px;height:100px; object-fit:cover;border-radius:60px !important;" alt="{#{{ temoignage.voyage_libelle}}#}" src="{{ urlImage }}"/>
  1091.                                             </a>
  1092.                                             <span class="text-white lineHnormal"><small>{{ temoignage.temoignage_auteur }}</small></span>
  1093.                                         </div>
  1094.                                         <div class="text-white temoignageContent">
  1095.                 
  1096.                                             <p class="lineHnormal"><small>{{ temoignage.pays_libelle|striptags|truncate(130, true)|raw }}</small></p>
  1097.                                             <p class="lineHnormal"><small>{{ temoignage.voyage_libelle|striptags|truncate(130, true)|raw }}</small></p>
  1098.                                             <p class="lineHnormal"><small>{{ temoignage.temoignage_date|date('d/m/Y')}} Par Odasie</small></p>
  1099.                 
  1100.                                             <p class="lineHnormal"><small>{{ temoignage.temoignage_contenu|striptags|truncate(130, true)|raw }}.</small></p>
  1101.                                             <p class="lineHnormal"><small>{{ temoignage.temoignage_points_forts|striptags|truncate(130, true)|raw }}</small></p>
  1102.                                         </div>
  1103.                                     </div>
  1104.                                     <hr>
  1105.                                         
  1106.                                     {% endfor %}
  1107.                                     {# <div class="d-flex" style="width: 70%;">
  1108.                                         <div class="d-flex flex-column">
  1109.                                             <img src="{{ asset('assets/v3/images/Ellipse2.png') }}" alt="" srcset="">
  1110.                                             <p class="text-center lineHnormal"><small>Phil - 28 ans</small></p>
  1111.                                         </div>
  1112.                                         <div class="ml-3 mr-2">
  1113.                                             <p class="titleActu"><b>Parcs nationaux et randonnées à Chiang Mai : 3 lieux à visiter.</b></p>
  1114.                                             <p class="lineHnormal"><small>11/04/2023 Par Odasie</small></p>
  1115.                                             <p class="lineHnormal"><small>Si vous souhaitez profiter de votre voyage en Thaïlande pour admirer les paysages verdoyants du nord, un trek en pleine nature est l’idéal. Entre parcs nationaux, temples, cascades, éléphants sauvages et autres surprises, votre balade sur les sentiers…</small></p>
  1116.                                             <p class="lineHnormal"><small>Lire la suite</small></p>
  1117.                                         </div>
  1118.                                     </div> #}
  1119.                 
  1120.                                 </div>
  1121.                             </div>
  1122.                         </div>
  1123.                         
  1124.                         <div class="row mx-0 justify-content-center">
  1125.                             <div class="col-md-9 col-12">
  1126.                                 {% if temoignages|length > 0 %}
  1127.                                 <div class="row">
  1128.                                     <div class="col-11 mb-4">
  1129.                                         <a href="{{ path("blog_index")}}" id="btnSeeAllTestimonies" class="btn btn-block btn-dark">{% trans %}Voir tous les avis{% endtrans %}</a>
  1130.                                     </div>
  1131.                                 </div> 
  1132.                                 {% endif %}
  1133.                             </div>
  1134.                         </div>
  1135.                         
  1136.                     </div>
  1137.                 </div>
  1138.             </div>
  1139.             {% include "_footer-app.html.twig" %}
  1140.         </div>
  1141.     </section>
  1142.     <section id="actus-et-avis" class='pb-5'>
  1143.     <div class="d-none d-md-block {# mt-5 #} text-light pt-5">
  1144.         <div class="container-fluid">
  1145.             <div class="row justify-content-center">
  1146.                 <div class="text-center">
  1147.                     <span class="h1">Actus & Avis</span>
  1148.                 </div>
  1149.             </div>
  1150.         </div>
  1151.     </div>
  1152.     <div class="d-none d-md-block ">
  1153.         <div class="container-fluid">
  1154.             <div class="row mt-5">
  1155.                 <div class="col-1"></div>
  1156.                 <div class="col-7" style="min-height:400px;">
  1157.                     <span class="h2 ml-3">ACTUS</span>
  1158.                     <div class="mod_articles_latest-latestnews d-flex flex-wrap">
  1159.                         {{ render(url('render_content_collection', { 
  1160.                                     'template': 'home_news',
  1161.                                     'zone': 'blog',
  1162.                                     'limit' : 4,
  1163.                                     'sort' : 'c.date_crea',
  1164.                             
  1165.                                     'direction' : 'DESC',
  1166.                                     'agentTours': false,
  1167.                                     } 
  1168.                         )) }}
  1169.                     </div>
  1170.                 </div>
  1171.                 <div class="temoignages-section col-4">
  1172.                     <div class="h-100 pb-5" style="margin-left: 25px;">
  1173.                         <span class="h2">DERNIERS AVIS</span>
  1174.                         <div class="mt-4 scroller" style="overflow-y:scroll; height:inherit;">
  1175.                             {% for temoignage in temoignages|slice(0, 5) %}
  1176.                                 {% include "_temoignage_apercu.html.twig" %}
  1177.                             {% endfor %}
  1178.                         </div>
  1179.                         
  1180.                     </div>
  1181.                     
  1182.                     <div>
  1183.                         {# <div class="d-flex justify-content-center mt-2">
  1184.                             <a class="linkNormal" href="#">Voir tout les avis</a>
  1185.                         </div> #}
  1186.                     </div>
  1187.                 </div>
  1188.             </div>
  1189.             <div class="row mt-3">
  1190.                 <div class="col-1"></div>
  1191.                 <div class="col-7 mt-4">
  1192.                     <div>
  1193.                         <div class="d-flex justify-content-center text-dark">
  1194.                             <a class="linkNormal default-button white-button actus-button" href="{{ path("blog_index")}}">Voir toutes nos actus</a>
  1195.                         </div>
  1196.                     </div>
  1197.                 </div>
  1198.                 <div class="col-4 mt-4 d-flex justify-content-center text-dark">
  1199.                     <a href="{{ path('review_index') }}" class="default-button white-button temoignages-button">Voir tous les avis</a>
  1200.                 </div>
  1201.             </div>
  1202.             <div class="row">
  1203.                 <div class="col-12 d-none d-md-block">
  1204.                     <div class="d-flex justify-content-center mt-5" style="width:100%">
  1205.                     <span class="mr-3" style="width: 20%;text-align:end">
  1206.                         <b>Vous disposez d’un petit budget ?</b>
  1207.                         <p class="lineHnormal mt-2">Voyages en petit groupe, promotions du moment, gardez un oeil sur cet espace où nous mettrons en avant nos offres les plus avantageuses!</p>
  1208.                     </span>
  1209.                         <img class="logoTravel" src="{{ asset('assets/v3/images/iconTravel.png') }}" alt="" srcset="">
  1210.                     </div>
  1211.                 </div>   
  1212.             </div>
  1213.         </div>
  1214.     </div>
  1215.     
  1216.     <div>
  1217.         {# <div class="d-block d-md-none mt-5 backgroundDarkGray text-light">
  1218.             <div class="row justify-content-center">
  1219.                 <div class="text-center">
  1220.                     <span class="h1">Actus & Avis</span>
  1221.                 </div>
  1222.             </div>
  1223.         </div> #}
  1224.         <div class="d-block d-md-none row pt-5">
  1225.             <span class="h2 ml-4">ACTUS</span>
  1226.             <div class="mod_articles_latest-latestnews d-flex justify-content-center flex-wrap mt-3">
  1227.                 {{ render(url('render_content_collection', { 
  1228.                             'template': 'home_news',
  1229.                             'zone': 'blog',
  1230.                             'limit' : 3,
  1231.                             'sort' : 'c.date_crea',
  1232.                             'direction' : 'DESC',
  1233.                             'agentTours': false,
  1234.                             } 
  1235.                 )) }}
  1236.             </div>
  1237.         </div>
  1238.         <div class="d-block d-md-none mt-5">
  1239.             <span class="h2 ml-2">DERNIERS AVIS</span>
  1240.             <div class="d-flex flex-column align-items-center mt-3 scroller">
  1241.             {% for temoignage in temoignages|slice(0, 5) %}
  1242.                 <div class="d-flex" style="width: 95%;">
  1243.                     <div class="d-flex flex-column">
  1244.                         <a href="{#{{ path('tour_show', {'slug': temoignage.voyage_slug })}}#}" title="{{ temoignage.voyage_libelle}}">
  1245.                         {% set urlImage = api_base_path ~ '/uploads/' ~ temoignage.image_entite ~ '/' ~ temoignage.image_path %}
  1246.                         {# {% set urlImage = "https://picsum.photos/200/300?random=" ~ random(1, 10) %} #}
  1247.                         {# {{ asset('assets/v3/images/review/' ~ temoignage.image_path ~ '') }} #}
  1248.                             <img class="loadingSpeed avisMobile" src="" data-link="{{ urlImage }}" style="width:100px;height:100px; object-fit:cover;border-radius:50% !important;" alt="{#{{ temoignage.voyage_libelle}}#}"/>
  1249.                         </a>
  1250.                         <p class="text-center lineHnormal pl-3"><small>{{ temoignage.temoignage_auteur }}</small></p>
  1251.                     </div>
  1252.                     <div class="ml-3 mr-2">
  1253.                         <p class="lineHnormal"><small>{{ temoignage.pays_libelle|striptags|truncate(130, true)|raw }}</small></p>
  1254.                         <p class="lineHnormal"><small>{{ temoignage.voyage_libelle|striptags|truncate(130, true)|raw }}</small></p>
  1255.                         {# <p class="lineHnormal"><small>{{ temoignage.temoignage_date|date('d/m/Y')}} Par Odasie</small></p> #}
  1256.                         {# <p class="lineHnormal"><small>{{ temoignage.temoignage_contenu|striptags|truncate(130, true)|raw }}.</small></p> #}
  1257.                         {# <p class="lineHnormal"><small>{{ temoignage.temoignage_points_forts|striptags|truncate(130, true)|raw }}</small></p> #}
  1258.                         <p class="lineHnormal">
  1259.                             <small>{{ temoignage.temoignage_contenu|striptags|truncate(130, true)|raw }}.</small>
  1260.                             <a href="{{ path('review_index', {'reviewId': temoignage.temoignage_id}) }}">Lire la suite</a>    
  1261.                         </p>
  1262.                     </div>
  1263.                 </div>
  1264.             {% endfor %}
  1265.             
  1266.             </div>
  1267.         </div>
  1268.     </div>
  1269.     </section>
  1270. {% endblock %}
  1271. {% block javascripts %}
  1272.     {{ parent() }}
  1273.     <script>var currentLocale='fr';</script>
  1274.     <script>
  1275.         var formValid = false;
  1276.         $('form.search-container-inner').on('submit', function(e) {
  1277.             //TODO : 
  1278.             //1 - obtenir le thème recherché par l'utilisateur
  1279.             //2 - modifier la propriété 'action' du formulaire 
  1280.             let category = $("#category").val();
  1281.             if(category == "#"){
  1282.                 //impossible de valider le formulaire
  1283.             }else{
  1284.                 //Definir l'action
  1285.                 let path = "/" + currentLocale + "/" + category;
  1286.                 $('form.search-container-inner').attr("action",path);
  1287.             }
  1288.             //var arrival = $('#arrival').val();
  1289.             //if (!formValid) {
  1290. //
  1291.             //    if (arrival.match(/^[0-9]{2}-[0-9]{2}-[0-9]{4}$/) == null) {
  1292.             //        e.preventDefault();
  1293.             //        //alert('Veuillez vérifier le format de date.');
  1294.             //        return;
  1295.             //    }
  1296.             //    else {
  1297.             //        formValid = true;
  1298.             //    }
  1299.             //}
  1300.             $(this).submit();
  1301.         })
  1302.     </script>
  1303.     <script src="{{ asset('assets/v2/js/flatpickr.min.js') }}"></script>
  1304.     <script src="{{ asset('assets/v2/js/flatpickr.fr.min.js') }}"></script>
  1305.     <script src="{{ asset('assets/v2/js/destination.min.js') }}"></script>
  1306.     <script src="{{ asset('assets/v2/js/swiper.min.js') }}"></script>
  1307.     <script src="{{ asset('assets/v2/js/home.min.js') }}"></script>
  1308.     <script>
  1309.         var boolIsMobile = false;
  1310.         if(/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent) ){
  1311.             boolIsMobile = true;
  1312.         }
  1313.         console.log('boolIsMobile',boolIsMobile);    
  1314.     </script>
  1315.     <script>
  1316.         let baseUrl = "{{ app.request.getSchemeAndHttpHost()}}";
  1317.         let locale = "{{ app.request.getLocale()}}";
  1318.         $("#btnGoToCountry").on("click",function(){
  1319.             let val = $('#goToCountry').find(":selected").val();
  1320.             if(val != "#"){
  1321.                 document.location.href= baseUrl + "/"+ locale +"/" + val;
  1322.             }
  1323.         });
  1324.         if(boolIsMobile){
  1325.             var coupDeCoeurSlider = new Swiper(".swiper",{
  1326.                 // Optional parameters
  1327.                 slidesPerView :1,
  1328.                 allowTouchMove : false,
  1329.                 // Navigation arrows
  1330.                 navigation: {
  1331.                     nextEl: '.swiper-button-next',
  1332.                     prevEl: '.swiper-button-prev',
  1333.                 },
  1334.                 // And if we need scrollbar
  1335.                 scrollbar: {
  1336.                     el: '.swiper-scrollbar',
  1337.                 },
  1338.                 breakpoints: {
  1339.                     /* 550 */320: {
  1340.                     slidesPerView: /* 2 */ 1,
  1341.                     spaceBetween: 20
  1342.                     },
  1343.                     /* 768 */ 720: {
  1344.                     slidesPerView: 2,
  1345.                     spaceBetween: 20
  1346.                     },
  1347.                     1200: {
  1348.                     slidesPerView: 3,
  1349.                     spaceBetween: 20
  1350.                     },
  1351.                     2650: {
  1352.                     slidesPerView: 7,
  1353.                     spaceBetween: 10
  1354.                     },
  1355.                     2250: {
  1356.                     slidesPerView: 6,
  1357.                     spaceBetween: 10
  1358.                     },
  1359.                     1850: {
  1360.                     slidesPerView: 5,
  1361.                     spaceBetween: 10
  1362.                     },
  1363.                     // when window width is >= 480px
  1364.                     1450: {
  1365.                     slidesPerView: 4,
  1366.                     spaceBetween: 10
  1367.                     },
  1368.                     1000: {
  1369.                     slidesPerView: 3,
  1370.                     spaceBetween: 10
  1371.                     },
  1372.                     // when window width is >= 640px
  1373.                     800: {
  1374.                     slidesPerView: 2,
  1375.                     spaceBetween: 10
  1376.                     }
  1377.                 },
  1378.             });
  1379.         }else{
  1380.             var coupDeCoeurSlider = new Swiper(".swiper",{
  1381.                 // Optional parameters
  1382.                 slidesPerView :4,
  1383.                 spaceBetween: 30,
  1384.                 allowTouchMove : false,
  1385.                 breakpoints: {
  1386.                     320: {
  1387.                     slidesPerView: 1,
  1388.                     spaceBetween: 20
  1389.                     },
  1390.                     860: {
  1391.                     slidesPerView: 2,
  1392.                     spaceBetween: 5
  1393.                     },
  1394.                     1200: {
  1395.                     slidesPerView: 3,
  1396.                     spaceBetween: 5
  1397.                     },
  1398.                     1530: {
  1399.                     slidesPerView: 4,
  1400.                     spaceBetween: 5
  1401.                     },
  1402.                     2650: {
  1403.                     slidesPerView: 7,
  1404.                     spaceBetween: 10
  1405.                     },
  1406.                     2250: {
  1407.                     slidesPerView: 6,
  1408.                     spaceBetween: 10
  1409.                     },
  1410.                     1890: {
  1411.                     slidesPerView: 5,
  1412.                     spaceBetween: 10
  1413.                     },
  1414.                     // when window width is >= 480px
  1415.                     /* 1450: {
  1416.                     slidesPerView: 4,
  1417.                     spaceBetween: 10
  1418.                     }, */
  1419.                     /* 1000: {
  1420.                     slidesPerView: 3,
  1421.                     spaceBetween: 10
  1422.                     }, */
  1423.                     // when window width is >= 640px
  1424.                     /* 800: {
  1425.                     slidesPerView: 2,
  1426.                     spaceBetween: 10
  1427.                     } */
  1428.                 },
  1429.                 // Navigation arrows
  1430.                 navigation: {
  1431.                     nextEl: '.swiper-button-next',
  1432.                     prevEl: '.swiper-button-prev',
  1433.                 },
  1434.                 // And if we need scrollbar
  1435.                 scrollbar: {
  1436.                     el: '.swiper-scrollbar',
  1437.                 },
  1438.             });
  1439.         }
  1440.     // Fonction à exécuter lorsque l'élément devient visible
  1441.     function gestionIntersection(entries, observer) {
  1442.     entries.forEach((entry) => {
  1443.         if (entry.isIntersecting) {
  1444.         // L'élément est visible à l'écran
  1445.         if(entry.target.localName == "img"){
  1446.             if(entry.target.dataset.link != ""){
  1447.                 entry.target.src = `${entry.target.dataset.link}`
  1448.                 entry.target.classList.add("loaded");
  1449.                 entry.target.dataset.link = "";
  1450.             }
  1451.             
  1452.         } else {
  1453.             if(entry.target.dataset.link != ""){
  1454.                 entry.target.style.backgroundImage = `url('${entry.target.dataset.link}')` 
  1455.                 entry.target.classList.add("loaded");
  1456.                 entry.target.dataset.link = "";
  1457.             }
  1458.                 
  1459.         }
  1460.         
  1461.         // Vous pouvez exécuter ici le code que vous souhaitez lorsque l'élément devient visible.
  1462.         // Par exemple, lancer une animation ou charger du contenu supplémentaire.
  1463.         }
  1464.     });
  1465.     }
  1466.     // Options pour l'observateur Intersection Observer
  1467.     const options = {
  1468.     root: null, // Le viewport est la racine par défaut
  1469.     rootMargin: "0px", // Aucune marge supplémentaire
  1470.     threshold: 0.1, // Détecter lorsque 50% de l'élément est visible
  1471.     };
  1472.     // Créer l'observateur Intersection Observer
  1473.     const observer = new IntersectionObserver(gestionIntersection, options);
  1474.     // Sélectionnez l'élément que vous souhaitez observer
  1475.     const elementToObserve = document.querySelectorAll(".loadingSpeed");
  1476.     // Commencez à observer l'élément
  1477.     elementToObserve.forEach((element) => {
  1478.         observer.observe(element);
  1479.     });  
  1480.         
  1481.     </script>
  1482.     <script>
  1483.         // récupérer le nombre de destinations
  1484.         $(document).ready(function() {
  1485.             let detailsMobile = document.querySelectorAll('.details-mobile');
  1486.             $(detailsMobile).each(function() {
  1487.                 let destinationsNumber = $(this).find('li').length;
  1488.                 $(this).find('.destinations-mobile').html(destinationsNumber + ' destinations')
  1489.             })
  1490.         })
  1491.     </script>
  1492. {% endblock %}