From 7690270766d2799004900fb2bcd77af227d8e336 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Pau=20Ferrer=20Oca=C3=B1a?= <crazyserver@gmail.com>
Date: Wed, 9 Feb 2022 22:29:21 +0100
Subject: [PATCH] MOBILE-3814 styles: Ion item without lines by default

---
 .../events/addon-block-timeline-events.html   |  6 ++---
 .../reminder-time-modal.html                  |  2 +-
 .../calendar/pages/edit-event/edit-event.html |  6 ++---
 src/addons/competency/pages/plan/plan.html    | 10 +++----
 .../addon-mod-assign-submission-file.html     |  2 +-
 .../component/addon-mod-data-field-file.html  |  2 +-
 .../mod/forum/components/index/index.html     |  2 +-
 .../mod/forum/components/post/post.html       |  6 ++---
 .../mod/glossary/pages/entry/entry.html       |  2 +-
 .../attempt-results/attempt-results.html      | 12 ++++-----
 .../index/addon-mod-lesson-index.html         |  2 +-
 .../mod/lesson/pages/player/player.html       | 26 +++++++++----------
 .../lesson/pages/user-retake/user-retake.html | 20 +++++++-------
 .../mod/quiz/pages/attempt/attempt.html       |  2 +-
 src/addons/mod/quiz/pages/review/review.html  |  2 +-
 ...ddon-mod-workshop-assessment-strategy.html |  2 +-
 src/addons/notifications/pages/list/list.html |  2 +-
 .../pages/notification/notification.html      |  2 +-
 .../pages/settings/settings.html              |  6 ++---
 .../pages/course-storage/course-storage.html  |  2 +-
 .../courses-storage/courses-storage.html      |  2 +-
 src/core/components/timer/core-timer.html     |  2 +-
 .../components/format/core-course-format.html |  2 +-
 .../module-info/core-course-module-info.html  |  6 ++---
 .../components/module/core-course-module.html |  6 ++---
 .../core-courses-course-list-item.html        |  4 +--
 .../core-courses-course-progress.html         |  6 ++---
 src/core/features/courses/pages/my/my.html    |  2 +-
 .../change-password/change-password.html      |  6 ++---
 .../login/pages/credentials/credentials.html  |  8 +++---
 .../pages/email-signup/email-signup.html      |  2 +-
 .../forgotten-password.html                   |  2 +-
 .../login/pages/reconnect/reconnect.html      |  4 +--
 src/core/features/login/pages/site/site.html  |  9 +++----
 .../components/user-menu/user-menu.html       |  4 +--
 .../features/settings/pages/about/about.html  |  3 +--
 .../settings/pages/general/general.html       |  2 +-
 .../features/sitehome/pages/index/index.html  |  8 +++---
 src/theme/theme.base.scss                     | 15 ++++++++++-
 39 files changed, 109 insertions(+), 100 deletions(-)

diff --git a/src/addons/block/timeline/components/events/addon-block-timeline-events.html b/src/addons/block/timeline/components/events/addon-block-timeline-events.html
index 7fffc2bd2..9f6f7b0e2 100644
--- a/src/addons/block/timeline/components/events/addon-block-timeline-events.html
+++ b/src/addons/block/timeline/components/events/addon-block-timeline-events.html
@@ -1,4 +1,4 @@
-<ion-item lines="none" *ngIf="course">
+<ion-item *ngIf="course">
     <ion-label class="ion-text-wrap">
         <h3>
             <span class="sr-only">{{ 'core.courses.aria:coursename' | translate }}</span>
@@ -7,7 +7,7 @@
     </ion-label>
 </ion-item>
 <ion-item-group *ngFor="let dayEvents of filteredEvents">
-    <ion-item lines="none">
+    <ion-item>
         <ion-label>
             <h4 [class.core-bold]="!course">{{ dayEvents.dayTimestamp * 1000 | coreFormatDate:"strftimedaydate" }}</h4>
         </ion-label>
@@ -73,7 +73,7 @@
     <ion-spinner *ngIf="loadingMore" [attr.aria-label]="'core.loading' | translate"></ion-spinner>
 </div>
 
-<ion-item lines="none" *ngIf="empty && course">
+<ion-item *ngIf="empty && course">
     <ion-label class="ion-text-wrap">
         <p>{{'addon.block_timeline.noevents' | translate}}</p>
     </ion-label>
diff --git a/src/addons/calendar/components/reminder-time-modal/reminder-time-modal.html b/src/addons/calendar/components/reminder-time-modal/reminder-time-modal.html
index cdf45cb20..3002fc5fe 100644
--- a/src/addons/calendar/components/reminder-time-modal/reminder-time-modal.html
+++ b/src/addons/calendar/components/reminder-time-modal/reminder-time-modal.html
@@ -27,7 +27,7 @@
         </ion-item>
 
         <!-- Custom value. -->
-        <ion-item lines="none" class="ion-text-wrap">
+        <ion-item class="ion-text-wrap">
             <ion-label>
                 <p>{{ 'core.custom' | translate }}</p>
             </ion-label>
diff --git a/src/addons/calendar/pages/edit-event/edit-event.html b/src/addons/calendar/pages/edit-event/edit-event.html
index 4b536a12d..5e111568f 100644
--- a/src/addons/calendar/pages/edit-event/edit-event.html
+++ b/src/addons/calendar/pages/edit-event/edit-event.html
@@ -147,7 +147,7 @@
                         </ion-label>
                         <ion-radio slot="end" [value]="0"></ion-radio>
                     </ion-item>
-                    <ion-item lines="none">
+                    <ion-item>
                         <ion-label>
                             <p>{{ 'addon.calendar.durationuntil' | translate }}</p>
                         </ion-label>
@@ -159,7 +159,7 @@
                             [placeholder]="'addon.calendar.durationuntil' | translate" [displayFormat]="dateFormat" display-timezone="utc">
                         </ion-datetime>
                     </ion-item>
-                    <ion-item lines="none">
+                    <ion-item>
                         <ion-label>
                             <p>{{ 'addon.calendar.durationminutes' | translate }}</p>
                         </ion-label>
@@ -175,7 +175,7 @@
 
             <!-- Repeat (for new events). -->
             <ng-container *ngIf="!eventId || eventId < 0">
-                <ion-item class="ion-text-wrap divider" lines="none">
+                <ion-item class="ion-text-wrap divider">
                     <ion-label>
                         <p class="item-heading">{{ 'addon.calendar.repeatevent' | translate }}</p>
                     </ion-label>
diff --git a/src/addons/competency/pages/plan/plan.html b/src/addons/competency/pages/plan/plan.html
index 4c55d843d..0f84cbb7f 100644
--- a/src/addons/competency/pages/plan/plan.html
+++ b/src/addons/competency/pages/plan/plan.html
@@ -23,7 +23,7 @@
         </ion-card>
         <ion-card *ngIf="plan">
             <ion-list>
-                <ion-item class="ion-text-wrap" *ngIf="plan.plan.description" lines="none">
+                <ion-item class="ion-text-wrap" *ngIf="plan.plan.description">
                     <ion-label>
                         <p>
                             <core-format-text [text]="plan.plan.description" contextLevel="user" [contextInstanceId]="plan.plan.userid">
@@ -31,25 +31,25 @@
                         </p>
                     </ion-label>
                 </ion-item>
