Homehagen aps
Homehagen is a Danish textile brand dedicated to creating products that bring quality, durability, and comfort to your home. After careers in the interior- and fashion industry in both Copenhagen and London, founders Jan Oliver Booth and Henrik Pedersen partnered in 2018 to establish Homehagen and to design a collection that adds a luxurious and colorful touch to everyday life.
Our ethos is built on a commitment to quality, and we want to build a luxurious lifestyle brand that focuses on designing products that improve your home atmosphere and provide you a sense of comfort and contentment. At the same time, we are driven by our sense of r
5 post
latest from 23. July 2023
Honningperler - Bee inspired
Honningperler - Bee inspired
Under that slogan I inspire to use pure natural care products for the benefit of health and nature since 2019.
Clean raw materials and natural ingredients are gaining more and more traction with Danish consumers, who like to fall for products with a good story behind.
All skin care products are handmade by me with ingredients from my own beekeeping - honey & beeswax and are without additives & preservatives.
My Lip Balm Naturel won the Nordic Natural Beauty Awards in 2021.
My Body Peeling Geranium was nominated for the Nordic Natural Beauty Awards in 2022.
I have created a context in my Honningp
8 post
latest from 18. December 2022
Hove Home ApS
Hove Home is a design company which product range has deep roots in the modern Nordic style, with a focus on the ethical, tactile and sustainable.
Beside of our own products, we are also agents for Klinta, Milton Home, Svanefors, PR Home of Scandinavia and Bizzotto.
8 post
latest from 20. July 2023
HRD Carpets AB
Swedish rugs since 1956
Our Plastic rugs have been produced since 1950s and are unrivaled in terms of durability both INDOOR and OUTDOORS.
The material we use in our plastic rugs is certified phthalate free PVC, with high UV-protection.
Manufactured in Sweden, in compliance with REACH and ROHS certificates.
Our crafting traditions remains, and today we proudly produce our women rugs at our own local weaving mill in Horred, Sweden. Rugs in various materials and high quality design that has taken tradition further in new and exciting directions.
1 post
latest from 15. December 2022
HUMBLE
Light has the power to transform a space. At Humble, we understand this better than anyone, creating lighting that bridges the gap between functionality and design. Our wireless design lights bring depth and atmosphere to any setting; from luxurious hotel bars and elegantly set dining tables to cruise ship lounges. Aesthetics and ease of use come together in objects that embody the essence of hospitality: warmth, sophistication, and unforgettable experiences.
Designed with hospitality in mind (yet just as beautiful at home), Humble lights are the perfect alternative to candlelight.
9 post
latest from 29. January 2026
Humdakin
With a mission to inspire the whole world to keep clean, Camilla Schram launched the lifestyle brand Humdakin in 2016.
At Humdakin, we focus on 5 key things: effective products, allergy-friendly formulas, the environment, clean scents, and a beautiful design, all of which are reflected in everything we do. That's why you'll find responsible cleaning-, care-, and household products that do npt compromise on efficacy, ingredients, or beautiful looks.
17 post
latest from 16. January 2025
Error executing template "Designs/exhibition_site/QueryPublisher/partials/mch365-profile-item.cshtml" System.ArgumentException: An item with the same key has already been added. at System.ThrowHelper.ThrowArgumentException(ExceptionResource resource) at System.Collections.Generic.Dictionary`2.Insert(TKey key, TValue value, Boolean add) at Co3.MCH.Website.Frontend.Repositories.BaseRepository.GetAssetIds(Profile profile, String type, String cacheKey, MCH365ViewType viewType) in C:\Users\ThomasLarsen\source\repos\co3.mch\Co3.MCH.Website.Frontend\Repositories\BaseRepository.cs:line 53 at Co3.MCH.Website.Frontend.Repositories.ArticleRepository.GetArticles(Profile profile, MCH365ViewType viewType) in C:\Users\ThomasLarsen\source\repos\co3.mch\Co3.MCH.Website.Frontend\Repositories\ArticleRepository.cs:line 62 at Co3.MCH.Website.Frontend.Services.MCH365.ArticleService.GetArticles(Profile profile, MCH365ViewType viewType) in C:\Users\ThomasLarsen\source\repos\co3.mch\Co3.MCH.Website.Frontend\Services\MCH365\ArticleService.cs:line 177 at Co3.MCH.Website.Frontend.Services.MCH365.ProfileService.GetProfileSubAssetInfo(Profile profile) in C:\Users\ThomasLarsen\source\repos\co3.mch\Co3.MCH.Website.Frontend\Services\MCH365\ProfileService.cs:line 113 at Co3.MCH.Website.Frontend.Models.Frontend.Ecommerce.ProfileProduct.get_SubAssetInfo() in C:\Users\ThomasLarsen\source\repos\co3.mch\Co3.MCH.Website.Frontend\Models\Frontend\Ecommerce\ProfileProduct.cs:line 55 at CompiledRazorTemplates.Dynamic.RazorEngine_f462571d300d43178532de63ce19dfd5.Execute() in E:\Websites\mch365.espresso5.dk\Files\Templates\Designs\exhibition_site\QueryPublisher\partials\mch365-profile-item.cshtml:line 187 at RazorEngine.Templating.TemplateBase.RazorEngine.Templating.ITemplate.Run(ExecuteContext context, TextWriter reader) at RazorEngine.Templating.RazorEngineService.RunCompile(ITemplateKey key, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag) at RazorEngine.Templating.RazorEngineServiceExtensions.<>c__DisplayClass16_0.<RunCompile>b__0(TextWriter writer) at RazorEngine.Templating.RazorEngineServiceExtensions.WithWriter(Action`1 withWriter) at Dynamicweb.Rendering.RazorTemplateRenderingProvider.Render(Template template) at Dynamicweb.Rendering.TemplateRenderingService.Render(Template template) at Dynamicweb.Rendering.Template.RenderRazorTemplate()1 @using Co3.MCH.Data.Models.MCH365 2 @using Co3.MCH.Website.Frontend.Models.Frontend.Ecommerce 3 @using Co3.MCH.Website.Frontend.Modules.MCH365 4 @using Co3.MCH.Website.Frontend.Services.Ecommerce 5 @using Dynamicweb.Frontend 6 @inherits Dynamicweb.Rendering.ViewModelTemplate< Co3.MCH.Website.Frontend.Models.Frontend.Ecommerce.ProfileProduct > 7 8 @{ 9 bool hasPresentation = Model.HasPresentation; 10 bool companyBookMeeting = Model.Contact.BookMeeting; 11 bool companyDirectContact = Model.Contact.DirectContact; 12 string companyEmail = Model.Company.Email; 13 List< ContactPersonProduct > contactPersons; 14 15 string profileText; 16 17 if ( hasPresentation ) 18 { 19 contactPersons = Model.Presentation.ContactPersons.Products.Select( p => ( ContactPersonProduct )p ).ToList(); 20 profileText = ProductService.Instance.GetTruncatedFormattedString( Model.Presentation.Description, 650 ); 21 } 22 else 23 { 24 contactPersons = Model.ContactPersons.Products.Select( p => ( ContactPersonProduct )p ).ToList(); 25 profileText = ProductService.Instance.GetTruncatedFormattedString( Model.Company.Description, 650 ); 26 } 27 28 string displayPageId = PageView.Current().Area.Item[ "ProfileDisplayPage" ].ToString(); 29 string formatSyntax = string.IsNullOrEmpty( Model.VariantId ) ? "Default.aspx?ID={0}&ProductID={1}" : "Default.aspx?ID={0}&ProductID={1}&VariantID={2}"; 30 string rawUrl = string.IsNullOrEmpty( Model.VariantId ) ? string.Format( formatSyntax, displayPageId, Model.Id ) : string.Format( formatSyntax, displayPageId, Model.Id, Model.VariantId ); 31 string displayPageLink = SearchEngineFriendlyURLs.GetFriendlyUrl( rawUrl ); 32 string listViewMode = string.IsNullOrEmpty( Dynamicweb.Context.Current.Session[ "ListViewMode" ]?.ToString() ) ? "expanded" : Dynamicweb.Context.Current.Session[ "ListViewMode" ]?.ToString(); 33 IEnumerable<BoothInfo> booths = Model.Booths; 34 } 35 36 @if ( listViewMode == "condensed" ) 37 { 38 <div data-listViewMode="@listViewMode" class="w-100 bg-ultralight border-radius mt-half e-block-link e-productlist-item js-e-block-link js-e-productlist-item js-e-productlist-item-@Model.Id" data-product-id="@Model.Id" data-variant-id="@Model.VariantId"> 39 <div class="e-productlist-item-container container-fluid h-100"> 40 <div class="row h-100"> 41 <div class="col-12 p-1 mch365-productlist-item-content-wrapper item-condensed flex-row"> 42 <div class="item-condensed-title"> 43 <div class="d-flex mr-3"> 44 <div class="condensed-list-logo mr-1"> 45 @if ( Model?.Company?.Logo != null ) 46 { 47 string logoImage = Model.Company.Logo; 48 string companyBackgroundColor = Model.Company.BrandColor; 49 50 string noCompanyInfo = ""; 51 string textLight = "e-text-light"; 52 53 if ( string.IsNullOrEmpty( logoImage ) && string.IsNullOrEmpty( companyBackgroundColor ) ) 54 { 55 noCompanyInfo = "bg-light"; 56 textLight = ""; 57 } 58 59 string noLogoBackground = ""; 60 if ( string.IsNullOrEmpty( logoImage ) && !string.IsNullOrEmpty( companyBackgroundColor ) ) 61 { 62 noLogoBackground = "style=\"background:" + companyBackgroundColor + ";\""; 63 } 64 65 <div class="e-productlist-item-image-container @noCompanyInfo mb-0" @noLogoBackground> 66 <a class="e-productlist-item-image-wrapper justify-content-center align-items-center d-flex @textLight" href="@Model.Link"> 67 @{ 68 if ( string.IsNullOrEmpty( logoImage ) ) 69 { 70 <span class="h1 mb-0">@Model.Company.Name.Substring( 0, 1 ).ToLower()</span> 71 } 72 else 73 { 74 <img alt="@Model.Company.Name" class="e-productlist-item-image w-100 p-1" src="@logoImage"/> 75 } 76 } 77 78 </a> 79 </div> 80 } 81 </div> 82 <div> 83 <h4 class="mb-0 font-weight-extrabold line-clamp-1">@Model.Company.Name</h4> 84 <p class="small line-height-sm mb-0 mt-1 line-clamp-2"> 85 @profileText 86 </p> 87 </div> 88 </div> 89 </div> 90 <div class="item-condensed-booth"> 91 @if (booths != null) 92 { 93 if ( booths.Count() == 1) 94 { 95 BoothInfo booth = booths.FirstOrDefault(); 96 if ( booth.Hall != null && booth.Booth != null ) 97 { 98 <p class="small mb-0"> 99 <small>@Translate("MCH365 - Profile booth - Text", "Stand")</small> 100 </p> 101 <h4 class="mt-half mb-0 font-weight-extrabold mr-xl-2" style="white-space: nowrap"> 102 @booth.Hall.Name <span class="text-downsize-notched">@booth.Booth.Number </span> 103 </h4> 104 } 105 } 106 else 107 { 108 <div class="align-items-baseline d-inline-flex flex-wrap justify-content-end justify-content-xl-start mb-1"> 109 <p class="small w-100 mb-0"> 110 <small>@Translate("MCH365 - Profile booths - Text", "Stande")</small> 111 </p> 112 @foreach ( BoothInfo booth in booths ) 113 { 114 if ( booth.Hall != null && booth.Booth != null ) 115 { 116 <h4 class="font-weight-extrabold mb-0 ml-1 ml-xl-0 mr-xl-1 mt-half text-muted" style="white-space: nowrap"> 117 @booth.Hall.Name <span class="text-downsize-notched">@booth.Booth.Number</span> 118 </h4> 119 } 120 } 121 </div> 122 } 123 } 124 </div> 125 <div class="item-condensed-subasset"> 126 @if ( Model.SubAssetInfo.Count > 0 ) 127 { 128 <p class="mb-0 font-weight-bold"> 129 <small>@Model.SubAssetInfo.Count @Translate( "MCH365 - Profile listItem SubAssetInfo - Text", "opslag" )</small> 130 </p> 131 <p class="small mb-0 mt-half font-weight-normal d-none d-md-block">@Translate( "MCH365 - Profile listItem latestUpdate - Text", "seneste fra" ) @Model.SubAssetInfo.LatestDate.ToString( "d. MMMM yyyy" )</p> 132 } 133 </div> 134 <div class="item-condensed-contacts"> 135 @if ( contactPersons.Any() ) 136 { 137 <div class="mt-auto"> 138 <p class="d-block mb-0 text-right"> 139 <small>@contactPersons.Count() @Translate( "MCH365 - Profile listItem contactPersons - Text", "kontakt­personer" )</small> 140 </p> 141 </div> 142 } 143 </div> 144 <div class="item-condensed-options"> 145 @if ( !string.IsNullOrEmpty( companyEmail ) ) 146 { 147 <div class="d-flex small align-items-center justify-content-end mch365-custom-productlist-cta"> 148 @if ( companyDirectContact ) 149 { 150 <span class="mch365-custom-productlist-cta-icon"> 151 <img src="/Files/Templates/Designs/exhibition_site/_assets/img/streamline/streamline-icon-email-action-edit@48x48.svg" title="@Translate( "MCH365 - Profile listItem contactDirect - Text", "Direkte kontakt" )" alt="" role="presentation"/> 152 </span> 153 } 154 @if ( companyBookMeeting ) 155 { 156 <span class="mch365-custom-productlist-cta-icon"> 157 <img src="/Files/Templates/Designs/exhibition_site/_assets/img/streamline/streamline-icon-calendar-edit@48x48.svg" title="@Translate( "MCH365 - Profile listItem bookMeeting - Text", "Møde­booking" )" alt="" role="presentation"/> 158 </span> 159 } 160 </div> 161 } 162 </div> 163 </div> 164 </div> 165 </div> 166 </div> 167 } 168 else 169 { 170 <div class="w-100 bg-ultralight border-radius my-1 e-block-link e-productlist-item js-e-block-link js-e-productlist-item js-e-productlist-item-@Model.Id" data-product-id="@Model.Id" data-variant-id="@Model.VariantId"> 171 <div class="e-productlist-item-container container-fluid h-100"> 172 <div class="row h-100"> 173 <div class="col-9 col-lg-7 col-xl-8 p-1 p-lg-2 mch365-productlist-item-content-wrapper"> 174 <h3 class="mb-0 font-weight-extrabold">@Model.Company.Name</h3> 175176 @if (booths != null && booths.Any()) 177 { 178 <p class="mb-0 mt-0 text-primary font-weight-bold">@Translate( "MCH365 - Profile listItem ExhibitOnFestival - Text", "Vi deltager på" ) <!--$$MCH365.Current.TradeShowDetails.Name--></p> 179 } 180181182 <p class="small line-height-sm mb-2 mt-1 line-clamp-10"> 183 @profileText 184 </p> 185186187 @if ( Model.SubAssetInfo.Count > 0 ) 188 { 189 <span class="mch365-productlist-item-bulletin-wrapper mt-auto"> 190 <h4 class="mb-0">@Model.SubAssetInfo.Count @Translate( "MCH365 - Profile listItem SubAssetInfo - Text", "opslag" )</h4> 191 <p class="small mb-0 mt-half font-weight-normal">@Translate( "MCH365 - Profile listItem latestUpdate - Text", "seneste fra" ) @Model.SubAssetInfo.LatestDate.ToString( "d. MMMM yyyy" )</p> 192 </span> 193 } 194 </div> 195196 <div class="col-3 col-lg-5 col-xl-4 bg-light p-1 p-lg-2 mch365-productlist-item-sidebar-wrapper"> 197198 @if ( Model?.Company?.Logo != null ) 199 { 200 string logoImage = Model.Company.Logo; 201 string companyBackgroundColor = Model.Company.BrandColor; 202203 string noCompanyInfo = ""; 204 string textLight = "e-text-light"; 205206 if ( string.IsNullOrEmpty( logoImage ) && string.IsNullOrEmpty( companyBackgroundColor ) ) 207 { 208 noCompanyInfo = "bg-light"; 209 textLight = ""; 210 } 211212 string noLogoBackground = ""; 213 if ( string.IsNullOrEmpty( logoImage ) && !string.IsNullOrEmpty( companyBackgroundColor ) ) 214 { 215 noLogoBackground = "style=\"background:" + companyBackgroundColor + ";\""; 216 } 217218 <div class="e-productlist-item-image-container @noCompanyInfo" @noLogoBackground> 219 <a class="e-productlist-item-image-wrapper justify-content-center align-items-center d-flex @textLight" href="@displayPageLink"> 220 @{ 221 if ( string.IsNullOrEmpty( logoImage ) ) 222 { 223 <span class="h1 mb-0">@Model.Company.Name.Substring( 0, 1 ).ToLower()</span> 224 } 225 else 226 { 227 <img alt="@Model.Company.Name" class="e-productlist-item-image w-100 p-1" src="@logoImage"/> 228 } 229 } 230231 </a> 232 </div> 233 } 234235 @if ( !string.IsNullOrEmpty( companyEmail ) ) 236 { 237 <div class="small flex-column mb-2"> 238 @if ( companyDirectContact ) 239 { 240 <span class="d-flex small font-weight-normal mb-1 align-items-center text-center mch365-custom-productlist-cta"> 241 <span class="mch365-custom-productlist-cta-icon"> 242 <img src="/Files/Templates/Designs/exhibition_site/_assets/img/streamline/streamline-icon-email-action-edit@48x48.svg" alt="" role="presentation"/> 243 </span><span>@Translate( "MCH365 - Profile listItem contactDirect - Text", "Direkte kontakt" )</span> 244 </span> 245 } 246 @if ( companyBookMeeting ) 247 { 248 <span class="d-flex small font-weight-normal mb-1 align-items-center text-center mch365-custom-productlist-cta"> 249 <span class="mch365-custom-productlist-cta-icon"> 250 <img src="/Files/Templates/Designs/exhibition_site/_assets/img/streamline/streamline-icon-calendar-edit@48x48.svg" alt="" role="presentation"/> 251 </span><span>@Translate( "MCH365 - Profile listItem bookMeeting - Text", "Møde­booking" )</span> 252 </span> 253 } 254 </div> 255 } 256 @if ( contactPersons.Any() ) 257 { 258 <div class="mt-auto"> 259 <ul class="mch365-productlist-custom-contact-persons"> 260261 @foreach ( ContactPersonProduct contactPerson in contactPersons.OrderBy( cp => cp.Sort ).Take( 3 ) ) 262 { 263 string noImageClasses = ""; 264 string contactPersonImage = contactPerson.Image; 265 if ( string.IsNullOrEmpty( contactPersonImage ) ) 266 { 267 contactPersonImage = "/Files/Templates/Designs/mch365_admin/_assets/img/mch365-noimage.svg"; 268 noImageClasses = "bg-white"; 269 } 270271 <li class="animate animate-triggered fadeIn animate-show @noImageClasses" style="background-image: url('/admin/public/getimage.ashx?Image=@contactPersonImage&Width=100&Height=100&Format=webp&Quality=75&Crop=0');" title="@contactPerson.Name"></li> 272 } 273274 @if ( contactPersons.Count() > 3 ) 275 { 276 <li class="mch365-productlist-custom-contact-persons-add"> </li> 277 } 278279 </ul> 280 <p class="d-block mb-0 mt-1 small text-center"> 281 <small>@contactPersons.Count() @Translate( "MCH365 - Profile listItem contactPersons - Text", "kontakt­personer" )</small> 282 </p> 283 </div> 284 } 285 </div> 286 </div> 287 </div> 288 </div> 289 } 290
Ib Laursen
We participate at Formland Autumn 2026
This season, Ib Laursen presents a collection shaped by atmosphere, natural materials, and thoughtful styling. Three distinct themes – Reflections, Grounded, and Adorn – frame the visual direction of the catalogue, each capturing a key expression of the season’s trends and translating them into inspiring, retail-ready universes.
Reflections explores a quiet, pared-back aesthetic, where considered details and silent moments define the space. Here, everyday objects are given room to stand out – subtle, tactile, and timeless.
Grounded brings warmth and depth into focus. Natural textures and earthy tones create a welcoming setting – a space
39 post
latest from 17. June 2026
Bloomingville A/S
We participate at Formland Autumn 2026
Bloomingville Multibrand House brings together several strong interior brands under one united identity. With many years of experience, Bloomingville Multibrand House has continuously expanded its portfolio with complementary brands, all sharing a passion for design.
Since 2000, Bloomingville has created home interiors for everyday designers living and loving happy changes. Share your style. Tell your story. Change your home.
13 post
latest from 19. June 2025
INVERSUM
INVERSUM is a small family-run brand creating handcrafted design furniture – especially benches in concrete and wood. The name Inversum is about changing direction and seeing things from a different perspective: choosing slow, considered design instead of mass production and short-term solutions.
We work with a clean, Nordic design language where minimalist forms and simple lines meet tactile surfaces and natural materials. Our concrete and wood furniture is made in small series with a long-term mindset – for calm, timeless spaces at home, in cafés, shops or offices, where each piece feels solid, tactile and personal.
7 post
latest from 15. January 2026
Jakobsdals
We participate at Formland Autumn 2026
In our part of the universe, the edges are less edgy, the corners a little rounder and life much softer. We have loved textile since 1910 and today, our focus remains on soft and warm interior design for personal homes. In our collections you will find both fluffy pillows, statement mats and quirky furniture.
Go hard or go home, they say. If you ask us? Go soft and go home.
21 post
latest from 5. June 2026
Jonathan Adler
Jonathan’s mission: to bring Modern American Glamour to your life.
Their offerings span furniture, lighting, home accessories, decorative objects, tabletop collections, bedding, bath accessories, candles, rugs, pillows, and more.
It all started with pottery. Jonathan first gave the wheel a spin at summer camp when he was 12 years old and was obsessed with clay the moment he touched it. In 1993, Barneys bought his collection of pots and then Jonathan went on to open his first store in SoHo in 1998. In less than 20 years he’s opened nearly 30 stores, built a robust ecommerce site and a successful worldwide wholesale business.
His philo










