.theme-your-university,
.theme-your-university curriculum-tag-selector,
.theme-your-university curriculum-tags-assigned {

    /**
     * ----------------------------------------------------------------------------------------------------
     * ANIMATION
     * ----------------------------------------------------------------------------------------------------
     */

    /* --- Animation: Easing Functions --- */
    --ejs-easing---d: ease-in-out; 

    /* --- Animation: Transition Durations --- */
    --ejs-duration-transition---d:    0.2s;                                             /* 200ms */
    --ejs-duration-transition--quick: calc(var(--ejs-duration-transition---d) / 2);     /* 100ms */
    --ejs-duration-transition--slow:  calc(var(--ejs-duration-transition---d) * 2);     /* 400ms */

    /* --- Animation: Fade Preset (Default) --- */
    --ejs-animate-in---d:       none;       /*   "Fade In" Animation */
    --ejs-animate-out---d:      none;       /*  "Fade Out" Animation */

    /* --- Animation: Slide Preset --- */
    --ejs-animate-in--slide:    none;       /*  "Slide In" Animation */
    --ejs-animate-out--slide:   none;       /* "Slide Out" Animation */

    /**
     * ----------------------------------------------------------------------------------------------------
     * BORDER
     * ----------------------------------------------------------------------------------------------------
     */

    /* --- Border: Width --- */
    --ejs-border-width---d: 1px;

    /* --- Border: Radius --- */
    --ejs-border-radius--unit: 5px;                                             /*   5px */
    --ejs-border-radius---d:   var(--ejs-border-radius--unit);                  /*   5px */
    --ejs-border-radius--sm:   calc(var(--ejs-border-radius--unit) * 0.5);      /* 2.5px */
    --ejs-border-radius--lg:   calc(var(--ejs-border-radius--unit) * 2);        /*  10px */
    
    /**
     * ----------------------------------------------------------------------------------------------------
     * BREAKPOINTS
     * ----------------------------------------------------------------------------------------------------
     */
    
     /* --- Minimum Width --- */
    --ejs-break-min--sm:        480px;
    --ejs-break-min--md:        600px;
    --ejs-break-min--lg:        920px;
    --ejs-break-min--xl:       1500px;

    /* --- Maximum Width --- */
    --ejs-break-max--xs:        479px;
    --ejs-break-max--sm:        599px;
    --ejs-break-max--md:        919px;
    --ejs-break-max--lg:       1499px;

    /**
     * ----------------------------------------------------------------------------------------------------
     * COLOR
     * ----------------------------------------------------------------------------------------------------
     */

    /* --- Color: Standards --- */
    --ejs-color--black:                     0, 0, 0;                                /* #000000 */
    --ejs-color--white:                     255, 255, 255;                          /* #ffffff */
    --ejs-color-grey--light:                248, 251, 253;                          /* #f8fbfd */
    --ejs-color-grey--medium:               236, 240, 243;                          /* #ecf0f3 */
    --ejs-color-grey--dark:                 139, 149, 157;                          /* #8b959d */

    /* --- Color: Brand --- */
    --ejs-color-brand--primary:             87, 184, 86;                            /* #57b856 */
    --ejs-color-brand--secondary:           23, 50, 60;                             /* #17323c */
    --ejs-color-brand--text:                var(--ejs-color--white);                /* #ffffff */  

    /* --- Color: Layout --- */
    --ejs-color-layout--body:               244, 247, 250;                          /* #f4f7fa */
    --ejs-color-layout--body-track:         var(--ejs-color-grey--medium);          /* #ecf0f3 */
    --ejs-color-layout--border:             217, 222, 226;                          /* #d9dee2 */
    --ejs-color-layout--muted:              230, 235, 238;                          /* #e6ebee */ 
    --ejs-color-layout--disabled:           var(--ejs-color-grey--medium);          /* #ecf0f3 */
    --ejs-color-layout--preformatted:       var(--ejs-color-layout--muted);         /* #e6ebee */

    /* --- Color: State --- */
    --ejs-color-state--success:             87, 184, 86;                            /* #57b856 */
    --ejs-color-state--success-hov:         67, 153, 66;                            /* #439942 */
    --ejs-color-state--info:                2, 142, 212;                            /* #028ed4 */
    --ejs-color-state--info-hov:            5, 123, 182;                            /* #057bb6 */
    --ejs-color-state--important:           0, 102, 153;                            /* #006699 */
    --ejs-color-state--important-hov:       0, 84, 126;                             /* #00547e */
    --ejs-color-state--error:               243, 39, 83;                            /* #f32753 */
    --ejs-color-state--error-hov:           225, 32, 73;                            /* #e12049 */
    --ejs-color-state--focus:               var(--ejs-color-state--info);           /* #028ed4 */

    /* --- Color: Interactive --- */
    --ejs-color-interact---d:               var(--ejs-color-grey--light);           /* #f8fbfd */
    --ejs-color-interact--add:              var(--ejs-color-state--success);        /* #57b856 */
    --ejs-color-interact--confirm:          var(--ejs-color-state--success);        /* #57b856 */
    --ejs-color-interact--edit:             var(--ejs-color-state--important);      /* #006699 */
    --ejs-color-interact--error:            var(--ejs-color-state--error);          /* #f32753 */
    --ejs-color-interact--remove:           var(--ejs-color-state--error);          /* #f32753 */
    --ejs-color-interact--delete:           var(--ejs-color-state--error);          /* #f32753 */
    --ejs-color-interact--disabled:         var(--ejs-color-grey--medium);          /* #ecf0f3 */

    /* --- Color: Text --- */
    --ejs-color-text---d:                   55, 85, 94;                             /* #37555e */ 
    --ejs-color-text--link:                 2, 142, 212;                            /* #4a89a9 */
    --ejs-color-text--link-hov:             5, 123, 182;                            /* #057bb6 */
    --ejs-color-text--interactive:          var(--ejs-color--white);                /* #ffffff */
    --ejs-color-text--disabled:             var(--ejs-color-grey--dark);            /* #8b959d */
    --ejs-color-text--heading:              var(--ejs-color-brand--secondary);      /* #17323c */
    
    /* --- Color: Icon --- */
    --ejs-color-icon---d:                   107, 141, 152;                          /* #6b8d98 */
    --ejs-color-icon--disabled:             var(--ejs-color-grey--dark);            /* #8b959d */

    /* --- Color: Palette --- */
    --ejs-color-palette--red:               228, 0, 0;                              /* #e40000 */
    --ejs-color-palette--orange:            248, 137, 33;                           /* #f88921 */
    --ejs-color-palette--yellow:            251, 191, 69;                           /* #fbbf45 */
    --ejs-color-palette--green:             170, 217, 98;                           /* #aad962 */
    --ejs-color-palette--blue:              12, 44, 124;                            /* #0c2c7c */
    --ejs-color-palette--indigo:            26, 19, 52;                             /* #1a1334 */
    --ejs-color-palette--violet:            113, 1, 98;                             /* #710162 */
    --ejs-color-palette--magenta:           237, 2, 68;                             /* #ed0345 */

    /**
     * ----------------------------------------------------------------------------------------------------
     * ICONOGRAPHY
     * ----------------------------------------------------------------------------------------------------
     */

    /* --- Iconography: Buttons --- */ 
    --ejs-icon-button--add:         '\f067';        /*       fa-plus */
    --ejs-icon-button--remove:      '\f068';        /*      fa-minus */
    --ejs-icon-button--confirm:     '\f00c';        /*      fa-check */
    --ejs-icon-button--edit:        '\f040';        /*     fa-pencil */
    --ejs-icon-button--delete:      '\f2ed';        /*  fa-trash-alt */
    --ejs-icon-button--search:      '\f002';        /*     fa-search */

    /**
     * ----------------------------------------------------------------------------------------------------
     * LAYERING
     * ----------------------------------------------------------------------------------------------------
     */

    /**
     * ----------------------------------------------------------------------------------------------------
     * SPACING
     * ----------------------------------------------------------------------------------------------------
     */

    /* --- Spacing: Base Unit --- */
    --ejs-spacing--unit: 20px;                                      /*      20px */

    /* --- Spacing: Gap Unit --- */
    --ejs-spacing--gap: var(--ejs-spacing--unit);                   /*      20px */

    /* --- Spacing: Multiplications and Fractions --- */
    --ejs-spacing--3xs: calc(var(--ejs-spacing--unit) * 0.10);      /*       2px */
    --ejs-spacing--2xs: calc(var(--ejs-spacing--unit) * 0.125);     /*     2.5px */
    --ejs-spacing--xs:  calc(var(--ejs-spacing--unit) * 0.25);      /*       5px */
    --ejs-spacing--sm:  calc(var(--ejs-spacing--unit) * 0.5);       /*      10px */
    --ejs-spacing---d:  calc(var(--ejs-spacing--unit) * 0.75);      /*      15px */
    --ejs-spacing--lg:  var(--ejs-spacing--unit);                   /*      20px */
    --ejs-spacing--xl:  calc(var(--ejs-spacing--unit) * 1.5);       /*      30px */
    --ejs-spacing--2xl: calc(var(--ejs-spacing--unit) * 2.0);       /*      40px */
    --ejs-spacing--3xl: calc(var(--ejs-spacing--unit) * 2.5);       /*      50px */

    /* --- Layout: Multiplications and Fractions --- */
    --ejs-layout--2xs:  var(--ejs-spacing---d);                     /*      15px */
    --ejs-layout--xs:   var(--ejs-spacing--lg);                     /*      20px */
    --ejs-layout--sm:   var(--ejs-spacing--2xl);                    /*      40px */
    --ejs-layout---d:   var(--ejs-spacing--3xl);                    /*      50px */
    --ejs-layout--lg:   calc(var(--ejs-spacing--unit) * 3);         /*      60px */
    --ejs-layout--xl:   calc(var(--ejs-spacing--unit) * 3.75);      /*      75px */
    --ejs-layout--2xl:  calc(var(--ejs-spacing--unit) * 4.5);       /*      90px */

    /* --- Layout: Grid Row --- */
    --ejs-layout--row:  var(--ejs-layout---d);                      /*      50px */

    /**
     * ----------------------------------------------------------------------------------------------------
     * TYPOGRAPHY
     * ----------------------------------------------------------------------------------------------------
     */

    /* --- Typography: Families --- */
    --ejs-type-family--primary:     "Poppins", "Helvetica Neue", Helvetica, Arial, sans-serif;
    --ejs-type-family--secondary:   "Source Sans Pro", sans-serif;
    --ejs-type-family--mono:        "Source Code Pro", monospace;
    --ejs-type-family--icon:        normal normal normal 1em / 1 FontAwesome;

    /* --- Typography: Sizes --- */
    --ejs-type-size--sm:    0.9em;
    --ejs-type-size---d:      1em;
    --ejs-type-size--md:    1.1em;
    --ejs-type-size--lg:    1.2em;
    --ejs-type-size--xl:    1.5em;
    --ejs-type-size--2xl:     2em;

    /* --- Typography: Weights --- */
    --ejs-type-weight---d:          400;
    --ejs-type-weight--medium:      500;
    --ejs-type-weight--semi-bold:   600;
    --ejs-type-weight--bold:        700;

}