-                <ion-item class="ion-text-wrap" lines="none">
+                <ion-item class="ion-text-wrap">
                     <ion-label>
                         <p class="item-heading">{{ 'addon.competency.status' | translate }}</p>
                         <p>{{ plan.plan.statusname }}</p>
                     </ion-label>
                 </ion-item>
-                <ion-item class="ion-text-wrap" *ngIf="plan.plan.duedate > 0" lines="none">
+                <ion-item class="ion-text-wrap" *ngIf="plan.plan.duedate > 0">
                     <ion-label>
                         <p class="item-heading">{{ 'addon.competency.duedate' | translate }}</p>
                         <p>{{ plan.plan.duedate * 1000 | coreFormatDate }}</p>
                     </ion-label>
                 </ion-item>
-                <ion-item class="ion-text-wrap" *ngIf="plan.plan.template" lines="none">
+                <ion-item class="ion-text-wrap" *ngIf="plan.plan.template">
                     <ion-label>
                         <p class="item-heading">{{ 'addon.competency.template' | translate }}</p>
                         <p>{{ plan.plan.template.shortname }}</p>
                     </ion-label>
                 </ion-item>
-                <ion-item class="ion-text-wrap" lines="none">
+                <ion-item class="ion-text-wrap">
                     <ion-label id="addon-competency-plan-{{plan.plan.id}}-progress">
                         <p class="item-heading">{{ 'addon.competency.progress' | translate }}</p>
                         <p>
diff --git a/src/addons/mod/assign/submission/file/component/addon-mod-assign-submission-file.html b/src/addons/mod/assign/submission/file/component/addon-mod-assign-submission-file.html
index 65b01b48e..316e4df80 100644
--- a/src/addons/mod/assign/submission/file/component/addon-mod-assign-submission-file.html
+++ b/src/addons/mod/assign/submission/file/component/addon-mod-assign-submission-file.html
@@ -2,7 +2,7 @@
 <ion-item class="ion-text-wrap" *ngIf="files && files.length && !edit">
     <ion-label>
         <h2>{{ plugin.name }}</h2>
-        <div lines="none">
+        <div>
             <core-files [files]="files" [component]="component" [componentId]="assign.cmid" [alwaysDownload]="true"></core-files>
         </div>
     </ion-label>
diff --git a/src/addons/mod/data/fields/file/component/addon-mod-data-field-file.html b/src/addons/mod/data/fields/file/component/addon-mod-data-field-file.html
index 09e90442f..c66729d2b 100644
--- a/src/addons/mod/data/fields/file/component/addon-mod-data-field-file.html
+++ b/src/addons/mod/data/fields/file/component/addon-mod-data-field-file.html
@@ -11,7 +11,7 @@
 </span>
 
 <ng-container *ngIf="displayMode">
-    <div lines="none">
+    <div>
         <core-files [files]="files" [component]="component" [componentId]="componentId" [alwaysDownload]="true"></core-files>
     </div>
 </ng-container>
diff --git a/src/addons/mod/forum/components/index/index.html b/src/addons/mod/forum/components/index/index.html
index eebda708e..11a307a79 100644
--- a/src/addons/mod/forum/components/index/index.html
+++ b/src/addons/mod/forum/components/index/index.html
@@ -40,7 +40,7 @@
         <!-- Activity info. -->
         <core-course-module-info [module]="module" [description]="forum && forum.type != 'single' && description" [component]="component"
             [componentId]="componentId" [courseId]="courseId" [hasDataToSync]="hasOffline || hasOfflineRatings">
-            <ion-item lines="none" class="ion-text-wrap">
+            <ion-item class="ion-text-wrap">
                 <ion-label>
                     {{descriptionNote}}
                 </ion-label>
diff --git a/src/addons/mod/forum/components/post/post.html b/src/addons/mod/forum/components/post/post.html
index c23057906..a077ebe88 100644
--- a/src/addons/mod/forum/components/post/post.html
+++ b/src/addons/mod/forum/components/post/post.html
@@ -1,7 +1,7 @@
 <div class="addon-mod_forum-post">
     <ng-container *ngIf="!formData.isEditing || !showForm">
         <ion-card-header class="ion-text-wrap ion-no-padding" id="addon-mod_forum-post-{{post.id}}">
-            <ion-item class="ion-text-wrap" [class.highlight]="highlight" lines="none">
+            <ion-item class="ion-text-wrap" [class.highlight]="highlight">
                 <ion-label>
                     <div class="addon-mod-forum-post-title" *ngIf="displaySubject">
                         <h2 class="ion-text-wrap">
@@ -63,13 +63,13 @@
             <core-format-text [component]="component" [componentId]="componentId" [text]="post.message" contextLevel="module"
                 [contextInstanceId]="forum && forum.cmid" [courseId]="courseId">
             </core-format-text>
-            <div lines="none" *ngIf="post.attachments && post.attachments.length > 0">
+            <div *ngIf="post.attachments && post.attachments.length > 0">
                 <core-files [files]="post.attachments" [component]="component" [componentId]="componentId" showInline="true">
                 </core-files>
             </div>
         </ion-card-content>
         <div class="addon-mod-forum-post-more-info">
-            <ion-item class="ion-text-wrap" *ngIf="tagsEnabled && post.tags && post.tags.length > 0" lines="none">
+            <ion-item class="ion-text-wrap" *ngIf="tagsEnabled && post.tags && post.tags.length > 0">
                 <div slot="start">{{ 'core.tag.tags' | translate }}:</div>
                 <ion-label>
                     <core-tag-list [tags]="post.tags"></core-tag-list>
diff --git a/src/addons/mod/glossary/pages/entry/entry.html b/src/addons/mod/glossary/pages/entry/entry.html
index ebe54a345..c68402e12 100644
--- a/src/addons/mod/glossary/pages/entry/entry.html
+++ b/src/addons/mod/glossary/pages/entry/entry.html
@@ -46,7 +46,7 @@
                     </core-format-text>
                 </ion-label>
             </ion-item>
-            <div *ngIf="entry.attachment" lines="none">
+            <div *ngIf="entry.attachment">
                 <core-file *ngFor="let file of entry.attachments" [file]="file" [component]="component" [componentId]="componentId">
                 </core-file>
             </div>
diff --git a/src/addons/mod/h5pactivity/pages/attempt-results/attempt-results.html b/src/addons/mod/h5pactivity/pages/attempt-results/attempt-results.html
index d4022f31c..00a903743 100644
--- a/src/addons/mod/h5pactivity/pages/attempt-results/attempt-results.html
+++ b/src/addons/mod/h5pactivity/pages/attempt-results/attempt-results.html
@@ -36,13 +36,13 @@
             <!-- Attempt summary. -->
             <ion-card class="addon-mod_h5pactivity-attempt-result-summary">
                 <ion-list>
-                    <ion-item class="ion-text-wrap" lines="none">
+                    <ion-item class="ion-text-wrap">
                         <ion-label>
                             <h2>{{ 'addon.mod_h5pactivity.startdate' | translate }}</h2>
                             <p>{{ attempt.timecreated | coreFormatDate:'strftimedatetime' }}</p>
                         </ion-label>
                     </ion-item>
