html{position:relative;min-height:100%;margin:0;}
body, wrapper{min-height:100vh;font-size:.9rem;}/* font-size:1.75vmin */
wrapper{background-color:#f3f3f3}
#content {background-color:#FFF;}
.login-register {
	max-width:28rem;
	background-image:url(../images/nexus.png);	/* Default */
	background-repeat:no-repeat;
	background-size:50%;
	background-position:top center;
	padding-top:5rem;
}
.map-container{
width:auto;
height:100%;
}
.map-container iframe{
width:100%;
height:100%;
border:none;
}
.img-magnifier-container {
  position: relative;
}

.img-magnifier-glass {
  position: absolute;
  border: 3px solid #000;
  border-radius: 50%;
  cursor: none;
  /*Set the size of the magnifier glass:*/
  width: 100px;
  height: 100px;
}
#overlay {
  position: absolute;
  display: block;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: rgba(0,0,0,0.2);
  z-index: 2;
  cursor: pointer;
}
.disabled-parent {pointer-events:none;opacity:0.4}
select,
select option {
  color: #000000;
}

select:invalid,
select option[value=""] {
  color: #999999;
}

optgroup.sds-group-level-1, optgroup.sds-group-level-2, optgroup.sds-group-level-3 {
	font-weight: bold;
}

/* Style the options within the optgroup */
optgroup.sds-group-level-1 option {
	/*
	background-color: #eee;
	color: #333;
	font-weight: normal;
	*/
}

