/* ================================================================================================================
General Styling (Changes pushed live on 30-mar-2021)
================================================================================================================ */

    /* ---------------------------------------------------
    General HTML Elements & Classes
    --------------------------------------------------- */
    
    :root {
        --primary: rgba(94,32,125, 1);
        --secondary: rgba(33,188,187, 1);
        --tertiary: rgba(164,151,201, 1);
        --quaternary: rgba(245,127,39, 1);
        --quinary: rgba(244,161,39, 1);
        --senary: rgba(240,73,70, 1);
        --primary-o15: rgba(94,32,125, 0.15);
        --secondary-o15: rgba(33,188,187, 0.15);
        --tertiary-o15: rgba(164,151,201, 0.15);
        --quaternary-o15: rgba(245,127,39, 0.15);
        --quinary-o15: rgba(244,161,39, 0.15);
        --senary-o15: rgba(240,73,70, 0.15);
        --color-text: rgba(33,32,33, 1);
        --color-h1: rgba(255,255,255, 1);
        --color-h2: rgba(94,32,125, 1);
        --card-border-radius: 0px 30px;
        --alt-border-radius: 0px 12px;
    }

    html {
        scroll-behavior: smooth;
        height: 100%;
    }
    
    body {
        height: 100%;
        display: flex;
        flex-direction: column;
        background-color: #fcfbfd;
    }
    
    .w-45 {
        width: 45%;
    }
    
    /* ---------------------------------------------------
    Generic Colours
    --------------------------------------------------- */
    
    .bg-lms-blue {
        background-color: var(--primary) !important;
        color: #fff !important;
    }
    
    .c-lms-blue {
        color: var(--primary) !important;
    }
    
    /* ---------------------------------------------------
    Scrollbar Styling
    --------------------------------------------------- */
    
    ::-webkit-scrollbar {
        display: initial;
        width: 16px;
        background-color: transparent;
    }
    
    ::-webkit-scrollbar-button {
        display: none;
    }
    
    ::-webkit-scrollbar-thumb {
        background: #dadce0;
        background-clip: padding-box;
        border: 4px solid transparent;
        border-radius: 8px;
        box-shadow: none;
        min-height: 50px;
    }
    
    ::-webkit-scrollbar-track {
        background: none;
        border: none;
    }
    
    .no-scroll {
        overflow: hidden;
    }
    
    /* ---------------------------------------------------
    Umbraco Grid Layout
    --------------------------------------------------- */
    .umb-block-grid {
        display: grid;
        grid-template-columns: repeat(var(--umb-block-grid--grid-columns), 1fr);
    }
    .umb-block-grid__layout-container {
        display: inherit;
        grid-column: span var(--umb-block-grid--grid-columns);
        grid-template-columns: var(--umb-block-grid--grid-columns);
        column-gap: 15px;
    }
    .umb-block-grid__layout-item {
        grid-column: span var(--umb-block-grid--item-column-span);
    }
    .umb-block-grid__area-container {
        display: grid;
        grid-template-columns: repeat(var(--umb-block-grid--area-grid-columns), 1fr);
        gap: 15px;
    }
    .umb-block-grid__area {
        grid-column: span var(--umb-block-grid--area-column-span);
    }

/* ================================================================================================================
Header Styling
================================================================================================================ */

    header {
        width: 100%;
        height: 56px;
        position: fixed;
        display: flex;
        background-color: #fff;
        padding: 2px 0.5rem;
        justify-content: space-between;
        align-items: center;
        z-index: 101;
        border-bottom: 1px solid #e1e6eb;
    }
    
    /* ---------------------------------------------------
    Title Header Styling
    --------------------------------------------------- */
    
    #module-menu {
        display: none;
    }
    
    .button-menu {
        padding: 6px;
        border-radius: 50%;
        background-color: transparent;
        cursor: pointer;
        transition: all 200ms ease-in;
    }
    
    .button-menu:hover {
        background-color: rgb(238, 238, 238);
        background-color: rgba(33,33,33, 0.1);
        border-radius: 50%;
        padding: 6px;
    }
    
    .page-title {
        margin-left: 5%;
        margin-bottom: 0;
    }
    
    .page-title a,
    .page-title a:hover {
        display: flex;
        color: #212529;
        text-decoration: none;
        vertical-align: middle;
    }
    
    #desktop-search {
        width: 20%;
        margin-right: 5%;
    }

    /* ---------------------------------------------------
    Navigation Header Styling
    --------------------------------------------------- */

    .navigation {
        padding: 0;
        top: 56px;
        overflow: hidden;
        align-items: stretch;
        background-color: #fff;
        z-index: 100;
        box-shadow: 0 2px 4px -1px #dfdfdf;
    }
    
    /* ---------------------------------------------------
    Desktop Navigation
    --------------------------------------------------- */

    #desktop-nav {
        width: 90%;
        margin: 0 5%;
        display: flex;
        gap: 10px;
        background-color: #fff;
        align-items: stretch;
        transition: all 300ms ease-in-out;
    }
    
    #desktop-nav .nav-link {
        position: relative;
        width: 120px;
        height: 56px;
        display: flex;
        flex-direction: row;
        gap: 10px;
        justify-content: center;
        align-items: center;
        text-align: center;
        font-size: 0.8rem;
        padding: 0.6rem;
        transition: all 300ms ease-in-out;
    }
    
    #desktop-nav .nav-link svg {
        display: block;
        width: 20px;
    }
    
    #desktop-nav .nav-link,
    #desktop-nav .nav-link svg g.module-icon {
        color: rgba(34, 54, 61, 0.6);
        stroke: rgba(34, 54, 61, 0.6);
        fill: rgba(34, 54, 61, 0.6);
    }
    
    #desktop-nav .nav-link:hover,
    #desktop-nav .nav-link:hover svg g.module-icon,
    #desktop-nav .nav-link.active,
    #desktop-nav .nav-link.active svg g.module-icon {
        color: var(--primary);
        stroke: var(--primary);
        fill: var(--primary);
    }

    #desktop-nav .nav-link:hover::after,
    #desktop-nav .nav-link.active::after {
        display: block;
        position: absolute;
        content: "";
        padding: 2.25px;
        width: 100%;
        left: 0;
        bottom: 0;
        background-color: var(--primary);
        animation-name: switchTabs;
        animation-duration: 400ms;
        animation-timing-function: ease-in-out;
    }

/* ================================================================================================================
Animations
================================================================================================================ */

    @keyframes button-gradien-in {
        
        0% {
            background-position: 0%;
        }
        
        50% {
            background-position: 50%;
        }
        
        100% {
            background-position: 77%;
        }
      
    }
    
    @keyframes button-gradien-out {
        
        0% {
            background-position: 77%;
        }
        
        50% {
            background-position: 50%;
        }
        
        100% {
            background-position: 0%;
        }
      
    }
    
    @keyframes switchTabs {
        
        0% {
            transform: scale(0);
        }
    
        100% {
            transform: scale(1);
        }
        
    }