-                    <ion-item class="ion-text-wrap" lines="none">
+                    <ion-item class="ion-text-wrap">
                         <ion-label>
                             <h2>{{ 'addon.mod_h5pactivity.completion' | translate }}</h2>
                             <p *ngIf="attempt.completion">
@@ -55,13 +55,13 @@
                             </p>
                         </ion-label>
                     </ion-item>
-                    <ion-item class="ion-text-wrap" lines="none">
+                    <ion-item class="ion-text-wrap">
                         <ion-label>
                             <h2>{{ 'addon.mod_h5pactivity.duration' | translate }}</h2>
                             <p>{{ attempt.durationReadable }}</p>
                         </ion-label>
                     </ion-item>
-                    <ion-item class="ion-text-wrap" lines="none">
+                    <ion-item class="ion-text-wrap">
                         <ion-label>
                             <h2>{{ 'addon.mod_h5pactivity.outcome' | translate }}</h2>
                             <p *ngIf="attempt.success !== null && attempt.success">
@@ -77,7 +77,7 @@
                             </p>
                         </ion-label>
                     </ion-item>
-                    <ion-item *ngIf="attempt.maxscore" class="ion-text-wrap" lines="none">
+                    <ion-item *ngIf="attempt.maxscore" class="ion-text-wrap">
                         <ion-label>
                             <h2>{{ 'addon.mod_h5pactivity.totalscore' | translate }}</h2>
                             <p>{{ 'addon.mod_h5pactivity.score_out_of' | translate:{$a: attempt} }}</p>
@@ -151,7 +151,7 @@
                     </ng-container>
 
                     <!-- Result doesn't support tracking. -->
-                    <ion-item class="ion-text-wrap core-warning-item" *ngIf="!result.track" lines="none">
+                    <ion-item class="ion-text-wrap core-warning-item" *ngIf="!result.track">
                         <ion-icon slot="start" name="fas-exclamation-triangle" color="warning" aria-hidden="true"></ion-icon>
                         <ion-label>
                             {{ 'addon.mod_h5pactivity.no_compatible_track' | translate:{$a: result.interactiontype} }}
diff --git a/src/addons/mod/lesson/components/index/addon-mod-lesson-index.html b/src/addons/mod/lesson/components/index/addon-mod-lesson-index.html
index 0f1de12a2..1dd4b2270 100644
--- a/src/addons/mod/lesson/components/index/addon-mod-lesson-index.html
+++ b/src/addons/mod/lesson/components/index/addon-mod-lesson-index.html
@@ -69,7 +69,7 @@
                     <ion-list *ngIf="(lesson && !preventReasons.length) || retakeToReview">
                         <ng-container *ngIf="retakeToReview">
                             <!-- A retake was finished in a synchronization, allow reviewing it. -->
-                            <ion-item class="ion-text-wrap" lines="none">
+                            <ion-item class="ion-text-wrap">
                                 <ion-label class="ion-padding-bottom">
                                     {{ 'addon.mod_lesson.retakefinishedinsync' | translate }}
                                 </ion-label>
diff --git a/src/addons/mod/lesson/pages/player/player.html b/src/addons/mod/lesson/pages/player/player.html
index 0a55d7838..69e51bc97 100644
--- a/src/addons/mod/lesson/pages/player/player.html
+++ b/src/addons/mod/lesson/pages/player/player.html
@@ -198,34 +198,34 @@
                 <ion-card-header class="ion-text-wrap" *ngIf="eolData.gradelesson">
                     <ion-card-title>{{ 'addon.mod_lesson.congratulations' | translate }}</ion-card-title>
                 </ion-card-header>
-                <ion-item class="ion-text-wrap" *ngIf="eolData.notenoughtimespent" lines="none">
+                <ion-item class="ion-text-wrap" *ngIf="eolData.notenoughtimespent">
                     <ion-label>{{ eolData.notenoughtimespent.message }}</ion-label>
                 </ion-item>
-                <ion-item class="ion-text-wrap" *ngIf="eolData.numberofpagesviewed" lines="none">
+                <ion-item class="ion-text-wrap" *ngIf="eolData.numberofpagesviewed">
                     <ion-label>{{ eolData.numberofpagesviewed.message }}</ion-label>
                 </ion-item>
-                <ion-item class="ion-text-wrap" *ngIf="eolData.youshouldview" lines="none">
+                <ion-item class="ion-text-wrap" *ngIf="eolData.youshouldview">
                     <ion-label>{{ eolData.youshouldview.message }}</ion-label>
                 </ion-item>
-                <ion-item class="ion-text-wrap" *ngIf="eolData.numberofcorrectanswers" lines="none">
+                <ion-item class="ion-text-wrap" *ngIf="eolData.numberofcorrectanswers">
                     <ion-label>{{ eolData.numberofcorrectanswers.message }}</ion-label>
                 </ion-item>
-                <ion-item class="ion-text-wrap" *ngIf="eolData.displayscorewithessays" lines="none">
+                <ion-item class="ion-text-wrap" *ngIf="eolData.displayscorewithessays">
                     <ion-label [innerHTML]="eolData.displayscorewithessays.message"></ion-label>
                 </ion-item>
-                <ion-item class="ion-text-wrap" *ngIf="!eolData.displayscorewithessays && eolData.displayscorewithoutessays" lines="none">
+                <ion-item class="ion-text-wrap" *ngIf="!eolData.displayscorewithessays && eolData.displayscorewithoutessays">
                     <ion-label>{{ eolData.displayscorewithoutessays.message }}</ion-label>
                 </ion-item>
-                <ion-item class="ion-text-wrap" *ngIf="eolData.yourcurrentgradeisoutof" lines="none">
+                <ion-item class="ion-text-wrap" *ngIf="eolData.yourcurrentgradeisoutof">
                     <ion-label>{{ eolData.yourcurrentgradeisoutof.message }}</ion-label>
                 </ion-item>
-                <ion-item class="ion-text-wrap" *ngIf="eolData.eolstudentoutoftimenoanswers" lines="none">
+                <ion-item class="ion-text-wrap" *ngIf="eolData.eolstudentoutoftimenoanswers">
                     <ion-label>{{ eolData.eolstudentoutoftimenoanswers.message }}</ion-label>
                 </ion-item>
-                <ion-item class="ion-text-wrap" *ngIf="eolData.welldone" lines="none">
+                <ion-item class="ion-text-wrap" *ngIf="eolData.welldone">
                     <ion-label>{{ eolData.welldone.message }}</ion-label>
                 </ion-item>
-                <ion-item class="ion-text-wrap" *ngIf="lesson.progressbar && eolData.progresscompleted" lines="none">
+                <ion-item class="ion-text-wrap" *ngIf="lesson.progressbar && eolData.progresscompleted">
                     <ion-label>
                         <span id="addon-mod_lesson-{{cmId}}-progress-end">
                             {{ 'addon.mod_lesson.progresscompleted' | translate:{$a: eolData.progresscompleted.value} }}
@@ -235,14 +235,14 @@
                         </core-progress-bar>
                     </ion-label>
                 </ion-item>
-                <ion-item class="ion-text-wrap" *ngIf="eolData.displayofgrade" lines="none">
+                <ion-item class="ion-text-wrap" *ngIf="eolData.displayofgrade">
                     <ion-label>{{ eolData.displayofgrade.message }}</ion-label>
                 </ion-item>
                 <ion-button *ngIf="eolData.reviewlesson" expand="block" class="ion-text-wrap ion-margin button-no-uppercase"
                     (click)="reviewLesson(reviewPageId!)">
                     {{ 'addon.mod_lesson.reviewlesson' | translate }}
                 </ion-button>
