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