Asturias is a destination more than suitable to enjoy in "single mode", because you will have a feeling of tranquillity, security and complete freedom in a healthy environment, and with the character of the Asturian people you will feel at home.

 

The St. James's Way through Asturias

There are many possibilities, and without a doubt, one of the most suggestive is the Camino de Santiago. An unforgettable experience and an ideal opportunity to socialise.
An error occurred while processing the template.
The following has evaluated to null or missing:
==> portletSetupCustomTitleHTMLMarkup  [in template "37703#37743#1376206" at line 27, column 74]

----
Tip: If the failing expression is known to legally refer to something that's sometimes null or missing, either specify a default value like myOptionalVar!myDefault, or use <#if myOptionalVar??>when-present<#else>when-missing</#if>. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)??
----

----
FTL stack trace ("~" means nesting-related):
	- Failed at: #switch portletSetupCustomTitleHTMLMa...  [in template "37703#37743#1376206" at line 27, column 65]
----
1<#include "${templatesPath}/NAVIGATION-MACRO-FTL" /> 
2 
3<#assign navItems = entries /> 
4<#if navItems?has_content> 
5	 
6	<#assign size = navItems?size /> 
7	<#assign portletSetupCustomTitle = "" /> 
8	<#assign portletSetupCustomDescription = "" /> 
9	<#if portletDisplay.getPortletSetup()??> 
10		<#assign portletSetupCustomTitle = portletDisplay.getPortletSetup().getValue("portletSetupTitle_${themeDisplay.getLanguageId()}", "") /> 
11		<#assign portletSetupCustomDescription = portletDisplay.getPortletSetup().getValue("portletSetupDescription_${themeDisplay.getLanguageId()}", "") /> 
12	</#if> 
13	<#assign uuidBannerDefault = themeDisplay.getLayoutSet().getSettingsProperty("banner")!""/> 
14	<#assign pathBannerDefault = ""/> 
15	<#if uuidBannerDefault!=""> 
16		<#assign pathBannerDefault= dlTool.getPathByUuid(uuidBannerDefault, groupId)/> 
17	</#if> 
18	<nav class="template template-background-mosaic-2-2"> 
19	 
20		<div class="row align-items-center"> 
21			<#if portletSetupCustomTitle?has_content || portletSetupCustomDescription?has_content> 
22				<div class="col-12 col-lg-3"> 
23					<div class="portlet-header px-xxl-5"> 
24						<div class="portlet-custom-title"> 
25							<#if portletSetupCustomTitle?has_content> 
26								 
27								<#switch portletSetupCustomTitleHTMLMarkup> 
28									<#case "h2"> 
29										<h2 class="portlet-title-text">${portletSetupCustomTitle}</h2> 
30										<#break> 
31									<#case "h3"> 
32										<h3 class="portlet-title-text">${portletSetupCustomTitle}</h3> 
33										<#break> 
34									<#case "h4"> 
35										<h4 class="portlet-title-text">${portletSetupCustomTitle}</h4> 
36										<#break> 
37									<#default> 
38										<h3 class="portlet-title-text">${portletSetupCustomTitle}</h3> 
39								</#switch> 
40								 
41							</#if> 
42							<#if portletSetupCustomDescription?has_content> 
43								<div class="portlet-description-text">${portletSetupCustomDescription}</div> 
44							</#if> 
45						</div> 
46					</div> 
47				</div> 
48			</#if> 
49	 
50			<div class="<#if portletSetupCustomTitle?has_content || portletSetupCustomDescription?has_content>col-12 col-lg-9 <#else> col-12 </#if>"> 
51	 
52				<div class="row row-mosaic gx-5 gy-5"> 
53				 
54					<#if validator.isNotNull(navItems[0])>					 
55						<#assign navItem1= navItems[0]!/> 
56						<#if validator.isNotNull(navItem1.getLayout()) && validator.isNotNull(navItem1.getLayout())> 
57							<#assign layout = navItem1.getLayout()! /> 
58							<#assign layoutName = layout.getName(locale) /> 
59							<#assign layoutTitle = layoutTool.getTitle(layout, locale)! /> 
60							<#assign layoutDescription = layoutTool.getDescription(layout, locale)! /> 
61							<#assign layoutImageUuid = layoutTool.getLayoutSetting(layout, "image")! /> 
62							<#assign layoutImage = dlTool.getThumbnailByUuid(layoutImageUuid, themeDisplay.getScopeGroupId(), "3", pathBannerDefault)! /> 
63							<div class="col-xl-6 col-md-4 col-sm-6 col-6 col-mosaic"> 
64								<a class="card card-background card-background-title-middle" href="${navItem1.getURL()}" title="${languageUtil.format(request, 'go-to-x', layoutName)}"> 
65									<span class="d-block image-wrapper aspect-ratio-bg-cover" style="background-image: url('${layoutImage}');"> 
66										<img class="hide-accessible" src="${layoutImage}" alt="${languageUtil.get(request,'image')} ${layoutName}"/>								 
67										<span class="card-body"> 
68											<span class="card-title" >${navItem1.getName()}</span> 
69										</span> 
70									</span> 
71								</a> 
72							</div> 
73						</#if> 
74					</#if> 
75					 
76					<#if navItems[1]?has_content>					 
77						<#assign navItem2 = navItems[1]!/> 
78						<#if validator.isNotNull(navItem2.getLayout()) && validator.isNotNull(navItem2.getLayout())> 
79							<#assign layout = navItem2.getLayout()! /> 
80							<#assign layoutName = layout.getName(locale) /> 
81							<#assign layoutTitle = layoutTool.getTitle(layout, locale)! /> 
82							<#assign layoutDescription = layoutTool.getDescription(layout, locale)! /> 
83							<#assign layoutImageUuid = layoutTool.getLayoutSetting(layout, "image")! /> 
84							<#assign layoutImage = dlTool.getThumbnailByUuid(layoutImageUuid, themeDisplay.getScopeGroupId(), "3", pathBannerDefault)! /> 
85							<div class="col-xl-6 col-md-4 col-sm-6 col-6 col-mosaic"> 
86								<a class="card card-background card-background-title-middle" href="${navItem2.getURL()}" title="${languageUtil.format(request, 'go-to-x', layoutName)}"> 
87									<span class="d-block image-wrapper aspect-ratio-bg-cover" style="background-image: url('${layoutImage}');"> 
88										<img class="hide-accessible" src="${layoutImage}" alt="${languageUtil.get(request,'image')} ${layoutName}"/>								 
89										<span class="card-body"> 
90											<span class="card-title" >${navItem2.getName()}</span> 
91										</span> 
92									</span> 
93								</a> 
94							</div> 
95						</#if> 
96					</#if> 
97					 
98					<#if navItems[2]?has_content>					 
99						<#assign navItem3 = navItems[2]!/> 
100						<#if validator.isNotNull(navItem3.getLayout()) && validator.isNotNull(navItem3.getLayout())> 
101							<#assign layout = navItem3.getLayout()! /> 
102							<#assign layoutName = layout.getName(locale) /> 
103							<#assign layoutTitle = layoutTool.getTitle(layout, locale)! /> 
104							<#assign layoutDescription = layoutTool.getDescription(layout, locale)! /> 
105							<#assign layoutImageUuid = layoutTool.getLayoutSetting(layout, "image")! /> 
106							<#assign layoutImage = dlTool.getThumbnailByUuid(layoutImageUuid, themeDisplay.getScopeGroupId(), "3", pathBannerDefault)! /> 
107							<div class="col-xl-3 col-md-4 col-sm-6 col-6 col-mosaic"> 
108								<a class="card card-background card-background-title-middle" href="${navItem3.getURL()}" title="${languageUtil.format(request, 'go-to-x', layoutName)}"> 
109									<span class="d-block image-wrapper aspect-ratio-bg-cover" style="background-image: url('${layoutImage}');"> 
110										<img class="hide-accessible" src="${layoutImage}" alt="${languageUtil.get(request,'image')} ${layoutName}"/>								 
111										<span class="card-body"> 
112											<span class="card-title" >${navItem3.getName()}</span> 
113										</span> 
114									</span> 
115								</a> 
116							</div> 
117						</#if> 
118					</#if> 
119 
120 
121					<#if navItems[3]?has_content> 
122						<#assign navItem4 = navItems[3]!/> 
123						<#if validator.isNotNull(navItem4.getLayout()) && validator.isNotNull(navItem4.getLayout())> 
124							<#assign layout = navItem4.getLayout()! /> 
125							<#assign layoutName = layout.getName(locale) /> 
126							<#assign layoutTitle = layoutTool.getTitle(layout, locale)! /> 
127							<#assign layoutDescription = layoutTool.getDescription(layout, locale)! /> 
128							<#assign layoutImageUuid = layoutTool.getLayoutSetting(layout, "image")! /> 
129							<#assign layoutImage = dlTool.getThumbnailByUuid(layoutImageUuid, themeDisplay.getScopeGroupId(), "3", pathBannerDefault)! /> 
130							<div class="col-xl-3 col-md-4 col-sm-6 col-6 col-mosaic"> 
131								<a class="card card-background card-background-title-middle" href="${navItem4.getURL()}" title="${languageUtil.format(request, 'go-to-x', layoutName)}"> 
132									<span class="d-block image-wrapper aspect-ratio-bg-cover" style="background-image: url('${layoutImage}');"> 
133										<img class="hide-accessible" src="${layoutImage}" alt="${languageUtil.get(request,'image')} ${layoutName}"/>								 
134										<span class="card-body"> 
135											<span class="card-title" >${navItem4.getName()}</span> 
136										</span> 
137									</span> 
138								</a> 
139							</div> 
140						</#if> 
141					</#if> 
142							 
143					<#if navItems[4]?has_content> 
144						<#assign navItem5 = navItems[4]!/> 
145						<#if validator.isNotNull(navItem5.getLayout()) && validator.isNotNull(navItem5.getLayout())> 
146							<#assign layout = navItem5.getLayout()! /> 
147							<#assign layoutName = layout.getName(locale) /> 
148							<#assign layoutTitle = layoutTool.getTitle(layout, locale)! /> 
149							<#assign layoutDescription = layoutTool.getDescription(layout, locale)! /> 
150							<#assign layoutImageUuid = layoutTool.getLayoutSetting(layout, "image")! /> 
151							<#assign layoutImage = dlTool.getThumbnailByUuid(layoutImageUuid, themeDisplay.getScopeGroupId(), "3", pathBannerDefault)! /> 
152							<div class="col-xl-3 col-md-4 col-sm-6 col-6 col-mosaic"> 
153								<a class="card card-background card-background-title-middle" href="${navItem5.getURL()}" title="${languageUtil.format(request, 'go-to-x', layoutName)}"> 
154									<span class="d-block image-wrapper aspect-ratio-bg-cover" style="background-image: url('${layoutImage}');"> 
155										<img class="hide-accessible" src="${layoutImage}" alt="${languageUtil.get(request,'image')} ${layoutName}"/>								 
156										<span class="card-body"> 
157											<span class="card-title" >${navItem5.getName()}</span> 
158										</span> 
159									</span> 
160								</a> 
161							</div> 
162						</#if> 
163					</#if> 
164						 
165					<#if navItems[5]?has_content> 
166						<#assign navItem6 = navItems[5]!/> 
167						<#if validator.isNotNull(navItem6.getLayout()) && validator.isNotNull(navItem6.getLayout())> 
168							<#assign layout = navItem6.getLayout()! /> 
169							<#assign layoutName = layout.getName(locale) /> 
170							<#assign layoutTitle = layoutTool.getTitle(layout, locale)! /> 
171							<#assign layoutDescription = layoutTool.getDescription(layout, locale)! /> 
172							<#assign layoutImageUuid = layoutTool.getLayoutSetting(layout, "image")! /> 
173							<#assign layoutImage = dlTool.getThumbnailByUuid(layoutImageUuid, themeDisplay.getScopeGroupId(), "3", pathBannerDefault)! /> 
174							<div class="col-xl-3 col-md-4 col-sm-6 col-6 col-mosaic"> 
175								<a class="card card-background card-background-title-middle" href="${navItem6.getURL()}" title="${languageUtil.format(request, 'go-to-x', layoutName)}"> 
176									<span class="d-block image-wrapper aspect-ratio-bg-cover" style="background-image: url('${layoutImage}');"> 
177										<img class="hide-accessible" src="${layoutImage}" alt="${languageUtil.get(request,'image')} ${layoutName}"/>								 
178										<span class="card-body"> 
179											<span class="card-title" >${navItem6.getName()}</span> 
180										</span> 
181									</span> 
182								</a> 
183							</div> 
184						</#if> 
185					</#if> 
186				</div> 
187			</div> 
188		</div> 
189	</nav> 
190</#if> 

Getting to know the cities of Asturias

Plan the perfect getaway to one of the cities either on your own, or by joining guided tours and routes and enjoying its varied leisure agenda.