.theme-your-university.theme-dark,
.theme-your-university.theme-dark curriculum-tag-selector,
.theme-your-university.theme-dark curriculum-tags-assigned {

    /**
     * ----------------------------------------------------------------------------------------------------
     * COLOR
     * ----------------------------------------------------------------------------------------------------
     */

    /* --- Color: Standards --- */
    --ejs-color--black:                     17, 36, 43; 
    --ejs-color--white:                     29, 63, 73;
    --ejs-color-grey--light:                28, 62, 72;
    --ejs-color-grey--medium:               27, 60, 70;
    --ejs-color-grey--dark:                 25, 49, 58;

    /* --- Color: Brand --- */
    --ejs-color-brand--primary:             87, 184, 86;
    --ejs-color-brand--secondary:           23, 50, 60;
    --ejs-color-brand--text:                169, 200, 211;

    /* --- Color: Layout --- */
    --ejs-color-layout--body:               31, 64, 74;
    --ejs-color-layout--body-track:         30, 62, 72;
    --ejs-color-layout--border:             28, 57, 67;
    --ejs-color-layout--disabled:           34, 70, 80;
    --ejs-color-layout--preformatted:       27, 60, 70;

    /* --- Color: State --- */
    --ejs-color-state--error:               229, 52, 90;
    --ejs-color-state--error-hov:           200, 41, 75;
    --ejs-color-state--focus:               20, 166, 238;

    /* --- Color: Interactive --- */
    --ejs-color-interact---d:               var(--ejs-color-grey--light);
    --ejs-color-interact--add:              var(--ejs-color-state--success);
    --ejs-color-interact--confirm:          var(--ejs-color-state--success);
    --ejs-color-interact--edit:             var(--ejs-color-state--important);
    --ejs-color-interact--error:            var(--ejs-color-state--error);
    --ejs-color-interact--remove:           var(--ejs-color-state--error);
    --ejs-color-interact--delete:           var(--ejs-color-state--error);
    --ejs-color-interact--disabled:         62, 107, 121;

    /* --- Color: Text --- */
    --ejs-color-text---d:                   169, 200, 211;
    --ejs-color-text--link:                 20, 166, 238;
    --ejs-color-text--link-hov:             5, 123, 182;
    --ejs-color-text--interactive:          255, 255, 255;
    --ejs-color-text--disabled:             62, 107, 121;
    --ejs-color-text--heading:              169, 200, 211;

    /* --- Color: Icon --- */
    --ejs-color-icon---d:                   107, 141, 152;              
    --ejs-color-icon--disabled:             var(--ejs-color-interact--disabled);

    /* --- Header --- */
    --ejs-header-color--background:                     16, 45, 55;
    --ejs-header-color--rule:                           33, 68, 80;
    --ejs-header-color--link:                        111, 164, 170;
    --ejs-header-color--link-hov:                    255, 255, 255;
    --ejs-header-color--link-hov-background:            24, 54, 63;
    --ejs-header-color--dropdown-background:            11, 36, 45;

    /* --- Sidebar --- */
    --ejs-sidebar-color--background:                   22,  53,  63;
    --ejs-sidebar-color--link-hov:                     19,  49,  59;
    --ejs-sidebar-color--active:                       33,  67,  77;
    
    /**
     * ----------------------------------------------------------------------------------------------------
     * BORDER
     * ----------------------------------------------------------------------------------------------------
     */

    /* --- Border: Width --- */
    --ejs-border-width---d: 2px;

    /* --- Border: Radius --- */
    --ejs-border-radius--unit: 5px;                                             /*   5px */
    --ejs-border-radius---d:   var(--ejs-border-radius--unit);                  /*   5px */
    --ejs-border-radius--sm:   calc(var(--ejs-border-radius--unit) * 0.5);      /* 2.5px */
    --ejs-border-radius--lg:   calc(var(--ejs-border-radius--unit) * 2);        /*  10px */

}

