/*
 * Course page styles.
 */
// Variables.
$activity-item-padding: 0.75rem !default;
$activity-border-radius: 1rem !default;
$activity-border-width: 2px !default;
$activity-hover-border-color: $primary !default;
$divider-color: $gray-300 !default;
$divider-width: 2px !default;
$divider-hover-color: $primary !default;
/* Course content */
.course-content ul.section-list {
    padding: 0;
    margin: 0;
}

// Re-style ordered list in course content.
.course-content .section-item,
.course-content .section-item .activity-item {
    ul {
        list-style: disc;

        ul {
            list-style: circle;

            ul {
                list-style: square;
            }
        }
    }
}

// Expand all/Collapse all.
.section-collapsemenu {
    .collapseall {
        display: block;
    }

    .expandall {
        display: none;
    }

    &.collapsed {
        .collapseall {
            display: none;
        }

        .expandall {
            display: block;
        }
    }
}

// Course 'add section' button.
.btn.add-section {
    @include border-radius($activity-border-radius);
    border: $divider-width dashed $border-color;
    color: $primary;
    font-size: $font-size-sm;
    font-weight: bold;

    &:hover,
    &:focus {
        background-color: $primary-light-background;
        border: $divider-width solid $primary;
        color: $primary;
    }
}

// Max sections reached alert.
.max-section-alert {
    border-top: $divider-width dashed $border-color;
    font-size: $font-size-sm;
    font-weight: normal;
    color: $gray-600;
}

/* Sections */
.topics {
    padding: 0 17px;
}
.course-section {
    list-style: none;
    margin-top: map-get($spacers, 3);
    // Custom styles for course sections while editing.
    .editing & {
        margin-top: map-get($spacers, 2);
    }

    &.hidden,
    &.orphaned {
        .section-item {
            background-color: $gray-100;
        }
    }

    // Highlighted section.
    &.current {
        > .section-item {
            position: relative;

            &::before {
                border-left: $primary 3px solid;
                bottom: 0;
                content: "";
                left: -8px;
                position: absolute;
                top: 0;
            }
        }
    }

    .sectionname > a {
        color: $gray-900;
        text-decoration: none;

        &:hover {
            text-decoration: underline;
        }
    }

    .sectionbadges .badge {
        margin-left: map-get($spacers, 2);
        font-weight: normal;

        .icon {
            font-size: 12px;
            width: 12px;
            height: 12px;
        }
    }
    .course-section-header:not([id^="course-section-header-"]){
        display: flex;
        flex-wrap: nowrap;
        flex-direction: column;
    }
    .course-section-header[id^="course-section-header-"] {
        background-color: mix(white, $primary, 90%);
        border: 1px solid mix(white, $primary, 70%);
        border-radius: 0.25rem;
        margin-bottom: 0.5rem;
        padding: 1rem;
        .btn-icon.icons-collapse-expand {
            background-color: transparent;
        }
        .draggable {
            cursor: move;
        }
        > .d-flex.position-relative {
            width: 100%;
            display: flex;
            flex-direction: row-reverse;
            justify-content: space-between;
            gap: 12px;
            a, .icon {
                color: #666666;
                font-weight: 800;
                letter-spacing: 1px;
            }
        }
    }

    .section_action_menu {
        .dropdown-toggle::after {
            display: none;
        }
    }

    .summarytext {
        // Add rounded borders to images.
        img {
            @include border-radius($activity-border-radius);
        }
    }

    // Availability styles for both section and activities.
    .availabilityinfo {
        margin-top: map-get($spacers, 2);
        padding: map-get($spacers, 1) map-get($spacers, 3);
        background-color: $gray-200;
        @include font-size($small-font-size);
        @include border-radius($activity-border-radius);

        .editavailability {
            a {
                @include border-radius();
                font-weight: bold;

                &:hover {
                    background-color: $gray-400;
                }

                .icon {
                    font-size: inherit;
                    margin-right: map-get($spacers, 1);
                }
            }
        }
    }

    // Override '.btn-icon' styles from buttons.scss to make section action menu icons bigger.
    .section_action_menu > .action-menu {
        .btn-icon {
            font-size: $font-size-lg;
        }
    }

    .section-summary-activities {
        .icon {
            width: inherit;
            color: $primary;
        }
    }

    .section-summary-activities + .section {
        border-top: $border-width solid $border-color;
        margin-top: map-get($spacers, 3) !important; // stylelint-disable-line declaration-no-important
        padding-top: map-get($spacers, 3) !important; // stylelint-disable-line declaration-no-important
    }

    .section_goto .icon {
        font-size: $font-size-lg;
        color: $primary;
    }

    // Add new z-index context for dnd overlay higher divider buttons and quick edit links.
    .overlay-preview {
        z-index: 5;
    }
}

