/*******************************
 Style Sheet - RXPreceptor.com
 Version: 7.20
********************************/

/********** CORE STYLES ************************************/
body { font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", "Helvetica", "Arial", sans-serif;
    font-size: .75em; margin:0px;	padding:0px; color:#000000; background-color: #ffffff }

/* Shell layout: div-based (no table) for accessibility; display:table preserves visual layout */
#shell.shell-layout { display: table; width: 100%; border: none !important; padding: 0px; border-collapse: collapse }
#shell.shell-layout .shell_thead { display: table-header-group }
#shell.shell-layout .shell_tbody { display: table-row-group }
#shell.shell-layout .shell_tfoot { display: table-footer-group }
#shell.shell-layout .shell_row { display: table-row }
#shell.shell-layout .shell_search_row,
#shell.shell-layout .shell_top_row,
#shell.shell-layout .shell_second_row,
#shell.shell-layout .shell_footer_row { display: table-cell; vertical-align: top }
#shell.shell-layout .shell_second_row.side_bg { vertical-align: top !important }
#shell { width: 100%; border: none !important; padding: 0px; border-collapse: collapse }

img { border: none !important; }

#skip a {
    position:absolute;
    left:-10000px;
    top:auto;
    width:1px;
    height:1px;
    overflow:hidden;
}

/* TinyMCE editor container: when clicked or focused, border/outline #6A6A6A (class set by JS when focus is in iframe) */
body .tox.tox-tinymce.tox-tinymce--focused,
body .tox.tox-tinymce:focus,
body .tox.tox-tinymce:focus-within {
  border-color: #6A6A6A !important;
  border-width: 1px !important;
  border-style: solid !important;
  outline: 1px solid #6A6A6A !important;
  outline-offset: -1px !important;
  box-shadow: 0 0 0 1px #6A6A6A !important;
}

/* TinyMCE menubar (File, Edit, View, etc.): Secondary button – Default no change, Hover #666666/#FFF, Focus #FFF/#555555 + dashed ring, Disabled 60% + bg #FFF */
.tox .tox-menubar .tox-mbtn:hover,
body .tox .tox-menubar .tox-mbtn:hover {
  background-color: #666666 !important;
  color: #FFFFFF !important;
}
.tox .tox-menubar .tox-mbtn:hover .tox-mbtn__select-label,
.tox .tox-menubar .tox-mbtn:hover .tox-icon,
.tox .tox-menubar .tox-mbtn:hover svg {
  fill: #FFFFFF !important;
  color: #FFFFFF !important;
}
body .tox .tox-menubar .tox-mbtn:focus,
body .tox .tox-menubar .tox-mbtn:focus-visible,
body .tox .tox-menubar .tox-mbtn:focus-within,
.tox .tox-menubar .tox-mbtn:focus,
.tox .tox-menubar .tox-mbtn:focus-visible,
.tox .tox-menubar .tox-mbtn:focus-within {
  background-color: #FFFFFF !important;
  color: #555555 !important;
  outline: 2px dashed #000000 !important;
  outline-offset: 2px !important;
}
.tox .tox-menubar .tox-mbtn:focus .tox-mbtn__select-label,
.tox .tox-menubar .tox-mbtn:focus .tox-icon,
.tox .tox-menubar .tox-mbtn:focus svg,
.tox .tox-menubar .tox-mbtn:focus-visible .tox-mbtn__select-label,
.tox .tox-menubar .tox-mbtn:focus-visible .tox-icon,
.tox .tox-menubar .tox-mbtn:focus-visible svg,
.tox .tox-menubar .tox-mbtn:focus-within .tox-mbtn__select-label,
.tox .tox-menubar .tox-mbtn:focus-within .tox-icon,
.tox .tox-menubar .tox-mbtn:focus-within svg {
  fill: #555555 !important;
  color: #555555 !important;
}
.tox .tox-menubar .tox-mbtn[disabled],
.tox .tox-menubar .tox-mbtn.tox-mbtn--disabled,
body .tox .tox-menubar .tox-mbtn[disabled],
body .tox .tox-menubar .tox-mbtn.tox-mbtn--disabled {
  opacity: 0.6 !important;
  background-color: #FFFFFF !important;
}

/* TinyMCE menubar dropdown (Edit, File, etc. menu items): icon/label #333333, shortcut #666666, hover bg #EFEFEF */
.tox .tox-collection--list .tox-collection__item,
body .tox-tinymce-aux .tox-collection--list .tox-collection__item {
  color: #333333 !important;
}
.tox .tox-collection--list .tox-collection__item .tox-collection__item-label,
.tox .tox-collection--list .tox-collection__item .tox-collection__item-icon,
.tox .tox-collection--list .tox-collection__item .tox-collection__item-icon svg,
body .tox-tinymce-aux .tox-collection--list .tox-collection__item .tox-collection__item-label,
body .tox-tinymce-aux .tox-collection--list .tox-collection__item .tox-collection__item-icon,
body .tox-tinymce-aux .tox-collection--list .tox-collection__item .tox-collection__item-icon svg {
  color: #333333 !important;
  fill: #333333 !important;
}
.tox .tox-collection--list .tox-collection__item .tox-collection__item-accessory,
body .tox-tinymce-aux .tox-collection--list .tox-collection__item .tox-collection__item-accessory {
  color: #666666 !important;
}
/* Hover: mouse (:hover) and keyboard/focus (--active) – dropdown may be in .tox-tinymce-aux */
.tox .tox-collection--list .tox-collection__item:hover,
.tox .tox-collection--list .tox-collection__item--active,
body .tox-tinymce-aux .tox-collection--list .tox-collection__item:hover,
body .tox-tinymce-aux .tox-collection--list .tox-collection__item--active {
  background-color: #EFEFEF !important;
}

#skip a:focus
{
    position:static;
    width:auto;
    height:auto;
    color: #000000
}

.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border-width: 0;
}

/* Dropdown Content (Hidden by Default) */
.dropdown-content {
    display: none;
    position: absolute;
    background-color: #f1f1f1;
    min-width: 180px;
    box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);
    z-index: 1;
    border-radius: 3px;
}

.table_title{
    display: flex;
    justify-content: space-between;
}

/* Links inside the dropdown */
.dropdown-content a {
    color: black;
    padding: 12px 16px;
    text-decoration: none;
    display: block;
    font-size: .8rem;
    font-weight: 400;
}

.header_app_logo { float:right !important; margin-right: 10px; margin-top: 5px;
    -webkit-filter:brightness(60%);
    -moz-filter:brightness(60%);
    filter: url(#brightness);
    filter:brightness(60%);
}
.header_app_logo:hover {
    -webkit-filter:brightness(100%);
    -moz-filter:brightness(100%);
    filter: url(#brightness);
    filter:brightness(100%);
}

/* Change color of dropdown links on hover */
.dropdown-content a:hover {background-color: #ddd}

.default_font { font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", "Helvetica", "Arial", sans-serif !important; }
.heading_container{
    display: flex;
    justify-content: space-between;
    margin-bottom: 10px;
    flex-wrap: wrap;
}

.btn_container{
    display: flex;
    flex-wrap: wrap;
    gap:5px;
}

.table-responsive-wrapper table {
    min-width: 100%;
}
/* Responsive styles for 320px viewport */
@media screen and (max-width: 480px) {
    #shell th.shell_search_row,
    #shell td.shell_search_row,
    #shell.shell-layout .shell_search_row {
        display: block;
        width: 100% !important;
        padding: 5px !important;
    }
    
    #shell th.shell_search_row.logo_td img,
    #shell.shell-layout .shell_search_row.logo_td img {
        max-width: 100%;
        height: auto;
    }
    
    #shell .heading {
        font-size: 0.9rem !important;
    }
    
    #shell input[type="text"].snapshotSearch {
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box;
    }
    
    #shell #admin_cog {
        padding: 3px !important;
    }
    
    #shell .header_app_logo {
        float: none !important;
        display: block;
        margin: 5px 0 !important;
    }
}

td.shell_top_row,
#shell.shell-layout .shell_top_row {
    background: #1797c0 !important;
    padding: 5px !important;
    /*border-bottom: 1px solid #c8dfe5;*/
    vertical-align: middle;
}
th.shell_search_row,
td.shell_search_row,
#shell.shell-layout .shell_search_row {
    background: #000000 !important;
    padding: 5px !important;
    /*border-bottom: 1px solid #c8dfe5;*/
    vertical-align: middle;
}
td.shell_second_row,
#shell.shell-layout .shell_second_row {
    background: #FFFFFF !important;
    /*border-bottom: 2px solid #666666;*/
    padding: 0px;
    vertical-align: middle !important;
}
/* Main content cell: align to top so content starts under header (no gap) */
#shell.shell-layout .shell_second_row.shell_main_cell {
    vertical-align: top !important;
}
td.shell_third_row {
    background: #FFFFFF !important;
    height: 15px !important;
}
td.shell_footer_row,
#shell.shell-layout .shell_footer_row {
    background: #FFFFFF !important;
    border-top: 2px solid #666666;
    padding: 5px;
    vertical-align: middle !important;
}

th { text-align: left }
td { vertical-align: top !important }
td.middle { vertical-align: middle !important }

