{% extends 'base.html.twig' %}
{% block stylesheets %}
<link href="{{ asset('front/plugins/colorbox/colorbox.css') }}" rel="stylesheet" type="text/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 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/about_style.css') }}">
<link rel="stylesheet" type="text/css" href="{{ asset('front/style/about_responsive.css') }}">
<style>
.carousel {
position: relative;
}
.carousel-item img {
object-fit: cover;
}
#carousel-thumbs {
background: rgba(255,255,255,.3);
bottom: 0;
left: 0;
padding: 0 50px;
right: 0;
}
#carousel-thumbs img {
border: 5px solid transparent;
cursor: pointer;
}
#carousel-thumbs img:hover {
border-color: rgba(255,255,255,.3);
}
#carousel-thumbs .selected img {
border-color: #fff;
}
.carousel-control-prev,
.carousel-control-next {
width: 50px;
}
@media all and (max-width: 767px) {
.carousel-container #carousel-thumbs img {
border-width: 3px;
}
.single-pricing{
width:115% !important;
margin-left: -18px;
}
p {
font-size: 12px !important;
}
}
@media all and (min-width: 576px) {
.carousel-container #carousel-thumbs {
position: absolute;
}
}
@media all and (max-width: 576px) {
.carousel-container #carousel-thumbs {
background: #ccccce;
}
}
.offers_item{
position: relative;
width: 205%;
overflow: hidden;
box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24);
transition: all 300ms;
margin-bottom: 30px;
border-radius: 20px;
color: rgba(0, 0, 0, 0.87);
background: #fff;
}
.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);
}
.latest_posts_container {
margin: 35px;
}
.hotel_location {
font-size: 24px;
color: #929191;
margin-top: 9px;
font-weight: 700;
}
/*price style*/
.pricing-content{}
.single-pricing{
background:#fff;
margin-top: 25px;
width: 255%;
padding:40px 20px;
border-radius:5px;
position:relative;
z-index:2;
border:1px solid #d8d5d5;
box-shadow: 0 10px 40px -10px rgba(0,64,128,.09);
transition:0.3s;
}
@media only screen and (max-width:480px) {
.single-pricing {margin-bottom:30px;}
}
.single-pricing:hover{
box-shadow:0px 60px 60px rgba(0,0,0,0.1);
z-index:100;
transform: translate(0, -10px);
}
.price-label {
color: #fff;
background: #ff9100;
font-size: 16px;
width: 100px;
margin-bottom: 15px;
display: block;
-webkit-clip-path: polygon(100% 0%, 90% 50%, 100% 100%, 0% 100%, 0 50%, 0% 0%);
clip-path: polygon(100% 0%, 90% 50%, 100% 100%, 0% 100%, 0 50%, 0% 0%);
margin-left: -20px;
position: absolute;
}
.price-head h2 {
font-weight: 600;
margin-bottom: 0px;
text-transform: capitalize;
font-size: 35px;
}
.price-head span {
display: inline-block;
background:#ff9100;
width: 6px;
height: 6px;
border-radius: 30px;
margin-bottom: 20px;
margin-top: 15px;
}
.price {
font-weight: 500;
font-size: 50px;
margin-bottom: 0px;
}
.single-pricing{}
.single-pricing h5 {
font-size: 14px;
margin-bottom: 0px;
text-transform: uppercase;
}
.single-pricing ul{
list-style: none;
margin-bottom: 20px;
margin-top: 30px;
}
.single-pricing ul li{line-height: 35px;}
.single-pricing button {
background:#ff9100;
border: 2px solid #ff9100;
border-radius: 5000px;
color: white;
display: inline-block;
font-size: 16px;
width: -webkit-fill-available;
overflow: hidden;
padding:10px 45px;
text-transform: capitalize;
transition: all 0.3s ease 0s;
}
.single-pricing button:hover, .single-pricing a:focus{
background:#ff9100;
color: #ffffff;
border: 2px solid #ff9100;
}
.single-pricing-white{background: #5b0909
}
.single-pricing-white ul li{color:#fff;}
.single-pricing-white h2{color:#fff;}
.single-pricing-white h1{color:#fff;}
.single-pricing-white h5{color:#fff;}
/*breadcrumb style*/
.hm-gradient {
background-image: linear-gradient(to top, #f3e7e9 0%, #e3eeff 99%, #e3eeff 100%);
}
.darken-grey-text {
color: #2E2E2E;
}
.bc-icons .breadcrumb-item + .breadcrumb-item::before {
content: none; }
.bc-icons .breadcrumb-item.active {
color: #eeeeee; }
.bc-icons-2 .breadcrumb-item + .breadcrumb-item::before {
content: none; }
.bc-icons-2 .breadcrumb-item.active {
color: #455a64; }
.light-font .breadcrumb-item + .breadcrumb-item::before {
color: #fff; }
.light-font .breadcrumb-item.active {
color: #cfd8dc; }
.dark-font .breadcrumb-item + .breadcrumb-item::before {
color: #000; }
.dark-font .breadcrumb-item.active {
color: #455a64; }
.breadcrumb{
background-color: transparent;
}
.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;
}
</style>
{% endblock %}
{% block body %}
<!-- Home -->
<div class="home" style="height: 100px"></div>
<!-- Blog -->
<div class="blog">
<div class="container">
<div class="row">
<!-- Grid column -->
<div class="col-md-12">
<div class="card p-3" style="border: none;">
<div class="card-block" style="width: 500px;height: 50px;margin-left: -35px">
<div class="bc-icons-2">
<ol class="breadcrumb blue-grey lighten-4">
<li class="breadcrumb-item"><a class="black-text" href="{{path('app_home')}}" style="font-weight: 600;font-size: 16px;color:#d7000e"><i class="fa fa-home" aria-hidden="true"></i></a><i class="fa fa-angle-double-right mx-2" aria-hidden="true"></i></li>
<li class="breadcrumb-item"><a class="black-text" href="{{path('app_sejour')}}" style="font-weight: 600;font-size: 16px;color:#d7000e">Voyages Organisés</a><i class="fa fa-angle-double-right mx-2" aria-hidden="true"></i></li>
<li class="breadcrumb-item active" style="font-weight: 600;font-size: 16px">{{ vo.titre }}</li>
</ol>
</div>
</div>
</div>
</div>
<!-- Grid column -->
</div>
<div class="row">
<div class="col-lg-8">
<div class="blog_post_container">
<div class="hotel_title_container d-flex flex-lg-row flex-column">
<div class="hotel_title_content">
{% set total = vo.prix + vo.marge %}
<h1 class="hotel_title" style="color: #0093a9"><strong><i class="fa fa-map-marker"></i> Voyage organisé à {{vo.titre}}</h1></strong>
<div class="hotel_location" style="color: #d7000e">à partir de {{total}} TND</div>
</div>
</div>
<div class="blog_post">
<div class="blog_post_image">
<div class="container mt-5">
<div class="carousel-container position-relative row">
<div id="myCarousel" class="carousel slide" data-ride="carousel">
<div class="carousel-inner">
{% for img in vo.imageSejours %}
<div class="carousel-item {{ loop.first ? 'active' }}">
<img src="{{ asset('./rusticav/public/uploads/sejours/'~img.name) }}" class="d-block w-100 img-fluid" alt="..." style="height:448px;width: 750px!important;" data-type="image" data-toggle="lightbox" data-gallery="example-gallery">
</div>
{% endfor %}
</div>
</div>
<!-- Carousel Navigation -->
<div id="carousel-thumbs" class="carousel slide" data-ride="carousel">
<div class="carousel-inner">
<div class="carousel-item active">
<div class="row mx-0" style="display:flex;justify-content: center;align-items: center;">
{% for img in vo.imageSejours %}
<div id="carousel-selector-{{ loop.index0 }}" class="thumb col-4 col-sm-2 px-1 py-2 selected" data-target="#myCarousel" data-slide-to="{{ loop.index0 }}">
<img src="{{ asset('./rusticav/public/uploads/sejours/'~img.name) }}" style="width: 100px; height: 65px" class="img-fluid" alt="...">
</div>
{% endfor %}
</div>
</div>
</div>
<a class="carousel-control-prev" href="#carousel-thumbs" role="button" data-slide="prev">
<span class="carousel-control-prev-icon" aria-hidden="true"></span>
<span class="sr-only">Previous</span>
</a>
<a class="carousel-control-next" href="#carousel-thumbs" role="button" data-slide="next">
<span class="carousel-control-next-icon" aria-hidden="true"></span>
<span class="sr-only">Next</span>
</a>
</div>
</div> <!-- /row -->
</div> <!-- /container -->
</div>
<div class="blog_post_meta">
<ul>
<li class="blog_post_meta_item"><a href="" style="color: black"><i class="fa fa-map-marker"></i> {{ vo.titre }}</a></li>
<li class="blog_post_meta_item"><a href="" style="color: black"><i class="fa fa-clock-o"></i> Durée : {{vo.dureesej}} Jours /{{vo.dureesej-1 }} Nuits</a></li>
</ul>
</div>
{# <div class="offers_item" style="width:100%;margin-top:20px;"> #}
<div class="blog_post_meta" style="margin-left: 22px;margin-right: 22px;">
<ul>
{{vo.description|raw}}
</ul>
</div>
{# </div> #}
<div class="container">
<div class="packs-container">
<br><br>
{% for pack, packData in dataByPack %}
{% set isFirstPack = loop.first %}
<input type="radio" name="packSelector" id="{{ pack }}" value="{{ pack }}" {% if isFirstPack %}checked{% endif %}>
<label for="{{ pack }}">{{ pack }}</label>
<div class="date-ranges">
{% for dateRange in packData.dateRanges %}
<label class="date-label">
<input
type="radio"
name="dateRanges"
value="{{ dateRange.dated }}-{{ dateRange.datef }}"
data-tarifbb="{{ dateRange.tarifbb }}"
data-tarifenf252="{{ dateRange.tarifenf252 }}"
data-tarifenf6112="{{ dateRange.tarifenf6112 }}"
data-tarifenf25="{{ dateRange.tarifenf25 }}"
data-tarifenf611="{{ dateRange.tarifenf611 }}"
data-demandebb="{{ dateRange.demandebb }}"
data-demande252="{{ dateRange.demande252 }}"
data-demande6112="{{ dateRange.demande6112}}"
data-demande25="{{ dateRange.demande25 }}"
data-demande611="{{ dateRange.demande611}}"
data-roomdata="{{ dateRange.roomData | json_encode }}"
{% if isFirstPack and loop.index == 1 %}checked{% endif %}
>
{{ dateRange.dated }} - {{ dateRange.datef }}
</label>
<br>
{% endfor %}
</div>
{% endfor %}
</div>
<div id="selectedData" class="selected-data">
<section id="pricing" class="pricing-content section-padding">
<div class="container">
<div class="row text-center">
<div class="col-lg-4 col-sm-4 col-xs-12 wow fadeInUp" data-wow-duration="1s" data-wow-delay="0.2s" data-wow-offset="0">
<div class="single-pricing">
<div class="price-head">
<h2 id="selectedPackTitle" style="color: #0093a9"></h2>
<span></span>
<span></span>
<span></span>
<span></span>
<span></span>
<span></span>
</div>
<ul>
<li id="chambreInfo"></li>
<li style="font-size: 17px;font-weight: 600;color: #635959;text-align: justify">
<li id="tarifBebeContainer" style="font-size: 17px;font-weight: 600;color: #635959;text-align: justify; display: none;">
Tarif bébé <strong id="tarifbb" style="float: right;margin-right: 25px;"></strong>
</li>
<li id="tarifenf252Container" style="font-size: 17px;font-weight: 600;color: #635959;text-align: justify; display: none;">
Enfant entre 2.00 et 5.99 dans la chambre des parents <strong id="tarifenf252" style="float: right;margin-right: 25px;"></strong>
</li>
<li id="tarifenf6112Container" style="font-size: 17px;font-weight: 600;color: #635959;text-align: justify; display: none;">
Enfant entre 6.00 et 11.99 dans la chambre des parents <strong id="tarifenf6112" style="float: right;margin-right: 25px;"></strong>
</li>
<li id="tarifenf25Container" style="font-size: 17px;font-weight: 600;color: #635959;text-align: justify; display: none;">
Enfant entre 2.00 et 5.99 en chambre séparée <strong id="tarifenf25" style="float: right;margin-right: 25px;"></strong>
</li>
<li id="tarifenf611Container" style="font-size: 17px;font-weight: 600;color: #635959;text-align: justify; display: none;">
Enfant entre 6.00 et 11.99 en chambre séparée <strong id="tarifenf611" style="float: right;margin-right: 25px;"></strong>
</li>
</li>
</ul>
{# <button id="redirectButton" onclick="redirectToNewPage({{ vo.id }})">Réserver</button> #}
<form id="reservationForm" method="post" action="{{ path('nouvelle_page',{'sejourId':vo.id}) }}" >
<input type="hidden" id="tarifbbInput" name="tarifbb">
<input type="hidden" id="tarifenf252Input" name="tarifenf252">
<input type="hidden" id="tarifenf6112Input" name="tarifenf6112">
<input type="hidden" id="tarifenf25Input" name="tarifenf25">
<input type="hidden" id="tarifenf611Input" name="tarifenf611">
<input type="hidden" id="roomDataInput" name="roomData">
<input type="hidden" id="selectedPackInput" name="selectedPack">
<input type="hidden" id="selectedDateInput" name="selectedDate">
<!-- Ajoutez d'autres champs au besoin -->
<button type="submit" id="redirectButton" onclick="redirectToNewPage({{ vo.id }})">Réserver</button>
</form>
</div>
</div><!--- END COL -->
</div>
</div>
</section>
</div>
</div>
<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
<script>
$(document).ready(function () {
// Sélectionnez le premier pack et sa première date par défaut
var firstPackRadio = $('input[name="packSelector"]:first-child');
var firstDateRadio = firstPackRadio.closest('form').find('input[name="dateRanges"]:first-child');
firstPackRadio.prop('checked', true);
firstDateRadio.prop('checked', true);
// Ajoutez un événement "change" manuel pour déclencher l'affichage des données sélectionnées
firstDateRadio.trigger('change');
// Affichez les informations sélectionnées du premier date de la première pack lors du chargement
displaySelectedData();
});
var packRadios = $('input[name="packSelector"]');
var dateRadios = $('input[name="dateRanges"]');
var selectedDataDiv = $('#selectedData');
// Fonction pour afficher les informations sélectionnées
function displaySelectedData() {
var selectedPackRadio = $('input[name="packSelector"]:checked');
if (selectedPackRadio.length > 0) {
// Récupérez le nom du pack sélectionné
var selectedPack = selectedPackRadio.val();
// Affichez le nom du pack dans le titre
$('#selectedPackTitle').text(selectedPack);
var selectedRadioButton = $('input[name="dateRanges"]:checked');
if (selectedRadioButton.length > 0) {
var tarifbb = selectedRadioButton.data('tarifbb');
var tarifenf252 = selectedRadioButton.data('tarifenf252');
var tarifenf6112 = selectedRadioButton.data('tarifenf6112');
var tarifenf25 = selectedRadioButton.data('tarifenf25');
var tarifenf611 = selectedRadioButton.data('tarifenf611');
var roomData = selectedRadioButton.data('roomdata');
var dated = selectedRadioButton.data('dated');
var datef = selectedRadioButton.data('datef');
var demandebb = selectedRadioButton.data('demandebb');
var demande252 = selectedRadioButton.data('demande252');
var demande6112 = selectedRadioButton.data('demande6112');
var demande25 = selectedRadioButton.data('demande25');
var demande611 = selectedRadioButton.data('demande611');
tarifbb = tarifbb === "" || parseFloat(tarifbb) === 0 ? "Sur demande" : parseFloat(tarifbb).toFixed(3) + ' TND';
// Affichez le tarif BB dans le span
$('#tarifbb').text(tarifbb);
tarifenf252 = tarifenf252 === "" || parseFloat(tarifenf252) === 0 ? "Sur demande" : parseFloat(tarifenf252).toFixed(3) + ' TND';
// Affichez le tarif 252 dans le span
$('#tarifenf252').text(tarifenf252);
tarifenf6112 = tarifenf6112 === "" || parseFloat(tarifenf6112) === 0 ? "Sur demande" : parseFloat(tarifenf6112).toFixed(3) + ' TND';
// Affichez le tarif 6112 dans le span
$('#tarifenf6112').text(tarifenf6112);
tarifenf25 = tarifenf25 === "" || parseFloat(tarifenf25) === 0 ? "Sur demande" : parseFloat(tarifenf25).toFixed(3) + ' TND';
// Affichez le tarif 25 dans le span
$('#tarifenf25').text(tarifenf25);
tarifenf611 = tarifenf611 === "" || parseFloat(tarifenf611) === 0 ? "Sur demande" : parseFloat(tarifenf611).toFixed(3) + ' TND';
// Affichez le tarif 611 dans le span
$('#tarifenf611').text(tarifenf611);
// Affichez les informations sur les chambres dans la div
var chambreInfoDiv = $('#chambreInfo');
chambreInfoDiv.empty().append('<p> </p>');
$.each(roomData, function (chambreName, room) {
chambreInfoDiv.append('<p style="font-size: 15px;font-weight: 600;color: #635959;text-align: justify">Adulte en ' + chambreName +'<strong style="float: right;margin-right: 25px;font-size:15px">'+ '<strong> ' + room.price.toFixed(3) + ' TND</strong>'+'</span>'+ '</p>');
});
// Affichez ou masquez la ligne "Tarif bébé" en fonction de la valeur de demandebb
if (demandebb) {
$('#tarifBebeContainer').show();
} else {
$('#tarifBebeContainer').hide();
}
// Affichez ou masquez la ligne "Tarif 252" en fonction de la valeur de demandebb
if (demande252) {
$('#tarifenf252Container').show();
} else {
$('#tarifenf252Container').hide();
}
// Affichez ou masquez la ligne "Tarif 6112" en fonction de la valeur de demandebb
if (demande6112) {
$('#tarifenf6112Container').show();
} else {
$('#tarifenf6112Container').hide();
}
// Affichez ou masquez la ligne "Tarif 25" en fonction de la valeur de demandebb
if (demande25) {
$('#tarifenf25Container').show();
} else {
$('#tarifenf25Container').hide();
}
// Affichez ou masquez la ligne "Tarif 611" en fonction de la valeur de demandebb
if (demande611) {
$('#tarifenf611Container').show();
} else {
$('#tarifenf611Container').hide();
}
// Affichez les dates dans la div
$('#dated').text(dated);
$('#datef').text(datef);
}
}
}
// Ajoutez un écouteur d'événements pour les changements d'état des boutons radio du sélecteur de pack
packRadios.on('change', function () {
deselectOtherDates();
displaySelectedData();
});
// Ajoutez un écouteur d'événements pour les changements d'état des boutons radio
dateRadios.on('change', displaySelectedData);
// Ajoutez un écouteur d'événements pour le bouton de redirection
$('#redirectButton').on('click', function () {
redirectToNewPage({{ vo.id }});
});
// Fonction pour désélectionner les autres dates de toutes les classes
function deselectOtherDates() {
dateRadios.prop('checked', false);
}
// Fonction pour rediriger vers la nouvelle page
function redirectToNewPage(sejourId) {
var selectedRadioButton = $('input[name="dateRanges"]:checked');
if (selectedRadioButton.length > 0) {
var tarifbb = selectedRadioButton.data('tarifbb');
var tarifenf252 = selectedRadioButton.data('tarifenf252');
var tarifenf6112 = selectedRadioButton.data('tarifenf6112');
var tarifenf25 = selectedRadioButton.data('tarifenf25');
var tarifenf611 = selectedRadioButton.data('tarifenf611');
var roomData = selectedRadioButton.data('roomdata');
var selectedPack = $('input[name="packSelector"]:checked').val();
var selectedDate = selectedRadioButton.val();
// Remplissez les champs du formulaire avec les données sélectionnées
$('#tarifbbInput').val(tarifbb);
$('#tarifenf252Input').val(tarifenf252);
$('#tarifenf6112Input').val(tarifenf6112);
$('#tarifenf25Input').val(tarifenf25);
$('#tarifenf611Input').val(tarifenf611);
$('#roomDataInput').val(JSON.stringify(roomData));
$('#selectedPackInput').val(selectedPack);
$('#selectedDateInput').val(selectedDate);
// Soumettez le formulaire
$('#reservationForm').submit();
}
}
{# function redirectToNewPage(sejourId) {
// Récupérez les informations sélectionnées
var selectedRadioButton = $('input[name="dateRanges"]:checked');
if (selectedRadioButton.length > 0) {
var tarifbb = selectedRadioButton.data('tarifbb');
var roomData = selectedRadioButton.data('roomdata');
var selectedPack = $('input[name="packSelector"]:checked').val();
var selectedDate = selectedRadioButton.val();
// Créez un formulaire dynamique
var form = document.createElement('form');
form.setAttribute('method', 'post');
form.setAttribute('action', '/nouvelle-page/' + sejourId);
// Ajoutez des champs pour les données
addHiddenField(form, 'tarifbb', tarifbb);
addHiddenField(form, 'roomData', JSON.stringify(roomData));
addHiddenField(form, 'selectedPack', selectedPack);
addHiddenField(form, 'selectedDate', selectedDate);
// Ajoutez d'autres champs au besoin
// Ajoutez le formulaire à la page et soumettez-le
document.body.appendChild(form);
form.submit();
}
} #}
// Fonction pour ajouter un champ caché au formulaire
function addHiddenField(form, name, value) {
var input = document.createElement('input');
input.setAttribute('type', 'hidden');
input.setAttribute('name', name);
input.setAttribute('value', value);
form.appendChild(input);
}
</script>
</div>
</div>
</div>
<!-- Blog Sidebar -->
<div class="col-lg-4 sidebar_col">
<!-- Sidebar Latest Posts -->
<div class="sidebar_latest_posts">
<div class="offers_item" style="width: 110%;">
<div class="sidebar_title text-center" style="color: white;font-size: 21px;margin: 36px;background: #ff9100">Voyages à la une</div>
<div class="latest_posts_container">
<ul>
{% for v in sejour %}
{% if v.id != vo.id and loop.index <= 5 %}
<li class="latest_post clearfix">
<div class="latest_post_image">
<a href="#">
{% for img in v.imageSejours %}
{% if loop.first %}
<img src="{{ asset('./rusticav/public/uploads/sejours/'~img.name) }}" alt="" style="width: 85px; height: 65px" />
{% endif %}
{% endfor %}
</a>
</div>
<div class="latest_post_content">
<div class="latest_post_title trans_200" style="color: black">
<i class="fa fa-map-marker"></i>
{{ v.titre }}
</div>
<div class="latest_post_title trans_200" style="color: black">
<i class="fa fa-clock-o"></i>
{{v.dureesej}} jours / {{v.dureesej-1}} Nuits
</div>
<div class="latest_post_title trans_200">
<a href="{{ path('detailsejour', {'id': v.id}) }}" style="color: #d7000e;font-size: 16px;font-weight: 700">Voir détails <i class="fa fa-angle-double-right" aria-hidden="true"></i>
</a>
</div>
</div>
</li>
{% endif %}
{% endfor %}
</ul>
</div>
</div>
<div class="offers_item" style="width:110%;">
<div class="blog_post_text" style="margin-left:13px;">
<p style="font-size: 18px">{{vo.serviceinclus|raw}}</p>
</div></div>
<div class="offers_item" style="width:110%;">
<div class="blog_post_text"style="margin-left:13px;">
<p style="font-size: 18px">{{vo.servicenoninclus|raw}}</p>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
{% endblock %}
{% block javascripts %}
<script type="text/javascript" src="https://code.jquery.com/jquery-2.1.1.min.js"></script>
<script>
$('#myCarousel').carousel({
interval: false
});
$('#carousel-thumbs').carousel({
interval: false
});
$('[id^=carousel-selector-]').click(function() {
var id_selector = $(this).attr('id');
var id = parseInt( id_selector.substr(id_selector.lastIndexOf('-') + 1) );
$('#myCarousel').carousel(id);
});
// Only display 3 items in nav on mobile.
if ($(window).width() < 575) {
$('#carousel-thumbs .row div:nth-child(4)').each(function() {
var rowBoundary = $(this);
$('<div class="row mx-0">').insertAfter(rowBoundary.parent()).append(rowBoundary.nextAll().addBack());
});
$('#carousel-thumbs .carousel-item .row:nth-child(even)').each(function() {
var boundary = $(this);
$('<div class="carousel-item">').insertAfter(boundary.parent()).append(boundary.nextAll().addBack());
});
}
// Hide slide arrows if too few items.
if ($('#carousel-thumbs .carousel-item').length < 2) {
$('#carousel-thumbs [class^=carousel-control-]').remove();
$('.machine-carousel-container #carousel-thumbs').css('padding','0 5px');
}
// when the carousel slides, auto update
$('#myCarousel').on('slide.bs.carousel', function(e) {
var id = parseInt( $(e.relatedTarget).attr('data-slide-number') );
$('[id^=carousel-selector-]').removeClass('selected');
$('[id=carousel-selector-'+id+']').addClass('selected');
});
// when user swipes, go next or previous
$('#myCarousel').swipe({
fallbackToMouseEvents: true,
swipeLeft: function(e) {
$('#myCarousel').carousel('next');
},
swipeRight: function(e) {
$('#myCarousel').carousel('prev');
},
allowPageScroll: 'vertical',
preventDefaultEvents: false,
threshold: 75
});
$('#myCarousel .carousel-item img').on('click', function(e) {
var src = $(e.target).attr('data-remote');
if (src) $(this).ekkoLightbox();
});
</script>
{% endblock %}