.single-section-page {
    .course-section-header {
        display: none !important;
    }
}

// Old movehere link styles.
.section li.movehere a {
    display: block;
    width: 100%;
    height: 2rem;
    border: 2px dashed $gray-800;
}

/* Activities */
.activity {
    list-style: none;
    padding-top: map-get($spacers, 1);
    margin-top: map-get($spacers, 1);
    border-top: $border-width solid $border-color;

    &.indented {
        .activity-item {
            margin-left: map-get($spacers, 3);
        }
    }

    // Custom styles for activity while editing and for the first activity card in the section.
    .editing &,
    .section &:first-child {
        // Remove activity top border and spacing, while editing a separator is displayed.
        padding-top: 0;
        margin-top: 0;
        border-top: none;
    }
}

.activity,
.activity-item {
    padding: $activity-item-padding;
    @include border-radius($activity-border-radius);

    &.activityinline {
        padding: $activity-item-padding 0;
    }

    &.hiddenactivity {
        background-color: $gray-100;

        .activityiconcontainer,
        .badge {
            mix-blend-mode: multiply;
        }
    }

    // Custom styles for activity cards while editing.
    .editing & {
        cursor: move;

        .a {
            cursor: pointer;
        }

        // Add a border on hover to the activity card (avoiding hover effect in inner activities).
        .activity-item:hover:not(:has(.activity:hover)),
        .activity-item.selected {
            // We use outline here to avoid changing the layout everytime we hover.
            outline: $activity-border-width solid $activity-hover-border-color;
            box-shadow: $box-shadow-sm;

            .activityiconcontainer,
            .badge {
                mix-blend-mode: multiply;
            }
        }
    }

    .activity.dragging & {
        border: $activity-border-width solid $activity-hover-border-color;

        .editing &:hover {
            // We cancel the outline when dragging because it is not taken into account
            // in the element/image representing the drag and drop and it cuts out part of the
            // border.
            outline: none;
        }
    }

    // Activity card grid layout.
    .activity-grid {
        display: grid;
        align-items: center;
        grid-template-columns: min-content 1fr min-content min-content min-content;
        grid-template-rows: 1fr repeat(5, min-content);
        grid-template-areas:
            "icon   name          groupmode      completion    actions"
            "icon   visibility    groupmode      completion    actions"
            "icon   dates         groupmode      completion    actions"
            "icon   altcontent    altcontent     altcontent    altcontent"
            "icon   afterlink     afterlink      afterlink     afterlink"
            "icon   availability  availability   availability  availability";
        @include media-breakpoint-down(sm) {
            grid-template-columns: min-content 1fr min-content min-content min-content;
            grid-template-rows: 1fr repeat(4, min-content);
            grid-template-areas:
                "icon          name          actions"
                "icon          visibility    actions"
                "dates         dates         dates"
                "groupmode     groupmode     groupmode"
                "completion    completion    completion"
                "altcontent    altcontent    altcontent"
                "afterlink     afterlink     afterlink"
                "availability  availability  availability";
        }
    }

    // Activity card specific grid layout for activities without name.
    .activity-grid.noname-grid {
        grid-template-columns: min-content 1fr min-content min-content;
        grid-template-areas:
            "visibility    groupmode        completion    actions"
            "altcontent    altcontent       altcontent    altcontent"
            "afterlink     afterlink        afterlink     afterlink"
            "availability  availability     availability  availability";
        @include media-breakpoint-down(sm) {
            grid-template-columns: 1fr min-content;
            grid-template-areas:
                "visibility    actions"
                "altcontent    altcontent"
                "groupmode     groupmode"
                "afterlink     afterlink"
                "completion    completion"
                "availability  availability";
        }
    }

    .activity-actions {
        grid-area: actions;

        .actions {
            position: relative;
        }
    }

    .activity-icon {
        grid-area: icon;
    }

    .activity-dates {
        grid-area: dates;
        @include font-size($small-font-size);
        color: $gray-700;
        display: flex;
        flex-wrap: wrap;
        column-gap: 0.75rem;
        @include media-breakpoint-down(sm) {
            margin-top: map-get($spacers, 2);
        }
    }

    .activity-name-area {
        grid-area: name;
        // Prevent bootstrap strech-link from covering the inplace editable button using z-index.
        .activityname {
            .afterlink {
                margin-left: map-get($spacers, 2);
            }

            .inplaceeditable .quickeditlink {
                position: relative;
                z-index: 2;
                margin-left: map-get($spacers, 2);
            }
            a {
                text-decoration: none;
            }
        }

        .activitybadge {
            &.badge-none {
                font-weight: normal;
                --#{$prefix}badge-color: #{$body-color};
                @include font-size($small-font-size);
                padding: 0;
            }
        }
    }

    .activity-completion {
        grid-area: completion;
        justify-self: end;

        button,
        a[role="button"] {
            min-height: map-get($iconsizes, 5);
        }
        button:not(.btn-success) {
            background: rgba(0, 0, 0, .45);
            color: #ffffff;
        }

        @include media-breakpoint-down(sm) {
            width: 100%;
            margin-top: map-get($spacers, 2);
            button {
                width: 100%;
            }
        }

        .completion-dialog {
            color: $gray-700;
            font-size: $font-size-sm;
            min-width: 12rem;

            .icon {
                font-size: $font-size-sm;
                width: $font-size-sm;
                height: $font-size-sm;
                margin-right: map-get($spacers, 1);
            }

            .editcompletion a {
                @include border-radius();
                color: $gray-700;
                font-weight: bold;
                text-decoration: none;

                &:hover {
                    background-color: $gray-200;
                }
            }
            [role=list] span {
                white-space: nowrap;
            }
        }
    }
    &.theme-block .activity-completion {
        button {
            backdrop-filter: blur(6px);
            &.btn-success {
                --bs-btn-bg: rgba(25, 135, 84, .25);
                --bs-btn-border-color: rgba(25, 135, 84, .35);
            }
            &:not(.btn-success) {
                background: rgba(0, 0, 0, .25);
                color: #ffffff;
            }
        }
    }

    .activity-groupmode-info {
        grid-area: groupmode;
        justify-self: end;

        .groupmode-information {
            height: map-get($iconsizes, 5);
            width: map-get($iconsizes, 5);
            @include border-radius();

            .icon {
                width: map-get($iconsizes, 3);
                height: map-get($iconsizes, 3);
            }
        }

        .groupmode-icon-info {
            display: none;
        }

        @include media-breakpoint-down(sm) {
            width: 100%;
            margin-top: map-get($spacers, 2);
            padding-top: map-get($spacers, 2);
            border-top: $border-width solid $border-color;
            .groupmode-information {
                width: auto;
                font-size: inherit;
                padding: 0 map-get($spacers, 2);
            }
            .groupmode-icon-info {
                display: inline;
            }
            // Disable v-parent-focus behaviour on small devices to always show the groupmode button.
            .v-parent-focus {
                opacity: 1;
                visibility: visible;
            }
        }
    }

    .activity-badges {
        grid-area: visibility;

        .badge {
            font-weight: normal;

            .icon {
                font-size: 12px;
                width: 12px;
                height: 12px;
            }
        }
    }

    .activity-altcontent {
        grid-area: altcontent;
        margin-top: map-get($spacers, 1);

        &.activity-description {
            margin-top: map-get($spacers, 2);
            padding-top: map-get($spacers, 2);
            border-top: $border-width solid $border-color;
            @include font-size($small-font-size);
            // Fix activity description bottom margin for first level-lists.
            ul:not(.activity-description ul ul) {
                margin-bottom: 1rem;
            }
        }

        // Add rounded borders to images.
        img {
            @include border-radius($activity-border-radius);
        }
    }

    .activity-availability {
        grid-area: availability;
    }

    .activity-afterlink {
        grid-area: afterlink;
        margin-top: map-get($spacers, 2);
        padding-top: map-get($spacers, 2);
        border-top: $border-width solid $border-color;
    }

    .no-overflow {
        width: 100%;
    }
}

