Error executing template "Designs/Condition/_parsed/AccommodationPageLinker.parsed.cshtml"
System.NullReferenceException: Object reference not set to an instance of an object.
   at CompiledRazorTemplates.Dynamic.RazorEngine_50d39464d7f848ed8bbe9e8a50b61a9f.Execute() in D:\Websites\nstgroup.co.uk\Live\Files\Templates\Designs\Condition\_parsed\AccommodationPageLinker.parsed.cshtml:line 855
   at RazorEngine.Templating.TemplateBase.RazorEngine.Templating.ITemplate.Run(ExecuteContext context, TextWriter reader)
   at RazorEngine.Templating.RazorEngineService.RunCompile(ITemplateKey key, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag)
   at RazorEngine.Templating.RazorEngineServiceExtensions.<>c__DisplayClass16_0.b__0(TextWriter writer)
   at RazorEngine.Templating.RazorEngineServiceExtensions.WithWriter(Action`1 withWriter)
   at Dynamicweb.Rendering.Template.RenderRazorTemplate()

1 @inherits Dynamicweb.Rendering.RazorTemplateBase<Dynamicweb.Rendering.RazorTemplateModel<Dynamicweb.Rendering.Template>> 2 @using Dynamicweb 3 @using Dynamicweb.Content 4 @using NstWebsite 5 @using System.Web.Optimization 6 <!DOCTYPE html> 7 <!--[if lt IE 7]> <html class="no-js lt-ie9 lt-ie8 lt-ie7"> <![endif]--> 8 <!--[if IE 7]> <html class="no-js ie7 lt-ie9 lt-ie8"> <![endif]--> 9 <!--[if IE 8]> <html class="no-js ie8 lt-ie9"> <![endif]--> 10 <!--[if IE 9]> <html class="no-js ie9"> <![endif]--> 11 <!--[if gt IE 9]> <html class="modern-browser no-js"><![endif]--> 12 @{ 13 bool social = true; 14 var areaId = (int)GetValue("DwAreaID"); 15 string loadingImage = "/Files/Images/Loading/NST_loading.gif"; 16 string logoAltText = "NST"; 17 var telNumber = GetString("Item.Area.Telephone"); 18 var telSEOAK = GetString("Item.Area.TelephoneSeoAccountId"); 19 var telSEOCL = GetString("Item.Area.TelephoneSeoPassword"); 20 var facebookPixelId = GetString("Item.Area.FacebookPixelId"); 21 var mobileRequestQuoteText = "Request quote"; 22 23 var twitterUN = GetString("Item.Area.TwitterAcc"); 24 var facebookUN = GetString("Item.Area.FacebookAcc"); 25 var flickrUN = GetString("Item.Area.FlickrAcc"); 26 var youtubeUN = GetString("Item.Area.YoutubeAcc"); 27 var instagramUN = GetString("Item.Area.InstagramAcc"); 28 var snapchatUN = GetString("Item.Area.SnapchatAcc"); 29 var tumblrUN = GetString("Item.Area.TumblrAcc"); 30 31 if (areaId == 2) 32 { 33 loadingImage = "/Files/Images/Loading/NSTIE_loading.gif"; 34 } 35 else if (areaId == 3) 36 { 37 loadingImage = "/Files/Images/Loading/Studylink_loading.gif"; 38 logoAltText = "StudyLink Tours"; 39 } 40 else if (areaId == 4) 41 { 42 loadingImage = "/Files/Images/Loading/EST_loading.gif"; 43 logoAltText = "European Study Tours"; 44 mobileRequestQuoteText = "REQUEST QUOTE"; 45 } 46 var brandLogoSmall = GetString("Item.Area.BrandLogoSmall"); 47 var brandNameSmall = GetString("Item.Area.TitleBrand"); 48 var enableChat = GetBoolean("Item.Area.EnableChat"); 49 var ChatGuid = GetString("Item.Area.ChatGuid"); 50 var chatTriggerPhrase = GetString("Item.Area.ChatTriggerPhrase"); 51 var OneTrustUrl = GetString("Item.Area.OneTrustScriptUrl"); 52 var OneTrustDataDomainScript = GetString("Item.Area.OneTrustDataDomainScript"); 53 var OneTrustAutoBlockScript = GetString("Item.Area.OneTrustAutoBlockScript"); 54 var GoogleTagManagerId = GetString("Item.Area.GoogleTagManagerId"); 55 56 //Put any details we have on the page into the request quote URL 57 //var quoteDetails = string.Format("/request-quote?Country={0}&Destination={1}&Subject={2}", countryEnq, "", ""); 58 59 FeefoInformation feefoInformation = null; 60 if (!string.IsNullOrWhiteSpace(GetString("Item.Area.FeefoApi")) && !string.IsNullOrWhiteSpace(GetString("Item.Area.FeefoImage"))) 61 { 62 feefoInformation = new FeefoInformation(GetString("Item.Area.FeefoApi")); 63 } 64 65 } 66 @helper GetOptimisedImage(string imgName) 67 { 68 //Banner image 69 string imgFormat = "webp"; 70 int imgHeight = 650; 71 int imgCompression = 75; 72 int imgQuality = 85; 73 bool doNotUpscale = true; 74 string imgPath = string.Empty; 75 if (!string.IsNullOrEmpty(imgName)) 76 { 77 imgPath = string.Format("/Admin/Public/GetImage.ashx?Image={0}&Crop=0&Format={1}&Height={2}&Compression={3}&Quality={5}&DoNotUpscale={4}", 78 imgName.Replace("&","%26"), imgFormat, imgHeight.ToString(), imgCompression.ToString(), doNotUpscale.ToString(), imgQuality); 79 } 80 @imgPath 81 } 82 <html class="modern-browser no-js" lang="en"> 83 <head> 84 <title> @GetValue("Title") | @GetValue("Item.Area.TitleBrand")</title> 85 @GetValue("MetaTags") 86 @GetValue("CopyRightNotice") 87 88 <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> 89 <meta http-equiv="X-UA-Compatible" content="IE=edge"> 90 91 <script src='@Scripts.Url("~/bundles/jquery")'></script> 92 <script src='@Scripts.Url("~/bundles/slick")'></script> 93 <script src='@Scripts.Url("~/bundles/modernizr")'></script> 94 @if (!string.IsNullOrWhiteSpace(OneTrustUrl) && !string.IsNullOrWhiteSpace(OneTrustDataDomainScript)) 95 { 96 <!-- OneTrust Cookies Consent Notice start --> 97 if (!string.IsNullOrWhiteSpace(OneTrustAutoBlockScript)) 98 { 99 <script type="text/javascript" src="@OneTrustAutoBlockScript"></script> 100 } 101 <script src="@OneTrustUrl" type="text/javascript" charset="UTF-8" data-domain-script="@OneTrustDataDomainScript"></script> 102 <script type="text/javascript"> 103 104 function OptanonWrapper() { 105 // Get initial OnetrustActiveGroups ids 106 if (typeof OptanonWrapperCount == "undefined") { 107 otGetInitialGrps(); 108 } 109 110 //Delete cookies 111 otDeleteCookie(otIniGrps); 112 113 // Assign OnetrustActiveGroups to custom variable 114 function otGetInitialGrps() { 115 OptanonWrapperCount = ''; 116 otIniGrps = OnetrustActiveGroups; 117 // console.log("otGetInitialGrps", otIniGrps) 118 } 119 120 function otDeleteCookie(iniOptGrpId) { 121 var otDomainGrps = JSON.parse(JSON.stringify(Optanon.GetDomainData().Groups)); 122 var otDeletedGrpIds = otGetInactiveId(iniOptGrpId, OnetrustActiveGroups); 123 if (otDeletedGrpIds.length != 0 && otDomainGrps.length != 0) { 124 for (var i = 0; i < otDomainGrps.length; i++) { 125 //Check if CustomGroupId matches 126 if (otDomainGrps[i]['CustomGroupId'] != '' && otDeletedGrpIds.includes(otDomainGrps[i]['CustomGroupId'])) { 127 for (var j = 0; j < otDomainGrps[i]['Cookies'].length; j++) { 128 // console.log("otDeleteCookie",otDomainGrps[i]['Cookies'][j]['Name']) 129 //Delete cookie 130 eraseCookie(otDomainGrps[i]['Cookies'][j]['Name']); 131 } 132 } 133 134 //Check if Hostid matches 135 if (otDomainGrps[i]['Hosts'].length != 0) { 136 for (var j = 0; j < otDomainGrps[i]['Hosts'].length; j++) { 137 //Check if HostId presents in the deleted list and cookie array is not blank 138 if (otDeletedGrpIds.includes(otDomainGrps[i]['Hosts'][j]['HostId']) && otDomainGrps[i]['Hosts'][j]['Cookies'].length != 0) { 139 for (var k = 0; k < otDomainGrps[i]['Hosts'][j]['Cookies'].length; k++) { 140 //Delete cookie 141 eraseCookie(otDomainGrps[i]['Hosts'][j]['Cookies'][k]['Name']); 142 } 143 } 144 } 145 } 146 147 } 148 } 149 otGetInitialGrps(); //Reassign new group ids 150 } 151 152 //Get inactive ids 153 function otGetInactiveId(customIniId, otActiveGrp) { 154 //Initial OnetrustActiveGroups 155 // console.log("otGetInactiveId",customIniId) 156 customIniId = customIniId.split(","); 157 customIniId = customIniId.filter(Boolean); 158 159 //After action OnetrustActiveGroups 160 otActiveGrp = otActiveGrp.split(","); 161 otActiveGrp = otActiveGrp.filter(Boolean); 162 163 var result = []; 164 for (var i = 0; i < customIniId.length; i++) { 165 if (otActiveGrp.indexOf(customIniId[i]) <= -1) { 166 result.push(customIniId[i]); 167 } 168 } 169 return result; 170 } 171 172 //Delete cookie 173 function eraseCookie(name) { 174 //Delete root path cookies 175 domainName = window.location.hostname; 176 document.cookie = name + '=; Max-Age=-99999999; Path=/;Domain=' + domainName; 177 document.cookie = name + '=; Max-Age=-99999999; Path=/;'; 178 179 //Delete LSO incase LSO being used, cna be commented out. 180 localStorage.removeItem(name); 181 182 //Check for the current path of the page 183 pathArray = window.location.pathname.split('/'); 184 //Loop through path hierarchy and delete potential cookies at each path. 185 for (var i = 0; i < pathArray.length; i++) { 186 if (pathArray[i]) { 187 //Build the path string from the Path Array e.g /site/login 188 var currentPath = pathArray.slice(0, i + 1).join('/'); 189 document.cookie = name + '=; Max-Age=-99999999; Path=' + currentPath + ';Domain=' + domainName; 190 document.cookie = name + '=; Max-Age=-99999999; Path=' + currentPath + ';'; 191 //Maybe path has a trailing slash! 192 document.cookie = name + '=; Max-Age=-99999999; Path=' + currentPath + '/;Domain=' + domainName; 193 document.cookie = name + '=; Max-Age=-99999999; Path=' + currentPath + '/;'; 194 195 196 } 197 } 198 199 } 200 201 if (!OptanonActiveGroups.includes('C0004') || !OptanonActiveGroups.includes('C0003')) { 202 let iframes = document.getElementsByTagName("iframe"); 203 204 for (var i = 0; i < iframes.length; i++) { 205 iframes[i].classList.remove("optanon-category-C0004"); 206 207 iframes[i].classList.remove("optanon-category-C0003"); 208 let src = iframes[i].getAttribute('data-src'); 209 if (src && src.includes("youtube.com")) { 210 $(iframes[i]).removeAttr('data-src'); 211 $(iframes[i]).attr('src', src.replace('youtube.com', 'youtube-nocookie.com')); 212 213 } 214 } 215 } 216 217 218 } 219 220 function deleteAllCookies() { 221 var cookies = document.cookie.split("; "); 222 for (var c = 0; c < cookies.length; c++) { 223 var d = window.location.hostname.split("."); 224 while (d.length > 0) { 225 var cookieBase = encodeURIComponent(cookies[c].split(";")[0].split("=")[0]) + '=; expires=Thu, 01-Jan-1970 00:00:01 GMT; domain=' + d.join('.') + ' ;path='; 226 var p = location.pathname.split('/'); 227 document.cookie = cookieBase + '/'; 228 while (p.length > 0) { 229 document.cookie = cookieBase + p.join('/'); 230 p.pop(); 231 }; 232 d.shift(); 233 } 234 } 235 } 236 237 const getCookieValue = (name) => ( 238 document.cookie.match('(^|;)\\s*' + name + '\\s*=\\s*([^;]+)')?.pop() || '' 239 ) 240 241 const urlParams = new URLSearchParams(getCookieValue('OptanonConsent')); 242 const myParam = urlParams.get('datestamp'); 243 const consentdate = new Date(myParam); 244 const Resetdate = new Date('Thu Nov 07 2024 12:00:00 GMT+0000 (Greenwich Mean Time)'); 245 if (consentdate < Resetdate) { 246 deleteAllCookies(); 247 } 248 249 </script> 250 <!--OneTrust Cookies Consent Notice end --> 251 } 252 253 @{ 254 var theme = "uk"; 255 if (!string.IsNullOrEmpty(GetString("Item.Area.Theme"))) 256 { 257 theme = GetString("Item.Area.Theme"); 258 } 259 if (theme == "uk") 260 { 261 <link rel="preload" crossorigin="anonymous" href="/Files/Templates/Designs/Condition/assets/fonts/filsonpro/FilsonProRegular.otf" as="font" type="font/woff2"> 262 263 } 264 if (theme != "est") 265 { 266 <link rel="preload" crossorigin="anonymous" href="/Files/Templates/Designs/Condition/assets/fonts/montserrat/Montserrat-Bold.woff2" as="font" type="font/woff2"> 267 <link rel="preload" crossorigin="anonymous" href="/Files/Templates/Designs/Condition/assets/fonts/montserrat/Montserrat-Hairline.woff2" as="font" type="font/woff2"> 268 <link rel="preload" crossorigin="anonymous" href="/Files/Templates/Designs/Condition/assets/fonts/montserrat/Montserrat-Light.woff2" as="font" type="font/woff2"> 269 <link rel="preload" crossorigin="anonymous" href="/Files/Templates/Designs/Condition/assets/fonts/montserrat/Montserrat-Regular.woff2" as="font" type="font/woff2"> 270 } 271 @* dont currently have a woff2 272 else 273 { 274 <link rel="preload" crossorigin="anonymous" href="/Files/Templates/Designs/Condition/assets/fonts/raleway/raleway-regular.woff2" as="font" type="font/woff2"> 275 }*@ 276 277 } 278 279 280 <link rel="preload" crossorigin="anonymous" href="/Files/Templates/Designs/Condition/assets/fonts/icomoon.woff?wtdjes" as="font" type="font/woff"> 281 <script type="text/javascript"> 282 function loadScript(url, callback) { 283 284 var script = document.createElement("script") 285 script.type = "text/javascript"; 286 script.setAttribute('async', 'async') 287 if (script.readyState) { //IE 288 script.onreadystatechange = function () { 289 if (script.readyState == "loaded" || 290 script.readyState == "complete") { 291 script.onreadystatechange = null; 292 callback(); 293 } 294 }; 295 } else { //Others 296 script.onload = function () { 297 callback(); 298 }; 299 } 300 301 script.src = url; 302 document.getElementsByTagName("head")[0].appendChild(script); 303 } 304 </script> 305 <script src='@Scripts.Url("~/bundles/plugins")' defer=""></script> 306 307 @if (!string.IsNullOrWhiteSpace(GoogleTagManagerId)) 308 { 309 <!-- Google Tag Manager --> 310 <script type="text/javascript"> 311 setTimeout(function(){ 312 (function (w, d, s, l, i) { 313 w[l] = w[l] || []; w[l].push({ 314 'gtm.start': 315 new Date().getTime(), event: 'gtm.js' 316 }); var f = d.getElementsByTagName(s)[0], 317 j = d.createElement(s), dl = l != 'dataLayer' ? '&l=' + l : ''; j.async = true; j.src = 318 'https://www.googletagmanager.com/gtm.js?id=' + i + dl; f.parentNode.insertBefore(j, f); 319 })(window, document, 'script', 'dataLayer', '@GoogleTagManagerId'); 320 }, 2000); 321 </script> 322 <!-- End Google Tag Manager --> 323 } 324 325 @GetValue("Item.HrefLangMapping") 326 @RenderSnippet("hreflang") 327 328 <meta name="viewport" content="width=device-width, initial-scale=1"> 329 <meta name="format-detection" content="telephone=no"> 330 331 @if (theme == "uk") 332 { 333 <link rel="apple-touch-icon" sizes="192x192" href="/Images/Favicon/NST/favicon-nst-192x192.png"> 334 <link rel="icon" type="image/png" href="/Files/Images/Favicon/NST/favicon-nst-192x192.png" sizes="192x192"> 335 <link rel="icon" type="image/png" href="/Files/Images/Favicon/NST/favicon-nst-160x160.png" sizes="160x160"> 336 <link rel="icon" type="image/png" href="/Files/Images/Favicon/NST/favicon-nst-96x96.png" sizes="96x96"> 337 <link rel="icon" type="image/png" href="/Files/Images/Favicon/NST/favicon-nst-16x16.png" sizes="16x16"> 338 <link rel="icon" type="image/png" href="/Files/Images/Favicon/NST/favicon-nst-32x32.png" sizes="32x32"> 339 } 340 else if (theme == "ie") 341 { 342 <link rel="apple-touch-icon" sizes="192x192" href="/Images/Favicon/NSTIE/favicon-nst-dublin-192x192.png"> 343 <link rel="icon" type="image/png" href="/Files/Images/Favicon/NSTIE/favicon-nst-dublin-192x192.png" sizes="192x192"> 344 <link rel="icon" type="image/png" href="/Files/Images/Favicon/NSTIE/favicon-nst-dublin-160x160.png" sizes="160x160"> 345 <link rel="icon" type="image/png" href="/Files/Images/Favicon/NSTIE/favicon-nst-dublin-96x96.png" sizes="96x96"> 346 <link rel="icon" type="image/png" href="/Files/Images/Favicon/NSTIE/favicon-nst-dublin-16x16.png" sizes="16x16"> 347 <link rel="icon" type="image/png" href="/Files/Images/Favicon/NSTIE/favicon-nst-dublin-32x32.png" sizes="32x32"> 348 } 349 else if (theme == "slk") 350 { 351 <link rel="apple-touch-icon" sizes="192x192" href="/Files/Images/Favicon/SLK/favicon-slk-192x192.png"> 352 <link rel="icon" type="image/png" href="/Files/Images/Favicon/SLK/favicon-slk-192x192.png" sizes="192x192"> 353 <link rel="icon" type="image/png" href="/Files/Images/Favicon/SLK/favicon-slk-160x160.png" sizes="160x160"> 354 <link rel="icon" type="image/png" href="/Files/Images/Favicon/SLK/favicon-slk-96x96.png" sizes="96x96"> 355 <link rel="icon" type="image/png" href="/Files/Images/Favicon/SLK/favicon-slk-16x16.png" sizes="16x16"> 356 <link rel="icon" type="image/png" href="/Files/Images/Favicon/SLK/favicon-slk-32x32.png" sizes="32x32"> 357 } 358 else if (theme == "est") 359 { 360 <link rel="apple-touch-icon" sizes="192x192" href="/Files/Images/Favicon/EST/favicon-est-192x192.png"> 361 <link rel="icon" type="image/png" href="/Files/Images/Favicon/EST/favicon-est-192x192.png" sizes="192x192"> 362 <link rel="icon" type="image/png" href="/Files/Images/Favicon/EST/favicon-est-160x160.png" sizes="160x160"> 363 <link rel="icon" type="image/png" href="/Files/Images/Favicon/EST/favicon-est-96x96.png" sizes="96x96"> 364 <link rel="icon" type="image/png" href="/Files/Images/Favicon/EST/favicon-est-16x16.png" sizes="16x16"> 365 <link rel="icon" type="image/png" href="/Files/Images/Favicon/EST/favicon-est-32x32.png" sizes="32x32"> 366 } 367 368 @Styles.Render(string.Format("~/bundles/{0}_css", theme)) 369 370 @Styles.Render("~/bundles/googlefonts_css") 371 @Styles.Render("~/bundles/bootstrap-carousel_css") 372 373 374 <!--[if lt IE 9]> 375 <script src="/assets/js/min/selectivizr-min.js"></script> 376 <![endif]--> 377 <!-- <link rel="stylesheet" href="/assets/css/jquery-ui.min.css"> --> 378 <!-- Google Analytics --> 379 @if (!string.IsNullOrWhiteSpace(GetString("Item.Area.GoogleAnalyticsId"))) 380 { 381 <script type="text/plain" class="optanon-category-C0002"> 382 (function (i, s, o, g, r, a, m) { 383 i['GoogleAnalyticsObject'] = r; i[r] = i[r] || function () { 384 (i[r].q = i[r].q || []).push(arguments) 385 }, i[r].l = 1 * new Date(); a = s.createElement(o), 386 m = s.getElementsByTagName(o)[0]; a.async = 1; a.src = g; m.parentNode.insertBefore(a, m) 387 })(window, document, 'script', '//www.google-analytics.com/analytics.js', 'ga'); 388 389 ga('create', '@GetValue("Item.Area.GoogleAnalyticsId")', 'auto'); 390 ga('send', 'pageview'); 391 392 </script> 393 } 394 @if (!string.IsNullOrWhiteSpace(telSEOAK) && !string.IsNullOrWhiteSpace(telSEOCL)) 395 { 396 <script type="text/plain" class="optanon-category-C0002"> 397 (function (a, e, c, f, g, h, b, d) { 398 var k = { ak: "@telSEOAK", cl: "@telSEOCL", autoreplace: "@telNumber" }; 399 a[c] = a[c] || function () { (a[c].q = a[c].q || []).push(arguments) }; 400 a[g] || (a[g] = k.ak); b = e.createElement(h); b.async = 1; 401 b.src = "//www.gstatic.com/wcm/loader.js"; d = e.getElementsByTagName(h)[0]; 402 d.parentNode.insertBefore(b, d); a[f] = function (b, d, e) { a[c](2, b, k, d, null, new Date, e) }; 403 a[f]() 404 })(window, document, "_googWcmImpl", "_googWcmGet", "_googWcmAk", "script"); 405 406 </script> 407 } 408 409 410 @if (!string.IsNullOrWhiteSpace(facebookPixelId)) 411 { 412 <!-- Facebook Pixel Code --> 413 <script type="text/plain" class="optanon-category-C0004"> 414 !function (f, b, e, v, n, t, s) { 415 if (f.fbq) return; n = f.fbq = function () { 416 n.callMethod ? 417 n.callMethod.apply(n, arguments) : n.queue.push(arguments) 418 }; 419 if (!f._fbq) f._fbq = n; n.push = n; n.loaded = !0; n.version = '2.0'; 420 n.queue = []; t = b.createElement(e); t.async = !0; 421 t.src = v; s = b.getElementsByTagName(e)[0]; 422 s.parentNode.insertBefore(t, s) 423 }(window, document, 'script', 424 'https://connect.facebook.net/en_US/fbevents.js'); 425 fbq('init', '@facebookPixelId'); 426 fbq('track', 'PageView'); 427 </script> 428 <!-- End Facebook Pixel Code --> 429 } 430 431 <script> 432 document.addEventListener("DOMContentLoaded", function (event) { 433 var frames = document.getElementsByTagName('iframe'); 434 for (var i = 0; i < frames.length; i++) { 435 frames[i].src = frames[i].src.replace("youtube.com", "youtube-nocookie.com"); 436 } 437 }); 438 </script> 439 440 441 @GetValue("Stylesheets") 442 @GetValue("Javascripts") 443 </head> 444 445 <body> 446 <div id="mainContent"> 447 <div class="header-push"></div> 448 <header> 449 <div class="container clearfix menu-container"> 450 @if (theme != "uk") 451 { 452 <a href="/"><img class="logo mobile-only" src="@brandLogoSmall" alt="@brandNameSmall"></a> 453 } 454 else 455 { 456 <div class="header-background desktop"></div> 457 } 458 <nav id="site-nav" class="clearfix"> 459 @if (theme == "slk") 460 { 461 <ul> 462 <li style="background-color:white;"> 463 <a href="/"> 464 <img src="/Files/Templates/Designs/Condition/assets/images/design/StudyLink_Logo_Reg.png" style="max-height:20px"> 465 </a> 466 </li> 467 </ul> 468 @GetValue("DwNavigation(slkNavMenu)") 469 <nav id="navTools" class="navTools"> 470 <ul> 471 <li class="contact no-mobile"><a href="javascript:;">Contact Us</a></li> 472 </ul> 473 </nav> 474 475 } 476 else if (theme == "est") 477 { 478 <ul> 479 <li> 480 <a href="/"> 481 <img src="/Files/Templates/Designs/Condition/assets/images/design/ESTLogo.png" style="max-height:50px; margin-top: -10px;"> 482 </a> 483 </li> 484 </ul> 485 @GetValue("DwNavigation(estNavMenu)") 486 <nav id="navTools" class="navTools"> 487 <ul> 488 <li class="contact no-mobile"><a href="javascript:;">Contact Us</a></li> 489 </ul> 490 </nav> 491 492 } 493 else if (theme == "pgl") 494 { 495 <ul> 496 <li class="logo-item"><a href="/"><img class="logo show-on-scroll-50 no-mobile small" src="@brandLogoSmall" alt="@brandNameSmall"></a></li> 497 </ul> 498 @GetValue("DwNavigation(pglNavMenu)") 499 <nav id="navTools" class="navTools"> 500 <ul> 501 <li class="contact no-mobile"><a href="javascript:;">Enquire</a></li> 502 </ul> 503 </nav> 504 } 505 else if (theme == "uk") 506 { 507 <svg class="position-absolute path-size"> 508 <defs> 509 <clippath id="smoothWave" clippathunits="objectBoundingBox"> 510 <path d="M0,0.2 C0.15,0.32 0.25,0.38 0.3,0.42 S0.5,0.78 0.7,0.95 S0.88,0.88 1,0.7 L1,0 L0,0 Z"></path> 511 </clippath> 512 </defs> 513 </svg> 514 <div class="header-top desktop"> 515 <div class="container d-flex justify-content-end align-items-center"> 516 <a href="/login" class="action-link mr-0"> 517 <img src="/Files/Templates/Designs/Condition/assets/images/design/icons/nst-login-icon.svg" alt="Login" class="pr-3"> 518 <p class="fs-55">Login</p> 519 </a> 520 <span class="divider"></span> 521 <a href='tel:@GetString("Item.Area.Telephone")' class="action-link mr-0"> 522 <img src="/Files/Templates/Designs/Condition/assets/images/design/icons/nst-phone-icon.svg" alt="Call us" class="pr-3"> 523 <p class="fs-55">Call us</p> 524 </a> 525 <span class="divider"></span> 526 <a href="/contact-us" class="action-link mr-0"> 527 <img src="/Files/Templates/Designs/Condition/assets/images/design/icons/nst-message-icon.svg" alt="Get in touch" class="pr-3 mt-2"> 528 <p class="fs-55">Get in touch</p> 529 </a> 530 </div> 531 </div> 532 <nav class="header-bottom container d-flex justify-content-between align-items-center"> 533 <a href="/"> 534 <img class="logo" src="@brandLogoSmall" alt="@brandNameSmall"> 535 </a> 536 <div class="mt-6 header-text-color"> 537 @GetValue("DwNavigation(UkNstNavMenu)") 538 </div> 539 <ul class="mt-6"> 540 <li class="quote no-mobile"> 541 <a href="/request-quote">Request quote</a> 542 </li> 543 </ul> 544 </nav> 545 } 546 else 547 { 548 <ul> 549 <li class="logo-item"><a href="/"><img class="logo show-on-scroll-50 no-mobile small" src="@brandLogoSmall" alt="@brandNameSmall"></a></li> 550 </ul> 551 @GetValue("DwNavigation(IeNstNavMenu)") 552 <nav id="navTools" class="navTools"> 553 <ul> 554 <li class="contact no-mobile"><a href="javascript:;">Enquire</a></li> 555 </ul> 556 </nav> 557 } 558 559 <div class="right"> 560 <ul> 561 @if (theme == "est") 562 { 563 <li class="no-mobile align-center"> 564 <a href='tel:@GetString("Item.Area.Telephone")'>@GetString("Item.Area.Telephone")</a> 565 </li> 566 } 567 else if (theme == "uk") 568 { 569 570 } 571 else 572 { 573 <li class="call-number no-mobile"> 574 <a href='tel:@GetString("Item.Area.Telephone")'>@GetString("Item.Area.Telephone")</a> 575 </li> 576 } 577 @if (theme == "slk") 578 { 579 <li class="no-mobile" style="background-color:#414042;"> 580 <a href="http://slk.my-tour-manager.com" target="_blank"> 581 <span class="icon-user" style="font-size:1.5em; color:white;"></span> 582 </a> 583 </li> 584 <li class="quote no-mobile"> 585 <a href="/request-quote" style="color:white;"> 586 REQUEST A QUOTE 587 </a> 588 </li> 589 } 590 else if (theme == "est") 591 { 592 <li class="quote no-mobile"> 593 <a href="/request-quote" id="navQuoteButton"> 594 Request quote 595 </a> 596 </li> 597 } 598 else if (theme == "uk") 599 { 600 601 } 602 else 603 { 604 <li class="quote no-mobile"> 605 <a href="/request-quote"> 606 Request quote 607 </a> 608 </li> 609 } 610 </ul> 611 </div> 612 </nav> 613 614 @if (theme == "uk") 615 { 616 <svg class="position-absolute path-size"> 617 <defs> 618 <clippath id="smoothWaveMobile" clippathunits="objectBoundingBox"> 619 <path d="M0,0.2 C0.5,0.9 0.5,0.9 1,0.99 L1,0 L0,0 Z"></path> 620 </clippath> 621 </defs> 622 </svg> 623 <div class="header-top mobile mobile-only"> 624 <div class="container d-flex justify-content-end align-items-center"> 625 <a href="/login" class="action-link mr-0"> 626 <img src="/Files/Templates/Designs/Condition/assets/images/design/icons/nst-login-icon.svg" alt="Login" class="pr-3"> 627 </a> 628 <a href='tel:@GetString("Item.Area.Telephone")' class="action-link mr-0"> 629 <img src="/Files/Templates/Designs/Condition/assets/images/design/icons/nst-phone-icon.svg" alt="Call us" class="pr-3"> 630 </a> 631 <a href="/contact-us" class="action-link mr-0"> 632 <img src="/Files/Templates/Designs/Condition/assets/images/design/icons/nst-message-icon.svg" alt="Get in touch" class="pr-3 mt-2"> 633 </a> 634 </div> 635 </div> 636 637 <a class="mobile-only mobile-logo" href="/"> 638 <img class="logo" src="@brandLogoSmall" alt="@brandNameSmall"> 639 </a> 640 } 641 642 <div class="mobile-only right mobile-menu-button"></div> 643 644 @*<div class="search-activate mobile-only right"><a href="#"><span class="icon-search hidden"></span><span class="text">Search</span></a></div>*@ 645 646 <nav id="mobile-nav" class="clearfix"> 647 @GetValue("DwNavigation(mobilenav)") 648 <ul> 649 650 @if (theme == "slk") 651 { 652 <li class="mobile-only"><a href="http://slk.my-tour-manager.com" target="_blank">Login</a></li> 653 <li class="contact"><div class="nav-name"><a href="javascript:;">Contact us</a></div></li> 654 } 655 else if (theme == "est") 656 { 657 <li class="contact"><div class="nav-name"><a href="javascript:;">Contact us</a></div></li> 658 } 659 else if (theme == "uk") 660 { 661 <li class="mt-3"><div class="nav-name"><a href="http://nst.my-tour-manager.com" target="_blank">Login</a></div></li> 662 <li class=""><div class="nav-name"><a href="/contact-us">Get in touch</a></div></li> 663 664 <li class="mobile-contact mt-6"><a style="color: #ffffff !important" href='tel:@GetString("Item.Area.Telephone")'>Call us</a></li> 665 <li class="mobile-quote"><a style="color: #ffffff !important" href="/request-quote">Request quote</a></li> 666 } 667 else 668 { 669 <li class="contact"><div class="nav-name"><a href="javascript:;">Enquire</a></div></li> 670 } 671 672 @if (theme == "est") 673 { 674 <li class="standard"><div class="nav-name"><a href="https://www.euro-study-tours.co.uk/work-for-us">Work for Us</a></div></li> 675 } 676 else if (theme == "uk") 677 { 678 679 } 680 else 681 { 682 <li class="standard"><div class="nav-name"><a href="https://www.nstgroup.co.uk/work-for-us">Work for Us</a></div></li> 683 } 684 685 686 </ul> 687 </nav> 688 </div> 689 690 @if (theme == "uk") 691 { 692 693 } 694 else 695 { 696 <div class="container clearfix mobile-only mobile-contact-header"> 697 <div class="mobile-only mobile-number call-number"> 698 <a href='tel:@GetString("Item.Area.Telephone")'>@GetString("Item.Area.Telephone")</a> 699 </div> 700 <div class="button quote-button-background"> 701 <a href="/request-quote"> 702 @mobileRequestQuoteText 703 </a> 704 </div> 705 </div> 706 } 707 708 <div class="contact-bar-dropdown"> 709 <div class="container"> 710 <!-- <a class="mobile-only contact-button" href="/contact-us/request-a-quote"><span class="icon-calculator"></span> Request quote</a> --> 711 @if (areaId == 1) 712 { 713 <!--<a class="contact-button" href="/view-our-brochures"><span class="icon-brochure"></span> View our brochures</a>--> 714 } 715 <a class="contact-button no-mobile" href="/request-quote"><span class="icon-email"></span> Request quote</a> 716 <a class="contact-button" href="/get-in-touch"><span class="icon-email"></span> Get in touch</a> 717 </div> 718 </div> 719 720 <div class="search-bar-dropdown"> 721 <div class="container"> 722 @*<form action="/search-results"> 723 <label for="search">Search</label> 724 <input type="text" name="q" id="q" placeholder="Enter search term"> 725 <input type="submit" value="submit" name="submit" id="submit"> 726 </form>*@ 727 </div> 728 </div> 729 </header> 730 731 <div class="mobileMenuBkgndOverlay"></div> 732 733 <main class="mainContent"> 734 735 736 737 738 @{ 739 string count = (string) @GetValue("Item.Link_To_Item_Type.Country"); 740 string accName = (string) @GetValue("Item.Link_To_Item_Type.Title"); 741 var brandLogo = GetString("Item.Area.BrandLogo"); 742 var brandName = GetString("Item.Area.TitleBrand"); 743 //string accUrl = System.Web.HttpContext.Current.Request.Url.AbsoluteUri; 744 745 string id = (string) @GetValue("Item.Link_To_Item_Type.Id"); 746 747 //Dynamicweb.Content.Items.Item it = Dynamicweb.Content.Items.ItemManager.Storage.GetById("Accommodation", id); 748 749 //string accId = it.Page.ID.ToString(); 750 751 //var pageId = @GetString("Global:Page.ID"); 752 string accDefaultURL = "Default.aspx?ID=" + GetInteger("DwPageID").ToString(); 753 string accUrl = Dynamicweb.Frontend.SearchEngineFriendlyURLs.GetFriendlyUrl(accDefaultURL); 754 accUrl = accUrl.Replace("&", "-"); 755 756 string tripName = ""; 757 758 if(System.Web.HttpContext.Current.Request.QueryString["trip"] != null) 759 tripName = System.Web.HttpContext.Current.Request.QueryString["trip"]; 760 761 string referrer = ""; 762 763 if(System.Web.HttpContext.Current.Request.UrlReferrer != null) 764 referrer = System.Web.HttpContext.Current.Request.UrlReferrer.ToString(); 765 766 } 767 768 @{ 769 var inspectionName = brandName; 770 string breadcrumbTripText = ""; 771 string breadcrumbTripLink = ""; 772 switch (brandName) 773 { 774 case "NST": 775 case "NST Ireland": 776 { 777 inspectionName = "NST's"; 778 breadcrumbTripText = "Trips"; 779 breadcrumbTripLink = "/trips"; 780 break; 781 } 782 case "Studylink": 783 { 784 inspectionName = "Studylink's"; 785 breadcrumbTripText = "Trips"; 786 breadcrumbTripLink = "/trips"; 787 break; 788 } 789 case "European Study Tours": 790 { 791 inspectionName = "EST's"; 792 breadcrumbTripText = ""; 793 breadcrumbTripLink = ""; 794 break; 795 } 796 default: 797 inspectionName = "NST's"; 798 breadcrumbTripText = "Trips"; 799 breadcrumbTripLink = "/trips"; 800 break; 801 } 802 } 803 804 <div class="masthead no-slider"> 805 <!-- Logo Overlay --> 806 <div class="background-image"> 807 <img src='@GetOptimisedImage(GetString("Item.Link_To_Item_Type.Banner_Image"))' alt=""> 808 </div> 809 @if (!String.IsNullOrWhiteSpace(brandLogo)) 810 { 811 <div class="clearfix logo"> 812 <div class="container"> 813 <a href="/"><img class="hide-on-scroll-50 no-mobile" src="@brandLogo" alt="@brandName"></a> 814 </div> 815 </div> 816 } 817 </div> 818 819 <section class="breadcrumbs clearfix container"> 820 <p><span class="bold">You are here:</span></p> 821 <ul class="breadcrumbtrail"> 822 <li> 823 <a href="/">Home</a> 824 </li> 825 826 827 @if (!String.IsNullOrWhiteSpace(breadcrumbTripLink)) 828 { 829 <li> 830 <a href="@breadcrumbTripLink">@breadcrumbTripText</a> 831 </li> 832 } 833 834 @if (tripName != "") 835 { 836 <li> 837 <a href="@referrer">@tripName</a> 838 </li> 839 } 840 <li> 841 <a href="@accUrl">@accName</a> 842 </li> 843 </ul> 844 <a href="#" class="go-back"><p>Go back</p></a> 845 </section> 846 847 <section id="standard" class="page-content"> 848 <div class="container clearfix"> 849 <!-- content --> 850 <div class="col col-width-9 content-with-sidebar right"> 851 <!-- row --> 852 <div class="row accomodation"> 853 <div class="heading col col-width-12"> 854 <h1>@GetValue("Item.Link_To_Item_Type.Title")</h1> 855 @if ((bool)@GetValue("Item.Link_To_Item_Type.NST_Safety") == true) 856 { 857 <p class="pink">Inspected as part of @inspectionName Safety Management System</p> 858 } 859 </div> 860 <div class="information"> 861 <div class="col col-width-7 equalise mpp-lazy"> 862 <span class="red-dots"> 863 @GetValue("Item.Link_To_Item_Type.Summary_Points").ToString().Replace("src", "data-original").Replace("class='", "class='lazy") 864 </span> 865 <h3 class="margin-bottom-20">Location</h3> 866 <p>@GetValue("Item.Link_To_Item_Type.Location_Summary_Text").ToString().Replace("src", "data-original").Replace("class='", "class='lazy")</p> 867 </div> 868 @if (@GetValue("Item.Link_To_Item_Type.Google_Maps_URL") != "") 869 { 870 <div class="col col-width-5 equalise side-image"> 871 <div class="map" id="map"> 872 @GetValue("Item.Link_To_Item_Type.Google_Maps_URL") 873 </div> 874 </div> 875 } 876 </div><!-- information --> 877 </div><!-- row accommodation --> 878 <!-- row --> 879 <div class="row"> 880 <div class="col col-width-6"> 881 <h3 class="margin-bottom-20">Student rooms</h3> 882 <span class="red-dots"> 883 <div class="list-group mpp-lazy"> 884 @GetValue("Item.Link_To_Item_Type.Student_Room_Points").ToString().Replace("src", "data-original").Replace("class='", "class='lazy") 885 </div> 886 </span> 887 </div> 888 889 <div class="col col-width-6"> 890 <h3 class="margin-bottom-20">Staff rooms</h3> 891 <span class="red-dots"> 892 <div class="list-group mpp-lazy"> 893 @GetValue("Item.Link_To_Item_Type.Staff_Room_Points").ToString().Replace("src", "data-original").Replace("class='", "class='lazy") 894 </div> 895 </span> 896 </div> 897 </div><!-- row --> 898 899 <div class="row" id="visits"> 900 <h3 class="margin-bottom-20">@GetValue("Item.Link_To_Item_Type.Image_Carousel_Title")</h3> 901 <div class="slick-container secondary-grey-background"> 902 <div class="slick centered"> 903 @foreach (LoopItem i in GetLoop("Item.Link_To_Item_Type.Image_Carousel")) 904 { 905 <div class="image-slide equalise"> 906 <img class="lazy" data-original='@GetOptimisedImage(i.GetString("Item.Link_To_Item_Type.Image_Carousel.Image"))' alt="@i.GetString(" item.link_to_item_type.image_carousel.title")"=""> 907 <div class="heading"> 908 <p>@i.GetString("Item.Link_To_Item_Type.Image_Carousel.Title")</p> 909 </div> 910 </div> 911 } 912 </div> 913 </div> 914 </div><!-- row --> 915 <!-- row --> 916 <div class="row"> 917 <h3 class="margin-bottom-20">Facilities</h3> 918 <span class="red-dots"> 919 <div class="list-group col col-width-4 mpp-lazy"> 920 @GetValue("Item.Link_To_Item_Type.Column1").ToString().Replace("src", "data-original").Replace("class='", "class='lazy") 921 </div> 922 <div class="list-group col col-width-4 mpp-lazy"> 923 @GetValue("Item.Link_To_Item_Type.Column_2").ToString().Replace("src", "data-original").Replace("class='", "class='lazy") 924 </div> 925 <div class="list-group col col-width-4 mpp-lazy"> 926 @GetValue("Item.Link_To_Item_Type.Column_3").ToString().Replace("src", "data-original").Replace("class='", "class='lazy") 927 </div> 928 </span> 929 </div> 930 931 932 </div><!-- content --> 933 934 <div class="col col-width-3 sidebar left"> 935 <!-- essentials --> 936 <div class="essentials secondary-grey-background"> 937 <h4 class="mobile-only">Essentials</h4> 938 @if (@GetValue("Item.Link_To_Item_Type.Link") != "") 939 { 940 <div class="link"> 941 <span class="icon-link"></span> 942 <a target="_blank" href='@GetValue("Item.Link_To_Item_Type.Link")'>@GetValue("Item.Link_To_Item_Type.Link")</a> 943 </div> 944 } 945 @if (@GetValue("Item.Link_To_Item_Type.Capacity_List") != "") 946 { 947 <div class="options mpp-lazy"> 948 <span class="icon-bed"></span> 949 <h5>Capacity</h5> 950 @GetValue("Item.Link_To_Item_Type.Capacity_List").ToString().Replace("src", "data-original").Replace("class='", "class='lazy") 951 </div> 952 } 953 @if (@GetValue("Item.Link_To_Item_Type.Disabled_Access_List") != "") 954 { 955 <div class="options mpp-lazy"> 956 <span class="icon-wheelchair"></span> 957 <h5>Disabled access</h5> 958 @GetValue("Item.Link_To_Item_Type.Disabled_Access_List").ToString().Replace("src", "data-original").Replace("class='", "class='lazy") 959 </div> 960 } 961 @if (@GetValue("Item.Link_To_Item_Type.Board_Basis_List") != "") 962 { 963 <div class="options mpp-lazy"> 964 <span class="icon-food"></span> 965 <h5>Board basis</h5> 966 @GetValue("Item.Link_To_Item_Type.Board_Basis_List").ToString().Replace("src", "data-original").Replace("class='", "class='lazy") 967 </div> 968 } 969 @if (@GetValue("Item.Link_To_Item_Type.MusicSubsection") != "") 970 { 971 <div class="options mpp-lazy"> 972 <span class="icon-music"></span> 973 <h5>Music</h5> 974 <p>@GetValue("Item.Link_To_Item_Type.MusicSubsection").ToString().Replace("src", "data-original").Replace("class='", "class='lazy")</p> 975 </div> 976 } 977 </div><!-- essentials --> 978 </div> 979 980 <div class="row"> 981 <a href="#" class="back-to-top scrolldown">Back to top</a> 982 </div> 983 </div> 984 <script defer=""> 985 setTimeout(function () { 986 loadScript('@Scripts.Url("~/bundles/mapescape")', function () { $('.map').mapescape(); }); 987 }, 2000); 988 </script> 989 <link rel="stylesheet" href='@Styles.Url("~/bundles/mapescape_css")' media="none" onload="if(media!='all')media='all'"><noscript><link rel="stylesheet" href='@Styles.Url("~/bundles/mapescape_css")'></noscript> 990 </section> 991 992 993 </main> 994 995 <footer> 996 @if (feefoInformation != null && feefoInformation.NumberOfReviews > 0) 997 { 998 string userReviews = feefoInformation.NumberOfReviews > 1 ? "user reviews" : "user review"; 999 string userRatings = feefoInformation.NumberOfRatings > 1 ? "ratings" : "rating"; 1000 string image = GetString("Item.Area.FeefoImage"); 1001 <section class="preFooter"> 1002 <div class="row container padding-bottom-0"> 1003 <div class="col col-width-6 feefo-markup"> 1004 <div> 1005 <strong><span>@feefoInformation.CompanyName</span></strong><br> 1006 <span> 1007 <span>@feefoInformation.Score</span> out of <span>5</span> 1008 </span> 1009 based on <span>@feefoInformation.NumberOfRatings</span> @userRatings.<br> 1010 <span>@feefoInformation.NumberOfReviews</span> @userReviews. 1011 </div> 1012 </div> 1013 <div class="col col-width-6 feefo-badge"> 1014 <a href="@feefoInformation.ReviewsUrl" target="_blank" rel="noopener"><img class="lazy" data-original="@image"></a> 1015 </div> 1016 </div> 1017 </section> 1018 } 1019 <div class="upper row padding-bottom-0 container"> 1020 1021 @if (theme != "uk") 1022 { 1023 <div class="col col-width-4 no-mobile"> 1024 <img data-original='@GetString("Item.Area.FooterLogo")' class="footerLogo lazy" alt="@logoAltText"> 1025 </div> 1026 1027 <div class="col col-width-4 margin-bottom-0 certificates"> 1028 <img data-original='@GetString("Item.Area.AccreditationLogos")' alt="Certificates" class="footerCertificates lazy"> 1029 1030 @if (social) 1031 { 1032 <div class="clear margin-20 social-follow"> 1033 @if (!string.IsNullOrWhiteSpace(twitterUN)) 1034 { 1035 <a href="https://www.twitter.com/@twitterUN" target="_blank" rel="noopener"><img class="footersocial margin-right-5 lazy" data-original="/Files/Templates/Designs/Condition/assets/images/Icons/social-twitter.svg" alt="Twitter"></a> 1036 } 1037 @if (!string.IsNullOrWhiteSpace(facebookUN)) 1038 { 1039 <a href="https://www.facebook.com/@facebookUN" target="_blank" rel="noopener"><img class="footersocial margin-right-5 lazy" data-original="/Files/Templates/Designs/Condition/assets/images/Icons/social-facebook.svg" alt="Facebook"></a> 1040 } 1041 @if (!string.IsNullOrWhiteSpace(flickrUN)) 1042 { 1043 <a href="https://www.flickr.com/photos/@flickrUN" target="_blank" rel="noopener"><img class="footersocial margin-right-5 lazy" data-original="/Files/Templates/Designs/Condition/assets/images/Icons/social-flickr.svg" alt="Flickr"></a> 1044 } 1045 @if (!string.IsNullOrWhiteSpace(youtubeUN)) 1046 { 1047 <a href="https://www.youtube.com/channel/@youtubeUN" target="_blank" rel="noopener"><img class="footersocial margin-right-5 lazy" data-original="/Files/Templates/Designs/Condition/assets/images/Icons/social-youtube.svg" alt="Youtube"></a> 1048 } 1049 @if (!string.IsNullOrWhiteSpace(instagramUN)) 1050 { 1051 <a href="https://www.instagram.com/@instagramUN" target="_blank" rel="noopener"><img class="footersocial margin-right-5 lazy" data-original="/Files/Templates/Designs/Condition/assets/images/Icons/social-instagram.svg" alt="Instagram"></a> 1052 } 1053 @if (!string.IsNullOrWhiteSpace(snapchatUN)) 1054 { 1055 <a href="https://www.snapchat.com/add/@snapchatUN" target="_blank" rel="noopener"><img class="footersocial margin-right-5 lazy" data-original="/Files/Templates/Designs/Condition/assets/images/Icons/social-snapchat.svg" alt="Snapchat"></a> 1056 } 1057 @if (!string.IsNullOrWhiteSpace(tumblrUN)) 1058 { 1059 tumblrUN = tumblrUN + ".tumblr.com"; 1060 <a href="https://@tumblrUN" target="_blank" rel="noopener"><img class="footersocial margin-right-5 lazy" data-original="/Files/Templates/Designs/Condition/assets/images/Icons/social-tumblr.svg" alt="Tumblr"></a> 1061 } 1062 </div> 1063 } 1064 </div> 1065 1066 } 1067 1068 1069 1070 @if (theme == "uk") 1071 { 1072 <div class="footer-clip-container d-flex align-bottom no-small-mobile"> 1073 <img src="@brandLogoSmall" class="lazy nst-footer-logo"> 1074 <img src="/Files/Files/Footer-Images/footer-clip-path.png" class="lazy clip-image"> 1075 <div class="col col-width-4 margin-bottom-20 contacts"> 1076 <p class="bold">Tel <span class="regular"><a class="phone" href='tel:@GetString("Item.Area.TelephoneOther")'>@GetString("Item.Area.TelephoneOther")</a></span></p> 1077 <p class="bold"> 1078 Email <span class="regular"> 1079 <a href='mailto:@GetString("Item.Area.Email")'>@GetString("Item.Area.Email")</a> 1080 </span> 1081 </p> 1082 </div> 1083 </div> 1084 1085 1086 <div class="footer-clip-container footer-clip-container-mobile"> 1087 <img src="@brandLogoSmall" class="lazy nst-footer-logo"> 1088 <img src="/Files/Files/Footer-Images/footer-clip-path.png" class="lazy clip-image"> 1089 <div class="col col-width-4 margin-bottom-20 contacts"> 1090 <p class="bold">Tel <span class="regular"><a class="phone" href='tel:@GetString("Item.Area.TelephoneOther")'>@GetString("Item.Area.TelephoneOther")</a></span></p> 1091 <p class="bold"> 1092 Email <span class="regular"> 1093 <a href='mailto:@GetString("Item.Area.Email")'>@GetString("Item.Area.Email")</a> 1094 </span> 1095 </p> 1096 </div> 1097 </div> 1098 } 1099 else 1100 { 1101 <div class="col col-width-4 margin-bottom-20 contacts"> 1102 <p class="bold">Tel <span class="regular"><a class="phone" href='tel:@GetString("Item.Area.TelephoneOther")'>@GetString("Item.Area.TelephoneOther")</a></span></p> 1103 1104 <p class="bold">Fax <span class="regular">@GetString("Item.Area.Fax")</span></p> 1105 <p class="bold"> 1106 Email <span class="regular"> 1107 <a href='mailto:@GetString("Item.Area.Email")'>@GetString("Item.Area.Email")</a> 1108 </span> 1109 </p> 1110 </div> 1111 } 1112 1113 </div> 1114 1115 1116 @if (theme == "uk") 1117 { 1118 <div class="beyond-footer-container"> 1119 <div class="beyond-footer-padding"> 1120 <div class="beyond-footer-image-container "> 1121 <a href="https://pglbeyond.com" target="_blank"><img class="beyond-footer-beyond-image" src="/Files/Files/Footer-Images/PGL-Beyond.png"></a> 1122 </div> 1123 <div class="beyond-footer-image-container "> 1124 <a href="https://pglbeyond.com" target="_blank"><img class="beyond-footer-brand-image" src="/Files/Files/Footer-Images/All-Brands.png"></a> 1125 </div> 1126 </div> 1127 </div> 1128 } 1129 1130 <div class="lower row centralise padding-top-40 container"> 1131 <nav class="footer-nav"> 1132 <ul class="clearfix"> 1133 <li><a href="/about-us">About Us</a></li> 1134 @if (theme == "est") 1135 { 1136 1137 <li><a href="https://www.euro-study-tours.co.uk/work-for-us">Work for Us</a></li> 1138 } 1139 else 1140 { 1141 <li><a href="https://www.nstgroup.co.uk/work-for-us">Work for Us</a></li> 1142 } 1143 1144 <li><a href="/cookie-policy">Cookie Policy</a></li> 1145 <li><a href="/privacy-statement">Privacy Statement</a></li> 1146 <li><a href="/legal-information">Legal Information</a></li> 1147 <li><a href="/modern-slavery">Modern Slavery</a></li> 1148 @if (theme == "uk" || theme == "slk" || theme == "est") 1149 { 1150 <li> 1151 <a href="https://www.gov.uk/foreign-travel-advice" target="_blank" rel="noopener">Foreign Travel Advice</a> 1152 </li> 1153 } 1154 else 1155 { 1156 <li> 1157 <a style="padding:0px 0px 0px 20px;">Foreign Travel Advice</a> <a href="https://www.dfa.ie/travel/travel-advice/" style="padding:0px 0px; text-decoration:underline;" target="_blank">ROI</a> <a style="padding:0px 0px;"> & </a> <a href="https://www.gov.uk/foreign-travel-advice" style="padding:0px 0px; text-decoration:underline;" target="_blank">NI</a> 1158 </li> 1159 } 1160 1161 <li><a href="/sitemap">Sitemap</a></li> 1162 <li><a class="ot-sdk-show-settings" style="cursor:pointer;">Cookies Settings</a></li> 1163 </ul> 1164 </nav> 1165 <p class="company-disclaimer" style="padding-top: 25px;">@GetString("Item.Area.CompanyRegistration")</p> 1166 <!-- <p class="copyright">© 2014 NST Travel Group Ltd</p> --> 1167 <p class="footer-company-address"> 1168 @GetString("Item.Area.CompanyAddress") 1169 </p> 1170 </div> 1171 @{ 1172 PageService affiliatepages = new PageService(); 1173 var allffiliatepages = affiliatepages.GetPagesByTitle("Affiliation Logos"); 1174 1175 if (theme != "uk") 1176 { 1177 1178 foreach (var page in allffiliatepages.Where(x => x.AreaId == Convert.ToInt32(GetGlobalValue("Global:Area.ID")))) 1179 { 1180 <div id="Affiliation-Logos">@RenderPageContent(page.ID)</div> 1181 } 1182 } 1183 } 1184 </footer> 1185 1186 @if (theme != "uk") 1187 { 1188 <div class="beyond-footer-container"> 1189 <div class="beyond-footer-curved-edge"> &nbsp; </div> 1190 <div class="beyond-footer-padding"> 1191 <div class="beyond-footer-image-container "> 1192 <a href="https://pglbeyond.com" target="_blank"><img class="beyond-footer-beyond-image" src="/Files/Files/Footer-Images/PGL-Beyond.png"></a> 1193 </div> 1194 <div class="beyond-footer-image-container "> 1195 <a href="https://pglbeyond.com" target="_blank"><img class="beyond-footer-brand-image" src="/Files/Files/Footer-Images/All-Brands.png"></a> 1196 </div> 1197 </div> 1198 </div> 1199 } 1200 </div> 1201 <div id="loadingOverlay"> 1202 <div style="width: 100%; height: 100%; background-position: center; background-repeat: no-repeat; background-image: url('@loadingImage')"></div> 1203 </div> 1204 <script> 1205 function displayLoadingOverlay() { 1206 //var scrollposition = window.sc 1207 $("#loadingOverlay").css("top", window.scrollY); 1208 $("#loadingOverlay").fadeIn(); 1209 $("body").css("overflow-y", "hidden"); 1210 } 1211 1212 function hideLoadingOverlay() { 1213 $("#loadingOverlay").fadeOut(); 1214 $("body").css("overflow-y", "initial"); 1215 } 1216 1217 //$("img.lazy").each(function () { 1218 // $(this).attr("src", $(this).attr("data-original"); 1219 // //$(this).attr("data-original", $(this).attr("src")); 1220 // // $(this).attr("src", "/Files/Images/Loading/NST_loading.gif"); 1221 // //$(this).removeAttr("src"); 1222 //}); 1223 1224 //$(function() { 1225 // $('.tile-inner-content').hover(function () { 1226 // console.log("oooooh"); 1227 // $(this).fadeOut(); 1228 // }, function () { 1229 // $(this).fadeIn(); 1230 // }); 1231 //}); 1232 1233 </script> 1234 1235 <script src='@Scripts.Url("~/bundles/picker")'></script> 1236 <script src='@Scripts.Url("~/bundles/mainJS")'></script> @* dont put mainJS in async, it breaks FastClick and Slickify *@ 1237 <script type="text/javascript"> 1238 setTimeout(function () { 1239 var nodes = document.querySelectorAll('.mpp-lazy img'); 1240 var arr = Array.prototype.slice.call(nodes); 1241 arr.forEach(function (obj) { obj.classList.add('lazy'); }); 1242 }, 10); 1243 </script> 1244 1245 <!-- begin SnapEngage code --> 1246 @if (enableChat && !String.IsNullOrEmpty(ChatGuid)) 1247 { 1248 <script type="text/plain" class="optanon-category-C0003"> 1249 setTimeout(function () { 1250 loadScript('@Scripts.Url("~/bundles/snapengage")', function () { initSnapEnagage('@ChatGuid'); }); 1251 }, 2000); 1252 </script> 1253 } 1254 <!-- end SnapEngage code --> 1255 </body> 1256 </html> 1257