Plans multiply in Asturias, and leisure is highly enjoyable and diverse, providing you with unique sensations and moments that you can only experience in the Natural Paradise

Asturias is a land suitable for all kinds of tourist plans. An authentic paradise where you can fully enjoy whether you choose a solo trip, go with friends, with your family, or with your partner. An ideal destination for both the young and the adults. A pet-friendly destination to live unique experiences with your pets.

In summary, a place where hospitality, warmth, and quality can be felt in every corner, and where plans are highly diverse and cater to different preferences: routes, culture, gastronomy, or adventure tourism, among many others that come to mind as you let your imagination soar.

 

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