.activity.modtype_label {
    .activity.activityinline,
    .activity-item.activityinline {
        padding: $activity-item-padding;

        .no-overflow p:last-child {
            margin-bottom: 0;
        }
    }
}

.activity-item {
    background: #f2f2f2;
}

.activity-instance {
    width: 100%;
    .activitytitle {
        display: flex;
        width: 100%;
    }
    .afterlink {
        white-space: nowrap;
        margin-right: 6px;
    }
}
.activity-add,
.block-add {
    border-radius: 0.5rem;
    color: #1e5aa8;
    background-color: #f6f8fc;
    border-color: #4274b6;
    border-width: 1px;
    width: 100%;
    clear: both;
    margin-top: 0.25rem;
    .pluscontainer {
        border: 1px solid #4274b6;
    }
}

.section .draggable .activity-item .dragicon {
    display: none;
}

/* Dividers */
.course-content .divider {
    position: relative;

    hr {
        width: 100%;
        margin: map-get($spacers, 2) map-get($spacers, 1);
        border-top: $divider-width dashed $divider-color;
        opacity: 1;

        .changenumsections.disabled & {
            border-top: $divider-width dashed $divider-color;
        }
    }

    .divider-content {
        //opacity: 0;
        //visibility: hidden;
        transition: visibility 0.1s;
        position: absolute;
        background: linear-gradient(transparent 40%, $white 40%, $white 60%, transparent 60%);

        .section.hidden & {
            background: linear-gradient(transparent 40%, $gray-100 40%, $gray-100 60%, transparent 60%);
        }
    }

    &.always-visible {
        .divider-content {
            opacity: 1;
            visibility: visible;
        }
    }

    &.always-hidden {
        hr {
            opacity: 0;
            visibility: hidden;
        }
    }

    &:hover,
    &:focus,
    &:focus-within {
        .divider-content {
            opacity: 1;
            visibility: visible;
        }

        hr {
            opacity: 1;
            visibility: visible;
        }
    }

    // Style the hr divider when the "Add content" button is hovered.
    &:has(.btn.add-content:hover) {
        hr {
            border-color: $divider-hover-color;

            .changenumsections.disabled & {
                border-color: $gray-200;
            }
        }
    }
}