.theme-your-university.theme-accessible,
.theme-your-university.theme-accessible curriculum-tag-selector,
.theme-your-university.theme-accessible curriculum-tags-assigned {

    /**
     * ----------------------------------------------------------------------------------------------------
     * COLOR
     * ----------------------------------------------------------------------------------------------------
     */

    /* --- Color: Standards --- */
    --ejs-color--black:                     20, 20, 20; 
    --ejs-color--white:                        0, 0, 0;
    --ejs-color-grey--light:                   8, 8, 8;
    --ejs-color-grey--medium:                  0, 0, 0;
    --ejs-color-grey--dark:              180, 180, 180;

    /* --- Color: Brand --- */
    --ejs-color-brand--primary:           255, 255, 97;
    --ejs-color-brand--secondary:              0, 0, 0;
    --ejs-color-brand--text:             255, 255, 255;

    /* --- Color: Layout --- */
    --ejs-color-layout--body:               15, 15, 15;
    --ejs-color-layout--body-track:         15, 15, 15;
    --ejs-color-layout--border:             85, 85, 85;
    --ejs-color-layout--disabled:           30, 30, 30;
    --ejs-color-layout--preformatted:       25, 25, 25;

    /* --- Color: State --- */
    --ejs-color-state--success:            22, 229, 126;
    --ejs-color-state--success-hov:        17, 191, 104;
    --ejs-color-state--info:               255, 255, 97;
    --ejs-color-state--info-hov:            255, 162, 0;
    --ejs-color-state--important:          255, 255, 97;
    --ejs-color-state--important-hov:       255, 162, 0; 
    --ejs-color-state--error:               255, 50, 50;
    --ejs-color-state--error-hov:             187, 0, 0;
    --ejs-color-state--focus:              255, 255, 97;

    /* --- Color: Interactive --- */
    --ejs-color-interact---d:               0, 0, 0;
    --ejs-color-interact--add:              var(--ejs-color-state--success);
    --ejs-color-interact--confirm:          var(--ejs-color-state--success);
    --ejs-color-interact--edit:             var(--ejs-color-state--important);
    --ejs-color-interact--error:            var(--ejs-color-state--error);
    --ejs-color-interact--remove:           var(--ejs-color-state--error);
    --ejs-color-interact--delete:           var(--ejs-color-state--error);
    --ejs-color-interact--disabled:         100, 100, 100;

    /* --- Color: Text --- */
    --ejs-color-text---d:                   255, 255, 255;
    --ejs-color-text--link:                 255, 255, 97;
    --ejs-color-text--link-hov:             255, 162, 0;
    --ejs-color-text--interactive:          255, 255, 255;
    --ejs-color-text--disabled:             100, 100, 100;
    --ejs-color-text--heading:              255, 255, 255;

    /* --- Color: Icon --- */
    --ejs-color-icon---d:                   255, 255, 255;              
    --ejs-color-icon--disabled:             var(--ejs-color-interact--disabled);

    /* --- Header --- */
    --ejs-header-color--background:                     20, 20, 20;
    --ejs-header-color--rule:                              0, 0, 0;
    --ejs-header-color--link:                        255, 255, 255;
    --ejs-header-color--link-hov:                     255, 255, 97;
    --ejs-header-color--link-hov-background:               8, 8, 8;
    --ejs-header-color--dropdown-background:               8, 8, 8;

    /* --- Sidebar --- */
    --ejs-sidebar-color--background:                   10,  10,  10;
    --ejs-sidebar-color--link-hov:                     20,  20,  20;
    --ejs-sidebar-color--active:                       20,  20,  20;
    
    /**
     * ----------------------------------------------------------------------------------------------------
     * BORDER
     * ----------------------------------------------------------------------------------------------------
     */

    /* --- Border: Width --- */
    --ejs-border-width---d: 2px;

    /* --- Border: Radius --- */
    --ejs-border-radius--unit: 0px;                                             /*   0px */
    --ejs-border-radius---d:   var(--ejs-border-radius--unit);                  /*   0px */
    --ejs-border-radius--sm:   var(--ejs-border-radius--unit);                  /*   0px */
    --ejs-border-radius--lg:   var(--ejs-border-radius--unit);                  /*   0px */

}

