@import url("https://use.typekit.net/npk4spm.css");
@import url('https://fonts.googleapis.com/css2?family=Red+Hat+Display:ital,wght@0,300..900;1,300..900&display=swap');

:root {
    /* Variables to help keep consistancy across all elements and page templates. */
    --wsb-font-primary: acumin-pro, sans-serif;
    --wsb-font-secondary: "Red Hat Text", sans-serif;
}

/** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** **/
/**                       Original CSS - Pre 2026                           **/
/** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** **/

.wsb-home .clear {
    clear: both;
}

.wsb-home .course-description {
    font-style: italic;
}

.wsb-home .course-description span {
    font-weight: bold;
}

.wsb-home .professor {
    margin: 7px;
    width: 40%;
    background-color: #f7f7f7;
    border: dotted 1px #bcbcbc;
    padding: 14px;
    float: left;
}

.wsb-home .professor img {
    float: left;
    margin-right: 15px;
    width: 150px;
    height: auto;
}

.wsb-home .teacher {
    margin: 7px;
    width: 40%;
    background-color: #ffffff;
    padding: 14px;
    float: left;
}

.wsb-home .teacher img {
    float: left;
    margin-right: 15px;
    width: 150px;
    height: auto;
}

.wsb-home .info {
    display: table-cell;
    min-width: 180px;
}

.wsb-home h2,
.wsb-home h3,
.wsb-home h4 {
    margin-top: 35px;
    color: #900;
}

.wsb-home li {
    margin-bottom: 2px;
}


.button-group {
    text-align: center;
    width: 600px;
    margin: 0px auto;
}

.button-group a {
    background-color: #f7f7f7;
    border: solid 1px #bcbcbc;
    border-radius: 3px;
    width: 120px;
    padding: 10px 5px;
    margin: 10px 2px;
    display: inline-block;
    text-align: center;
}

@media only screen and (max-width: 680px) {
    .wsb-home .professor {
        width: 100%;
    }

    .wsb-home .professor img {
        float: none;
    }

    .wsb-home .teacher {
        width: 100%;
    }

    .wsb-home .teacher img {
        float: none;
    }

    .button-group a {
        display: block;
    }
}

/** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** **/

/** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** **/
/**                    2026 - Updates from Design Library                   **/
/** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** **/


/** WSB Reset **/
*,
*::before,
*::after {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}


/* Define your wrapper component as a container context */
/*  This is for the design library */
.viewer,
/*  This is for Canvas */
#content {
    container-type: inline-size;
    container-name: wsb-course-content;
    width: 100%;
}

/** WSB Icons (Utility Classes) **/
[class*="wsb-icon-"] {
    --wsb-icon-url: none;
}

.wsb-icon-alert {
    --wsb-icon-url: url('https://teaching.wsb.wisc.edu/design-library/assets/icons/alert.png');
}

.wsb-icon-announcement {
    --wsb-icon-url: url('https://teaching.wsb.wisc.edu/design-library/assets/icons/announcement.png');
}

.wsb-icon-archive {
    --wsb-icon-url: url('https://teaching.wsb.wisc.edu/design-library/assets/icons/archive.png');
}

.wsb-icon-audio {
    --wsb-icon-url: url('https://teaching.wsb.wisc.edu/design-library/assets/icons/audio.png');
}

.wsb-icon-book {
    --wsb-icon-url: url('https://teaching.wsb.wisc.edu/design-library/assets/icons/book.png');
}

.wsb-icon-bucky {
    --wsb-icon-url: url('https://teaching.wsb.wisc.edu/design-library/assets/icons/bucky.png');
}

.wsb-icon-building {
    --wsb-icon-url: url('https://teaching.wsb.wisc.edu/design-library/assets/icons/building.png');
}

.wsb-icon-calculator {
    --wsb-icon-url: url('https://teaching.wsb.wisc.edu/design-library/assets/icons/calculator.png');
}

.wsb-icon-calendar {
    --wsb-icon-url: url('https://teaching.wsb.wisc.edu/design-library/assets/icons/calendar.png');
}

.wsb-icon-checklist {
    --wsb-icon-url: url('https://teaching.wsb.wisc.edu/design-library/assets/icons/checklist.png');
}

.wsb-icon-computer {
    --wsb-icon-url: url('https://teaching.wsb.wisc.edu/design-library/assets/icons/computer.png');
}

