Error executing template "Designs/Dwsimple/_parsed/Kalenderaftale.parsed.cshtml"
System.Net.WebException: The remote server returned an error: (503) Server Unavailable.
at System.Net.HttpWebRequest.GetResponse()
at System.Xml.XmlDownloadManager.GetNonFileStream(Uri uri, ICredentials credentials, IWebProxy proxy, RequestCachePolicy cachePolicy)
at System.Xml.XmlUrlResolver.GetEntity(Uri absoluteUri, String role, Type ofObjectToReturn)
at System.Xml.XmlTextReaderImpl.FinishInitUriString()
at System.Xml.XmlReaderSettings.CreateReader(String inputUri, XmlParserContext inputContext)
at System.Xml.Linq.XDocument.Load(String uri, LoadOptions options)
at CompiledRazorTemplates.Dynamic.RazorEngine_370275f792c649dba85388a046e44da7.<CalendarItem>b__20_0(TextWriter __razor_helper_writer) in E:\dynamicweb.net\solutions\SkovboData\holmsland.dw9.dynamicweb-cms.com\Files\Templates\Designs\Dwsimple\_parsed\Kalenderaftale.parsed.cshtml:line 2688
at CompiledRazorTemplates.Dynamic.RazorEngine_370275f792c649dba85388a046e44da7.Execute() in E:\dynamicweb.net\solutions\SkovboData\holmsland.dw9.dynamicweb-cms.com\Files\Templates\Designs\Dwsimple\_parsed\Kalenderaftale.parsed.cshtml:line 2667
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.<RunCompile>b__0(TextWriter writer)
at RazorEngine.Templating.RazorEngineServiceExtensions.WithWriter(Action`1 withWriter)
at Dynamicweb.Rendering.RazorTemplateRenderingProvider.Render(Template template)
at Dynamicweb.Rendering.TemplateRenderingService.Render(Template template)
at Dynamicweb.Rendering.Template.RenderRazorTemplate()
1 @inherits Dynamicweb.Rendering.RazorTemplateBase<Dynamicweb.Rendering.RazorTemplateModel<Dynamicweb.Rendering.Template>>
2 @using System.Text.RegularExpressions
3
4 @using System
5 @using System.Web
6 @using System.Globalization;
7
8 @using System.Text.RegularExpressions
9 @using System.Web
10
11
12 @functions{
13 public class WrapMethods
14 {
15 //Gets the contrasting color
16 public static string getContrastYIQ(string hexcolor)
17 {
18 if (hexcolor != "")
19 {
20 hexcolor = Regex.Replace(hexcolor, "[^0-9a-zA-Z]+", "");
21
22 int r = Convert.ToByte(hexcolor.Substring(0, 2), 16);
23 int g = Convert.ToByte(hexcolor.Substring(2, 2), 16);
24 int b = Convert.ToByte(hexcolor.Substring(4, 2), 16);
25 int yiq = ((r * 299) + (g * 587) + (b * 114)) / 1000;
26
27 if (yiq >= 128)
28 {
29 return "black";
30 }
31 else
32 {
33 return "white";
34 }
35 }
36 else
37 {
38 return "black";
39 }
40 }
41
42
43 //Truncate text
44 public static string Truncate (string value, int count, bool strip=true)
45 {
46 if (strip == true){
47 value = StripHtmlTagByCharArray(value);
48 }
49
50 if (value.Length > count)
51 {
52 value = value.Substring(0, count + 1) + "...";
53 }
54
55 return value;
56 }
57
58
59 //Strip text from HTML
60 public static string StripHtmlTagByCharArray(string htmlString)
61 {
62 char[] array = new char[htmlString.Length];
63 int arrayIndex = 0;
64 bool inside = false;
65
66 for (int i = 0; i < htmlString.Length; i++)
67 {
68 char let = htmlString[i];
69 if (let == '<')
70 {
71 inside = true;
72 continue;
73 }
74 if (let == '>')
75 {
76 inside = false;
77 continue;
78 }
79 if (!inside)
80 {
81 array[arrayIndex] = let;
82 arrayIndex++;
83 }
84 }
85 return new string(array, 0, arrayIndex);
86 }
87
88 //Make the correct count of columns
89 public static string ColumnMaker(int Col, string ScreenSize)
90 {
91 string Columns = "";
92
93 switch (Col)
94 {
95 case 1:
96 Columns = "col-"+ScreenSize+"-12";
97 break;
98
99 case 2:
100 Columns = "col-"+ScreenSize+"-6";
101 break;
102
103 case 3:
104 Columns = "col-"+ScreenSize+"-4";
105 break;
106
107 case 4:
108 Columns = "col-"+ScreenSize+"-3";
109 break;
110
111 default:
112 Columns = "col-"+ScreenSize+"-3";
113 break;
114 }
115
116 return Columns;
117 }
118
119
120 private string Custom(string firstoption, string secondoption)
121 {
122 if (firstoption == "custom")
123 {
124 return secondoption;
125 }
126 else
127 {
128 return firstoption;
129 }
130 }
131 }
132 }
133 @helper MiniCart()
134 {
135 <div class="dropdown-cart">
136 @if (GetInteger("Ecom:Order.OrderLines.TotalProductQuantity") > 0)
137 {
138 <div class="col-md-12 col-sm-12 col-xs-12">
139 <div class="row">
140 <span class="cart-items">@Translate("You have", "You have")<strong> @GetValue("Ecom:Order.OrderLines.TotalProductQuantity")</strong> @Translate("items in your cart", "items in your cart")</span>
141 <table class="table table-cart">
142 <tbody>
143 <tr>
144 <th colspan="2">@Translate("Product", "Product")</th>
145 <th class="text-center">@Translate("Qty", "Qty")</th>
146 <th>@Translate("Total", "Total")</th>
147 </tr>
148
149 @foreach (var orderline in GetLoop("OrderLines"))
150 {
151 var image = orderline.GetString("Ecom:Product.ImageLarge.Clean");
152
153 <tr>
154 <td><img src="/Admin/Public/GetImage.ashx?width=50&image=@image&Compression=99" class="img-center" alt=""></td>
155 <td><a href="@orderline.GetValue(" ecom:order:orderline.productlink")"="">@orderline.GetValue("Ecom:Order:OrderLine.ProductName")</a><br><small>@orderline.GetString("Ecom:Order:OrderLine.ProductVariantText")</small></td>
156 <td class="text-center">@orderline.GetValue("Ecom:Order:OrderLine.Quantity")</td>
157 <td><nobr>@if(orderline.GetInteger("Ecom:Order:OrderLine.Points")>0){
158 @orderline.GetDouble("Ecom:Order:OrderLine.Points");
159 <text> </text>@Translate("orderline_points","points")
160 }
161 else{
162 @orderline.GetValue("Ecom:Order:olPrice.PriceWithVATFormatted")
163 }</nobr></td>
164 </tr>
165 }
166
167 <tr>
168 <td class="text-center"><i class="fa fa-credit-card"></i></td>
169 <td>@GetValue("Ecom:Order.PaymentMethod")</td>
170 <td class="text-center"></td>
171 <td>@GetValue("Ecom:Order.PaymentFee")</td>
172 </tr>
173 <tr>
174 <td class="text-center"><i class="fa fa-truck"></i></td>
175 <td>@GetValue("Ecom:Order.ShippingMethod")</td>
176 <td class="text-center"></td>
177 <td>@GetValue("Ecom:Order.ShippingFee")</td>
178 </tr>
179 </tbody>
180 </table>
181 </div>
182 </div>
183 <div class="col-md-12 col-sm-12 col-xs-12">
184 <div class="row">
185 <div class="col-md-8">
186 <!--
187 @{
188 var edittextstring = Translate("Edit cart", "Edit cart");
189 var cartid = GetValue("DwAreaCartPageID");
190 }
191
192 <form action="/Default.aspx?ID=@cartid" method="post">
193 <input type="submit" name="CartV2.GotoStep1" id="CartV2.GotoStep1" value="@edittextstring" class="btn btn-xs btn-base pull-left" />
194 </form>
195 -->
196 </div>
197 <div class="col-md-4">
198 <a href="Default.aspx?ID=@cartid" class="btn btn-xs btn-base pull-right">@Translate("Proceed to checkout", "Proceed to checkout")</a>
199 <span class="clearfix"></span>
200 </div>
201 </div>
202 <div class="row"> </div>
203 </div>
204 }
205 else
206 {
207 <span class="cart-items">@Translate("Your shopping cart is empty.", "Your shopping cart is empty.")</span>
208 }
209 </div>
210 }
211
212
213
214 <!DOCTYPE html>
215 <html>
216 <head>
217 <meta charset="utf-8">
218 <title>@GetValue("Title")</title>
219 @GetValue("MetaTags")
220 @GetValue("CopyRightNotice")
221
222
223 <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1">
224 <meta name="robots" content="index, follow">
225
226 @{
227 string MetaDescription = GetString("Meta.Description");
228 string MetaKeywords = GetString("Meta.Keywords");
229 }
230
231
232
233
234
235 <!-- Facebook Admin -->
236 @if (!string.IsNullOrWhiteSpace(GetString("Item.Area.FacebookCommendAdmin")))
237 {
238 string fbadmin = GetString("Item.Area.FacebookCommendAdmin");
239 <meta property="fb:admins" content="@fbadmin">
240 }
241
242 <!-- Essential styles -->
243 <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/css/bootstrap.min.css" type="text/css">
244 <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.3.0/css/font-awesome.min.css" type="text/css">
245 <link rel="stylesheet" href="//cdnjs.cloudflare.com/ajax/libs/fancybox/2.1.5/jquery.fancybox.min.css" media="screen">
246 <link rel="stylesheet" href="//cdnjs.cloudflare.com/ajax/libs/flag-icon-css/2.5.0/css/flag-icon.min.css" type="text/css">
247
248 <!-- Custom styles -->
249 <link rel="stylesheet" href="/Files/Templates/Designs/Dwsimple/css/custom.css" type="text/css">
250
251
252 <!-- Mobile menu styles -->
253 <link href="//cdnjs.cloudflare.com/ajax/libs/jasny-bootstrap/3.1.3/css/jasny-bootstrap.min.css" rel="stylesheet" type="text/css" media="screen">
254
255 <!-- Favicon -->
256 @{
257 var favicon = @GetString("Item.Area.Favicon");
258 }
259 <link href="@favicon" rel="icon" type="image/png">
260
261 <!-- Variables -->
262 @{
263 var attrValue = "";
264 string currentpageid = GetString("DwPageID");
265 string firstpageid = GetString("DwAreaFirstActivePageID");
266
267 string searchplaceholder = Translate("Search products", "Search products");
268
269 var cartid = GetValue("DwAreaCartPageID");
270
271 DateTime areaUpdated = Pageview.Area.Audit.LastModifiedAt;
272 string cssPath = HttpContext.Current.Server.MapPath("/Files/Templates/Designs/Dwsimple/css/DWGlobalStylesSite" + GetString("DwAreaID") + "_auto.min.css");
273 DateTime lastWriteTime = System.IO.File.GetLastWriteTime(cssPath);
274 bool writeCss = false;
275 string css = String.Empty;
276
277 //if (areaUpdated > lastWriteTime)
278 //{
279 // writeCss = true;
280 //}
281
282 if (areaUpdated > lastWriteTime.AddMinutes(5))
283 {
284 writeCss = true;
285 }
286 }
287
288 <!--FONT SETTINGS-->
289 @functions{
290 public class FontSettings
291 {
292 public class Logo
293 {
294 public static string FontFamily { get; set; }
295 public static string FontSize { get; set; }
296 public static string FontWeight { get; set; }
297 public static string Color { get; set; }
298 public static string LineHeight { get; set; }
299 public static string Casing { get; set; }
300 public static string LetterSpacing { get; set; }
301 }
302
303 public class Slogan
304 {
305 public static string FontFamily { get; set; }
306 public static string FontSize { get; set; }
307 public static string FontWeight { get; set; }
308 public static string Color { get; set; }
309 public static string LineHeight { get; set; }
310 public static string Casing { get; set; }
311 public static string LetterSpacing { get; set; }
312 }
313
314 public class H1
315 {
316 public static string FontFamily { get; set; }
317 public static string FontSize { get; set; }
318 public static string FontWeight { get; set; }
319 public static string Color { get; set; }
320 public static string LineHeight { get; set; }
321 public static string Casing { get; set; }
322 public static string LetterSpacing { get; set; }
323 }
324
325 public class H2
326 {
327 public static string FontFamily { get; set; }
328 public static string FontSize { get; set; }
329 public static string FontWeight { get; set; }
330 public static string Color { get; set; }
331 public static string LineHeight { get; set; }
332 public static string Casing { get; set; }
333 public static string LetterSpacing { get; set; }
334 }
335
336 public class Body
337 {
338 public static string FontFamily { get; set; }
339 public static string FontSize { get; set; }
340 public static string FontWeight { get; set; }
341 public static string Color { get; set; }
342 public static string LineHeight { get; set; }
343 public static string Casing { get; set; }
344 public static string LetterSpacing { get; set; }
345 }
346 }
347
348 private void InitFontSettings()
349 {
350 //LOGO
351 FontSettings.Logo.FontFamily = CustomFont(GetString("Item.Area.LogoFont.Font"), GetString("Item.Area.LogoFont.CustomFont"));
352 FontSettings.Logo.FontSize = GetString("Item.Area.LogoFont.Size")+"px";
353 FontSettings.Logo.FontWeight = CheckExistence(GetString("Item.Area.LogoFont.Weight"), "normal");
354 FontSettings.Logo.LineHeight = CheckExistence(GetString("Item.Area.LogoFont.LineHeight"), "1");
355 FontSettings.Logo.LetterSpacing = GetString("Item.Area.LogoFont.LetterSpacing") + "px";
356 FontSettings.Logo.Casing = GetString("Item.Area.LogoFont.Casing");
357 FontSettings.Logo.Color = GetString("Item.Area.LogoFont.Color.Color");
358
359 //SLOGAN
360 FontSettings.Slogan.FontFamily = CustomFont(GetString("Item.Area.LogoSloganFont.Font"), GetString("Item.Area.LogoSloganFont.CustomFont"));
361 FontSettings.Slogan.FontSize = GetString("Item.Area.LogoSloganFont.Size")+"px";
362 FontSettings.Slogan.FontWeight = CheckExistence(GetString("Item.Area.LogoSloganFont.Weight"), "normal");
363 FontSettings.Slogan.LineHeight = CheckExistence(GetString("Item.Area.LogoSloganFont.LineHeight"), "1");
364 FontSettings.Slogan.LetterSpacing = GetString("Item.Area.LogoSloganFont.LetterSpacing") + "px";
365 FontSettings.Slogan.Casing = GetString("Item.Area.LogoSloganFont.Casing");
366 FontSettings.Slogan.Color = GetString("Item.Area.LogoSloganFont.Color.Color");
367
368 //HEADINGS
369 FontSettings.H1.FontFamily = CustomFont(GetString("Item.Area.HeadingsH1.Font"), GetString("Item.Area.HeadingsH1.CustomFont"));
370 FontSettings.H1.FontSize = GetString("Item.Area.HeadingsH1.Size")+"px";
371 FontSettings.H1.FontWeight = CheckExistence(GetString("Item.Area.HeadingsH1.Weight"), "normal");
372 FontSettings.H1.LineHeight = CheckExistence(GetString("Item.Area.HeadingsH1.LineHeight"), "1");
373 FontSettings.H1.LetterSpacing = GetString("Item.Area.HeadingsH1.LetterSpacing") + "px";
374 FontSettings.H1.Casing = GetString("Item.Area.HeadingsH1.Casing");
375 FontSettings.H1.Color = GetString("Item.Area.HeadingsH1.Color.Color");
376
377 FontSettings.H2.FontFamily = CustomFont(GetString("Item.Area.HeadingsH2.Font"), GetString("Item.Area.HeadingsH2.CustomFont"));
378 FontSettings.H2.FontSize = GetString("Item.Area.HeadingsH2.Size")+"px";
379 FontSettings.H2.FontWeight = CheckExistence(GetString("Item.Area.HeadingsH2.Weight"), "normal");
380 FontSettings.H2.LineHeight = CheckExistence(GetString("Item.Area.HeadingsH2.LineHeight"), "1");
381 FontSettings.H2.LetterSpacing = GetString("Item.Area.HeadingsH2.LetterSpacing") + "px";
382 FontSettings.H2.Casing = GetString("Item.Area.HeadingsH2.Casing");
383 FontSettings.H2.Color = GetString("Item.Area.HeadingsH2.Color.Color");
384
385
386 //BODY
387 FontSettings.Body.FontFamily = CustomFont(GetString("Item.Area.BodyFont.Font"), GetString("Item.Area.BodyFont.CustomFont"));
388 FontSettings.Body.FontSize = GetString("Item.Area.BodyFont.Size") + "px";
389 FontSettings.Body.FontWeight = CheckExistence(GetString("Item.Area.BodyFont.Weight"), "normal");
390 FontSettings.Body.LineHeight = CheckExistence(GetString("Item.Area.BodyFont.LineHeight"), "1");
391 FontSettings.Body.LetterSpacing = GetString("Item.Area.BodyFont.LetterSpacing") + "px";
392 FontSettings.Body.Casing = GetString("Item.Area.BodyFont.Casing");
393 FontSettings.Body.Color = GetString("Item.Area.BodyFont.Color.Color");
394
395
396 gfonts.Add(FontSettings.Logo.FontFamily, "");
397 if (!gfonts.ContainsKey(FontSettings.H1.FontFamily))
398 {
399 gfonts.Add(FontSettings.H1.FontFamily, "");
400 }
401 if (!gfonts.ContainsKey(FontSettings.H2.FontFamily))
402 {
403 gfonts.Add(FontSettings.H2.FontFamily, "");
404 }
405 if (!gfonts.ContainsKey(FontSettings.Body.FontFamily))
406 {
407 gfonts.Add(FontSettings.Body.FontFamily, "");
408 }
409
410 }
411
412 private string CustomFont (string firstfont, string secondfont)
413 {
414 if (firstfont == "custom")
415 {
416 return secondfont;
417 }
418 else
419 {
420 return firstfont;
421 }
422 }
423
424 private string CheckExistence (string stringitem, string defaultvalue)
425 {
426 if (!string.IsNullOrWhiteSpace(stringitem)) {
427 return stringitem;
428 } else {
429 return defaultvalue;
430 }
431 }
432
433 private System.Collections.Generic.Dictionary<string, object> gfonts = new System.Collections.Generic.Dictionary<string, object>();
434 }
435
436 @{
437 InitFontSettings();
438 }
439
440 @helper GoogleFonts()
441 {
442 if (gfonts != null)
443 {
444 foreach (var item in gfonts)
445 {
446 <link rel="stylesheet" type="text/css" href="http://fonts.googleapis.com/css?family=@item.Key:100,200,300,400,500,600,700,800,900">
447 }
448 }
449 }
450
451 @functions{
452 public string FontStylesCSS()
453 {
454 string CssString = @"
455 .dw-logotext {
456 font-family: " + FontSettings.Logo.FontFamily + @";
457 font-size: " + FontSettings.Logo.FontSize + @";
458 font-weight: " + FontSettings.Logo.FontWeight + @";
459 line-height: " + FontSettings.Logo.LineHeight + @" !important;
460 letter-spacing: " + FontSettings.Logo.LetterSpacing + @";
461 text-transform: " + FontSettings.Logo.Casing + @";
462 color: " + FontSettings.Logo.Color + @";
463 }
464
465 .dw-slogantext {
466 font-family: " + FontSettings.Slogan.FontFamily + @";
467 font-size: " + FontSettings.Slogan.FontSize + @";
468 font-weight: " + FontSettings.Slogan.FontWeight + @";
469 line-height: " + FontSettings.Slogan.LineHeight + @" !important;
470 letter-spacing: " + FontSettings.Slogan.LetterSpacing + @";
471 text-transform: " + FontSettings.Slogan.Casing + @";
472 color: " + FontSettings.Slogan.Color + @";
473 }
474
475 h1 {
476 font-family: " + FontSettings.H1.FontFamily + @" !important;
477 font-size: " + FontSettings.H1.FontSize + @";
478 color: " + FontSettings.H1.Color + @";
479 line-height: " + FontSettings.H1.LineHeight + @" !important;
480 text-transform: " + FontSettings.H1.Casing + @";
481 font-weight: " + FontSettings.H1.FontWeight + @";
482 letter-spacing: " + FontSettings.H1.LetterSpacing + @" !important;
483 }
484
485
486 h2, h3, h4, h5, h6 {
487 margin-top: 0.7em;
488 margin-bottom: 0.7em;
489
490 font-family: " + FontSettings.H2.FontFamily + @" !important;
491 font-size: " + FontSettings.H2.FontSize + @";
492 color: " + FontSettings.H2.Color + @";
493 line-height: " + FontSettings.H2.LineHeight + @";
494 text-transform: " + FontSettings.H2.Casing + @" !important;
495 font-weight: " + FontSettings.H2.FontWeight + @" !important;
496 letter-spacing: " + FontSettings.H2.LetterSpacing + @" !important;
497 }
498
499 h4, h5, h6 {
500 font-size: 16px !important;
501 }
502
503 body {
504 font-family: " + FontSettings.Body.FontFamily + @" !important;
505 font-size: " + FontSettings.Body.FontSize + @";
506 color: " + FontSettings.Body.Color + @";
507 line-height: " + FontSettings.Body.LineHeight + @" !important;
508 text-transform: " + FontSettings.Body.Casing + @";
509 font-weight: " + FontSettings.Body.FontWeight + @";
510 letter-spacing: " + FontSettings.Body.LetterSpacing + @" !important;
511 }
512
513 .navbar-wp .navbar-nav > li > a {
514 font-family: " + FontSettings.Body.FontFamily + @" !important;
515 }
516
517 .section-title {
518 margin-top: 0.7em;
519 margin-bottom: 0.7em;
520 }
521 ";
522 return CssString;
523 }
524 }
525 @GoogleFonts()
526
527 <!-- GENERAL/COLOR SETTINGS -->
528 @functions{
529 public class ColorSettings
530 {
531 public class Color
532 {
533 public static string Primary { get; set; }
534 public static string Secondary { get; set; }
535 public static string NavbarFont { get; set; }
536 public static string Footer { get; set; }
537 public static string FooterFont { get; set; }
538
539 public static string Sticker { get; set; }
540 public static string Price { get; set; }
541 public static string Cart { get; set; }
542 }
543 }
544
545 private void InitColorSettings()
546 {
547 ColorSettings.Color.Primary = GetString("Item.Area.ColorsPrimary.Color");
548 ColorSettings.Color.Secondary = GetString("Item.Area.ColorsSecondary.Color");
549
550 ColorSettings.Color.NavbarFont = GetString("Item.Area.NavbarFontColor");
551
552 if (string.IsNullOrWhiteSpace(ColorSettings.Color.NavbarFont))
553 {
554 ColorSettings.Color.NavbarFont = WrapMethods.getContrastYIQ(ColorSettings.Color.Secondary);
555 }
556
557 ColorSettings.Color.Footer = GetString("Item.Area.ColorsFooterColor.Color");
558 ColorSettings.Color.FooterFont = WrapMethods.getContrastYIQ(ColorSettings.Color.Footer);
559
560 ColorSettings.Color.Price = GetString("Item.Area.EcommercePriceColor.Color");
561 ColorSettings.Color.Sticker = GetString("Item.Area.EcommerceDiscountStickerColor.Color");
562 ColorSettings.Color.Cart = GetString("Item.Area.EcommerceCartButtonColor.Color");
563 }
564
565 public string GetColorSettings()
566 {
567 string CssString = @"
568 a:hover, a:focus, a:active {
569 color: @Primary;
570 }
571
572 .navbar-wp, .navbar-wp.affix, .navbar-wp .navbar-nav > li > a {
573 color: @NavbarFont;
574 }
575
576 .navbar-wp .navbar-nav > .active > a, .navbar-wp .navbar-nav > .active > a:hover, .navbar-wp .navbar-nav > .active > a:focus {
577 color: @NavbarFont;
578 }
579
580 .navbar-wp .navbar-nav > li > a:hover, .navbar-wp .navbar-nav > li > a:focus {
581 border-top: 0px solid @Secondary;
582 color: @NavbarFont;
583 }
584
585 .navbar-wp .navbar-nav > li > a span:after {
586 background-color: @Primary;
587 }
588
589 .btn-dw-primary {
590 color: #FFF;
591 background-color: @Primary;
592 border-color: @Primary;
593 }
594
595 .btn-dw-secondary {
596 color: @NavbarFont;
597 background-color: @Secondary;
598 border-color: @Secondary;
599 }
600
601 .btn-dw-cart {
602 color: #FFF;
603 background-color: @Cart;
604 border-color: @Cart;
605 }
606
607 .dw-section-title {
608 border-color: @Secondary;
609 }
610
611 .dw-minicart-update {
612 color: #FFF !important;
613 background-color: @Primary;
614 transition: all 0.3s ease-in-out 0s;
615 }
616
617 .pagination > li > a, .pagination > li > a:hover, .pagination > li > a:focus, .pagination > li > a:active {
618 color: @Primary;
619 }
620
621 .form-control:hover, .form-control:focus, .form-control:active {
622 border-color: @Primary !important;
623 }
624
625 .bg-2 {
626 background: @Primary !important;
627 }
628
629 .blockquote-1:hover {
630 border-color: @Primary !important;
631 }
632
633 .navbar-wp .navbar-nav > li > a.dropdown-form-toggle, .navbar-wp .navbar-nav > li > a.dropdown-form-toggle:hover, .navbar-wp .navbar-nav > li > a.dropdown-form-toggle:focus {
634 color: @Primary;
635 }
636
637 .navbar-wp .navbar-nav > .open > a.dropdown-form-toggle, .navbar-wp .navbar-nav > .open > a.dropdown-form-toggle:hover, .navbar-wp .navbar-nav > .open > a.dropdown-form-toggle:focus {
638 color: @Primary;
639 }
640
641 .navbar-wp .navbar-nav > li > a:hover, .navbar-wp .navbar-nav > li > a:focus {
642 border: 0px solid @Primary;
643 }
644
645 .navbar-wp .navbar-toggle:hover, .navbar-wp .navbar-toggle:focus {
646 background-color: @Primary !important;
647 border-color: @Primary !important;
648 }
649
650 .navbar-wp .dropdown-menu {
651 border-top: 1px solid @Primary !important;
652 border-bottom: 3px solid @Primary !important;
653 }
654
655 .navbar-wp .dropdown-menu > li > a:hover {
656 background: @Primary !important;
657 color: #fff;
658 }
659
660 .navbar-wp .dropdown-menu .active {
661 background: @Primary !important;
662 color: #fff;
663 }
664
665 .navbar-wp.navbar-contrasted .dropdown-menu > li > a:hover {
666 background: @Primary !important;
667 }
668
669 .nav > ul > li > a:hover {
670 color: @Primary;
671 }
672
673 .lw .w-box.w-box-inverse .thmb-img i {
674 color: @Primary !important;
675 }
676
677 .w-box.w-box-inverse .thmb-img:hover i {
678 background: @Primary !important;
679 }
680
681 .c-box {
682 border: 1px solid @Primary !important;
683 }
684
685 .c-box .c-box-header {
686 background: @Primary !important;
687 }
688
689 .w-section .aside-feature:hover .icon-feature, .w-section .aside-feature:hover h4 {
690 color: @Primary !important;
691 }
692
693 .layer-slider-wrapper .title.title-base {
694 background: @Primary !important;
695 }
696
697 .layer-slider-wrapper .subtitle {
698 color: @Primary !important;
699 }
700
701 .layer-slider-wrapper .list-item {
702 color: @Primary !important;
703 }
704
705 .box-element.box-element-bordered {
706 border: 1px solid @Primary !important;
707 }
708
709 .carousel-2 .carousel-indicators .active {
710 background-color: @Primary !important;
711 }
712
713 .carousel-2 .carousel-nav a {
714 color: @Primary !important;
715 }
716
717 .carousel-2 .carousel-nav a:hover {
718 background: @Primary !important;
719 }
720
721 .carousel-3 .carousel-nav a {
722 color: @Primary !important;
723 }
724
725 .carousel-3 .carousel-nav a:hover {
726 background: @Primary !important;
727 }
728
729 .like-button .button.liked i {
730 color: @Primary !important;
731 }
732
733 ul.list-listings li.featured {
734 border-color: @Primary !important;
735 }
736
737 ul.list-check li i {
738 color: @Primary !important;
739 }
740
741 ul.dw-categories li a:hover, ul.dw-categories a:focus, ul.dw-categories a:active{
742 color: @NavbarFont;
743 background-color: @Primary;
744 border-color: @Primary;
745 }
746
747 ul.categories li a:hover, ul.categories a:focus, ul.categories a:active{
748 color: @NavbarFont;
749 background-color: @Primary;
750 border-color: @Primary;
751 }
752
753 .timeline .event:nth-child(2n):before {
754 background-color: @Primary !important;
755 }
756
757 .timeline .event:nth-child(2n-1):before {
758 background-color: @Primary !important;
759 }
760
761 #toTopHover {
762 background-color: @Primary !important;
763 }
764
765 .tags-list li {
766 border: 1px solid @Primary !important;
767 color: @Primary !important;
768 }
769
770 .tags-list li:hover,
771 a.open-panel {
772 background-color: @Primary !important;
773 }
774
775 .nav-pills > li.active > a, .nav-pills > li.active > a:hover, .nav-pills > li.active > a:focus,
776 .panel-group .panel-heading a i,
777 .tags-list li a {
778 color: @NavbarFont !important;
779 }
780
781 .nav-pills > li > a:hover, .nav-pills > li > a:focus {
782 color: @NavbarFont !important;
783 background: none repeat scroll 0% 0% @Secondary !important;
784 }
785
786 footer {
787 background: @Footer !important;
788 }
789
790 footer h4 {
791 color: @FooterFont !important;
792 }
793
794 footer a {
795 color: @FooterFont !important;
796 }
797
798 footer a:hover, footer a:focus, footer a:active {
799 color: @Secondary !important;
800 }
801
802 footer p {
803 color: @FooterFont !important;
804 }
805
806 footer ul > li {
807 color: @FooterFont !important;
808 }
809
810 footer hr {
811 border-color: @FooterFont
812 }
813
814
815 /* Button colors */
816 .btn-base {
817 color: @NavbarFont !important;
818 background-color: @Secondary !important;
819 border: 1px solid @Secondary !important;
820 }
821
822 .btn-base:before {
823 background-color: @Secondary !important;
824 }
825
826 .btn-base:hover:before, .btn-base:focus:before, .btn-base:active:before {
827 color: @NavbarFont !important;
828 background-color: @Primary !important;
829 border-color: @Primary !important;
830 }
831
832 .btn-icon:before {
833 transition: none !important;
834 }
835
836 .btn-base:hover, .btn-base:focus, .btn-base:active, .btn-base.active, .open .dropdown-toggle.btn-base {
837 color: @NavbarFont !important;
838 background-color: @Primary !important;
839 border-color: @Primary !important;
840 }
841
842 .btn-two {
843 color: @NavbarFont !important;
844 border-color: @Secondary !important;
845 background-color: @Secondary !important;
846 border: 1px solid @Secondary !important;
847 }
848
849 .btn-two:hover, .btn-two:focus, .btn-two:active, .btn-two.active, .open .dropdown-toggle.btn-two {
850 color: @NavbarFont !important;
851 background-color: @Primary !important;
852 border-color: @Primary !important;
853 }
854
855 .btn-primary {
856 background-color: @Primary !important;
857 border-color: @Primary !important;
858 }
859
860 .open .dropdown-toggle.btn-primary {
861 background-color: @Primary !important;
862 border-color: @Primary !important;
863 }
864
865 .btn-one:hover, .btn-one:focus, .btn-one:active, .btn-one.active, .open .dropdown-toggle.btn-one {
866 color: @Primary !important;
867 }
868
869 .btn-four {
870 border: 2px solid @Primary!important;
871 color: @Primary !important;
872 }
873
874 .btn-four:hover, .btn-four:focus, .btn-four:active, .btn-four.active, .open .dropdown-toggle.btn-four {
875 background-color: #fff !important;
876 }
877
878
879 /* Dropdown-menu */
880 .dropdown-menu > .active > a, .dropdown-menu > .active > a:hover, .dropdown-menu > .active > a:focus {
881 background: @Primary !important;
882 color: #fff !important;
883 }
884
885 /* Ecom settings */
886 .ribbon.base, .ball {
887 background: @Sticker !important;
888 color: #fff;
889 border-right: 5px solid @Sticker !important;
890 }
891
892 .ribbon.base:before {
893 border-top: 27px solid @Sticker !important;
894 }
895
896 .ribbon.base:after {
897 border-bottom: 27px solid @Sticker !important;
898 }
899
900 .price {
901 color: @Price !important;
902 }
903
904 .discount-sticker {
905 background-color: @Sticker !important;
906 }
907
908 .bs-callout-primary {
909 border-left-color: @Primary !important;
910 }
911
912 .ratings .fa-star {
913 color: @Secondary !important;
914 }
915
916 .feature-label {
917 color: @Secondary !important;
918 }";
919
920 return ParseCSSToString(CssString);
921 }
922
923 private string ParseCSSToString(string TheString)
924 {
925 TheString = TheString.Replace("@Primary", ColorSettings.Color.Primary);
926 TheString = TheString.Replace("@Secondary", ColorSettings.Color.Secondary);
927 TheString = TheString.Replace("@NavbarFont", ColorSettings.Color.NavbarFont);
928 TheString = TheString.Replace("@FooterFont", ColorSettings.Color.FooterFont);
929 TheString = TheString.Replace("@Footer", ColorSettings.Color.Footer);
930
931 TheString = TheString.Replace("@Sticker", ColorSettings.Color.Sticker);
932 TheString = TheString.Replace("@Price", ColorSettings.Color.Price);
933 TheString = TheString.Replace("@Cart", ColorSettings.Color.Cart);
934
935
936 System.Text.StringBuilder sb = new System.Text.StringBuilder();
937
938 foreach(var item in TheString.Split(new string[] { Environment.NewLine }, StringSplitOptions.RemoveEmptyEntries))
939 {
940 sb.AppendLine(item);
941 }
942
943 return sb.ToString();
944 }
945 }
946
947 @{
948 InitColorSettings();
949 }
950
951
952
953 @using System.Drawing
954 @using System.Net
955
956
957 @functions{
958 public class GeneralSettings
959 {
960
961 public class Header
962 {
963 public static string Mode { get; set; }
964 public static string Classes { get; set; }
965 public static bool Show { get; set; }
966 public static string Background { get; set; }
967 public static bool ShowFrontpageImage { get; set; }
968 }
969
970 public class Logo
971 {
972 public static string Image { get; set; }
973 public static string ContrastImage { get; set; }
974 public static string Text { get; set; }
975 public static string Slogan { get; set; }
976 public static string SecondaryColor { get; set; }
977 public static string Logo_Background { get; set; }
978 }
979
980 public class Navigation
981 {
982 public static string Position { get; set; }
983 public static bool IsMegamenu { get; set; }
984 public static string InvertedPosition { get; set; }
985 public static string StickyMenu { get; set; }
986 public static string SelectionMode { get; set; }
987 public static string SelectionStyle { get; set; }
988 public static int SelectionWeight { get; set; }
989 public static bool Case { get; set; }
990
991 public static string BreadcrumbMode { get; set; }
992 public static string BreadcrumbAlign { get; set; }
993
994 public static string LeftmenuMode { get; set; }
995
996 public static string ButtonDesign { get; set; }
997 }
998
999 public class Headings
1000 {
1001 public static string Mode { get; set; }
1002 }
1003
1004 public class Background
1005 {
1006 public static string Color { get; set; }
1007 public static string Image { get; set; }
1008 public static string CustomImage { get; set; }
1009 public static bool GradientColor { get; set; }
1010 public static string GradientPercentage { get; set; }
1011 public static string Style { get; set; }
1012 public static string Position { get; set; }
1013 }
1014
1015 public class Site
1016 {
1017 public static bool Shadow { get; set; }
1018 public static string LayoutMode { get; set; }
1019 public static string BlockBGColor { get; set; }
1020 }
1021
1022 public class Images
1023 {
1024 public static bool RoundCorners { get; set; }
1025 }
1026
1027 public class Ecommerce
1028 {
1029 public static string EcomListDesign { get; set; }
1030 public static string EcomCardDesign { get; set; }
1031 }
1032 }
1033
1034 private void InitGeneralSettings()
1035 {
1036 //Header settings
1037 GeneralSettings.Header.Mode = GetString("Item.Area.HeaderLayoutMode");
1038 GeneralSettings.Header.Show = GetBoolean("Item.Area.HeaderShow");
1039 GeneralSettings.Header.Background = GetString("Item.Area.NavigationNavbarBackground");
1040 GeneralSettings.Header.ShowFrontpageImage = GetBoolean("Item.Area.HeaderFrontpageImage");
1041
1042 if (GeneralSettings.Header.Mode == "solid"){
1043 GeneralSettings.Header.Classes = "";
1044 }
1045
1046 if (GeneralSettings.Header.Mode == "cover" || GeneralSettings.Header.Mode == "mobile"){
1047 GeneralSettings.Header.Classes = "header-alpha header-cover";
1048 }
1049
1050
1051 //Logo settings
1052 GeneralSettings.Logo.Image = GetString("Item.Area.GeneralLogo");
1053 GeneralSettings.Logo.Text = GetString("Item.Area.GeneralLogoText");
1054 GeneralSettings.Logo.Slogan = GetString("Item.Area.LogoSlogan");
1055 GeneralSettings.Logo.SecondaryColor = GetString("Item.Area.LogoSecondColor.Color");
1056 GeneralSettings.Logo.Logo_Background = GetString("Item.Area.Logo_Background");
1057
1058 if (!string.IsNullOrWhiteSpace(GetString("Item.Area.LogoContrastImage"))) {
1059 GeneralSettings.Logo.ContrastImage = GetString("Item.Area.LogoContrastImage");
1060 } else {
1061 GeneralSettings.Logo.ContrastImage = GetString("Item.Area.GeneralLogo");
1062 }
1063
1064
1065 //Navigation settings
1066 GeneralSettings.Navigation.Position = GetString("Item.Area.NavigationPosition");
1067 GeneralSettings.Navigation.StickyMenu = "off";
1068 GeneralSettings.Navigation.IsMegamenu = GetBoolean("Item.Area.IsMegamenu");
1069
1070
1071 if (GetBoolean("Item.Area.NavigationSticky")) {
1072 if (GeneralSettings.Header.Show)
1073 {
1074 if (GeneralSettings.Header.Mode == "cover")
1075 {
1076 GeneralSettings.Navigation.StickyMenu = "44"; //"data-spy=\"affix\" data-offset-top=\"44\" data-offset-bottom=\"300\"";
1077 }
1078 else
1079 {
1080 int offset = ImageHeight()+28;
1081
1082 GeneralSettings.Navigation.StickyMenu = offset.ToString(); // "data-spy=\"affix\" data-offset-top=\"" + offset.ToString() + "\" data-offset-bottom=\"300\"";
1083 }
1084 }
1085 else
1086 {
1087 GeneralSettings.Navigation.StickyMenu = "5"; // "data-spy=\"affix\" data-offset-top=\"5\" data-offset-bottom=\"300\"";
1088 }
1089 }
1090
1091 if (GeneralSettings.Navigation.Position == "left") {
1092 GeneralSettings.Navigation.InvertedPosition = "right";
1093 }
1094 else
1095 {
1096 GeneralSettings.Navigation.InvertedPosition = "left";
1097 }
1098
1099 GeneralSettings.Navigation.SelectionMode = GetString("Item.Area.NavigationSelectionMode");
1100 GeneralSettings.Navigation.SelectionStyle = "";
1101 GeneralSettings.Navigation.SelectionWeight = GetInteger("Item.Area.SelectionWeight");
1102
1103 if (GeneralSettings.Navigation.SelectionMode == "arrow") {
1104 GeneralSettings.Navigation.SelectionStyle = "navbar-arrow";
1105 }
1106
1107 GeneralSettings.Navigation.Case = GetBoolean("Item.Area.NavigationUppercase");
1108
1109 GeneralSettings.Navigation.BreadcrumbMode = GetString("Item.Area.NavigationBreadcrumbLayout");
1110 GeneralSettings.Navigation.BreadcrumbAlign = GetString("Item.Area.NavigationBreadcrumbAlign");
1111
1112 GeneralSettings.Navigation.LeftmenuMode = GetString("Item.Area.NavigationLeftNavigationMode");
1113
1114 GeneralSettings.Navigation.ButtonDesign = GetString("Item.Area.NavigationButtonDesign");
1115
1116
1117 //Background settings
1118 GeneralSettings.Background.Image = GetString("Item.Area.BackgroundImage.Image.Image");
1119 GeneralSettings.Background.CustomImage = GetString("Item.Area.BackgroundImage.Image.CustomImage");
1120 GeneralSettings.Background.Color = GetString("Item.Area.BackgroundImage.Color.Color");
1121 GeneralSettings.Background.GradientColor = GetBoolean("Item.Area.BackroundGradientColor");
1122 GeneralSettings.Background.GradientPercentage = GetString("Item.Area.GradientPercentage");
1123
1124
1125 if (@GetString("Item.Area.BackgroundFixed") == "True")
1126 {
1127 GeneralSettings.Background.Position = "fixed";
1128 }
1129 else
1130 {
1131 GeneralSettings.Background.Position = "";
1132 }
1133
1134
1135 if (GeneralSettings.Background.Image == "none")
1136 {
1137 GeneralSettings.Background.Style = "";
1138 }
1139 else if (GeneralSettings.Background.Image == "custom")
1140 {
1141 if (!string.IsNullOrWhiteSpace(GeneralSettings.Background.CustomImage))
1142 {
1143 GeneralSettings.Background.Style = "background: url('/Admin/Public/GetImage.ashx?width=1920&Crop=1&Compression=75&image=" + GeneralSettings.Background.CustomImage + "') " + GeneralSettings.Background.Position + " !important; ";
1144 }
1145 }
1146 else
1147 {
1148 GeneralSettings.Background.Style = "background: url('/Admin/Public/GetImage.ashx?width=1920&Crop=1&Compression=75&image=/Files/Templates/Designs/Dwsimple/images/background/" + GeneralSettings.Background.Image + "') " + GeneralSettings.Background.Position + " !important; ";
1149 }
1150
1151
1152 //Headings settings
1153 GeneralSettings.Headings.Mode = GetString("Item.Area.AdvHeadingsMode");
1154
1155
1156 //Site settings
1157 GeneralSettings.Site.Shadow = GetBoolean("Item.Area.BackgroundSiteShadow");
1158 GeneralSettings.Site.LayoutMode = GetString("Item.Area.LayoutMode");
1159 GeneralSettings.Site.BlockBGColor = GetString("Item.Area.BlockBGColor.Color");
1160
1161 if (GeneralSettings.Site.LayoutMode == "boxed"){
1162 GeneralSettings.Site.LayoutMode = "body-" + GeneralSettings.Site.LayoutMode;
1163 GeneralSettings.Header.Classes += " header-boxed";
1164 }
1165
1166
1167 //Image settings
1168 GeneralSettings.Images.RoundCorners = GetBoolean("Item.Area.LayoutRoundCorners");
1169
1170 //Ecommerce settings
1171 GeneralSettings.Ecommerce.EcomListDesign = GetString("Item.Area.EcommerceProductCardDesign");
1172 GeneralSettings.Ecommerce.EcomCardDesign = GetString("Item.Area.EcommerceProductCardDesign");
1173 }
1174
1175 public string GetGeneralCSS()
1176 {
1177 string CssString = "";
1178 int SelectionWeight = GeneralSettings.Navigation.SelectionWeight;
1179
1180 //Site settings
1181 if (GetString("Item.Area.LogoFont.Color.Color") == "#FFF" || GetString("Item.Area.LogoFont.Color.Color") == "#FFFFFF")
1182 {
1183 int offset = ImageHeight()+28;
1184
1185 CssString += @"
1186 .dw-offsetmenu-logo {
1187 color: #333 !important;
1188 }";
1189 }
1190
1191 if (GeneralSettings.Site.LayoutMode == "fluid")
1192 {
1193 CssString += @"
1194 .container-extra {
1195 background-color: " + GeneralSettings.Site.BlockBGColor + @";
1196 padding-top: 15px;
1197 }";
1198 }else{
1199 CssString += @"
1200 .container-extra {
1201 background-color: " + GeneralSettings.Site.BlockBGColor + @";
1202 padding-top: 15px;
1203 min-width: 100%;
1204 }";
1205 }
1206
1207 if (!string.IsNullOrWhiteSpace(GeneralSettings.Background.Color))
1208 {
1209 CssString += @"
1210 body {
1211 background-color: " + GeneralSettings.Background.Color + @";
1212 background-size: cover;
1213 overflow-y: scroll;
1214 }";
1215 }
1216
1217 if (GeneralSettings.Background.GradientColor)
1218 {
1219 CssString += @"
1220 body {
1221 background: -webkit-linear-gradient(bottom, rgba(0, 0, 0, 0." + GeneralSettings.Background.GradientPercentage + @") 0%, rgba(0, 0, 0, 0) 100%);
1222 background: -o-linear-gradient(bottom, rgba(0, 0, 0, 0." + GeneralSettings.Background.GradientPercentage + @") 0%, rgba(0, 0, 0, 0) 100%);
1223 background: -ms-linear-gradient(bottom, rgba(0, 0, 0, 0." + GeneralSettings.Background.GradientPercentage + @") 0%, rgba(0, 0, 0, 0) 100%);
1224 background: -moz-linear-gradient(bottom, rgba(0, 0, 0, 0." + GeneralSettings.Background.GradientPercentage + @") 0%, rgba(0, 0, 0, 0) 100%);
1225 background: linear-gradient(to top, rgba(0, 0, 0, 0." + GeneralSettings.Background.GradientPercentage + @") 0%, rgba(0, 0, 0, 0) 100%);
1226 background-attachment: fixed;
1227 background-color: " + GeneralSettings.Background.Color + @" !important;
1228 }";
1229 }
1230
1231 if (GeneralSettings.Site.Shadow)
1232 {
1233 CssString += @"
1234 .shad {
1235 -webkit-box-shadow: 0px 0px 8px 0px rgba(50, 50, 50, 0.75);
1236 -moz-box-shadow: 0px 0px 8px 0px rgba(50, 50, 50, 0.75);
1237 box-shadow: 0px 0px 8px 0px rgba(50, 50, 50, 0.75);
1238 }";
1239 }
1240
1241 //Image settings
1242 if (GeneralSettings.Images.RoundCorners)
1243 {
1244 CssString += @"
1245 .content-image {
1246 border-radius: 6px;
1247 -webkit-border-radius: 6px;
1248 -moz-border-radius: 6px;
1249 }";
1250 }
1251
1252 //Navbar and header custom settings
1253 if (GeneralSettings.Header.Mode == "cover")
1254 {
1255 CssString += @"
1256 .navbar-wp {
1257 background-color: none !important;
1258 }";
1259
1260 if (!GeneralSettings.Header.Show || GeneralSettings.Header.Mode == "mobile")
1261 {
1262 CssString += @"
1263 .header-cover .navbar-wp {
1264 top: 0px !important;
1265 }";
1266 }
1267 }
1268 else
1269 {
1270 if (GeneralSettings.Header.Show)
1271 {
1272 CssString += @"
1273 .navbar-wp.affix .navbar-nav > li > a {
1274 padding: 16px 16px !important;
1275 }";
1276 }
1277 }
1278
1279 if (GeneralSettings.Header.Background == "colorline")
1280 {
1281 CssString += @"
1282 .navbar-wp, .navbar-wp.affix {
1283 border-bottom: 4px solid " + ColorSettings.Color.Primary + @" !important;
1284 }
1285
1286 .navbar-wp.affix, .navbar-wp.affix .navbar-nav > li > a {
1287 background-color: #FFF;
1288 color: #333;
1289 }
1290
1291 .navbar-wp.affix .navbar-nav > .active > a, .navbar-wp.affix .navbar-nav > li > a:hover, .navbar-wp.affix .navbar-nav > li > a:focus {
1292 color: " + ColorSettings.Color.NavbarFont + @";
1293 }
1294
1295 .affix .dw-logotext, .affix .dw-slogantext, .dw-header-sm-title, .dw-offsetmenu-logo {
1296 color: " + GeneralSettings.Logo.SecondaryColor + @" !important;
1297 }";
1298 } else if (GeneralSettings.Header.Background == "neutral")
1299 {
1300 CssString += @"
1301 .navbar-wp, .navbar-wp.affix, .navbar-wp .navbar-nav > li > a {
1302 background-color: #f1f1f1;
1303 }
1304
1305 .navbar-wp.affix, .navbar-wp.affix .navbar-nav > li > a {
1306 color: #333;
1307 }
1308
1309 .navbar-wp.affix .navbar-nav > .active > a, .navbar-wp.affix .navbar-nav > li > a:hover, .navbar-wp.affix .navbar-nav > li > a:focus {
1310 color: " + ColorSettings.Color.NavbarFont + @";
1311 }
1312
1313 .affix .dw-logotext, .affix .dw-slogantext, .dw-header-sm-title, .dw-offsetmenu-logo {
1314 color: " + GeneralSettings.Logo.SecondaryColor + @" !important;
1315 }";
1316 }
1317 else if (GeneralSettings.Header.Background == "transparent")
1318 {
1319 CssString += @"
1320 .navbar-wp, .navbar-wp.affix {
1321 background-color: #FFF;
1322 opacity: 0.9;
1323 filter: alpha(opacity=90); /* For IE8 and earlier */
1324 }
1325
1326 .navbar-wp.affix, .navbar-wp.affix .navbar-nav > li > a {
1327 color: #333;
1328 }
1329
1330 .navbar-wp.affix .navbar-nav > .active > a, .navbar-wp.affix .navbar-nav > li > a:hover, .navbar-wp.affix .navbar-nav > li > a:focus {
1331 color: " + ColorSettings.Color.NavbarFont + @";
1332 }
1333
1334 .affix .dw-logotext, .affix .dw-slogantext, .dw-header-sm-title, .dw-offsetmenu-logo {
1335 color: " + GeneralSettings.Logo.SecondaryColor + @" !important;
1336 }";
1337 }
1338 else
1339 {
1340 CssString += @"
1341 .navbar-wp, .navbar-wp.affix, .navbar-wp .navbar-nav > li > a {
1342 background-color: " + ColorSettings.Color.Secondary + @";
1343 }
1344
1345 .affix .dw-logotext, .affix .dw-slogantext, .dw-header-sm-title, .dw-offsetmenu-logo {
1346 color: " + GeneralSettings.Logo.SecondaryColor + @" !important;
1347 }";
1348 }
1349
1350 if (GeneralSettings.Navigation.SelectionMode == "background" || GeneralSettings.Navigation.SelectionMode == "arrow"){
1351 CssString += NavbarPosition(false, SelectionWeight);
1352
1353 CssString += @"
1354 .dw-navbar-button > a {
1355 background-color: transparent !important;
1356 }
1357
1358 .dw-navbar-button > a:hover, dw-navbar-button > a:active, dw-navbar-button > a:focus, .active > a {
1359 background-color: " + ColorSettings.Color.Primary + @" !important;
1360 }";
1361 }
1362
1363 if (GeneralSettings.Navigation.SelectionMode == "underline"){
1364 CssString += NavbarPosition(true);
1365
1366 CssString += ClearBackground();
1367
1368 CssString += @"
1369 .dw-navbar-button > a span:after {
1370 position: absolute;
1371 content: '';
1372 left: 0px;
1373 bottom: 0px;
1374 height: " + SelectionWeight + @"px;
1375 width: 100%;
1376 transform: scaleX(0);
1377 transition: all 0.3s ease-in-out 0s;
1378 }
1379 .dw-navbar-button > a:hover, dw-navbar-button > a:active, dw-navbar-button > a:focus, .active > a {
1380 color: " + ColorSettings.Color.Primary + @" !important;
1381 }
1382
1383 .dw-navbar-button > a:hover span:after, dw-navbar-button > a:active span:after, dw-navbar-button > a:focus span:after, .active > a span:after {
1384 color: " + ColorSettings.Color.Primary + @" !important;
1385 transform: scaleX(1);
1386 transition: all 0.3s ease-in-out 0s;
1387 }";
1388 }
1389
1390 if (GeneralSettings.Navigation.SelectionMode == "boxed"){
1391 CssString += NavbarPosition(true, SelectionWeight);
1392
1393 CssString += @"
1394 .dw-navbar-button > a {
1395 background-color: transparent !important;
1396 }
1397
1398 .dw-navbar-button > a:hover, dw-navbar-button > a:active, dw-navbar-button > a:focus, .active > a {
1399 background-color: " + ColorSettings.Color.Primary + @" !important;
1400 transition: all 0.3s ease-in-out 0s;
1401 }";
1402 }
1403
1404 if (GeneralSettings.Navigation.SelectionMode == "border"){
1405 CssString += NavbarPosition(true, 6, SelectionWeight);
1406
1407 CssString += ClearBackground();
1408
1409 CssString += @"
1410 .dw-navbar-button > a {
1411 border: " + SelectionWeight + @"px solid transparent !important; transition: None !important;
1412 }
1413
1414 .dw-navbar-button > a:hover, dw-navbar-button > a:active, dw-navbar-button > a:focus, .active > a {
1415 border-width: " + SelectionWeight + @"px !important;
1416 border-color: " + ColorSettings.Color.Primary + @" !important;
1417 transition: all 0.3s ease-in-out 0s;
1418 }";
1419 }
1420
1421 if (GeneralSettings.Navigation.SelectionMode == "font"){
1422 CssString += NavbarPosition();
1423
1424 CssString += ClearBackground();
1425
1426 SelectionWeight = (SelectionWeight*100);
1427
1428 CssString += @"
1429 .dw-navbar-button > a:hover, dw-navbar-button > a:active, dw-navbar-button > a:focus, .active > a {
1430 color: " + ColorSettings.Color.Primary + @" !important;
1431 font-weight: " + SelectionWeight + @" !important;
1432 transition: all 0.3s ease-in-out 0s;
1433 }";
1434 }
1435
1436 if (GeneralSettings.Navigation.Case){
1437 CssString += @"
1438 .dw-navbar-button > a {
1439 text-transform: uppercase !important;
1440 }";
1441 }
1442 else
1443 {
1444 CssString += @"
1445 .dw-navbar-button > a {
1446 text-transform: none !important;
1447 }";
1448 }
1449
1450
1451 //Breadcrumb custom settings
1452 if (GeneralSettings.Navigation.BreadcrumbMode == "light")
1453 {
1454 CssString += @"
1455 .pg-opt {
1456 border-bottom: 0px;
1457 background: none repeat scroll 0% 0% #FFF;
1458 }
1459
1460 .dw-breadcrumb-title {
1461 font-size: 14px !important;
1462 padding: 5px 0px 5px 0px !important;
1463 }
1464
1465 .dw-breadcrumb {
1466 padding: 5px 0px 5px 0px !important;
1467 }";
1468 }
1469
1470 if (GeneralSettings.Navigation.BreadcrumbMode == "normal")
1471 {
1472 CssString += @"
1473 .dw-breadcrumb-title {
1474 font-size: 14px !important;
1475 padding: 5px 0px 5px 0px !important;
1476 }
1477
1478 .dw-breadcrumb a, .pg-opt .breadcrumb {
1479 padding: 5px !important;
1480 }";
1481 }
1482
1483 if (GeneralSettings.Navigation.BreadcrumbMode == "large")
1484 {
1485 CssString += @"
1486 .dw-breadcrumb-title {
1487 font-size: 22px !important;
1488 padding: 15px 0px 15px 0px !important;
1489 }
1490
1491 .dw-breadcrumb {
1492 padding: 15px !important;
1493 }";
1494 }
1495
1496
1497 if (GeneralSettings.Navigation.BreadcrumbAlign == "right")
1498 {
1499 CssString += @"
1500 .dw-breadcrumb {
1501 float: right !important;
1502 }";
1503 }
1504 else
1505 {
1506 CssString += @"
1507 .dw-breadcrumb {
1508 float: left !important;
1509 }";
1510 }
1511
1512
1513 //Left menu custom settings
1514 if (GeneralSettings.Navigation.LeftmenuMode == "light" || GeneralSettings.Navigation.LeftmenuMode == "light-color")
1515 {
1516 CssString += @"
1517 ul.dw-categories > li > ul > li > a {
1518 padding: 5px 35px;
1519 }
1520
1521 ul.dw-categories, ul.dw-categories > li, ul.dw-categories > li > ul > li {
1522 border: 0px solid #EEE;
1523 }
1524
1525 ul.dw-categories > li > ul {
1526 background: none repeat scroll 0% 0% #FFF;
1527 }
1528
1529 ul.dw-categories li a:hover, ul.dw-categories li a:focus, ul.dw-categories li a:active {
1530 background-color: #FFF !important;
1531 color: " + ColorSettings.Color.Primary + @" !important;
1532 }
1533
1534 .list-active, .list-active > a {
1535 background-color: #FFF;
1536 color: " + ColorSettings.Color.Primary + @" !important;
1537 }
1538
1539 .list-open-active {
1540 background-color: #FFF;
1541 color: " + ColorSettings.Color.Primary + @" !important;
1542 }";
1543 }
1544
1545 if (GeneralSettings.Navigation.LeftmenuMode == "lines")
1546 {
1547 CssString += @"
1548 ul.dw-categories > li {
1549 border-bottom: 1px solid #EEE;
1550 }
1551
1552 ul.dw-categories {
1553 border: 0px solid #EEE;
1554 }
1555
1556 ul.dw-categories > li > ul {
1557 background: none repeat scroll 0% 0% #FFF;
1558 }
1559
1560 ul.dw-categories li a:hover, a:focus, a:active {
1561 background-color: #FFF !important;
1562 color: " + ColorSettings.Color.Primary + @" !important;
1563 }
1564
1565 .list-active, .list-active > a {
1566 background-color: #FFF;
1567 color: " + ColorSettings.Color.Primary + @" !important;
1568 }
1569
1570 .list-open-active {
1571 background-color: #FFF;
1572 color: " + ColorSettings.Color.Primary + @" !important;
1573 }";
1574 }
1575
1576 if (GeneralSettings.Navigation.LeftmenuMode == "boxed")
1577 {
1578 CssString += @"
1579 ul.dw-categories, ul.dw-categories > li, ul.dw-categories > li > ul > li {
1580 border: 0px solid #EEE;
1581 }
1582
1583 .list-active, .list-active > a {
1584 background-color: " + ColorSettings.Color.Primary + @" !important;
1585 color: #FFF;
1586 }";
1587 }
1588
1589 if (GeneralSettings.Navigation.LeftmenuMode == "border")
1590 {
1591 CssString += @"
1592 ul.dw-categories > li {
1593 border: 1px solid #EEE;
1594 }
1595
1596 ul.dw-categories > li > ul > li {
1597 border-top: 1px solid #EEE;
1598 }
1599
1600 .list-active, .list-active > a {
1601 background-color: " + ColorSettings.Color.Primary + @" !important;
1602 color: #FFF;
1603 }";
1604 }
1605
1606 if (GeneralSettings.Navigation.LeftmenuMode == "light-color")
1607 {
1608 CssString += @"
1609 ul.dw-categories li a:hover, ul.dw-categories a:focus, ul.dw-categories a:active {
1610 border-left: 6px solid " + ColorSettings.Color.Primary + @";
1611 }
1612
1613 ul.dw-categories .list-active > a {
1614 border-left: 6px solid " + ColorSettings.Color.Primary + @";
1615 }
1616
1617 .btn-dw:hover, .btn-dw:focus, .btn-dw:active {
1618
1619 }";
1620 }
1621
1622
1623 //Buttons custom designs
1624 if (GeneralSettings.Navigation.ButtonDesign == "light-rounded")
1625 {
1626 CssString += @"
1627 .btn-dw-primary, .btn-dw-secondary, .btn-dw-cart {
1628 border-width: 1px; <!-- rettelse så knapperne ikke forsvinder -->
1629 }
1630
1631 .btn-dw-primary:hover, .btn-dw-primary:focus, .btn-dw-primary:active {
1632 background-color: " + ColorSettings.Color.Secondary + @"; <!-- rettelse så knapperne ikke forsvinder -->
1633 border-color: " + ColorSettings.Color.Primary + @"; <!-- rettelse så knapperne ikke forsvinder -->
1634 color: " + ColorSettings.Color.Primary + @"; <!-- rettelse så knapperne ikke forsvinder -->
1635 border-width: 1px; <!-- rettelse så knapperne ikke forsvinder -->
1636 }
1637
1638 .btn-dw-secondary:hover, .btn-dw-secondary:focus, .btn-dw-secondary:active {
1639 background-color: " + ColorSettings.Color.Primary + @";
1640 color: #FFF;
1641 border-width: 0px;
1642 }
1643
1644 .btn-dw-cart:hover, .btn-dw-cart:focus, .btn-dw-cart:active {
1645 background-color: " + GetString("Item.Area.EcommerceCartButtonColor.Color") + @";
1646 color: #FFF;
1647 border-width: 0px;
1648 }";
1649 }
1650
1651 if (GeneralSettings.Navigation.ButtonDesign == "corners")
1652 {
1653 CssString += @"
1654 .btn-dw-primary, .btn-dw-secondary, btn-dw-cart , .btn-dw-cart {
1655 border-radius: 0px !important;
1656 border-width: 0px;
1657 }
1658
1659 .btn-dw-primary:hover, .btn-dw-primary:focus, .btn-dw-primary:active {
1660 background-color: " + ColorSettings.Color.Secondary + @";
1661 color: #FFF;
1662 border-width: 0px;
1663 }
1664
1665 .btn-dw-secondary:hover, .btn-dw-secondary:focus, .btn-dw-secondary:active {
1666 background-color: " + ColorSettings.Color.Primary + @";
1667 color: #FFF;
1668 border-width: 0px;
1669 }
1670
1671 .btn-dw-cart:hover, .btn-dw-cart:focus, .btn-dw-cart:active {
1672 background-color: " + GetString("Item.Area.EcommerceCartButtonColor.Color") + @";
1673 color: #FFF;
1674 border-width: 0px;
1675 }";
1676 }
1677
1678 if (GeneralSettings.Navigation.ButtonDesign == "round")
1679 {
1680 CssString += @"
1681 .btn-dw-primary, .btn-dw-secondary, .btn-dw-cart {
1682 padding: 5px 15px;
1683 border-radius: 200px !important;
1684 border-width: 0px !important;
1685 }
1686
1687 .btn-dw-primary:hover, .btn-dw-primary:focus, .btn-dw-primary:active {
1688 background-color: " + ColorSettings.Color.Secondary + @";
1689 color: #FFF;
1690 border-width: 0px !important;
1691 }
1692
1693 .btn-dw-secondary:hover, .btn-dw-secondary:focus, .btn-dw-secondary:active {
1694 background-color: " + ColorSettings.Color.Primary + @";
1695 color: #FFF;
1696 border-width: 0px !important;
1697 }
1698
1699 .btn-dw-cart:hover, .btn-dw-cart:focus, .btn-dw-cart:active {
1700 background-color: " + GetString("Item.Area.EcommerceCartButtonColor.Color") + @";
1701 color: #FFF;
1702 border-width: 0px !important;
1703 }";
1704 }
1705
1706 if (GeneralSettings.Navigation.ButtonDesign == "border")
1707 {
1708 CssString += @"
1709 .btn-dw-primary, .btn-dw-secondary, .btn-dw-cart {
1710 background-color: transparent;
1711 }
1712
1713 .btn-dw-primary {
1714 border-width: 4px;
1715 padding: 3px 10px;
1716 color: " + ColorSettings.Color.Primary + @";
1717 }
1718
1719 .btn-dw-secondary {
1720 border-width: 2px;
1721 color: " + ColorSettings.Color.Secondary + @";
1722 }
1723
1724 .btn-dw-cart {
1725 border-width: 4px;
1726 padding: 3px 10px;
1727 color: " + GetString("Item.Area.EcommerceCartButtonColor.Color") + @";
1728 }
1729
1730 .btn-dw-primary:hover, .btn-dw-primary:focus, .btn-dw-primary:active {
1731 background-color: " + ColorSettings.Color.Primary + @";
1732 border-width: 4px;
1733 padding: 3px 10px;
1734 border-color: " + ColorSettings.Color.Primary + @";
1735 color: #FFF;
1736 }
1737
1738 .btn-dw-secondary:hover, .btn-dw-secondary:focus, .btn-dw-secondary:active {
1739 background-color: " + ColorSettings.Color.Primary + @";
1740 border-width: 2px;
1741 color: #FFF;
1742 border-color: #FFF;
1743 }
1744
1745 .btn-dw-cart:hover, .btn-dw-cart:focus, .btn-dw-cart:active {
1746 background-color: " + GetString("Item.Area.EcommerceCartButtonColor.Color") + @";
1747 border-width: 4px;
1748 padding: 3px 10px;
1749 border-color: " + GetString("Item.Area.EcommerceCartButtonColor.Color") + @";
1750 color: #FFF;
1751 }";
1752 }
1753
1754 if (GeneralSettings.Navigation.ButtonDesign == "border-sharp" || GeneralSettings.Navigation.ButtonDesign == "border-round")
1755 {
1756 CssString += @"
1757 .btn-dw-primary, .btn-dw-secondary, .btn-dw-cart {
1758 background-color: transparent;
1759 }
1760
1761 .btn-dw-primary {
1762 border-width: 4px;
1763 padding: 3px 15px;
1764 color: " + ColorSettings.Color.Primary + @";
1765 }
1766
1767 .btn-dw-secondary {
1768 border-width: 2px;
1769 padding: 5px 15px;
1770 color: " + ColorSettings.Color.Secondary + @";
1771 }
1772
1773 .btn-dw-cart {
1774 border-width: 4px;
1775 padding: 3px 15px;
1776 color: " + GetString("Item.Area.EcommerceCartButtonColor.Color") + @";
1777 }
1778
1779 .btn-dw-primary:hover, .btn-dw-primary:focus, .btn-dw-primary:active {
1780 background-color: " + ColorSettings.Color.Primary + @";
1781 border-width: 4px;
1782 color: #FFF;
1783 padding: 3px 15px;
1784 border-color: " + ColorSettings.Color.Primary + @";
1785 }
1786
1787 .btn-dw-secondary:hover, .btn-dw-secondary:focus, .btn-dw-secondary:active {
1788 background-color: " + ColorSettings.Color.Primary + @";
1789 border-width: 2px;
1790 color: #FFF;
1791 padding: 5px 15px;
1792 border-color: #FFF;
1793 }
1794
1795 .btn-dw-cart:hover, .btn-dw-cart:focus, .btn-dw-cart:active {
1796 background-color: " + GetString("Item.Area.EcommerceCartButtonColor.Color") + @";
1797 border-width: 4px;
1798 color: #FFF;
1799 padding: 3px 15px;
1800 border-color: " + GetString("Item.Area.EcommerceCartButtonColor.Color") + @";
1801 }";
1802 }
1803
1804 if (GeneralSettings.Navigation.ButtonDesign == "border-sharp")
1805 {
1806 CssString += @"
1807 .btn-dw-primary, .btn-dw-secondary, .btn-dw-cart, .btn-dw-primary:hover, .btn-dw-primary:focus, .btn-dw-primary:active, .btn-dw-secondary:hover, .btn-dw-secondary:focus, .btn-dw-secondary:active, .btn-dw-cart:hover, .btn-dw-cart:focus, .btn-dw-cart:active {
1808 border-radius: 0px !important;
1809 }";
1810 }
1811
1812 if (GeneralSettings.Navigation.ButtonDesign == "border-round")
1813 {
1814 CssString += @"
1815 .btn-dw-primary, .btn-dw-secondary, .btn-dw-cart, .btn-dw-primary:hover, .btn-dw-primary:focus, .btn-dw-primary:active, .btn-dw-secondary:hover, .btn-dw-secondary:focus, .btn-dw-secondary:active, .btn-dw-cart:hover, .btn-dw-cart:focus, .btn-dw-cart:active {
1816 border-radius: 200px !important;
1817 }";
1818 }
1819
1820
1821 //Headings custom settings
1822 if (GeneralSettings.Headings.Mode == "underline")
1823 {
1824 CssString += @"
1825 .dw-section-title {
1826 border-bottom: 2px solid;
1827 margin-bottom: 15px;
1828 }";
1829 }
1830
1831 if (GeneralSettings.Headings.Mode == "boxed" || GeneralSettings.Headings.Mode == "boxed-line")
1832 {
1833 CssString += @"
1834 .dw-section-title span {
1835 background-color: " + GetString("Item.Area.HeadingsH1.Color.Color") + @";
1836 display: inline-block;
1837 padding: 8px 16px;
1838 color: #FFF;
1839 }";
1840
1841 if (string.IsNullOrWhiteSpace(GetString("Item.Area.HeadingsH1.Color.Color")))
1842 {
1843 CssString += @"
1844 .dw-section-title {
1845 background-color: " + ColorSettings.Color.Primary + @";
1846 }";
1847 }
1848 }
1849
1850 if (GeneralSettings.Headings.Mode == "boxed-line")
1851 {
1852 CssString += @"
1853 .dw-section-title span {
1854 margin-bottom: 2px;
1855 }
1856
1857 .dw-section-title {
1858 border-bottom: 2px solid " + GetString("Item.Area.HeadingsH1.Color.Color") + @";
1859 margin-bottom: 10px;
1860 }";
1861
1862 if (string.IsNullOrWhiteSpace(GetString("Item.Area.HeadingsH1.Color.Color")))
1863 {
1864 CssString += @"
1865 .dw-section-title {
1866 border-bottom: 2px solid " + ColorSettings.Color.Primary + @";
1867 }";
1868 }
1869 }
1870
1871 if (GeneralSettings.Headings.Mode == "outline")
1872 {
1873 CssString += @"
1874 .dw-section-title {
1875 color: #FFF;
1876 text-shadow:
1877 -1px -1px 0 " + GetString("Item.Area.HeadingsH1.Color.Color") + @",
1878 1px -1px 0 " + GetString("Item.Area.HeadingsH1.Color.Color") + @",
1879 -1px 1px 0 " + GetString("Item.Area.HeadingsH1.Color.Color") + @",
1880 1px 1px 0 " + GetString("Item.Area.HeadingsH1.Color.Color") + @";
1881 }";
1882
1883 if (string.IsNullOrWhiteSpace(GetString("Item.Area.HeadingsH1.Color.Color")))
1884 {
1885 CssString += @"
1886 .dw-section-title {
1887 text-shadow:
1888 -1px -1px 0 #1A1A1A,
1889 1px -1px 0 #1A1A1A,
1890 -1px 1px 0 #1A1A1A,
1891 1px 1px 0 #1A1A1A;
1892 }";
1893 }
1894 }
1895
1896 if (GeneralSettings.Headings.Mode == "backline")
1897 {
1898 CssString += @"
1899 .dw-section-title {
1900 text-align: center;
1901 border-bottom: 2px solid;
1902 padding: 0;
1903 margin: 50px 0 30px;
1904 line-height: 0em !important;
1905 }
1906
1907 .dw-section-title > span {
1908 background-color: #FFF;
1909 padding: 0 16px;
1910 }
1911
1912 .dw-section-title-small {
1913 margin: 8px 0 20px;
1914 }";
1915 }
1916
1917 if (GeneralSettings.Ecommerce.EcomCardDesign == "one")
1918 {
1919
1920 }
1921
1922 if (GeneralSettings.Ecommerce.EcomCardDesign == "two")
1923 {
1924 CssString += @"
1925 .product {
1926 border: 1px solid #E5E5E5;
1927 }";
1928 }
1929
1930 return CssString;
1931 }
1932
1933 private string ClearBackground() {
1934 string CssString = "";
1935
1936 CssString += @"
1937 .dw-navbar-button > a {
1938 background-color: rgba(0, 0, 0, 0.0) !important;
1939 }
1940
1941 .dw-navbar-button > a:hover, dw-navbar-button > a:active, dw-navbar-button > a:focus, .active > a {
1942 background-color: rgba(0, 0, 0, 0.0) !important;
1943 }";
1944
1945 return CssString;
1946 }
1947
1948 private string NavbarPosition(bool margin=false, int specialpadding=6, int extramargin=0) {
1949 int LogoHeight = 0;
1950 string CssString = "";
1951 int Centerpos = 0;
1952
1953 if (GeneralSettings.Header.Mode != "solid"){
1954 if (!string.IsNullOrWhiteSpace(GeneralSettings.Logo.Image))
1955 {
1956 LogoHeight = ImageHeight();
1957 }
1958 else
1959 {
1960 LogoHeight = GetInteger("Item.Area.LogoFont.Size");
1961 }
1962 }
1963 else
1964 {
1965 if (!string.IsNullOrWhiteSpace(GeneralSettings.Logo.Image))
1966 {
1967 LogoHeight = 18;
1968 }
1969 else
1970 {
1971 LogoHeight = GetInteger("Item.Area.LogoFont.Size")-10;
1972 }
1973 }
1974
1975 if (margin == false)
1976 {
1977 Centerpos = (LogoHeight/2) + 6;
1978
1979 CssString += @"
1980 .dw-navbar-button > a, .navbar-wp.affix .navbar-nav > li > a {
1981 padding: " + Centerpos + @"px " + (specialpadding+4) + @"px " + Centerpos + @"px " + (specialpadding+4) + @"px !important;
1982 margin: " + extramargin + @"px " + extramargin + @"px !important;
1983 }";
1984 }
1985 else
1986 {
1987 Centerpos = ((LogoHeight/2)+6)-(specialpadding+extramargin);
1988
1989 CssString += @"
1990 .dw-navbar-button > a, .navbar-wp.affix .navbar-nav > li > a {
1991 padding: " + specialpadding + @"px " + (specialpadding+4) + @"px " + specialpadding + @"px " + (specialpadding+4) + @"px !important;
1992 margin: " + Centerpos + @"px 4px 0px 0px !important;
1993 }";
1994 }
1995
1996 return CssString;
1997 }
1998
1999 private int ImageHeight ()
2000 {
2001 int LogoHeight = 0;
2002
2003 if (!string.IsNullOrWhiteSpace(GetString("Item.Area.GeneralLogo")))
2004 {
2005 string imageUrl = "";
2006
2007 WebRequest request = WebRequest.Create(imageUrl);
2008 WebResponse response = request.GetResponse();
2009 Image image = Image.FromStream(response.GetResponseStream());
2010
2011 LogoHeight = image.Height;
2012 }
2013 else
2014 {
2015 LogoHeight = 38;
2016 }
2017
2018 return LogoHeight;
2019 }
2020 }
2021
2022
2023
2024 @{
2025 InitGeneralSettings();
2026 }
2027
2028
2029 @if (writeCss)
2030 {
2031 css += FontStylesCSS() + "/*Colors*/" + Environment.NewLine + GetColorSettings() + Environment.NewLine + "/*General*/" + Environment.NewLine + GetGeneralCSS();
2032 Dynamicweb.Core.Helpers.TextFileHelper.WriteTextFile(css, HttpContext.Current.Server.MapPath("/Files/Templates/Designs/Dwsimple/css/DWGlobalStylesSite" + GetString("DwAreaID") + "_auto.css"), false);
2033 Dynamicweb.Core.Helpers.TextFileHelper.WriteTextFile(RemoveWhiteSpaceFromStylesheets(Dynamicweb.Core.Helpers.TextFileHelper.ReadTextFile(HttpContext.Current.Server.MapPath("/Files/Templates/Designs/Dwsimple/css/DWGlobalStyles.css"))), HttpContext.Current.Server.MapPath("/Files/Templates/Designs/Dwsimple/css/DWGlobalStyles.min.css"), false);
2034 Dynamicweb.Core.Helpers.TextFileHelper.WriteTextFile(RemoveWhiteSpaceFromStylesheets(Dynamicweb.Core.Helpers.TextFileHelper.ReadTextFile(HttpContext.Current.Server.MapPath("/Files/Templates/Designs/Dwsimple/css/custom.css"))), HttpContext.Current.Server.MapPath("/Files/Templates/Designs/Dwsimple/css/custom.min.css"), false);
2035
2036 Dynamicweb.Core.Helpers.TextFileHelper.WriteTextFile(RemoveWhiteSpaceFromStylesheets(css), cssPath, false);
2037 }
2038
2039 @functions{
2040 public static string RemoveWhiteSpaceFromStylesheets(string body)
2041 {
2042 body = Regex.Replace(body, @"[a-zA-Z]+#", "#");
2043 body = Regex.Replace(body, @"[\n\r]+\s*", string.Empty);
2044 body = Regex.Replace(body, @"\s+", " ");
2045 body = Regex.Replace(body, @"\s?([:,;{}])\s?", "$1");
2046 body = body.Replace(";}", "}");
2047 body = Regex.Replace(body, @"([\s:]0)(px|pt|%|em)", "$1");
2048 // Remove comments from CSS
2049 body = Regex.Replace(body, @"/\*[\d\D]*?\*/", string.Empty);
2050 return body;
2051 }
2052 }
2053
2054 <!-- Template styles -->
2055 <link id="dwStylesheet" type="text/css" href="/Files/Templates/Designs/Dwsimple/css/DWGlobalStyles.min.css" rel="stylesheet" media="screen">
2056 <link rel="stylesheet" type="text/css" href="/Files/Templates/Designs/Dwsimple/css/invoice.css">
2057 <link rel="stylesheet" type="text/css" href="/Files/Templates/Designs/Dwsimple/css/jquerybxslider.css">
2058 <link rel="stylesheet" type="text/css" href="/Files/Templates/Designs/Dwsimple/css/print.css" media="print">
2059
2060 @{ string cssAutoPath = "/Files/Templates/Designs/Dwsimple/css/DWGlobalStylesSite" + GetString("DwAreaID") + "_auto.min.css?t=@areaUpdated.Ticks"; }
2061
2062 <link type="text/css" href="@cssAutoPath" rel="stylesheet">
2063
2064 <!-- Analytics code -->
2065 @GetValue("Item.Area.OtherAnalyticsCode")
2066
2067 <link rel="stylesheet" type="text/css" href="/Files/Templates/Designs/Dwsimple/css/typeahead.css">
2068 <script src="//ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
2069
2070 @if (GeneralSettings.Navigation.IsMegamenu)
2071 {
2072 <link rel="stylesheet" type="text/css" href="/Files/Templates/Designs/Dwsimple/css/megamenu.css">
2073 }
2074
2075 @GetValue("Stylesheets")
2076 @GetValue("Javascripts")
2077 </head>
2078 <body style="@GeneralSettings.Background.Style" id="sitecontent">
2079 <div id="fb-root"></div>
2080 <script>
2081 (function(d, s, id) {
2082 var js, fjs = d.getElementsByTagName(s)[0];
2083 if (d.getElementById(id)) return;
2084 js = d.createElement(s); js.id = id;
2085 js.src = "//connect.facebook.net/da_DK/sdk.js#xfbml=1&version=v2.5";
2086 fjs.parentNode.insertBefore(js, fjs);
2087 }(document, 'script', 'facebook-jssdk'));
2088 </script>
2089
2090 <!-- MODALS -->
2091 <div class="modal fade" id="login" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
2092 <div class="modal-dialog modal-sm">
2093 <div class="modal-content">
2094 <div class="modal-header">
2095 <h4 class="modal-title" id="myModalLabel">@Translate("Login", "Login")</h4>
2096 </div>
2097 <form role="form" id="loginform" method="post">
2098 <div class="modal-body">
2099 @if (!string.IsNullOrWhiteSpace(GetString("DW_extranet_error_uk")))
2100 {
2101 <script>alert("@GetValue("DW_extranet_error_uk")");</script>
2102 }
2103
2104 <input type="hidden" name="ID" value="@Pageview.ID">
2105 <input type="hidden" name="DWExtranetUsernameRemember" value="True">
2106 <input type="hidden" name="DWExtranetPasswordRemember" value="True">
2107 <div class="form-group">
2108 @{ attrValue = Translate("Enter username", "Enter username");
2109 var username2 = @GetValue("DWExtranetUsername");
2110 }
2111
2112 <label for="username">@Translate("Email address", "Email address")</label>
2113 <input type="text" class="form-control" name="username" id="username" placeholder="@attrValue" value="@username2">
2114 </div>
2115 <div class="form-group">
2116 @{ attrValue = Translate("Enter password", "Enter password");
2117 }
2118
2119 <label for="password">@Translate("Password", "Password")</label>
2120 <input type="password" class="form-control" name="password" id="password" placeholder="@attrValue">
2121 <p> </p>
2122 <a class="pull-left" href="/Default.aspx?ID=@firstpageid&LoginAction=Recovery">@Translate("Forgot your password?", "Forgot your password?")</a>
2123
2124 </div>
2125 </div>
2126 <div class="modal-footer">
2127 <div class="row">
2128 <div class="col-md-12">
2129 <div class="checkbox pull-left">
2130 <label>
2131 <input type="checkbox" name="Autologin" checked="checked" value="True"> @Translate("Remember me", "Remember me")
2132 </label>
2133 </div>
2134 <button type="submit" class="btn btn-xs btn-base pull-right">@Translate("Sign in", "Sign in")</button>
2135 </div>
2136 </div>
2137 </div>
2138 @if (GetLoop("DWExtranetExternalLoginProviders").Count != 0)
2139 {
2140 <div class="modal-footer">
2141 <div class="row">
2142 <div class="col-md-12">
2143 <div class="pull-left">@Translate("Or sign in using", "Or sign in using"):</div>
2144 <p> </p>
2145 </div>
2146 </div>
2147
2148 <div class="row">
2149 <div class="col-md-12">
2150 @foreach (LoopItem LoginProvider in GetLoop("DWExtranetExternalLoginProviders"))
2151 {
2152 var ProviderName = LoginProvider.GetString("ProviderName").ToLower();
2153 var ProviderID = LoginProvider.GetValue("ProviderID");
2154 <a href='/Admin/Public/Social/ExternalLogin.aspx?action=login&providerID=@ProviderID' class="btn btn-xs btn-base pull-left"><i class="fa fa-@ProviderName"></i>@LoginProvider.GetString("ProviderName")</a><text> </text>
2155 }
2156 </div>
2157 </div>
2158 </div>
2159 }
2160 </form>
2161 </div>
2162 </div>
2163 </div>
2164 <!-- MOBILE MENU -->
2165 @{
2166 var offsetmenuplace = "left";
2167
2168 if (GeneralSettings.Header.Mode == "mobile"){
2169 offsetmenuplace = GeneralSettings.Navigation.Position;
2170 }
2171 }
2172
2173 <div id="myNavmenu" class="navmenu navmenu-default navmenu-fixed-@offsetmenuplace offcanvas">
2174 <div class="col-sm-12 col-xs-12 offcanvas-col">
2175 <div class="row offcanvas-row"> </div>
2176 <div class="row offcanvas-row">
2177 <div class="col-sm-12 col-xs-12 offcanvas-col">
2178 <a href="/Default.aspx?ID=@firstpageid" class="brand">
2179 @if (!string.IsNullOrWhiteSpace(GeneralSettings.Logo.Image))
2180 {
2181 <div class="img-responsive dw-offsetmenu-logo pull-left">
2182 <img src="@GeneralSettings.Logo.Image" alt="Logo">
2183 </div>
2184 }
2185
2186 @if (!string.IsNullOrWhiteSpace(GeneralSettings.Logo.Text))
2187 {
2188 <div class="dw-logotext dw-offsetmenu-logo pull-left">@GeneralSettings.Logo.Text</div>
2189 }
2190 </a>
2191 </div>
2192 </div>
2193 <div class="row offcanvas-row"> </div>
2194 </div>
2195
2196 <div class="col-sm-12 col-xs-12 offcanvas-col">
2197 @if (GetBoolean("Item.Area.EcomEnabled")) {
2198 <div class="row offcanvas-row">
2199 <div class="col-sm-12 col-xs-12 offcanvas-col">
2200 <form method="get" action="Default.aspx">
2201 <input type="hidden" name="ID" value='@Pageview.Area.Item["ProductsPageId"]'>
2202 <div class="input-group">
2203 <input type="text" class="form-control" name="eComQuery" tabindex="1" placeholder="Søg">
2204 <span class="input-group-btn">
2205 <button class="btn btn-primary" type="submit"><i class="fa fa-search"></i></button>
2206 </span>
2207 </div>
2208 </form>
2209 </div>
2210 </div>
2211 <div class="row offcanvas-row"> </div>
2212 <div class="row offcanvas-row">
2213 <div class="col-sm-12 col-xs-12 offcanvas-col">
2214 @if (!Dynamicweb.Core.Converter.ToBoolean(GetGlobalValue("Global:Extranet.UserName")))
2215 {
2216 <div class="pull-left">
2217 <a href='Default.aspx?ID=@Pageview.Area.Item["SignInPageId"]' class="btn btn-sm btn-default"><i class="fa fa-sign-in"></i> @Translate("Sign in", "Sign in")</a>
2218 </div>
2219 }
2220
2221 @if (Dynamicweb.Core.Converter.ToBoolean(GetGlobalValue("Global:Extranet.UserName")))
2222 {
2223 <div class="pull-left">
2224 <a href='Default.aspx?ID=@Pageview.Area.Item["OrdersPageId"]' class="btn btn-sm btn-default">
2225 <i class="fa fa-user"></i> <strong>@GetGlobalValue("Global:Extranet.Name")</strong>
2226 </a>
2227 </div>
2228 <div class="pull-left">
2229 <a href="/Admin/Public/ExtranetLogoff.aspx?ID=@Pageview.ID"><button class="btn btn-sm btn-default"><i class="fa fa-sign-out"></i> @Translate("Sign out", "Sign out")</button></a>
2230 </div>
2231 }
2232 @if (GetLoop("DWExtranetSecondaryUsers").Count > 0 || !string.IsNullOrWhiteSpace(GetGlobalValue("Global:Extranet.SecondaryUser.UserID")))
2233 {
2234 <p> </p>
2235 <form method="post">
2236 <div class="pull-left">
2237 @if (string.IsNullOrWhiteSpace(GetGlobalValue("Global:Extranet.SecondaryUser.UserID")))
2238 {
2239 <select id="DWExtranetSecondaryUserSelector" name="DWExtranetSecondaryUserSelector" title="Impersonate selected user">
2240 @foreach (var user in GetLoop("DWExtranetSecondaryUsers"))
2241 {
2242 <option value='@user.GetValue("UserID")'>@user.GetValue("UserName")</option>
2243 }
2244 </select>
2245 <input type="submit" class="btn btn-xs" tabindex="3" value="OK">
2246 }
2247 else
2248 {
2249 string impersonateUser = @GetGlobalValue("Global:Extranet.SecondaryUser.UserName") + " is impersonated by " + @Pageview.User.UserName;
2250 <span title="@impersonateUser" class="btn btn-xs impersonation-btn"><i class="fa fa-user-secret"></i> @GetGlobalValue("Global:Extranet.SecondaryUser.UserName")</span>
2251 <input type="submit" class="btn btn-xs" name="DwExtranetRemoveSecondaryUser" id="DwExtranetRemoveSecondaryUser" value="Stop impersonation">
2252 }
2253 </div>
2254 </form>
2255 }
2256 </div>
2257
2258 </div>
2259 <div class="row offcanvas-row"> </div>
2260 }
2261 </div>
2262
2263
2264 <div class="row offcanvas-row">
2265 <div class="col-sm-12 col-xs-12 offcanvas-col">
2266 @GetValue("DwNavigation(drawernavigation)")
2267 </div>
2268 </div>
2269 </div>
2270
2271 <!-- HEADER AND CONTENT-->
2272
2273 <div class="body-wrap shad @GeneralSettings.Site.LayoutMode">
2274
2275 <!-- HEADER -->
2276 <div id="divHeaderWrapper" class="top-header">
2277
2278
2279 <!-- TOP HEADER -->
2280 @if (GeneralSettings.Header.Show){
2281 <div class="top-header img-responsive">
2282 <a href="/home">
2283 <div class="row">
2284 <div class="col-md-6 logobox">
2285 @if (GeneralSettings.Header.Mode == "solid"){
2286 <a href="/Default.aspx?ID=@firstpageid" class="brand">
2287 @if (!string.IsNullOrWhiteSpace(GeneralSettings.Logo.Image))
2288 {
2289 <img class="img-responsive dw-logoimage pull-left" src="@GeneralSettings.Logo.Image" alt="Logo">
2290 }
2291
2292 @if (!string.IsNullOrWhiteSpace(GeneralSettings.Logo.Text))
2293 {
2294 <div class="dw-logotext pull-left">@GeneralSettings.Logo.Text</div>
2295 }
2296 </a>
2297 }
2298 </div>
2299 <div class="col-md-6 logobox">
2300 <nav class="top-header-menu hidden-sm hidden-xs">
2301 <ul class="top-menu">
2302
2303 <!-- Ecommerce user menu -->
2304 @if (GetBoolean("Item.Area.EcomEnabled")) {
2305 if (!Dynamicweb.Core.Converter.ToBoolean(GetGlobalValue("Global:Extranet.UserName")))
2306 {
2307 <text>
2308 <li><a href="#" data-toggle="modal" data-target="#login">@Translate("Login", "Login")</a></li>
2309 @GetValue("DwNavigation(toolsnavigationNotloggedin)")
2310 </text>
2311 }
2312
2313 if (Dynamicweb.Core.Converter.ToBoolean(GetGlobalValue("Global:Extranet.UserName")))
2314 {
2315 <text>
2316 <li>
2317 <a href="Default.aspx?ID=8473">
2318 <nobr>
2319 <i class="fa fa-user"></i> <strong>@GetGlobalValue("Global:Extranet.Name")</strong>
2320 </nobr>
2321 </a>
2322 </li>
2323 <li>
2324 <a href='/Admin/Public/ExtranetLogoff.aspx?ID=@currentpageid'>@Translate("Logout", "Logout")</a>
2325 </li>
2326 </text>
2327 }
2328 }
2329
2330
2331 <!-- Ecommerce Cart -->
2332 @if (GetBoolean("Item.Area.EcomEnabled")) {
2333 <li class="dropdown animate-hover" data-animate="animated fadeInUp">
2334 <a href="Default.aspx?ID=@cartid" title="" id="minipagecart" class="dw-minicart"><i class="fa fa-shopping-cart"></i> @GetValue("Ecom:Order.OrderLines.TotalProductQuantity") <span>@GetValue("Ecom:Order.OrderLines.Total.PriceWithVAT")</span></a>
2335
2336 <ul class="sub-menu">
2337 <li id="minicart">
2338 @MiniCart()
2339 </li>
2340 </ul>
2341 </li>
2342 }
2343 </ul>
2344 </nav>
2345 </div>
2346 </div>
2347 </a>
2348 </div>
2349 }
2350
2351 <!-- MAIN NAV -->
2352 @{
2353 var sticky = GeneralSettings.Navigation.StickyMenu;
2354 var stickyTrigger = "affix";
2355 var navbarpos = GeneralSettings.Navigation.Position;
2356 var selectionstyle = GeneralSettings.Navigation.SelectionStyle;
2357
2358 if (sticky == "off") {
2359 stickyTrigger = "";
2360 }
2361 }
2362
2363
2364 <div id="navOne" class="navbar navbar-wp @selectionstyle navbar-fixed affix-top" role="navigation" data-spy="@stickyTrigger" data-offset-top="@sticky" data-offset-bottom="300">
2365 <div class="container container-extra">
2366 @if (GeneralSettings.Header.Mode != "solid" || !GeneralSettings.Header.Show)
2367 {
2368 <div class="navbar-header pull-@GeneralSettings.Navigation.InvertedPosition">
2369 <div class="hidden-sm hidden-xs">
2370 <a href="/Default.aspx?ID=@firstpageid" class="brand">
2371 @if (!string.IsNullOrWhiteSpace(GeneralSettings.Logo.Image))
2372 {
2373 <img class="img-responsive dw-logoimage pull-left" src="@GeneralSettings.Logo.Image" alt="Logo">
2374 }
2375
2376 @if (!string.IsNullOrWhiteSpace(GeneralSettings.Logo.Text))
2377 {
2378 <div class="dw-logotext pull-left">@GeneralSettings.Logo.Text</div>
2379 }
2380 </a>
2381 </div>
2382 </div>
2383 }
2384
2385 @if (GeneralSettings.Header.Mode != "mobile")
2386 {
2387 <!-- Small screen header -->
2388 <div class="hidden-md hidden-lg row">
2389 <div class="dw-header-sm">
2390 <div class="pull-left">
2391 <button type="button" class="btn btn-sm btn-base" data-toggle="offcanvas" data-target="#myNavmenu" data-canvas="body">
2392 <i class="fa fa-bars"></i>
2393 </button>
2394
2395 </div>
2396
2397 <div class="pull-left">
2398 <h2 class="dw-header-sm-title">@GetGlobalValue("Global:Page.Top.Name")</h2>
2399 </div>
2400 @if (GetBoolean("Item.Area.EcomEnabled"))
2401 {
2402
2403 <div class="pull-right">
2404 <ul class="top-menu">
2405 <li>
2406 <a href="Default.aspx?ID=@cartid" title="" class="btn btn-sm btn-base dw-minicart" id="minipagecart-button"><i class="fa fa-shopping-cart"></i><strong> @GetValue("Ecom:Order.OrderLines.TotalProductQuantity") <span class="amount">@GetValue("Ecom:Order.OrderLines.Total.PriceWithVAT")</span></strong></a>
2407
2408 <ul class="sub-menu hidden-xs">
2409 <li id="smallscreen-minicart">
2410 @MiniCart()
2411 </li>
2412 </ul>
2413 </li>
2414 </ul>
2415 </div>
2416
2417
2418 if (Dynamicweb.Core.Converter.ToBoolean(GetGlobalValue("Global:Extranet.UserName")))
2419 {
2420 <div class="hidden-xs pull-right">
2421 <a href='/Admin/Public/ExtranetLogoff.aspx?ID=@Pageview.Page.ID'><button class="btn btn-sm btn-base"><i class="fa fa-sign-out"></i></button></a>
2422
2423 </div>
2424 <div class="hidden-xs pull-right">
2425 <a href="Default.aspx?ID=8473" class="btn btn-sm btn-base">
2426 <i class="fa fa-user"></i> <strong>@GetGlobalValue("Global:Extranet.Name")</strong>
2427 </a>
2428
2429 </div>
2430 }
2431
2432 if (!Dynamicweb.Core.Converter.ToBoolean(GetGlobalValue("Global:Extranet.UserName")))
2433 {
2434 <div class="hidden-xs pull-right">
2435 <a href="/Login" class="btn btn-sm btn-base"><i class="fa fa-sign-in"></i></a>
2436
2437 </div>
2438 }
2439 }
2440
2441
2442 </div>
2443 </div>
2444
2445 <!-- Big screen header -->
2446 <div class="navbar-navigation">
2447 <div class="hidden-sm hidden-xs">
2448 <nav class="col-md-10 col-sm-10 col-xs-10 navbar-collapse collapse navbar-@navbarpos">
2449 @if (GeneralSettings.Navigation.IsMegamenu)
2450 {
2451 @GetValue("DwNavigation(topnavigationmegamenu)")
2452 }
2453 else
2454 {
2455 @GetValue("DwNavigation(topnavigation)")
2456 }
2457
2458 <!-- Extra navigation when no header is shown -->
2459 @if (GetBoolean("Item.Area.EcomEnabled"))
2460 {
2461 if (!GeneralSettings.Header.Show)
2462 {
2463 <ul class="nav navbar-nav">
2464 <li> </li>
2465 @if (!Dynamicweb.Core.Converter.ToBoolean(GetGlobalValue("Global:Extranet.UserName")))
2466 {
2467 <li class="dw-navbar-button"><a href="#" data-toggle="modal" data-target="#login" data-hover="dropdown"><i class="fa fa-sign-in"></i><span></span></a></li>
2468 <li class="dw-navbar-button"><a href="/not-logged-in/create-user-profile" data-hover="dropdown"><i class="fa fa-user"></i><span></span></a></li>
2469 }
2470
2471 @if (Dynamicweb.Core.Converter.ToBoolean(GetGlobalValue("Global:Extranet.UserName")))
2472 {
2473 <li class="dw-navbar-button">
2474 <a href="Default.aspx?ID=8473" data-hover="dropdown">
2475 <nobr>
2476 <strong><i class="fa fa-user"></i></strong>
2477 </nobr>
2478 <span></span>
2479 </a>
2480 </li>
2481 <li class="dw-navbar-button">
2482 <a href="/Admin/Public/ExtranetLogoff.aspx?ID=@Pageview.Page.ID" data-hover="dropdown"><i class="fa fa-sign-out"></i><span></span></a>
2483 </li>
2484 }
2485
2486 <li class="dw-navbar-button">
2487 <a href="Default.aspx?ID=@cartid" title="" id="nav_minipagecart" data-hover="dropdown"><i class="fa fa-shopping-cart"></i> @GetValue("Ecom:Order.OrderLines.TotalProductQuantity") <span class="amount">@GetValue("Ecom:Order.OrderLines.Total.PriceWithVAT")</span><span></span></a>
2488 </li>
2489 </ul>
2490 }
2491
2492 if (GeneralSettings.Header.Mode != "solid")
2493 {
2494 <!--<ul class="nav navbar-nav">
2495 <li class="dropdown dropdown-aux animate-click dw-navbar-button" data-animate-in="animated bounceInUp" data-animate-out="animated fadeOutDown" style="z-index:500;">
2496 <a href="#" class="dropdown-toggle" data-toggle="dropdown" data-hover="dropdown"><i class="fa fa-search"></i><span></span></a>
2497
2498 <ul class="dropdown-menu dropdown-menu-user animate-wr">
2499 <li id="dropdownForm">
2500 <div class="dropdown-form">
2501 <form class="form-light p-15" role="form" method="get" action="Default.aspx">
2502 <input type="hidden" name="ID" value="8399" />
2503 <div class="input-group">
2504 <input type="text" class="form-control" name="eComQuery" placeholder="@searchplaceholder">
2505 <span class="input-group-btn">
2506 <button class="btn btn-base" type="submit"><i class="fa fa-search"></i></button>
2507 </span>
2508 </div>
2509 </form>
2510 </div>
2511 </li>
2512 </ul>
2513 </li>
2514 </ul>-->
2515 }
2516 }
2517 </nav>
2518 </div>
2519
2520 @if (GetBoolean("Item.Area.EcomEnabled"))
2521 {
2522 if (GeneralSettings.Header.Mode == "solid" && GeneralSettings.Header.Show)
2523 {
2524 <div class="hidden-sm hidden-xs">
2525 <div class="col-md-2 col-sm-2 col-xs-2 pull-@GeneralSettings.Navigation.InvertedPosition">
2526 <form method="get" action="Default.aspx">
2527 <input type="hidden" name="ID" value="8399">
2528 <div class="input-group pull-@GeneralSettings.Navigation.InvertedPosition dw-top-search">
2529 <input type="text" class="form-control" name="eComQuery" tabindex="1" placeholder="@searchplaceholder">
2530 <span class="input-group-btn">
2531 <button class="btn btn-primary" type="submit"><i class="fa fa-search"></i></button>
2532 </span>
2533 </div>
2534 </form>
2535 </div>
2536 </div>
2537 }
2538 }
2539 </div>
2540 }
2541 else
2542 {
2543 <!-- Using only mobile navigation -->
2544 <div class="pull-@GeneralSettings.Navigation.Position">
2545 <ul class="nav navbar-nav">
2546 <li class="dw-navbar-button" data-toggle="offcanvas" data-target="#myNavmenu" data-canvas="body">
2547 <a><i class="fa fa-bars fa-2x"></i><span></span></a>
2548 </li>
2549 </ul>
2550 </div>
2551 }
2552 </div>
2553 </div>
2554
2555
2556
2557 @if (!string.IsNullOrWhiteSpace(GetString("Item.Area.HeaderLayoutImage"))){
2558 if (currentpageid != firstpageid){
2559 var coverimage = GetString("Item.Area.HeaderLayoutImage");
2560
2561 <div class="container-fluid dw-header-image">
2562 <div class="row">
2563 <section class="carousel carousel-1 slice fluid" style="height: 160px !important; background: url('/Admin/Public/Getimage.ashx?width=1920&compression=75&Crop=5&image=@coverimage') no-repeat; background-size: cover !important; background-color: @ColorSettings.Color.Secondary"></section>
2564 </div>
2565 </div>
2566 }
2567 } else if (GeneralSettings.Header.Mode != "solid"){
2568 if (currentpageid != firstpageid){
2569 <div class="container-fluid dw-header-image">
2570 <div class="row">
2571 <section class="carousel carousel-1 slice fluid" style="height: 160px !important; background-color: transparent; background-size: cover !important;"></section>
2572 </div>
2573 </div>
2574 }
2575 }
2576
2577 </div>
2578
2579 <!-- MAIN CONTENT -->
2580 @inherits Dynamicweb.Rendering.RazorTemplateBase<Dynamicweb.Rendering.RazorTemplateModel<Dynamicweb.Rendering.Template>>
2581
2582 @using System.Collections.Specialized;
2583
2584
2585 @GetValue("Title(News page)")
2586 @GetValue("Description(News page with left navigation and content area 3+9)")
2587
2588 @using System.Xml.Linq;
2589 @using System.Text;
2590 @using System.Globalization;
2591
2592 @{
2593 string siteurl = GetGlobalValue("Global:Request.Url").ToString();
2594 string attributeValue = "";
2595
2596 }
2597
2598
2599
2600 @if(GetBoolean("Item.Page.LayoutShowBreadcrumb")){
2601 <div class="pg-opt pin">
2602 <div class="container">
2603 <div class="row">
2604 <div class="col-lg-3 col-md-3 hidden-sm hidden-xs">
2605 @if (GeneralSettings.Navigation.BreadcrumbMode != "light")
2606 {
2607 <div class="dw-breadcrumb-title">@GetGlobalValue("Global:Page.Top.Name")</div>
2608 }
2609 </div>
2610 <div class="col-lg-9 col-md-9 col-sm-12 col-xs-12">
2611 @GetValue("DwNavigation(breadcrumb)")
2612 </div>
2613 </div>
2614 </div>
2615 </div>
2616 }
2617
2618 <section class="slice white animate-hover-slide">
2619 <div class="w-section">
2620 <div class="container">
2621 <div class="row">
2622 @if (GetBoolean("Item.VisTitel") != false){
2623 if (!string.IsNullOrEmpty(GetString("Item.Titel"))) {
2624 <h1 class="dw-section-title alignCenter">
2625 <span>@GetString("Item.Titel")</span>
2626 </h1>
2627 }
2628 }
2629 @if(!GetBoolean("Item.Page.LayoutHideleftMenu")) {
2630 <div class="col-md-3 hidden-sm hidden-xs">
2631 <div class="widget">
2632 <text> </text>
2633 @GetValue("DwNavigation(leftnavigation)")
2634 </div>
2635 </div>
2636 }
2637
2638 <div class="col-md-9 col-sm-12 col-xs-12">
2639 <div class="post-item">
2640 @if (!string.IsNullOrWhiteSpace(GetString("Item.GeneralImage"))) {
2641 attributeValue = GetString("Item.GeneralImage");
2642 <div class="post-meta-top">
2643 <div class="post-image">
2644 <div class="img-responsive" style="background-image: url(/Admin/Public/GetImage.ashx?image=@attributeValue&width=100%&height=350&compression=90&crop=1);height:350px;background-position:bottom left; background-repeat:no-repeat">
2645 </div>
2646 </div>
2647 </div>
2648 }
2649 <div class="post-content">
2650 <h2 class="post-title">@GetValue("Item.Heading")</h2>
2651 <div class="clearfix"></div>
2652
2653 <div class="post-desc">
2654 <p>@GetValue("Item.Text")</p>
2655 </div>
2656
2657 @if (GetBoolean("Item.Page.FacebookLikeButton")){
2658 <p> </p>
2659 <iframe src="//www.facebook.com/plugins/like.php?href=@siteurl&width=200&layout=button_count&action=recommend&show_faces=true&share=true&height=21" scrolling="no" frameborder="0" style="border:none; overflow:hidden; height:21px;" allowtransparency="true"></iframe>
2660 }
2661 </div>
2662 </div>
2663
2664 <div class="col-md-9" dwcontent="" id="modulecontent" title="For modules"></div>
2665
2666 </div>
2667 @CalendarItem()
2668 </div>
2669 </div>
2670 </div></section>
2671
2672 @helper CalendarItem()
2673 {
2674
2675 string kalenderid = System.Web.HttpContext.Current.Request.QueryString["kalenderkonto"];
2676 string aftaleid = System.Web.HttpContext.Current.Request.QueryString["aftaleid"];
2677
2678 <!--
2679 string linkstring ="http://kalender.brandsoft.dk/bska/Bska_wsekstern_pck.AftaleDetaljer?InKlientHTTP=1&InKontonr="+kalenderid+"&InAftaleID="+aftaleid;
2680 http://kalender.brandsoft.dk/bska/Bska_wsekstern_pck.AftaleDetaljer?InKlientHTTP=1&InKontonr=11&InAftaleID=64378424
2681 string linkstring = GetString("Item.FeedLink")+"&InKontonr="+GetString("Item.AccountNumber")+"&InMaksAntalAftaler="+Limit+"&InDatoFra="+StartDate+"&InDatoTil="+EndDate.ToString("dd/MM/yyyy")+"&InSognekode="+sognekode;
2682
2683 http://kalender.brandsoft.dk/bska/Bska_wsekstern_pck.AftaleDetaljer?InKlientHTTP=1
2684 string linkstring = GetString("Item.FeedLink")+"&InKontonr="+GetString("Item.AccountNumber")+"&InMaksAntalAftaler="+Limit+"&InDatoFra="+StartDate+"&InDatoTil="+EndDate.ToString("dd/MM/yyyy")+"&InSognekode="+sognekode;
2685 -->
2686
2687 string linkstring ="http://kalender.brandsoft.dk/bska/Bska_wsekstern_pck.AftaleDetaljer?InKlientHTTP=1&InKontonr="+kalenderid+"&InAftaleID="+aftaleid;
2688 XDocument xdoc = XDocument.Load(linkstring);
2689 var elements = xdoc.Element("DATA").Elements("AFTALE");
2690
2691 foreach (var el in elements)
2692 {
2693 string id = "0";
2694 string type = "alle";
2695 DateTime date;
2696 string title = "Title";
2697 string description = "Description";
2698 string fulldate = "Date";
2699 string cleanDate = "";
2700 string day = "";
2701 string month = "";
2702 string location = "";
2703 string document = "";
2704 string document_type = "document";
2705 string billede = "";
2706 string filnavn= "";
2707 Dictionary<string, string> domains = new Dictionary<string, string>();
2708
2709 int docs_count=-1;
2710
2711 if (el.Elements("ID").Any()){
2712 id = el.Element("ID").Value;
2713 }
2714
2715 if (el.Elements("AFTALETYPE").Any()){
2716 type = el.Element("AFTALETYPE").Value;
2717 }
2718
2719 if (el.Elements("DATO_FRA").Any() && el.Elements("KL_FRA").Any()) {
2720 date = DateTime.Parse(el.Element("DATO_FRA").Value + " " + el.Element("KL_FRA").Value, new CultureInfo("da-DK"));
2721 cleanDate = date.ToString("dddd d. MMMM kl. HH:mm", new CultureInfo("da-DK"));
2722 day = date.ToString(" d", new CultureInfo("da-DK"));
2723 month = date.ToString("MMM", new CultureInfo("da-DK"));
2724 }
2725
2726 if (el.Elements("OVERSKRIFT").Any()){
2727 title = el.Element("OVERSKRIFT").Value;
2728 }
2729
2730 if (el.Elements("BESKRIVELSE").Any()){
2731 description = el.Element("BESKRIVELSE").Value;
2732 }
2733
2734 if (el.Elements("DATO_FORMATERET").Any()){
2735 fulldate = el.Element("DATO_FORMATERET").Value;
2736 }
2737
2738 if (el.Elements("STED").Any()){
2739 location = el.Element("STED").Value;
2740 }
2741
2742 IEnumerable<XElement> allGrandChildren = from elx in elements.Elements("OFFENTLIGE_DOKUMENTER").Elements() select elx;
2743 foreach (XElement elx in allGrandChildren){
2744
2745 document = "http://kalender.brandsoft.dk/bska/" + elx.Element("URL").Value;
2746 document_type=elx.Element("DOKUMENTTYPE").Value;
2747 filnavn=elx.Element("ORG_FILNAVN").Value;
2748
2749 if (document_type == "OFFENTLIGT_AFTALE_BILLEDE"){
2750 billede = document;
2751 }
2752 if (document_type == "OFFENTLIGT_DOKUMENT"){
2753 domains.Add(@filnavn, @document);
2754 }
2755
2756 }
2757 <div class="row">
2758 <div class="media col-md-12">
2759 <div class="media-body">
2760
2761 @if (billede != ""){
2762 <img class="img-responsive" src="@billede" alt="" id="@(id)_img" ;="" style="max-height: 250px; float:right; position: relative;">
2763 }
2764 <!-- else
2765 {
2766 <img class="img-responsive" src="/Files/Images/SiteImages/IntetBillede.png" alt="" id="@(id)_img"; style="max-height: 250x; float:right; position: relative;"></img>
2767 }
2768 -->
2769 @if(@type == @title) {
2770 <h3 class="dw-section-title dw-section-title-small"><span>@title</span></h3>
2771 }
2772 else {
2773 <h3 class="dw-section-title dw-section-title-small"><span>@title (@type)</span></h3>
2774 }
2775
2776 <!-- <p class="list-item-info nomargin"><i class="fa fa-fw fa-calendar-o"></i> @fulldate</p> -->
2777 <p style="margin-bottom: -3px"><i class="fa"></i><strong>Dato:</strong> @cleanDate</p>
2778 <p class="list-item-info"><i class="fa"></i><strong>Sted:</strong> @location</p>
2779 <p style="font-weight: 700; margin-bottom: -3px">Beskrivelse:</p>
2780 <p>@description</p>
2781 <br>
2782 @if (domains.Count>0) {
2783 <p style="font-weight: 700; margin-bottom: -3px">Dokumenter til download:</p>
2784 <br>
2785
2786 foreach (KeyValuePair<string, string> kvp in domains){
2787 <div class="pull-left">
2788 <a href="@kvp.Value" class="btn btn-info pull-right" download="">@kvp.Key</a>
2789 </div>
2790 <br><br><br>
2791 }
2792 }
2793
2794 <div class="pull-left">
2795 <br>
2796 <a href="javascript:history.go(-1)" class="btn btn-dw-primary">
2797 <span>Tilbage til kalenderen</span>
2798 </a>
2799 </div>
2800 </div>
2801 </div>
2802 </div>
2803 }
2804 }
2805
2806 @helper RenderImage()
2807 {
2808 if (!string.IsNullOrEmpty(GetString("Item.Image")))
2809 {
2810 var image = System.Web.HttpContext.Current.Server.UrlEncode(GetString("Item.Image"));
2811
2812 <!-- Choosing the smallest possible width that will work with responsive sizes -->
2813 string optimizedwidth = "1280";
2814 switch (GetString("Item.Width")){
2815 case "12":
2816 optimizedwidth = "1280";
2817 break;
2818 case "9":
2819 optimizedwidth = "960";
2820 break;
2821 case "6":
2822 optimizedwidth = "722";
2823 break;
2824 case "3":
2825 optimizedwidth = "722";
2826 break;
2827 case "8":
2828 optimizedwidth = "960";
2829 break;
2830 case "4":
2831 optimizedwidth = "722";
2832 break;
2833 }
2834
2835 if (GetString("Item.ImageStyle") == "ball") {
2836 optimizedwidth = "500&height=500";
2837 }
2838
2839
2840 if (string.IsNullOrEmpty(GetString("Item.Link")))
2841 {
2842 <div class="img-responsive dw-std-image">
2843 <img class="content-image img-responsive img-centered" style="@GetImageBorderCss()" src="/Admin/Public/GetImage.ashx?width=@optimizedwidth&crop=1&Compression=75&image=@image" class="img-responsive" alt="">
2844 </div>
2845 } else {
2846 <a href="@GetString(" item.link")"="">
2847 <div class="img-responsive dw-std-image">
2848 <img class="content-image img-responsive img-centered" style="@GetImageBorderCss()" src="/Admin/Public/GetImage.ashx?width=@optimizedwidth&crop=1&Compression=75&image=@image" class="img-responsive" alt="">
2849 </div>
2850 </a>
2851 }
2852 }
2853 }
2854
2855
2856 @functions {
2857 private string GetImageBorderCss()
2858 {
2859 if (GetString("Item.ImageStyle") == "cover")
2860 {
2861 return "padding: 8px";
2862 }
2863 else if (GetString("Item.ImageStyle") == "cover-border")
2864 {
2865 return "padding: 4px; border: 1px solid #e1e1e1; border-radius: 0px !important";
2866 }
2867 else if (GetString("Item.ImageStyle") == "frame")
2868 {
2869 return "padding: 6px; border: 1px solid #e1e1e1; border-radius: 0px !important";
2870 }
2871 else if (GetString("Item.ImageStyle") == "rounded")
2872 {
2873 return "border-radius: 8px !important";
2874 }
2875 else if (GetString("Item.ImageStyle") == "ball")
2876 {
2877 return "border-radius: 1000px !important";
2878 }
2879 else if (GetString("Item.ImageStyle") == "shadow")
2880 {
2881 return "box-shadow: 0px 2px 2px rgba(0, 0, 0, 0.2)";
2882 }
2883 else
2884 {
2885 return string.Empty;
2886 }
2887 }
2888 private string GetParagraphWidth()
2889 {
2890 string PctWidth = "100%";
2891 switch (GetString("Item.Width")){
2892 case "12":
2893 PctWidth = "100%";
2894 break;
2895 case "9":
2896 PctWidth = "75%";
2897 break;
2898 case "6":
2899 PctWidth = "50%";
2900 break;
2901 case "3":
2902 PctWidth = "25%";
2903 break;
2904 case "8":
2905 PctWidth = "66%";
2906 break;
2907 case "4":
2908 PctWidth = "33%";
2909 break;
2910 }
2911 return PctWidth;
2912 }
2913 }
2914
2915
2916 <style>
2917 .alignCenter{
2918 text-align:center;
2919 }
2920
2921 .img-centered{
2922 margin: 0 auto;
2923 }
2924
2925 </style>
2926 <!-- FOOTER -->
2927 <div class="body-wrap @GeneralSettings.Site.LayoutMode">
2928 <footer class="footer">
2929 <div class="container">
2930 <div class="row">
2931 <div class="col-md-3 col-sm-6 col-xs-12">
2932 <div class="col">
2933 <h4>@Translate("Contact us", "Contact us")</h4>
2934
2935 @{
2936 string footeremail = GetString("Item.Area.FooterEmail");
2937 }
2938
2939 <ul>
2940 <li>@GetValue("Item.Area.FooterCompanyName")</li>
2941 <li>@GetValue("Item.Area.FooterAddress")</li>
2942 <li>@Translate("Phone", "Phone"): @GetValue("Item.Area.FooterPhone") </li>
2943 <li>@Translate("Email", "Email"): <a href="mailto:@footeremail" title="Email Us">@GetValue("Item.Area.FooterEmail")</a></li>
2944 </ul>
2945 <div> </div>
2946 </div>
2947 </div>
2948
2949 @if (GetBoolean("Item.Area.FooterNewsletterSignUp")) {
2950 <div class="col-md-3 col-sm-6 col-xs-12">
2951 <div class="col">
2952 <h4>@Translate("Mailing list", "Mailing list")</h4>
2953 <p>@Translate("Sign up if you would like to receive occasional treats from us", "Sign up if you would like to receive occasional treats from us").</p>
2954 <form name="UserManagementEditForm" action='/Admin/Public/404.aspx' method="post" enctype="multipart/form-data">
2955 <input name="UserManagementForm" value="1" type="hidden">
2956 <input id="UserManagementForm.DeleteImage" name="UserManagementForm.DeleteImage" type="hidden">
2957 <div style="display: none;">
2958 <input name="UserManagement_Form_EmailAllowed" id="UserManagement_Form_EmailAllowed" value="True" checked="checked" type="checkbox">
2959 <input name="UserManagement_Form_EmailAllowed_ApplyValue" id="UserManagement_Form_EmailAllowed_ApplyValue" value="AllowEmail" type="hidden">
2960 </div>
2961 <div class="input-group">
2962 @{ attrValue = Translate("Your email address", "Your email address");}
2963
2964 <input name="UserManagement_Form_Email" id="UserManagement_Form_Email" type="text" class="form-control" placeholder="@attrValue">
2965 <span class="input-group-btn">
2966 <input class="btn btn-base" type="submit" id="submitter" value="Go">
2967 </span>
2968 </div>
2969 <div> </div>
2970 </form>
2971 </div>
2972 </div>
2973 }
2974
2975 @if (GetBoolean("Item.Area.SocialLinksInFooter"))
2976 {
2977 string sicon = "";
2978 string slink = "";
2979
2980 <div class="col-md-3 col-sm-6 col-xs-12">
2981 <div class="col">
2982 <h4>@Translate("Social links", "Social links")</h4>
2983 <p>
2984 @foreach (LoopItem socialitem in GetLoop("Item.Area.SocialIconInFooter"))
2985 {
2986 sicon = socialitem.GetString("Item.Area.SocialIconInFooter.Icon");
2987 slink = socialitem.GetString("Item.Area.SocialIconInFooter.Link");
2988
2989 <a href="@slink"><i class="fa @sicon fa-2x"></i> </a>
2990 }
2991 </p>
2992 </div>
2993 </div>
2994 }
2995
2996 @if (GetBoolean("Item.Area.FooterShowSitemap"))
2997 {
2998 <div class="col-md-6 col-sm-12 col-xs-12">
2999 <div class="col">
3000 @GetValue("DwNavigation(footersitemap)")
3001 </div>
3002 <div> </div>
3003 </div>
3004 }
3005 </div>
3006
3007 <hr>
3008
3009 <div class="row">
3010 <div class="col-lg-9 col-md-9 col-sm-9 col-xs-9 copyright">
3011 <div class="col">
3012 <p>@GetGlobalValue("Global:Server.Date.Year") © @GetValue("Item.Area.FooterCompanyName"). @Translate("All rights reserved.", "All rights reserved.")</p>
3013 </div>
3014 </div>
3015 <div class="col-lg-3 col-md-3 col-sm-3 col-xs-3">
3016 <div class="col pull-right">
3017 @{
3018 var webmasterlink = GetString("Item.Area.WebmasterLinkCode");
3019 var username = GetValue("Item.Area.FooterEmail");
3020 var pagename = GetGlobalValue("Global:Page.Name");
3021 }
3022 <!--
3023 Oprindelig kode
3024 <p><a href="javascript:void(0);" onclick="window.open('@webmasterlink?un=@username&pn=@pagename&url=' + encodeURI(location),'_blank','width=1050,height=750,resizable=yes,scrollbars=yes');">Webmaster</a></p> -->
3025
3026 <p><a href="@webmasterlink">Webmaster</a></p>
3027 </div>
3028 </div>
3029 </div>
3030 </div>
3031 </footer>
3032 </div>
3033
3034
3035 <!-- Essentials -->
3036 <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery-mousewheel/3.1.13/jquery.mousewheel.min.js"></script>
3037 <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery-easing/1.3/jquery.easing.min.js"></script>
3038 <script src="//cdnjs.cloudflare.com/ajax/libs/fancybox/2.1.5/jquery.fancybox.min.js"></script>
3039 <script src="//cdnjs.cloudflare.com/ajax/libs/modernizr/2.8.3/modernizr.min.js"></script>
3040 <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/js/bootstrap.min.js"></script>
3041 <script src="/Files/Templates/Designs/Dwsimple/js/typeahead.js"></script>
3042 <script src="https://cdnjs.cloudflare.com/ajax/libs/handlebars.js/4.0.5/handlebars.min.js"></script>
3043 <script src="/Files/Templates/Designs/Dwsimple/js/jquerybxslidermin.js"></script>
3044
3045
3046 <script src="/Files/Templates/Designs/Dwsimple/js/GeneralMethods.js"></script>
3047 <script src="/Files/Templates/Designs/Dwsimple/js/cart.js"></script>
3048
3049 <!-- Assets -->
3050 <script src="//cdnjs.cloudflare.com/ajax/libs/bootstrap-hover-dropdown/2.0.10/bootstrap-hover-dropdown.min.js"></script>
3051
3052 <script src="//cdnjs.cloudflare.com/ajax/libs/spin.js/2.0.1/spin.min.js"></script>
3053
3054 <!-- Sripts for individual pages, depending on what plug-ins are used -->
3055 <script type="text/javascript" src="//cdnjs.cloudflare.com/ajax/libs/jasny-bootstrap/3.1.3/js/jasny-bootstrap.min.js"></script>
3056
3057 <!-- Replacing the Home text -->
3058 <script>
3059 if (document.getElementById("homemenubtn")) {
3060 document.getElementById("homemenubtn").innerHTML = "<i class='fa fa-home fa-2'></i><span></span>";
3061 }
3062 </script>
3063
3064 <!-- Initialize Fancybox -->
3065 <script type="text/javascript">
3066 $(document).ready(function () {
3067 $(".fancybox").fancybox();
3068 });
3069 </script>
3070
3071 <script type="text/html-template" id="OrderlineAjaxTemplate">
3072 <tr>
3073 <td class="text-center"><img src="/Admin/Public/GetImage.ashx?width=50&height=50&crop=5&image=Obj.image&Compression=99" class="img-center" alt=""></td>
3074 <td>
3075 <a href="Obj.link">
3076 Obj.name Obj.variantname
3077 </a>
3078 </td>
3079 <td class="text-center">Obj.quantity</td>
3080 <td class="text-right">
3081 <nobr>
3082 Obj.totalprice
3083 </nobr>
3084 </td>
3085 </tr>
3086 </script>
3087 </div></body>
3088 </html>