templates/_includes/footer.html.twig line 1

Open in your IDE?
  1.   
  2.     <div class="navbar-footer">
  3.       <div class="imprint">
  4.         &copy; {{ 'now'|date('Y') }} &bull; 7SCHWABEN &bull; <a href="/{{ locale }}/footer/impressum.php">{{ 'imprint' | trans }}</a> &bull; <a href="/{{ locale }}/footer/datenschutz.php">{{ 'privacy' | trans }}</a> 
  5.       </div>
  6.     </div>
  7.     <div id="footer-switch" style="height:1px; background:transparent;">
  8.     </div>
  9.     <a id="whatsapp-widget" href="https://wa.me/+4971259798725" target="_blank">
  10.     </a>
  11.     <a id="booking-widget" href="/{{ locale }}/buchen.php" target="_blank">{{ 'book-now'|trans }}</a>
  12.     
  13.     <footer>
  14.       <div class="container footer-contact">
  15.         <div class="row">
  16.           <div class="col-12 col-xl-3">
  17.             <span class="lsf">phone</span><span class="contact-item"><a href="tel:+4971259798725" target="_blank">+49 7125 9798725</a></span>
  18.           </div>
  19.           <div class="col-12 col-xl-3">
  20.             <span class="lsf">mail</span><span class="contact-item"><a href="mailto:kontakt@das7schwaben.de" target="_blank">kontakt@das<strong class="condensed"><span class="red">7</span>SCHWABEN</strong>.de</a></span>
  21.           </div>
  22.           <div class="col-12 col-xl-4">  
  23.             <span class="lsf">pin</span><span class="contact-item"><a href="https://www.google.com/maps/place/Espachstra%C3%9Fe+7,+72574+Bad+Urach/@48.49315,9.4049853,16z/data=!4m5!3m4!1s0x47998e01537a28a5:0x1266f5a9e482055e!8m2!3d48.49082!4d9.402322" target="_blank">Espachstra&szlig;e 7, 72574 Bad Urach</a></span>
  24.           </div>
  25.           <div class="col-12 col-xl-2">
  26.             <span class="contact-item">
  27.               <a class="social-media-icon" href="https://instagram.com/7schwaben_ferienwohnungen" target="_blank"><span class="lsf">instagram</span></a>
  28.             </span>
  29.             <span class="contact-item">
  30.               <a class="social-media-icon" href="https://wa.me/+4971259798725" target="_blank"><span class="whatsapp-greyscale"></span></a>
  31.             </span>
  32.           </div>
  33.         </div>              
  34.       </div>
  35.     </footer>
  36.     <a id="scrollTop" class="scroll-to-top" href="#body"><span class="lsf">up</span></a>
  37.     
  38.     <!-- Modals -->
  39.     <div class="modal fade" id="bookingWidget" tabindex="-1" aria-labelledby="bookingWidgetLabel" aria-hidden="true">
  40.       <div class="modal-dialog modal-lg modal-dialog-centered modal-dialog-scrollable">
  41.         <div class="modal-content">
  42.           <div class="modal-header">
  43.             <h5 class="modal-title" id="bookingWidgetLabel">7SCHWABEN Apartment buchen</h5>
  44.             <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
  45.           </div>
  46.           <div class="modal-body">
  47.             <iframe src="https://tbooking.toubiz.de/FIT00020070055485969/tbooking?globalReset=1&lang=de" title="7SCHWABEN Buchung" frameborder="0" allowfullscreen>
  48.             </iframe>
  49.           </div>
  50.           <div class="modal-footer">
  51.             <button type="button" class="btn btn-default" data-bs-dismiss="modal">Schlie&szlig;en</button>
  52.           </div>
  53.         </div>
  54.       </div>
  55.     </div>
  56.     
  57.     <!-- let's start javascripting -->
  58.     <script src="{{ constant('SITE_TEMPLATE_PATH') }}/js/jquery-3.6.0.min.js"></script>
  59.     <script src="{{ constant('SITE_TEMPLATE_PATH') }}/js/bootstrap.bundle.min.js"></script>
  60.     <script src="{{ constant('SITE_TEMPLATE_PATH') }}/js/jquery-scrollto.js"></script>
  61.     <script src="{{ constant('SITE_TEMPLATE_PATH') }}/js/jquery.inview.min.js"></script>
  62.     <script src="{{ constant('SITE_TEMPLATE_PATH') }}/js/jquery.fancybox.min.js"></script>
  63.     
  64.     <script type="text/javascript" src="{{ constant('SITE_TEMPLATE_PATH') }}/plugins/slick/slick.js"></script>
  65.     
  66.     <script>
  67.     
  68.     var contents = [];
  69.     contents[1] = '<iframe src="https://www.google.com/maps/embed?pb=!1m14!1m8!1m3!1d7923.615022999031!2d9.398405535559164!3d48.491261631762384!3m2!1i1024!2i768!4f13.1!3m3!1m2!1s0x47998e01537a28a5%3A0x1266f5a9e482055e!2sEspachstra%C3%9Fe%207%2C%2072574%20Bad%20Urach!5e0!3m2!1sen!2sde!4v1636115437035!5m2!1sen!2sde" style="width:100%; height:400px; border:0;" allowfullscreen="" loading="lazy"></iframe>';
  70.     
  71.     // console.log('1: ' + contents[1]);
  72.     
  73.     $().ready(function() {
  74.     
  75.       // get enviroment dimensions
  76.       var viewportHeight  = $(window).height();
  77.       var viewportWidth   = $(window).width();
  78.       var displayHeight   = $(document).height();     
  79.       // re-adjust on resize ...  
  80.       $(window).resize(function() 
  81.       {
  82.           var viewportHeight  = $(window).height();
  83.           var viewportWidth   = $(document).width();           
  84.       }); 
  85.       
  86.       // navbar toggler
  87.       $('#nav-icon').click(function(){
  88.             $(this).toggleClass('open');
  89.         });
  90.       
  91.       $('.navbar-toggler').click(function() {
  92.           var n='.'+$(this).data('toggle');
  93.           $('header').toggleClass('header-transparent');
  94.           $(this).toggleClass('active-toggler');
  95.           $(n).fadeToggle();
  96.       });
  97.       // scroll to
  98.       $('a[href*=\\#]').bind("click", function(event) {
  99.               event.preventDefault();
  100.               var target = $(this).attr("href");            
  101.           if (!target.match(/slider(.*)/i)) { 
  102.                   $('html,body').animate({
  103.                        scrollTop: $(target).offset().top
  104.                   }, 2000);
  105.           }       
  106.       });
  107.       
  108.       // animate on scroll
  109.       $('.scroll-animated').bind('inview', function(event, visible) {
  110.           if ( visible ) { 
  111.               $(this).animate({
  112.                   top: '0px',
  113.                   opacity: 1
  114.               }, 600);
  115.           }
  116.       });
  117.       
  118.       // animate footer
  119.       $('#footer-switch').bind('inview', function(event, visible) {
  120.           if ( visible ) {            
  121.               $('.navbar-footer .imprint').fadeIn();
  122.               $('footer').animate({
  123.                   height : '120px'
  124.               },300);
  125.           }  
  126.       });
  127.       
  128.       // animate scroll top
  129.       var s=false; var h=false;
  130.       var hl = (viewportWidth < 1200) ? '1.5rem' : '3rem';
  131.       var hr = (viewportWidth < 1200) ? '1rem' : '1.65rem';
  132.       
  133.       $(window).scroll(function() {
  134.           var y=$(window).scrollTop();        
  135.           // scroll top btn 
  136.           if ( y > (viewportHeight * 2) && !s ) {
  137.               s = true;
  138.               $('#scrollTop').fadeIn(500);
  139.           } 
  140.           if ( s && y < viewportHeight ) {
  141.               s = false;
  142.               $('#scrollTop').fadeOut(500);
  143.           }
  144.           // header resize
  145.           if ( y > viewportHeight ) {
  146.               h = true;
  147.               $('header').stop().animate({
  148.                 paddingTop : '1rem'
  149.               }, 300);
  150.               $('.header-options').stop().animate({
  151.                 top : '0rem'
  152.               }, 300);              
  153.           }
  154.           if ( h && y < viewportHeight)
  155.           {
  156.               h = false; 
  157.               $('header').stop().animate({
  158.                 paddingTop : hl
  159.               }, 300);
  160.               $('.header-options').stop().animate({
  161.                 top : hr
  162.               }, 300);               
  163.           }               
  164.           
  165.       });
  166.       // Slick carousel
  167.       $('.appartments-slider').slick({
  168.         dots: true,
  169.         infinite: true,
  170.         speed: 300,
  171.         slidesToShow: 1,
  172.         centerMode: true,
  173.         variableWidth: true,
  174.         initialSlide: 0,
  175.         mobileFirst: true,
  176.         pauseOnFocus: true,
  177.         autoplay: true
  178.       });
  179.       
  180.       $('.gallery-slider').slick({
  181.         dots: false,
  182.         infinite: true,
  183.         speed: 500,
  184.         slidesToShow: 1,
  185.         centerMode: false,
  186.         variableWidth: true,
  187.         initialSlide: 0,
  188.         mobileFirst: true,
  189.         pauseOnFocus: true,
  190.         autoplay: true
  191.       });
  192.       
  193.       // check form input
  194.       var formComplete = false;
  195.       $('.check-finput').keyup(function() {
  196.           $('.check-finput').each(function() {          
  197.               // console.log('Check input: ' + $(this).attr('name') + ' -> ' + $(this).val() );          
  198.               if ( $(this).val() != '' )
  199.                   formComplete = true;
  200.               else
  201.                   formComplete = false;                  
  202.           });         
  203.           if ( formComplete === true )
  204.               $('#submitContactForm').animate({opacity:1}, 300);  // fadeIn();
  205.           else
  206.               $('#submitContactForm').animate({opacity:0}, 300);  // fadeOut();                        
  207.       });
  208.       // consent mandatorys
  209.       $('.consent-mandatory').each(function() {
  210.           // console.log('Check: ' + $(this).data('content-id') );
  211.           var c = $(this).data('content-id');
  212.           var i = $(this).attr('id');
  213.           if (getCookie('_googleMaps')!='1') {
  214.               $(this).html('<div class="google-consent">{{ 'consent-google-maps' | trans }}<br /><br /><a class="btn btn-default consent-accept-google" data-elem-id="' + i + '" data-content-id="' + c + '">{{ 'show-content' | trans }}</a></div>');
  215.           }
  216.       });
  217.       
  218.       $('.consent-accept-google').click(function() {
  219.           setCookie('_googleMaps', '1', 30);
  220.           var e = '#'+$(this).data('elem-id');
  221.           var c = $(this).data('content-id');
  222.           $(e).html(contents[c]);
  223.       });
  224.       
  225.       $('.widget-toggler').click(function() {
  226.           var e = '#' + $(this).data('toggle');
  227.           $(this).toggleClass('minified-toggler');
  228.           $(e).find('.widget-content').fadeToggle(100);
  229.           $(e).toggleClass('minified-widget');
  230.       });
  231.       
  232.       // 7Schwaben brand
  233.       // $("body").html( $("body").html().replace(/\!7SCHWABEN\!/g,'<strong class="condensed"><span class="red">7</span>SCHWABEN</strong>') );
  234.       
  235.     });
  236.     
  237.     </script>
  238.     
  239.     <script language="javascript">
  240.       function setCookie(cname, cvalue, exdays) {
  241.         var d = new Date();
  242.         d.setTime(d.getTime() + (exdays*24*60*60*1000));
  243.         var expires = "expires="+ d.toUTCString();
  244.         document.cookie = cname + "=" + cvalue + ";" + expires + ";path=/";
  245.       }
  246.       
  247.       function getCookie(c_name) {
  248.         var i, x, y, ARRcookies = document.cookie.split(";");
  249.         for (i = 0; i < ARRcookies.length; i++) {
  250.           x = ARRcookies[i].substr(0, ARRcookies[i].indexOf("="));
  251.           y = ARRcookies[i].substr(ARRcookies[i].indexOf("=") + 1);
  252.           x = x.replace(/^\s+|\s+$/g, "");
  253.           if (x == c_name) {
  254.               return unescape(y);
  255.           }
  256.         }
  257.       }
  258.       function validateEmail(email)
  259.       {
  260.           // var mailformat = /^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\.[a-zA-Z0-9-]+)*$/;
  261.           if( email.match( /^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/ ) )         
  262.               return true;
  263.           else
  264.               return false;
  265.       }
  266.     
  267.     </script>