.wsb-icon-discussion {
    --wsb-icon-url: url('https://teaching.wsb.wisc.edu/design-library/assets/icons/discussion.png');
}

.wsb-icon-document {
    --wsb-icon-url: url('https://teaching.wsb.wisc.edu/design-library/assets/icons/document.png');
}

.wsb-icon-download {
    --wsb-icon-url: url('https://teaching.wsb.wisc.edu/design-library/assets/icons/download.png');
}

.wsb-icon-eating {
    --wsb-icon-url: url('https://teaching.wsb.wisc.edu/design-library/assets/icons/eating.png');
}

.wsb-icon-folder {
    --wsb-icon-url: url('https://teaching.wsb.wisc.edu/design-library/assets/icons/folder.png');
}

.wsb-icon-getting_started {
    --wsb-icon-url: url('https://teaching.wsb.wisc.edu/design-library/assets/icons/getting_started.png');
}

.wsb-icon-grainger {
    --wsb-icon-url: url('https://teaching.wsb.wisc.edu/design-library/assets/icons/grainger.png');
}

.wsb-icon-help {
    --wsb-icon-url: url('https://teaching.wsb.wisc.edu/design-library/assets/icons/help.png');
}

.wsb-icon-idea {
    --wsb-icon-url: url('https://teaching.wsb.wisc.edu/design-library/assets/icons/idea.png');
}

.wsb-icon-info {
    --wsb-icon-url: url('https://teaching.wsb.wisc.edu/design-library/assets/icons/info.png');
}

.wsb-icon-knowledge_check {
    --wsb-icon-url: url('https://teaching.wsb.wisc.edu/design-library/assets/icons/knowledge_check.png');
}

.wsb-icon-lecture {
    --wsb-icon-url: url('https://teaching.wsb.wisc.edu/design-library/assets/icons/lecture.png');
}

.wsb-icon-location {
    --wsb-icon-url: url('https://teaching.wsb.wisc.edu/design-library/assets/icons/location.png');
}

.wsb-icon-module {
    --wsb-icon-url: url('https://teaching.wsb.wisc.edu/design-library/assets/icons/module.png');
}

.wsb-icon-objective {
    --wsb-icon-url: url('https://teaching.wsb.wisc.edu/design-library/assets/icons/objective.png');
}

.wsb-icon-orientation {
    --wsb-icon-url: url('https://teaching.wsb.wisc.edu/design-library/assets/icons/orientation.png');
}

.wsb-icon-overview {
    --wsb-icon-url: url('https://teaching.wsb.wisc.edu/design-library/assets/icons/overview.png');
}

.wsb-icon-podcast {
    --wsb-icon-url: url('https://teaching.wsb.wisc.edu/design-library/assets/icons/podcast.png');
}

.wsb-icon-qanda {
    --wsb-icon-url: url('https://teaching.wsb.wisc.edu/design-library/assets/icons/qanda.png');
}

.wsb-icon-resources {
    --wsb-icon-url: url('https://teaching.wsb.wisc.edu/design-library/assets/icons/resources.png');
}

.wsb-icon-settings {
    --wsb-icon-url: url('https://teaching.wsb.wisc.edu/design-library/assets/icons/settings.png');
}

.wsb-icon-syllabus {
    --wsb-icon-url: url('https://teaching.wsb.wisc.edu/design-library/assets/icons/syllabus.png');
}

.wsb-icon-video {
    --wsb-icon-url: url('https://teaching.wsb.wisc.edu/design-library/assets/icons/video.png');
}