.sds-a4-page-container{width:22.25cm;height:30.5cm;padding:1em;margin-top:1em;margin-bottom:1em;color:#000!important;background-color:#333!important;box-shadow:0 2px 5px 0 rgba(0,0,0,0.16),0 2px 10px 0 rgba(0,0,0,0.12);overflow-x:hidden;overflow-y:scroll}
.sds-a4-page{width:21cm;height:29.6cm;color:#000!important;background-color:#fff!important;margin:auto;}
.sds-a4-page header{width:18.5cm;height:2cm;margin:0 1cm 0 1.5cm;padding:12px;}
.sds-a4-page footer{width:18.5cm;height:2cm;margin:0 1cm 0 1.5cm;padding:12px;}
.sds-a4-page-content{width:18.5cm;height:25.6cm;margin:0 1cm 0 1.5cm;padding:0 16px;}
.sds-a4-page:after,.sds-a4-page:before{content:"";display:table;clear:both}
.sds-input-label{height:24px;position:relative;top:6px;font-weight:400;}
.sds-radio,.sds-check{margin-right:24px;}
.sds-pdf-container{width:22.25cm;min-height:30.5cm;padding:1rem;margin:0;background-color:#333!important}
.sds-page-outer-container{max-width:22.25cm; margin-bottom:1rem}
.sds-table-caption{font-size:xx-large}
.clickable-row, .clickable-row-modal{cursor:alias;-webkit-user-select:none;-ms-user-select:none;user-select:none;}/*.clickable-row{cursor:url(../images/logo.png), auto;}*/
.non-clickable-row, .non-clickable-row-modal{cursor:not-allowed;}
#feedback_positive_alert, #feedback_negative_alert{z-index:99}
.to-do{background:#9CF;padding:1rem;margin-right:1rem;}
.wip{border:#F00 thin solid}

#dp-bh .datepicker, #dp-bh .datepicker table, #dp-exam-sessions .datepicker, #dp-exam-sessions .datepicker table{width:100%}
#dp-exam-sessions .datepicker {
	line-height:1.95;
}
.datepicker {
	padding: 0;
}
.datepicker-inline {
	width: 250px;
}
.datepicker .datepicker-days, .datepicker .datepicker-days .table-condensed {
	width:inherit;
}
table.on-demand-sessions th {
	background-color:#CCC;
	border-color:#666;
	padding:0.2em;
	text-align:center;
}
table.on-demand-sessions td {
	border-color:#666;
	padding:0.2em;
	text-align:center;
}
table.on-demand-sessions td.highlighted {
	background-color:#d9edf7;
  border-top: 2px solid #999; /* Slightly lighter top border for highlighted cell */
  border-left: 2px solid #999; /* Slightly lighter left border for highlighted cell */
  border-bottom: 1px solid #666; /* Default bottom border color for highlighted cell */
  border-right: 1px solid #666; /* Default right border color for highlighted cell */
}
table.on-demand-sessions td.active {
	background-color:#034790;
  border-top: 2px solid #999; /* Slightly lighter top border for highlighted cell */
  border-left: 2px solid #999; /* Slightly lighter left border for highlighted cell */
  border-bottom: 1px solid #666; /* Default bottom border color for highlighted cell */
  border-right: 1px solid #666; /* Default right border color for highlighted cell */
}

table.on-demand-sessions td.disabled {
  /* Style for the cell when it's unavailable for selection */
  background-color: #F3F3F3; /* Slightly darker color to create the disabled effect */
	border-color: #CCC;
}
#on-demand-session-calendar-wrapper div.calendar-head{padding-right:17px;background-color:#666}
#on-demand-session-calendar-wrapper table thead tr{height:1rem;background-color:#666;color:#FFF} /**/
/*#calendar-wrapper table thead tr th:last-child{border-right:none;}*/
#on-demand-session-calendar-wrapper .table-bordered, #on-demand-session-calendar-wrapper .table-bordered th, #on-demand-session-calendar-wrapper .table-bordered td{border-color:#999}
.not-this-month{background-color:#E0E6ED;}
.today{background-color:#FFC!important;}/*border:2px solid #00F*/

/* placeholder color */
/*
.form-control::placeholder {
  color: #1976d2!important;
  opacity: 1;
}

:-ms-input-placeholder {
  color: red;
}

::-ms-input-placeholder {
  color: red;
}
*/
.sds-action-icon {cursor:pointer}

td.sds-checkbox{
		font-family: 'Font Awesome 5 Free';
		font-weight: 900;
		font-size:16px;
		color:#090;
    cursor: default;
}
.sds-select-checkbox option::before {
  content: "\2610";
  width: 1.3em;
  text-align: center;
  display: inline-block;
}
.sds-select-checkbox option:checked::before {
  content: "\2611";
}
.sds-remove-item-btn, .sds-remove-all-items-btn {
	line-height:1.12;
	float:right;
	cursor:pointer;
}
.sds-remove-all-items-btn {
	display:none;
}
#save-result-icon {
	display:none;
}
#btn-delete-pricing {
	display:none;
}
.select-listindex-0 {
	color:#ABB8A3!important;
}
.sds-list-item {
	color:#495057!important;
}
/* sds Top Navbar */
.sds-top-navbar {
	background-color:#069;
	color:#FFF;
	padding-top:0;
	padding-bottom:0;
	padding-left:0.5rem;
	padding-right:0;
}
.sds-top-navbar a{
	color:#FFF;
}
.sds-top-navbar a:hover{
	color:#CCC;
}
/* The sidebar menu */

.sds-slideout {
	background-color:rgba(0,0,0,.03)!important;
  width: 250px; /* 0 width - change this with JavaScript */
  position: relative; /* Stay in place */
  /*z-index: 1030; /* Stay on top */
  top: 102px; /*40px*/
  left:0;
	/*height:100%;*/
	margin-bottom: 102px;
  overflow-x: hidden; /* Disable horizontal scroll */
}
.sds-slideout-top-navbar{
	position:relative;
	height:54px;
	border-bottom: 1px solid #dee2e6;
	margin-bottom:1rem;
}

.sds-slideout-top-navbar x {
	position:absolute;
	bottom:-3rem;
	font-weight:500;
	font-size:3vmin!important;
}

.sds-slideout .nav {
	width:100%;
}
.sds-slideout .nav a {
	width:100%;
}
.sds-slideout .nav > a:first-child {
	border-bottom: 1px solid #dee2e6;
	height:54px;//7vh;
	font-size:18px;
	display:flex;
	align-items:flex-end;
}
.sds-slideout .nav > a:first-child i {
	margin-bottom:7px;
}
.sds-slideout .slideout-header {
	position:absolute;
	right:1rem;
	top: 1.25rem;
	height:54px;
}
.sds-slideout .slideout-header #btn-slideout-close {
	font-size:1.25rem;
}
	
/* On smaller screens, where height is less than 450px, change the style of the sidenav (less padding and a smaller font size) */
@media screen and (max-height: 450px) {
  .sds-slideout {padding-top: 15px;}
  .sds-slideout a {font-size: 18px;}
}

#sds-main {
	position: relative;
	top:102px; margin-bottom:102px;
  //transition: margin-left 300s;
	//padding-left: 250px;
}
.sds-sidebar-menu-item {
	color:#034790;
	cursor:pointer;
}
.sds-sidebar-menu-item.filter-on {
	color:#900;
	cursor:default;
}
.sds-sidebar-menu-item.dd-closed::after, .sds-sidebar-menu-item.dd-open::after {
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	padding-left:.5rem;
}
.sds-sidebar-menu-item.dd-closed::after {
	content: "\f0da";
}
.sds-sidebar-menu-item.dd-open::after {
	content: " \f0d7";
}
.sds-calendar-sidebar-clear-filter {
	cursor:pointer;
}
.sds-sidebar-active{color:#000;pointer-events: none;cursor: default;text-decoration: none;}

.sds-top-banner{
	position:relative;
	height:54px;
	border-bottom: 1px solid #dee2e6;
	margin-bottom:1rem;
	background-color:#FFF;
}
.sds-top-banner .logo{
	position:absolute;
	top:0.5rem;
	right:0;
	bottom:0.5rem;
	width:40%;
	background-image:url(../images/nexus.png);	/* Default */
	background-repeat:no-repeat;
	background-size:contain;
	background-position:right;
}
.sds-top-banner h4 {
	position:absolute;
	bottom:0;
	font-weight:500;
	font-size:3vmin!important;
}
.cbx-lg{transform: scale(1.25);}
.photo-album img{width:100%;height:100%;object-fit:contain;}
.bg-navbar{background-color:#034790 !important;}
footer.page-footer{background-color:#565e64 !important;z-index:100;}
footer.page-footer a{color:#CCC!important}

a, summary{color:#034790}

.nav-tabs .nav-item a.nav-link {
	color:#74b7ff;
}
.nav-tabs .nav-item a.nav-link.active {
	color:#034790;
}
div.icon-gallery {
  margin: 5px;
	padding:2px 4px;
	border:1px solid #FFF;	
  float: left;
	cursor:pointer;
}
div.icon-gallery:hover, div.icon-gallery.selected {
	color:#06F;
	border:1px solid #06F;
}

.fa-td {
  font-family: 'Font Awesome 5 Free';
	font-weight: 900;
}
a.sds-create, a.sds-edit-address{float:right;font-size:1rem;line-height:1.5}

a.sds-edit-address{margin-top:-58px} /* when we want the Edit button (that sits on the card-body tab-pane) to appear in the card-header */

.card .crm-card-body-address {min-height:22rem;}

.card .crm-card-body-address dl dd {height:1.5rem} /* Ensure vertical spacing remains even if the <dd></dd> is empty */

.custom-control-label-small:before, .custom-control-label-small:after{top:0}
.custom-select-sds-small{
	height:calc(1.5em + .25rem + 2px);
	padding-top:.125rem;
	padding-bottom:.125rem;
	padding-left: .5rem;
	font-size: .75rem;
}
/* For Smartphone Simulation. The device with borders */
.smartphone {
  position: relative;
  width: 360px;
  height: 640px;
  margin: auto;
  border: 16px black solid;
  border-top-width: 60px;
  border-bottom-width: 60px;
  border-radius: 36px;
}

/* The horizontal line on the top of the device */
.smartphone:before {
  content: '';
  display: block;
  width: 60px;
  height: 5px;
  position: absolute;
  top: -30px;
  left: 50%;
  transform: translate(-50%, -50%);
  background: #333;
  border-radius: 10px;
}

/* The circle on the bottom of the device */
.smartphone:after {
  content: '';
  display: block;
  width: 35px;
  height: 35px;
  position: absolute;
  left: 50%;
  bottom: -65px;
  transform: translate(-50%, -50%);
  background: #333;
  border-radius: 50%;
}

/* The screen (or content) of the device */
.smartphone .text-message {
	padding:1rem;
  background: #E8E8E8;
	border-radius:0.75rem;
	font-size:smaller;
}
.smartphone .avatar {
  vertical-align: middle;
  width: 50px;
  height: 50px;
  border-radius: 50%;
}
.tooltip-inner {
  background-color: #FC6;
	color: #333;
}
/* Opposites for the arrow color: arrow is right so we work on left border */
.bs-tooltip-left .arrow::before, .bs-tooltip-auto[x-placement^="left"] .arrow::before {
  border-left-color: #FC6;
}
.bs-tooltip-right .arrow::before, .bs-tooltip-auto[x-placement^="right"] .arrow::before {
  border-right-color: #FC6;
}
.bs-tooltip-top .arrow::before, .bs-tooltip-auto[x-placement^="top"] .arrow::before {
  border-top-color: #FC6;
}
.bs-tooltip-bottom .arrow::before, .bs-tooltip-auto[x-placement^="bottom"] .arrow::before {
  border-bottom-color: #FC6;
}
/* color the arrow on the popover when it's on the header to be the same color as the header */
.popover {
	max-width: 700px;
}
.popover-header {
	background-color:#666;
	color:#FFF;
	font-size:14px;
}
.popover-body {
	font-size:11px;
}
.popover-body dt {width:33%}
.bs-popover-bottom > .arrow::before, .bs-popover-auto[x-placement^="bottom"] > .arrow::before {
  border-bottom-color: #666;
}
.bs-popover-bottom > .arrow::after, .bs-popover-auto[x-placement^="bottom"] > .arrow::after {
  border-bottom-color: #666;
}
.bs-popover-bottom .popover-header::before, .bs-popover-auto[x-placement^="bottom"] .popover-header::before {
  border-bottom: 1px solid #666;
}

/* Table for exam gradings summary */
.sds-grading {
  border-collapse: collapse;
  width: 100%;
}

.sds-grading th,
.sds-grading td {
  padding: 4px 8px;
  text-align: left;
}

.sds-grading th:last-child,
.sds-grading td:last-child {
  text-align: right;
}

.sds-grading thead th {
  border-bottom: 2px solid #ddd; /* Bottom border for thead */
}

.sds-grading tbody .language-header {
  border-bottom: 1px solid #ddd; /* Bottom border for language-header rows */
}

.sds-grading tbody td {
  border: none; /* No borders for regular cells */
}

.sds-grading tbody tr:nth-child(even) {
  /* background-color: #f2f2f2; /* Alternate row background color */
}

/* Basic fixed-table layout */
.table-fixed{table-layout:fixed}

/* Fixed thead table: Some extra parts for the specs matrix table only */
table.sds-specs-matrix, table.sds-fixed-head-table {
  width: 100%;
  border: 1px solid #000;
}
/* Only the Specs Matrix table */
table.sds-specs-matrix td, .sds-th-boolean {
	text-align:center;
	vertical-align:middle!important
}
/* Only the Specs Matrix table */
.sds-th-boolean {
	min-width:4rem;
}
/* Both table types */
table.sds-specs-matrix, table.sds-specs-matrix td, table.sds-fixed-head-table, table.sds-fixed-head-table td {
  border-collapse: collapse;
}
/* Both table types */
table.sds-specs-matrix thead, table.sds-fixed-head-table thead {
  display: table; /* to take the same width as tr */
  width: calc(100% - 17px); /* - 17px because of the scrollbar width */
	background-color:#343a40;
	color:#FFF;
}
/* Both table types */
table.sds-specs-matrix tbody, table.sds-fixed-head-table tbody {
  display: block; /* to enable vertical scrolling */
  height: 500px; /* e.g. */
  overflow-y: scroll; /* keeps the scrollbar even if it doesn't need it; display purpose */
}
/* Both table types */
table.sds-specs-matrix tr, table.sds-fixed-head-table tr {
  display: table; /* display purpose; th's border */
  width: 100%;
  box-sizing: border-box; /* because of the border (Chrome needs this line, but not FF) */
}
/* Only the Specs Matrix table */
table.sds-specs-matrix th:first-child {
	width: 60%; /* to allow checkboxes to occupy the rest of the table */
}
/* Not the Specs Matrix table */
table.sds-fixed-head-table th, table.sds-fixed-head-table td {
	width: 12.5%; /* to balance the column widths within the table */
	padding:0.5rem;
}
/* fixed table head with variable column widths */
table.sds-fixed-head-table-variable-columns {
  width: 100%;
}
table.sds-fixed-head-table-variable-columns thead {
  display: table; /* to take the same width as tr */
  width: 100%; /* calc(100% - 17px); /* - 17px because of the scrollbar width */
	background-color:#343a40;
	color:#FFF;
}	
table.sds-fixed-head-table-variable-columns thead > tr > th:not(:first-child), table.sds-fixed-head-table-variable-columns tbody tr td:not(first) {
	width:120px;
}
table.sds-fixed-head-table-variable-columns tbody {
  display: block; /* to enable vertical scrolling */
  height: 500px; /* e.g. */
  overflow-y: scroll; /* keeps the scrollbar even if it doesn't need it; display purpose */
}
table.sds-fixed-head-table-variable-columns tr {
  display: table; /* display purpose; th's border */
  width: 100%;
  box-sizing: border-box; /* because of the border (Chrome needs this line, but not FF) */
}
/* pricing summary table 
table.sds-tc-pricing thead tr:last-child th, table.sds-tp-exams thead tr:last-child th {
	text-align:center!important;
}*/
table.sds-tp-exams {
  -webkit-user-select: none; /* Safari */
  -ms-user-select: none; /* IE 10 and IE 11 */
  user-select: none; /* Standard syntax */
}

table.sds-tp-exams thead tr th {
	text-align:center!important;
}
table.sds-tc-pricing thead tr:first-child th, table.sds-tp-exams thead tr:first-child th, .sds-div-hdr-row  {
	background-color:#454b50;
	color:#FFF;
}
table.sds-tc-pricing thead tr:not(first-child) th, table.sds-tp-exams thead tr:not(first-child) th {
	background-color:#CCC;
	color:#333;
	padding:0.4rem;
}
table.sds-tc-pricing tbody tr td {
	padding:0.4rem;
}
table.sds-tp-exams tbody tr td {
	padding:0.3rem 0.4rem;
}
table.sds-tp-exams tbody tr td label {
	margin-bottom:0!important;
}
table.sds-tc-pricing-3 {
	table-layout:fixed;
	empty-cells:show;
	margin-bottom:1rem;
}
table.tc-lab {
	width:100%;
	margin-bottom:1rem;
}
table.sds-tc-pricing-3 thead tr, table.tc-lab thead tr {
	border:solid 1px #000;
}
table.sds-tc-pricing-3 thead tr th, table.tc-lab thead tr th {
	background-color:#454b50;
	color:#FFF;
	padding:.3rem .5rem;
	//text-align:center;
  -webkit-user-select: none; /* Safari */
  -ms-user-select: none; /* IE 10+ and Edge */
	user-select:none;
}
table.sds-tc-pricing-3 tbody tr, table.tc-lab-3 tbody tr {
	background-color:white;
	border-right:solid thin white;
	border-left:solid thin white;
}
table.sds-tc-pricing-3 tbody tr.active-row, table.sds-tc-pricing-3 tbody tr.active-child, table.tc-lab tbody tr.active-row, table.tc-lab tbody tr.active-child {
	background-color:lightblue;
	border-right:solid thin #666;
	border-left:solid thin #666;
}
table.sds-tc-pricing-3 tbody tr.active-row, table.tc-lab tbody tr.active-row {
	border-top:solid thin #666;
	font-weight:500;
}
table.sds-tc-pricing-3 tbody tr.active-child, table.tc-lab tbody tr.active-child {
	border-bottom:solid thin #666;
}
table.sds-tc-pricing-3 tbody tr.active-row td, table.tc-lab tbody tr.active-row td {
	font-weight:500;
}

table.sds-tc-pricing-3 tbody tr td:first-child, table.tc-lab tbody tr td:first-child {
	width:24px;
}
table.sds-tc-pricing-3 tbody tr td:last-child {
	width:70%;
}
table.tc-lab thead tr th:last-child, table.tc-lab tbody tr td:last-child {
	text-align:center;
}
table.sds-tc-pricing-3 tbody tr td, table.tc-lab tbody tr td {
	font-weight:300;
	padding:0 .5rem;
  -webkit-user-select: none; /* Safari */
  -ms-user-select: none; /* IE 10+ and Edge */
	user-select:none;
	//cursor:pointer;
}

td.details-control, th.details-control {
    background:url('../images/details_open.png') no-repeat center center;
    cursor: pointer;
}
tr.shown td.details-control, tr.shown th.details-control {
    background: url('../images/details_close.png') no-repeat center center;
}
/*table.sds-tc-pricing-3 tbody tr td.details-control, table.tc-lab tbody tr td.details-control {*/
td.details-control, th.details-control {
	background:url('../images/details_open.png') no-repeat center center;
  cursor: pointer;
}
/*table.sds-tc-pricing-3 tbody  td.details-control.shown, table.tc-lab tbody  td.details-control.shown {*/
td.details-control.shown, th.details-control.shown {
	background: url('../images/details_close.png') no-repeat center center;
}

/*
table.sds-tc-pricing-3 thead tr:not(first-child) th {
	background-color:#CCC;
	color:#333;
	padding:0.4rem;
}
*/
table.prices, table.costs {
	cursor:pointer;
}
table.prices, table.prices th, table.prices td, table.costs, table.costs th, table.costs td, table.sysfiles, table.sysfiles th, table.sysfiles td {
	border:solid thin #666;
}
table.prices, table.costs, table.sysfiles {
	width:100%;
	margin-bottom:.5rem;
	background-color:#fff;
}
table.prices thead tr th, table.costs thead tr th, table.sysfiles thead tr th {
	background-color:#CCC;
	color:#000;
	text-align:center;
}
table.prices tbody tr td, table.costs tbody tr td, table.sysfiles tbody tr td{
	width:auto!important;
	//cursor:default;
	padding:0 .5rem;
}
/*
.lab-file-table table, .lab-file-table th, .lab-file-table td {
	border:1px solid #333;
}
*/
.lab-file-table th, .lab-file-table td, .conditions-table tbody th, .conditions-table tbody td {
	//padding:4px 8px;
	font-size:11px;
}
.conditions-table tbody tr {
	cursor:default!important;
}
/*.sds-selected-td {background-color:aliceblue;}*/
.sds-selected-td label {font-weight:400;color:#006;}

.btn[class*="btn-outline-"].btn-sm {
	padding-top: .23rem;
	padding-bottom: .23rem;
}

/* Chrome, Safari, Edge, Opera */
.sds-input-no-spin input::-webkit-outer-spin-button,
.sds-input-no-spin input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

/* Firefox */
.sds-input-no-spin input[type=number] {
  -moz-appearance:textfield;
}

/* Override the datepicker today when available time has passed */
.sds-today-disabled {
	background-image: linear-gradient(to bottom,#fdd49a,#fdf59a) !important;
	background-repeat: repeat-x !important;
	border-color: rgba(0,0,0,.1) rgba(0,0,0,.1) rgba(0,0,0,.25) !important;
	color: #999 !important;
}

.sds-search-input {
  background-image: url('/images/searchicon.png'); /* Add a search icon to input */
  background-position: 8px center; /* Position the search icon */
	background-size: 16px;
  background-repeat: no-repeat; /* Do not repeat the icon image */
  //width: 100%; /* Full-width */
  padding: 0 20px 0 32px; /* Add some padding */
}

.sds-progress {
	display:none;
	width:100%;
}
p#failedfiles {
	display:none;
	color: red;
}
/* simulates the stretched-link of bootstrap.css*/
.cell-click{
	display:block;
	width:100%;
}
/* dont allow element to be selected by the user */
.no-select{
  cursor: default;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}
/* make all cell-click class elements react to the hover action of the tr */
table.sds-tp-exams tbody tr:hover .cell-click {
	color:#06F!important;
}
.number-input-label {
	position:relative;
}
.number-input-label input {
	display:block;
}
.number-input-label label{
  position: absolute;
	color:#666;
  top: 25%;
  left: 10px;
}
/* SDS custom buttons. Mainly colors but maybe some specifics */
.btn {
	text-transform: capitalize;
}
.btn-primary:hover, .btn-primary:focus, .btn-primary:active, .btn-primary.active, .open > .dropdown-toggle.btn-primary {
	background-color: white;
	color: #007bff; /* Bootstrap primary blue */
	border-color: #007bff;
}

/* ensure to name styles .btn-outline-<style name> to inherit Bootstrap's .btn-outline-* styling (Saves editing the complete styling)*/
.btn-outline-sds-grey{border:2px solid #999!important;background-color:transparent!important;color:#000!important}
.btn-outline-sds-grey.active,.btn-outline-sds-grey:active,.btn-outline-sds-grey:active:focus,.btn-outline-sds-grey:focus,.btn-outline-sds-grey:hover{border-color:#999!important;background-color:transparent!important;color:#999!important}
/* Remove the shadow inherited from Bootstrap's btn class */
.btn-shadowless{-webkit-box-shadow:none!important;box-shadow:none!important;}
/* SDS custom Checkbox. Label first, then checkbox */
.sds-cbx-label-left .custom-checkbox {
  padding-left: 0;
}

.sds-cbx-label-left label.custom-control-label {
  padding-right: 1.5rem;
}

.sds-cbx-label-left .custom-control-label::before,
.sds-cbx-label-left .custom-control-label::after {
  right: 0;
  left: auto;
}
.user-select-none {
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}
.dragbox {
	cursor:move;
}

.exam-image-container {
  display: flex;
  justify-content: center;
  padding: 10px;
  margin-bottom: 10px;
	height:100%;
	text-align:center;
	max-height:160px;
}
.exam-image {
  max-width: 100%; /* Adjust the width as needed */
  max-height: 100%; /* Adjust the height as needed */
  object-fit: contain; /* or "cover" or other values depending on your requirements */
}

.sds-card-img {
  max-width: 100%; /* Adjust the width as needed */
	height: 120px;
	object-fit:contain;
}

.exam-thumbnail {
  max-width: 200px;
  max-height: 200px;
  width: auto;
  height: auto;
}

/* On-Demand session management */
.od-slot {text-align:center;border:solid 1px #FFF;padding:3px;margin:0;line-height:1.25;cursor: help}
.od-slot-allocated {background-color: #d9edf7; color:#666} /* pale blue */
.od-slot-published {background-color: #093; color:#FFF} /* green */
.od-slot-selected {background-color: #0060df; color:#FFF} /* dark blue */
.od-slot-historic {background-color: #999; color:#FFF} /* grey */
.od-slot-removed {background-color: #f56622; color:#FFF; text-decoration:line-through} /* red with strikethrough */
.od-slot-new {background-color: #00b0ff; color:#FFF;} /* Bright blue */
.od-slot-denied {background-color: #c0c0c0; color:#666; border: #FF0000 1px dashed} /* red with strikethrough */

.p-6 {padding:4rem!important}
.px-6 {padding-left:4rem!important;padding-right:4rem!important}
.py-6 {padding-top:4rem!important;padding-bottom:4rem!important}
.pt-6 {padding-top:4rem!important;}
.pr-6 {padding-right:4rem!important}
.pl-6 {padding-left:4rem!important}
.pb-6 {padding-bottom:4rem!important}

.p-7 {padding:5rem!important}
.px-7 {padding-left:5rem!important;padding-right:5rem!important}
.py-7 {padding-top:5rem!important;padding-bottom:5rem!important}
.pt-7 {padding-top:5rem!important;}
.pr-7 {padding-right:5rem!important}
.pl-7 {padding-left:5rem!important}
.pb-7 {padding-bottom:5rem!important}

.p-8 {padding:6rem!important}
.px-8 {padding-left:6rem!important;padding-right:6rem!important}
.py-8 {padding-top:6rem!important;padding-bottom:6rem!important}
.pt-8 {padding-top:6rem!important;}
.pr-8 {padding-right:6rem!important}
.pl-8 {padding-left:6rem!important}
.pb-8 {padding-bottom:6rem!important}

.p-9 {padding:7rem!important}
.px-9 {padding-left:7rem!important;padding-right:7rem!important}
.py-9 {padding-top:7rem!important;padding-bottom:7rem!important}
.pt-9 {padding-top:7rem!important;}
.pr-9 {padding-right:7rem!important}
.pl-9 {padding-left:7rem!important}
.pb-9 {padding-bottom:7rem!important}

.p-10 {padding:8rem!important}
.px-10 {padding-left:8rem!important;padding-right:8rem!important}
.py-10 {padding-top:8rem!important;padding-bottom:8rem!important}
.pt-10 {padding-top:8rem!important;}
.pr-10 {padding-right:8rem!important}
.pl-10 {padding-left:8rem!important}
.pb-10 {padding-bottom:8rem!important}

#loading-overlay {
	display: none;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(125, 125, 125, 0.7);
	z-index: 1000;
	text-align: center;
	border-radius: 12px;
}

#loading {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: auto; /* Adjust the size as needed */
	height: 50px; /* Adjust the size as needed */
	margin: 0 auto;
	color:#FFFFFF;
}

/* Custom style for the rotating icon */
.fa-spin {
	animation: spin 2s infinite linear;
}

/* Keyframes for the spin animation */
@keyframes spin {
	from {
		transform: rotate(0deg);
	}
	to {
		transform: rotate(360deg);
	}
}

.sds-hidden {
	display: none !important;
}

.sds-invalid {
	border: #FF0000 1px solid;
	border-radius: .25rem;
}
.btn.disabled,
.btn:disabled {
	pointer-events: none;
	cursor: not-allowed;
}
.associate-link {
	color: #007bff;
	font-weight: normal;
	font-size: 0.9em;
	text-decoration: underline;
	cursor: pointer;
}

/* accordion */
#accordion > a.nav-link {
	position: relative;
	display: flex;
	align-items: center;
	color: #034790;
	text-decoration: none;
	transition: color 0.2s ease;
	padding-left: 5px;
}

#accordion > a.nav-link:not(.collapsed) {
	font-weight: 600;
}

#accordion > a.nav-link:hover {
	color: #022d58;
	text-decoration: none;
}

#accordion > a.nav-link::before {
	display: none;
}

#accordion > a.nav-link + .collapse {
	position: relative;
}

#accordion > a.nav-link + .collapse > div {
	position: relative;
	margin-left: 1.5rem;
	padding-left: 1.25rem;
}

#accordion > a.nav-link + .collapse > div::before,
#accordion > a.nav-link + .collapse > div::after {
	content: '';
	position: absolute;
	left: 5px;
	top: 0;
	bottom: 0;
	border-left: 2px solid transparent;
}

#accordion > a.nav-link + .collapse > div::before {
	left: -1.25rem;
	top: -0.75rem;
	height: 0.75rem;
}

#accordion > a.nav-link + .collapse.show > div::before,
#accordion > a.nav-link + .collapse.show > div::after {
	border-left-color: #c6d4e6;
}

/* accordion */