// These styles will make the activity and section dividers buttons visible (but still without opacity) so
// buttons can be keyboard focusable.
.activity:focus-within + .activity .divider .divider-content,
.course-section-header[id^="course-section-header-"]:focus-within + .content .section .activity:first-child .divider .divider-content,
.content .section .activity:focus-within .divider .divider-content,
.course-content:focus-within .changenumsections .divider .divider-content {
    visibility: visible;
}

// Hide last section "Add section". It will rely on the course format general "Add section" button.
.course-content ul.topics > li:last-child .changenumsections {
    display: none;
}

// Custom buttons for dividers.
.course-content .divider .btn.add-content {
    position: relative;
    z-index: 1;
    @include border-radius();
    font-size: $font-size-sm;
    font-weight: bold;
    color: shift-color($primary, $alert-color-scale);
    background-color: shift-color($primary, $alert-bg-scale);

    &:hover,
    &:focus {
        color: color-contrast($primary);
        background-color: $primary;
    }

    .icon {
        width: 14px;
        height: 14px;
        font-size: 14px;
    }

    .changenumsections.disabled & {
        color: $gray-500;
        background-color: $gray-200;
        outline: none;
        box-shadow: none;

        &:hover,
        &:focus {
            color: $gray-500;
            background-color: $gray-200;
            outline: none;
            box-shadow: none;
        }

        pointer-events: auto; // Restore pointer events for the disabled button so we can see the tooltip.
    }
}

/* Bulk editing */
.bulkenabled {
    .bulk-hidden {
        display: none !important; // stylelint-disable-line declaration-no-important
    }

    .section {
        margin-left: map-get($spacers, 3);

        &:not(:first-child) {
            margin-top: map-get($spacers, 4);
        }
    }

    .activity {
        margin-top: map-get($spacers, 2);
        margin-left: 2rem;
        padding-top: map-get($spacers, 2);
        border-top: $divider-width dashed $divider-color;

        &:first-child {
            margin-top: map-get($spacers, 4);
        }
    }

    .activity-item {
        .bulkselect {
            float: left;
            margin-left: -2rem;
        }

        // Delegated sections are not available for bulk editing.
        &:has(.delegated-section):hover {
            outline: none !important; // stylelint-disable-line declaration-no-important
            box-shadow: none !important; // stylelint-disable-line declaration-no-important
        }
    }

    .course-section-header[id^="course-section-header-"] .bulkselect {
        left: -2.75rem;
        position: relative;
        width: 0;
    }

    @include media-breakpoint-down(md) {
        .course-content {
            margin-left: 2rem;
        }
    }

    .sticky-footer-content.bulkactions {
        .btn {
            --bs-btn-disabled-border-color: transparent;

            &:focus {
                outline: 0;
                box-shadow: $input-btn-focus-box-shadow;
            }
        }
    }
}