-                <ion-item class="ion-text-wrap" *ngIf="eolData.modattemptsnoteacher" lines="none">
+                <ion-item class="ion-text-wrap" *ngIf="eolData.modattemptsnoteacher">
                     <ion-label>{{ eolData.modattemptsnoteacher.message }}</ion-label>
                 </ion-item>
                 <!-- If activity link was successfully formatted, render the button. -->
@@ -252,7 +252,7 @@
                         [courseId]="courseId">
                     </core-format-text>
                 </ion-button>
-                <ion-item class="ion-text-wrap" *ngIf="activityLink && !activityLink.formatted" lines="none">
+                <ion-item class="ion-text-wrap" *ngIf="activityLink && !activityLink.formatted">
                     <!-- Activity link wasn't formatted, render the original link. -->
                     <ion-label>
                         <core-format-text [text]="activityLink.label" contextLevel="module" [contextInstanceId]="lesson?.coursemodule"
diff --git a/src/addons/mod/lesson/pages/user-retake/user-retake.html b/src/addons/mod/lesson/pages/user-retake/user-retake.html
index 9d0c40651..5c4a27e7a 100644
--- a/src/addons/mod/lesson/pages/user-retake/user-retake.html
+++ b/src/addons/mod/lesson/pages/user-retake/user-retake.html
@@ -83,7 +83,7 @@
                     <ion-card-header class="ion-text-wrap">
                         <ion-card-title>{{page.qtype}}: {{page.title}}</ion-card-title>
                     </ion-card-header>
-                    <ion-item class="ion-text-wrap" lines="none">
+                    <ion-item class="ion-text-wrap">
                         <ion-label>
                             <h3 class="item-heading">{{ 'addon.mod_lesson.question' | translate }}</h3>
                             <p>
@@ -94,13 +94,12 @@
                             </p>
                         </ion-label>
                     </ion-item>
-                    <ion-item class="ion-text-wrap" lines="none">
+                    <ion-item class="ion-text-wrap">
                         <ion-label>
                             <h3 class="item-heading">{{ 'addon.mod_lesson.answer' | translate }}</h3>
                         </ion-label>
                     </ion-item>
-                    <ion-item class="ion-text-wrap" lines="none"
-                        *ngIf="!page.answerdata || !page.answerdata.answers || !page.answerdata.answers.length">
+                    <ion-item class="ion-text-wrap" *ngIf="!page.answerdata || !page.answerdata.answers || !page.answerdata.answers.length">
                         <ion-label>
                             <p>{{ 'addon.mod_lesson.didnotanswerquestion' | translate }}</p>
                         </ion-label>
@@ -108,7 +107,7 @@
                     <div *ngIf="page.answerdata && page.answerdata.answers && page.answerdata.answers.length"
                         class="addon-mod_lesson-answer">
                         <ng-container *ngFor="let answer of page.answerdata.answers">
-                            <ion-item lines="none" *ngIf="page.isContent">
+                            <ion-item *ngIf="page.isContent">
                                 <ion-label class="ion-text-wrap">
                                     <ion-grid class="ion-no-padding">
                                         <!-- Content page, display a button and the content. -->
@@ -151,7 +150,7 @@
                                 </ion-item>
 
                                 <!-- Short answer or numeric. -->
-                                <ion-item class="ion-text-wrap" *ngIf="answer[0].isText" lines="none">
+                                <ion-item class="ion-text-wrap" *ngIf="answer[0].isText">
                                     <ion-label>
                                         <p>{{ answer[0].value }}</p>
                                         <ion-badge *ngIf="answer[1]" color="dark">
@@ -164,7 +163,7 @@
                                 </ion-item>
 
                                 <!-- Matching. -->
-                                <ion-item lines="none" *ngIf="answer[0].isSelect">
+                                <ion-item *ngIf="answer[0].isSelect">
                                     <ion-label class="ion-text-wrap">
                                         <ion-grid class="ion-no-padding">
                                             <ion-row>
@@ -191,8 +190,7 @@
                                 </ion-item>
 
                                 <!-- Essay or couldn't determine. -->
-                                <ion-item class="ion-text-wrap" lines="none"
-                                    *ngIf="!answer[0].isCheckbox && !answer[0].isText && !answer[0].isSelect">
+                                <ion-item class="ion-text-wrap" *ngIf="!answer[0].isCheckbox && !answer[0].isText && !answer[0].isSelect">
                                     <ion-label>
                                         <p>
                                             <core-format-text [component]="component" [componentId]="lesson?.coursemodule"
@@ -210,7 +208,7 @@
                                 </ion-item>
                             </ng-container>
 
-                            <ion-item class="ion-text-wrap" *ngIf="!page.isContent && !page.isQuestion" lines="none">
+                            <ion-item class="ion-text-wrap" *ngIf="!page.isContent && !page.isQuestion">
                                 <!-- Another page (end of branch, ...). -->
                                 <ion-label>
                                     <p>
@@ -227,7 +225,7 @@
                             </ion-item>
                         </ng-container>
 
-                        <ion-item class="ion-text-wrap" *ngIf="page.answerdata.response" lines="none">
+                        <ion-item class="ion-text-wrap" *ngIf="page.answerdata.response">
                             <ion-label>
                                 <h3 class="item-heading">{{ 'addon.mod_lesson.response' | translate }}</h3>
                                 <p>
diff --git a/src/addons/mod/quiz/pages/attempt/attempt.html b/src/addons/mod/quiz/pages/attempt/attempt.html
index adf13e110..9454e17a9 100644
--- a/src/addons/mod/quiz/pages/attempt/attempt.html
+++ b/src/addons/mod/quiz/pages/attempt/attempt.html
@@ -17,7 +17,7 @@
         <ion-refresher-content pullingText="{{ 'core.pulltorefresh' | translate }}"></ion-refresher-content>
     </ion-refresher>
     <core-loading [hideUntil]="loaded">
-        <ion-list *ngIf="attempt" lines="none">
+        <ion-list *ngIf="attempt">
             <ion-item class="ion-text-wrap">
                 <ion-label>
                     <h2>{{ 'addon.mod_quiz.attemptnumber' | translate }}</h2>
diff --git a/src/addons/mod/quiz/pages/review/review.html b/src/addons/mod/quiz/pages/review/review.html
index be30538f5..a83b93d8d 100644
--- a/src/addons/mod/quiz/pages/review/review.html
+++ b/src/addons/mod/quiz/pages/review/review.html
@@ -31,7 +31,7 @@
                     </ng-container>
                 </ion-card-title>
             </ion-card-header>
-            <ion-list lines="none">
+            <ion-list>
                 <ion-item class="ion-text-wrap">
                     <ion-label>
                         <h2>{{ 'addon.mod_quiz.startedon' | translate }}</h2>
