Error executing template "Designs/Esbjerg/_parsed/Person.parsed.cshtml"
System.Data.SqlClient.SqlException (0x80131904): A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (provider: Named Pipes Provider, error: 40 - Could not open a connection to SQL Server) ---> System.ComponentModel.Win32Exception (0x80004005): The network path was not found
   at System.Data.ProviderBase.DbConnectionPool.TryGetConnection(DbConnection owningObject, UInt32 waitForMultipleObjectsTimeout, Boolean allowCreate, Boolean onlyOneCheckConnection, DbConnectionOptions userOptions, DbConnectionInternal& connection)
   at System.Data.ProviderBase.DbConnectionPool.TryGetConnection(DbConnection owningObject, TaskCompletionSource`1 retry, DbConnectionOptions userOptions, DbConnectionInternal& connection)
   at System.Data.ProviderBase.DbConnectionFactory.TryGetConnection(DbConnection owningConnection, TaskCompletionSource`1 retry, DbConnectionOptions userOptions, DbConnectionInternal oldConnection, DbConnectionInternal& connection)
   at System.Data.ProviderBase.DbConnectionInternal.TryOpenConnectionInternal(DbConnection outerConnection, DbConnectionFactory connectionFactory, TaskCompletionSource`1 retry, DbConnectionOptions userOptions)
   at System.Data.SqlClient.SqlConnection.TryOpenInner(TaskCompletionSource`1 retry)
   at System.Data.SqlClient.SqlConnection.TryOpen(TaskCompletionSource`1 retry)
   at System.Data.SqlClient.SqlConnection.Open()
   at Dynamicweb.Data.DatabaseConnectionProvider.CreateConnection()
   at Dynamicweb.Data.Database.CreateDataReader(CommandBuilder commandBuilder, IDbConnection connection, IDbTransaction transaction, Int32 commandTimeout)
   at Dynamicweb.Content.Items.ItemList.GetItemListById(Int32 id)
   at Dynamicweb.Content.Items.Editors.ItemRelationListEditor.GetItems(Object value)
   at Dynamicweb.Content.Items.Editors.ItemRelationListEditor.GetViewModelValue(Object value)
   at System.Lazy`1.CreateValue()
   at System.Lazy`1.LazyInitValue()
   at Dynamicweb.Frontend.ItemFieldViewModel.GetValue()
   at Dynamicweb.Frontend.ItemFieldViewModel.GetValue[T]()
   at Dynamicweb.Frontend.ItemViewModel.GetItems(String systemName)
   at CompiledRazorTemplates.Dynamic.RazorEngine_3135dcf75f6046419b19cacfa9c3478b.Execute() in D:\Subsites\Files\Templates\Designs\Esbjerg\_parsed\Person.parsed.cshtml:line 543
   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()
ClientConnectionId:00000000-0000-0000-0000-000000000000
Error Number:53,State:0,Class:20

1 @using System.Activities.Statements 2 @inherits Dynamicweb.Rendering.ViewModelTemplate<Dynamicweb.Frontend.PageViewModel> 3 @Title("Subsite - Master") 4 @Description("Master template til subsites") 5 @{ 6 var bodyClass = "subsite"; 7 8 // thema variables 9 var themeActive = Model.Area.Item.GetBoolean("Subsite"); 10 var themeTop = Model.Area.Item.GetList("ThemeTop").SelectedValue; 11 var themeContentArea = Model.Area.Item.GetList("ThemeContentArea").SelectedValue; 12 var themeFooter = Model.Area.Item.GetList("ThemeFooter").SelectedValue; 13 var themeTopHex = themeActive && themeTop != null ? themeTop : ""; 14 var themeContentHex = themeActive && themeContentArea != null ? themeContentArea : ""; 15 var themeFooterHex = themeActive && themeFooter != null ? themeFooter : ""; 16 17 var searchPageId = Model.Area.Item.GetInt64("SearchResultPage"); 18 var bodyId = ""; 19 20 // if current page is the searchresult page 21 if (searchPageId != 0) 22 { 23 if (Dynamicweb.Frontend.PageView.Current().Page.ID == searchPageId) 24 { 25 bodyId = "id=\"cludo-search-results\""; 26 } 27 } 28 29 if (Dynamicweb.Environment.ExecutingContext.IsAdminLoggedIn()) 30 { 31 bodyClass += " logged-in"; 32 } 33 } 34 35 <!DOCTYPE html> 36 <html lang="@Dynamicweb.Services.Areas.GetArea(Model.Area.ID).CultureInfo.TwoLetterISOLanguageName" class="no-js"> 37 38 @inherits Dynamicweb.Rendering.ViewModelTemplate<Dynamicweb.Frontend.PageViewModel> 39 40 @using Esbjerg.Logic 41 42 @{ 43 string cssPath = "/Files/Templates/Designs/" + Pageview.Layout.Design.Name; 44 //Color codes 45 // string colorPrimary = "#007AB8"; 46 // string colorPrimaryHover = "#004069"; 47 // string colorPrimaryAlternate = "#00669F"; 48 // string colorSecondary = "#007AB8"; 49 // string textPrimary = "#FFFFFF"; 50 // string textSecondary = "#FFFFFF"; 51 // string colorLink = "#D53F53"; 52 // string colorLinkAlternate = colorPrimary; 53 54 // if (Model.Area.Item.GetBoolean("Subsite")) 55 // { 56 // colorPrimary = Model.Area.Item.GetString("ColorArea1"); 57 // colorPrimaryHover = Model.Area.Item.GetString("HoverColor"); // Need new color in BE here 58 // colorPrimaryAlternate = colorPrimaryHover; 59 // colorSecondary = Model.Area.Item.GetString("ColorArea2"); 60 // textPrimary = Model.Area.Item.GetString("MenuTextColorPassive"); 61 // textSecondary = Model.Area.Item.GetString("HeaderFooterMenuText"); 62 // colorLink = colorPrimary; 63 // colorLinkAlternate = colorPrimary; 64 // } 65 66 string appleTouchIcon = @Model.Area.Item.GetString("Apple_touch_icon"); 67 string Favicon32x32 = @Model.Area.Item.GetString("Favicon32x32"); 68 string Favicon16x16 = @Model.Area.Item.GetString("Favicon16x16"); 69 } 70 <head> 71 <title>@Model.Title</title> 72 <meta name="pageID" content='@Model.ID'> 73 <script src="https://cookiecontrol.bleau.dk/scripts/cookieconsent.js"></script> 74 <script id="cookiecontrolfunctions" src="https://cookiecontrol.bleau.dk/scripts/Cookiecontrolfunctions.js" data-cname="Esbjerg" data-defaultset="EsbjergDefault"></script> 75 <meta name="description" content="@Model.Description" /> 76 <meta name="keywords" content="@Model.Keywords" /> 77 <meta charset="utf-8"> 78 <!-- Add to web.config --> 79 <meta http-equiv="X-UA-Compatible" content="IE=edge"> 80 <meta name="viewport" content="width=device-width, initial-scale=1"> 81 <meta name="format-detection" content="telephone=no"> 82 83 <!-- Change this to be dynamic --> 84 @RenderSnippet("MetaTags") 85 86 <!-- Favicons @appleTouchIcon test="@(!String.IsNullOrEmpty(appleTouchIcon) ? "@appleTouchIcon" : "/apple-touch-icon.png")" --> 87 88 89 <link rel="apple-touch-icon" sizes="180x180" href="@(!String.IsNullOrEmpty(appleTouchIcon) ? @appleTouchIcon : "/apple-touch-icon.png")"> 90 <link rel="icon" type="image/png" sizes="32x32" href="@(!String.IsNullOrEmpty(@Favicon32x32) ? @Favicon32x32 : "/favicon-32x32.png")"> 91 <link rel="icon" type="image/png" sizes="16x16" href="@(!String.IsNullOrEmpty(@Favicon16x16) ? @Favicon16x16 : "/favicon-16x16.png")"> 92 <link rel="manifest" href="/site.webmanifest"> 93 <link rel="mask-icon" href="/safari-pinned-tab.svg" color="Favicon32x32#5bbad5"> 94 <meta name="msapplication-TileColor" content="#da532c"> 95 <meta name="theme-color" content="#ffffff"> 96 97 @RenderSnippet("EditorSnippet") 98 99 <!-- Create a block of inline styling to display until the primary CSS is ready. --> 100 <style type="text/css"> @Helpers.ReadFile(Pageview.Layout.Design.Path, "static/dist/css/critical-subsite.min.css")</style> 101 @* <link rel="preload" href="@cssPath/static/dist/css/critical-subsite.min.css" as="style" onload="this.onload=null;this.rel='stylesheet';window.esbjerg&&window.esbjerg.stylesLoaded&&window.esbjerg.stylesLoaded()"> *@ 102 <link rel="preload" href="@cssPath/static/dist/css/main-subsite.min.css" as="style" onload="this.onload=null;this.rel='stylesheet';window.esbjerg&&window.esbjerg.stylesLoaded&&window.esbjerg.stylesLoaded()"> 103 <noscript><link rel="stylesheet" type="text/css" href="@cssPath/static/dist/css/main-subsite.min.css"></noscript> 104 <!-- www.Cludo.com search start CSS --> 105 <link href="https://customer.cludo.com/assets/80/10930/cludo-search.min.css" type="text/css" rel="stylesheet"> 106 <!-- Preload our main script, since we know we are gonna load this later --> 107 @*<link rel="preload" as="script" href="@cssPath/static/dist/js/main.min.js">*@ 108 109 <link rel="preload" href="@cssPath/static/dist/fonts/OpenSans/OpenSans-Regular.woff2" as="font" type="font/woff2" crossorigin="anonymous"> 110 <link rel="preload" href="@cssPath/static/dist/fonts/OpenSans/OpenSans-Regular.woff" as="font" type="font/woff" crossorigin="anonymous"> 111 <link rel="preload" href="@cssPath/static/dist/fonts/OpenSans/OpenSans-Regular.ttf" as="font" type="font/ttf" crossorigin="anonymous"> 112 113 <link rel="preload" href="@cssPath/static/dist/fonts/OpenSans/OpenSans-Light.woff2" as="font" type="font/woff2" crossorigin="anonymous"> 114 <link rel="preload" href="@cssPath/static/dist/fonts/OpenSans/OpenSans-Light.woff" as="font" type="font/woff" crossorigin="anonymous"> 115 <link rel="preload" href="@cssPath/static/dist/fonts/OpenSans/OpenSans-Light.ttf" as="font" type="font/ttf" crossorigin="anonymous"> 116 117 <link rel="preload" href="@cssPath/static/dist/fonts/OpenSans/OpenSans-Bold.woff2" as="font" type="font/woff2" crossorigin="anonymous"> 118 <link rel="preload" href="@cssPath/static/dist/fonts/OpenSans/OpenSans-Bold.woff" as="font" type="font/woff" crossorigin="anonymous"> 119 <link rel="preload" href="@cssPath/static/dist/fonts/OpenSans/OpenSans-Bold.ttf" as="font" type="font/ttf" crossorigin="anonymous"> 120 121 122 123 <!-- You can use "prefetch" to preload other important assets (if you're not using HTTP/2 push) --> 124 <!-- And you can tell the browser to pre-connect to other sites you know you are going to talk to eventually: --> 125 <!--link rel="dns-prefetch" href="https://cdn.polyfill.io"--> 126 127 <script type="text/javascript">@Helpers.ReadFile(Pageview.Layout.Design.Path, "static/dist/js/modernizr.js")</script> 128 129 <!--Insights--> 130 <script type="text/javascript"> 131 !function (T, l, y) { var S = T.location, u = "script", k = "instrumentationKey", D = "ingestionendpoint", C = "disableExceptionTracking", E = "ai.device.", I = "toLowerCase", b = "crossOrigin", w = "POST", e = "appInsightsSDK", t = y.name || "appInsights"; (y.name || T[e]) && (T[e] = t); var n = T[t] || function (d) { var g = !1, f = !1, m = { initialize: !0, queue: [], sv: "4", version: 2, config: d }; function v(e, t) { var n = {}, a = "Browser"; return n[E + "id"] = a[I](), n[E + "type"] = a, n["ai.operation.name"] = S && S.pathname || "_unknown_", n["ai.internal.sdkVersion"] = "javascript:snippet_" + (m.sv || m.version), { time: function () { var e = new Date; function t(e) { var t = "" + e; return 1 === t.length && (t = "0" + t), t } return e.getUTCFullYear() + "-" + t(1 + e.getUTCMonth()) + "-" + t(e.getUTCDate()) + "T" + t(e.getUTCHours()) + ":" + t(e.getUTCMinutes()) + ":" + t(e.getUTCSeconds()) + "." + ((e.getUTCMilliseconds() / 1e3).toFixed(3) + "").slice(2, 5) + "Z" }(), iKey: e, name: "Microsoft.ApplicationInsights." + e.replace(/-/g, "") + "." + t, sampleRate: 100, tags: n, data: { baseData: { ver: 2 } } } } var h = d.url || y.src; if (h) { function a(e) { var t, n, a, i, r, o, s, c, p, l, u; g = !0, m.queue = [], f || (f = !0, t = h, s = function () { var e = {}, t = d.connectionString; if (t) for (var n = t.split(";"), a = 0; a < n.length; a++) { var i = n[a].split("="); 2 === i.length && (e[i[0][I]()] = i[1]) } if (!e[D]) { var r = e.endpointsuffix, o = r ? e.location : null; e[D] = "https://" + (o ? o + "." : "") + "dc." + (r || "services.visualstudio.com") } return e }(), c = s[k] || d[k] || "", p = s[D], l = p ? p + "/v2/track" : config.endpointUrl, (u = []).push((n = "SDK LOAD Failure: Failed to load Application Insights SDK script (See stack for details)", a = t, i = l, (o = (r = v(c, "Exception")).data).baseType = "ExceptionData", o.baseData.exceptions = [{ typeName: "SDKLoadFailed", message: n.replace(/\./g, "-"), hasFullStack: !1, stack: n + "\nSnippet failed to load [" + a + "] -- Telemetry is disabled\nHelp Link: https://go.microsoft.com/fwlink/?linkid=2128109\nHost: " + (S && S.pathname || "_unknown_") + "\nEndpoint: " + i, parsedStack: [] }], r)), u.push(function (e, t, n, a) { var i = v(c, "Message"), r = i.data; r.baseType = "MessageData"; var o = r.baseData; return o.message = 'AI (Internal): 99 message:"' + ("SDK LOAD Failure: Failed to load Application Insights SDK script (See stack for details) (" + n + ")").replace(/\"/g, "") + '"', o.properties = { endpoint: a }, i }(0, 0, t, l)), function (e, t) { if (JSON) { var n = T.fetch; if (n && !y.useXhr) n(t, { method: w, body: JSON.stringify(e), mode: "cors" }); else if (XMLHttpRequest) { var a = new XMLHttpRequest; a.open(w, t), a.setRequestHeader("Content-type", "application/json"), a.send(JSON.stringify(e)) } } }(u, l)) } function i(e, t) { f || setTimeout(function () { !t && m.core || a() }, 500) } var e = function () { var n = l.createElement(u); n.src = h; var e = y[b]; return !e && "" !== e || "undefined" == n[b] || (n[b] = e), n.onload = i, n.onerror = a, n.onreadystatechange = function (e, t) { "loaded" !== n.readyState && "complete" !== n.readyState || i(0, t) }, n }(); y.ld < 0 ? l.getElementsByTagName("head")[0].appendChild(e) : setTimeout(function () { l.getElementsByTagName(u)[0].parentNode.appendChild(e) }, y.ld || 0) } try { m.cookie = l.cookie } catch (p) { } function t(e) { for (; e.length;)!function (t) { m[t] = function () { var e = arguments; g || m.queue.push(function () { m[t].apply(m, e) }) } }(e.pop()) } var n = "track", r = "TrackPage", o = "TrackEvent"; t([n + "Event", n + "PageView", n + "Exception", n + "Trace", n + "DependencyData", n + "Metric", n + "PageViewPerformance", "start" + r, "stop" + r, "start" + o, "stop" + o, "addTelemetryInitializer", "setAuthenticatedUserContext", "clearAuthenticatedUserContext", "flush"]), m.SeverityLevel = { Verbose: 0, Information: 1, Warning: 2, Error: 3, Critical: 4 }; var s = (d.extensionConfig || {}).ApplicationInsightsAnalytics || {}; if (!0 !== d[C] && !0 !== s[C]) { method = "onerror", t(["_" + method]); var c = T[method]; T[method] = function (e, t, n, a, i) { var r = c && c(e, t, n, a, i); return !0 !== r && m["_" + method]({ message: e, url: t, lineNumber: n, columnNumber: a, error: i }), r }, d.autoExceptionInstrumented = !0 } return m }(y.cfg); (T[t] = n).queue && 0 === n.queue.length && n.trackPageView({}) }(window, document, { 132 src: "https://az416426.vo.msecnd.net/scripts/b/ai.2.min.js", // The SDK URL Source 133 //name: "appInsights", // Global SDK Instance name defaults to "appInsights" when not supplied 134 //ld: 0, // Defines the load delay (in ms) before attempting to load the sdk. -1 = block page load and add to head. (default) = 0ms load after timeout, 135 //useXhr: 1, // Use XHR instead of fetch to report failures (if available), 136 //crossOrigin: "anonymous", // When supplied this will add the provided value as the cross origin attribute on the script tag 137 cfg: { // Application Insights Configuration 138 instrumentationKey: "5b8602f4-7263-41f7-b005-6c42db042759", 139 name: "BleauBorgerEsbjerg", 140 isCookieUseDisabled: "true" 141 /* ...Other Configuration Options... */ 142 } 143 }); 144 </script> 145 146 <!--Kode - Header section--> 147 @RenderSnippet("KodeHeader") 148 149 @RenderSnippet("MinimapHead") 150 151 @{string scriptHeaderArea = Model.Area.Item.GetString("ScriptHeaderArea"); } 152 @if (!string.IsNullOrEmpty(scriptHeaderArea)){ 153 @scriptHeaderArea 154 } 155 156 </head> 157 158 <body class="@bodyClass" @bodyId> 159 @if (themeActive) 160 { 161 <style> 162 :root { 163 /* Header/Top Area*/ 164 --theme-top__primary-color: @($"#{themeTopHex}"); 165 --theme-top__primary-color--alternate: @($"#{GetLinkColor(themeTopHex)}"); 166 --theme-top__primary-color--text: @GetThemeTextColor(themeTopHex); 167 --theme-top__primary-color--dimmed: @($"#{GetContrastColor(themeTopHex)}"); 168 --theme-top__color--link-hover: @($"#{themeTopHex}"); 169 170 /* Content Area */ 171 --theme-content__primary-color: @($"#{themeContentHex}"); 172 --theme-content__primary-color--alternate: @($"#{GetLinkColor(themeContentHex)}"); 173 --theme-content__primary-color--text: @GetThemeTextColor(themeContentHex); 174 --theme-content__color--gallery-arrow: @($"#{themeContentHex}"); 175 --theme-content__primary-color--dimmed: @($"#{GetContrastColor(themeContentHex)}"); 176 --theme-content__color--link-hover: @($"#{themeContentHex}"); 177 178 /* Footer Area */ 179 --theme-footer__primary-color: @($"#{themeFooterHex}"); 180 --theme-footer__primary-color--alternate: @($"#{GetLinkColor(themeFooterHex)}"); 181 --theme-footer__primary-color--text: @GetThemeTextColor(themeFooterHex); 182 --theme-footer__primary-color--dimmed: @($"#{GetContrastColor(themeFooterHex)}"); 183 --theme-footer__color--link-hover: @($"#{GetLinkColor(themeFooterHex)}"); 184 } 185 </style> 186 } 187 188 @inherits Dynamicweb.Rendering.ViewModelTemplate<Dynamicweb.Frontend.PageViewModel> 189 <header class="header-main header-main--subsite"> 190 <div class="header-main__top"> 191 <div class="search"> 192 <button type="button" name="toggle-search-button" aria-label="toggle-search" class="search__toggle-btn" aria-expanded="false" aria-haspopup="true"> 193 <span class="search__search-icon"> 194 <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 23 23.071"><path d="M22.292 22.295a.72.72 0 0 1-1.007 0l-5.7-5.612a9.306 9.306 0 0 1-5.826 2.034 9.11 9.11 0 1 1 9.256-9.109 8.984 8.984 0 0 1-2.4 6.105l5.68 5.59a.693.693 0 0 1-.003.992zM9.756 1.9a7.708 7.708 0 1 0 7.832 7.707A7.77 7.77 0 0 0 9.756 1.9z"/></svg> 195 </span> 196 <span class="search__close-icon"> 197 <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 19.801 19.798"><path d="M9.9 11.314l-8.485 8.485-1.416-1.414 8.487-8.486L.002 1.414 1.416 0 9.9 8.485 18.384 0 19.8 1.414l-8.485 8.485 8.485 8.485-1.416 1.414z"/></svg> 198 </span> 199 <span class="search__text" data-text-default="@Translate("Search", "Søg")" data-text-close="@Translate("Close", "Luk")"> 200 @Translate("Search", "Søg") 201 </span> 202 </button> 203 <div class="search__content cludo-search-page"> 204 <div class="grid grid-container"> 205 <div class="row row--right cludo-nav-items"> 206 <div class="cludo-nav-items-search"> 207 <form class="search__form" id="cludo-search-form" role="search" autocomplete="off"> 208 <input class="search__input" autofill="false" type="search" name="search" title="Global søgning" placeholder="@Translate("(Search) Label", "Hvad kan vi hjælpe med?")"> 209 <button type="submit" aria-label="@Translate("Search", "Søg")"> 210 <span class="cludo-search-icon"> 211 <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 23 23.071"><path d="M22.292 22.295a.72.72 0 0 1-1.007 0l-5.7-5.612a9.306 9.306 0 0 1-5.826 2.034 9.11 9.11 0 1 1 9.256-9.109 8.984 8.984 0 0 1-2.4 6.105l5.68 5.59a.693.693 0 0 1-.003.992zM9.756 1.9a7.708 7.708 0 1 0 7.832 7.707A7.77 7.77 0 0 0 9.756 1.9z"/></svg> 212 </span> 213 </button> 214 </form> 215 </div> 216 217 <div class="cludo-nav-items-filters"> 218 <div class="search-filters search-filters-mobile" aria-haspopup="true"></div> 219 </div> 220 </div> 221 </div> 222 </div> 223 </div> 224 <a class="skip-to-content" href="#maincontent">Gå til hovedindhold <span>(Tryk Enter)</span></a> 225 </div> 226 <div class="header-main__bottom"> 227 <div class="header-main__menu header-main__menu--to-top-on-open"> 228 <div class="menu menu--closed"> 229 <button type="button" name="toggle-menu-button" aria-label="toggle-menu" class="menu__burger-btn svg-fill--primary text--primary bg--primary" aria-haspopup="true" aria-controls="main-nav" data-svg-default="svg-fill--primary" data-svg-open="svg-fill--secondary" data-text-default="text--primary" data-text-open="text--secondary" data-background-default="bg--primary" data-background-open="bg--primary-alternate" aria-expanded="false"> 230 <span class="menu__menu-icon"> 231 <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 26 16"><path d="M.001 16v-2h26v2zm0-7V7h26v2zm0-7V0h26v2z"/></svg> 232 </span> 233 <span class="menu__close-icon"> 234 <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 19.801 19.798"><path d="M9.9 11.314l-8.485 8.485-1.416-1.414 8.487-8.486L.002 1.414 1.416 0 9.9 8.485 18.384 0 19.8 1.414l-8.485 8.485 8.485 8.485-1.416 1.414z"/></svg> 235 </span> 236 <span class="menu__text" data-text-open="@Translate("Menu", "Menu")" data-text-close="@Translate("Close", "Luk")"> 237 @Translate("Menu", "Menu") 238 </span> 239 </button> 240 241 @inherits Dynamicweb.Rendering.ViewModelTemplate<Dynamicweb.Frontend.PageViewModel> 242 243 @{ 244 var navImage = Model.Area.Item.GetString("Image"); 245 var navImageLink = Model.Area.Item.GetItem("ImageLink").GetString("LinkInternal"); 246 var navImageLinkText = Model.Area.Item.GetItem("ImageLink").GetString("LinkText"); 247 var navImageLinkTarget = Model.Area.Item.GetItem("ImageLink").GetList("LinkTarget").SelectedValue; 248 var navImageLinkLinkType = Model.Area.Item.GetItem("ImageLink").GetList("LinkType").SelectedValue; 249 250 var navImage2 = Model.Area.Item.GetString("Image2"); 251 var navImageLink2 = Model.Area.Item.GetItem("ImageLink2").GetString("LinkInternal"); 252 var navImageLinkText2 = Model.Area.Item.GetItem("ImageLink2").GetString("LinkText"); 253 var navImageLinkTarget2 = Model.Area.Item.GetItem("ImageLink2").GetList("LinkTarget").SelectedValue; 254 var navImageLinkLinkType2 = Model.Area.Item.GetItem("ImageLink2").GetList("LinkType").SelectedValue; 255 256 if (navImageLinkLinkType == "external") 257 { 258 navImageLink = Model.Area.Item.GetItem("ImageLink").GetString("LinkExternal"); 259 } 260 if (navImageLinkLinkType2 == "external") 261 { 262 navImageLink2 = Model.Area.Item.GetItem("ImageLink2").GetString("LinkExternal"); 263 } 264 265 } 266 267 <nav id="main-nav" class="menu__content" aria-labelledby="primary-navigation"> 268 <h2 id="primary-navigation" class="visuallyhidden">Primær navigation</h2> 269 270 @RenderNavigation(new { template = "SubsiteBurgerNavigation.xslt", expandmode = "all", startlevel = 2 }) 271 @if (!string.IsNullOrWhiteSpace(navImage)) 272 { 273 <div class="menu__culture"> 274 @if (navImage != "") 275 { 276 <a class="menu__culture-link" href="@navImageLink" target="@navImageLinkTarget"> 277 <img src="@navImage" alt="@navImageLinkText"> 278 </a> 279 } 280 @if (navImage2 != "") 281 { 282 <a class="menu__culture-link" href="@navImageLink2" target="@navImageLinkTarget2"> 283 <img src="@navImage2" alt="@navImageLinkText2"> 284 </a> 285 } 286 </div> 287 } 288 </nav> 289 </div> 290 </div> 291 <div class="header-main__bar"> 292 <div class="grid grid-container"> 293 <div class="header-main__logo logo"> 294 <a href="/" title="Gå til forsiden" class="logo__link"> 295 <img src="@Model.Area.Item.GetString("SiteLogo")" alt="Logo alt tekst"> 296 </a> 297 </div> 298 </div> 299 </div> 300 </div> 301 </header> 302 303 <main id="maincontent" tabindex="-1"> 304 @inherits Dynamicweb.Rendering.ViewModelTemplate<Dynamicweb.Frontend.PageViewModel> 305 @using System.Web; 306 307 308 @{ 309 var image = @Model.Item.GetString("Image"); 310 var icon = !string.IsNullOrEmpty(Model.Item.GetString("Icon")); 311 } 312 313 <div class="content content--primary"> 314 315 <section class="employee-details"> 316 317 <div class="grid grid-container"> 318 <div class="employee-details__box"> 319 <div class="employee-details__box-top"> 320 <div class="grid"> 321 <div class="row"> 322 <div class="col col--no-pad col--md-5 col--lg-7 col--offset-md-1"> 323 <div class="employee-details__breadcrumb"> 324 @RenderNavigation(new 325 { 326 template = "BreadcrumbPerson.xslt", 327 expandmode = "all", 328 id = "breadcrumb", 329 sitemapmode = "true", 330 includemode = "all" 331 }) 332 </div> 333 </div> 334 </div> 335 </div> 336 </div> 337 <div class="grid"> 338 <div class="row row--stretch employee-details__header"> 339 <div class="col col--no-pad col--xxs-8 col--offset-md-1"> 340 <header class="employee-details__header-content"> 341 <h1 class="employee-details__headline">@Model.Item.GetValue("Name")</h1> 342 <div class="employee-details__title"> 343 <p> 344 @Model.Item.GetValue("Title") 345 </p> 346 </div> 347 </header> 348 </div> 349 <div class="col col--no-pad col--xxs-4 col--md-3 employee-details__image-col"> 350 <div class="employee-details__image-container lazy" 351 data-src-xxs="/admin/public/GetImage.ashx?Image=@image&width=243&height=324" 352 data-src-lg="/admin/public/GetImage.ashx?Image=@image&width=293&height=391" 353 data-alt="@Model.Item.GetValue("Name")"> 354 <noscript> 355 <img src="@image" alt="@Model.Item.GetValue("Name")"> 356 </noscript> 357 </div> 358 </div> 359 </div> 360 <div class="row employee-details__footer @(!icon ? "employee-details__footer--single-col" : "")"> 361 <div class="col col--no-pad col--md-8 col--offset-md-1"> 362 <div class="employee-details__contact"> 363 <div class="employee-details__contact-col"> 364 365 <p class="employee-details__info"> 366 <b>@Translate("Contact", "Kontakt")</b> 367 </p> 368 @if (!string.IsNullOrEmpty(Model.Item.GetValue("Phone1").ToString())) 369 { 370 <p class="employee-details__info"> 371 @Translate("Phone", "Telefon"): <a href="tel:@Model.Item.GetValue("Phone1").ToString().Replace(" ", String.Empty)" class="employee-details__tel-link">@Model.Item.GetValue("Phone1")</a> 372 </p> 373 } 374 @if (!string.IsNullOrEmpty(Model.Item.GetValue("Phone2").ToString())) 375 { 376 <p class="employee-details__info"> 377 @Translate("Phone", "Telefon"): <a href="tel:@Model.Item.GetValue("Phone2").ToString().Replace(" ", String.Empty)" class="employee-details__tel-link">@Model.Item.GetValue("Phone2")</a> 378 </p> 379 } 380 @if (!string.IsNullOrEmpty(Model.Item.GetValue("Mobile").ToString())) 381 { 382 <p class="employee-details__info"> 383 @Translate("Mobile", "Mobil"): <a href="tel:@Model.Item.GetValue("Mobile").ToString().Replace(" ", String.Empty)" class="employee-details__tel-link">@Model.Item.GetValue("Mobile")</a> 384 </p> 385 } 386 @if (!string.IsNullOrEmpty(Model.Item.GetValue("Email").ToString())) 387 { 388 <a href="mailto:@Model.Item.GetValue("Email")" class="employee-details__link"> 389 390 @inherits Dynamicweb.Rendering.ViewModelTemplate<Dynamicweb.Frontend.ParagraphViewModel> 391 <span class="arrow"> 392 <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 40.62 16"><path d="M40.62 8l-8 8-.89-.89L38.84 8 31.73.89l.89-.89 8 8z"/><path class="spine" d="M0 7.5h40v1H0z"/></svg> 393 </span> 394 395 <span>@Model.Item.GetValue("Email")</span> 396 </a> 397 } 398 @if (!string.IsNullOrEmpty(Model.Item.GetString("WebsiteLabel"))) 399 { 400 <a target="_blank" href="http://@Model.Item.GetValue("Website")" class="employee-details__link"> 401 402 @inherits Dynamicweb.Rendering.ViewModelTemplate<Dynamicweb.Frontend.ParagraphViewModel> 403 <span class="arrow"> 404 <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 40.62 16"><path d="M40.62 8l-8 8-.89-.89L38.84 8 31.73.89l.89-.89 8 8z"/><path class="spine" d="M0 7.5h40v1H0z"/></svg> 405 </span> 406 407 <span>@Model.Item.GetValue("WebsiteLabel")</span> 408 </a> 409 } 410 </div> 411 @if (!string.IsNullOrEmpty(Model.Item.GetString("Address"))) 412 { 413 <div class="employee-details__contact-col"> 414 <p class="employee-details__info"> 415 <b>@Translate("Private", "Privat")</b> 416 </p> 417 @Model.Item.GetValue("Address") 418 419 </div> 420 } 421 </div> 422 </div> 423 @if (icon) 424 { 425 <div class="col col--xxs-0 col--md-3 employee-details__party-wrapper"> 426 <div class="employee-details__party"> 427 <img class="employee-details__party-image" src="@Model.Item.GetString("Icon")"> 428 </div> 429 </div> 430 } 431 </div> 432 </div> 433 </div> 434 </div> 435 </section> 436 437 <section class="rich-text soft-load"> 438 <div class="grid grid-container"> 439 <div class="row"> 440 <div class="col col--md-8 col--offset-md-2"> 441 <article class="rich-text__content"> 442 @Model.Item.GetString("Text") 443 </article> 444 </div> 445 </div> 446 </div> 447 </section> 448 </div> 449 450 <div class="content content--secondary"> 451 452 @{ 453 var personList = Esbjerg.Logic.Helpers.GetRelatedPersons(System.Web.HttpContext.Current.Request.QueryString["persons"], Model.ID.ToString()); 454 455 if (personList.Count > 0) 456 { 457 <section class="employee-container soft-load"> 458 <div class="grid grid-container"> 459 <div class="row"> 460 <div class="col"> 461 <h3 class="employee__headline">Andre Personer</h3> 462 </div> 463 </div> 464 <div class="row row--stretch"> 465 @foreach (var objPerson in personList.OrderBy(o => o.Sort)) 466 { 467 image = !string.IsNullOrEmpty(objPerson.Image) ? image = objPerson.Image : image = string.Empty; 468 icon = !string.IsNullOrEmpty(objPerson.Icon); 469 bool showProfile = bool.Parse(objPerson.ShowProfile); 470 471 <div class="col col--xs-6 col--md-4 col--lg-3"> 472 <div class="employee__wrapper"> 473 <div class="employee"> 474 @if (showProfile) 475 { 476 <a class="employee__link" href="/default.aspx?id=@objPerson.PageID&persons=@HttpContext.Current.Request.QueryString["persons"]&pid=@HttpContext.Current.Request.QueryString["pid"]" title="Gå til side der omhandler @objPerson.Name"><span class="visuallyhidden">Gå til side der omhandler @objPerson.Name</span></a> 477 } 478 <div class="employee__image-container lazy" 479 data-src-xxs="/admin/public/GetImage.ashx?Image=@image&width=180&height=240" 480 data-src-xs="/admin/public/GetImage.ashx?Image=@image&width=180&height=240" 481 data-src-sm="/admin/public/GetImage.ashx?Image=@image&width=240&height=320" 482 data-src-md="/admin/public/GetImage.ashx?Image=@image&width=240&height=320" 483 data-alt="@objPerson.Name"> 484 <noscript> 485 <img src="/admin/public/GetImage.ashx?Image=@image&width=180&height=240" alt="@objPerson.Name"> 486 </noscript> 487 </div> 488 <div class="employee__content"> 489 @if (icon || showProfile) 490 { 491 <div class="employee__party"> 492 @if (icon) 493 { 494 <img class="employee__party-image" src="@objPerson.Icon"> 495 } 496 @if (showProfile) 497 { 498 <div class="employee__arrow"> 499 <span class="arrow"> 500 <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 40.62 16"><path d="M40.62 8l-8 8-.89-.89L38.84 8 31.73.89l.89-.89 8 8z"/><path class="spine" d="M0 7.5h40v1H0z"/></svg> 501 </span> 502 </div> 503 } 504 </div> 505 } 506 <p class="employee__name"> 507 @objPerson.Name 508 </p> 509 <p class="employee__title"> 510 @objPerson.Title 511 </p> 512 </div> 513 </div> 514 </div> 515 </div> 516 } 517 </div> 518 </div> 519 </section> 520 } 521 522 } 523 524 </div> 525 526 527 </main> 528 529 @using System.Web; 530 @using Dynamicweb.Frontend 531 @inherits Dynamicweb.Rendering.ViewModelTemplate<Dynamicweb.Frontend.PageViewModel> 532 533 @{ 534 string redirectPage = ""; 535 536 string footerPhonenumber = Model.Area.Item.GetString("Phonenumber"); 537 string footerEmail = Model.Area.Item.GetString("Email"); 538 string footerFacebook = Model.Area.Item.GetString("Facebook"); 539 string footerTwitter = Model.Area.Item.GetString("Twitter"); 540 string footerLinkedIn = Model.Area.Item.GetString("LinkedIn"); 541 string footerInstagram = Model.Area.Item.GetString("Instagram"); 542 543 var links1 = Model.Area.Item.GetItems("ColumnLinks1"); 544 var links2 = Model.Area.Item.GetItems("ColumnLinks2"); 545 var links3 = Model.Area.Item.GetItems("ColumnLinks3"); 546 string CLabel1 = Model.Area.Item.GetString("ColumnLabel1"); 547 string CLabel2 = Model.Area.Item.GetString("ColumnLabel2"); 548 string CLabel3 = Model.Area.Item.GetString("ColumnLabel3"); 549 550 string contactValue = string.Empty; 551 552 var footerImage = Model.Area.Item.GetString("Image"); 553 var footerImageLink = Model.Area.Item.GetItem("ImageLink").GetString("LinkInternal"); 554 var footerImageLinkText = Model.Area.Item.GetItem("ImageLink").GetString("LinkText"); 555 var footerImageLinkTarget = Model.Area.Item.GetItem("ImageLink").GetList("LinkTarget").SelectedValue; 556 var footerImageLinkLinkType = Model.Area.Item.GetItem("ImageLink").GetList("LinkType").SelectedValue; 557 558 var footerImage2 = Model.Area.Item.GetString("Image2"); 559 var footerImageLink2 = Model.Area.Item.GetItem("ImageLink2").GetString("LinkInternal"); 560 var footerImageLinkText2 = Model.Area.Item.GetItem("ImageLink2").GetString("LinkText"); 561 var footerImageLinkTarget2 = Model.Area.Item.GetItem("ImageLink2").GetList("LinkTarget").SelectedValue; 562 var footerImageLinkLinkType2 = Model.Area.Item.GetItem("ImageLink2").GetList("LinkType").SelectedValue; 563 564 if (footerImageLinkLinkType == "external") 565 { 566 footerImageLink = Model.Area.Item.GetItem("ImageLink").GetString("LinkExternal"); 567 } 568 569 if (footerImageLinkLinkType2 == "external") 570 { 571 footerImageLink2 = Model.Area.Item.GetItem("ImageLink2").GetString("LinkExternal"); 572 } 573 574 if (Model.Area.Item.GetValue("Email") != null) 575 { 576 contactValue = footerEmail.Contains("@") ? "mailto:" + footerEmail : footerEmail; 577 } 578 } 579 580 <footer class="footer soft-load"> 581 <aside class="footer__sidebar"> 582 <div class="footer__culture"> 583 @if (footerImage != "") 584 { 585 <a class="footer__culture-link" href="@footerImageLink" target="@footerImageLinkTarget"> 586 <img src="@footerImage" alt="@footerImageLinkText"> 587 </a> 588 } 589 @if (footerImage2 != "") 590 { 591 <a class="footer__culture-link" href="@footerImageLink2" target="@footerImageLinkTarget2"> 592 <img src="@footerImage2" alt="@footerImageLinkText2"> 593 </a> 594 } 595 </div> 596 </aside> 597 <div class="footer__container"> 598 <div class="grid grid-container"> 599 <div class="row"> 600 <div class="col col--md-3 footer__col-first"> 601 <div class="footer__logo"> 602 @if (Model.Area.Item.GetString("Logo") != "") 603 { 604 <a href="/" title="Gå til forsiden" class="footer__logo-link"> 605 <img src="@Model.Area.Item.GetString("Logo")" alt="Logo alt tekst"> 606 </a> 607 } 608 </div> 609 <div class="footer__contact-desktop"> 610 611 @if (!string.IsNullOrEmpty(footerPhonenumber)) 612 { 613 <div class="footer__contact"> 614 <a href="tel:+45@(Model.Area.Item.GetString("Phonenumber"))" title="@Model.Area.Item.GetString("PhoneLabel")" class="footer__contact-link"> 615 <span class="footer__contact-svg"> 616 <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 26.054 26"><path d="M4.991 26a2.743 2.743 0 0 1-2.025-.844L.554 22.75a1.87 1.87 0 0 1-.548-1.45 1.263 1.263 0 0 1 .548-.958l4.824-3.609a2.4 2.4 0 0 1 1.32-.457 1.5 1.5 0 0 1 1.092.457l1.427 1.423a48.044 48.044 0 0 0 5.207-4.43 41.4 41.4 0 0 0 3.889-4.542l-1.476-1.469a1.8 1.8 0 0 1 0-2.406L20.455.5a1.71 1.71 0 0 1 2.412 0l2.413 2.4c1.289 1.286.723 2.836.067 4.629l-.067.183a57.34 57.34 0 0 1-7.605 9.913 51.92 51.92 0 0 1-9.883 7.528A6.261 6.261 0 0 1 4.991 26zm1.447-7.805a1.529 1.529 0 0 0-.84.291l-3.07 2.3c-.53.446-.227 1.15 0 1.531l1.535 1.531a2.019 2.019 0 0 0 1.305.324 2.928 2.928 0 0 0 1.217-.214c.072-.045 7.233-4.553 10.252-7.818a50.434 50.434 0 0 0 7.236-9.622c.3-.588.512-1.932-.109-2.515l-1.535-1.536a1.2 1.2 0 0 0-.827-.373.866.866 0 0 0-.708.373l-1.11 1.476-1.193 1.585a1.148 1.148 0 0 0 0 1.531l1.938 1.932c-3.4 5.511-9.1 9.743-11.4 11.307l-.107.074-1.889-1.886a.954.954 0 0 0-.695-.291z"/></svg> 617 </span> 618 @Model.Area.Item.GetString("Phonenumber") 619 </a> 620 <span> 621 @Model.Area.Item.GetString("PhonenumberLabel") 622 </span> 623 </div> 624 } 625 626 @if (!string.IsNullOrEmpty(footerEmail)) 627 { 628 <div class="footer__contact"> 629 <a href="@contactValue" title="@Model.Area.Item.GetString("EmailLabel")" class="footer__contact-link"> 630 <span class="footer__contact-svg"> 631 <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 26 21.125"><path d="M22.75 21.125H3.25A3.25 3.25 0 0 1 0 17.875V3.25A3.25 3.25 0 0 1 3.25 0h19.5A3.25 3.25 0 0 1 26 3.25v14.625a3.25 3.25 0 0 1-3.25 3.25zM4.062 1.625L13 9.395l8.938-7.77zM24.375 3.25a1.616 1.616 0 0 0-.516-1.182L13 11.375 2.141 2.068a1.616 1.616 0 0 0-.516 1.182v14.625A1.625 1.625 0 0 0 3.25 19.5h19.5a1.625 1.625 0 0 0 1.625-1.625z"/></svg> 632 </span> 633 @Model.Area.Item.GetString("EmailLabel") 634 </a> 635 <span> 636 @Model.Area.Item.GetString("EmailLabel_2") 637 </span> 638 </div> 639 } 640 </div> 641 </div> 642 <div class="col col--md-3 footer__col-info"> 643 <div class="footer__info"> 644 <div class="footer__accordion" data-module="accordion"> 645 <div class="accordion"> 646 @if (!string.IsNullOrEmpty(CLabel1)) 647 { 648 <h2 class="accordion__heading footer__heading"> 649 <button id="accordion__trigger_info" type="button" class="accordion__trigger" aria-expanded="false" aria-controls="accordion__content_info"> 650 @Model.Area.Item.GetString("ColumnLabel1") 651 <span class="accordion__chevron" aria-hidden="true"> 652 <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 25.469 14.143"><path d="M12.733 14.137l-.006.006L0 1.416 1.414 0l11.321 11.319L24.053 0l1.416 1.416L12.74 14.143z"/></svg> 653 </span> 654 </button> 655 </h2> 656 }else{ 657 <span class="accordion__heading footer__heading"> 658 <button id="accordion__trigger_info" type="button" class="accordion__trigger" aria-expanded="false" aria-controls="accordion__content_info"> 659 @Model.Area.Item.GetString("ColumnLabel1") 660 <span class="accordion__chevron" aria-hidden="true"> 661 <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 25.469 14.143"><path d="M12.733 14.137l-.006.006L0 1.416 1.414 0l11.321 11.319L24.053 0l1.416 1.416L12.74 14.143z"/></svg> 662 </span> 663 </button> 664 </span> 665 } 666 @if (links1 != null) 667 { 668 <div id="accordion__content_info" class="accordion__content" aria-hidden="true" aria-labelledby="accordion__trigger_info"> 669 <ul class="footer__list"> 670 @foreach (var columnLink in links1) 671 { 672 @RenderColumnLink(columnLink) 673 } 674 </ul> 675 </div> 676 } 677 </div> 678 </div> 679 </div> 680 </div> 681 <div class="col col--md-3 footer__col-hours"> 682 <div class="footer__hours"> 683 <div class="footer__accordion" data-module="accordion"> 684 <div class="accordion"> 685 @if (!string.IsNullOrEmpty(CLabel2)) 686 { 687 <h2 class="accordion__heading footer__heading"> 688 <button id="accordion__trigger_hours" type="button" class="accordion__trigger" aria-expanded="false" aria-controls="accordion__content_hours"> 689 @Model.Area.Item.GetString("ColumnLabel2") 690 <span class="accordion__chevron" aria-hidden="true"> 691 <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 25.469 14.143"><path d="M12.733 14.137l-.006.006L0 1.416 1.414 0l11.321 11.319L24.053 0l1.416 1.416L12.74 14.143z"/></svg> 692 </span> 693 </button> 694 </h2> 695 }else{ 696 697 <span class="accordion__heading footer__heading"> 698 <button id="accordion__trigger_hours" type="button" class="accordion__trigger" aria-expanded="false" aria-controls="accordion__content_hours"> 699 @Model.Area.Item.GetString("ColumnLabel2") 700 <span class="accordion__chevron" aria-hidden="true"> 701 <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 25.469 14.143"><path d="M12.733 14.137l-.006.006L0 1.416 1.414 0l11.321 11.319L24.053 0l1.416 1.416L12.74 14.143z"/></svg> 702 </span> 703 </button> 704 </span> 705 } 706 @if (links2 != null) 707 { 708 709 <div id="accordion__content_hours" class="accordion__content" aria-hidden="true" aria-labelledby="accordion__trigger_hours"> 710 <ul class="footer__list"> 711 @foreach (var columnLink in links2) 712 { 713 @RenderColumnLink(columnLink) 714 } 715 </ul> 716 </div> 717 } 718 </div> 719 </div> 720 <div class="footer__contact-mobile"> 721 <div class="footer__contact"> 722 <a href="tel:+45@(Model.Area.Item.GetString("Phonenumber"))" title="@Model.Area.Item.GetString("PhoneLabel")" class="footer__contact-link"> 723 <span class="footer__contact-svg"> 724 <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 26.054 26"><path d="M4.991 26a2.743 2.743 0 0 1-2.025-.844L.554 22.75a1.87 1.87 0 0 1-.548-1.45 1.263 1.263 0 0 1 .548-.958l4.824-3.609a2.4 2.4 0 0 1 1.32-.457 1.5 1.5 0 0 1 1.092.457l1.427 1.423a48.044 48.044 0 0 0 5.207-4.43 41.4 41.4 0 0 0 3.889-4.542l-1.476-1.469a1.8 1.8 0 0 1 0-2.406L20.455.5a1.71 1.71 0 0 1 2.412 0l2.413 2.4c1.289 1.286.723 2.836.067 4.629l-.067.183a57.34 57.34 0 0 1-7.605 9.913 51.92 51.92 0 0 1-9.883 7.528A6.261 6.261 0 0 1 4.991 26zm1.447-7.805a1.529 1.529 0 0 0-.84.291l-3.07 2.3c-.53.446-.227 1.15 0 1.531l1.535 1.531a2.019 2.019 0 0 0 1.305.324 2.928 2.928 0 0 0 1.217-.214c.072-.045 7.233-4.553 10.252-7.818a50.434 50.434 0 0 0 7.236-9.622c.3-.588.512-1.932-.109-2.515l-1.535-1.536a1.2 1.2 0 0 0-.827-.373.866.866 0 0 0-.708.373l-1.11 1.476-1.193 1.585a1.148 1.148 0 0 0 0 1.531l1.938 1.932c-3.4 5.511-9.1 9.743-11.4 11.307l-.107.074-1.889-1.886a.954.954 0 0 0-.695-.291z"/></svg> 725 </span> 726 @Model.Area.Item.GetString("Phonenumber") 727 </a> 728 <span> 729 @Model.Area.Item.GetString("PhonenumberLabel") 730 </span> 731 </div> 732 <div class="footer__contact"> 733 <a href="@contactValue" title="@Model.Area.Item.GetString("EmailLabel")" class="footer__contact-link"> 734 <span class="footer__contact-svg"> 735 <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 26 21.125"><path d="M22.75 21.125H3.25A3.25 3.25 0 0 1 0 17.875V3.25A3.25 3.25 0 0 1 3.25 0h19.5A3.25 3.25 0 0 1 26 3.25v14.625a3.25 3.25 0 0 1-3.25 3.25zM4.062 1.625L13 9.395l8.938-7.77zM24.375 3.25a1.616 1.616 0 0 0-.516-1.182L13 11.375 2.141 2.068a1.616 1.616 0 0 0-.516 1.182v14.625A1.625 1.625 0 0 0 3.25 19.5h19.5a1.625 1.625 0 0 0 1.625-1.625z"/></svg> 736 </span> 737 @Model.Area.Item.GetString("EmailLabel") 738 </a> 739 <span> 740 @Model.Area.Item.GetString("EmailLabel_2") 741 </span> 742 </div> 743 </div> 744 </div> 745 </div> 746 <div class="col col--md-3 footer__col-last"> 747 <div class="footer__shortcuts"> 748 @if (!string.IsNullOrEmpty(CLabel3)) 749 { 750 <h2 class="footer__heading"> 751 @Model.Area.Item.GetString("ColumnLabel3") 752 </h2> 753 } 754 755 @if (links3 != null) 756 { 757 <ul class="footer__list"> 758 @foreach (var columnLink in links3) 759 { 760 @RenderColumnLink(columnLink) 761 } 762 </ul> 763 } 764 </div> 765 <div class="footer__social"> 766 <div class="footer__social-text"> 767 @Translate("MeetEsbjergSoMe", "Mød Esbjerg på de sociale medier") 768 </div> 769 <div class="footer__social-links"> 770 @if (!string.IsNullOrEmpty(footerFacebook)) 771 { 772 string facebookLink = redirectPage + footerFacebook; 773 <a href="@facebookLink" title="link til Facebook" class="footer__social-link" target="_blank" rel="noopener noreferrer"> 774 <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 12.945 24.181"><path d="M8.32 24.181H3.698V12.944h-3.7V8.322h3.7V6.047a6.294 6.294 0 0 1 1.635-4.269A5.028 5.028 0 0 1 9.245.001h3.7v4.552h-3.7a.867.867 0 0 0-.64.426 1.624 1.624 0 0 0-.286 1v2.348h4.625v4.622H8.319v11.236z"/></svg> 775 </a> 776 } 777 @if (!string.IsNullOrEmpty(footerTwitter)) 778 { 779 string twitterLink = redirectPage + footerTwitter; 780 <a href="@twitterLink" title="Link til Twitter" class="footer__social-link" target="_blank" rel="noopener noreferrer"> 781 <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24.064 19.692"><path d="M7.56 19.693a13.155 13.155 0 0 1-4.023-.623 13.892 13.892 0 0 1-3.536-1.665H1.18a9.521 9.521 0 0 0 6.1-2.08 5.335 5.335 0 0 1-2.915-1.041 4.5 4.5 0 0 1-1.662-2.427l.114.023.068.015h.01a3.54 3.54 0 0 0 .638.1 2.887 2.887 0 0 0 .764-.068h.013a1.869 1.869 0 0 0 .611-.07 5.156 5.156 0 0 1-2.774-1.732 4.637 4.637 0 0 1-1.109-3.121v-.07a4.561 4.561 0 0 0 2.218.556 4.392 4.392 0 0 1-2.15-4.091 5.157 5.157 0 0 1 .624-2.5 14.11 14.11 0 0 0 4.438 3.674 12.9 12.9 0 0 0 5.688 1.524 18.723 18.723 0 0 0-.054-.353v-.01a5.178 5.178 0 0 1-.085-.747 4.833 4.833 0 0 1 1.456-3.535 4.765 4.765 0 0 1 3.468-1.456 4.719 4.719 0 0 1 2.012.415 4.249 4.249 0 0 1 1.526 1.179 7.016 7.016 0 0 0 1.724-.482h.009c.256-.108.536-.239.782-.355s.505-.235.744-.338a6.826 6.826 0 0 1-.9 1.525 5.4 5.4 0 0 1-1.319 1.18l.057-.008a10.711 10.711 0 0 0 1.4-.269 11.514 11.514 0 0 0 1.388-.485c-.349.487-.7.906-1.037 1.311a7.775 7.775 0 0 1-1.386 1.25v.623a14.166 14.166 0 0 1-.9 4.992 14.216 14.216 0 0 1-2.7 4.509 13.291 13.291 0 0 1-4.438 3.327 12.782 12.782 0 0 1-6.043 1.323z"/></svg> 782 </a> 783 } 784 @if (!string.IsNullOrEmpty(footerLinkedIn)) 785 { 786 string linkedInLink = redirectPage + footerLinkedIn; 787 <a href="@linkedInLink" title="Link til LinkedIn" class="footer__social-link" target="_blank" rel="noopener noreferrer"> 788 <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20.129 22.404"><path d="M11.451 22.404H7.112V7.113h4.409v.71a5.1 5.1 0 0 1 2.433-.58c.146 0 .284 0 .411.014a6.95 6.95 0 0 1 2.846.709 6.335 6.335 0 0 1 2.134 2.205 6.226 6.226 0 0 1 .782 2.917v9.315h-4.339v-9.316a1.562 1.562 0 0 0-.215-.71l-.059-.079v-.006c-.182-.244-.313-.422-.5-.484a2.347 2.347 0 0 0-1.054-.3 1.219 1.219 0 0 0-.227.019 5.229 5.229 0 0 0-1.139.286 4.014 4.014 0 0 0-1.136.782v9.813zm-6.543 0H.497V7.113h4.411v15.29zM2.701 5.478a2.623 2.623 0 0 1-1.919-.782A2.623 2.623 0 0 1 0 2.774 2.923 2.923 0 0 1 .782.783 2.613 2.613 0 0 1 2.701.001a2.616 2.616 0 0 1 1.921.782 2.923 2.923 0 0 1 .782 1.991 2.623 2.623 0 0 1-.782 1.922 2.625 2.625 0 0 1-1.921.781z"/></svg> 789 </a> 790 } 791 @if (!string.IsNullOrEmpty(footerInstagram)) 792 { 793 string instagramLink = redirectPage + footerInstagram; 794 <a href="@instagramLink" title="Link til Instagram" class="footer__social-link" target="_blank" rel="noopener noreferrer"> 795 <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 19.991 19.988"><path d="M9.992 1.8c2.669 0 2.983.012 4.038.059a5.453 5.453 0 0 1 1.856.345 3.1 3.1 0 0 1 1.15.746 3.053 3.053 0 0 1 .746 1.15 5.555 5.555 0 0 1 .345 1.856c.048 1.055.059 1.368.059 4.038s-.012 2.983-.059 4.038a5.453 5.453 0 0 1-.345 1.856 3.1 3.1 0 0 1-.746 1.15 3.053 3.053 0 0 1-1.15.746 5.555 5.555 0 0 1-1.856.345c-1.055.048-1.368.059-4.038.059s-2.983-.012-4.038-.059a5.453 5.453 0 0 1-1.854-.343 3.1 3.1 0 0 1-1.15-.746 3.053 3.053 0 0 1-.75-1.15 5.555 5.555 0 0 1-.345-1.856C1.809 12.979 1.8 12.665 1.8 10s.012-2.983.059-4.038A5.453 5.453 0 0 1 2.2 4.1a3.1 3.1 0 0 1 .746-1.15A3.053 3.053 0 0 1 4.1 2.205a5.555 5.555 0 0 1 1.856-.345c1.055-.052 1.368-.059 4.038-.059m0-1.8C7.281.001 6.94.013 5.873.06a7.324 7.324 0 0 0-2.424.464 4.87 4.87 0 0 0-1.771 1.154A4.956 4.956 0 0 0 .524 3.447 7.329 7.329 0 0 0 .06 5.875C.012 6.938.001 7.275.001 9.992s.012 3.054.059 4.121a7.372 7.372 0 0 0 .464 2.428 4.87 4.87 0 0 0 1.154 1.769 4.956 4.956 0 0 0 1.769 1.154 7.329 7.329 0 0 0 2.428.464c1.067.048 1.4.059 4.121.059s3.054-.012 4.121-.059a7.372 7.372 0 0 0 2.428-.464 4.87 4.87 0 0 0 1.769-1.154 4.956 4.956 0 0 0 1.154-1.769 7.329 7.329 0 0 0 .464-2.428c.048-1.067.059-1.4.059-4.121s-.012-3.054-.059-4.121a7.372 7.372 0 0 0-.464-2.428 4.87 4.87 0 0 0-1.154-1.769A4.956 4.956 0 0 0 16.545.52a7.329 7.329 0 0 0-2.428-.464C13.046.012 12.7 0 9.992 0z"/><path d="M9.992 4.859a5.133 5.133 0 1 0 5.133 5.133 5.134 5.134 0 0 0-5.133-5.133zm0 8.465a3.332 3.332 0 1 1 3.332-3.332 3.331 3.331 0 0 1-3.332 3.332z"/><circle class="a" cx="1.198" cy="1.198" r="1.198" transform="translate(14.129 3.459)"/></svg> 796 </a> 797 } 798 </div> 799 </div> 800 </div> 801 </div> 802 </div> 803 </div> 804 </footer> 805 806 @helper RenderColumnLink(ItemViewModel columnLink) 807 { 808 var linkType = columnLink.GetList("LinkType").SelectedValue; 809 var linkTarget = columnLink.GetList("LinkTarget").SelectedValue; 810 var linkText = columnLink.GetString("LinkText"); 811 var link = linkType == "external" ? columnLink.GetString("LinkExternal") : columnLink.GetString("LinkInternal"); 812 813 <li> 814 <a href="@link" title="Link til @linkText" target="@linkTarget" class="footer__link">@linkText</a> 815 </li> 816 } 817 818 <div class="cookie-wrapper hard-load"> 819 @using Esbjerg.Logic; 820 @using Dynamicweb.Content.Items; 821 @inherits Dynamicweb.Rendering.ViewModelTemplate<Dynamicweb.Frontend.PageViewModel> 822 823 @{ 824 var breakingNewsId = Model.Area.Item.GetValue("BreakingNewsPage"); 825 826 if (breakingNewsId != null) 827 { 828 if(!string.IsNullOrEmpty(breakingNewsId.ToString())) 829 { 830 Item item = Helpers.GetBreakingNewsItem(Convert.ToInt32(breakingNewsId)); 831 832 if (item != null) 833 { 834 var link1 = item["Link_1"]; 835 var link2 = item["Link_2"]; 836 837 var facebook = item["FacebookLink"]; 838 var email = item["Email"]; 839 var emailSubject = item["Subject"]; 840 var emailBody = item["Body"]; 841 var smsNumber = item["PhoneNumber"]; 842 var smsBody = item["SMSText"]; 843 844 <div id="@item.Id" class="alert-banner alert-banner--accepted"> 845 <div class="grid grid-container"> 846 <div class="row"> 847 <div class="col col--sm-7 col--md-8 col--xl-9"> 848 <div class="alert-banner__rich-text"> 849 <h3> 850 @item["Headline"] 851 </h3> 852 <p> 853 @item["Text"] 854 </p> 855 </div> 856 </div> 857 <div class="col col--sm-5 col--md-4 col--xl-3"> 858 <div class="alert-banner__link-wrapper"> 859 <div class="alert-banner__contact-links"> 860 @{ 861 if (facebook != null && !string.IsNullOrEmpty(facebook.ToString())) 862 { 863 <a href="@facebook.ToString()" title="Alert link" class="alert-banner__contact-link"> 864 <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 12.945 24.181"><path d="M8.32 24.181H3.698V12.944h-3.7V8.322h3.7V6.047a6.294 6.294 0 0 1 1.635-4.269A5.028 5.028 0 0 1 9.245.001h3.7v4.552h-3.7a.867.867 0 0 0-.64.426 1.624 1.624 0 0 0-.286 1v2.348h4.625v4.622H8.319v11.236z"/></svg> 865 </a> 866 } 867 if (email != null && !string.IsNullOrEmpty(email.ToString())) 868 { 869 870 <a href="mailto:@email.ToString()?subject=@(emailSubject != null ? emailSubject.ToString() : string.Empty) &body=@(emailBody != null ? emailBody.ToString() : string.Empty) " title="Alert link" class="alert-banner__contact-link"> 871 <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 26 21.125"><path d="M22.75 21.125H3.25A3.25 3.25 0 0 1 0 17.875V3.25A3.25 3.25 0 0 1 3.25 0h19.5A3.25 3.25 0 0 1 26 3.25v14.625a3.25 3.25 0 0 1-3.25 3.25zM4.062 1.625L13 9.395l8.938-7.77zM24.375 3.25a1.616 1.616 0 0 0-.516-1.182L13 11.375 2.141 2.068a1.616 1.616 0 0 0-.516 1.182v14.625A1.625 1.625 0 0 0 3.25 19.5h19.5a1.625 1.625 0 0 0 1.625-1.625z"/></svg> 872 </a> 873 } 874 if (smsNumber != null && !string.IsNullOrEmpty(smsNumber.ToString())) 875 { 876 <a href="sms:@smsNumber.ToString()?&body=@(smsBody != null ? smsBody.ToString() : string.Empty)" title="Alert link" class="alert-banner__contact-link alert-banner__contact-links--sms"> 877 <svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32"><g fill="#d53f53"><path d="M10.624 15.81a2.03 2.03 0 0 1-.766 1.681 3.325 3.325 0 0 1-2.13.612 5 5 0 0 1-2.228-.477v-1.547a9.163 9.163 0 0 0 1.345.5 3.981 3.981 0 0 0 1.007.145 1.432 1.432 0 0 0 .841-.209.716.716 0 0 0 .298-.624.688.688 0 0 0-.129-.411 1.442 1.442 0 0 0-.379-.346 9.739 9.739 0 0 0-1.018-.532 4.824 4.824 0 0 1-1.08-.65 2.44 2.44 0 0 1-.575-.725 2.069 2.069 0 0 1-.21-.967 2.029 2.029 0 0 1 .7-1.638 2.935 2.935 0 0 1 1.952-.6 4.61 4.61 0 0 1 1.168.145 8.03 8.03 0 0 1 1.163.408l-.534 1.298a7.858 7.858 0 0 0-1.039-.36 3.345 3.345 0 0 0-.808-.1 1.07 1.07 0 0 0-.725.22.726.726 0 0 0-.252.575.711.711 0 0 0 .1.384 1.122 1.122 0 0 0 .325.317 10.047 10.047 0 0 0 1.055.551 4.2 4.2 0 0 1 1.51 1.053 2.06 2.06 0 0 1 .409 1.297zm4.748 2.181l-1.891-6.161h-.048q.1 1.88.1 2.508v3.653h-1.486v-7.853h2.266l1.858 6h.029l1.971-6h2.267v7.853H18.89v-3.717q0-.263.008-.607t.072-1.826h-.048l-2.022 6.15zm11.682-2.181a2.03 2.03 0 0 1-.765 1.676 3.325 3.325 0 0 1-2.13.612 5 5 0 0 1-2.224-.473v-1.546a9.163 9.163 0 0 0 1.345.5 3.981 3.981 0 0 0 1.007.145 1.432 1.432 0 0 0 .841-.209.716.716 0 0 0 .293-.623.688.688 0 0 0-.129-.411 1.442 1.442 0 0 0-.379-.346 9.739 9.739 0 0 0-1.013-.533 4.824 4.824 0 0 1-1.08-.65 2.44 2.44 0 0 1-.575-.725 2.069 2.069 0 0 1-.215-.967 2.029 2.029 0 0 1 .706-1.638 2.935 2.935 0 0 1 1.952-.6 4.61 4.61 0 0 1 1.168.145 8.03 8.03 0 0 1 1.163.408l-.537 1.294a7.858 7.858 0 0 0-1.039-.36 3.345 3.345 0 0 0-.808-.1 1.07 1.07 0 0 0-.725.22.726.726 0 0 0-.252.575.711.711 0 0 0 .1.384 1.122 1.122 0 0 0 .325.317 10.047 10.047 0 0 0 1.055.551 4.2 4.2 0 0 1 1.509 1.055 2.06 2.06 0 0 1 .407 1.299z"/><path d="M16 28a18.276 18.276 0 0 1-2.991-.253L6 32v-7.081A13.4 13.4 0 0 1 0 14C0 6.268 7.163 0 16 0s16 6.268 16 14-7.163 14-16 14zm0-26C8.268 2 2 7.373 2 14a11.591 11.591 0 0 0 5.975 9.824l-.063 4.638 4.707-2.829A16.2 16.2 0 0 0 16 26c7.732 0 14-5.372 14-12S23.732 2 16 2z"/></g></svg> 878 </a> 879 } 880 } 881 </div> 882 @if (link1 != null) 883 { 884 Item linkItem = Helpers.GetItemByItemId("LinkItem", link1.ToString()); 885 if (linkItem["Link"] != null) 886 { 887 string link = linkItem["Link"].ToString(); 888 if (!string.IsNullOrEmpty(link)) 889 { 890 <a href="@link" class="alert-banner__link"> 891 892 @inherits Dynamicweb.Rendering.ViewModelTemplate<Dynamicweb.Frontend.ParagraphViewModel> 893 <span class="arrow"> 894 <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 40.62 16"><path d="M40.62 8l-8 8-.89-.89L38.84 8 31.73.89l.89-.89 8 8z"/><path class="spine" d="M0 7.5h40v1H0z"/></svg> 895 </span> 896 897 <span>@linkItem["Label"].ToString()</span> 898 </a> 899 } 900 } 901 } 902 @if (link2 != null) 903 { 904 Item linkItem = Helpers.GetItemByItemId("LinkItem", link2.ToString()); 905 if (linkItem["Link"] != null) 906 { 907 string link = linkItem["Link"].ToString(); 908 if (!string.IsNullOrEmpty(link)) 909 { 910 <a href="@link" class="alert-banner__link"> 911 912 @inherits Dynamicweb.Rendering.ViewModelTemplate<Dynamicweb.Frontend.ParagraphViewModel> 913 <span class="arrow"> 914 <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 40.62 16"><path d="M40.62 8l-8 8-.89-.89L38.84 8 31.73.89l.89-.89 8 8z"/><path class="spine" d="M0 7.5h40v1H0z"/></svg> 915 </span> 916 917 <span>@linkItem["Label"].ToString()</span> 918 </a> 919 } 920 } 921 } 922 923 </div> 924 <button type="button" class="alert-banner__close-btn"> 925 <span class="alert-banner__close-icon"> 926 <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 19.801 19.798"><path d="M9.9 11.314l-8.485 8.485-1.416-1.414 8.487-8.486L.002 1.414 1.416 0 9.9 8.485 18.384 0 19.8 1.414l-8.485 8.485 8.485 8.485-1.416 1.414z"/></svg> 927 </span> 928 <span class="alert-banner__close-text"> 929 Luk 930 </span> 931 </button> 932 </div> 933 </div> 934 </div> 935 </div> 936 } 937 } 938 } 939 940 } 941 942 943 944 <!-- <div class="cookie cookie--accepted"> 945 <div class="grid grid-container"> 946 <div class="row"> 947 <div class="col col--sm-8 col--md-9"> 948 <div class="cookie__text"> 949 @Model.Area.Item.GetField("CookieWarning").GetValue() 950 </div> 951 </div> 952 <div class="col col--sm-4 col--md-3"> 953 <button type="button" class="cookie__accept-btn text--link svg-fill--link"> 954 955 @inherits Dynamicweb.Rendering.ViewModelTemplate<Dynamicweb.Frontend.ParagraphViewModel> 956 <span class="arrow"> 957 <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 40.62 16"><path d="M40.62 8l-8 8-.89-.89L38.84 8 31.73.89l.89-.89 8 8z"/><path class="spine" d="M0 7.5h40v1H0z"/></svg> 958 </span> 959 960 <span>@Translate("OkAccept", "Ok, jeg accepterer")</span> 961 </button> 962 </div> 963 </div> 964 </div> 965 </div> --> 966 </div> 967 968 @inherits Dynamicweb.Rendering.ViewModelTemplate<Dynamicweb.Frontend.PageViewModel> 969 @using System.Web; 970 971 @{ 972 var host = HttpContext.Current.Request.Url.Host.StartsWith("local.") ? "subsite-esbjerg.dis-play.dk" : HttpContext.Current.Request.Url.Host; 973 974 string jsPath = "/Files/Templates/Designs/" + Pageview.Layout.Design.Name; 975 string searchPath = Model.Area.Item.GetString("SearchResultPage"); 976 string cludoEngineID = Model.Area.Item.GetString("CludoEngineID").ToString(); 977 978 if (!string.IsNullOrEmpty(searchPath)) 979 { 980 searchPath = Dynamicweb.Frontend.SearchEngineFriendlyURLs.GetFriendlyUrl("Default.aspx?Id=" + searchPath); 981 } 982 983 if (string.IsNullOrEmpty(cludoEngineID)) 984 { 985 cludoEngineID = "11424"; 986 } 987 988 989 } 990 991 <script> 992 @*var scriptLoaderSettings = { 993 mainScriptSrc: [ 994 '@jsPath/static/dist/js/@Esbjerg.Logic.Helpers.CacheBuster(jsPath + "/static/dist/js/", "main.min.js")' 995 ], 996 polyfillFallback: '@jsPath/static/dist/js/polyfillFallback.js', 997 polyfills: 'default-3.6,fetch,Object.values,Array.prototype.findIndex' 998 }; 999 1000 var loadMainScript = function () { function a(a) { var b = document.createElement("script"); b.defer = !0, b.async = !!0, b.src = a, document.body.appendChild(b) } if ("object" == typeof scriptLoaderSettings.mainScriptSrc) for (var b = 0; b < scriptLoaderSettings.mainScriptSrc.length; b++)a(scriptLoaderSettings.mainScriptSrc[b]); else a(scriptLoaderSettings.mainScriptSrc) }; 1001 !function (e, t) { var r, a = [/^(.+)(\[.+MessengerForiOS.+\][ ]*)/, /^(.+)(\[.+FBIOS.+\][ ]*)/, /^(.+)( Twitter for iPhone)/]; for (r = 0; r < a.length; ++r) { var n = a[r], i = e.match(n); if (i) { t = t + "&ua=" + encodeURIComponent(i[1] + " Safari"); break } } var o = document.createElement("script"); o.addEventListener("error", function () { var e = document.createElement("script"); e.src = scriptLoaderSettings.polyfillFallback, document.body.appendChild(e) }),o.defer=true, o.src = t, document.body.appendChild(o) }(navigator.userAgent, "https://cdn.polyfill.io/v2/polyfill.min.js?features=" + scriptLoaderSettings.polyfills + "&callback=loadMainScript");*@ 1002 1003 /*! loadCSS rel=preload polyfill. [c]2017 Filament Group, Inc. MIT License - https://github.com/filamentgroup/loadCSS */ 1004 !function (t) { "use strict"; t.loadCSS || (t.loadCSS = function () { }); var e = loadCSS.relpreload = {}; if (e.support = function () { var e; try { e = t.document.createElement("link").relList.supports("preload") } catch (t) { e = !1 } return function () { return e } }(), e.bindMediaToggle = function (t) { function e() { t.media = a } var a = t.media || "all"; t.addEventListener ? t.addEventListener("load", e) : t.attachEvent && t.attachEvent("onload", e), setTimeout(function () { t.rel = "stylesheet", t.media = "only x" }), setTimeout(e, 3e3) }, e.poly = function () { if (!e.support()) for (var a = t.document.getElementsByTagName("link"), n = 0; n < a.length; n++) { var o = a[n]; "preload" !== o.rel || "style" !== o.getAttribute("as") || o.getAttribute("data-loadcss") || (o.setAttribute("data-loadcss", !0), e.bindMediaToggle(o)) } }, !e.support()) { e.poly(); var a = t.setInterval(e.poly, 500); t.addEventListener ? t.addEventListener("load", function () { e.poly(), t.clearInterval(a) }) : t.attachEvent && t.attachEvent("onload", function () { e.poly(), t.clearInterval(a) }) } "undefined" != typeof exports ? exports.loadCSS = loadCSS : t.loadCSS = loadCSS }("undefined" != typeof global ? global : this); 1005 1006 // Enable this to register a service worker. Please make sure you understand the implications of doing so. 1007 // if ("serviceWorker" in navigator) { navigator.serviceWorker.register("/sw.js", { scope: '/' }); } 1008 </script> 1009 1010 <script src='@jsPath/static/dist/js/main.min.js' type="text/javascript"></script> 1011 @*<script src='https://cdn.polyfill.io/v2/polyfill.js?features=default-3.6,fetch,Object.values,Array.prototype.findIndex' type="text/javascript"></script>*@ 1012 @*<script src='@jsPath/static/dist/js/polyfillFallback.js' type="text/javascript"></script>*@ 1013 1014 <!--SiteImprove script--> 1015 <script type="text/javascript"> 1016 /*<![CDATA[*/ 1017 (function () { 1018 var sz = document.createElement('script'); sz.type = 'text/javascript'; sz.async = true; 1019 sz.src = '//siteimproveanalytics.com/js/siteanalyze_273521.js'; 1020 var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(sz, s); 1021 })(); 1022 /*]]>*/ 1023 </script> 1024 <!--Minimap--> 1025 @RenderSnippet("Minimap") 1026 1027 <!--Kode - Footer section--> 1028 @RenderSnippet("KodeFooter") 1029 1030 1031 <!-- SCRIPT --> 1032 <!-- www.Cludo.com search start JS --> 1033 <!--[if lte IE 9]> 1034 <script src="https://api.cludo.com/scripts/xdomain.js" slave="https://api.cludo.com/proxy.html"></script> 1035 <![endif]--> 1036 <!-- www.Cludo.com search end JS --> 1037 <!-- www.Cludo.com Search body init script start --> 1038 1039 <script type="text/javascript" src="https://customer.cludo.com/scripts/bundles/search-script.min.js?v=1" defer></script> 1040 1041 <script> 1042 var CludoSearch; 1043 function initCludo() { 1044 var cludoSettings = { 1045 customerId: 80, 1046 engineId: @cludoEngineID, 1047 searchUrl: "@searchPath", 1048 language: "@Dynamicweb.Services.Areas.GetArea(Model.Area.ID).CultureInfo.TwoLetterISOLanguageName", 1049 customerTemplate: "Mainsite Redesign v2023", 1050 filters: { "DomainName": ["https://@host/"] }, 1051 searchInputs: ["cludo-search-form", "search-box-form"], 1052 initSearchBoxText: "", 1053 loading: "<img src='//customer.cludo.com/img/loading.gif' alt='Loading' class='loading' role='progressbar' />", 1054 customCallbackAfterSearch: function () { 1055 window.cludoCallback(); 1056 } 1057 //bannerIsInSearchTemplate: false, 1058 //endlessScroll: {stopAfterPage:3, resultsPerPage:10, bottomOffset: 700}, 1059 //richAutocomplete: true 1060 }; 1061 CludoSearch = new Cludo(cludoSettings); 1062 CludoSearch.init(); 1063 } 1064 document.addEventListener("DOMContentLoaded", initCludo); 1065 </script> 1066 1067 1068 1069 <!--Footer scripts from website settings subsites--> 1070 @{string scriptFooterArea = Model.Area.Item.GetString("ScriptFooterArea"); } 1071 @if (!string.IsNullOrEmpty(scriptFooterArea)){ 1072 @scriptFooterArea 1073 } 1074 </body> 1075 </html> 1076 1077 @functions { 1078 1079 private string GetThemeTextColor(string hex) 1080 { 1081 const string white = "#fff"; 1082 const string black = "#000"; 1083 1084 var color = white; 1085 1086 switch (hex.ToLower()) 1087 { 1088 case ThemeColors.Cornflower: 1089 color = black; 1090 break; 1091 case ThemeColors.Surf: 1092 color = black; 1093 break; 1094 case ThemeColors.BeautyBush: 1095 color = black; 1096 break; 1097 case ThemeColors.Cerulean: 1098 color = black; 1099 break; 1100 case ThemeColors.Cinnabar: 1101 color = black; 1102 break; 1103 } 1104 1105 return color; 1106 } 1107 1108 private string GetContrastColor(string hex) 1109 { 1110 var color = hex; 1111 1112 switch (hex.ToLower()) 1113 { 1114 case ThemeColors.DeepSapphire: 1115 color = "020305"; 1116 break; 1117 case ThemeColors.RegalBlue: 1118 color = "013150"; 1119 break; 1120 case ThemeColors.DoveGray: 1121 color = "505050"; 1122 break; 1123 case ThemeColors.Valencia: 1124 color = "b23646"; 1125 break; 1126 case ThemeColors.Cornflower: 1127 color = "8bbbd5"; 1128 break; 1129 case ThemeColors.Surf: 1130 color = "c3beb6"; 1131 break; 1132 case ThemeColors.BeautyBush: 1133 color = "e0e0e0"; 1134 break; 1135 case ThemeColors.Cerulean: 1136 color = "0079a8"; 1137 break; 1138 case ThemeColors.Cinnabar: 1139 color = "de3517"; 1140 break; 1141 } 1142 1143 return color; 1144 } 1145 1146 private string GetLinkColor(string hex) 1147 { 1148 var color = hex; 1149 1150 switch (hex.ToLower()) 1151 { 1152 case ThemeColors.DeepSapphire: 1153 color = "1d293b"; 1154 break; 1155 case ThemeColors.Cornflower: 1156 color = "085077"; 1157 break; 1158 case ThemeColors.Surf: 1159 color = "555555"; 1160 break; 1161 case ThemeColors.BeautyBush: 1162 color = "555555"; 1163 break; 1164 case ThemeColors.Cerulean: 1165 color = "0079a8"; 1166 break; 1167 case ThemeColors.Cinnabar: 1168 color = "de3517"; 1169 break; 1170 } 1171 1172 return color; 1173 } 1174 1175 private struct ThemeColors 1176 { 1177 public const string DeepSapphire = "0a2e68"; 1178 public const string RegalBlue = "004069"; 1179 public const string DoveGray = "666666"; 1180 public const string Valencia = "d53f53"; 1181 public const string Cornflower = "88bfe8"; 1182 public const string Surf = "b1d8b9"; 1183 public const string BeautyBush = "edc3c4"; 1184 public const string Cerulean = "009bd9"; 1185 public const string Cinnabar = "eb573d"; 1186 } 1187 }