.theme-your-university.theme-large,
.theme-your-university.theme-large curriculum-tag-selector, 
.theme-your-university.theme-large curriculum-tags-assigned {

    /**
     * ----------------------------------------------------------------------------------------------------
     * SPACING
     * ----------------------------------------------------------------------------------------------------
     */

    /* --- Spacing: Multiplications and Fractions --- */
    --ejs-spacing--3xs: calc(var(--ejs-spacing--unit) * 0.10 + 5px);        /*       7px */
    --ejs-spacing--2xs: calc(var(--ejs-spacing--unit) * 0.125 + 5px);       /*     7.5px */
    --ejs-spacing--xs:  calc(var(--ejs-spacing--unit) * 0.25 + 5px);        /*      10px */
    --ejs-spacing--sm:  calc(var(--ejs-spacing--unit) * 0.5 + 5px);         /*      15px */
    --ejs-spacing---d:  calc(var(--ejs-spacing--unit) * 0.75 + 5px);        /*      20px */
    --ejs-spacing--lg:  calc(var(--ejs-spacing--unit) + 5px);               /*      25px */
    --ejs-spacing--xl:  calc(var(--ejs-spacing--unit) * 1.5 + 5px);         /*      35px */
    --ejs-spacing--2xl: calc(var(--ejs-spacing--unit) * 2.0 + 5px);         /*      45px */
    --ejs-spacing--3xl: calc(var(--ejs-spacing--unit) * 2.5 + 5px);         /*      55px */

    /* --- Layout: Multiplications and Fractions --- */
    --ejs-layout--2xs:  var(--ejs-spacing---d);                             /*      20px */
    --ejs-layout--xs:   var(--ejs-spacing--lg);                             /*      25px */
    --ejs-layout--sm:   var(--ejs-spacing--2xl);                            /*      45px */
    --ejs-layout---d:   var(--ejs-spacing--3xl);                            /*      55px */
    --ejs-layout--lg:   calc(var(--ejs-spacing--unit) * 3 + 5px);           /*      65px */
    --ejs-layout--xl:   calc(var(--ejs-spacing--unit) * 3.75 + 5px);        /*      80px */
    --ejs-layout--2xl:  calc(var(--ejs-spacing--unit) * 4.5 + 5px);         /*      95px */

    /* --- Layout: Grid Row --- */
    --ejs-layout--row:  var(--ejs-layout---d);                              /*      55px */

}
