Solventborne Paints
Long-lasting paints with flexible application methods
HSRoute and 3SRoute are our ranges of solventborne high solids paints. As these paints are often applied in a thin layer, you will get a cost-effective solution by choosing a solventborne paint. Our range differs in composition, skid-resistance, and solvent type which makes it possible to always find a product that meets your specific requirements.
Benefits
- The broad application temperature window makes it possible to apply HSRoute and 3SRoute all year round providing you with ultimate flexibility.
- Different surface, no problem! HSRoute and 3SRoute materials are suitable for permanent markings on asphalt as well as on concrete with the use of a primer.
- Choose the best application technique for your project. HSRoute and 3SRoute can be applied with both pneumatic and airless application machines or with a paint roller.
- All 3SRoute products are delivered in EcoPack packaging which limits the loss of material and lets you recycle the bucket for reduced overall waste cost and less environmental impact.
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_b2332c91335a4a4e91a61d5403f20be6 : 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
HSRoute™ HSE
This one-component, solvent-borne paint is recommended for areas with a medium amount of traffic and is produced exclusively in white. With the airless application method, you can achieve both fast and very precise results whether applying as a Type I or Type II marking.
Benefits
- Enjoy an easy hassle-free application with this one-component product that can be applied directly from the bucket.
- As HSRoute™ HSE is designed to be applied in a thin layer, you can benefit from having a low material consumption without compromising the result.
- Thanks to the product's high durability, you can lower your application costs over time by avoiding frequent remarkings.
HSRoute™ HS POX Outdoor 2C
This two-component paint should be mixed in a 28:1 ratio and can be applied with a standard airless machine. It comes in classic white and yellow, but also in a range of other colours which makes it suitable for multiple purposes.
Benefits
- Avoid long traffic shutdowns. The material has a fast drying time providing an effective application and fast re-opening of traffic.
- The high performance value over time provides for a durable product suitable even on areas with high traffic loads.
- One paint with many possibilities - with the multiple colour choices and high durability you get a broad range of application options.
HSRoute™ Antiskid fine
Characterised by its excellent anti-skid performance, this one-component paint can be applied straight out of the bucket. It is a perfect fit for cycle and pedestrian lanes, where it creates a frictional surface that feels safe and comfortable to move around on.
Benefits
- HSRoute Antiskid fine can be applied in a thin layer providing a low material consumption and consequently, a good cost performance.
- Due to its high anti-skid performance, HSRoute Antiskid fine minimises the risk of accidents and provides increased safety for road users.
- Save time on the application process as HSRoute Antiskid fine has consistently intermixed aggregates which eliminates the need for post-sprinkling.
3SRoute™ HS5
3SRoute™ HS5 is a recommendable solution for lining on country roads or other areas with limited traffic, where it can be used for year-round application. It is developed specifically for white, but can be offered in colours on request.
Benefits
- The high-speed airless application method lets you achieve sharply shaped lines and ensures a good cost-performance efficiency.
- As 3SRoute™ HS5 can be applied in a thin layer, you can lower your material consumption without compromising the result.
3SRoute™ Polykolor
With its range of bright colours, 3SRoute Polykolor can add a splash of creativity to areas with limited traffic such as pedestrian paths and decorative spaces.
Artist: Zdey - ©Tim Jarrosson
Benefits
- Be sure to get a colour suitable for the job at hand with the wide variety of colour tones to choose from.
- 3SRoute™ Polykolor is a cost-efficient solution as it is applied in a thin layer resulting in low material consumption.
3SRoute™ Polykolor Airport
Specifically developed for use at airports, this paint provides fast, easy, hassle-free application right out of the bucket with as little disruption on the airfield as possible.
Benefits
- 3SRoute™ Polykolor Airport is your guarantee for approved quality at the airport as the material conforms to all official ICAO and EASA standards including certified colour tones.
- Thanks to the airless application method, you will get a precise result and a time-saving application process.