
.uo-view-more {
    margin-bottom: 20px !important;
}

.uo-view-more a {
    background-color: #088ab1;
    color: #fff;
    display: inline-table;
    font-size: 16px;
    padding: 60px 30px;
    text-align: center;
    transition: all 0.75s ease;
    -moz-transition: all 0.75s ease;
    -ms-transition: all 0.75s ease;
    -o-transition: all 0.75s ease;
    -webkit-transition: all 0.75s ease;
    width: 100%;
}

.uo-view-more a:hover {
    background-color: #07627d;
    color: #fff;
}

.uo-grid-wrapper * {
    box-sizing: border-box;
}

.uo-grid-wrapper .grid-course .featured-image {
    overflow: hidden;
}

.uo-grid-wrapper .grid-course .course-info-holder.completed {
    background: #f5fbf4;
}

.uo-grid-wrapper .completed:before,
.uo-grid-wrapper .notcompleted:before {
    display: none !important;
}

.uo-grid-wrapper .grid-course .course-info-holder .percentage {
    color: #000;
    font-weight: 400;
    margin: 10px 0;
}

.uo-grid-wrapper .grid-course .course-title {
    font-size: 14px;
}

.uo-grid-wrapper .grid-course h4 {
    color: #088ab1;
    font-size: 14px;
    text-align: center;
    text-transform: uppercase;

}

.uo-grid-wrapper .grid-course .course-info-holder {
    background: #f5f5f5;
    display: block;
    line-height: 1.2;
    /*min-height: 60px;*/
    padding: 10px;
    transition: all 0.75s ease;
    -moz-transition: all 0.75s ease;
    -ms-transition: all 0.75s ease;
    -o-transition: all 0.75s ease;
    -webkit-transition: all 0.75s ease;
}

.uo-grid-wrapper .grid-course h4.view-course-outline {
    background: #088ab1;
    border: 1px solid #088ab1;
    /*border-radius: 4px;*/
    color: #fff;
    /*display: table;*/
    font-size: 11px;
    margin: 0 auto;
    /*white-space: nowrap;*/
    padding: 5px;
    text-transform: uppercase;
}

.uo-grid-wrapper .grid-course h4.view-course-outline:hover {
    background: #fff;
    color: #088ab1;
}

.uo-grid-wrapper .uo-view-more-holder.hidden {
    display: none;
}

.uo-grid-wrapper .grid-course .course-info-holder .list-tag-container {
    font-size: 12px;
    text-transform: uppercase;
}

.uo-grid-wrapper .grid-course .course-info-holder.completed .list-tag-container {
    color: #36ac2d;
}

.uo-grid-wrapper .grid-course .course-info-holder.completed .list-tag-container i {
    margin-left: 7px;
}

dd.uo-course-progress {
    background-color: #dbdbdb;
    border: medium none;
    border-radius: 4px;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1) inset;
    display: block;
    height: 8px;
    margin: 10px auto;
    overflow: hidden;
    padding: 0;
    position: relative;
    width: 100%;
}

dd.uo-course-progress div.course_progress {
    background-color: #088ab1;
    box-shadow: 0 -1px 0 rgba(0, 0, 0, 0.15) inset;
    color: #fff;
    display: block;
    float: left;
    font-size: 12px;
    height: 100%;
    position: relative;
    text-align: right;
    transition: width 0.6s ease 0s;
    width: 75%;
}

.uo-grid-wrapper .grid-course .course-info-holder.completed dd.uo-course-progress div.course_progress {
    background: #36ac2d;
}

/*Hovers*/

.uo-grid-wrapper .grid-course img {
    opacity: 1;
    transition: all 0.75s ease;
    -moz-transition: all 0.75s ease;
    -ms-transition: all 0.75s ease;
    -o-transition: all 0.75s ease;
    -webkit-transition: all 0.75s ease;
    vertical-align: bottom;
    width: 100%;
}

.uo-grid-wrapper .grid-course:hover img {
    opacity: 1;
}

.uo-grid-wrapper .grid-course:hover .course-info-holder {
    background: #e5e5e5;
    cursor: pointer;
}

.uo-grid-wrapper .grid-course:hover .course-info-holder.completed {
    background: rgba(54, 172, 45, 0.15);
    cursor: pointer;
}

.uo-grid-wrapper .grid-course .uo-border {
    height: 100%;
    border: 3px solid #fff;
    background: #f5f5f5;
    display: flex;
    flex-direction: column;
    transition: all 0.75s ease;
    -moz-transition: all 0.75s ease;
    -ms-transition: all 0.75s ease;
    -o-transition: all 0.75s ease;
    -webkit-transition: all 0.75s ease;
}