/** WSB Button Group **/
ul.wsb-button-group {
    display: flex;
    /* Distributes items */
    justify-content: center;
    /* Centers the group */
    gap: 10px;
    /* Space between buttons */
    list-style: none;
    /* Removes bullets */
    padding: 0;
    flex-wrap: wrap;

    &.wsb-button-group-square {

        li a {
            width: 150px;
            height: 150px;
            font-size: 15px;

            &::before {
                content: "";
                width: 100px;
                height: 100px;
            }
        }
    }

    li a {
        display: inline-flex;
        /* flex container, but stays inline with other text */
        flex-direction: column;
        /* stacks the ::before content above the text */
        align-items: center;
        /* centers the icon horizontally relative to text */
        gap: 4px;

        justify-content: center;
        /* Centers text inside */


        background-color: #fff;
        border: 2px solid #dcdcdc;
        border-radius: 15px;
        text-align: center;
        box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
        box-sizing: border-box;

        font-weight: bold;
        color: #000;
        /* text-decoration: none; */
        text-underline-offset: 5px;

        width: 250px;
        padding: 10px;

        /* Default to Bucky! */
        &::before {
            background-image: url('https://teaching.wsb.wisc.edu/design-library/assets/icons/bucky.png');
            background-size: contain;
            background-repeat: no-repeat;
            vertical-align: middle;
        }

        &:hover {
            background-color: #DCDCDC;
        }

    }

    /* Default first four buttons most comonly used on course home pages. */
    &> :nth-child(1) a::before,
    &>li.wsb-icon-getting_started a::before {
        background-image: url('https://teaching.wsb.wisc.edu/design-library/assets/icons/getting_started.png');
    }

    &> :nth-child(2) a::before,
    &>li.wsb-icon-syllabus a::before {
        background-image: url('https://teaching.wsb.wisc.edu/design-library/assets/icons/syllabus.png');
    }

    &> :nth-child(3) a::before,
    &>li.wsb-icon-calendar a::before {
        background-image: url('https://teaching.wsb.wisc.edu/design-library/assets/icons/calendar.png');
    }

    &> :nth-child(4) a::before,
    &>li.wsb-icon-qanda a::before {
        background-image: url('https://teaching.wsb.wisc.edu/design-library/assets/icons/qanda.png');
    }

    /* All other available icons for the button group. */
    &>li[class*="wsb-icon-"] a::before {
        background-image: var(--wsb-icon-url);
    }

}


