templates/default/continent.html.twig line 1

Open in your IDE?
  1. {# templates/escapade/show.html.twig #}
  2. {% extends 'base.html.twig' %}
  3. {% block title %}O'Continent — {% endblock %}
  4. {# Header standard ou overlay si besoin sur le hero #}
  5. {% block header_classes %}header-overlay{% endblock %}
  6. {% block navbar_theme %}navbar-dark{% endblock %}
  7. {% block body %}
  8. {# -----------------------------
  9.    HERO Escapade (avec inclus)
  10. ------------------------------ #}
  11. <section class="position-relative text-white">
  12.   <div class="ratio ratio-21x9">
  13.     <img src="{{ asset('img/escapade/banner.jpg') }}" alt="Carnaval St Lucie" class="object-fit-cover w-100 h-100">
  14.   </div>
  15.   <div class="position-absolute top-0 start-0 w-100 h-100 d-flex align-items-center">
  16.     <div class="container">
  17.       <div class="bg-white text-dark p-4 p-md-5 rounded-4 shadow-sm" style="max-width: 600px;">
  18.         <h1 class="display-5 fw-bold txt-ot-green mb-3" style="margin:0 !important">{{continent.name}}</h1>
  19.         <p class="mb-3">{{continent.subtitle}}</p>
  20.       </div>
  21.     </div>
  22.   </div>
  23. </section>
  24. {# Fil d'Ariane #}
  25. <nav class="container my-4" aria-label="breadcrumb">
  26.   <ol class="breadcrumb small">
  27.     <li class="breadcrumb-item"><a href="{{ path('app') }}">Accueil</a></li>
  28.     <li class="breadcrumb-item active" aria-current="page">Continent</li>
  29.     <li class="breadcrumb-item active" aria-current="page">{{ continent.name }}</li>
  30.   </ol>
  31. </nav>
  32. {# -----------------------------
  33.    OFFRES DU MOMENT — réutilisation grille cartes maquette
  34. ------------------------------ #}
  35. <section class="py-5 bg-white">
  36.   <div class="container">
  37.     <div class="text-center mb-5">
  38.     {% if continent.id == 1 %}
  39.       <h2 class="h3 text-ot-green mb-1 fw-bold">Explorez l'{{ continent.name }} autrement</h2>
  40.       <p class="text-muted mb-0">Entre paysages spectaculaires, cultures fascinantes et expériences authentiques, l'{{ continent.name }} vous invite à vivre un voyage unique.</p>
  41.       <p class="text-muted mb-0">Découvrez nos offres soigneusement sélectionnées et laissez-vous guider vers votre prochaine grande aventure.</p>
  42.     {% elseif continent.id == 2 %}
  43.       <h2 class="h3 text-ot-green mb-1 fw-bold">Partez à la conquête des {{ continent.name }} !</h2>
  44.       <p class="text-muted mb-0">De villes vibrantes en paysages sauvages, ce continent regorge d’expériences inoubliables à vivre.</p>
  45.       <p class="text-muted mb-0">Parcourez nos circuits, escapades, roadtrips et croisières et trouvez le voyage qui fera battre votre cœur d’aventurier.</p>
  46.        {% elseif continent.id == 3 %}
  47.       <h2 class="h3 text-ot-green mb-1 fw-bold">L'{{ continent.name }}, une invitation à l’évasion.</h2>
  48.       <p class="text-muted mb-0">De ses sites emblématiques à ses trésors cachés, chaque voyage sur ce continent est une promesse d’émotions et de découvertes.</p>
  49.       <p class="text-muted mb-0">Laissez-vous séduire par nos offres d’exception et vivez le charme incomparable de l'{{ continent.name }}.</p>
  50.        {% elseif continent.id == 4 %}
  51.       <h2 class="h3 text-ot-green mb-1 fw-bold">L'{{ continent.name }} n’attend plus que vous !</h2>
  52.       <p class="text-muted mb-0">Que vous rêviez de grandes routes, de plages dorées ou de capitales bouillonnantes, nos offres vous emmènent au cœur de l’action.</p>
  53.       <p class="text-muted mb-0">Faites vos valises et laissez-vous tenter par une nouvelle aventure signée O’Tropik</p>
  54.        {% elseif continent.id == 5 %}
  55.     <div class="text-center mb-5 green">
  56.       <h2 class="h3 text-ot-green mb-1 fw-bold">Cap sur la {{ continent.name }}</h2>
  57.       <p class="text-muted mb-0">Entre plages de sable blanc, eaux turquoise et ambiance créole, chaque île vous invite à la détente et à la découverte.</p>
  58.       <p class="text-muted mb-0">Explorez nos offres et laissez-vous porter par la chaleur et la beauté des Antilles..</p>
  59.     </div>
  60.     {% endif %}
  61.     </div>
  62.     <div class="row g-3 g-md-4">
  63.       {% for o in offers %}
  64.       <div class="col-12 col-sm-6 col-lg-3">
  65.         <article class="card card-offer border-0 shadow-sm h-100 overflow-hidden rounded-4">
  66.         {% if o.type.id == 1 %}
  67.           <a href="{{ path('o.escapade.destination',{slug:o.slug}) }}" class="stretched-link text-decoration-none text-white">
  68.               <div class="ratio ratio-4x5">
  69.               <img src="{#{asset('img/destination/' ~ o.destination.slug  ~ '/' ~ o.destination.img)}#}" alt="{{ o.title }}" class="object-fit-cover w-100 h-100">
  70.             </div>
  71.         {% elseif o.type.id == 2 %}
  72.             <a href="{{ path('o.circuit.destination',{slug:o.slug}) }}" class="stretched-link text-decoration-none text-white">
  73.               <div class="ratio ratio-4x5">
  74.               <img src="{{asset('img/circuits/' ~ o.slug  ~ '/' ~ o.img)}}" alt="{{ o.title }}" class="object-fit-cover w-100 h-100">
  75.             </div>
  76.         {% elseif o.type.id == 3 %}
  77.                  <a href="{{ path('o.roadtrip.destination',{slug:o.slug}) }}" class="stretched-link text-decoration-none text-white">
  78.               <div class="ratio ratio-4x5">
  79.               <img src="{{asset('img/road/' ~ o.slug  ~ '/' ~ o.img)}}" alt="{{ o.title }}" class="object-fit-cover w-100 h-100">
  80.             </div>
  81.             {% elseif o.type.id == 4 %}
  82.                  <a href="{{ path('o.croisiere.destination',{slug:o.slug})}}" class="stretched-link text-decoration-none text-white">
  83.               <div class="ratio ratio-4x5">
  84.               <img src="{{asset('img/croisiere/' ~ o.slug  ~ '/' ~ o.img)}}" alt="{{ o.title }}" class="object-fit-cover w-100 h-100">            </div>
  85.           {% endif %}
  86.             <div class="card-img-overlay d-flex flex-column justify-content-end p-3 p-md-4">
  87.               <p>{{o.type.name}}</p>
  88.               <h3 class="h5 fw-bold text-white text-shadow-sm mb-3">{{ o.title }}</h3>
  89.               <div>
  90.                 <span class="btn btn-outline-light btn-sm">Découvrir</span>
  91.               </div>
  92.             </div>
  93.           </a>
  94.         </article>
  95.       </div>
  96.       {% endfor %}
  97.     </div>
  98.     <div class="section-divider mx-auto my-5"></div>
  99.   </div>
  100. </section>
  101. {% endblock %}
  102. {% block extra_head %}
  103.   {{ parent() }}
  104.   <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap-icons@1.11.3/font/bootstrap-icons.css">
  105.   <style>
  106.     .text-shadow-sm{ text-shadow:0 2px 4px rgba(0,0,0,.35); }
  107.     .text-ot-green{ color: var(--ot-primary, #2ea37a); }
  108.     .bg-ot-green{ background: var(--ot-primary, #2ea37a); }
  109.   </style>
  110. {% endblock %}