// Custom styles for bulk actions sticky footer in small devices.
.sticky-footer-content.bulkactions {
    @include media-breakpoint-down(md) {
        position: relative;
        .form-check,
        .bulkaction-name,
        .bulkcount {
            display: none;
        }
        .actions button {
            padding: 0 map-get($spacers, 2);
        }
        .bulkcancel {
            position: absolute;
            top: 0;
            right: 0;
        }
    }
}

/* Single section page */
.single-section {
    // Revert main section's styles.
    > ul > .course-section {
        &.hidden .section-item {
            background-color: inherit;
        }

        .section-item {
            padding: 0;
            border: none;
        }
    }
}

.single-section-page .header-action {
    display: inline-block;
}

/* Default activity completion page */
.defaultactivitycompletion-item {
    a {
        color: $black;
        text-decoration: none;
    }

    .activityicon {
        width: 32px;
        height: 32px;
    }
}

/* Home page course */
.sitetopic {
    .section-item {
        margin-bottom: map-get($spacers, 4);
        @include border-radius();
    }
}

/* Move activity and Move section modals */
.move-activity-tree {
    .collapse-list-item {
        @include border-radius();

        &:hover,
        &:focus {
            background-color: shift-color($primary, $alert-bg-scale);

            a {
                color: shift-color($primary, $alert-color-scale);
            }
        }

        a {
            color: $list-group-action-active-color;

            &:hover,
            &:focus {
                text-decoration: none;
            }
        }

        a.disabled {
            color: $list-group-disabled-color;
        }
    }

    .collapse-list-item-content .collapse-list-item {
        padding: $collapse-list-item-padding-y $collapse-list-item-padding-x;
    }

    ul {
        margin-left: map-get($spacers, 4);
    }

    .collapse-list-link {
        font-weight: bold;
    }
}

/* Subsections */
.activity.subsection {
    border-top: none;

    > .activity-item {
        border: $border-width solid $border-color;
        padding: 0;
        margin: map-get($spacers, 2) 0;

        > .activity-grid > .activity-altcontent {
            margin-top: 0;
        }
    }

    .section {
        margin-top: 0;

        .section-item {
            border: none;
            padding: $activity-item-padding;
        }

        .icons-collapse-expand:has(+ h4) {
            height: map-get($iconsizes, 4);
            width: map-get($iconsizes, 4);
            font-size: $font-size-sm;
        }

        h4 {
            font-size: $h5-font-size;
        }

        .section_action_menu > .action-menu .btn-icon {
            font-size: inherit;
        }
    }

    + .activity {
        border-top: none;
    }

    // Allow v-parent-focus only for closest acvitity (avoiding subsection).
    .focus-control:not(:has(.focus-control)) {
        &:focus-within .v-parent-focus,
        &:hover .v-parent-focus {
            opacity: 1 !important; // stylelint-disable-line declaration-no-important
            visibility: visible !important; // stylelint-disable-line declaration-no-important
        }
    }

    .focus-control:focus-within .focus-control .v-parent-focus,
    .focus-control:hover .focus-control .v-parent-focus {
        opacity: 0;
        visibility: hidden;
    }
}