.uo-grid-wrapper .grid-course:hover .uo-border {
    border: 3px solid #088ab1;
}

.uo-grid-wrapper .grid-course:hover .uo-border.completed {
    border: 3px solid #36ac2d;
}

#ribbon:after {
    border-color: #07627d #07627d transparent transparent;
    border-style: solid;
    border-width: 4.5px 4px;
    left: 0px;
    top: 100%;
}

#ribbon:before, #ribbon:after {
    content: ' ';
    height: 0;
    position: absolute;
    width: 0;
}

#ribbon {
    background-color: #088ab1;
    box-shadow: 0px 2px 4px #088ab1;
    color: #fff;
    font-size: 12px;
    font-weight: bold;
    margin: 5px 0 0 -9px;
    min-width: 40px;
    padding: 2px 10px 2px 10px;
    position: absolute;
    Text-transform: uppercase;
    z-index: 10;
}

/********************************************************/
/****************FROM VERSION 1.4************************/
/********************************************************/

.uo-grid-wrapper .grid-course .uo-border > a:first-child {
    width: 100%;
    flex-grow: 1;
    display: flex;
    flex-direction: column;
}

.uo-grid-wrapper .grid-course .featured-image {
    overflow: hidden;
}

.uo-grid-wrapper .grid-course .course-info-holder:not(.bottom) {
    flex: 1 0 auto;
    position: relative;
}

.uo-grid-wrapper .grid-course .course-info-holder.bottom {
    position: relative;
}

.uo-grid-wrapper .grid-course h4 {
    background-color: #ddd;
    bottom: 0;
    /*color: #088ab1;*/
    font-size: 16px;
    font-weight: 600;
    left: 0;
    margin: 0;
    padding: 10px;
    position: absolute;
    width: 100%;
}

.uo-grid-wrapper .course-info-holder p {
    margin-bottom: 10px;
    margin-top: 10px;
    font-size: 12px;
    padding-right: 15px;
    color: slategray;
}
/********************************************************/
/****************FROM VERSION 2.5************************/
/********************************************************/
.uo-toolkit-grid__course-action a {
    width: 100%;
    display: block;
    cursor: pointer;
}

.uo-toolkit-grid__course-action input {
    width: 100%;
    background: #088ab1;
    border: 1px solid #088ab1;
    /*border-radius: 4px;*/
    color: #fff;
    /*display: table;*/
    font-size: 11px;
    margin: 0 auto;
    /*white-space: nowrap;*/
    padding: 5px;
    text-transform: uppercase;
}

.learndash .uo-grid-wrapper .completed:before { content:""; }


// !-------- NM
// -----------------------------------------------------------------------------

/* ==========================================================================
   MIC Course Grid Overrides (v2 — dev refactor)
   
   UO's core CSS handles the column grid layout (.uo-grid-wrapper, .uo-col-*).
   These styles handle card interiors only.
   ========================================================================== */


/* --------------------------------------------------------------------------
   Card link — fills the grid cell, flex column for image + footer
   -------------------------------------------------------------------------- */

.mic-card-link {
    display: flex;
    flex-direction: column;
    height: 100%;
    border: 1px solid #d0d0d0;
    background: #f5f5f5;
    text-decoration: none;
    transition: border-color 0.3s ease;
}

.mic-card-link:hover {
    border-color: #088ab1;
}

.mic-card-link.mic-completed {
    /* completed cards get green border on hover */
}

.mic-card-link.mic-completed:hover {
    border-color: #36ac2d;
}


/* --------------------------------------------------------------------------
   Card image area — decorative bg with title overlay
   -------------------------------------------------------------------------- */

.mic-card-image {
    position: relative;
    background-size: cover;
    background-position: center center;
    aspect-ratio: 16 / 10;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px;
    /* overflow: hidden; */
}


/* --------------------------------------------------------------------------
   Course title — white text centered over the bg image
   -------------------------------------------------------------------------- */

.mic-card-title {
    color: #ffffff;
    font-family: 'Fira Sans', sans-serif;
    font-size: clamp(18px, 2.2vw, 32px);
    font-weight: 600;
    line-height: 1.2;
    text-align: center;
    position: relative;
    z-index: 2;
    /* subtle text shadow for readability over the teal bg */
    text-shadow: 0 1px 4px rgba(0, 0, 0, 0.15);
}


/* --------------------------------------------------------------------------
   COMPLETE badge
   -------------------------------------------------------------------------- */