#switch_accounts_list { padding: 5px; font-size:1.1em; line-height:1.5em; margin:0px; margin-top: 5px; text-align:right; display:block; clear:both; float: right; background: #fafafa; display: inline-block -moz-border-radius:3px; -webkit-border-radius:3px; border-radius:3px; }
#switch_accounts_list a { color: #0000ff !important; }
#switch_accounts_list a:hover { color: #001f3f !important; }
#app_content { padding:15px;    }
#app_footer { padding: .9em; background:#efefef; color:#333333; }
.side_bg { background : #FFFFFF; width: 221px; }
form { margin-top:25px; }
.heading { font-size:1.5em; font-weight:bold; color:#000000;     margin: 0 0 5px 0; line-height: 1.125; }
h1.heading { font-size:1.5em; font-weight:bold; color:#000000; margin: 0 0 5px 0; line-height: 1.125; }
.heading h1 { font-size:1em; font-weight:bold; color:#000000; margin: 0px; padding: 0px;  }
fieldset .heading { display: block; width: 100%; margin: 0 0 5px 0; padding: 0; }
fieldset { border: 0; margin: 0; padding: 0; }
fieldset.status_update { border: 0; margin: 0; padding: 0; }


.heading_btn_instructions a { padding:5px; background:#dc3030; border:1px solid #ff0000; float:right; -moz-border-radius:3px; -webkit-border-radius:3px; border-radius:3px; margin-left:3px; cursor:pointer; color:#FFFFFF }
.heading_btn_instructions a:hover { background:#ec3131;  color:#FFFFFF }
.heading_fullscreen { font-size:1.5em; font-weight:normal;   }
.heading_fullscreen_sub { font-size:1.2em; font-weight:normal; display:block   }

.heading2 { font-size:1.2em; font-weight:bold; color:#666666; float:right;  }
/* Strip/Bar: section bar under page heading */
.strip_bar {
    background-color: #F5FBFF;
    border: 1px solid #92D1FE;
    clear: both;
    margin-top: 15px;
    text-align: center;
    float: none;
    padding: 5px;
}
.strip_bar_label {
    display: inline;
    margin-right: 6px;
    margin-left: 8px;
    font-weight: bold;
    color: #333333;
}
.strip_bar_label:first-child { margin-left: 0; }
.heading3 { font-size:1rem; font-weight:bold; color:#666666;  }

.heading_btn_left a { padding:5px; background:#e7e7e7; color: #333333; border:1px solid #cccccc; float:left; -moz-border-radius:3px; -webkit-border-radius:3px; border-radius:3px; margin-right:5px; cursor:pointer; margin-bottom:25px; }
.heading_btn_left a:hover { background:#555555;  color: #ffffff; }

.heading_btn_left_tight a { padding:5px; color: #ffffff; background:#6699ff; border:1px solid #6699ff; float:left; -moz-border-radius:3px; -webkit-border-radius:3px; border-radius:3px; margin-right:5px; cursor:pointer; margin-bottom:.9em; }
.heading_btn_left_tight a:hover { background:#003399; color: #ffffff; }

.heading_btn_snapshot a, #calendar_access a, #switch_accounts, #admin_return a { float:left;
    background-color:#f9f9f9;
    -moz-border-radius:3px;
    -webkit-border-radius:3px;
    border-radius:3px;
    display:inline-block;
    cursor:pointer;
    color:#666666;

    font-size: .75rem;
    font-weight:bold;
    padding:5px 5px;
    text-decoration:none;
    margin-left: 5px;
    border: 1px solid #cccccc;
    margin-bottom: 5px;
}
#calendar_access a, #switch_accounts, #admin_return a { float:right !important; }
.heading_btn_snapshot a:hover, #calendar_access a:hover {
    background-color:#e9e9e9; }

#calendar_access a:focus, #switch_accounts a:focus, #admin_return a:focus { float:right !important; }
.heading_btn_snapshot a:focus, #calendar_access a:focus {
    background-color:#e9e9e9; }

a { text-decoration:none; color:#096DD9; font-weight:bold; }
a:focus {  /*outline: none !important;*/ color:#000000; }
a:hover { color: #000000; }

a.custom_links { text-decoration:none; color:#001f3f; font-weight:bold; font-size:1em; }
a.custom_links:focus { background:#2694e8; /*outline: none !important;*/ color: #FFFFFF }
a.custom_links:hover { color:#069; }
a.custom_links { color:#001f3f; }
a.custom_links:hover { color:#069; }
a.custom_links:focus { background:#2694e8; /*outline: none !important;*/ color: #FFFFFF }

a.upper_nav { text-decoration:none; color:#666666; font-weight:bold; font-size:1em; line-height:22px; display:block; }
a.upper_nav:focus { background:#2694e8; /*outline: none !important;*/ color: #FFFFFF }
a.upper_nav:hover { color:#333; }
a.upper_nav { color:#666666; }
a.upper_nav:hover { color:#333; }
a.upper_nav:focus { color:#333; }
/* Table Properties */
.list { margin-top:25px; margin-bottom:25px; width:100%; outline:none;  }
.list tr:nth-child(odd)  { background:#f8f8f8; border-top:1px solid #999999; }
.list tr:hover  { background:#f3f3f3; border-top:1px solid #999999; border-bottom:1px solid #999999; }
.list td { vertical-align:top; }

.list th { border-bottom:1px solid #CCC; font-size:1em; font-weight:bold; text-align:left; color:#000000; background:#f2f3f3; }

.list th.faculty_row { border-bottom:1px solid #CCC; border-top:1px solid #CCC; font-size: .75rem; font-weight:bold; text-align:left; color:#000000; background:#a4c4f8; }
.list th.student_row { border-bottom:1px solid #CCC; border-top:1px solid #CCC; font-size: .75rem; font-weight:bold; text-align:left; color:#000000; background:#a4f8ac; }

.list_new { border:1px solid #999; margin-top:25px; margin-bottom:25px; width:100%; border-collapse: collapse;  }
.list_new tr:nth-child(odd)  { background:#f8f8f8; border-top:1px solid #999999; }
.list_new tr:hover  { background:#ebeaea; border-top:1px solid #999999; border-bottom:1px solid #999999; }
.list_new td { vertical-align:top; font-size: .75rem; }
.list_new th { border:1px solid #000000; font-size: .75rem; font-weight:bold; text-align:left; color:#000000; background:#97c7af; }


.list_comments { border:1px solid #999; margin-bottom:25px; width:98%; clear:both  }

.list_comments tr:hover  { background:#ebeaea !important; border-top:1px solid #999999; border-bottom:1px solid #999999; }
.list_comments td { vertical-align:top; background:#ffffff; border-bottom:1px solid #d2d2d2; font-size: .75rem; line-height:20px; }

.list_comments th { border-bottom:1px solid #CCC; border-top:1px solid #CCC; font-size: .75rem !important; font-weight:bold; text-align:left; color:#333333; background:#f2f3f3; }


.list_label { text-align:left; font-weight:bold; vertical-align:top; border-right:1px solid #CCC; }

.list h1, .list h2,.list h3,.list h4,.list h5,.list h6 { margin:0px; padding:0px; font-weight:normal }

.list_sort { border:1px solid #999; margin-bottom:25px; margin-top:15px; width:100%  }
.list_sort tr:nth-child(even)  { background:#f8f8f8; border-top:1px solid #999999; }
.list_sort tr:hover  { background:#ebeaea; border-top:1px solid #999999; border-bottom:1px solid #999999; }
.list_sort th { border-bottom:1px solid #CCC; border-right:1px solid #CCC; border-top:1px solid #CCC; font-size: .75rem; font-weight:bold; text-align:left; color:#333333; white-space:nowrap; cursor:pointer; padding-right:30px; background: #f2f3f3 url("/images/cc/icons/double_sort.png") no-repeat right; }
.list_sort th:hover { background: #999999 url("/images/cc/icons/double_sort.png") no-repeat right; background-color:; color:#efefef;}
.list_sort td { border-bottom:1px solid #efefef; border-right:1px solid #efefef; vertical-align:top;  }

th div.wrap_table_header { white-space:normal !important; min-width: 150px; max-width: 300px !important; max-height: 100px !important; overflow: auto; }
td div.wrap_table_cell { white-space:normal !important;  max-height: 100px !important; overflow: auto; display: block; }
td div.wrap_table_cell_v2 { white-space:normal !important;  max-height: 200px !important; max-width: 200px; width: 200px; overflow: auto; }
td div.wrap_table_cell_v2_expand { white-space:normal !important; overflow: visible;}

.shade { background:#efefef; }

.list_special { border:1px solid #cccccc; margin-top:15px; margin-bottom:25px; width:100%;  }
.list_special th { font-size: .75rem; font-weight:bold; text-align:left; color:#ffffff; background:#3983ae; padding:5px;   }
.list_special td { border-bottom:1px solid #efefef; vertical-align:top; padding:5px;}
.list_special .survey_th { border-bottom:1px solid #CCC; border-top:1px solid #CCC; font-size:0.688rem; font-weight:bold; text-align:left; color:#333333; background:#f2f3f3; }

.title a { font-size:0.688rem; line-height:32px; border:1px solid #ccc; background:#efefef; padding:5px; text-align:center; margin:5px 5px 5px 0; display:inline;-moz-border-radius:5px;-webkit-border-radius:5px; border-radius:5px;}
.title a:hover { background:#dedddd; }



a.edit_btn_inline { padding:2px; background:#efefef; border:1px solid #999; color:#333333; font-size:0.625rem; text-transform:uppercase; -moz-border-radius:5px; -webkit-border-radius:5px; border-radius:5px; text-align:center; }
a.edit_btn_inline:hover { background:#666666; color:#ffffff }

a.view_doc_btn { padding:4px; background:#dedbda; border:1px solid #999; color:#000000; font-size:0.688rem;  -moz-border-radius:5px; -webkit-border-radius:5px; border-radius:5px; }
a.view_doc_btn:hover { background:#666666; color:#ffffff }

a.comment_edit_btn { padding:2px; background:#efefef; border:1px solid #999; color:#333333; font-size:0.625rem; text-transform:uppercase; -moz-border-radius:5px; -webkit-border-radius:5px; border-radius:5px; clear:both;  }
a.comment_edit_btn:hover { background:#666666; color:#ffffff; clear:both;  }

a.comment_add_btn, a.eval_add_btn { padding:5px; background:#3c72bc; color:#ffffff; font-size: .75rem; border-bottom-left-radius:10px;  border-bottom-right-radius:10px; border-top-left-radius:10px; border-top-right-radius:10px;  -moz-border-top-left-radius:10px; -moz-border-top-right-radius:10px; -webkit-border-bottom-left-radius:10px; -webkit-border-bottom-right-radius:10px; clear:both; margin-top:5px; display:inline-block; width:215px; text-align:left; float:left; padding-left: 10px;}
a.comment_add_btn:hover, a.eval_add_btn:hover, a.comment_add_btn:focus, a.eval_add_btn:focus { background:#3983ae; color:#ffffff; clear:both;  }


a.eval_link {
    margin-top:5px;
    cursor:pointer;
    font-size: .75rem;
    text-align:left;
    clear:both;
    display: block;
    margin-top:5px;
}

a.eval_link:hover {
    margin-top:5px;
    cursor:pointer;
    font-size: .75rem;
    text-align:left;
    clear:both;
    display: block;
    margin-top:5px;
}

a.eval_link_edit { cursor:pointer; -moz-border-radius:5px; -webkit-border-radius:5px; border-radius:5px;  text-align:left;  clear:both; display:block }
a.eval_link_edit:hover {   }

a.eval_link_complete { cursor:pointer; -moz-border-radius:5px; -webkit-border-radius:5px; border-radius:5px;  text-align:left;  clear:both; display:block }
a.eval_link_complete:hover {   }

.eval_outcome_add,  .eval_outcome_add:hover { clear:both; padding: 10px; margin-top:5px; }

#user_info { margin-left:8px; width:195px; border:none; padding:.3em; color:#000000; font-size:1em; text-decoration:none; cursor:pointer;   }

#user_info a { color:#069; }
#user_info a:focus { background:#efefef; /*outline: none !important;*/ -moz-border-radius:3px; -webkit-border-radius:3px; border-radius:3px; color: #000000 }
#user_info a:hover { color:#666666; }
#user_info a { color:#069; }
#user_info a:hover { color:#666666; }

.form_tbl { margin-top:10px; margin:auto; width:100%; padding:5px; }
.form_tbl th { border-bottom:1px solid #CCC; font-size:0.875rem; font-weight:bold; text-align:left; color:#333333; background:#f2f3f3; }
/* Section header row styling (layout tables using td + role="presentation") - matches .form_tbl th stripbar */
.form_tbl tr.form_tbl_section_row td { border-bottom:1px solid #CCC; font-size:0.875rem; font-weight:bold; text-align:left; color:#333333; background:#f2f3f3; }
.form_tbl td { vertical-align:top; }
/* Separate radio options so screen readers announce each option individually (input + label per option) */
.form_radio_option { display: inline-block; margin-right: 1em; }

.form_tbl_comment { margin:auto; width:100%; padding:5px; background:#FFF }
.form_tbl_comment th { border-bottom:1px solid #CCC; font-size: .75rem; font-weight:bold; text-align:left; color:#333333; background:#f2f3f3; font-size: 0.875rem !important; }
.form_tbl_comment td { vertical-align:top; background:#FFFFFF !important; }


.form_label { text-align:right; font-size: .75rem; font-weight:bold; vertical-align:top; width:175px; }
.form_label_long { text-align:right; font-size: .75rem; font-weight:bold; vertical-align:top; padding-top:10px; width:350px; }

.form_label_sub { text-align:left; margin-top:10px; border:1px solid #999; padding:5px; font-weight:normal }

.form_required { display:block; color:#D10000; font-size:0.625rem; font-style:italic; font-weight:bold; }
label .form_required { display: inline; font-size: inherit; }
th .form_required, td .form_required { display: inline; font-size: inherit; }
.form_required_asterisk { display: inline; font-size: inherit; color: #D10000; }
.form_required_legend { margin: 0 0 0.5rem 0; font-size: 0.875rem; color: #333; }
.form_tbl .reminder_alert { background:url("/images/cc/icons/reminder.jpg") no-repeat right; }

.form_warning {  margin:10px 0 10px 0; }
.form_warning .error { background-color:#D10000; color:#fff; padding:5px; font-size: .75rem; font-weight:bold; clear:both }
.form_warning .success { background-color:#1E7B33; color:#fff; padding:5px;  font-size: .75rem; font-weight:bold; clear:both  }


/* ========== Common form controls (WCAG contrast 5:1 on white #FFFFFF) ========== */
/* Input & textarea: border, focus, placeholder. Applied to all input types. */
input[type=text],
input[type=search],
input[type=email],
input[type=password],
input[type=number],
input[type=tel],
input[type=url],
input:not([type]), /* type-less inputs default to text */
select,
textarea,
.form-control {
    border: 1px solid #6A6A6A;
    padding: 5px 8px;
    margin: 2px 0;
    background: #fff;
    color: #111;
    -moz-border-radius: 3px;
    -webkit-border-radius: 3px;
    border-radius: 3px;
    font-size: 1.1em !important;
    font-family: Arial, Helvetica, sans-serif;
}
/* Placeholder text #666666 (5:1 on white) */
input::placeholder,
textarea::placeholder {
    color: #666666 !important;
    opacity: 1;
}
input::-webkit-input-placeholder { color: #666666 !important; }
input::-moz-placeholder { color: #666666 !important; }
input:-ms-input-placeholder { color: #666666 !important; }
textarea::-webkit-input-placeholder { color: #666666 !important; }
textarea::-moz-placeholder { color: #666666 !important; }
textarea:-ms-input-placeholder { color: #666666 !important; }
/* Select state (focus) border #096DD9 */
input:focus,
textarea:focus,
select:focus,
.form-control:focus {
    border-color: #096DD9 !important;
    outline: none;
}
input:hover,
textarea:hover,
select:hover,
.form-control:hover {
    border-color: #6A6A6A;
}
/* Icon colour #666666 when used with form controls (e.g. search icon, calendar icon) */
.form-control + [class*="fa-"],
.form-control + .fa,
input + [class*="fa-"],
input + .fa,
.shell_search_icon,
.shell_search_icon .fa,
.shell_search_icon i {
    color: #666666;
}
/* Selection field (dropdown): border and focus same as input */
.ui-multiselect,
.ui-selectmenu-button {
    border: 1px solid #6A6A6A !important;
}
.ui-multiselect:focus,
.ui-selectmenu-button:focus {
    border-color: #096DD9 !important;
    outline: none;
}
/* Selection field chip (selected item pill/tag): border #6A6A6A, bg #E4E4E4, text/icon same as dropdown (#7F3A00) */
.form-chip,
.ui-multiselect .ui-state-default,
.ui-selectmenu-menu li.ui-selectmenu-item-selected a {
    border: 1px solid #6A6A6A !important;
    background-color: #E4E4E4 !important;
    color: #7F3A00 !important;
}
.form-chip .fa,
.form-chip i,
.form-chip [class*="fa-"],
.ui-multiselect .ui-state-default .ui-icon,
.ui-selectmenu-status .ui-icon {
    color: #7F3A00 !important;
}
/* ========== End common form controls ========== */

select { display: inline; }
input[type=text], textarea { width: 375px; }
textarea.short { width:250px; }
textarea.extra_short { width:200px; }
input[type=text].date { width:80px; }
input[type=text].short { width:200px; }
input[type=text].number { width:25px; }
input[type=text].number_long { width:55px; }
textarea.notes { width:300px; }
input[type="checkbox"] { display:inline;  border:none; }
input[type="radio"] { display:inline;  background:none; border:none }

.target-size-controls label {
    display: inline-flex;
    align-items: center;
    min-height: 24px;
    padding: 4px 10px 4px 4px;
    margin: 2px 12px 6px 0;
    line-height: 1.2;
}

.target-size-controls input[type="checkbox"],
.target-size-controls input[type="radio"] {
    margin: 0 6px 0 0;
}

/* ========== Common primary / submit button (WCAG contrast 5:1) ========== */
/* Default: Bg #096DD9, Text #FFFFFF. Hover: Bg #0754A6. Focus: ring black. */
input[type=submit],
button.rxbutton,
button[type=submit],
.btn-primary,
.primary-btn {
    background-color: #096DD9;
    color: #FFFFFF;
    -moz-border-radius: 3px;
    -webkit-border-radius: 3px;
    border-radius: 3px;
    display: inline-block;
    cursor: pointer;
    font-size: .75rem;
    font-weight: bold;
    padding: 5px 14px;
    min-height: 24px;
    min-width: 24px;
    line-height: 1.2;
    box-sizing: border-box;
    text-decoration: none;
    border: none !important;
}
input[type=submit]:hover,
button.rxbutton:hover,
button[type=submit]:hover,
.btn-primary:hover,
.primary-btn:hover {
    background-color: #0754A6;
    color: #FFFFFF;
}
input[type=submit]:focus,
button.rxbutton:focus,
button[type=submit]:focus,
.btn-primary:focus,
.primary-btn:focus {
    background-color: #096DD9;
    color: #FFFFFF;
    outline: 2px dotted #000000;
    outline-offset: 2px;
}
/* ========== End common primary button ========== */


.button_variation { font-size:0.688rem; line-height:14px; font-weight:bold; border:1px solid #ccc; background: #666666; padding:5px; color:#efefef; text-align:center; margin:5px 5px 5px 0; display:inline;-moz-border-radius:5px; -webkit-border-radius:5px; border-radius:5px; }
.button_variation:hover { background:#363636; color:#efefef; }

.date_field { width:75px !important; }
.field_error { color:#D10000; display:block; padding:5px; font-weight:bold; background:url("/images/cc/icons/error_arrow.jpg") no-repeat left; padding-left:20px; }
#ui-datepicker-div { display: none; }

/* Same color for selected date in all calendars (overrides theme differences) */
/* Selected date in calendar: text color #7F3A00, background stays white */
#ui-datepicker-div .ui-datepicker-calendar td .ui-state-active,
#ui-datepicker-div .ui-datepicker-calendar td a.ui-state-active {
    color: #7F3A00 !important;
    background-color: #ffffff !important;
    border-color: #cccccc !important;
}

/* Datepicker prev/next: WCAG 3:1 – button background #ffffff, icon #294F6D (override theme; theme loads after core) */
#ui-datepicker-div .ui-datepicker-header .ui-datepicker-prev,
#ui-datepicker-div .ui-datepicker-header .ui-datepicker-next,
body .ui-datepicker .ui-datepicker-header .ui-datepicker-prev,
body .ui-datepicker .ui-datepicker-header .ui-datepicker-next {
    background-color: #ffffff !important;
    background-image: none !important;
    border-color: #c5dbec !important;
}
#ui-datepicker-div .ui-datepicker-header .ui-datepicker-prev:hover,
#ui-datepicker-div .ui-datepicker-header .ui-datepicker-next:hover,
#ui-datepicker-div .ui-datepicker-header .ui-datepicker-prev:focus,
#ui-datepicker-div .ui-datepicker-header .ui-datepicker-next:focus,
body .ui-datepicker .ui-datepicker-header .ui-datepicker-prev:hover,
body .ui-datepicker .ui-datepicker-header .ui-datepicker-next:hover,
body .ui-datepicker .ui-datepicker-header .ui-datepicker-prev:focus,
body .ui-datepicker .ui-datepicker-header .ui-datepicker-next:focus {
    background-color: #ffffff !important;
    background-image: none !important;
}
/* Icon color #294F6D (theme uses light sprite; we force dark via mask + background-color) */
#ui-datepicker-div .ui-datepicker-header .ui-datepicker-prev .ui-icon,
#ui-datepicker-div .ui-datepicker-header .ui-datepicker-next .ui-icon,
body .ui-datepicker .ui-datepicker-header .ui-datepicker-prev .ui-icon,
body .ui-datepicker .ui-datepicker-header .ui-datepicker-next .ui-icon {
    background-color: #294F6D !important;
    background-image: none !important;
    -webkit-mask-image: url("/css/jquery.ui/images/ui-icons_d8e7f3_256x240.png");
    mask-image: url("/css/jquery.ui/images/ui-icons_d8e7f3_256x240.png");
    -webkit-mask-size: 256px 240px;
    mask-size: 256px 240px;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
}
#ui-datepicker-div .ui-datepicker-header .ui-datepicker-prev .ui-icon-circle-triangle-w,
body .ui-datepicker .ui-datepicker-header .ui-datepicker-prev .ui-icon-circle-triangle-w {
    -webkit-mask-position: -80px -192px;
    mask-position: -80px -192px;
}
#ui-datepicker-div .ui-datepicker-header .ui-datepicker-next .ui-icon-circle-triangle-e,
body .ui-datepicker .ui-datepicker-header .ui-datepicker-next .ui-icon-circle-triangle-e {
    -webkit-mask-position: -48px -192px;
    mask-position: -48px -192px;
}

/* Datepicker title: keep Month and Year on same line (labels + selects) */
#ui-datepicker-div .ui-datepicker-title,
body .ui-datepicker .ui-datepicker-title {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px !important;
}
#ui-datepicker-div .ui-datepicker-title .ui-datepicker-month-label,
#ui-datepicker-div .ui-datepicker-title .ui-datepicker-year-label,
body .ui-datepicker .ui-datepicker-title .ui-datepicker-month-label,
body .ui-datepicker .ui-datepicker-title .ui-datepicker-year-label {
    white-space: nowrap;
    flex-shrink: 0;
}
#ui-datepicker-div .ui-datepicker-title select.ui-datepicker-month,
#ui-datepicker-div .ui-datepicker-title select.ui-datepicker-year,
body .ui-datepicker .ui-datepicker-title select.ui-datepicker-month,
body .ui-datepicker .ui-datepicker-title select.ui-datepicker-year {
    flex: 0 1 auto;
    min-width: 0;
    max-width: 6em;
}

.cell_border_bottom { border-bottom:1px solid #666; }
.cell_border_top { border-top:1px solid #666; }
.cell_border_right { border-right:1px solid #666; }
.cell_border_left { border-left:1px solid #666; }

.bold { font-weight: bold; }
/* WCAG AA: red text on white needs contrast ≥4.5:1; #D10000 gives ~5.2:1 */
.red { color:#D10000; font-weight:bold; }
.green { color:#00a355; font-weight:bold; }
.black { color:#000000; font-weight:bold; }
td.dark_green { color:#090; font-weight:bold; }
.t9 { font-size:.7em; }
.t10 { font-size:.9em; }
.t11 {
    margin-bottom: 8px;
}
.t11 label {
    display: inline-flex;
    align-items: center;
    min-height: 24px;
    min-width: 24px;
    padding: 4px 10px 4px 4px;
    margin: 2px 12px 6px 0;
    line-height: 1.2;
    cursor: pointer;
    box-sizing: border-box;
}
.t11 input[type="checkbox"],
.t11 input[type="radio"] {
    margin: 0 6px 0 0;
    cursor: pointer;
    flex-shrink: 0;
}
.t12 { font-size:1.1em;  }
.t14 { font-size:1.2em; }
.t16 { font-size:1.3em; }
.l18 { line-height: 1.4em; }

h1 { font-size: 1.6em }
h2 { font-size: 1.4em }
h3 { font-size: 1.1em }

.max_score { color:#000000; font-weight:bold; background:#49a8d7; }

.max_score_other { color:#000000; font-weight:bold; background:#49a8d7; padding:3px;  line-height:20px; font-size: 0.875rem; }
.not_max_score_other { padding:3px;  line-height:20px;  font-size: 0.875rem;}

#outputContainer, .outputContainer { display: block; font-size: 0.625rem; background-color: #ffffff; border:1px solid #ccc; z-index:9999	}
#outputContainer a, .outputContainer a { display: block; padding: 5px; text-align:left;	border-left: .1pt #cccccc solid; border-right: .1pt #cccccc solid;	color:#0066FF;	text-decoration:none; clear:both; }
#outputContainer a:hover, .outputContainer a:hover { background-color: #efefef; }

#outputContainerObserver, .outputContainerObserver { display: block; font-size: 0.625rem; background-color: #ffffff; border:1px solid #ccc	}
#outputContainerObserver a, .outputContainerObserver a { display: block; padding: 5px; text-align:left;	border-left: .1pt #cccccc solid; border-right: .1pt #cccccc solid;	color:#0066FF;	text-decoration:none; clear:both; }
#outputContainerObserver a:hover, .outputContainerObserver a:hover { background-color: #efefef; }

#outputContainerExam, .outputContainerExam { display: block; font-size: 0.625rem; background-color: #ffffff; border:1px solid #ccc	}
#outputContainerExam a, .outputContainerExam a { display: block; padding: 5px; text-align:left;	border-left: .1pt #cccccc solid; border-right: .1pt #cccccc solid;	color:#0066FF;	text-decoration:none; clear:both; }
#outputContainerExam a:hover, .outputContainerExam a:hover { background-color: #efefef; }

#outputContainerStudent, .outputContainerStudent { display: block; font-size: 0.625rem; background-color: #ffffff; border:1px solid #ccc	}
#outputContainerStudent a, .outputContainerStudent a { display: block; padding: 5px; text-align:left;	border-left: .1pt #cccccc solid; border-right: .1pt #cccccc solid;	color:#0066FF;	text-decoration:none; clear:both; }
#outputContainerStudent a:hover, .outputContainerStudent a:hover { background-color: #efefef; }

.clear { clear:both; }

.modules_on { float:left; border:1px solid #cccccc; height:110px; margin-right:11px; margin-bottom:11px; background:url("/images/cc/modules_block_bg.jpg"); -moz-border-radius:5px; -webkit-border-radius:5px; border-radius:5px; }

.modules_off { float:left; border:1px solid #cccccc; height:110px; margin-right:11px; margin-bottom:11px; background:url("/images/cc/modules_block_bg_off.jpg"); -moz-border-radius:5px; -webkit-border-radius:5px; border-radius:5px; }

th.lottery { background:#FFF; padding:10px; }
a.clear_lottery { font-size:0.875rem; font-weight:normal; color:#ffffff; padding:5px; background:#F33; border:1px solid #cccccc; -moz-border-radius:5px; -webkit-border-radius:5px; border-radius:5px;  cursor:pointer;  }
a.clear_lottery:hover { background:#F00; }

a.dropbox_eval_incomplete { font-size:0.813rem; font-weight:500 !important; color:#ffffff; padding:5px; background:#F33; border:1px solid #cccccc; -moz-border-radius:5px; -webkit-border-radius:5px; border-radius:5px;  cursor:pointer;  }
a.dropbox_eval_incomplete:hover { background:#F00 }

a.dropbox_eval_complete { font-size:0.875rem; font-weight:500; color:#ffffff; padding:5px; background:#393; border:1px solid #cccccc; -moz-border-radius:5px; -webkit-border-radius:5px; border-radius:5px;  cursor:pointer;  }
a.dropbox_eval_complete:hover { background:#363 }

.dropbox_check {
    font-size:0.875rem; font-weight:500 !important; display: inline-block; color:#ffffff; padding:5px; background:#F33; border:1px solid #cccccc; -moz-border-radius:5px; -webkit-border-radius:5px; border-radius:5px;  cursor:pointer;
}

.dropbox_check_complete {
    font-size:0.875rem; font-weight:500 !important; display: inline-block; color:#ffffff; padding:5px; background:#393; border:1px solid #cccccc; -moz-border-radius:5px; -webkit-border-radius:5px; border-radius:5px;  cursor:pointer;
}

/* EVALUATIONS */
.heading_evaluation { font-size:0.875rem; font-weight:normal; padding-bottom:10px;   }
td.question p { margin-top:0px; }
th.eval_header { font-size:1.125rem; font-weight:bold; background:#efefef; text-align:left }
th.eval_section_header { font-size:1.375rem; font-weight:bold; background:#cccccc; text-align:left }
/* Ensure td elements with eval classes maintain background styling */
td.eval_header { background:#efefef; }
td.eval_section_header { background:#cccccc; }
/* Ensure h2 headings with eval classes maintain the same styling as th elements */
h2.eval_header { font-size:1.125rem; font-weight:bold; text-align:left; margin:0; padding:5px; display:block; }
h2.eval_section_header { font-size:1.375rem; font-weight:bold; text-align:left; margin:0; padding:5px; display:block; }
th.eval_footer { font-size: .75rem; font-weight:bold; background:#efefef; text-align:left; border:1px solid #CCC }
th.eval_section_avg_header { font-size:0.875rem; font-weight:bold; }
.eval_description_heading { font-size:0.875rem; font-weight:bold; text-align:left }
.eval_section_weight { font-size: .75rem; font-weight:bold; float:right }
.eval_section_description { font-size: .75rem; text-align:left; font-weight:normal; }
.question_col_1 { font-size: .75rem; text-align:left; vertical-align:top; width:630px; border-bottom:2px solid #efefef;  }
.question_col_2 { font-size: .75rem; text-align:left; vertical-align:top; width:180px; border-bottom:2px solid #efefef;  }
.question_col_1_fullscreen { font-size: .75rem; text-align:left; vertical-align:top; border-bottom:2px solid #efefef;  }
.question_col_2_fullscreen { font-size: .75rem; text-align:left; vertical-align:top; width:225px; border-bottom:5px solid #efefef;  }
/* Keep "* Required" on one line next to score dropdown (design + preview) */
.question_col_2 .form_required, .question_col_2_fullscreen .form_required { white-space: nowrap; }
.component_header {padding:3px 0px; border-bottom: 1px solid #666; color: #666; font-weight: bold; }
.component_text {padding:10px 0px; border-bottom: 1px solid #ccc; font-size: .75rem; color: #000000; font-weight: bold;}
.comp_required {font-size: 0.563rem;}
.text_right {text-align: right; width:125px;}
#score_table tr td { padding:0px 20px; border-right: 1px solid #ccc; }
#score_table tr td:last-child { padding:0px 20px; border-right: none; }
a.edit_btn_eval { padding:6px 10px; min-height:24px; min-width:24px; background:#666; border:1px solid #999; color:#ffffff; font-size:0.625rem; text-transform:uppercase; -moz-border-radius:5px; -webkit-border-radius:5px; border-radius:5px; float:right; margin-left:12px; display:inline-block; box-sizing:border-box; line-height:1.2; text-align:center; text-decoration:none; }
a.edit_btn_eval:hover { background:#333; color:#ffffff }
a.edit_btn_eval_question { padding:6px 10px; min-height:24px; min-width:24px; background:#666; border:1px solid #999; color:#ffffff; font-size:0.625rem; text-transform:uppercase; -moz-border-radius:5px; -webkit-border-radius:5px; border-radius:5px; display:inline-block; box-sizing:border-box; line-height:1.2; text-align:center; text-decoration:none;   }
a.edit_btn_eval_question:hover { background:#333; color:#ffffff }
a.add_btn_eval { padding:6px 10px; min-height:24px; min-width:24px; background:#666; border:1px solid #999; color:#ffffff; font-size:0.625rem; text-transform:uppercase; -moz-border-radius:5px; -webkit-border-radius:5px; border-radius:5px; float:left; display:inline-block; box-sizing:border-box; line-height:1.2; text-align:center; text-decoration:none; }
a.add_btn_eval:hover { background:#333; color:#ffffff }
#eval_time_reminder { font-size:0.875rem; font-weight:normal; background-color:#F66; color:#000; border:1px solid #F00; padding:5px; margin-top:10px; }

/* REPORTS */
#report_header { }
#report_header_border { clear:both;  }
#report_logo { float:left; width:225px;  }
.report_btn { float:left; margin-left:10px; padding:5px; background:#efefef; border:1px solid #cccccc; -moz-border-radius:5px; -webkit-border-radius:5px; border-radius:5px; margin-right:5px; cursor:pointer; margin-bottom:20px; }
.report_btn:hover { background:#dedddd; }
/* WCAG 4.5:1 contrast on #efefef - use #294F6D not #3C72BC */
.report_btn, .report_btn a, .report_btn:link, .report_btn:visited, .report_btn:hover, .report_btn a:link, .report_btn a:visited, .report_btn a:hover { color:#294F6D; }
.report_btn_ind { margin-right:10px; margin-top:10px !important; padding:5px; background:#efefef; border:1px solid #cccccc; -moz-border-radius:5px; -webkit-border-radius:5px; border-radius:5px; margin-right:5px; cursor:pointer; margin-bottom:20px; }
.report_btn_ind:hover { background:#dedddd; }
.report_btn_ind, .report_btn_ind a, .report_btn_ind a:link, .report_btn_ind a:visited, .report_btn_ind a:hover { color:#294F6D; }
#report_title { background:#f8f8f8; padding:10px 5px 10px 5px; border:2px solid #999; border-bottom:10px solid #999; font-size:1.25rem; font-weight:bold; }
#report_title_v2 { background:#c2d1f0; padding:10px 5px 10px 5px; border-bottom:6px solid #84a3e1; font-size:1.25rem; font-weight:bold; }
.list_report { border:1px solid #999; margin-bottom:25px; margin-top:15px; width:100%; border-bottom: none !important  }


.list_report tr:nth-child(even)  { background:#f8f8f8; border-top:1px solid #999999; }
.default_row { background:none; border-top:none; }
.list_report tr:hover  { background:#ebeaea; border-top:1px solid #999999; border-bottom:1px solid #999999; }
.highlight_row  { background: #CFF !important; border-top:1px solid #999999 !important; border-bottom:1px solid #999999 !important; }
.list_report th { border-bottom:1px solid #CCC; border-right:1px solid #CCC; border-top:1px solid #CCC; font-size: .75rem; font-weight:bold; text-align:left; color:#333333;  white-space:nowrap; cursor:pointer; padding-right:30px; background:url(/images/cc/icons/double_sort.png) no-repeat right #a9d2ee !important; }
.list_report th:hover { background: url("/images/cc/icons/double_sort.png") no-repeat right #85b2d0 !important; color:#333333;}

.list_report th.nosort { border-bottom:1px solid #CCC; border-right:1px solid #CCC; border-top:1px solid #CCC; font-size: .75rem; font-weight:bold; text-align:left; color:#333333;  white-space:nowrap; cursor:pointer; padding-right:30px; background:none !important; background:#79a3bf !important }
.list_report th.nosort:hover { background: none !important; background:#79a3bf !important; color:#333333;}


.list_report td { border-bottom:1px solid #efefef; border-right:1px solid #efefef; vertical-align:top; white-space:nowrap; }
.list_report td.description { white-space:normal !important; }
.list_report th.description { white-space:normal !important; }
.list_report th.description_long { white-space:normal !important; width:300px !important }
.list_report td.description_long { white-space:normal !important; width:300px !important }
.list_report input[type=submit], .list_report .view_btn { font-size:0.563rem !important; border:1px solid #ccc; background: #666666; padding:3px 2px 3px 2px !important ; color:#efefef; text-align:center;  -moz-border-radius:5px; -webkit-border-radius:5px; border-radius:5px; cursor:pointer; margin: 0 0 0 0 !important; line-height:10px !important; display:inline;}
.list_report input[type=submit]:hover, .list_report .view_btn:hover { background:#363636; color:#efefef;  cursor:pointer  }
.list_report form { margin:0px; padding:0px; }
.component_tbl th { border-bottom:1px solid #CCC; border-top:1px solid #CCC; font-size: .75rem; font-weight:bold; text-align:right; color:#333333; background:#f2f3f3; }
tr.report_footer td { background:#666; color:#FFF; border:none; font-weight:bold; }
tr.report_footer td.footer_total { background:#333333; color:#FFF; }

.map_detail_block:hover  { background:#ebeaea; cursor:default }

/* REQUIREMENTS */
.expired {
	color:#D10000; /* WCAG 4.5:1 contrast on white */
	font-weight:bold;
}

.expires30 {
	color:#ff9600;
	font-weight:bold;
}

.expires60 {
	color:#ffc675;
	font-weight:bold;
}

.expires90 {
	color:#fddcad;
	font-weight:bold;
}


.handslot_schedule { padding: 8px; background: #d4fbdd; color:#000; margin-bottom: 15px; width:90%; }
.add_schedule { padding: 5px; margin-bottom: 10px; }

#eval_session_warning { padding-bottom: 15px; font-size: .75rem; color:#F03; clear:both; margin-bottom:10px; border-bottom:5px solid #CCC; }

#target_columns { margin-left:240px; }
#target_columns ul { padding-left:0px; }
#target_columns li { list-style:none; font-size: .75rem; cursor:pointer; }

.simpleon { color:#069; text-decoration:none; } 
.simpleoff { color: #C03; text-decoration:line-through } 

.outcome_desc { display:block; font-size: .75rem;  }

.level { color:#D10000; }
.pedagogy { color:#1E7B33; }
.assessment { color:#009; }

table.criteria, table.criteria td, table.criteria tr{ background: #FFC}

.list h1 { font-size: 1.375rem; color:#333; }
.list h2 { font-size: 1.25rem; color:#333; }
.list h3 { font-size: 1rem; color:#333;   }
.list h4 { font-size: 1rem; color:#333;  }
.list h5 { font-size: 1rem; color:#333;   }
.list h6 { font-size: 1rem; color:#333;  }


#rubric_score { font-size:1.125rem; font-weight:bold; }
.list .view_details { cursor:pointer;  }
.list_outcomes .view_details { cursor:pointer;  }

.comment_block { font-size: .75rem; line-height:16px; border:1px solid #72adc4; background: #ffffff; padding:15px; color:#333333; margin:20px 20px 0 0; border-bottom-left-radius:10px;  border-bottom-right-radius:10px; border-top-left-radius:10px; border-top-right-radius:10px;  -moz-border-top-left-radius:10px; -moz-border-top-right-radius:10px; -webkit-border-bottom-left-radius:10px; -webkit-border-bottom-right-radius:10px; width: 40%; float:left; height:300px;  }

.add_comment_block, .edit_comment_block { display: none; font-size: .75rem; line-height:16px; border:1px solid #333333; background: #ffffff; padding:10px; color:#333333; margin:20px 20px 20px 0; border-bottom-left-radius:3px;  border-bottom-right-radius:3px; border-top-left-radius:3px; border-top-right-radius:3px;  -moz-border-top-left-radius:3px; -moz-border-top-right-radius:3px; -webkit-border-bottom-left-radius:3px; -webkit-border-bottom-right-radius:3px; width: 84%; float:left;  }

.comment_block_expand { font-size: .75rem; line-height:16px; border:1px solid #72adc4; background: #ffffff; padding:15px; color:#333333; margin:20px 20px 0 0; border-bottom-left-radius:10px;  border-bottom-right-radius:10px; border-top-left-radius:10px; border-top-right-radius:10px;  -moz-border-top-left-radius:10px; -moz-border-top-right-radius:10px; -webkit-border-bottom-left-radius:10px; -webkit-border-bottom-right-radius:10px; width: 40%; float:left; height:100% !important;  }

.comment_observer { font-size: 1rem; margin-top:10px; position:relative;}
.comment_date { float:left; font-size: 1rem; margin-bottom:10px; clear:both; }
.comment_comment { background:none; margin-top:20px; margin-bottom:20px; }
.long_comment_comment { background:none; margin-top:20px; margin-bottom:20px; display:none; }
.comment_artifact { font-size: 1rem; clear:both }
.comment_score { float:right; font-size:1.375rem; border-bottom-left-radius:3px;  border-bottom-right-radius:3px; border-top-left-radius:3px; border-top-right-radius:3px;  -moz-border-top-left-radius:3px; -moz-border-top-right-radius:3px; -webkit-border-bottom-left-radius:3px; -webkit-border-bottom-right-radius:3px; padding:10px; color:#666666; background-color:#98ddff; font-weight:bold; margin-left: 10px; margin-bottom:10px; margin-top:-10px; position:relative; }

.more_comment { margin-top:10px; }


.comment_btn_edit { padding:3px; padding-left:10px; padding-right:10px; background:#ccc; border:1px solid #cccccc; color:#000000; font-size:0.625rem; text-transform:uppercase; -moz-border-radius:3px; -webkit-border-radius:3px; border-radius:3px; cursor:pointer; float:right; margin-top:-3px; margin-left:10px; font-weight:bold; }
.comment_btn_edit:hover { background:#cccccc;  }

.comment_btn_delete { padding:3px; padding-left:10px; padding-right:10px; background:#ccc; border:1px solid #cccccc; color:#000000; font-size:0.625rem; text-transform:uppercase; -moz-border-radius:3px; -webkit-border-radius:3px; border-radius:3px; cursor:pointer; float:right; margin-top:-3px; margin-left:10px; font-weight:bold; }
.comment_btn_delete:hover { background:#cccccc; }


.comment_btn_grid_edit { padding: 3px; display: inline-block; background:#efefef; border:1px solid #cccccc; color:#000000; font-size:0.625rem; line-height: 10px;  -moz-border-radius:3px; -webkit-border-radius:3px; border-radius:3px; cursor:pointer;    text-align:center}
.comment_btn_grid_edit:hover { background:#cccccc;  }

.comment_btn_grid_delete { padding: 3px; background:#efefef;  display: inline-block; border:1px solid #cccccc; color:#000000; font-size:0.625rem;  line-height: 10px;  -moz-border-radius:3px; -webkit-border-radius:3px; border-radius:3px; cursor:pointer;    text-align:center }
.comment_btn_grid_delete:hover { background:#cccccc; }

.comment_btn_grid_add, .comment_btn_grid_eval_add { padding:3px; background:#57a6d3; display: inline-block; border:1px solid #999; color:#ffffff; font-size:0.625rem; line-height: 10px; -moz-border-radius:3px; -webkit-border-radius:3px; border-radius:3px; cursor:pointer;    text-align:center; margin-top:5px;  }
.comment_btn_grid_add:hover, .comment_btn_grid_eval_add:hover { background:#cccccc; color:#ffffff }

.comment_btn_grid_reply, .comment_btn_grid_eval_reply { padding:3px; background:#F00; display: inline-block; border:1px solid #999; color:#ffffff; font-size:0.625rem; line-height: 10px;  -moz-border-radius:3px; -webkit-border-radius:3px; border-radius:3px; cursor:pointer;   text-align:center; margin-top:5px; }
.comment_btn_grid_reply:hover, .comment_btn_grid_eval_reply:hover { background:#900; color:#ffffff }


.new_reply_eval { padding:3px; background:#3c72bc; border:1px solid #3c72bc; color:#ffffff; font-size:0.625rem; -moz-border-radius:3px; -webkit-border-radius:3px; border-radius:3px; cursor:pointer;    text-align:center }
.new_reply_eval:hover { background:#3983ae; color:#ffffff }

.comment_btn_grid_reply_bubbles, .comment_btn_grid_eval_reply_bubbles, .comment_btn_grid_eval_add_bubbles { padding: 3px; display: inline-block; background:#efefef !important; border:1px solid #cccccc; color:#000000; font-size:0.625rem; line-height: 10px;  -moz-border-radius:3px; -webkit-border-radius:3px; border-radius:3px; cursor:pointer;    text-align:center}
.comment_btn_grid_reply_bubbles:hover, .comment_btn_grid_eval_reply_bubbles:hover, .comment_btn_grid_eval_add_bubbles:hover, new_reply_eval_bubbles:hover { background:#cccccc !important; color: #000000  }


.comment_icon { float:left; margin-right:10px; margin-bottom:15px;  }
.alert_icon { float:left; margin-right:10px; margin-bottom:15px; }

.entry_scale_com { padding:10px; font-size: .75rem; font-weight:bold; text-align:center; width:200px; margin-top: 5px; }
.scale_table_com { border-bottom-left-radius:10px;  border-bottom-right-radius:10px; border-top-left-radius:10px; border-top-right-radius:10px;  -moz-border-top-left-radius:10px; -moz-border-top-right-radius:10px; -webkit-border-bottom-left-radius:10px; -webkit-border-bottom-right-radius:10px;  }
.scale_table_left_com { border-bottom-left-radius:10px;  border-top-left-radius:10px; -moz-border-top-left-radius:10px; -webkit-border-bottom-left-radius:10px;  }
.scale_table_right_com { border-bottom-right-radius:10px; border-top-right-radius:10px;  -moz-border-top-right-radius:10px; -webkit-border-bottom-right-radius:10px;  }

.entry_scale { padding:10px; font-size: .75rem; font-weight:bold; text-align:center; width:200px; margin-top:3px; }
.scale_table { border-bottom-left-radius:10px;  border-bottom-right-radius:10px; border-top-left-radius:10px; border-top-right-radius:10px;  -moz-border-top-left-radius:10px; -moz-border-top-right-radius:10px; -webkit-border-bottom-left-radius:10px; -webkit-border-bottom-right-radius:10px;  }
.scale_table_left { border-bottom-left-radius:10px;  border-top-left-radius:10px; -moz-border-top-left-radius:10px; -webkit-border-bottom-left-radius:10px;  }
.scale_table_right { border-bottom-right-radius:10px; border-top-right-radius:10px;  -moz-border-top-right-radius:10px; -webkit-border-bottom-right-radius:10px;  }

.other_scores { font-size: .75rem; white-space:nowrap; }

.reverse_map { float:right; margin:10px; }

.report_rubric { display: inline }
.ui-selectmenu-menu .ui-selectmenu-group .ui-selectmenu-group-label { color: #ff0000 !important; line-height: 1.6em; display:block; padding:.6em .5em .5em !important; font-weight: bold; }

.lti_section { padding:5px; border:1px solid #e2f1fd; background-color:#e2f1fd; font-size: .75rem; margin-bottom:10px; width: 250px; -moz-border-radius:3px; -webkit-border-radius:3px; border-radius:3px; vertical-align: middle; display: inline-block }
.lti_link { font-size: 1rem; font-weight:bold;  }
.lti_section:hover { background:#dad7d7 }
.lti_edit_link { height: 20px; }
.lti_description { margin-top: 10px; text-decoration: none !important; color: #000000; font-size: 0.688rem; }
.lti_campus { padding:5px; font-size:0.875rem; margin-bottom:5px; font-weight:bold; }
.lti_enrollment { font-size:0.688rem; margin-bottom:10px; font-weight:bold; line-height:16px; }

.lti_section_outcomes { padding:5px; border:1px solid #CCC; background-color:#efefef; font-size: .75rem; margin-top:10px !important; display: block; clear: both;}
.lti_link_outcomes { font-size: 1rem; font-weight:bold; color: #000000 !important;  }
.lti_section_outcomes:hover { background:#dad7d7 }
.lti_description_outcomes { margin-top: 10px; text-decoration: none !important; color: #000000; font-style: normal; }

.lst_course { font-size:0.813rem; margin-top:15px;}
.lst_course_name { width:465px; font-size:0.813rem; font-weight:bold; float:left }
.lst_course_name_child1 { width:444px; font-size:0.813rem; font-weight:bold; float:left; margin-left:20px !important; padding-left:20px; background:url("/images/cc/indent_bull.jpg") left top no-repeat;  }
.lst_course_name_child2 { width:405px; font-size:0.813rem; font-weight:bold; float:left; margin-left:40px !important; padding-left:20px; background:url("/images/cc/indent_bull.jpg") left top no-repeat; }
h2.lst_course_name, h3.lst_course_name_child1, h4.lst_course_name_child2 { margin: 0; padding: 0; font-size: inherit; font-weight: inherit; }

.lst_course a.edit_btn { margin-left:7px; }
.course_parent { font-size: 1rem; }

.lst_outcome { font-size:0.813rem; margin-top:15px;}
.lst_outcome_name { font-size:0.813rem; font-weight:bold; }

.lst_outcome a.edit_btn { margin-left:7px; }
.outcome_parent { font-size: 1rem; }

.ui-widget { font-size: .75rem !important }

.list_outcomes { border:1px solid #999; margin-top:25px; margin-bottom:25px; width:100%  }
.list_outcomes tr:nth-child(odd)  { background:#f8f8f8; border-top:1px solid #999999; }
.list_outcomes td { vertical-align:top; }

.list_outcomes th { border-bottom:1px solid #CCC; border-top:1px solid #CCC; font-size:0.688rem; font-weight:bold; text-align:left; color:#333333; background:#f2f3f3; }


.parent_row { border-bottom:1px solid #333; background:#b9c9fe; color:#333 }
.outcome_title { font-size: 1.375rem; color:#000000 }
.outcome_description { font-size: .75rem; line-height: 16px; color:#333 }

.outcome_abbr { color:#333 }
.outcome_files {  }
a.outcome_file { padding-left: 22px; padding-top: 5px; padding-bottom:5px; background:url("/images/cc/icons/file.png") left no-repeat ; font-size: .75rem; line-height:20px; text-decoration:underline   }
.score_column { background:#c5d9ea; text-align:center; font-size:0.875rem; border-right:1px solid #86a0bd; color:#333; border-bottom:1px solid #86a0bd; font-weight:bold; }
.score_column_other { background:#afc2d2; text-align:center; font-size:0.875rem; border-right:1px solid #86a0bd; color:#333; border-bottom:1px solid #86a0bd; font-weight:bold; }
.your_score_column { width: 50px !important; }
.other_score_data { font-size: .75rem; text-align:left !important; line-height:16px; }
.outcome_open { width: 55px !important; white-space:nowrap; }
.comment_completion { margin-top:5px; font-size: .75rem; font-weight:bold; font-style:italic; color:#666; }

#course_documents { float:right; border:1px solid #999; padding:10px; margin-left:20px; clear:both; margin-top:10px; margin-bottom:10px; background:#efefef; z-index:9999; width: 250px; }
#course_documents h2 { padding-top: 0px; margin-top:0px; font-size: 1rem; width:200px; text-decoration: underline }
a.course_doc { display:block; margin-top: 10px; font-size:0.875rem; }
.course_doc { display:block; margin-top: 10px; font-size:0.875rem; }
#course_faculty_selection { border:1px solid #F00; background:#F99; padding:10px; font-size: .75rem; line-height:26px; font-weight:bold }
#course_faculty_selection h2 { padding-top: 0px; margin-top:0px; }

#show_observer_list { border:1px solid #06F !important; padding:5px !important; }

.dropbox_count { float:left; margin-right: 5px; background:#F00; color:#FFF; font-weight:bold; padding: 4px; border-bottom-left-radius:5px;  border-bottom-right-radius:5px; border-top-left-radius:5px; border-top-right-radius:5px;  -moz-border-top-left-radius:5px; -moz-border-top-right-radius:5px; -webkit-border-bottom-left-radius:5px; -webkit-border-bottom-right-radius:5px; font-size:0.813rem; }
.dropbox { margin-top:2px; width: 95px; font-size:0.875rem; }
.commentary_button { margin-top:2px; width: 115px; font-size:0.875rem; }

a.file_list {  font-size: .75rem; line-height:22px; text-decoration:none;   }

/* EVAL SCORING STYLES */
ul.score_list {
    list-style-type: none;
    padding: 0px;
    margin: 0px;
}

ul.score_list li {
    background-image: none;
    padding-left: 0px; 
}


.table_scoring { border-collapse:collapse; margin-top:10px; }
.table_scoring th { background:#b0d7ff; font-size: .75rem; border: 1px solid #999999;  border-collapse:collapse;  }
.table_scoring th.sub_heading { font-size: .75rem; font-weight:normal; vertical-align:top; background:#cce5ff  }
.table_scoring th.blank_row { height: 5px; border: none !important; background:#ffffff; }
.table_scoring td { border: 1px solid #666666; border-collapse:collapse; }
.table_scoring td.midpoint_row { background: #efefef; }
.table_scoring td.final_row { background: #efefef; }
.table_scoring td.blank_row { height: 15px; border: none !important; }
.table_scoring td.midpoint_row_selected { font-size:0.688rem !important; background: #efefef; }
.table_scoring td.final_row_selected { font-size:0.688rem; background: #efefef; }
/* WCAG 4.5:1 contrast on #cce5ff - use #D10000 not #FF0000 */
.table_scoring th.selected_score_header { color:#D10000; background:#cce5ff; }
.required_row {background:#FFBABA !important; }
.score_desc { font-size:0.688rem; }
.ui-selectmenu-item-content { font-weight:normal !important; font-size:0.688rem; }
.ui-selectmenu-item-header { font-weight:bold !important; font-size: .75rem; }

/* UI selectmenu button: text/icon #7F3A00 for 4.5:1 contrast on light background (WCAG) */
.ui-selectmenu-button,
.ui-selectmenu-button .ui-selectmenu-status,
.ui-selectmenu-button.ui-state-active,
.ui-selectmenu-button.ui-state-active .ui-selectmenu-status,
.ui-selectmenu-button .ui-icon {
    color: #7F3A00 !important;
}
/* Selected item inside open dropdown list */
.ui-selectmenu-menu li.ui-selectmenu-item-selected a,
.ui-selectmenu-menu li.ui-selectmenu-item-selected .ui-icon,
.ui-selectmenu-menu li.ui-state-active a,
.ui-selectmenu-menu li.ui-state-active .ui-icon {
    color: #7F3A00 !important;
}

#course_enrollment th { font-size: 1.2em; font-weight: bold; text-align: left; background-color: #3983ae; color: #ffffff; }
#course_enrollment td { font-size: 1.1em; text-align: left; vertical-align: top; border-bottom: 1px solid #efefef; )  }
#course_enrollment td.update_row { background-color: #0033ff; }
#course_enrollment td.update_row input[type=submit] { background-color: #ffffff; color: #000099; cursor: pointer }
#course_enrollment td.update_row input[type=submit]:hover { background-color: #efefef; color: #000099; cursor: pointer }

.btn_container {
    list-style: none !important;
    margin: 0;
    padding: 0;
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: 3px;
}
.btn_container .heading_btn {
    list-style: none !important;
    display: inline-block;
    margin: 0;
    padding: 0;
}
.btn_container .heading_btn::marker {
    content: "";
}
.heading_btn, .commentary_btn { text-align: center; cursor: pointer; }
.heading_btn_sm { font-size: .5em; padding: 3px; }

.open_commentary { float: left;}
.commentary_count { padding: 3px; font-size: 0.688rem; font-weight: bold; background: #6699ff; color: #ffffff; border: 1px solid #000099; border-bottom-left-radius:5px;  border-bottom-right-radius:5px; border-top-left-radius:5px; border-top-right-radius:5px;  -moz-border-top-left-radius:5px; -moz-border-top-right-radius:5px; -webkit-border-bottom-left-radius:5px; -webkit-border-bottom-right-radius:5px; width: 15px; float: left; text-align: center; cursor: pointer }
.commentary_count:hover { background: #003399 }
.commentary_count_active { padding: 3px; font-size: 0.688rem; font-weight: bold; background: #009900; color: #ffffff; border: 1px solid #000099; border-bottom-left-radius:5px;  border-bottom-right-radius:5px; border-top-left-radius:5px; border-top-right-radius:5px;  -moz-border-top-left-radius:5px; -moz-border-top-right-radius:5px; -webkit-border-bottom-left-radius:5px; -webkit-border-bottom-right-radius:5px; width: 15px; float: left; text-align: center; cursor: pointer }
.commentary_count_active:hover { background: #019c4f }
.rpt_btn { padding: 3px; font-size: 0.688rem; font-weight: bold; background: #6699ff; color: #ffffff; border: 1px solid #000099;
    border-bottom-left-radius:5px;  border-bottom-right-radius:5px; border-top-left-radius:5px; border-top-right-radius:5px;  -moz-border-top-left-radius:5px;
    -moz-border-top-right-radius:5px; -webkit-border-bottom-left-radius:5px; -webkit-border-bottom-right-radius:5px; width: 40px; text-align: center;
    cursor: pointer }
.rpt_btn:hover { background: #003399 }

.report_totals { background: #e1e463; font-weight: bold; color:#000000; }
.updated_success { float: right; }

.course_description { padding-bottom: 15px; }
tfoot{ background: #999999; color: #ffffff; font-weight: bold }
.red_bg { background-color: #fe5454; color: #FFFFFF; font-weight: bold;}
#exam_launch { margin: auto; width: 600px; font-size: 0.875rem; text-align: center  }
a.launch_exam {
    font-size: 1.375rem; margin-top: 15px; border: 1px solid #000099; padding: 20px; border-bottom-left-radius:20px;  border-bottom-right-radius:20px; clear:both;
    border-top-left-radius:20px; border-top-right-radius:20px;  -moz-border-top-left-radius:20px; background-color: #0089d8; color: #ffffff;
    -moz-border-top-right-radius:20px; -webkit-border-bottom-left-radius:20px; -webkit-border-bottom-right-radius:20px; width: 150px; text-align: center; font-weight: bold; display: inline-block; margin-top: 35px;
}
a.launch_exam:hover {
    background-color: #0479bc;  }

img.exam_img_sm { max-width:30%; max-height:30%; cursor: pointer }
img.exam_img_lg { max-width:100%; max-height:100%; cursor: pointer }

.comment_bubble { font-size: 1rem; border: 1px solid #efefef; padding: 15px; border-bottom-left-radius:10px;  border-bottom-right-radius:10px; clear:both;
    border-top-left-radius:10px; border-top-right-radius:10px;  -moz-border-top-left-radius:10px; background-color: #efefef; color: #000000; margin-bottom: 15px;
    -moz-border-top-right-radius:10px; -webkit-border-bottom-left-radius:10px; -webkit-border-bottom-right-radius:10px; text-align: left; font-weight: bold; display: inline-block; height: 100%; width: 80%; }

.comment_auth { float: left; vertical-align: top; width: 125px; margin-right: 15px; margin-bottom: 10px;}
.comment_date_bubble { text-align: left; font-size: 0.813rem; }
.comment_content { float: left;  font-size: 0.875rem; text-align: left;  vertical-align: top; font-weight: normal; background: #ffffff; color: #000000; padding: 10px;
    border-bottom-left-radius:10px;  border-bottom-right-radius:10px; border-top-left-radius:10px; border-top-right-radius:10px;  -moz-border-top-left-radius:10px; -moz-border-top-right-radius:10px; -webkit-border-bottom-left-radius:10px; -webkit-border-bottom-right-radius:10px;
    width: 80%;

}
.comment_score {
float: right; margin-left: 15px; font-size: 1.375rem; text-align: center;  vertical-align: top; font-weight: bold; background: #049af1; color: #ffffff; padding: 5px;
    border-bottom-left-radius:10px;  border-bottom-right-radius:10px; -webkit-border-bottom-left-radius:10px; -webkit-border-bottom-right-radius:10px; border-top-left-radius:0px; border-top-right-radius:0px;  -moz-border-top-left-radius:0px; -moz-border-top-right-radius:0px;


}
.comment_btns {
    float: right;

}

.comment_auth_pic, .course_pic { border-bottom-left-radius:10px;  border-bottom-right-radius:10px; border-top-left-radius:10px; border-top-right-radius:10px;  -moz-border-top-left-radius:10px; -moz-border-top-right-radius:10px; -webkit-border-bottom-left-radius:10px; -webkit-border-bottom-right-radius:10px; }

.bubble_text { line-height: 25px; }

#readiness_lookup { font-size: .75rem; line-height: 14px; font-weight: bold; color: #ffffff; display: inline-block; margin-left: 10px; -moz-border-radius:3px;
    -webkit-border-radius:3px; border-radius:3px; margin-right:5px; cursor:pointer; background: #00639c; padding: 6px; margin-top: 1px; }

#readiness_lookup:hover { background: #0770ad; }
.close_btn { top:0; right: 0; position: fixed; margin:5px; }
.fixed  {

}
.dt_right { margin-bottom: 20px !important;}
.pull-left{
    float: left !important;
}
.dataTables_filter {
    float: left !important;
    text-align: none !important;
    margin: 0; padding: 0;
    display: inline-block;
}

.dataTables_filter input {
    margin: 0 0;
    padding: 5px;
    border-radius: 5px;
    border: 1px solid #666;
    width: 300px;
}

.dataTables_filter input:hover {
    border: 1px solid #666;
}

/* Hide native browser clear button for DataTables search inputs */
.dataTables_filter input[type="search"]::-webkit-search-cancel-button {
    display: none;
}

.dataTables_filter input[type="search"]::-ms-clear {
    display: none;
}

/* Focus indicator for keyboard-accessible clear button */
.dataTables_filter .snapshot_search_clearbutton:focus {
    outline: 2px solid #4A90E2;
    outline-offset: 2px;
}

.dataTables_paginate {
    float: left !important;
}

/* DataTables Responsive Styles */
/* Wrapper should not scroll - controls stay fixed */
.dataTables_wrapper {
    width: 100%;
    overflow: visible;
    position: relative;
}

/* Only the table scroll area should scroll */
.dataTables_wrapper .dataTables_scroll {
    overflow-x: auto;
    overflow-y: visible;
    -webkit-overflow-scrolling: touch;
    width: 100%;
}

.dataTables_wrapper .dataTables_scrollBody {
    overflow-x: auto !important;
    overflow-y: visible !important;
    -webkit-overflow-scrolling: touch;
}

/* For tables without scroll wrapper, create scrollable container */
.dataTables_wrapper > table.dataTable {
    display: block;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    width: 100%;
}

/* Keep controls outside scroll - they should not scroll */
.dataTables_filter,
.dataTables_length,
.dataTables_info,
.dataTables_paginate,
.dt_btns,
.dt_len {
    position: relative;
    z-index: 1;
    overflow: visible;
}

/* Make DataTables responsive on mobile devices */
@media screen and (max-width: 767px) {
    /* Wrapper stays fixed */
    .dataTables_wrapper {
        overflow: visible;
    }
    
    /* Only scroll the table area */
    .dataTables_wrapper .dataTables_scroll {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        width: 100%;
    }

    .dataTables_wrapper .dataTables_length, .dataTables_wrapper .dataTables_filter{
        text-align: left !important;
    }
    
    .dataTables_wrapper .dataTables_scrollBody {
        overflow-x: auto !important;
        -webkit-overflow-scrolling: touch;
    }
    
    /* If no scroll wrapper, table itself scrolls */
    .dataTables_wrapper > table.dataTable {
        display: block;
        overflow-x: auto;
        width: 100%;
        -webkit-overflow-scrolling: touch;
    }
    
    table.dataTable {
        width: 100% !important;
        min-width: 100%;
    }
    
    /* Controls stay fixed outside scroll */
    .dataTables_filter {
        float: right !important;
        text-align: left !important;
        margin-bottom: 10px !important;
        top: 0 !important;
        width: 100%;
        position: relative;
        overflow: visible;
    }
    
    .dataTables_filter input {
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box;
    }
    
    .dataTables_length {
        float: none !important;
        margin-bottom: 10px;
        position: relative;
        overflow: visible;
    }
    
    .dataTables_paginate {
        float: none !important;
        text-align: left !important;
        margin-top: 10px;
        position: relative;
        overflow: visible;
    }
    
    .dataTables_info {
        float: none !important;
        text-align: left !important;
        margin-top: 10px;
        position: relative;
        overflow: visible;
    }
    
    /* Responsive child row styling */
    table.dataTable.dtr-inline.collapsed > tbody > tr > td.child,
    table.dataTable.dtr-inline.collapsed > tbody > tr > th.child,
    table.dataTable.dtr-inline.collapsed > tbody > tr > td.dataTables_empty {
        cursor: default !important;
    }
    
    table.dataTable.dtr-inline.collapsed > tbody > tr[role="row"] > td:first-child:before,
    table.dataTable.dtr-inline.collapsed > tbody > tr[role="row"] > th:first-child:before {
        top: 8px;
        left: 4px;
        height: 14px;
        width: 14px;
        display: block;
        position: absolute;
        color: white;
        border: 2px solid white;
        border-radius: 14px;
        box-shadow: 0 0 3px #444;
        box-sizing: content-box;
        text-align: center;
        text-indent: 0 !important;
        line-height: 14px;
        content: '+';
        background-color: #31b131;
    }
    
    table.dataTable.dtr-inline.collapsed > tbody > tr.parent > td:first-child:before,
    table.dataTable.dtr-inline.collapsed > tbody > tr.parent > th:first-child:before {
        content: '-';
        background-color: #d33333;
    }
    
    /* Ensure buttons are responsive */
    .dt_btns {
        float: none !important;
        margin-bottom: 10px;
        text-align: left;
        position: relative;
        overflow: visible;
    }
    
    .dt_btns .dt-button {
        margin: 2px;
        padding: 5px 10px;
        font-size: 12px;
    }
}

/* Tablet responsive styles */
@media screen and (min-width: 768px) and (max-width: 1024px) {
    /* Wrapper stays fixed */
    .dataTables_wrapper {
        overflow: visible;
    }
    
    /* Only scroll the table area */
    .dataTables_wrapper .dataTables_scroll {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }
    
    .dataTables_filter input {
        width: 250px !important;
        max-width: 100%;
    }
    
    .dataTables_paginate {
        float: left !important;
    }
}

/* Ensure table cells don't break layout on small screens */
@media screen and (max-width: 767px) {
    table.dataTable thead th,
    table.dataTable tbody td {
        white-space: nowrap;
        padding: 8px 4px;
        font-size: 12px;
    }
    
    /* Allow text wrapping in specific cases if needed */
    table.dataTable tbody td.wrap-text {
        white-space: normal;
        word-wrap: break-word;
    }
}

/* Secondary button (Add Student, Inactive/Deactivate/Activate Students, etc.) */
.heading_btn a.form_submit_link,
.heading_btn a:link,
a.edit_btn:link,
.heading_btn_instructions a:link
{
    background-color: #E7E7E7 !important;
    border: 1px solid #6A6A6A !important;
    color: #555555;
    padding: 5px 10px;
    text-align: center;
    text-decoration: none;
    display: inline-block;
    font-size: .8rem;
    -webkit-transition-duration: 0.3s; /* Safari */
    transition-duration: 0.3s;
    border-radius: 2px;
    font-weight: 500;
    margin-left:3px;
    min-height: 24px;
    min-width: 24px;
    line-height: 1.2;
    box-sizing: border-box;
}

.heading_btn a:visited,
a.edit_btn:visited,
.heading_btn_instructions a:visited
{
    background-color: #E7E7E7 !important;
    border: 1px solid #6A6A6A !important;
    color: #555555;
    padding: 5px 10px;
    text-align: center;
    text-decoration: none;
    display: inline-block;
    font-size: .8rem;
    -webkit-transition-duration: 0.3s; /* Safari */
    transition-duration: 0.3s;
    border-radius: 2px;
    font-weight: 500;
    min-height: 24px;
    min-width: 24px;
    line-height: 1.2;
    box-sizing: border-box;
}

.heading_btn a:hover,
a.edit_btn:hover,
.heading_btn_instructions a:hover
{
    background-color: #666666 !important;
    color: #FFFFFF !important;
    border: 1px solid #6A6A6A !important;
}

.heading_btn a:focus,
a.edit_btn:focus,
.heading_btn_instructions a:focus
{
    background-color: #E7E7E7 !important;
    color: #555555 !important;
    border: 1px solid #6A6A6A !important;
    outline: 2px dotted #000000;
    outline-offset: 2px;
}

.heading_btn a:active,
a.edit_btn:active,
.heading_btn_instructions a:active
{
    background-color: #E7E7E7 !important;
    color: #555555;
    border: 1px solid #6A6A6A !important;
}
input[type=submit].delete_assessment {
    font-size: 0.875rem;  border: 1px solid #000099; padding: 10px; border-bottom-left-radius:20px;  border-bottom-right-radius:20px; clear:both;
    border-top-left-radius:20px; border-top-right-radius:20px;  -moz-border-top-left-radius:20px; background-color: #0089d8 !important; color: #ffffff;
    -moz-border-top-right-radius:20px; -webkit-border-bottom-left-radius:20px; -webkit-border-bottom-right-radius:20px;  text-align: center; font-weight: bold;
}
input[type=submit].delete_assessment:hover {
    background-color: #0479bc !important;  }

.listv2 { margin-bottom:25px; width:100%; ;
    outline:none;  }
.listv2 tr:nth-child(odd)  { background:#f8f8f8; border-top:1px solid #999999; }
.listv2 tr:hover  { background:#ebeaea; border-top:1px solid #999999; border-bottom:1px solid #999999; }
.listv2 td { vertical-align:top; }

.listv2 th { border-bottom:1px solid #CCC; font-size:1em; font-weight:bold; text-align:left; color:#000000; background:#f2f3f3; }

#add_more_files
{
    background-color: #b6c5fb !important;
    border: none !important;
    color: #555555;
    padding: 5px 10px;
    text-align: center;
    text-decoration: none;
    display: inline-block;
    font-size: .7rem;
    -webkit-transition-duration: 0.3s; /* Safari */
    transition-duration: 0.3s;
    border-radius: 2px;
    font-weight: 500;
    cursor: pointer;
}


#add_more_files:hover
{
    background-color: #555555 !important;
    color: #ffffff !important;
    border: none !important;
    outline: none !important;
}
.comment_grid_artifact { margin-bottom: 5px; padding: 3px; border: 1px dotted cadetblue; border-bottom-left-radius:7px;  border-bottom-right-radius:7px; clear:both !important;
    border-top-left-radius:7px; border-top-right-radius:7px;  -moz-border-top-left-radius:7px; background-color: #efefef !important;
    -moz-border-top-right-radius:7px; -webkit-border-bottom-left-radius:7px; -webkit-border-bottom-right-radius:7px; display: inline-block; }

.comment_grid_artifact:hover { background-color: lightgrey !important; }

.comment_grid_artifact a {
    text-decoration: none !important; color: #002a80 !important; font-weight: bold !important;
}

.table_intro {
    font-size: 1.7em;  border: 1px solid #cccccc; padding: 5px;
    border-top-left-radius:20px; border-top-right-radius:20px;  -moz-border-top-left-radius:20px; background-color: #616265 !important; color: #ffffff;
    -moz-border-top-right-radius:20px; text-align: left;
}
/* Same strip styling when .table_intro is used with .table_title (e.g. Student Observer Access) */
.table_intro.table_title {
    background-color: #616265 !important;
    color: #ffffff;
}

/* Ensure h1/h2 elements inside .table_intro inherit proper styling for accessibility */
.table_intro h1,
.table_intro h2 {
    font-size: inherit;
    color: inherit;
    margin: 0;
    padding: 0;
    font-weight: normal;
    display: inline;
}

.table_into_btn_right a {
    border-top-right-radius:20px !important;  -moz-border-top-right-radius:20px !important;
}

/* Assessment progress bar: track background/border #333333, fill #FFFF00 (comp100 stays green) */
.percentbar { background: #333333; border: 1px solid #333333; height: 10px; }
.percentbar div { background: #FFFF00; height: 10px; }
.percentbar div.comp100 { background: greenyellow; height: 10px; }

/* Side hover panel (title_tip assessment tooltip): background #FFFF00, border #333333, dark text for contrast */
.qtip.qtip-title-tip-panel { background-color: #FFFF00 !important; border: 1px solid #333333 !important; color: #333333 !important; }
.qtip.qtip-title-tip-panel .qtip-content { color: #333333 !important; }
.qtip.qtip-title-tip-panel .qtip-titlebar { background-color: #FFFF00 !important; border-color: #333333 !important; color: #333333 !important; }


.core_label_select, .core_label_select input[type="checkbox"], .core_label_select input[type="radio"], .core_label_select *{
    cursor: pointer;
    padding: 2px 10px 2px 5px;
    margin: 0;
    border-radius: 10px;
    display: inline-block;
}
.core_label_select:hover {
    background: #DDD;
}

.core_label_select_inline, .core_label_select_inline input[type="checkbox"], .core_label_select_inline input[type="radio"], .core_label_select_inline *{
    cursor: pointer;
    padding: 2px 10px 2px 5px;
    margin: 0;
    border-radius: 10px;

}
.core_label_select_inline:hover {
    background: #DDD;
}

.dt_len { padding-top: 8px; padding-right: 20px !important; ; }
.dataTables_filter { font-weight: bold; font-size: 0.813rem; margin-bottom: 10px; }
.dt_page { width: 450px; }
td.tdcenter { text-align: center !important; }

.ui-multiselect{
    white-space: normal !important;
    max-width: 700px;
}



.eval_label_checkbox {
    border-radius: 5px;
    padding: 2px 6px 0px 0px;
    cursor: pointer;
}

.eval_label_checkbox:hover {
    background-color: #DDD;
}

.eval_label_checkbox input[type='checkbox']{
    margin-right: 1px!important;
    padding-right: 0px!important;
    cursor: pointer;
}

.eval_label_checkbox input[type='radio']{
    margin-right: 1px!important;
    padding-right: 0px!important;
    cursor: pointer;
}

.import_div_cont {
    margin-bottom: 10px;
}


/*snapshot search */
#outputContainer, .outputContainer { display: block; background-color: #ffffff; border:1px solid #ccc; z-index: 9999	}
#outputContainer a, .outputContainer a { display: block; padding: 5px; text-align:left;	border-left: .1pt #cccccc solid; border-right: .1pt #cccccc solid;	color:#0066FF;	text-decoration:none; margin-top: 3px; border: 0}
#outputContainer a:hover, .outputContainer a:hover { background-color: #efefef; }

#outputContainer {
    box-shadow: 2px 2px 5px #CCC;
}

.outputContainer {
    box-shadow: 3px 3px 3px #AAA!important;
}

.snapshot_search_container {
    font-size: .7em!important;
    overflow-y: auto;
    overflow-x: hidden!important;
    background-color: white;
    width: 386px !important;
    -webkit-border-radius: 3px;
    -moz-border-radius: 3px;
    border-radius: 3px;
    margin-left: 2px;
    margin-top: 2px;
    box-shadow: none;
}

.snapshot_search_container .listholder {
    position: relative;
    overflow-x: hidden;
}

.snapshot_search_container .listholder a {
    min-height: 14px;
    padding: 4px 7px;
    line-height: 1.4;
    font-size: .75rem;
}

.snapshot_search_container .listholder a:hover {
    color: black!Important;
}

.snapshot_search_container .listholder .matchedText {
    background-color: #366;
    -webkit-border-radius: 3px;
    -moz-border-radius: 3px;
    border-radius: 3px;
    margin: 0;
    padding: 0 1px;
    color: white;
}


.snapshot_search_visible {
    display: inline-block;
    position: absolute;
    float: left;
    top: 30px;
}

.snapshot_search_clearbutton {
    position: relative;
    padding: 0px 4px 3px 4px;
    margin-left: -20px;
    margin-right: 6px; /* for the reseach center that has a button to the right */
    background-color: #333333;
    border-radius: 4px;
    border-right: 1px solid #BBB;
    border-bottom: 1px solid #BBB;
    display: inline;
    cursor: pointer;
    font-size: .75rem;
    color: #FFF;
    top: -2px;
}

.snapshotSearch:focus + .shell_search_icon {
    /*display: none;*/
}

.snapshot_search_clearbutton:hover{
    background-color: #666666;
}

.snapshot_search_clearbutton:active{
    background-color: #FAA;
}

.autocomplete_main_div {
    width: 378px;
}

.snapshotSearch::-ms-clear {
    display: none;
}

/***/

.searchHighLight {
    background-color: #555555;
    color: #FFFFFF !important;
}
.noboxshadow {
    box-shadow: none!important;
}

.show-on-focus-only {
    display: none !important;
}

.show-on-focus-only:focus {
    display: block !important;;
}

.exam_start {
    background-color: #ff0000; /* Green */
    border: none;
    color: white;
    padding: 5px 5px;
    text-align: center;
    text-decoration: none;
    display: inline-block;
    font-size: 12px;
}

.report_flag {
    color:#7a1e1e;
    font-weight:700;

    background-image: linear-gradient(currentColor, currentColor);
    background-size: 100% 2px;
    background-position: 0 1.2em;
    background-repeat: no-repeat;
}

th.group-id,
td.group-id {
    background-color: #F2F4F7;
    color: #1F2933;
    font-weight: 600;
    border-left: 2px solid #D0D5DD;
}

th.group-item,
td.group-item {
    background-color: #FAFBFC;
    color: #1F2933;
}

.exam_stop {
    background-color: #4CAF50; /* Green */
    border: none;
    color: white;
    padding: 5px 5px;
    text-align: center;
    text-decoration: none;
    display: inline-block;
    font-size: 12px;
}

.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border-width: 0;
}

/* Responsive styles for 320px viewport */
@media screen and (max-width: 480px) {
    .form_tbl {
        width: 100% !important;
        max-width: 100% !important;
    }
    .heading_fullscreen {
        font-size: 1rem !important;
        padding: 10px !important;
    }
    .heading_btn {
        display: inline-block !important;
        text-align: center !important;
    }
    .heading_btn a {
        display: block !important;
        width: 100% !important;
        box-sizing: border-box;
    }
    #app_content {
        width: 100% !important;
        max-width: 100% !important;
        padding: 5px !important;
        box-sizing: border-box;
    }
    .heading2 {
        width: 100% !important;
        padding: 10px 5px !important;
    }
    select.wrap_menu_year,
    select.wrap_menu_campus,
    select.wrap_menu_program {
        width: 100% !important;
        max-width: 100% !important;
        margin: 5px 0 !important;
        box-sizing: border-box;
    }
}

.ui-dialog .ui-dialog-titlebar.ui-widget-header {
    background: #294F6D !important;
    background-image: none !important;
    border-color: #294F6D !important;
    color: #FFFFFF !important;
}
.ui-dialog .ui-dialog-titlebar.ui-widget-header .ui-dialog-title {
    color: #FFFFFF !important;
}
.ui-dialog .ui-dialog-titlebar-close {
    background: #294F6D !important;
    background-image: none !important;
    border-color: #294F6D !important;
}
.ui-dialog .ui-dialog-titlebar-close .ui-icon {
    filter: brightness(0) invert(1);
    opacity: 1;
}
.ui-dialog .ui-dialog-titlebar-close:hover {
    background: #FFFFFF !important;
    background-image: none !important;
    border-color: #2F6FA5 !important;
}
.ui-dialog .ui-dialog-titlebar-close:hover .ui-icon {
    filter: none;
    background-color: #2F6FA5 !important;
    background-image: none !important;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='black'%3E%3Cpath d='M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z'/%3E%3C/svg%3E") center/contain no-repeat;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='black'%3E%3Cpath d='M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z'/%3E%3C/svg%3E") center/contain no-repeat;
}
.ui-dialog .ui-dialog-titlebar-close:focus {
    outline: 2px solid #FFFFFF !important;
    outline-offset: 2px;
}