/** WSB Profile **/
.wsb-profile {
    /* Tracks the inline-size (width) of this specific element */
    container-type: inline-size;
    container-name: wsb-profile-container;
    /* Optional: name it to isolate styles */

    width: 80%;
    max-width: 500px;
    height: auto;
    margin: 0 auto;

    display: grid;

    grid-template-columns: minmax(150px, auto) 1fr;
    /*grid-template-columns: 150px 1fr; */

    /**grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)) 1fr;**/

    background: #f9f9f9;
    color: #363537;

    border-radius: 15px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
    background-color: #fff;
    border: 2px solid #dcdcdc;

    padding: 24px;

    .wsb-profile-photo,
    img:nth-of-type(1) {
        border-radius: 50%;
        overflow: hidden;
        box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
        background-color: #fff;
        border: 2px solid #dcdcdc;
        width: 150px;
        height: 150px;
        /* Fixed image scaling */
        object-fit: cover;

        grid-row: 1;
        grid-column: 1;
    }

    .wsb-profile-name-and-title,
    div:nth-of-type(1) {
        font-family: var(--wsb-font-primary);
        padding-left: 10px;
        padding-top: 5px;
        grid-row: 1;
        grid-column: 2;

        & p:first-child,
        & p.wsb-profile-title {
            color: #1f2937;
            font-size: 1.75rem;
            font-weight: 700;
            line-height: 1;
            margin: 0 auto;
        }

        & p:nth-child(2),
        & p.wsb-profile-name {
            color: rgb(155, 1, 1);
            font-size: 1.25rem;
            font-weight: 600;
        }
    }

    .wsb-profile-bio,
    div:nth-of-type(2) {
        font-family: var(--wsb-font-secondary);
        grid-column: 1 / sapn 2;
    }

    .wsb-profile-actions,
    ul:nth-of-type(1) {
        grid-row: 3;
        grid-column: 1 / sapn 2;
        list-style-type: none;
        padding: 0;
        padding-top: 15px;
        margin: 0;
        display: flex;
        flex-direction: column;
        gap: 10px;

        &>li:first-child>a,
        &>li:first-child>button {
            background-color: #004c77;

            &:hover {
                background-color: rgba(0, 76, 119, 0.8);
            }
        }

        li a {
            font-size: 16px;
            font-weight: bold;
            font-family: var(--wsb-font-secondary);

            display: block;
            text-align: center;
            text-decoration: none;
            background-color: #494949;
            color: #ffffff;
            padding: 10px 20px;
            border-radius: 15px;
            transition: background-color 0.2s ease-in-out;

            &:hover {
                background-color: rgba(73, 73, 73, 0.8);
            }

            &:active {
                transform: translateY(1px);
            }

            position: relative;

            &[href^="mailto:"]::after {
                content: " ";
                background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='%23ffffff' viewBox='0 0 16 16'%3E%3Cpath d='M0 4a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2zm2-1a1 1 0 0 0-1 1v.217l7 4.2 7-4.2V4a1 1 0 0 0-1-1zm13 2.383-4.708 2.825L15 11.105zm-.034 6.876-5.64-3.471L8 9.583l-1.326-.795-5.64 3.47A1 1 0 0 0 2 13h12a1 1 0 0 0 .966-.741M1 11.105l4.708-2.897L1 5.383z'/%3E%3C/svg%3E");
                background-position: center;
                background-repeat: no-repeat;
                background-size: contain;
                width: 16px;
                height: 16px;
                text-align: center;
                display: inline-block;
                position: absolute;
                right: 16px;
                top: 12px;
            }

            &[target="_blank"]::after {
                content: " ";
                background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='13' height='13' fill='%23ffffff' viewBox='0 0 16 16'%3E%3Cpath fill-rule='evenodd' d='M8.636 3.5a.5.5 0 0 0-.5-.5H1.5A1.5 1.5 0 0 0 0 4.5v10A1.5 1.5 0 0 0 1.5 16h10a1.5 1.5 0 0 0 1.5-1.5V7.864a.5.5 0 0 0-1 0V14.5a.5.5 0 0 1-.5.5h-10a.5.5 0 0 1-.5-.5v-10a.5.5 0 0 1 .5-.5h6.636a.5.5 0 0 0 .5-.5z'/%3E%3Cpath fill-rule='evenodd' d='M16 .5a.5.5 0 0 0-.5-.5h-5a.5.5 0 0 0 0 1h3.793L6.146 9.146a.5.5 0 1 0 .708.708L15 1.707V5.5a.5.5 0 0 0 1 0v-5z'/%3E%3C/svg%3E");
                background-position: center;
                background-repeat: no-repeat;
                background-size: contain;
                width: 16px;
                height: 16px;
                text-align: center;
                display: inline-block;
                position: absolute;
                right: 16px;
            }

            &.wsb-profile-toggle {
                &::after {
                    content: " ";
                    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23ffffff'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");
                    background-position: center;
                    background-repeat: no-repeat;
                    background-size: contain;
                    width: 16px;
                    height: 16px;
                    text-align: center;
                    display: inline-block;

                    margin-left: auto;

                    transition: transform 0.35s;
                    position: absolute;
                    right: 16px;
                }

                &[aria-expanded="true"] {
                    border-bottom-left-radius: 0;
                    border-bottom-right-radius: 0;

                    &::after {
                        transform: rotate(180deg);
                    }

                    +p {
                        visibility: visible;
                        max-height: 500px;
                        display: block;
                        border-radius: 15px;
                        border-top-left-radius: 0;
                        border-top-right-radius: 0;
                        background-color: #fff;
                        border: 2px solid #dcdcdc;
                        border-top: none;
                        margin-top: 0px;
                        padding: 24px;
                    }
                }

                /*Targets the <p> immediately following this button */
                +p {
                    visibility: hidden;
                    overflow: hidden;
                    max-height: 0px;
                    transition: all 0.2s ease-in-out;
                    display: none;
                }
            }
        }
    }
}

/* Breakpoint for when the container itself is wider than 500px */
@container wsb-profile-container (max-width: 375px) {
    .wsb-profile {

        /** CSS Cannot change this element becuase it is the container 
        It is only used to add CSS specifitivity **/

        .wsb-profile-photo {
            grid-column: 1 / -1;
            grid-row: auto;
            margin: 0 auto;
        }

        .wsb-profile-name-and-title {
            grid-column: 1 / -1;
            grid-row: auto;
            margin-top: 10px;

            P {
                text-align: center;
            }
        }

        .wsb-profile-bio {
            grid-column: 1 / -1;
            grid-row: auto;
        }

        .wsb-profile-actions {
            grid-column: 1 / -1;
            grid-row: auto;
        }
    }
}


/* ** ** ** Canvas Sidebar Buttons ** ** ** */
.wsb-sidebar-button,
.wsb-topbar-button {
    background-color: #990000;
    color: #fff;
    position: relative;
    overflow: hidden;
    padding-right: 30px;
    border: solid 1px #990000;
    display: block;
    margin-top: 15px;
    margin-bottom: 15px;

    text-align: left;

    border-radius: 15px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);

    &:focus {
        background-color: #990000;
        color: #fff;
        border: solid 1px #990000;
        box-shadow: none;
        outline: solid 2px #990000;
        outline-offset: -2px;
    }

    &.wsb-button-beta::after {
        content: "Beta";
        position: absolute;
        text-align: center;
        width: 80px;
        padding-top: 2px;
        padding-bottom: 2px;
        bottom: 6px;
        right: -22px;
        font-size: 14px;
        line-height: 14px;
        font-weight: bold;
        background-color: #fff;
        color: #990000;
        border: solid 1px #990000;
        transform: rotate(-45deg);
        transform-origin: center;
    }
}