diff --git a/src/addons/mod/workshop/components/assessment-strategy/addon-mod-workshop-assessment-strategy.html b/src/addons/mod/workshop/components/assessment-strategy/addon-mod-workshop-assessment-strategy.html
index d3bc0cf0b..1f3111ee3 100644
--- a/src/addons/mod/workshop/components/assessment-strategy/addon-mod-workshop-assessment-strategy.html
+++ b/src/addons/mod/workshop/components/assessment-strategy/addon-mod-workshop-assessment-strategy.html
@@ -57,7 +57,7 @@
                     </core-format-text>
                 </ion-label>
             </ion-item>
-            <ion-item *ngIf="!edit && workshop.overallfeedbackfiles && data.assessment?.feedbackattachmentfiles?.length" lines="none">
+            <ion-item *ngIf="!edit && workshop.overallfeedbackfiles && data.assessment?.feedbackattachmentfiles?.length">
                 <ion-label>
                     <core-files [files]="data.assessment?.feedbackattachmentfiles" [component]="component" [componentId]="componentId">
                     </core-files>
diff --git a/src/addons/notifications/pages/list/list.html b/src/addons/notifications/pages/list/list.html
index 0a4462816..0acb02682 100644
--- a/src/addons/notifications/pages/list/list.html
+++ b/src/addons/notifications/pages/list/list.html
@@ -26,7 +26,7 @@
         </div>
 
         <ion-card *ngFor="let notification of notifications">
-            <ion-item class="ion-text-wrap" lines="none" [attr.aria-label]="
+            <ion-item class="ion-text-wrap" [attr.aria-label]="
                     notification.timeread
                     ? notification.subject
                     : 'addon.notifications.unreadnotification' | translate: {$a: notification.subject}">
diff --git a/src/addons/notifications/pages/notification/notification.html b/src/addons/notifications/pages/notification/notification.html
index 520e6dc3b..371835ddb 100644
--- a/src/addons/notifications/pages/notification/notification.html
+++ b/src/addons/notifications/pages/notification/notification.html
@@ -10,7 +10,7 @@
 </ion-header>
 <ion-content>
     <core-loading [hideUntil]="loaded">
-        <ion-item class="ion-text-wrap" lines="none" [attr.aria-label]="subject">
+        <ion-item class="ion-text-wrap" [attr.aria-label]="subject">
             <core-user-avatar *ngIf="userIdFrom > 0" slot="start" [userId]="userIdFrom" [profileUrl]="profileImageUrlFrom"
                 [fullname]="userFromFullName">
                 <img *ngIf="iconUrl && !modname" [src]="iconUrl" alt="" role="presentation" class="core-avatar-extra">
diff --git a/src/addons/notifications/pages/settings/settings.html b/src/addons/notifications/pages/settings/settings.html
index 6bd5e89d8..274953f0d 100644
--- a/src/addons/notifications/pages/settings/settings.html
+++ b/src/addons/notifications/pages/settings/settings.html
@@ -107,11 +107,11 @@
             </ion-item>
 
             <!-- Phone view -->
-            <ion-item class="ion-text-wrap ion-no-margin ion-hide-md-up" lines="none">
+            <ion-item class="ion-text-wrap ion-no-margin ion-hide-md-up">
                 <p class="item-heading">{{ notification.displayname }}</p>
             </ion-item>
             <!-- If notifications enabled, show toggles. If disabled, show "Disabled" instead of toggle. -->
-            <ion-item *ngFor="let state of ['loggedin', 'loggedoff']" class="ion-text-wrap ion-hide-md-up" lines="none">
+            <ion-item *ngFor="let state of ['loggedin', 'loggedoff']" class="ion-text-wrap ion-hide-md-up">
                 <ion-label class="ion-margin-horizontal">
                     <p>{{ 'core.settings.' + state | translate }}</p>
                 </ion-label>
@@ -148,7 +148,7 @@
         </ion-item-divider>
         <ng-container *ngFor="let notification of component.notifications">
             <!-- If notifications enabled, show toggles. If disabled, show "Disabled" instead of toggle. -->
-            <ion-item class="ion-text-wrap" lines="none">
+            <ion-item class="ion-text-wrap">
                 <ion-label>
                     <p>{{ notification.displayname }}</p>
                 </ion-label>
diff --git a/src/addons/storagemanager/pages/course-storage/course-storage.html b/src/addons/storagemanager/pages/course-storage/course-storage.html
index dab853fb1..07054abe7 100644
--- a/src/addons/storagemanager/pages/course-storage/course-storage.html
+++ b/src/addons/storagemanager/pages/course-storage/course-storage.html
@@ -14,7 +14,7 @@
             <ion-card-header>
                 <p class="ion-text-wrap ion-no-margin">{{ 'addon.storagemanager.courseinfo' | translate }}</p>
                 <ion-card-title>{{ title }}</ion-card-title>
-                <ion-item class="size ion-text-wrap ion-no-padding" lines="none">
+                <ion-item class="size ion-text-wrap ion-no-padding">
                     <ion-label>
                         <p class="item-heading ion-text-wrap">{{ 'addon.storagemanager.totaldownloads' | translate }}</p>
                         <ion-badge color="light">{{ totalSize | coreBytesToSize }}</ion-badge>
diff --git a/src/addons/storagemanager/pages/courses-storage/courses-storage.html b/src/addons/storagemanager/pages/courses-storage/courses-storage.html
index ffffbc9f3..9bf0f92a9 100644
--- a/src/addons/storagemanager/pages/courses-storage/courses-storage.html
+++ b/src/addons/storagemanager/pages/courses-storage/courses-storage.html
@@ -26,7 +26,7 @@
                     <ion-icon name="fas-trash" slot="icon-only" aria-hidden="true"></ion-icon>
                 </ion-button>
             </ion-item>
-            <ion-item class="size ion-text-wrap" lines="none">
+            <ion-item class="size ion-text-wrap">
                 <ion-label>
                     <h2 class="ion-text-wrap">{{ 'addon.storagemanager.coursesspaceusage' | translate }}</h2>
                     <ion-badge color="light">{{ totalSize | coreBytesToSize }}</ion-badge>
diff --git a/src/core/components/timer/core-timer.html b/src/core/components/timer/core-timer.html
index 27ecb46df..388a53324 100644
--- a/src/core/components/timer/core-timer.html
+++ b/src/core/components/timer/core-timer.html
@@ -1,4 +1,4 @@
-<ion-item lines="none" class="core-timer" role="timer" [ngClass]="{'ion-text-center': align == 'center', 'ion-text-end': align == 'right'}">
+<ion-item class="core-timer" role="timer" [ngClass]="{'ion-text-center': align == 'center', 'ion-text-end': align == 'right'}">
     <ion-icon name="fas-clock" slot="start" aria-hidden="true"></ion-icon>
     <ion-label>
         <span *ngIf="timeLeft && timeLeft > 0 && timerText" class="core-timer-text">{{ timerText }}</span>
diff --git a/src/core/features/course/components/format/core-course-format.html b/src/core/features/course/components/format/core-course-format.html
index a3aab99bf..1c06ea6c0 100644
--- a/src/core/features/course/components/format/core-course-format.html
+++ b/src/core/features/course/components/format/core-course-format.html
@@ -96,7 +96,7 @@
             <ion-badge *ngIf="section.highlighted && highlighted" slot="end">{{highlighted}}</ion-badge>
         </ion-item-divider>
 