.mic-badge {
    --side-offset: -3px;
    
    position: absolute;
    top: 12px;
    right: var(--side-offset);
    font-size: 14px;
    font-weight: 700;
    line-height: 1.25;
    padding: 6px 12px;
    text-transform: uppercase;
    z-index: 3;
}

.mic-badge--complete {
    background-color: #36ac2d;
    color: #ffffff;
}

.mic-badge--mic-id {
    left: var(--side-offset);
    right: auto;
    background: #dce11f;
    color: var(--neutral-dark);
}


/* --------------------------------------------------------------------------
   Card footer — progress bar, status labels
   -------------------------------------------------------------------------- */

.mic-card-footer {
    padding: 10px 12px;
    background: #f5f5f5;
    transition: background-color 0.3s ease;
}

.mic-card-link:hover .mic-card-footer {
    background: #e5e5e5;
}

.mic-card-footer.mic-completed {
    background: #f5fbf4;
}

.mic-card-link:hover .mic-card-footer.mic-completed {
    background: rgba(54, 172, 45, 0.15);
}


/* -- Progress bar --------------------------------------------------------- */

.mic-progress {
    display: flex;
    align-items: center;
    gap: 10px;
}

.mic-progress__bar {
    flex: 1;
    height: 8px;
    background: #dbdbdb;
    border-radius: 4px;
    overflow: hidden;
    box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
}

.mic-progress__fill {
    height: 100%;
    background: #088ab1;
    border-radius: 4px;
    transition: width 0.6s ease;
}

.mic-progress__fill--done {
    background: #36ac2d;
}

.mic-progress__pct {
    font-size: 13px;
    font-weight: 600;
    color: #333;
    min-width: 36px;
    text-align: right;
}


/* -- Status labels -------------------------------------------------------- */

.mic-status {
    display: block;
    font-size: 13px;
    font-weight: 600;
    text-transform: uppercase;
    text-align: center;
}

.mic-status--soon {
    color: #888;
}

.mic-status--outline {
    color: #088ab1;
}

.mic-card-footer__mic-id {
    display: block;
    font-size:17px;
    font-weight: 700;
    text-align: center;
    text-transform: uppercase;
    color: #088ab1;
}


/* --------------------------------------------------------------------------
   Action buttons (Start / Resume)
   -------------------------------------------------------------------------- */

.mic-card-action {
    margin-top: auto;
}

.mic-card-action .mic-btn,
.mic-card-action input[type="submit"] {
    display: block;
    width: 100%;
    padding: 8px 12px;
    background: #088ab1;
    border: 1px solid #088ab1;
    color: #fff;
    font-size: 12px;
    font-weight: 600;
    text-align: center;
    text-transform: uppercase;
    text-decoration: none;
    cursor: pointer;
    transition: background-color 0.3s ease, color 0.3s ease;
}

.mic-card-action .mic-btn:hover,
.mic-card-action input[type="submit"]:hover {
    background: #fff;
    color: #088ab1;
}


/* --------------------------------------------------------------------------
   Grid layout — explicit columns
   
   Take full control of the grid. UO's core and Etch's resets conflict,
   so we declare everything we need directly.
   -------------------------------------------------------------------------- */

.uo-grid-wrapper {
    /* display: flex !important;
    flex-wrap: wrap !important; */
    display: grid;
    grid-template-columns: var(--grid-auto-3);
    float: none !important;
    width: 100% !important;
    gap: var(--grid-gap);
    gap: calc(var(--grid-gap) * 1.25) var(--grid-gap);
    
    margin-left: 0;
    margin-right: 0;
    padding-left: 0;
    padding-right: 0;
}

.uo-grid-wrapper .mic-grid-card {
    /* width: calc(33.333% - 14px); */
    width:100%;
    margin: 0;
    min-height: 0;
    padding: 0;
    float: none;
}


/* --------------------------------------------------------------------------
   Responsive
   -------------------------------------------------------------------------- */

@media (max-width: 1024px) and (min-width: 501px) {
    .uo-grid-wrapper .mic-grid-card {
        /* width: calc(50% - 10px); */
    }
}

@media (max-width: 768px) {
    .mic-card-title {
        font-size: 20px;
    }
    
    .mic-card-image {
        aspect-ratio: 16 / 9;
        padding: 16px;
    }
}

@media (max-width: 500px) {
    .uo-grid-wrapper .mic-grid-card {
        width: 100%;
    }

    .mic-card-title {
        font-size: 18px;
    }
}