.wsb-topbar-button {
    display: inline-block;
    min-width: 125px;
    margin-right: 5px;
}

/* Make the first item in the sidebar button list have more space above it*/
.wsb-sidebar-button:nth-child(1 of .wsb-sidebar-button) {
    /* Overrides the default margin-top by the Canvas CSS.*/
    margin-top: 30px !important;
}


/*
.btn-primary {
    background: #007bff;
    color: white;
    border: none;
    padding: 12px 24px;
    border-radius: 6px;
    cursor: pointer;
    font-size: 1rem;
    font-weight: 500;
}

.btn-primary:hover {
    background: #0056b3;
}

.btn-secondary {
    background: #6c757d;
    color: white;
    border: none;
    padding: 12px 24px;
    border-radius: 6px;
    cursor: pointer;
    font-size: 1rem;
    font-weight: 500;
}

.btn-secondary:hover {
    background: #5a6268;
}

.alert-box {
    background: #fff3cd;
    color: #856404;
    padding: 16px;
    border-radius: 6px;
    border: 1px solid #ffeeba;
    width: 100%;
}

.info-card {
    border: 1px solid #e0e0e0;
    border-radius: 8px;
    padding: 20px;
    width: 280px;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.05);
    text-align: center;
}

.info-card h4 {
    margin-bottom: 8px;
    font-size: 1.2rem;
}

.info-card p {
    color: #666;
    font-size: 0.9rem;
}

*/

/* *     H e a d i n g s     * */
h1,
h2,
h3,
h4,
h5,
h6 {
    font-family: var(--wsb-font-primary);
}

/**
    614 = School of Business.man >> Teaching & LearningCourses
**/
body.wsb-canvas-account-614,
body.wsb-canvas-design-library {

    /*  Prevents the background from rendering when instructors/administrators see
        the heading while in editing mode.
    */
    .page-toolbar-start>.page-heading:has(> a:only-child) {
        background: none;
    }

    .page-heading {

        display: none !important;

        background: linear-gradient(45deg, rgba(104, 0, 24, 0.75) 25%, rgba(197, 5, 12, 0.50) 100%), url('https://teaching.wsb.wisc.edu/design-library/assets/backgrounds/angled-overlay-background.svg');

        background-size: cover;
        background-repeat: no-repeat;
        background-position: center bottom;
        min-height: 110px;
        display: flex;
        align-items: center;
        /* Centers vertically */
        padding-right: 110px;
        margin-block-start: 1em;
        margin-block-end: 1em;
        position: relative;
        overflow: hidden;
        width: 100%;

        &.icon::after {
            content: '';
            background: #ffffff url("https://business.wisc.edu/wp-content/uploads/2023/03/launch-rocket-black.svg") no-repeat;
            background-position: center center;
            background-size: 80px;
            min-height: 100px;
            width: 100px;
            position: absolute;
            right: 5px;
            top: 10;
            bottom: 10;
            z-index: 0;
        }

    }

    /*
    .page-heading::after {
    content: '';
    background: #ffffff url("https://business.wisc.edu/wp-content/uploads/2023/03/launch-rocket-black.svg") no-repeat;
    background-position: center center;
    background-size: 80px;
    min-height: 100px;
    width: 100px;
    position: absolute;
    right: 5px;
    top: 10;
    bottom: 10;
    z-index: 0;
    }
    */

    .page-heading .course-title {
        font-size: 2.375rem;
        /* The size of a "normal" H1 */
        color: #ffffff;
        padding: 0 10px;
    }

    /* Adding the wiki_page_show for additional CSS Specitivity */
    #wiki_page_show {
        .page-heading .course-title {
            font-size: 2.375rem;
            /* The size of a "normal" H1 */
            color: #ffffff;
            padding: 0 10px;
        }
    }
}