-        <ion-item class="ion-text-wrap" *ngIf="section.summary" lines="none">
+        <ion-item class="ion-text-wrap" *ngIf="section.summary">
             <ion-label>
                 <core-format-text [text]="section.summary" contextLevel="course" [contextInstanceId]="course.id">
                 </core-format-text>
diff --git a/src/core/features/course/components/module-info/core-course-module-info.html b/src/core/features/course/components/module-info/core-course-module-info.html
index 864dd98a5..8ea74f89a 100644
--- a/src/core/features/course/components/module-info/core-course-module-info.html
+++ b/src/core/features/course/components/module-info/core-course-module-info.html
@@ -1,4 +1,4 @@
-<ion-item class="ion-text-wrap collapsible-title" lines="none">
+<ion-item class="ion-text-wrap collapsible-title">
     <core-mod-icon slot="start" [modicon]="modicon" [modname]="module.modname" [componentId]="module.instance">
     </core-mod-icon>
     <ion-label>
@@ -11,7 +11,7 @@
         <ng-content select="[title]"></ng-content>
     </ion-label>
 </ion-item>
-<ion-item class="ion-text-wrap" *ngIf="description" lines="none">
+<ion-item class="ion-text-wrap" *ngIf="description">
     <ion-label>
         <core-format-text [text]="description" [component]="component" [componentId]="componentId" contextLevel="module"
             [contextInstanceId]="module.id" [courseId]="courseId" [maxHeight]="expandDescription ? null : 120">
@@ -20,7 +20,7 @@
 </ion-item>
 <ng-content select="[description]"></ng-content>
 
-<ion-item class="ion-text-wrap core-module-dates" lines="none" *ngIf="showCompletion && (module.dates?.length ||
+<ion-item class="ion-text-wrap core-module-dates" *ngIf="showCompletion && (module.dates?.length ||
 (module.completiondata && module.completiondata.isautomatic && module.uservisible))">
     <ion-label>
         <!-- Activity dates. -->
diff --git a/src/core/features/course/components/module/core-course-module.html b/src/core/features/course/components/module/core-course-module.html
index b16d74692..fff96491f 100644
--- a/src/core/features/course/components/module/core-course-module.html
+++ b/src/core/features/course/components/module/core-course-module.html
@@ -1,6 +1,6 @@
 <ion-card *ngIf="module.handlerData && module.visibleoncoursepage !== 0">
     <ng-container *ngIf="!module.handlerData.loading">
-        <ion-item id="core-course-module-{{module.id}}" detail="false" lines="none"
+        <ion-item id="core-course-module-{{module.id}}" detail="false"
             class="ion-text-wrap core-course-module-handler core-module-main-item {{module.handlerData.class}}"
             (click)="moduleClicked($event)" [attr.aria-label]="module.handlerData.a11yTitle" [ngClass]="{
                 'has-module-info': hasInfo,
@@ -57,7 +57,7 @@
                 </div>
             </div>
         </ion-item>
-        <ion-item *ngIf="hasInfo" id="core-course-module-{{module.id}}-info" detail="false" lines="none"
+        <ion-item *ngIf="hasInfo" id="core-course-module-{{module.id}}-info" detail="false"
             class="ion-text-wrap core-course-module-handler core-course-module-info {{module.handlerData.class}}" [ngClass]="{
                 'item-media': module.handlerData.icon,
                 'item-dimmed': module.visible === 0 || module.uservisible === false
@@ -99,7 +99,7 @@
     <!-- Loading. -->
     <ion-item *ngIf="module.handlerData.loading" role="status" class="ion-text-wrap" id="core-course-module-{{module.id}}"
         [attr.aria-label]="module.handlerData.a11yTitle"
-        [ngClass]="['core-course-module-handler', 'core-module-loading', module.handlerData.class]" detail="false" lines="none">
+        [ngClass]="['core-course-module-handler', 'core-module-loading', module.handlerData.class]" detail="false">
         <ion-label>
             <ion-spinner [attr.aria-label]="'core.loading' | translate"></ion-spinner>
         </ion-label>
diff --git a/src/core/features/courses/components/course-list-item/core-courses-course-list-item.html b/src/core/features/courses/components/course-list-item/core-courses-course-list-item.html
index 625fd2ad1..41216f198 100644
--- a/src/core/features/courses/components/course-list-item/core-courses-course-list-item.html
+++ b/src/core/features/courses/components/course-list-item/core-courses-course-list-item.html
@@ -12,8 +12,8 @@
         </ng-container>
     </div>
 
-    <ion-item class="ion-text-wrap" button lines="none" detail="false" (click)="openCourse()"
-        [attr.aria-label]="course.displayname || course.fullname" [class.item-disabled]="course.visible == 0">
+    <ion-item class="ion-text-wrap" button detail="false" (click)="openCourse()" [attr.aria-label]="course.displayname || course.fullname"
+        [class.item-disabled]="course.visible == 0">
 
         <ng-container *ngIf="layout == 'list' || layout == 'listwithenrol'">
             <ion-icon *ngIf="!course.courseImage" name="fas-graduation-cap" slot="start" class="course-icon core-course-thumb">
diff --git a/src/core/features/courses/components/course-progress/core-courses-course-progress.html b/src/core/features/courses/components/course-progress/core-courses-course-progress.html
index d89c865da..ab0ce2457 100644
--- a/src/core/features/courses/components/course-progress/core-courses-course-progress.html
+++ b/src/core/features/courses/components/course-progress/core-courses-course-progress.html
@@ -3,8 +3,8 @@
         [style.background-color]="course.color">
         <img *ngIf="course.courseImage" [src]="course.courseImage" core-external-content alt="" />
     </div>
-    <ion-item button lines="none" (click)="openCourse()" [attr.aria-label]="course.displayname || course.fullname"
-        class="core-course-header" [class.item-disabled]="course.visible == 0"
+    <ion-item button (click)="openCourse()" [attr.aria-label]="course.displayname || course.fullname" class="core-course-header"
+        [class.item-disabled]="course.visible == 0"
         [class.core-course-only-title]="!showAll || progress < 0 && completionUserTracked === false" detail="false">
         <ion-label class="ion-text-wrap core-course-title"
             [class.core-course-with-buttons]="courseOptionMenuEnabled || (downloadCourseEnabled && showDownload)"
@@ -53,7 +53,7 @@
             </ion-button>
         </div>
     </ion-item>
-    <ion-item *ngIf="showAll && progress >= 0 && completionUserTracked !== false" lines="none" class="core-course-progress">
+    <ion-item *ngIf="showAll && progress >= 0 && completionUserTracked !== false" class="core-course-progress">
         <ion-label>
             <core-progress-bar [progress]="progress" a11yText="core.courses.aria:courseprogress"></core-progress-bar>
         </ion-label>
diff --git a/src/core/features/courses/pages/my/my.html b/src/core/features/courses/pages/my/my.html
index f53075af7..9c2d2f6b2 100644
--- a/src/core/features/courses/pages/my/my.html
+++ b/src/core/features/courses/pages/my/my.html
@@ -22,7 +22,7 @@
         <ion-refresher-content pullingText="{{ 'core.pulltorefresh' | translate }}"></ion-refresher-content>
     </ion-refresher>
     <core-loading [hideUntil]="loaded">
-        <ion-item class="ion-text-wrap divider" lines="none">
+        <ion-item class="ion-text-wrap divider">
             <ion-label>
                 <h2>{{ 'core.courses.mycourses' | translate }}</h2>
             </ion-label>
