{% extends 'base.html.twig' %}
{% block title %}Meilleur Agence de voyages en Tunisie - Rustica Voyages{% endblock %}
{% block stylesheets %}
<link rel="stylesheet" type="text/css" href="{{ asset('front/style/single_listing_style.css') }}">
<link rel="stylesheet" type="text/css" href="{{ asset('front/style/single_listing_responsive.css') }}">
<link rel="stylesheet" type="text/css" href="{{ asset('front/style/blog_style.css') }}">
<link rel="stylesheet" type="text/css" href="{{ asset('front/style/blog_responsive.css') }}">
<link href="{{ asset('front/searchbar/vendor/mdi-font/css/material-design-iconic-font.min.css') }}" rel="stylesheet" media="all">
<link href="{{ asset('front/searchbar/vendor/font-awesome-4.7/css/font-awesome.min.css') }}" rel="stylesheet" media="all">
<!-- Font special for pages-->
<link href="https://fonts.googleapis.com/css?family=Roboto:100,100i,300,300i,400,400i,500,500i,700,700i,900,900i" rel="stylesheet">
<!-- Vendor CSS-->
<link href="{{ asset('front/searchbar/vendor/select2/select2.min.css') }}" rel="stylesheet" media="all">
<link href="{{ asset('front/searchbar/vendor/datepicker/daterangepicker.css') }}" rel="stylesheet" media="all">
<!-- Main CSS-->
<link href="{{ asset('front/searchbar/css/main.css') }}" rel="stylesheet" media="all">
<!-- Modal Css -->
<link rel="stylesheet" href="{{ asset('front/modals/fonts/icomoon/stylecommons.css') }}">
<!-- Bootstrap CSS -->
<link rel="stylesheet" href="{{ asset('front/modals/css/bootstrapcss.min.css') }}">
<link rel="stylesheet" type="text/css" href="{{ asset('front/plugins/OwlCarousel2-2.2.1/owl.carousel.css') }}">
<link rel="stylesheet" type="text/css" href="{{ asset('front/plugins/OwlCarousel2-2.2.1/owl.theme.default.css') }}">
<link rel="stylesheet" type="text/css" href="{{ asset('front/plugins/OwlCarousel2-2.2.1/animate.css') }}">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/OwlCarousel2/2.3.4/assets/owl.carousel.min.css">
<!-- Style -->
{# <link rel="stylesheet" href="{{ asset('front/modals/css/stylemodals.css') }}">#}
<style>
.owl-theme .owl-dots {
text-align: center;
-webkit-tap-highlight-color: transparent;
display: none;
}
.owl-theme .owl-nav {
margin-top: 10px;
text-align: center;
-webkit-tap-highlight-color: transparent;
z-index: 10000;
background: red;
display: none;
}
.cta {
padding-top: 190px;
padding-bottom: 183px;
background: linear-gradient(to right, #b29b63, #0093a9);
}
.search_tab.active {
background: linear-gradient(to right, #b29b63, #0093a9);
color: #FFFFFF;
}
.search_tab:hover {
background: linear-gradient(to right, #0093a9, #b29b63);
color: #FFFFFF;
}
.content {
max-height: 3em; /* Limite initiale de hauteur en fonction du nombre de lignes */
overflow: hidden;
}
.expanded {
max-height: none; /* Agrandir la hauteur lorsque le paragraphe est étendu */
}
.read-more {
cursor: pointer;
color: blue;
}
.home_slider_background {
height: 80;
width: 100%;
background-size: cover;
background-position: center center;
background-repeat: no-repeat;
margin-top:40px;
}
.offers_price {
display: inline-block;
font-size: 29px;
font-weight: 700;
color: #ff9100;
line-height: 25px;
}
.offers_price a{
display: inline-block;
font-size: 22px;
font-weight: 700;
color: #0093a9;
line-height: 25px;
}
.offer_name{
display: block;
font-size: 22px;
font-weight: 700;
background: #0093a9;
color: #FFFFFF;
width: 310px;
line-height: 35px;
padding-left: 12px;
}
.offers_item {
border-radius: 12px;
overflow: hidden;
position: relative;
box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24);
transition: all 300ms;
}
.offers_item:hover {
transform: translateY(-2px);
box-shadow: 0 14px 28px rgba(0, 0, 0, 0.25), 0 10px 10px rgba(0, 0, 0, 0.22);
}
.offers_image_background {
position: relative;
margin: auto;
overflow: hidden;
}
.offers_image_background img {
max-width: 100%;
transition: all 0.3s;
display: block;
transform: scale(1);
}
.offers_image_background:hover img {
transform: scale(1.1);
}
.offers_content {
margin-top: 22px;
margin-left: 17px;
margin-bottom: 22px;
margin-right: 17px;
}
.offers_link {
margin-top: 24px;
}
.intro_price {
font-size: 20px;
font-weight: 600;
color: #FFFFFF;
margin-top: -4px;
}
.intro{
padding-bottom: 50px;
}
.button a:hover {
background-color: #ff9100;
color: white;
}
.ctaBackground {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 210%;
background-repeat: no-repeat;
background-size: cover;
background-position: center center;
opacity: 0.27;
}
img {
max-width: 100%;
height: 100%;
}
.container {
max-width: 1440px!important;
}
.main_nav_item a {
font-family: 'Open Sans', sans-serif;
font-size: 15px;
font-weight: 700;
color: #0093a9!important;
text-transform: uppercase;
padding-bottom: 10px;
padding-top: 10px;
}
.main_nav_item::after {
display: block;
position: absolute;
left: -1px;
bottom: -11px;
width: calc(100% + 2px);
height: 2px;
background: linear-gradient(to right, #b29b63, #0093a9)!important;
content: '';
opacity: 0;
-webkit-transition: all 200ms ease;
-moz-transition: all 200ms ease;
-ms-transition: all 200ms ease;
-o-transition: all 200ms ease;
transition: all 200ms ease;
}
.section-title h2 {
text-align: center;
font-size: 18px;
font-weight: 600;
text-transform: uppercase;
padding-bottom: 6px;
color: #000;
letter-spacing: 0.3px;
padding: 0;
}
.section-title::after {
content: "";
height: 3px;
background: #fbb900;
width: 80px;
position: absolute;
left: 0;
right: 0;
margin: auto;
}
/****************/
/* BX-SLIDER */
/****************/
/* section.client {
padding:4em 0em;
}*/
section.client .section-title {
margin-bottom: 6em;
}
.bx-controls {
position: relative;
}
.bx-wrapper{
margin: auto;
margin-top: 70px;
}
.bx-wrapper .bx-pager {
text-align: center;
padding-top: 30px;
display: none;
}
.bx-wrapper .bx-pager .bx-pager-item, .bx-wrapper .bx-controls-auto .bx-controls-auto-item {
display: inline-block;
*zoom: 1;
*display: inline;
}
.bx-wrapper .bx-pager.bx-default-pager a {
background: #666;
text-indent: -9999px;
display: block;
width: 10px;
height: 10px;
margin: 0 5px;
outline: 0;
-moz-border-radius: 5px;
-webkit-border-radius: 5px;
border-radius: 5px;
}
/**/
/* Default styles */
.filter {
background: #f3f6f9;
margin-top: -24px;
}
.container {
padding: 0 15px;
margin: 0 auto;
}
.card {
border: none;
background: transparent;
width: 100%;
/* max-width: 1070px;*/
margin: 0 auto;
}
.card-body {
margin-top: 25px;
}
.input-group {
width: calc(25% - 20px);
max-width: 200px;
margin-bottom: 10px;
}
.label {
color: black;
font-weight: 500;
display: block;
}
.btn-submit {
font-size: 16px;
font-weight: 500;
border: 1px solid black;
background: #FFFFFF;
color: black;
margin-bottom: 10px;
max-width:335px;
}
/* Media Queries */
@media screen and (max-width: 768px) {
.input-group {
width: 100%;
max-width: none;
}
.home_slider_container{
display:none;
}
.cta{
display:none;
}
.filter{margin-top:-140px;}
.offers{padding-top:55px;}
.intro{padding-top:55px;}
.section_title{font-size:20px !important;}
.offers_items {
margin-top: 30px;
}
.intro_col
{
min-width: 395px;
margin-left: -45px;
}
.banniere
{
width:100%;
height:50%!important;
}
}
.home_slider_container {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
z-index: 10;
background: #ffffff;
}
.home_slider_background{
opacity: unset
}
</style>
{% endblock %}
{% block body %}
<div class="home" style="height: 100px;">
</div>
<!-- Blog -->
<div class="cta">
<div class="home_slider_container" style="height: 132%">
{# <div class="owl-carousel owl-theme home_slider">
{% for b in banniere%}
<div class="owl-item home_slider_item">
<div class="home_slider_background">
{% for img in b.imagesbannieres %}
<img class="banniere" src="{{ asset('./rusticav/public/uploads/bannieres/'~img.name) }}" alt="" width="100%" height="74%" />
{% endfor %}
</div>
</div>
{% endfor %}
</div> #}
<div class="owl-carousel owl-theme home_slider">
{% for b in banniere%}
<div class="owl-carousel owl-theme home_slider">
<div class="home_slider_background">
{% for img in b.imagesbannieres %}
<img class="banniere" src="{{ asset('./rusticav/public/uploads/bannieres/'~img.name) }}" alt="" width="100%" height="74%" />
{% endfor %}
</div>
</div>
{% endfor %}
</div>
<!-- Home Slider Nav - Prev -->
<div class="home_slider_nav home_slider_prev">
<svg version="1.1" id="Layer_2" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
width="28px" height="33px" viewBox="0 0 28 33" enable-background="new 0 0 28 33" xml:space="preserve">
<defs>
<linearGradient id='home_grad_prev'>
<stop offset='0%' stop-color='#fa9e1b'/>
<stop offset='100%' stop-color='#8d4fff'/>
</linearGradient>
</defs>
<path class="nav_path" fill="#F3F6F9" d="M19,0H9C4.029,0,0,4.029,0,9v15c0,4.971,4.029,9,9,9h10c4.97,0,9-4.029,9-9V9C28,4.029,23.97,0,19,0z
M26,23.091C26,27.459,22.545,31,18.285,31H9.714C5.454,31,2,27.459,2,23.091V9.909C2,5.541,5.454,2,9.714,2h8.571
C22.545,2,26,5.541,26,9.909V23.091z"/>
<polygon class="nav_arrow" fill="#F3F6F9" points="15.044,22.222 16.377,20.888 12.374,16.885 16.377,12.882 15.044,11.55 9.708,16.885 11.04,18.219
11.042,18.219 "/>
</svg>
</div>
<!-- Home Slider Nav - Next -->
<div class="home_slider_nav home_slider_next">
<svg version="1.1" id="Layer_3" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
width="28px" height="33px" viewBox="0 0 28 33" enable-background="new 0 0 28 33" xml:space="preserve">
<defs>
<linearGradient id='home_grad_next'>
<stop offset='0%' stop-color='#fa9e1b'/>
<stop offset='100%' stop-color='#8d4fff'/>
</linearGradient>
</defs>
<path class="nav_path" fill="#F3F6F9" d="M19,0H9C4.029,0,0,4.029,0,9v15c0,4.971,4.029,9,9,9h10c4.97,0,9-4.029,9-9V9C28,4.029,23.97,0,19,0z
M26,23.091C26,27.459,22.545,31,18.285,31H9.714C5.454,31,2,27.459,2,23.091V9.909C2,5.541,5.454,2,9.714,2h8.571
C22.545,2,26,5.541,26,9.909V23.091z"/>
<polygon class="nav_arrow" fill="#F3F6F9" points="13.044,11.551 11.71,12.885 15.714,16.888 11.71,20.891 13.044,22.224 18.379,16.888 17.048,15.554
17.046,15.554 "/>
</svg>
</div>
<!-- Home Slider Dots -->
<div class="home_slider_dots">
<ul id="home_slider_custom_dots" class="home_slider_custom_dots">
<li class="home_slider_custom_dot active"><div></div>01.</li>
<li class="home_slider_custom_dot"><div></div>02.</li>
<li class="home_slider_custom_dot"><div></div>03.</li>
</ul>
</div>
</div>
</div>
<!-- Inclure jQuery (nécessaire pour Owl Carousel) -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
<!-- Inclure le fichier JavaScript de Owl Carousel -->
<script src="https://cdnjs.cloudflare.com/ajax/libs/OwlCarousel2/2.3.4/owl.carousel.min.js"></script>
<script>
$(document).ready(function(){
// Initialisez le carrousel avec Owl Carousel
$('.home_slider').owlCarousel({
loop: true,
items: 1,
autoplay: true,
autoplayTimeout: 5000, // Durée entre chaque diapositive en millisecondes (5 secondes)
autoplayHoverPause: true, // Mettre en pause le carrousel lorsque survolé
nav: true, // Activer les flèches de navigation
dots: true // Activer les points de navigation
});
// Écoutez l'événement 'changed.owl.carousel' pour détecter le changement de diapositive
$('.home_slider').on('changed.owl.carousel', function(event) {
var currentSlide = event.item.index;
var slideCount = event.item.count;
if (currentSlide === slideCount - 1) {
// Si c'est la dernière diapositive, retournez à la première diapositive
$('.home_slider').trigger('to.owl.carousel', [0, 500]);
}
});
});
</script>
</div>
<br><br><br><br><br><br>
<div class="filter">
<div class="container">
<div class="card card-7">
<div class="card-body">
{{ form_start(form,{'attr':{'class':'search_panel_content d-flex flex-wrap align-items-center justify-content-between'}}) }}
<div class="input-group">
<label class="label">Destination</label>
{{ form_widget(form.ville,{'attr':{'class':'input--style-1','style':'font-size:15px;width:100%;border:none'}}) }}
</div>
<div class="input-group">
<label class="label">Départ</label>
{{ form_widget(form.dateDepart,{'attr':{'class':'input--style-1'}}) }}
</div>
<div class="input-group">
<label class="label">Arrivé</label>
{{ form_widget(form.dateArrive,{'attr':{'class':'input--style-1'}}) }}
</div>
<div class="input-group">
<label class="label">Nuitée</label>
{{ form_widget(form.nombreNuits,{'attr':{'class':'input--style-1'}}) }}
</div>
<button type="button" class="btn-submit" data-toggle="modal" data-target="#roomModal">
Ajouter une chambre
</button>
<!-- Modal -->
<div class="modal fade" id="roomModal" tabindex="-1" role="dialog" aria-labelledby="roomModalLabel" aria-hidden="true">
<span class="modal-dialog modal-dialog-centered" role="document">
<span class="modal-content rounded-0">
<span class="modal-content" style="width: 85%;margin-top: 131px;margin-left:30px;">
<span class="modal-body bg-3">
<div class="modal-header" style="border-bottom: none">
<h5 class="modal-title" id="roomModalLabel" style="color: #0093a9;font-size: 22px;margin-left: -30px;font-weight: 700">Chambre et Occupation</h5>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">×</span>
</button>
</div>
<ul class="rooms" data-prototype="{{ form_widget(form.rooms.vars.prototype, {'attr': {'style': 'display:contents;color:black;font-size:18px'}})|e }}">
<div style="display: contents">
{% for roomForm in form.rooms %}
<li class="row room-item">
<span>
<label class="input--style-1" style="color: black">Adultes</label>
{{ form_widget(roomForm.nbadultes, {'attr': {'class': 'input--style-1', 'style': 'border:1px solid black'}}) }}
</span>
<span style="margin-right: 10px;"></span>
<span>
<label class="input--style-1" style="color: black">Enfants</label>
{{ form_widget(roomForm.nbfnfants, {'attr': {'class': 'input--style-1', 'style': 'border:1px solid black'}}) }}
</span>
</li>
{% endfor %}
</div>
</ul>
<div class="modal-footer">
<button type="button" class="btn btn-primary" id="saveButtonModal" style="color: #FFFFFF;background:#ff9100 ">Valider</button>
</div>
</span>
</span>
</span>
</span>
</div>
<button class="btn-submit" type="submit">Voir disponibilité</button>
{{ form_end(form) }}
</div>
</div>
</div>
</div>
<!-- Offers -->
<div class="offers">
<div class="container">
<div class="row">
<div class="col text-center">
<h2 class="section_title">Nos Meilleurs Hôtels en Tunisie</h2>
</div>
</div>
<div class="row offers_items">
{% for h in hotel |slice(0, 4) %}
<!-- Offers Item -->
<div class="col-lg-6 offers_col">
<div class="offers_item">
<div class="row">
<div class="col-lg-6">
<div class="offers_image_container">
<div class="offers_image_background" >
{% for img in h.imageshotels %}
{% if loop.first %}
<img src="{{ asset('./rusticav/public/uploads/hotels/'~img.name) }}" alt="" width="100%" height="100%" />
{% endif %}
{% endfor %}
</div>
<div class="offer_name">{{ h.name }}
</div>
</div>
</div>
<div class="col-lg-6">
<div class="offers_content">
<div class="offers_price">
{% set totalprix = 0 %}
{% if h.hotelrooms is defined and h.hotelrooms|length > 0 %}
{% set firstHotelRoom = h.hotelrooms[0] %}
{% if firstHotelRoom.pricerooms is defined and firstHotelRoom.pricerooms|length > 0 %}
{% set firstPriceRoom = firstHotelRoom.pricerooms[0] %}
{% if firstPriceRoom.price is defined %}
{% set totalprix = totalprix + firstPriceRoom.price %}
{% endif %}
{% endif %}
{% endif %}
{% if h.hotelarrangements is defined and h.hotelarrangements|length > 0 %}
{% set firstHotelArrangements = h.hotelarrangements[0] %}
{% if firstHotelArrangements.pricearrangements is defined and firstHotelArrangements.pricearrangements|length > 0 %}
{% set firstPriceArrangements = firstHotelArrangements.pricearrangements[0] %}
{% if firstPriceArrangements.price is defined %}
{% set totalprix = totalprix + firstPriceArrangements.price %}
{% endif %}
{% endif %}
{% endif %}
<span style="margin-left: 0px">A partir de:</span> {{ totalprix }} TND
</div>
<div class="rating_r rating_r_4 offers_rating" style="color:#b29b63">
{% for i in 1..h.star %}
<img src="{{asset('front/images/etoil.png')}}" class="" alt="...">
{% endfor %}
</div>
<style>
.full-paragraph {
display: none;
}
.short-paragraph {
display: block;
}
</style>
<div class="offer">
<p class="short-paragraph"style="color: black">{{ h.shortdesc|striptags|slice(0, 100) }}{% if h.shortdesc|length > 100 %}...{% endif %}</p>
<p class="full-paragraph" style="display: none;color: black">{{ h.shortdesc|raw }}</p>
<a href="#" class="read-more-link" onclick="toggleParagraph(this); return false;">Suite</a>
</div>
<script>
function toggleParagraph(link) {
var offer = link.closest('.offer');
var shortParagraph = offer.querySelector('.short-paragraph');
var fullParagraph = offer.querySelector('.full-paragraph');
if (shortParagraph.style.display === 'none') {
shortParagraph.style.display = 'block';
fullParagraph.style.display = 'none';
link.innerText = 'Suite';
} else {
shortParagraph.style.display = 'none';
fullParagraph.style.display = 'block';
link.innerText = 'Moins';
}
}
</script>
<div class="offers_icons">
<ul class="offers_icons_list">
<li class="offers_icons_item"><img src="{{ asset('front/images/post.png') }}" alt=""></li>
<li class="offers_icons_item"><img src="{{ asset('front/images/compass.png') }}" alt=""></li>
<li class="offers_icons_item"><img src="{{ asset('front/images/bicycle.png') }}" alt=""></li>
<li class="offers_icons_item"><img src="{{ asset('front/images/sailboat.png') }}" alt=""></li>
</ul>
</div>
<div class="offers_link"><a href="{{ path('detailhotel',{'id':h.id}) }}" class="btn btn-primary" style="color: #FFFFFF;background: #ff9100;border: none">Voir Détails</a></div>
</div>
</div>
</div>
</div>
</div>
{% endfor %}
</div>
</div>
</div>
<div class="cta">
<!-- Image by https://unsplash.com/@thanni -->
<div class="cta_background" style="background-image:url(./front/images/Slider_3.png);opacity: unset ; background-size: cover;background-position: center;width: 100%;"></div>
<div class="container">
<div class="row">
<div class="col">
</div>
</div>
</div>
</div>
<!-- Intro -->
<div class="intro">
<div class="container">
<div class="row">
<div class="col text-center">
<h2 class="section_title" style="font-size: 33px;color: #0093a9">Croisière</h2>
</div>
</div>
<div class="intro">
<div class="container mt-4">
<div class="row intro_items" style="margin-top: -100px; margin-left:20px;">
{% for c in croisiere|slice(0, 3) %}
<div class="col-lg-4 intro_col">
<div class="intro_item" style="width: 90%;height: 400px;box-shadow: 0 16px 38px -12px rgba(0, 0, 0, 0.56), 0 4px 25px 0px rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(0, 0, 0, 0.2);">
<div class="intro_item_overlay" style="background: #301c405c"></div>
<div class="intro_item_background">
{% for img in c.imagescroisieres %}
{% if loop.first %}
<img src="{{ asset('./rusticav/public/uploads/croisieres/'~img.name) }}" alt="" width="100%" height="100%" />
{% endif %}
{% endfor %}
</div>
<div class="intro_item_content d-flex flex-column align-items-center justify-content-center" style="margin-top: 60px;">
<div class="button intro_button" style="margin-bottom: -5px;">
<div class="button_bcg" style="background: #0093a9;"></div>
<a href="{{ path('details', {'croisiereId': c.id}) }}" style="font-size: 14px">
Voir plus<span></span><span></span><span></span>
</a>
</div>
<div class="intro_center text-center">
<a href="{{ path('details', {'croisiereId': c.id}) }}" style="color:#000;font-size: 23px"><h1 style="font-size: 34px;text-transform: uppercase">{{c.name}}</h1></a>
</div>
</div>
</div>
</div>
{% endfor %}
</div>
</div>
<div class="text-right mt-4" style="margin-right: 79px;">
<a href="{{path('app_croisiere')}}" style="color: #0093a9">
Découvrir Nos Croisières <i class="fa fa-angle-double-right"></i>
</a>
</div>
</div>
</div>
<!-- CTA -->
<div class="cta">
<!-- Image by https://unsplash.com/@thanni -->
<div class="cta_background" style="background-image:url(./front/images/Slider_1.png);opacity: unset; background-size: cover;background-position: center;width: 100%;"></div>
<div class="container">
<div class="row">
<div class="col">
</div>
</div>
</div>
</div>
<!-- Intro -->
<div class="intro">
<div class="container">
<div class="row">
<div class="col text-center">
<h2 class="section_title" style="font-size: 33px;color: #0093a9">Voyages Organisés</h2>
</div>
</div>
<div class="intro">
<div class="container mt-4">
<div class="row intro_items" style="margin-top: -62px; margin-left:20px;">
{% for s in sejour|slice(0, 3) %}
<div class="col-lg-4 intro_col">
<div class="intro_item" style="width: 90%;height: 400px;box-shadow: 0 16px 38px -12px rgba(0, 0, 0, 0.56), 0 4px 25px 0px rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(0, 0, 0, 0.2);">
<div class="intro_item_overlay" style="background: #301c405c"></div>
<div class="intro_item_background">
{% for img in s.imageSejours %}
{% if loop.first %}
<img src="{{ asset('./rusticav/public/uploads/sejours/'~img.name) }}" alt="" width="100%" height="100%" />
{% endif %}
{% endfor %}
</div>
<div class="intro_item_content d-flex flex-column align-items-center justify-content-center" style="margin-top: 60px;">
<div class="intro_date" style="background-color:#ff9100; top: 74px;font-size: 12px;font-weight: 700"> {{s.dated|date("d-m-Y")}} Au {{s.datef|date("d-m-Y")}}</div>
<div class="button intro_button" style="margin-bottom: -5px;">
<div class="button_bcg" style="background: #0093a9;"></div>
<a href="{{ path('detailsejour', {'id': s.id}) }}" style="font-size: 14px">
Voir plus<span></span><span></span><span></span>
</a>
</div>
<div class="intro_center text-center">
<a href="{{ path('detailsejour', {'id': s.id}) }}" style="color:#000;font-size: 23px"><h1 style="font-size: 34px;text-transform: uppercase">{{s.titre}}</h1></a>
<div class="intro_price" style="font-weight: 600;font-size: 20px">À partir de <strong>{{s.prix + s.marge}} TND</strong> </div>
</div>
</div>
</div>
</div>
{% endfor %}
</div>
</div>
<div class="text-right mt-4" style="margin-right: 79px;">
<a href="{{path('app_sejour')}}" style="color: #0093a9">
Découvrir Nos Voyages Organisés <i class="fa fa-angle-double-right"></i>
</a>
</div>
</div>
</div>
<!-- CTA -->
{# <div class="cta">
<!-- Image by https://unsplash.com/@thanni -->
<div class="cta_background" style="background-image:url(./front/images/Slider_2.png);opacity: unset; background-size: cover;background-position: center;width: 100%;height: 128%;margin-top: 0px;"></div>
<div class="container">
<div class="row">
<div class="col">
</div>
</div>
</div>
</div>
<div class="intro">
<div class="container">
<div class="row" style="margin-top:50px;">
<div class="col text-center">
<h2 class="section_title" style="font-size: 33px;color: #0093a9">Circuits & Excursions en Tunisie</h2>
</div>
</div>
<div class="intro">
<div class="container mt-4">
<div class="row intro_items" style="margin-top: -62px; margin-left:20px;">
{% for c in circuit|slice(0, 3) %}
<div class="col-lg-4 intro_col">
<div class="intro_item" style="width: 90%;height: 400px;box-shadow: 0 16px 38px -12px rgba(0, 0, 0, 0.56), 0 4px 25px 0px rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(0, 0, 0, 0.2);">
<div class="intro_item_overlay" style="background: #301c405c"></div>
<div class="intro_item_background">
{% for img in c.imagescircuits %}
{% if loop.first %}
<img src="{{ asset('./rusticav/public/uploads/circuits/'~img.name) }}" alt="" width="100%" height="100%" />
{% endif %}
{% endfor %}
</div>
<div class="intro_item_content d-flex flex-column align-items-center justify-content-center" style="margin-top: 60px;">
<div class="intro_date" style="background-color:#ff9100; top: 74px;font-size: 12px;font-weight: 700"> {{c.dated|date("d-m-Y")}} Au {{c.datef|date("d-m-Y")}}</div>
<div class="button intro_button" style="margin-bottom: -5px;">
<div class="button_bcg" style="background: #0093a9;"></div>
<a href="{{ path('detailcircuit', {'id': c.id}) }}" style="font-size: 14px">
Voir plus<span></span><span></span><span></span>
</a>
</div>
<div class="intro_center text-center">
<a href="{{ path('detailcircuit', {'id': c.id}) }}" style="color:#000;font-size: 23px"><h1 style="font-size: 34px;text-transform: uppercase">{{c.libelle}}</h1></a>
<div class="intro_price" style="font-weight: 600;font-size: 20px">À partir de <strong>{{c.prix + c.marge}} TND</strong> </div>
</div>
</div>
</div>
</div>
{% endfor %}
</div>
</div>
<div class="text-right mt-4" style="margin-right: 79px;">
<a href="{{path('app_circuit')}}" style="color: #0093a9">
Découvrir Nos Circuits <i class="fa fa-angle-double-right"></i>
</a>
</div>
</div>
</div>
</div> #}
<section class="client">
<div class="container">
<div class="row">
<div class="col text-center">
<h2 class="section_title" style="font-size: 33px;color: #0093a9">Nos Partenaires</h2>
</div>
</div>
<div class="row">
<div class="col text-center">
<div class="carousel-client">
<div class="slide">
<img src="{{ asset('front/images/logo_starcroisieres.svg') }}" style="margin-top: 15px">
</div>
<div class="slide">
<img src="{{ asset('front/images/msc.webp') }}">
</div>
<div class="slide">
<img src="{{ asset('front/images/costa.webp') }}">
</div>
<div class="slide">
<img src="{{ asset('front/images/rccl.webp') }}">
</div>
<div class="slide">
<img src="{{ asset('front/images/ponant.webp') }}">
</div>
<div class="slide">
<img src="{{ asset('front/images/celestyal.webp') }}">
</div>
</div>
</div>
</div>
</div>
</section>
{% block javascripts %}
{{ parent() }}
<script src="https://code.jquery.com/jquery-3.6.4.min.js"></script>
<script>
$(document).ready(function() {
// Mettre à jour le champ "nombre de nuit" lorsqu'une date d'arrivée est saisie
$('#{{ form.dateArrive.vars.id }}').change(function() {
var datef = new Date($(this).val());
var dated = new Date($('#{{ form.dateDepart.vars.id }}').val());
if (!isNaN(datef.getTime()) && !isNaN(dated.getTime())) {
var diff = Math.ceil((datef - dated) / (1000 * 60 * 60 * 24));
$('#{{ form.nombreNuits.vars.id }}').val(diff);
}
});
});
</script>
{% endblock %}
<script>
$(document).ready(function () {
var $collectionHolder = $('ul.rooms');
$collectionHolder.data('index', $collectionHolder.find(':input').length);
$collectionHolder.find('li').each(function () {
addRemoveButton($(this));
});
var $addRoomButton = $('<button type="button" class="add-room" style="color: #0093a9;margin-top: 19px;border: none">Ajouter une chambre</button>');
var $newLinkLi = $('<li class="row room-item"></li>').append($addRoomButton);
$collectionHolder.append($newLinkLi);
$addRoomButton.on('click', function (e) {
addRoomForm($collectionHolder, $newLinkLi);
});
function addRoomForm($collectionHolder, $newLinkLi) {
var prototype = $collectionHolder.data('prototype');
var index = $collectionHolder.data('index');
var newForm = prototype;
newForm = newForm.replace(/__name__/g, index);
$collectionHolder.data('index', index + 1);
var $newFormLi = $('<li class="row room-item"></li>').append(newForm);
$newFormLi.find('input').each(function () {
var $input = $(this);
var name = $input.attr('name');
var $select = createDropdown(name);
$input.replaceWith($select);
});
$newLinkLi.before($newFormLi);
addRemoveButton($newFormLi);
// Ajouter un gestionnaire d'événements pour les nouveaux éléments ajoutés
$newFormLi.find('.remove-room').on('click', function () {
$newFormLi.remove();
});
}
function createDropdown(name) {
var $select = $('<select class="input--style-1" style="border: 1px solid black" name="' + name + '"></select>');
for (var i = 0; i <= 5; i++) {
$select.append('<option value="' + i + '">' + i + '</option>');
}
return $select;
}
function addRemoveButton($formLi) {
var $removeRoomButton = $('<button type="button" class="remove-room" style="margin-left: 20px"><i class="fa fa-trash"></i></button>');
$formLi.append($removeRoomButton);
$removeRoomButton.on('click', function (e) {
$formLi.remove();
});
}
function displayChoices() {
var roomValues = [];
// Récupérer les valeurs de chaque chambre
$('ul.rooms li.row.room-item').each(function () {
var nbadultes = $(this).find('select[name*="[nbadultes]"]').val() || 0;
var nbfnfants = $(this).find('select[name*="[nbfnfants]"]').val() || 0;
roomValues.push({
'nbadultes': nbadultes,
'nbfnfants': nbfnfants
});
// Ajouter d'autres lignes pour d'autres champs de la chambre si nécessaire
});
// Mettre à jour le contenu de l'élément avec les résultats
var resultsContainer = $('#results-container');
resultsContainer.empty();
if (roomValues.length >=1 ) {
// Construire le HTML pour afficher les résultats
for (var i = 1; i < roomValues.length; i++) {
resultsContainer.append('<p>Room ' + (i) + ': Adults - ' + roomValues[i].nbadultes + ', Children - ' + roomValues[i].nbfnfants + '</p>');
// Ajouter d'autres lignes pour d'autres champs de la chambre si nécessaire
}
} else {
// Afficher un message si aucun résultat n'est trouvé
resultsContainer.html('<p>Aucun résultat trouvé.</p>');
}
// Masquer la fenêtre modale après avoir affiché les résultats
$('#roomModal').modal('hide');
}
// Associer la fonction displayChoices au clic sur le bouton "Enregistrer"
$('#roomModal').on('click', '.btn-primary', function () {
displayChoices();
});
});
</script>
<script src="https://code.jquery.com/jquery-2.2.4.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/bxslider/4.2.5/jquery.bxslider.js"></script>
<script>
$('.carousel-client').bxSlider({
auto: true,
slideWidth: 234,
minSlides: 1,
maxSlides: 6,
controls: false
});
</script>
<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/OwlCarousel2/2.3.4/owl.carousel.min.js"></script>
</div>
</div>
{% endblock %}