Error executing template "Designs/Fjordgaarden/Dw_page/../Partials/Navigation.cshtml"
System.Data.SqlClient.SqlException (0x80131904): Connection Timeout Expired.  The timeout period elapsed during the post-login phase.  The connection could have timed out while waiting for server to complete the login process and respond; Or it could have timed out while attempting to create multiple active connections.  The duration spent while attempting to connect to this server was - [Pre-Login] initialization=0; handshake=7563; [Login] initialization=0; authentication=0; [Post-Login] complete=7256; 
 ---> System.ComponentModel.Win32Exception (258): The wait operation timed out.
   at System.Data.ProviderBase.DbConnectionPool.TryGetConnection(DbConnection owningObject, UInt32 waitForMultipleObjectsTimeout, Boolean allowCreate, Boolean onlyOneCheckConnection, DbConnectionOptions userOptions, DbConnectionInternal& connection)
   at System.Data.ProviderBase.DbConnectionFactory.TryGetConnection(DbConnection owningConnection, TaskCompletionSource`1 retry, DbConnectionOptions userOptions, DbConnectionInternal oldConnection, DbConnectionInternal& connection)
   at System.Data.ProviderBase.DbConnectionInternal.TryOpenConnectionInternal(DbConnection outerConnection, DbConnectionFactory connectionFactory, TaskCompletionSource`1 retry, DbConnectionOptions userOptions)
   at System.Data.SqlClient.SqlConnection.Open()
   at Dynamicweb.Data.DatabaseConnectionProvider.CreateConnection(Boolean open)
   at Dynamicweb.Data.Database.CreateConnection()
   at Dynamicweb.Data.Database.CreateDataReader(CommandBuilder commandBuilder, IDbConnection connection, IDbTransaction transaction, Int32 commandTimeout)
   at Dynamicweb.Data.Database.CreateDataReader(CommandBuilder commandBuilder)
   at Dynamicweb.Content.Items.ItemList.GetItemListById(Int32 id)
   at Dynamicweb.Content.Items.Editors.ItemRelationListEditor.GetItems(Object value)
   at Dynamicweb.Content.Items.Editors.ItemRelationListEditor.GetViewModelValue(Object value)
   at Dynamicweb.Content.Items.Editors.Editor.GetViewModelValue(Object value, ItemField field)
   at Dynamicweb.Frontend.ContentViewModelFactory.GetValue(ItemField field, Item item, Object value)
   at Dynamicweb.Frontend.ContentViewModelFactory.<>c__DisplayClass16_0.<CreateItemFieldViewModel>g__modelValueFactory|0()
   at System.Lazy`1.ViaFactory(LazyThreadSafetyMode mode)
--- End of stack trace from previous location ---
   at System.Lazy`1.CreateValue()
   at Dynamicweb.Frontend.ItemViewModel.GetItems(String systemName)
   at CompiledRazorTemplates.Dynamic.RazorEngine_5ab6b644296945edaf907fc800563eba.ExecuteAsync()
   at RazorEngine.Templating.TemplateBase.Run(ExecuteContext context, TextWriter reader)
   at RazorEngine.Templating.RazorEngineCore.RunTemplate(ICompiledTemplate template, TextWriter writer, Object model, DynamicViewBag viewBag)
   at RazorEngine.Templating.RazorEngineService.Run(ITemplateKey key, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag)
   at RazorEngine.Templating.DynamicWrapperService.Run(ITemplateKey key, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag)
   at RazorEngine.Templating.RazorEngineServiceExtensions.Run(IRazorEngineService service, String name, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag)
   at RazorEngine.Templating.RazorEngineServiceExtensions.<>c__DisplayClass23_0.<Run>b__0(TextWriter writer)
   at RazorEngine.Templating.RazorEngineServiceExtensions.WithWriter(Action`1 withWriter)
   at RazorEngine.Templating.RazorEngineServiceExtensions.Run(IRazorEngineService service, String name, Type modelType, Object model, DynamicViewBag viewBag)
   at Dynamicweb.Rendering.RazorTemplateRenderingProvider.Render(Template template)
   at Dynamicweb.Rendering.TemplateRenderingService.Render(Template template)
   at Dynamicweb.Rendering.Template.RenderRazorTemplate()
ClientConnectionId:1b906655-b14c-4bd9-a55f-814553e15a36
Error Number:-2,State:0,Class:11

1 @using Dynamicweb.Content 2 @using Dynamicweb.Ecommerce.International 3 @inherits Dynamicweb.Rendering.ViewModelTemplate<Dynamicweb.Frontend.Navigation.NavigationTreeViewModel> 4 @using Dynamicweb.VestjyskMarketing.Helpers 5 @using Dynamicweb.VestjyskMarketing.Models 6 7 @{ 8 var areaService = new AreaService(); 9 var pageService = new PageService(); 10 var area = Pageview.AreaSettings; 11 var backgroundImage = ""; 12 var backgroundImageMobile = ""; 13 if (Pageview.Area.Item["NavigationBackgroundImage"] != null) 14 { 15 backgroundImage = Pageview.Area.Item["NavigationBackgroundImage"].ToString(); 16 17 18 backgroundImage = ImageHelper.ResizeImage(new ResizeImageSettings 19 { 20 Image = backgroundImage, 21 Width = 750, 22 Height = 750, 23 Quality = 99, 24 Format = "webP" 25 }); 26 } 27 28 if (Pageview.Area.Item["NavigationBackgroundImageMobile"] != null) 29 { 30 31 backgroundImageMobile = Pageview.Area.Item["NavigationBackgroundImageMobile"].ToString(); 32 33 34 backgroundImageMobile = ImageHelper.ResizeImage(new ResizeImageSettings 35 { 36 Image = backgroundImageMobile, 37 Width = 750, 38 Height = 750, 39 Quality = 99, 40 Format = "webP" 41 }); 42 } 43 } 44 45 <div id="navigation" class="h-100 w-100 navigation-container position-fixed"> 46 <img loading="lazy" class="position-absolute navigation-container__background-image d-none d-lg-block" alt="navigation background" src="@backgroundImage"/> 47 <img loading="lazy" class="position-absolute navigation-container__background-image d-block d-lg-none" alt="navigation background" src="@backgroundImageMobile"/> 48 <a id="navigationCloseButton" href="javascript:void(0)" class="navigation-container__close-container position-absolute d-flex "> 49 <img loading="lazy" alt="navigation close" style="height: 50px;" class="navigation-container__close-container__close" src="/Files/Images/Ikoner/svgs/light/xmark.svg"> 50 </a> 51 52 <!-- Regular navigation --> 53 <div id="navigation-regular" class="navigation-section" style="display: none"> 54 <div class="navigation-container__row-container position-absolute w-100 "> 55 @* Uppermost pages *@ 56 <div class="navigation-container__row-container__parent position-absolute top-50 translate-middle-y"> 57 @foreach (var node in Model.Nodes) 58 { 59 //If page has a shortcut, use the shortcut as link instead 60 var page = pageService.GetPage(node.PageId); 61 var parentLink = "javascript:void(0)"; 62 bool noChildren = false; 63 64 if (!string.IsNullOrEmpty(page.ShortCut)) 65 { 66 parentLink = page.ShortCut; 67 noChildren = true; 68 } 69 70 <a data-id="@node.PageId" class="text-decoration-none navigation-container__row-container__parent__button d-block @(noChildren ? "no-children" : "")" href="@parentLink"> 71 <div class="navigation-container__row-container__parent__button__text navigation-container__row-container__title dalafloda">@node.Name</div> 72 </a> 73 74 @* Childpages *@ 75 <div data-id="@node.PageId" class="position-absolute navigation-container__row-container__child-container "> 76 77 @foreach (var childPage in node.Nodes) 78 { 79 var _childpage = pageService.GetPage(childPage.PageId); 80 bool hasShortCut = !string.IsNullOrEmpty(_childpage.ShortCut); 81 var target = hasShortCut ? "_blank" : "_self"; 82 83 var childLink = "/Default.aspx?ID=" + childPage.PageId; 84 <a href="@childLink" target="@target" class="navigation-container__row-container__child-container__child">@childPage.Name</a> 85 } 86 87 <a href="javascript:void(0)" class="navigation-container__row-container__child-container__arrow bi bi-arrow-left d-block d-lg-none"></a> 88 </div> 89 } 90 </div> 91 </div> 92 </div> 93 94 <!-- Booking --> 95 @{ 96 var bookingItems = area.GetItems("BookingNavigationItems"); 97 } 98 <div style="display: none" id="navigation-booking" class="navigation-container__booking navigation-section navigation-container__row-container navigation-container__row-container--booking position-absolute top-50 translate-middle-y"> 99 <div class="top-50 translate-middle-y position-absolute"> 100 <div class="navigation-container__booking__text text-white text-uppercase mb-4">Book</div> 101 @foreach (var item in bookingItems) 102 { 103 var text = item.GetString("Text"); 104 var link = item.GetString("Link"); 105 106 <a class="text-decoration-none navigation-container__row-container__parent__button" href="@link"> 107 <div class="navigation-container__row-container__parent__button__text text-white mt-3 dalafloda">@text</div> 108 </a> 109 } 110 </div> 111 </div> 112 113 <!-- Social media & languages --> 114 @{ 115 var icons = area.GetItems("SoMeIcons"); 116 } 117 118 <div class="navigation-container__some-lang-container d-flex justify-content-between justify-content-lg-end flex-row-reverse position-absolute flex-lg-row"> 119 <div class="navigation-container__some-lang-container__some-container"> 120 <div class="navigation-container__some-lang-container__some-container__header text-white text-uppercase mb-1"> 121 @Translate("Follow us") 122 </div> 123 <div class="navigation-container__some-lang-container__some-container__icon-container d-flex"> 124 @foreach (var icon in icons) 125 { 126 var iconClass = icon.GetString("Icon"); 127 var iconLink = icon.GetString("Link"); 128 129 <a class="navigation-container__some-lang-container__some-container__icon-container__icon" href="@iconLink" target="_blank"> 130 <img loading="lazy" alt="some" class="icon icon--big" src="@icon.GetString("Icon") "/> 131 </a> 132 } 133 </div> 134 </div> 135 136 <div class="navigation-container__some-lang-container__lang-container ms-0 ms-lg-5 d-flex"> 137 138 @{ 139 var areas = areaService.GetAreas().Where(x => x.Published); 140 141 foreach (var currentArea in areas) 142 { 143 var nativeName = currentArea.CultureInfo.NativeName.Split(" ")[0]; 144 var countryCode = currentArea.CultureInfo.ThreeLetterWindowsLanguageName; 145 var src = "/Files/Images/LanguageIcons/" + countryCode + ".svg"; 146 147 var firstPage = "Default.aspx?ID=" + pageService.GetFirstPageForArea(currentArea.ID).ID; 148 149 <a href="@firstPage" class="me-3 d-flex flex-column navigation-container__some-lang-container__lang-container__flag-container text-decoration-none justify-content-between"> 150 151 <img loading="lazy" src="@src" class="flex-column mb-2 navigation-container__some-lang-container__lang-container__flag-container__flag"/> 152 <div class="navigation-container__some-lang-container__lang-container__flag-container__text text-white text-uppercase">@nativeName</div> 153 154 </a> 155 } 156 } 157 158 </div> 159 </div> 160 </div>
Error executing template "Designs/Fjordgaarden/Paragraph/Boxes.cshtml"
System.Data.SqlClient.SqlException (0x80131904): Connection Timeout Expired.  The timeout period elapsed during the post-login phase.  The connection could have timed out while waiting for server to complete the login process and respond; Or it could have timed out while attempting to create multiple active connections.  The duration spent while attempting to connect to this server was - [Pre-Login] initialization=0; handshake=7563; [Login] initialization=0; authentication=0; [Post-Login] complete=7256; 
 ---> System.ComponentModel.Win32Exception (258): The wait operation timed out.
   at System.Data.ProviderBase.DbConnectionPool.TryGetConnection(DbConnection owningObject, UInt32 waitForMultipleObjectsTimeout, Boolean allowCreate, Boolean onlyOneCheckConnection, DbConnectionOptions userOptions, DbConnectionInternal& connection)
   at System.Data.ProviderBase.DbConnectionFactory.TryGetConnection(DbConnection owningConnection, TaskCompletionSource`1 retry, DbConnectionOptions userOptions, DbConnectionInternal oldConnection, DbConnectionInternal& connection)
   at System.Data.ProviderBase.DbConnectionInternal.TryOpenConnectionInternal(DbConnection outerConnection, DbConnectionFactory connectionFactory, TaskCompletionSource`1 retry, DbConnectionOptions userOptions)
   at System.Data.SqlClient.SqlConnection.Open()
   at Dynamicweb.Data.DatabaseConnectionProvider.CreateConnection(Boolean open)
   at Dynamicweb.Data.DatabaseConnectionProvider.CreateConnection()
   at Dynamicweb.Data.DatabaseProvider.CreateConnection()
   at Dynamicweb.Data.Database.CreateConnection()
   at Dynamicweb.Data.Database.CreateDataReader(CommandBuilder commandBuilder, IDbConnection connection, IDbTransaction transaction, Int32 commandTimeout)
   at Dynamicweb.Data.Database.CreateDataReader(CommandBuilder commandBuilder)
   at Dynamicweb.Content.Items.Queries.Repository.SelectInternal(IEnumerable`1 ids, Query query)
   at Dynamicweb.Content.Items.Queries.Repository.SelectByIds(IEnumerable`1 ids, Query query, Boolean checkPermissions, Boolean includeInheritedItems)
   at Dynamicweb.Content.Items.Queries.Repository.SelectByIds(IEnumerable`1 ids, Query query, Boolean checkPermissions)
   at Dynamicweb.Content.Items.Queries.Repository.SelectByIds(IEnumerable`1 ids, Query query)
   at Dynamicweb.Content.Items.Queries.Repository.SelectById(String id, Query query)
   at Dynamicweb.Content.Items.Queries.Repository.SelectById(String id)
   at Dynamicweb.Content.Items.Queries.StorageManager.GetById(String systemName, String id)
   at Dynamicweb.Content.Items.Queries.StorageManager.GetByIds(String systemName, IEnumerable`1 ids)
   at Dynamicweb.Content.Items.ItemList.get_Relations()
   at Dynamicweb.Content.Items.Editors.ItemRelationListEditor.GetItems(Object value)
   at Dynamicweb.Content.Items.Editors.ItemRelationListEditor.GetViewModelValue(Object value)
   at Dynamicweb.Content.Items.Editors.Editor.GetViewModelValue(Object value, ItemField field)
   at Dynamicweb.Frontend.ContentViewModelFactory.GetValue(ItemField field, Item item, Object value)
   at Dynamicweb.Frontend.ContentViewModelFactory.<>c__DisplayClass16_0.<CreateItemFieldViewModel>g__modelValueFactory|0()
   at System.Lazy`1.ViaFactory(LazyThreadSafetyMode mode)
--- End of stack trace from previous location ---
   at System.Lazy`1.CreateValue()
   at Dynamicweb.Frontend.ItemViewModel.GetItems(String systemName)
   at CompiledRazorTemplates.Dynamic.RazorEngine_5267fdbe9052496f886505f4f32c1b1b.ExecuteAsync()
   at RazorEngine.Templating.TemplateBase.Run(ExecuteContext context, TextWriter reader)
   at RazorEngine.Templating.RazorEngineCore.RunTemplate(ICompiledTemplate template, TextWriter writer, Object model, DynamicViewBag viewBag)
   at RazorEngine.Templating.RazorEngineService.Run(ITemplateKey key, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag)
   at RazorEngine.Templating.DynamicWrapperService.Run(ITemplateKey key, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag)
   at RazorEngine.Templating.RazorEngineServiceExtensions.Run(IRazorEngineService service, String name, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag)
   at RazorEngine.Templating.RazorEngineServiceExtensions.<>c__DisplayClass23_0.<Run>b__0(TextWriter writer)
   at RazorEngine.Templating.RazorEngineServiceExtensions.WithWriter(Action`1 withWriter)
   at RazorEngine.Templating.RazorEngineServiceExtensions.Run(IRazorEngineService service, String name, Type modelType, Object model, DynamicViewBag viewBag)
   at Dynamicweb.Rendering.RazorTemplateRenderingProvider.Render(Template template)
   at Dynamicweb.Rendering.TemplateRenderingService.Render(Template template)
   at Dynamicweb.Rendering.Template.RenderRazorTemplate()
ClientConnectionId:1b906655-b14c-4bd9-a55f-814553e15a36
Error Number:-2,State:0,Class:11

1 @inherits Dynamicweb.Rendering.ViewModelTemplate<Dynamicweb.Frontend.ParagraphViewModel> 2 @using Dynamicweb.Frontend 3 @using Dynamicweb.Frontend.Devices 4 @using Dynamicweb.VestjyskMarketing.Helpers 5 @using Dynamicweb.VestjyskMarketing.Models 6 @using Extensibility.Helpers 7 @using Dynamicweb.Content 8 9 @{ 10 var boxes = Model.Item.GetItems("Boxes"); 11 var boxesSystem = Model.Item.GetItems("BoxesSystem"); 12 List<ItemViewModel> totalBoxes = new List<ItemViewModel>(); 13 var colSize = 0; 14 var boxesAmount = 0; 15 var isMobile = Pageview.Device == Dynamicweb.Frontend.Devices.DeviceType.Mobile; 16 17 if (boxes != null || boxesSystem != null) 18 { 19 if (boxes != null) 20 { 21 foreach (var box in boxes) 22 { 23 totalBoxes.Add(box); 24 } 25 } 26 if (boxesSystem != null) 27 { 28 foreach (var box in boxesSystem) 29 { 30 totalBoxes.Add(box); 31 } 32 } 33 34 //Takes all boxes without BoxLocation empty first, sorts them and then adds boxes with empty BoxLocation, so that they get appended at the end of the list 35 totalBoxes = new BoxesHelper().GetSortedBoxes(totalBoxes); 36 37 @if (totalBoxes != null) 38 { 39 boxesAmount = totalBoxes.Count; 40 @if (boxesAmount > 0) 41 { 42 colSize = 12 / boxesAmount; 43 var enableCarousel = boxesAmount > 3; 44 45 <div class="boxes-container col-12 d-flex flex-wrap @(enableCarousel && !isMobile ? "boxes-carousel " : "")"> 46 <div class="@(enableCarousel && !isMobile ? "swiper-wrapper" : "w-100 h-100 d-flex flex-wrap") "> 47 @foreach (var box in totalBoxes) 48 { 49 var topText = box.GetString("TopText"); 50 var header = box.GetString("Header"); 51 var headerSmall = box.GetString("HeaderSmall"); 52 var image = ""; 53 var video = ""; 54 var useVideo = false; 55 var advancedImage = box.GetItem("AdvancedImage"); 56 var imageAlt = ""; 57 var imageStyle = ""; 58 bool disableZoom = box.GetBoolean("DisableZoom"); 59 60 if (advancedImage != null) 61 { 62 image = advancedImage.GetString("Image"); 63 imageAlt = advancedImage.GetString("ImageAlt"); 64 video = advancedImage.GetString("Video"); 65 useVideo = advancedImage.GetBoolean("UseVideo"); 66 67 var advancedImageHelper = new AdvancedImageHelper(); 68 imageStyle = advancedImageHelper.GetStyles(advancedImage, Pageview.Device); 69 } 70 71 var buttons = box.GetItems("Buttons"); 72 var priceText = box.GetString("PriceText"); 73 var price = box.GetString("Price"); 74 var priceClass = "justify-content-center"; 75 var globalPrice = box.GetString("GlobalPrice"); 76 77 if (!string.IsNullOrEmpty(globalPrice)) 78 { 79 var pageService = new PageService(); 80 var boxPage = pageService.GetPage(int.Parse(globalPrice)); 81 if (boxPage.Item != null) 82 { 83 if (boxPage.ItemType == "Box") 84 { 85 var itemId = boxPage.Item.Id; 86 var item = Dynamicweb.Content.Items.Item.GetItemById(boxPage.ItemType, itemId); 87 price = item["Price"].ToString(); 88 } 89 } 90 } 91 92 bool priceIsNotEmpty = !string.IsNullOrEmpty(priceText) && !string.IsNullOrEmpty(price); 93 94 if (priceIsNotEmpty) 95 { 96 priceClass = "justify-content-between"; 97 } 98 99 var zoomClass = "box-zoom"; 100 101 if (disableZoom) 102 { 103 zoomClass = ""; 104 } 105 106 if (!useVideo) 107 { 108 if (isMobile) 109 { 110 image = ImageHelper.ResizeImage(new ResizeImageSettings 111 { 112 Image = image, 113 Width = 2500, 114 Height = 2500, 115 Quality = 80, 116 Format = "webP" 117 }); 118 } 119 else 120 { 121 image = ImageHelper.ResizeImage(new ResizeImageSettings 122 { 123 Image = image, 124 Width = 5000, 125 Height = 5000, 126 Quality = 15, 127 Format = "webP" 128 }); 129 } 130 } 131 132 bool englishArea = Pageview.AreaID != 1; 133 134 if (price.Contains("kr.") && englishArea) 135 { 136 price = price.Replace("kr.", "DKK"); 137 } 138 139 var isContentEmpty = string.IsNullOrEmpty(header) && string.IsNullOrEmpty(headerSmall) && string.IsNullOrEmpty(priceText) && string.IsNullOrEmpty(price) && buttons.Count == 0; 140 var isOnlyOneButton = buttons.Count == 1; 141 142 <div class="box-container col-12 col-lg-@colSize @zoomClass @(enableCarousel && !isMobile ? "swiper-slide" : "box-border-right")"> 143 144 @if (isOnlyOneButton) 145 { 146 <a href="@buttons.First().GetString("Link")"> 147 <div class="box-container__media-container box-container__media-container--@colSize overflow-hidden @(colSize == 6 && isContentEmpty ? "content-empty" : "")"> 148 @if (useVideo) 149 { 150 <video class="w-100 h-100" autoplay loop muted playsinline style="@imageStyle" disablepictureinpicture> 151 <source src="@video" type="video/mp4"> 152 </video> 153 } 154 else 155 { 156 <img loading="lazy" style="@imageStyle" alt="@imageAlt" class="w-100 h-100" src="@image" /> 157 } 158 </div> 159 </a> 160 } 161 else 162 { 163 <div class="box-container__media-container box-container__media-container--@colSize overflow-hidden @(colSize == 6 && isContentEmpty ? "content-empty" : "")"> 164 @if (useVideo) 165 { 166 <video class="w-100 h-100" autoplay loop muted playsinline style="@imageStyle" disablepictureinpicture> 167 <source src="@video" type="video/mp4"> 168 </video> 169 } 170 else 171 { 172 <img loading="lazy" style="@imageStyle" alt="@imageAlt" class="w-100 h-100" src="@image" /> 173 } 174 </div> 175 } 176 177 178 179 <div class="box-container__top-text position-absolute text-white fw-bold text-uppercase translate-middle-x"> 180 @topText 181 </div> 182 <div class="box-container__header-container w-100"> 183 <div class="box-container__header-container__header box-container__header-container__header--@colSize dalafloda">@header</div> 184 <div class="box-container__header-container__header-small">@headerSmall</div> 185 </div> 186 <div class="box-container__button-price-container d-flex w-100 @priceClass"> 187 188 @if (priceIsNotEmpty) 189 { 190 <div class="box-container__button-price-container__price-container d-flex flex-column w-100 justify-content-end"> 191 <div class="box-container__button-price-container__price-container__text">@priceText</div> 192 <div class="box-container__button-price-container__price-container__price dalafloda">@price</div> 193 </div> 194 } 195 196 @if (buttons != null) 197 { 198 var justifyClass = "justify-content-center"; 199 var buttonWidth = "width: auto"; 200 201 if (priceIsNotEmpty) 202 { 203 justifyClass = "justify-content-end"; 204 } 205 else if (isMobile) 206 { 207 buttonWidth = "width: inherit"; 208 } 209 210 <div class="box-container__button-price-container__button-container d-flex align-items-end w-100 @justifyClass flex-column flex-lg-row"> 211 212 @{ 213 var buttonIndex = 1; 214 } 215 216 @foreach (var button in buttons) 217 { 218 var icon = button.GetString("Icon"); 219 var text = button.GetString("Text"); 220 221 var buttonMarginClass = "mb-0"; 222 223 if (buttonIndex != buttons.Count) 224 { 225 buttonMarginClass = "mb-3"; 226 } 227 228 <a href="@button.GetString("Link")" style="@buttonWidth" class="fn-button align-items-end @buttonMarginClass mb-lg-0 "> 229 230 @if (!string.IsNullOrEmpty(icon)) 231 { 232 <img loading="lazy" class="icon icon " alt="icon" src="@icon" /> 233 } 234 235 @if (string.IsNullOrEmpty(text)) 236 { 237 @header 238 } 239 else 240 { 241 @text 242 } 243 </a> 244 245 buttonIndex++; 246 } 247 248 </div> 249 } 250 251 </div> 252 </div> 253 } 254 255 </div> 256 @if (enableCarousel && !isMobile) 257 { 258 <img loading="lazy" alt="boxes venstre" class="boxes__left boxes__arrow" src="/Files/Images/Ikoner/svgs/regular/arrow-left-long.svg" /> 259 <img loading="lazy" alt="boxes højre" class="boxes__right boxes__arrow" src="/Files/Images/Ikoner/svgs/regular/arrow-right-long.svg" /> 260 } 261 </div> 262 } 263 } 264 } 265 }
Kosmetolog
Kurbadssuiten
Køb gavekort
Møde & konference

@hotelfjordgaarden