diff --git a/src/core/features/login/pages/change-password/change-password.html b/src/core/features/login/pages/change-password/change-password.html
index d3b0e44e7..9d89d49e4 100644
--- a/src/core/features/login/pages/change-password/change-password.html
+++ b/src/core/features/login/pages/change-password/change-password.html
@@ -18,7 +18,7 @@
 <ion-content>
     <ion-list>
         <ng-container *ngIf="!changingPassword">
-            <ion-item class="ion-text-wrap" lines="none">
+            <ion-item class="ion-text-wrap">
                 <ion-label>
                     <h2>{{ 'core.login.forcepasswordchangenotice' | translate }}</h2>
                     <p class="ion-padding-top">{{ 'core.login.changepasswordinstructions' | translate }}</p>
@@ -29,7 +29,7 @@
             </ion-button>
         </ng-container>
         <ng-container *ngIf="changingPassword">
-            <ion-item class="ion-text-wrap" lines="none">
+            <ion-item class="ion-text-wrap">
                 <ion-label>
                     <p>{{ 'core.login.changepasswordreconnectinstructions' | translate }}</p>
                 </ion-label>
@@ -38,7 +38,7 @@
                 {{ 'core.login.reconnect' | translate }}
             </ion-button>
         </ng-container>
-        <ion-item class="ion-text-wrap" lines="none">
+        <ion-item class="ion-text-wrap">
             <ion-label>
                 <p>{{ 'core.login.changepasswordlogoutinstructions' | translate }}</p>
             </ion-label>
diff --git a/src/core/features/login/pages/credentials/credentials.html b/src/core/features/login/pages/credentials/credentials.html
index 11772f5e6..ce0c56988 100644
--- a/src/core/features/login/pages/credentials/credentials.html
+++ b/src/core/features/login/pages/credentials/credentials.html
@@ -54,7 +54,7 @@
 
             <ng-container *ngIf="showScanQR">
                 <div class="ion-text-center ion-padding">{{ 'core.login.or' | translate }}</div>
-                <ion-button expand="block" color="light" class="ion-margin" lines="none" (click)="showInstructionsAndScanQR()">
+                <ion-button expand="block" color="light" class="ion-margin" (click)="showInstructionsAndScanQR()">
                     <ion-icon slot="start" name="fas-qrcode" aria-hidden="true"></ion-icon>
                     {{ 'core.scanqr' | translate }}
                 </ion-button>
@@ -68,7 +68,7 @@
         </ion-button>
 
         <ion-list *ngIf="identityProviders && identityProviders.length" class="ion-padding-top core-login-identity-providers">
-            <ion-item class="ion-text-wrap" lines="none">
+            <ion-item class="ion-text-wrap">
                 <ion-label>
                     <h3 class="item-heading">{{ 'core.login.potentialidps' | translate }}</h3>
                 </ion-label>
@@ -81,12 +81,12 @@
         </ion-list>
 
         <ion-list *ngIf="canSignup" class="ion-padding-top core-login-sign-up">
-            <ion-item class="ion-text-wrap" lines="none">
+            <ion-item class="ion-text-wrap">
                 <ion-label>
                     <h3 class="item-heading">{{ 'core.login.firsttime' | translate }}</h3>
                 </ion-label>
             </ion-item>
-            <ion-item class="ion-text-wrap" lines="none" *ngIf="authInstructions">
+            <ion-item class="ion-text-wrap" *ngIf="authInstructions">
                 <ion-label>
                     <p>
                         <core-format-text [text]="authInstructions" [filter]="false"></core-format-text>
diff --git a/src/core/features/login/pages/email-signup/email-signup.html b/src/core/features/login/pages/email-signup/email-signup.html
index 8aeae3721..d4ab18e0c 100644
--- a/src/core/features/login/pages/email-signup/email-signup.html
+++ b/src/core/features/login/pages/email-signup/email-signup.html
@@ -232,7 +232,7 @@
                 </h3>
             </ion-label>
         </ion-item-divider>
-        <ion-item class="ion-text-wrap" lines="none">
+        <ion-item class="ion-text-wrap">
             <ion-label>
                 <h3 class="item-heading">{{ 'core.considereddigitalminor' | translate }}</h3>
                 <p>{{ 'core.digitalminor_desc' | translate }}</p>
diff --git a/src/core/features/login/pages/forgotten-password/forgotten-password.html b/src/core/features/login/pages/forgotten-password/forgotten-password.html
index 2798c9b99..d5a307706 100644
--- a/src/core/features/login/pages/forgotten-password/forgotten-password.html
+++ b/src/core/features/login/pages/forgotten-password/forgotten-password.html
@@ -10,7 +10,7 @@
     </ion-toolbar>
 </ion-header>
 <ion-content>
-    <ion-list lines="none">
+    <ion-list>
         <ion-item class="ion-text-wrap">
             <ion-label>{{ 'core.login.passwordforgotteninstructions2' | translate }}</ion-label>
         </ion-item>
diff --git a/src/core/features/login/pages/reconnect/reconnect.html b/src/core/features/login/pages/reconnect/reconnect.html
index d8fa966ff..e365d0e05 100644
--- a/src/core/features/login/pages/reconnect/reconnect.html
+++ b/src/core/features/login/pages/reconnect/reconnect.html
@@ -65,7 +65,7 @@
 
         <ng-container *ngIf="showScanQR">
             <div class="ion-text-center ion-padding">{{ 'core.login.or' | translate }}</div>
-            <ion-button expand="block" color="light" class="ion-margin" lines="none" (click)="showInstructionsAndScanQR()">
+            <ion-button expand="block" color="light" class="ion-margin" (click)="showInstructionsAndScanQR()">
                 <ion-icon slot="start" name="fas-qrcode" aria-hidden="true"></ion-icon>
                 {{ 'core.scanqr' | translate }}
             </ion-button>
@@ -80,7 +80,7 @@
 
     <!-- Identity providers. -->
     <ion-list *ngIf="identityProviders && identityProviders.length" class="ion-padding-top core-login-identity-providers">
-        <ion-item class="ion-text-wrap" lines="none">
+        <ion-item class="ion-text-wrap">
             <ion-label>
                 <h3 class="item-heading">{{ 'core.login.potentialidps' | translate }}</h3>
             </ion-label>
diff --git a/src/core/features/login/pages/site/site.html b/src/core/features/login/pages/site/site.html
index c6a3f8071..5adb6101f 100644
--- a/src/core/features/login/pages/site/site.html
+++ b/src/core/features/login/pages/site/site.html
@@ -42,7 +42,7 @@
             </ion-item>
 
             <ion-list [class.hidden]="!hasSites && !enteredSiteUrl" class="core-login-site-list">
-                <ion-item lines="none" class="core-login-site-list-title">
+                <ion-item class="core-login-site-list-title">
                     <ion-label>
                         <h2 class="item-heading">{{ 'core.login.selectsite' | translate }}</h2>
                     </ion-label>
@@ -73,7 +73,7 @@
             </div>
         </ng-container>
 
-        <ion-item *ngIf="siteSelector == 'url'" lines="none">
+        <ion-item *ngIf="siteSelector == 'url'">
             <ion-label>
                 <ion-button expand="block" [disabled]="!siteForm.valid" class="ion-text-wrap" type="submit">
                     {{ 'core.login.connect' | translate }}