h2.wsb-heading {
    color: #9B0000;
    display: flex;
    width: 100%;
    align-items: center;

    &.wsb-heading-line {
        border-bottom: solid 3px #9B0000;
        padding-bottom: 5px;
    }

    &.wsb-heading-darkgray {
        color: #646569;

        &.wsb-heading-line {
            border-bottom: solid 3px #646569;
        }
    }

    &.wsb-heading-blue {
        color: #004C77;

        &.wsb-heading-line {
            border-bottom: solid 3px #004C77;
        }
    }

    &[class*="wsb-icon-"]::before {
        content: "";
        display: inline-block;
        width: 2.5em;
        height: 2.5em;
        margin-right: .25em;
        background-size: contain;
        background-repeat: no-repeat;
        vertical-align: middle;
        background-image: var(--wsb-icon-url);
    }

}

/* *     P a r a g r a p h s     * */
body:not(.gradebook) p,
body:not(.gradebook) div,
body:not(.gradebook) span,
body:not(.gradebook) li {
    font-family: var(--wsb-font-secondary);
    font-size: 18px;
    line-height: 27px;
}

/**         H o r i z o n t a l   R u l e s         **/
hr.wsb-hr {
    /* Define the default color variable */
    --hr-color: rgba(0, 0, 0, 0.5);

    font-family: var(--wsb-font-secondary);

    border: 0;
    display: block;
    height: 5px;
    width: 90%;
    margin: 50px auto;
    text-align: center;
    overflow: visible;

    /* Use the variable for your gradients */
    background: -webkit-linear-gradient(left,
            transparent,
            var(--hr-color),
            transparent);
    background: linear-gradient(to right,
            transparent,
            var(--hr-color),
            transparent);

    /* 3. Update the variable for modifier classes */
    &.wsb-hr-red {
        --hr-color: rgba(197, 5, 12, 0.5);
    }

    &.wsb-hr-darkred {
        --hr-color: rgba(155, 0, 0, 0.5);
    }

    &.wsb-hr-blue {
        --hr-color: rgba(0, 76, 119, 0.5);
    }

    /* Target all pseudo-elements that have a wsb-icon class */
    &[class*="wsb-icon-"]::after {
        content: "";
        display: inline-block;
        position: relative;
        top: -40px;
        width: 80px;
        height: 80px;
        background-color: #ffffff;
        background-size: cover;
        background-position: center;
        border-radius: 50%;
        box-sizing: border-box;

        /* The border automatically inherits the correct color */
        border: 5px solid var(--hr-color);

        padding: 5px;
        background-origin: content-box;
        background-image: var(--wsb-icon-url);

        /* Used in the rare occision the icon duplicates itself within the border. */
        background-clip: padding-box;

    }

    &.wsb-hr-content::after {
        content: attr(data-wsb-hr-content);
        display: inline-block;
        position: relative;
        top: -37.5px;
        width: 75px;
        height: 75px;
        background-color: #ffffff;
        border-radius: 50%;
        box-sizing: border-box;
        border: 5px solid var(--hr-color);
        font-family: var(--wsb-font-primary);
        font-size: 45px;
        font-weight: bold;
        color: rgb(from var(--hr-color) r g b / .75);
        text-align: center;
        line-height: 60px;
    }
}

/* ***** Custom Design Puls Carousel ***** */
#wsb-custom-module-list #wsb-date-range {
    display: block;
    padding: 0;
    margin: 0;
    width: 100%;
    position: absolute;
    bottom: 15px;
    text-align: center;
    font-weight: bold;
}

#wsb-custom-module-list .dp-module-list-processed {
    margin: 0;
}

#wsb-custom-module-list nav.dp-module-list-basic {
    position: relative;
    height: 250px;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    border-radius: 15px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
    background-color: #fff;
    border: 2px solid #dcdcdc;

}

/* Unordered list reset */
#wsb-custom-module-list ul.fa-ul {
    list-style: none;
    padding: 0;
    margin: 0;
    width: 100%;
    height: 100%;
    position: relative;
}

/* Base style for all slides (Hidden by default) */
#wsb-custom-module-list ul.fa-ul>li {
    position: absolute;
    width: 33%;
    height: 50%;
    background-color: #9B0000;
    color: white;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.2rem;
    font-weight: bold;
    border-radius: 8px;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%) scale(0.5);
    /* Scaled down and centered */
    opacity: 0;
    transition: all 0.4s ease-in-out;
    z-index: 1;
}


#wsb-custom-module-list ul.fa-ul>li a {
    color: #ffffff;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 100%;
    text-decoration: none;
    padding: .25em;
    text-align: center;
}

