Error executing template "Designs/Dwsimple/_parsed/Kalenderaftale.parsed.cshtml"
System.Net.WebException: The remote server returned an error: (521) <none>.
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_1e48b046d5d84af98e9227d1aa76e609.<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_1e48b046d5d84af98e9227d1aa76e609.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?v=4" 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>