@@ -85,7 +85,7 @@
     <ng-container *ngIf="fixedSites">
         <!-- Pick the site from a list of fixed sites. -->
         <ion-list *ngIf="siteSelector == 'list'">
-            <ion-item lines="none">
+            <ion-item>
                 <ion-label>
                     <h2 class="item-heading">{{ 'core.login.selectsite' | translate }}</h2>
                 </ion-label>
@@ -101,8 +101,7 @@
 
     <ng-container *ngIf="showScanQR && !hasSites && !enteredSiteUrl">
         <div class="ion-text-center ion-padding ion-margin-top">{{ 'core.login.or' | translate }}</div>
-        <ion-button expand="block" color="light" class="ion-margin" lines="none" (click)="showInstructionsAndScanQR()"
-            aria-haspopup="dialog">
+        <ion-button expand="block" color="light" class="ion-margin" (click)="showInstructionsAndScanQR()" aria-haspopup="dialog">
             <ion-icon slot="start" name="fas-qrcode" aria-hidden="true"></ion-icon>
             {{ 'core.scanqr' | translate }}
         </ion-button>
diff --git a/src/core/features/mainmenu/components/user-menu/user-menu.html b/src/core/features/mainmenu/components/user-menu/user-menu.html
index 572e8aa26..3932978ae 100644
--- a/src/core/features/mainmenu/components/user-menu/user-menu.html
+++ b/src/core/features/mainmenu/components/user-menu/user-menu.html
@@ -35,7 +35,7 @@
             </ion-label>
         </ion-item>
 
-        <ion-item class="ion-text-center" *ngIf="(!handlers || !handlers.length) && !handlersLoaded" lines="none">
+        <ion-item class="ion-text-center" *ngIf="(!handlers || !handlers.length) && !handlersLoaded">
             <ion-label>
                 <ion-spinner [attr.aria-label]="'core.loading' | translate"></ion-spinner>
             </ion-label>
@@ -43,7 +43,7 @@
 
         <ion-item button *ngFor="let handler of handlers" class="ion-text-wrap" (click)="handlerClicked($event, handler)"
             [ngClass]="['core-user-menu-handler', handler.class || '']" [hidden]="handler.hidden"
-            [attr.aria-label]="handler.title | translate" detail="true" lines="none">
+            [attr.aria-label]="handler.title | translate" detail="true">
             <ion-icon *ngIf="handler.icon" [name]="handler.icon" slot="start" aria-hidden="true"></ion-icon>
             <ion-label>
                 <p class="item-heading">{{ handler.title | translate }}</p>
diff --git a/src/core/features/settings/pages/about/about.html b/src/core/features/settings/pages/about/about.html
index 04d5a5971..4af2acfda 100644
--- a/src/core/features/settings/pages/about/about.html
+++ b/src/core/features/settings/pages/about/about.html
@@ -36,8 +36,7 @@
 </ion-content>
 
 <ion-footer class="ion-no-border">
-    <ion-item button class="ion-text-wrap ion-text-center core-about-deviceinfo" detail="false" (click)="openPage('deviceinfo')"
-        lines="none">
+    <ion-item button class="ion-text-wrap ion-text-center core-about-deviceinfo" detail="false" (click)="openPage('deviceinfo')">
         <ion-label>
             <h2>{{ appName }} {{ versionName }}</h2>
         </ion-label>
diff --git a/src/core/features/settings/pages/general/general.html b/src/core/features/settings/pages/general/general.html
index 530926a4a..a48de95bc 100644
--- a/src/core/features/settings/pages/general/general.html
+++ b/src/core/features/settings/pages/general/general.html
@@ -36,7 +36,7 @@
             </ion-segment>
         </ion-item>
         <ion-item class="ion-text-wrap core-settings-general-color-scheme" *ngIf="colorSchemes.length > 0"
-            [lines]="selectedScheme=='system' && isAndroid ? 'none' : 'inset'">
+            [lines]="selectedScheme=='system' && isAndroid ? 'none' : ''">
             <ion-label>
                 <h2>{{ 'core.settings.colorscheme' | translate }}</h2>
                 <p *ngIf="colorSchemeDisabled" class="text-danger">{{ 'core.settings.forcedsetting' | translate }}</p>
diff --git a/src/core/features/sitehome/pages/index/index.html b/src/core/features/sitehome/pages/index/index.html
index a2f064248..43e87b631 100644
--- a/src/core/features/sitehome/pages/index/index.html
+++ b/src/core/features/sitehome/pages/index/index.html
@@ -55,7 +55,7 @@
 </ion-content>
 
 <ng-template #allCourseList>
-    <ion-item button class="ion-text-wrap" (click)="openAvailableCourses()" lines="none">
+    <ion-item button class="ion-text-wrap" (click)="openAvailableCourses()">
         <ion-icon name="fas-graduation-cap" fixed-width slot="start" aria-hidden="true"></ion-icon>
         <ion-label>
             <h2>{{ 'core.courses.availablecourses' | translate}}</h2>
@@ -69,7 +69,7 @@
 </ng-template>
 
 <ng-template #categories>
-    <ion-item button class="ion-text-wrap" (click)="openCourseCategories()" lines="none">
+    <ion-item button class="ion-text-wrap" (click)="openCourseCategories()">
         <ion-icon name="fas-folder" slot="start" aria-hidden="true"></ion-icon>
         <ion-label>
             <h2>{{ 'core.courses.categories' | translate}}</h2>
@@ -78,7 +78,7 @@
 </ng-template>
 
 <ng-template #enrolledCourseList>
-    <ion-item button class="ion-text-wrap" (click)="openMyCourses()" lines="none">
+    <ion-item button class="ion-text-wrap" (click)="openMyCourses()">
         <ion-icon name="fas-graduation-cap" fixed-width slot="start" aria-hidden="true">
         </ion-icon>
         <ion-label>
@@ -88,7 +88,7 @@
 </ng-template>
 
 <ng-template #courseSearch>
-    <ion-item button class="ion-text-wrap" (click)="openSearch()" lines="none">
+    <ion-item button class="ion-text-wrap" (click)="openSearch()">
         <ion-icon name="fas-search" slot="start" aria-hidden="true"></ion-icon>
         <ion-label>
             <h2>{{ 'core.courses.searchcourses' | translate}}</h2>
diff --git a/src/theme/theme.base.scss b/src/theme/theme.base.scss
index 9c15df238..1ca9402af 100644
--- a/src/theme/theme.base.scss
+++ b/src/theme/theme.base.scss
@@ -1049,6 +1049,20 @@ audio.core-media-adapt-width {
     width: 100%;
 }
 
+ion-item {
+    --inner-border-width: 0px;
+}
+
+ion-item.item-lines-full {
+    --inner-border-width: 0px;
+    --border-width: 0 0 1px 0;
+}
+
+ion-item.item-lines-inset {
+    --inner-border-width: 1px;
+    --border-width: 0px;
+}
+
 // Fake item.
 div.fake-ion-item {
     position: relative;
@@ -1061,7 +1075,6 @@ div.fake-ion-item {
     text-decoration: none;
     overflow: hidden;
     box-sizing: border-box;
-
 }
 
 html.md div.fake-ion-item {