Type I hot-applied products
Flat markings with high visibility in dry conditions
ViaTherm™ is our leading hot-applied road marking material, that we have developed and refined for several decades. Applied on roads across most of the world, it is known for its high performance and long-term durability whether applied as centre lines, edge lines, hatched areas, or pedestrian crossings. ViaTherm is suitable for both Type I and Type II markings and can be extruded, sprayed, or manually applied. The material is adjusted to all climates and has been tested, tried, and internationally certified according to the most stringent standards.
ThermLite™ is a versatile and cost-effective thermoplastic marking material. It is available as both a Type I and non-reflective marking in a range of different grades and can be used for both extrusion and screed application.
Intended for areas with normal traffic load, ThermLite is ideal for rural roads and parking zones, where it provides a durable marking solution.
Benefits of ViaTherm™
- Quality markings are guaranteed when choosing ViaTherm! It follows all national certification requirements and we provide a full warranty so that you can rest assured that you are choosing the right road marking material for the job.
- Get superior visibility through the entire lifespan of the marking as the high content of glass beads is slowly revealed when the marking is worn.
- Due to its long durability, ViaTherm constitutes a cost-effective solution that saves you the task and added cost of frequent re-marking.
- With ViaTherm, you can keep disturbance of traffic to a minimum as it quickly hardens once applied making it possible for a fast re-opening of traffic.
High satisfaction and extended warranty
ViaTherm is the preferred choice for professional road markers seeking a hassle-free product, that works the same way every day.
At Geveko Markings, we trust the longevity and performance of our product so much, that we offer extended warranties for performance and durability, far beyond industry standards.
Benefits of ThermLite™
- Combine durability with cost-efficiency as ThermLite's quality formulation offers a long-lasting, high-performing marking on rural roads with normal traffic loads.
- With ThermLite you are sure to get reliable results as the product is tried and tested leading to CE markings and certifications in a range of countries.
- Make a sustainable road marking choice with ThermLite as it has a high content of renewable and recycled materials and therefore a low impact on the environment.
Error compiling template "Designs/Swift/Paragraph/Geveko_custom_Text_CSS.cshtml" Line 57: No overload for method 'RenderBody' takes 1 arguments Line 59: The name 'helper' does not exist in the current context Line 121: The name 'titleFontSize' does not exist in the current context Line 129: The name 'subtitleFontSize' does not exist in the current context Line 157: The name 'link' does not exist in the current context Line 160: The name 'target' does not exist in the current context Line 162: The name 'buttonStyle' does not exist in the current context Line 163: The name 'StretchedLink' does not exist in the current context Line 168: The name 'link' does not exist in the current context Line 171: The name 'target' does not exist in the current context Line 173: The name 'StretchedLink' does not exist in the current context
1 // <auto-generated/> 2 #pragma warning disable 1591 3 namespace CompiledRazorTemplates.Dynamic 4 { 5 #line hidden 6 using System.Threading.Tasks; 7 using System; 8 using System.Collections.Generic; 9 using System.Linq; 10 using Dynamicweb.Ecommerce.ProductCatalog; 11 internal class RazorEngine_7dbf17c3b5534862934e3eb5938ad41f : Dynamicweb.Rendering.ViewModelTemplate<Dynamicweb.Frontend.ParagraphViewModel> 12 { 13 #pragma warning disable 1998 14 public async override global::System.Threading.Tasks.Task ExecuteAsync() 15 { 16 WriteLiteral("\r\n"); 17 18 string cssclass = Model.Item.GetRawValueString("Text_CSS", ""); 19 string layout = Model.Item.GetRawValueString("Layout", "text-start"); 20 layout = layout == "alignLeft" ? "align-items-start text-start" : layout; 21 layout = layout == "alignCenter" ? "align-items-center text-center" : layout; 22 layout = layout == "alignRight" ? "align-items-end text-end" : layout; 23 layout = layout == "alignLeftMiddle" ? "align-items-start text-start justify-content-center" : layout; 24 25 string contentPadding = Model.Item.GetRawValueString("ContentPadding", ""); 26 contentPadding = contentPadding == "none" ? "p-0" : contentPadding; 27 contentPadding = contentPadding == "small" ? "p-3 p-md-3" : contentPadding; 28 contentPadding = contentPadding == "large" ? "p-5 p-md-5" : contentPadding; 29 30 //Backward compatibility (Vertical align) 31 string verticalAlign = ""; 32 if (!string.IsNullOrEmpty(Model.Item.GetString("verticalAlign"))) { 33 verticalAlign = verticalAlign == "vertical-align-top" ? "justify-content-start" : verticalAlign; 34 verticalAlign = verticalAlign == "vertical-align-center" ? "justify-content-center" : verticalAlign; 35 verticalAlign = verticalAlign == "vertical-align-bottom" ? "justify-content-end" : verticalAlign; 36 } 37 38 string maxWidth = Model.Item.GetRawValueString("TextReadability", "max-width-on"); 39 maxWidth = maxWidth == "max-width-on" ? " mw-75ch" : maxWidth; 40 maxWidth = maxWidth == "max-width-off" ? "" : maxWidth; 41 42 string theme = !string.IsNullOrWhiteSpace(Model.Item.GetRawValueString("Theme")) ? " theme " + Model.Item.GetRawValueString("Theme").Replace(" ", "").Trim().ToLower() : ""; 43 WriteLiteral("\r\n<div"); 44 BeginWriteAttribute("class", " class=\"", 1771, "\"", 1898, 10); 45 WriteAttributeValue("", 1779, "h-100", 1779, 5, true); 46 WriteAttributeValue(" ", 1784, "position-relative", 1785, 18, true); 47 WriteAttributeValue(" ", 1802, "d-flex", 1803, 7, true); 48 WriteAttributeValue(" ", 1809, "flex-column", 1810, 12, true); 49 WriteAttributeValue(" ", 1821, "mb-0-last-child", 1822, 16, true); 50 WriteAttributeValue(" ", 1837, contentPadding, 1838, 15, false); 51 WriteAttributeValue(" ", 1853, verticalAlign, 1854, 14, false); 52 WriteAttributeValue(" ", 1868, layout, 1869, 9, false); 53 WriteAttributeValue("", 1878, theme, 1878, 8, false); 54 WriteAttributeValue(" ", 1886, cssclass, 1887, 11, false); 55 EndWriteAttribute(); 56 WriteLiteral(">\r\n\t"); 57 Write(RenderBody(maxWidth)); 58 WriteLiteral("\r\n</div>\r\n\r\n"); 59 Write(helper); 60 WriteLiteral(@" RenderBody(string maxWidth) 61 { 62 string linkType = Model.Item.GetRawValueString(""LinkType"", ""page""); 63 Dynamicweb.Frontend.LinkViewModel link = new Dynamicweb.Frontend.LinkViewModel(); 64 65 string StretchedLink = Model.Item.GetRawValueString(""StretchedLink"", """"); 66 StretchedLink = StretchedLink == ""column-not-clickable"" ? """" : StretchedLink; 67 StretchedLink = StretchedLink == ""column-clickable"" ? "" stretched-link"" : StretchedLink; 68 69 if (linkType == ""page"" && Model.Item.GetLink(""ButtonLink"") != null) 70 { 71 link = Model.Item.GetLink(""ButtonLink""); 72 } 73 74 if (linkType == ""product-group"") 75 { 76 IList<ProductGroupViewModel> selectedGroups = Model.Item.GetValue<IList<ProductGroupViewModel>>(""ProductGroupLink""); 77 IList<string> groupIds = new List<string> { }; 78 79 if (selectedGroups != null) 80 { 81 foreach (var fromGroup in selectedGroups) 82 { 83 groupIds.Add(fromGroup.Id); 84 } 85 } 86 87 link = new Dynamicweb.Frontend.LinkViewModel() 88 { 89 Url = ""/Default.aspx?ID="" + GetPageIdByNavigationTag(""Shop"""); 90 WriteLiteral(@") + ""&GroupID="" + string.Join("","", groupIds) 91 }; 92 } 93 94 if (linkType == ""product"") 95 { 96 ProductListViewModel products = Model.Item.GetValue<ProductListViewModel>(""ProductLink""); 97 IList<string> productIds = new List<string> { }; 98 99 if (products != null) 100 { 101 foreach (var product in products.Products) 102 { 103 productIds.Add(product.Id); 104 } 105 } 106 107 string productParameter = productIds.Count == 1 ? ""ProductID"" : ""MainProductId""; 108 string pageTag = productIds.Count == 1 ? ""ProductDetailPage"" : ""Shop""; 109 link = new Dynamicweb.Frontend.LinkViewModel() 110 { 111 Url = ""/Default.aspx?ID="" + GetPageIdByNavigationTag(pageTag) + ""&"" + productParameter + ""="" + string.Join("","", productIds) 112 }; 113 } 114 115 if (!string.IsNullOrEmpty(Model.Item.GetString(""Title"")) && !Model.Item.GetBoolean(""HideTitle"")) 116 { 117 string titleFontSize = Model.Item.GetRawValueString(""TitleFontSize"", ""h3""); 118 119 <h3"); 120 BeginWriteAttribute("class", " class=\"", 3876, "\"", 3914, 3); 121 WriteAttributeValue("", 3884, titleFontSize, 3884, 14, false); 122 WriteAttributeValue(" ", 3898, "mb-3", 3899, 5, true); 123 WriteAttributeValue("", 3903, maxWidth, 3903, 11, false); 124 EndWriteAttribute(); 125 WriteLiteral(">\r\n\t\t\t"); 126 Write(Model.Item.GetString("Title")); 127 WriteLiteral("\r\n\t\t</h3>\r\n\t}\r\n\r\n\tif (!string.IsNullOrEmpty(Model.Item.GetString(\"Lead\")))\r\n\t{\r\n\t\tstring subtitleFontSize = Model.Item.GetRawValueString(\"SubtitleFontSize\", \"fs-5\");\r\n\r\n\t\t<p"); 128 BeginWriteAttribute("class", " class=\"", 4124, "\"", 4170, 4); 129 WriteAttributeValue("", 4132, subtitleFontSize, 4132, 17, false); 130 WriteAttributeValue(" ", 4149, "lead", 4150, 5, true); 131 WriteAttributeValue(" ", 4154, "mb-3", 4155, 5, true); 132 WriteAttributeValue("", 4159, maxWidth, 4159, 11, false); 133 EndWriteAttribute(); 134 WriteLiteral(">\r\n\t\t\t"); 135 Write(Model.Item.GetString("Lead")); 136 WriteLiteral("\r\n\t\t</p>\r\n\t}\r\n\r\n\tif (!string.IsNullOrEmpty(Model.Item.GetString(\"Text\")))\r\n\t{\r\n\t\t<div"); 137 BeginWriteAttribute("class", " class=\"", 4291, "\"", 4325, 2); 138 WriteAttributeValue("", 4299, "mb-0-last-child", 4299, 15, true); 139 WriteAttributeValue("", 4314, maxWidth, 4314, 11, false); 140 EndWriteAttribute(); 141 WriteLiteral(">\r\n\t\t\t"); 142 Write(Model.Item.GetString("Text")); 143 WriteLiteral(@" 144 </div> 145 } 146 147 if (link != null && !string.IsNullOrEmpty(Model.Item.GetString(""ButtonLabel""))) 148 { 149 string target = link.IsExternal ? ""target=\""_blank\"""" : """"; 150 string buttonStyle = Model.Item.GetRawValueString(""ButtonStyle"", """"); 151 buttonStyle = buttonStyle == ""primary"" ? ""btn-primary"" : buttonStyle; 152 buttonStyle = buttonStyle == ""secondary"" ? ""btn-secondary"" : buttonStyle; 153 154 <div class=""mt-3""> 155 <a"); 156 BeginWriteAttribute("href", " href=\"", 4780, "\"", 4796, 1); 157 WriteAttributeValue("", 4787, link.Url, 4787, 9, false); 158 EndWriteAttribute(); 159 WriteLiteral(" "); 160 Write(target); 161 WriteLiteral(" class=\"btn "); 162 Write(buttonStyle); 163 Write(StretchedLink); 164 WriteLiteral("\">"); 165 Write(Model.Item.GetString("ButtonLabel")); 166 WriteLiteral("</a>\r\n\t\t</div>\r\n\t}\r\n\telse if (link != null && !string.IsNullOrEmpty(link.Url))\r\n\t{\r\n\t\tstring target = link.IsExternal ? \"target=\\\"_blank\\\"\" : \"\";\r\n\r\n\t\t<a"); 167 BeginWriteAttribute("href", " href=\"", 5038, "\"", 5054, 1); 168 WriteAttributeValue("", 5045, link.Url, 5045, 9, false); 169 EndWriteAttribute(); 170 WriteLiteral(" "); 171 Write(target); 172 WriteLiteral(" class=\""); 173 Write(StretchedLink); 174 WriteLiteral("\">\r\n\t\t\t<span class=\"visually-hidden\">"); 175 Write(Model.Item.GetString("Title")); 176 WriteLiteral("</span>\r\n\t\t</a>\r\n\t}\r\n}\r\n"); 177 } 178 #pragma warning restore 1998 179 } 180 } 181 #pragma warning restore 1591 182
1 @inherits Dynamicweb.Rendering.ViewModelTemplate<Dynamicweb.Frontend.ParagraphViewModel> 2 @using Dynamicweb.Ecommerce.ProductCatalog 3 4 @{ 5 string cssclass = Model.Item.GetRawValueString("Text_CSS", ""); 6 string layout = Model.Item.GetRawValueString("Layout", "text-start"); 7 layout = layout == "alignLeft" ? "align-items-start text-start" : layout; 8 layout = layout == "alignCenter" ? "align-items-center text-center" : layout; 9 layout = layout == "alignRight" ? "align-items-end text-end" : layout; 10 layout = layout == "alignLeftMiddle" ? "align-items-start text-start justify-content-center" : layout; 11 12 string contentPadding = Model.Item.GetRawValueString("ContentPadding", ""); 13 contentPadding = contentPadding == "none" ? "p-0" : contentPadding; 14 contentPadding = contentPadding == "small" ? "p-3 p-md-3" : contentPadding; 15 contentPadding = contentPadding == "large" ? "p-5 p-md-5" : contentPadding; 16 17 //Backward compatibility (Vertical align) 18 string verticalAlign = ""; 19 if (!string.IsNullOrEmpty(Model.Item.GetString("verticalAlign"))) { 20 verticalAlign = verticalAlign == "vertical-align-top" ? "justify-content-start" : verticalAlign; 21 verticalAlign = verticalAlign == "vertical-align-center" ? "justify-content-center" : verticalAlign; 22 verticalAlign = verticalAlign == "vertical-align-bottom" ? "justify-content-end" : verticalAlign; 23 } 24 25 string maxWidth = Model.Item.GetRawValueString("TextReadability", "max-width-on"); 26 maxWidth = maxWidth == "max-width-on" ? " mw-75ch" : maxWidth; 27 maxWidth = maxWidth == "max-width-off" ? "" : maxWidth; 28 29 string theme = !string.IsNullOrWhiteSpace(Model.Item.GetRawValueString("Theme")) ? " theme " + Model.Item.GetRawValueString("Theme").Replace(" ", "").Trim().ToLower() : ""; 30 } 31 32 <div class="h-100 position-relative d-flex flex-column mb-0-last-child @contentPadding @verticalAlign @(layout)@(theme) @(cssclass)"> 33 @RenderBody(maxWidth) 34 </div> 35 36 @helper RenderBody(string maxWidth) 37 { 38 string linkType = Model.Item.GetRawValueString("LinkType", "page"); 39 Dynamicweb.Frontend.LinkViewModel link = new Dynamicweb.Frontend.LinkViewModel(); 40 41 string StretchedLink = Model.Item.GetRawValueString("StretchedLink", ""); 42 StretchedLink = StretchedLink == "column-not-clickable" ? "" : StretchedLink; 43 StretchedLink = StretchedLink == "column-clickable" ? " stretched-link" : StretchedLink; 44 45 if (linkType == "page" && Model.Item.GetLink("ButtonLink") != null) 46 { 47 link = Model.Item.GetLink("ButtonLink"); 48 } 49 50 if (linkType == "product-group") 51 { 52 IList<ProductGroupViewModel> selectedGroups = Model.Item.GetValue<IList<ProductGroupViewModel>>("ProductGroupLink"); 53 IList<string> groupIds = new List<string> { }; 54 55 if (selectedGroups != null) 56 { 57 foreach (var fromGroup in selectedGroups) 58 { 59 groupIds.Add(fromGroup.Id); 60 } 61 } 62 63 link = new Dynamicweb.Frontend.LinkViewModel() 64 { 65 Url = "/Default.aspx?ID=" + GetPageIdByNavigationTag("Shop") + "&GroupID=" + string.Join(",", groupIds) 66 }; 67 } 68 69 if (linkType == "product") 70 { 71 ProductListViewModel products = Model.Item.GetValue<ProductListViewModel>("ProductLink"); 72 IList<string> productIds = new List<string> { }; 73 74 if (products != null) 75 { 76 foreach (var product in products.Products) 77 { 78 productIds.Add(product.Id); 79 } 80 } 81 82 string productParameter = productIds.Count == 1 ? "ProductID" : "MainProductId"; 83 string pageTag = productIds.Count == 1 ? "ProductDetailPage" : "Shop"; 84 link = new Dynamicweb.Frontend.LinkViewModel() 85 { 86 Url = "/Default.aspx?ID=" + GetPageIdByNavigationTag(pageTag) + "&" + productParameter + "=" + string.Join(",", productIds) 87 }; 88 } 89 90 if (!string.IsNullOrEmpty(Model.Item.GetString("Title")) && !Model.Item.GetBoolean("HideTitle")) 91 { 92 string titleFontSize = Model.Item.GetRawValueString("TitleFontSize", "h3"); 93 94 <h3 class="@titleFontSize mb-3@(maxWidth)"> 95 @Model.Item.GetString("Title") 96 </h3> 97 } 98 99 if (!string.IsNullOrEmpty(Model.Item.GetString("Lead"))) 100 { 101 string subtitleFontSize = Model.Item.GetRawValueString("SubtitleFontSize", "fs-5"); 102 103 <p class="@subtitleFontSize lead mb-3@(maxWidth)"> 104 @Model.Item.GetString("Lead") 105 </p> 106 } 107 108 if (!string.IsNullOrEmpty(Model.Item.GetString("Text"))) 109 { 110 <div class="mb-0-last-child@(maxWidth)"> 111 @Model.Item.GetString("Text") 112 </div> 113 } 114 115 if (link != null && !string.IsNullOrEmpty(Model.Item.GetString("ButtonLabel"))) 116 { 117 string target = link.IsExternal ? "target=\"_blank\"" : ""; 118 string buttonStyle = Model.Item.GetRawValueString("ButtonStyle", ""); 119 buttonStyle = buttonStyle == "primary" ? "btn-primary" : buttonStyle; 120 buttonStyle = buttonStyle == "secondary" ? "btn-secondary" : buttonStyle; 121 122 <div class="mt-3"> 123 <a href="@link.Url" @target class="btn @(buttonStyle)@(StretchedLink)">@Model.Item.GetString("ButtonLabel")</a> 124 </div> 125 } 126 else if (link != null && !string.IsNullOrEmpty(link.Url)) 127 { 128 string target = link.IsExternal ? "target=\"_blank\"" : ""; 129 130 <a href="@link.Url" @target class="@StretchedLink"> 131 <span class="visually-hidden">@Model.Item.GetString("Title")</span> 132 </a> 133 } 134 } 135
ViaTherm™ Viking
ViaTherm Viking is specially developed for application during early spring and late fall when the roads tend to be moist. It is applied like other bulk thermoplastic road marking materials from Geveko Markings.
However, the special formulation of ViaTherm Viking makes the adhesion to the road stronger over time even if the initial adhesion is affected by moisture.
Benefits
- Prolong the application window with the special formulation of Viatherm Viking that provides exceptional adhesion properties even in moist conditions.
- Improve cost-effectiveness and profitability on your applications as ViaTherm Viking makes it possible to start the application early in the day and continue for longer, thereby optimising the utilization of resources.
- Reduce the risk of product failure in high-risk areas as ViaTherm Viking’s formulation ensures strong adhesion to the road which actually increases over time, even in areas prone to moist surfaces.