#page-header,
#page-header-size {
    &.hasnavbarcourse,
    &.hasbannercourse {
        position: relative;
        // min-height: 336px;
        border-radius: 8px;
        display: flex;
        flex-direction: column;
        justify-content: flex-end;
        padding: 60px 32px 32px;
        overflow: hidden;

        .breadcrumb {
            margin-bottom: 40px;

            .breadcrumb-item {
                &::before {
                    color: #fff;
                    background-image: url([[pix:theme|breadcrumb-divider-fff]]);
                }
                a, span {
                    color: #fff;
                }
            }
        }

        .hasnavbarcourse-gradient-image{
            background-size: cover;
            background-position: center;
            left: 0;
            bottom: 0;
            opacity: 1;
            border-radius: inherit;
            .overlay-gradient-image{
                background: linear-gradient(270deg, rgba($primary, 0.0) 0%, $primary 90%);
                z-index: 1;
                position: absolute;
                left: 0;
                top: 0;
                height: 100%;
                width: 100%;
            }
        }
        .course-intro-category-name {
            display: inline-block;
            padding: 1px 10px;
            border-radius: 3px;
            background-color: darken($primary, 25%);
            color: #fff;
            text-transform: uppercase;
            font-size: 15px;
            font-weight: 600;
            transition: all 0.2s;
        }

        .course-intro-details {
            display: flex;
            //flex-wrap: wrap;
            width: 100%;

            dd {
                display: flex;
                width: 100%;
                margin: 0 20px 0 0;
                font-size: 0.875rem;
                color: #fff;
                gap: 5px;
                align-items: center;

                i {
                    font-size: 38px;
                    margin-right: 3px;
                }

                a {
                    color: #fff;
                    text-decoration: underline;
                }

                .teacher-icon {
                    width: 25px;
                    height: 25px;
                    border-radius: 50%;
                    vertical-align: middle;
                    margin-right: -6px;
                    background: #fff;
                    border: 1px solid #8e8e8e;
                }

                h6 {
                    margin-bottom: 0;
                    font-size: 21px;
                    font-weight: 800;
                }
            }
        }

        h1 {
            color: #fff;
            font-weight: 800;
            font-size: 26px;
            line-height: 32px;
        }

        .header-action button {
            text-decoration: underline;
            color: #fff !important;
        }

        .action-menu-trigger {
            a.btn {
                color: #fff !important;

                &:hover {
                    color: $primary !important;
                }
            }
        }

        .header-actions-container {
            position: absolute;
            top: 20px;
            right: 10px;
        }
    }

    --hasbannercourse-size: 230px;
    &.hasbannercourse {
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        border-radius: 0;
        height: var(--hasbannercourse-size);
        @media (max-width: 991px) {
            top: $navbar-height;
        }
        h1,
        .header-action button {
            color: #ffffff;
            font-size: 33px;
        }
    }
    &.hasbannercourse-size {
        height: calc(var(--hasbannercourse-size) - 48px);
    }
}

/* Spinners */
// Edit in progress spinner animation.
@keyframes editinprogress-rotation {
    0% {
        opacity: 0;
        transform: rotate(0deg);
    }
    50% {
        opacity: 1;
    }
    100% {
        opacity: 0;
        transform: rotate(359deg);
    }
}

.editing {
    // New editing in progress spinners.
    .editinprogress {
        position: relative;

        & > * {
            opacity: .4;
        }

        .corelightbox,
        .lightbox {
            display: none;
        }

        &:after {
            font: var(--fa-font-solid);
            position: absolute;
            font-size: 20px;
            color: $gray-600;
            content: fa-content($fa-var-spinner);
            display: flex;
            justify-content: center;
            align-items: center;
            width: 30px;
            height: 30px;
            left: calc(50% - 15px);
            top: calc(50% - 15px);
            animation: editinprogress-rotation 2s infinite linear;
        }

        // Prevent inner editingprogress.
        .editinprogress {
            &:after {
                display: none;
            }
        }
    }
}

/* Drag and drop */
// Compensate for the border widths when dropzones are displayed.
.course-content .section.dropready {
    &.main.drop-down {
        border-bottom: 1px solid $dropzone-border;
    }

    .course-section-header[id^="course-section-header-"].dropready.drop-zone {
        margin-top: -2px;
    }

    li.activity.dropready.drop-down {
        border-bottom: 1px solid $dropzone-border;
        margin-bottom: -1px;
    }

    li.activity.dropready.drop-up {
        border-top: 1px solid $dropzone-border;
        margin-top: -1px;
    }

    [data-for="sectioninfo"] {
        // When a section is empty, the activity dropzone indicator is below
        // the section info. This ensures the dropzone will not displace the content
        // even if the section has no restrictions or info to display.
        min-height: 1px;
    }

    [data-for="sectioninfo"].drop-down {
        margin-top: -1px;
    }
}

/* Old indentation styles */
.mod-indent-outer {
    display: table;
}

.mod-indent {
    display: table-cell;
}

.label .mod-indent {
    float: left;
    padding-top: 20px;
}

.activity.label.modtype_label .mod-indent {
    float: none;
}

@include media-breakpoint-up(sm) {
    $mod-indent-size: 30px;
    /* Creates a series of .mod-indent-# rule declarations based on indent size and number of indent levels. */
    @for $i from 1 through 16 {
        $width: ($i * $mod-indent-size);
        .mod-indent-#{$i} {
            width: $width;
        }
    }
    .mod-indent-huge {
        width: (16 * $mod-indent-size);
    }
}