#wsb-custom-module-list ul.fa-ul>li a:hover {
    text-decoration: underline;
}

#wsb-custom-module-list ul.fa-ul>li a span.fa-li {
    display: none;
}

/* Specific style for the blank slide */
#wsb-custom-module-list ul.fa-ul>li.blank {
    background-color: transparent;
    color: #7f8c8d;
    border: 3px dashed #bdc3c7;
}

/* Visible States */
#wsb-custom-module-list ul.fa-ul>li.prev {
    left: 20%;
    transform: translate(-50%, -50%) scale(0.85);
    opacity: 0.6;
    z-index: 2;
    /* Prevent clicking on previous slide */
    pointer-events: none;
    cursor: default;
}

#wsb-custom-module-list ul.fa-ul>li.active {
    left: 50%;
    transform: translate(-50%, -50%) scale(1.2);
    /* Center and slightly larger */
    opacity: 1;
    z-index: 3;
    /* Highlight the active item */
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}

#wsb-custom-module-list ul.fa-ul>li.active.blank {
    background-color: transparent;
    /* Keep blank styling when active */
}

#wsb-custom-module-list ul.fa-ul>li.next {
    left: 80%;
    transform: translate(-50%, -50%) scale(0.85);
    opacity: 0.6;
    z-index: 2;
    /* Prevent clicking on next slide */
    pointer-events: none;
    cursor: default;
}

/* Navigation Buttons */
#wsb-custom-module-list .carousel-btn {
    position: absolute;
    z-index: 10;
    background: #2c3e50;
    color: white;
    border: none;
    border-radius: 50%;
    width: 40px;
    height: 40px;
    font-size: 1.5rem;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background 0.2s;
}

#wsb-custom-module-list .carousel-btn:hover {
    background: #1a252f;
}

#wsb-custom-module-list #wsb-previous-module {
    left: 10px;
}

#wsb-custom-module-list #wsb-next-module {
    right: 10px;
}




/* ******************************** */


/* PROFILE CARD STYLING */
.profile-card {
    width: 100%;
    padding: 25px;
    background-color: #fff;
    border: 2px solid #dcdcdc;
    border-radius: 15px;
    text-align: center;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
    box-sizing: border-box;
}

/* PROFILE IMAGE */
.profile-card img {
    width: 100%;
    /*height: 100%;*/
    border-radius: 50%;
    border: 3px solid #007bff;
    /*margin: 15px;*/
}

.profile-card ul {
    padding: 10px;
    font-size: 1.4em;
    list-style-type: none;
    margin: 0;
}

.profile-card li {
    text-align: left;
    line-height: 1.4;
}

.profile-card li .ig-type-icon {
    display: inline-block;
}

.row {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    width: 100%;
}

.column {
    display: flex;
    flex-direction: column;
    flex-basis: 100%;
    flex: 1;
}

.column-double {
    display: flex;
    flex-direction: column;
    flex-basis: 100%;
    flex: 2;
}

.profile-card table,
.profile-card th,
.profile-card td {
    border: none;
    border-collapse: collapse;
}

.profile-card table {
    margin-top: 15px;
    font-size: 1.25em;
    text-align: left;
}

.profile-card table tr td:first-child {
    font-weight: bold;
    vertical-align: top;
    white-space: nowrap;
    padding-right: 15px;
}


#wsb-ta-profile-cards summary {
    font-size: calc(1.3rem + 0.6vw);
}

#wsb-ta-profile-cards summary h3 {
    display: inline;
}

body {
    &.gradebook {
        font-size: 16px;
        font-weight: normal;
        line-height: 1.5;
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale;
        font-family: LatoWeb, "Lato Extended", Lato, "Helvetica Neue", Helvetica, Arial, sans-serif;

        div#main {
            font-size: 16px;
            font-weight: normal;
            line-height: 1.5;
            -webkit-font-smoothing: antialiased;
            -moz-osx-font-smoothing: grayscale;
            font-family: LatoWeb, "Lato Extended", Lato, "Helvetica Neue", Helvetica, Arial, sans-serif;

            p,
            div,
            span,
            li {
                /* 08-2026: Updates to have the gradebook readable with WSB branding */
                /*font-size: inherit;*/
                font-weight: inherit;
                line-height: inherit;
                -webkit-font-smoothing: inherit;
                -moz-osx-font-smoothing: inherit;
                font-family: inherit;
            }
        }


    }

}