/** CSS shared between the back and front end **/
/* :root {
    --primary: #0074cc;   --primary-hover: #0055cc;   --primary-active: #286090;
    --secondary: #f5f5f5; --secondary-hover: #e6e6e6; --default-active: #e6e6e6;
    --success: #28a745;   --success-hover: #51a351;   --success-active: #449d44;
    --info: #17a2b8;      --info-hover: #2f96b4;      --info-active: #31b0d5;
    --warning: #ffc107;   --warning-hover: #f89406;   --warning-active: #ec971f;
    --danger: #dc3545;    --danger-hover: #bd362f;    --danger-active: #c9302c;
} */

.fa {
    display: inline-block;
    line-height: 1;
}

body .slaask-button {
    z-index: 9;
}

@media screen and (max-width: 767px) {
    .fullwidth--mobile {
        width: 100vw !important;
        margin-left: calc(50% - 50vw) !important;
        overflow: hidden;
    }
}

.flip-horizontally {
    display: inline-block;
    transform: scaleX(-1);
}

/* Invert elements in collapse toggles when the section is expanded */
[data-toggle="collapse"][aria-expanded="true"] .expanded-invert {
    transform: rotate(180deg);
}


/*------------------------------------*\
  #Form elements
\*------------------------------------*/
.form-row {
    clear: both;
    margin-bottom: 15px;
}

.form-row:after,
.form-group:after {
    content: '';
    clear: both;
    display: table;
}

.form-row.gutters {
    margin-left: -15px;
    margin-right: -15px;
    padding-left: 0;
    padding-right: 0;
    width: auto;
}

.form-row.no-gutters,
.form-group.no-gutters,
.row.no-gutters,
.row-fluid.no-gutters {
    margin-right: 0;
    margin-left: 0;
    padding-left: 0;
    padding-right: 0;
}

.form-row.no-gutters > [class*="col-"],
.form-group.no-gutters > [class*="col-"],
.row.no-gutters > [class*="col-"],
.row-fluid.no-gutters > [class*="col-"] {
    padding-right: 0;
    padding-left: 0;
}

.form--thin_gutters .gutters,
.form--thin_gutters .row.gutters {
    margin-left: -5px;
    margin-right: -5px;
}

.form--thin_gutters .gutters > [class*="col"] {
    padding-left: 5px;
    padding-right: 5px;
}

.course-list-header .course-list-display-option span.fa.fa-sort-amount-asc {
    transform: rotateX(160deg);
}

@media screen and (max-width:  767px) {
    .form-row > [class*="col-"]:not([class*="col-xs-"]):not(:last-child),
    .form-group > [class*="col-"]:not([class*="col-xs-"]):not(:last-child),
    .form-row > .col-xs-12:not(:last-child),
    .form-group > .col-xs-12:not(:last-child) {
        margin-bottom: 15px;
    }
}

.form-row.vertically_center,
.form-group.vertically_center,
.row.vertically_center {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
}

.vertically_center > span {
    line-height: 1;
}

.form-input {
    background: #fff;
    border: 1px solid #CCC;
    border-radius: 4px;
    font-weight: 300;
    margin: 0;
    padding: .5em 1.25em;
    width: 100%;
    min-height: 2.375em;
}

.form-input.datepicker {
    padding: .5em 1.25em;
}

.form-input.autowidth,
.input_group.autowidth {
    width: auto;
}

/* style select lists */
.form-select {
    display: block;
    margin: 0;
    position: relative;
}

.form-select select,
.form-select .custom-combobox {
    -webkit-appearance: none;
    -moz-appearance: none;
    -o-appearance: none;
    appearance: none;
    background: none;
    cursor:pointer;
    height: 2.375em;
    padding-top: 0;
    padding-bottom: 0;
    padding-right: 3em;
    position: relative;
    text-indent: .01px;
    text-overflow: '';
    z-index: 1;
}

.form-select .form-input select {
    height: 2.375em;
    height: calc(2.375em - 2px);
}

.form-select select::-ms-expand {
    display: none;
}

.form-select .custom-combobox {
    width: 100%;
    padding-left: 0;
}

.form-input--pseudo-label ~ .custom-combobox input {
    padding-top: 1.5em;
    padding-left: 1.15em;
}

.form-select .custom-combobox-toggle {
    opacity: 0;
    width: 2.375em;
    height: 2.375em;
}

.form-ajax_typeselect-wrapper {
    position: relative;
}

.form-typeselect-clear,
.custom-combobox-clear {
    color: #787878;
    display: block;
    font-size: .875em;
    position: absolute;
    top: .5em;
    right: 3.5em;
}

.form-typeselect-clear {
    right: 1.5em;
}

.form-select--left_arrow .custom-combobox-clear,
.form-select--no_arrow .custom-combobox-clear {
    right: .5em;
}

.form-select-plain .form-select:before {
    background: none;
}

.form-select-plain .form-select:after {
    border-color: #999
}

.form-select-plain select {
    font-size: 14px;
    height: 37px;
    padding: 10px 23px;
}

.form-input .custom-combobox-input {
    padding-right: 2em;
}

.ui-autocomplete {
    position: absolute;
    top: 100%;
    left: 0;
    z-index: 10000;
    float: left;
    display: none;
    min-width: 160px;
    padding: 0;
    margin: 2px 0 0 0;
    list-style: none;
    background-color: #fff;
    border: 1px solid #ccc;
    border-color: rgba(0, 0, 0, 0.2);
    box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
    background-clip: padding-box;
    max-height: 300px;
    overflow-y: scroll;
}

.ui-helper-hidden-accessible {
    position: absolute !important;
    left: -9999px !important;
    top: -9999px !important;
}

.ui-autocomplete .ui-menu-item {
    cursor: pointer;
    padding: .5em 1em;
}

/* Comboboxes - !important used to overwrite inline styles, added by the third-party */
.form-select .ui-autocomplete {
    width: 100% !important;
    max-height: 300px;
    left: 0 !important;
    overflow: auto;
}

.form-select {
    background: #fff;
}

.form-select:before {
    content: '';
    background: -webkit-linear-gradient(left, transparent calc(100% - 2.75em), #0074CC calc(100% - 2.75em));
    background: linear-gradient(to right, transparent calc(100% - 2.75em), #0074CC calc(100% - 2.75em));
    background: linear-gradient(to right, transparent calc(100% - 2.75em), var(--primary) calc(100% - 2.75em));
    border-radius: 5px;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    width: 100%;
}

.form-select:after {
    content: '';
    border: solid #fff;
    border-width: 0 1px 1px 0;
    display: block;
    pointer-events: none;
    position: absolute;
    transform: rotate(45deg);
    right: 1.15em;
    top: .9em;
    width: .45em;
    height: .45em;
    z-index: 1;
}

.dropdown-menu > li > a:hover,
.dropdown-menu > li > a:focus,
.dropdown-menu > li > button:hover,
.dropdown-menu > li > button:focus,
.ui-autocomplete .ui-state-focus {
    background: #0074CC;
    background: var(--primary);
    color: #fff;
}

.ui-autocomplete .ui-state-focus a {
    color: inherit;
}

/* Put the dropdown arrow on the left side */
.form-select--left_arrow select,
.form-select--left_arrow .form-input {
    padding-left: 4em;
    padding-right: 0;
}

.form-select--left_arrow:before {
    background: -webkit-linear-gradient(right, transparent 0, transparent calc(100% - 2.75em), #0074CC calc(100% - 2.75em), #0074CC 100%);
    background: linear-gradient(to left, transparent 0, transparent calc(100% - 2.375em), #0074CC calc(100% - 2.375em), #0074CC 100%);
    background: linear-gradient(to left, transparent calc(100% - 2.75em), var(--primary) calc(100% - 2.75em));
}

.form-select--left_arrow:after {
    left: 1.15em;
    right: auto;
}

/* No dropdown arrow */
.form-select--no_arrow,
.form-select--no_arrow .custom-combobox {
    padding-right: 0;
}

.form-select--no_arrow:before,
.form-select--no_arrow:after,
.form-select--no_arrow .custom-combobox-toggle {
    display: none;
}

.form-select--no_arrow .form-input-overlay {
    right: 1.5em;
}

/* Multi selects (requires Bootstrap multiselect plugin) */
.form-select--multiple > .form-input.form-input {
    overflow: inherit;
}

.form-select--multiple select,
.form-select--multiple .multiselect .caret,
.form-select[data-multiselect_options] select,
.form-select[data-multiselect_options] .multiselect .caret {
    display: none;
}

.form-select .multiselect {
    font-size: 1em;
    font-weight: 300;
    overflow: hidden;
    padding: 0 3em 0  1.0625em;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.form-select .multiselect:focus {
    outline: 5px auto #3b99fc;
}

.form-select .multiselect.multiselect {
    height: 100%;
}

.form-select .multiselect-container li > a > label,
.form-select .multiselect-counters {
    display: block;
    padding: .465em 1em;
    white-space: normal;
}

.form-select .multiselect-container li > a:after {
    content: '';
    clear: both;
    display: table;
}

.form-select--multiple .multiselect-filter .input_group {
    margin-top: .77em;
    margin-bottom: .77em;
}

.form-select .multiselect-search {
    padding: 0 .5em;
}

.form-select .multiselect-search:placeholder-shown + .input_group-icon,
.custom-combobox-input:placeholder-shown ~ .custom-combobox-clear {
    display: none; /* Hide the clear text button when there is no text */
}

.form-select select + .btn-group,
.form-select select + .btn-group .btn,
.form-select .multiselect-native-select,
.form-select .dropdown-menu {
    width: 100%;
}

.form-select select + .btn-group {
    height: 2.375em;
}

.form-select .multiselect-selected-text {
    line-height: 2;
}

.form-select .btn-group .btn.btn {
    background: none;
    border: none;
    box-shadow: none;
    position: relative;
    text-align: left;
    z-index: 1;
    color: #333;
}

.form-input--pseudo-label + .multiselect-native-select > .btn-group > .btn {
    font-size: .8125em;
    padding: 1em 1.5em 0;
}

.form-select .dropdown-menu {
    background: #fff;
    border: 1px solid #d3d3d3;
    margin-top: 0;
    z-index: 1001;
    font-size: .875em;
}

.form-select .dropdown-menu li a {
    font-weight: 200;
    padding: 0;
}

.form-select .multiselect-all {
    background-color: #f5f5f5;
}

.form-select li a label {
    cursor: pointer;
    padding: .4375em 1.5em;
}

.form-select li .form-radio,
.form-select li .form-checkbox {
    cursor: pointer;
    margin: 0;
    padding: .29em 0;
}


.form-select .multiselect-container li .form-checkbox {
    padding-right: 2.75em;
}

.form-select li .form-checkbox-helper {
    border-radius: 0;
    float: right;
    font-size: .8em;
    margin-left: .5em;
    position: absolute;
    right: 1em;
    top: .5em;
    top: calc(50% - .625em);
}

.form-select--multiple > .form-input:not(.form-select--active) .btn-group {
    position: absolute;
    left: 0;
    height: 100%;
    top: 0;
}

.form-select .dropdown-menu > .active > a {
    background: none;
    color: inherit;
}

.form-select .multiselect-filter {
    padding: 0 1em;
}

.open .multiselect + .dropdown-menu {
    display: block !important;
    max-height: 300px;
    overflow: auto;
}


/* Form select without any arrows. Resembles a button. */
.form-select--plain:before,
.form-select--plain:after,
.form-select--plain .form-input--pseudo-label:after {
    display: none;
}

.form-select.form-select--plain .form-input--active .form-input--pseudo-label {
    width: 100%;
}

.form-select.form-select--plain select {
    padding-left: 1.25em;
    padding-right: 1.25em;
}

.form-select--plain select + .btn-group .btn.btn {
    overflow: hidden;
    padding: 0 3em 0  1.25em;
    text-overflow: ellipsis;
}

/* Mask to cover standard form-select, but still trigger its dropdown */
.form-select-mask {
    position: relative;
    z-index: 2;
    pointer-events: none;
}

.form-select-mask + .form-input {
    border: none;
    min-height: 0;
    height: 0;
}

.form-select-mask-count:not(:empty):before {
    content: '(';
}

.form-select-mask-count:not(:empty):after {
    content: ')';
}

/* Checkboxes and radio buttons */
.form-radio,
.form-checkbox {
    margin-bottom: .75em;
}

.form-radio.disabled,
.form-radio.readonly,
.form-checkbox.disabled,
.form-radio.readonly {
    opacity: .5;
}

.form-checkbox [type="checkbox"]:not(:last-child),
.form-radio [type="radio"]:not(:last-child) {
    clip: rect(1px, 1px, 1px, 1px);
    height: 1px;
    opacity: 0;
    overflow: hidden;
    position: absolute;
    width: 1px;
    z-index: -1;
}

.form-checkbox-helper,
.form-radio-helper {
    background: #FFF;
    border: 1px solid #CCC;
    cursor: pointer;
    display: inline-block;
    line-height: 1.5;
    margin-bottom: -.333333em;
    margin-right: .25em;
    position: relative;
    width: 1.25em;
    flex: 0 0 1.25em;
    height: 1.25em;
}

.form-checkbox-helper {border-radius: .277777778em;}
.form-radio-helper    {border-radius: 50%;}

:checked + .form-checkbox-helper:after,
:checked + .form-radio-helper:after {
    position: absolute;
}

:checked + .form-checkbox-helper:after {
    content: '\f00c';
    color: #222;
    font-family: 'FontAwesome';
    top: -.2em;
    left: .1em;
}

:checked + .form-radio-helper:after {
    content: '';
    background: #222;
    border-radius: 50%;
    display: block;
    left: 50%;
    left: -webkit-calc(50% - .25em);
    left: calc(50% - .25em);
    top: 50%;
    top: -webkit-calc(50% - .25em);
    top: calc(50% - .25em);
    width: .5em;
    height: .5em;
}

:focus + .form-checkbox-helper,
:focus + .form-radio-helper {
    outline: 2px solid skyblue;
    outline-offset: 2px;
}


/* Hidden checkbox, followed by HTML to be visible when checked and when unchecked
e.g. the following to get a button, which is highlighted (primary) when checked, plain when unchecked
<label class="checkbox-icon">
    <input type="checkbox" />
    <span class="checkbox-icon-unchecked btn btn-default">Monday</span>
    <span class="checkbox-icon-checked btn btn-primary">Monday</span>
</label>
*/
.checkbox-icon,
.radio-icon {
    cursor: pointer;
}

.checkbox-icon [type="checkbox"]:not(:last-child),
.radio-icon [type="radio"]:not(:last-child) {
    clip: rect(1px, 1px, 1px, 1px);
    height: 1px;
    opacity: 0;
    overflow: hidden;
    position: absolute;
    z-index: -1;
}

.checkbox-icon [type="checkbox"]:checked       ~ .checkbox-icon-unchecked,
.checkbox-icon [type="checkbox"]:not(:checked) ~ .checkbox-icon-checked,
.radio-icon    [type="radio"]:checked          ~ .radio-icon-unchecked,
.radio-icon    [type="radio"]:not(:checked)    ~ .radio-icon-checked { display: none; }

.checkbox-icon [type="checkbox"]:focus ~ .checkbox-icon-unchecked,
.checkbox-icon [type="checkbox"]:focus ~ .checkbox-icon-checked,
.radio-icon    [type="radio"]:focus    ~ .radio-icon-unchecked,
.radio-icon    [type="radio"]:focus    ~ .radio-icon-checked { outline: 1px solid skyblue; }


/* Checkbox styled as a switch */
.checkbox-switch [type="checkbox"],
.checkbox-switch [type="radio"] {
    clip: rect(1px, 1px, 1px, 1px);
    height: 1px;
    opacity: 0;
    overflow: hidden;
    position: absolute;
    z-index: -1;
}

.checkbox-switch-helper {
    align-items: center;
    cursor: pointer;
    display: inline-flex;
    height: 1.54em;
    line-height: 1.8;
    margin: .25em 0;
    position: relative;
}

.checkbox-switch-helper:before {
    content: '';
    background: #b8b8b8;
    border-radius: 1.23em;
    display: inline-block;
    width: 2.7em;
    height: .92em;
}

.checkbox-switch-helper:after {
    content: '';
    background: #e9e9e9;
    border-radius: 50%;
    box-shadow: -1px 2px 1px #aaa;
    position: absolute;
    margin-left: -1px;
    transition: .05s all;
    width: 1.54em;
    height: 1.54em;
}

:focus + .checkbox-switch-helper {
    outline: 5px auto #3b98fc;
    outline: 5px auto -webkit-focus-ring-color;
}

:checked + .checkbox-switch-helper:before {
    background: #0074cc;
    background: var(--primary);
    box-shadow: 1px 1px 0 #ccc;
}

:checked + .checkbox-switch-helper:after {
    margin-left: 50%;
    margin-left: calc(50% + 1px);
}

/* Reset some Bootstrap styling, which conflicts with multiselect styling */
.multiselect-native-select input[type="radio"],
.multiselect-native-select input[type="checkbox"] {
    position: relative;
    margin-left: 0;
}


/* Input groups (input boxes grouped with more input boxes and/or icons) */
.input_group {
    background: #FFF;
    border: 1px solid #CCC;
    border-radius: 5px;
    display: inline-flex;
    margin-bottom: 0;
    table-layout: fixed;
    width: 100%;
    overflow: inherit !important;
}

.input_group .form-input {
    background: transparent;
    border: none;
}

.input_group-icon {
    background: #FFF;
    border-color: #CCC;
    color: #CCC;
    color: var(--primary);
    flex-shrink: 0;
    font-size: 1.2em;
    min-width: 2.24em;
    height: 2em;
    line-height: 2em;
    padding-left: .25em;
    padding-right: .25em;
    text-align: center;
}

.input_group-icon:after {
    content: '';
    display: block;
    width: 1.74em;
}

.input_group-icon.inverse {
    background: #fff;
    color: #333;
    color: var(--primary);
}
.input_group-icon:last-child {
    border-left-width: 1px;
    border-left-style: solid;
    border-radius: 0 4px 4px 0;
}

.input_group-icon + .form-select {
    width: 100%;
}

.input_group-icon + .form-select:before {
    border-radius: 0;
}

/*
"Pseudo" input boxes. Used when styling non-input fields as input boxes
This is usually used with labels, with the input box placed inside, along with other elements,
giving the illusion of the element being inside the input box, without it overlapping the text inside the actual input
*/
.form-input.form-input--pseudo {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: 100%;
    padding-top: 0;
    padding-right: 0;
    padding-bottom: 0;
}

.form-input--select.form-input--pseudo {
    padding-left: 0;
}

.form-input--pseudo:not(.form-input--textarea) {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

.form-input--pseudo > * {
    display: table-cell;
}

.form-input--pseudo-label {
    font-weight: inherit;
    white-space: nowrap;
}

.form-input--select .form-input--pseudo-label {
    max-width: calc(100% - 4em);
    position: absolute;
    left: 1.25em;
    overflow: hidden;
    text-overflow: ellipsis;
}

.form-input--text .form-input--pseudo-label:empty {
    display: none;
}

.form-input--pseudo-label:after {
    content: ':\a0';
}

.form-input--pseudo-label.label--mandatory:after,
.input_columns .label--mandatory:after {
    content: ':\a0*\a0';
}

.form-input--textarea:not(textarea) {
    padding-left: 0;
}

.form-input--textarea .form-input--pseudo-label {
    margin-top: .5em;
}

.form-input--pseudo input,
.form-input--pseudo select,
.form-input--pseudo textarea,
.form-select .custom-combobox-input {
    background: transparent;
    border: none;
    border-radius: 5px;
    padding: .6875em 1.25em;
    width: 100%;
    max-height: 100%;
}
.form-select .custom-combobox-input {
    padding-right: 2em;
}

.form-input--pseudo input,
.form-input--pseudo select {
    height: 2.375em;
}

.form-input--pseudo select {
    padding-top: 0;
    padding-bottom: 0;
    padding-right: 3em;
}

.form-input--pseudo :-webkit-autofill {
    -webkit-box-shadow: 0 0 0px 1000px #FFF inset;
}


/* Form filter */
.form-filter {
    position: relative;
}

.form-filter li .form-checkbox {
    cursor: pointer;
    margin-bottom: 0;
    width: 100%;
}

.form-filter li .form-checkbox-helper {
    border-radius: 0;
    font-size: .8em;
    top: -.1em;
}

.form-filter-category {
    font-weight: bold;
}

.form-filter-category button {
    font-weight: inherit;
    text-decoration: none;
    text-transform: inherit;
}

.form-filter-input {
    cursor: pointer;
    gap: 10px;
}

.form-filter-label {
    color: #999;
}

.filter-item-title {
    display: inline-block;
    margin-bottom: -4px;
    max-width: 11em;
    overflow: hidden;
    text-overflow: ellipsis;
}

.form-filter-selected-item {
    font-size: .675rem;
    padding: .1852em .5em;
}

.form-filter-overflow {
    display: inline-block;
    margin-bottom: -6px;
    max-width: calc(100% - 1.75em);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* Hack. Something strange happening when there are too many overflowing items. */
.form-filter-selected-item:nth-child(5) ~ .form-filter-selected-item {
    display: none !important;
}

.form-filter .dropdown-menu {
    width: 310px;
    left: calc(50% - 155px);
    /* On top of AJAX black out. Otherwise this will dismiss if the user clicks the blackout while trying to
      select more items while a filtering is in progress. */
    z-index: 10001;
}
.form-filter-menu-list.dropdown-menu-list{
    max-height: 60vh;
    overflow-y: scroll;
}

.form-filter-menu-list > li {display: none;}
.form-filter-menu-list > li.selected {display: block;}

.form-filter-menu-list .progressbar-wrapper {display: none;}

.form-filter .dropdown-menu-list > li.form-filter-category {
    display: block;
    font-size: .8125rem;
    text-transform: uppercase;
}

.form-filter-submenu-back {
    position: absolute;
    left: 0;
}

.form-filter-submenu-list {
    display: flex;
    flex-direction: column;
    max-height: 320px;
    overflow: auto;
}

.form-filter-submenu-list > li.selected {
    order: -1; /* Move selected items to the top */
}

.form-filter .dropdown-menu-list a {
    display: block;
    text-decoration: none;
}




/* Disabled/readonly state */
.form-input[readonly],
.form-input[disabled],
.form-input.readonly,
.form-input.disabled,
.form-input--pseudo.disabled input,
.form-input--pseudo.disabled select,
.form-input--pseudo.readonly input,
.form-input--pseudo.readonly select {
    cursor: not-allowed;
    opacity: .7;
}

/* Position label when focused */
.form-input--text,
.form-input--textarea {
    position: relative;
}

.form-input--text .form-input--pseudo-label,
.form-input--textarea .form-input--pseudo-label,
.form-input--select.form-input--active .form-input--pseudo-label {
    left: 1.42857142857em;
    left: calc(1em / .875 * 1.25 - 1px); /* One less pixel due to the border */
}

.form-input--text .form-input--pseudo-label,
.form-input--textarea .form-input--pseudo-label {
    -webkit-transition: all 200ms ease-in-out;
    transition: all 200ms ease-in-out;
    visibility: hidden;
    opacity: 0;
    position: absolute;
    display: inline-block;
    top: 1em;
    left: 1.42857142857em;
    left: calc(1em / .875 * 1.25); /* This needs to match the padding of the input box, which has a different font size */
    line-height: 1em;
}

.form-input--active .form-input--pseudo-label {
    font-size: .875em;
    margin-top: 0;
    opacity: 1;
    overflow: hidden;
    position: absolute;
    text-overflow: ellipsis;
    top: .25em;
    visibility: visible;
    max-width: calc(100% - 2.5em);
}

.form-select .form-input--active .form-input--pseudo-label {
    width: calc(100% - 5em);
}

/* prevent overlap, when a vertical scrollbar is used */
.form-input--textarea.form-input--active .form-input--pseudo-label {
    background: inherit;
    width: 90%;
}

.form-input--textarea.form-input--active textarea {
    padding-top: .9875em;
    padding-bottom: .3875em;
}

.form-input--text     :-ms-input-placeholder,
.form-input--textarea :-ms-input-placeholder      { color: inherit; }
.form-input--text     ::-moz-placeholder,
.form-input--textarea ::-moz-placeholder          { color: inherit; }
.form-input--text     ::-webkit-input-placeholder,
.form-input--textarea ::-webkit-input-placeholder { color: inherit; }

.form-input--text,
.form-input--select.form-input--active {
    padding-left: 0;
}

.form-input--text input,
.form-input--textarea textarea,
.form-input--select.form-input--active select {
    padding-left: 1.25em;
    padding-left: calc(1.25em - 1px);
}

.form-input--text input {
    font-weight: inherit;
    -webkit-transition: all 200ms ease-in-out;
    transition: all 200ms ease-in-out;
}

.form-input--active input {
    padding-bottom: 0;
}

.form-input--active .form-input--pseudo-label ~ select {
    padding-top: 1em;
}

.form-input-overlay {
    background-color: inherit;
    font-size: .8em;
    padding-top: .6em;
    padding-top: calc(.75em - 2px);
    padding-left: .5em;
    pointer-events: none;
    position: absolute;
    top: 2px;
    right: 4.375em;
    bottom: 2px;
    text-align: right;
    z-index: 2;
}

/* Colour picker (only works when Code Mirror and its colorpicker plugin add on have been loaded) */
.form-input--colorpicker .CodeMirror {
    background: none;
    top: .5em;
    left: .9em;
    height: 2.375em;
}
.form-input--colorpicker .form-input--pseudo-label:not(:empty) + .CodeMirror {
    top: 1em;
}

/* Columns, when there are multiple input fields on the same line */
@media screen and (max-width: 767px)
{
    .input_column {
        display: block;
        margin-bottom: 1.16666667rem;
    }
}

@media screen and (min-width: 768px)
{
    .input_columns {
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        margin-left: -.5em;
        margin-right: -.5em;
        width: -webkit-calc(100% + 1em);
        width: calc(100% + 1em);
    }

    .input_column {
        -webkit-box-flex: 1;
        -ms-flex: 1;
        flex: 1;
        padding-left: .5em;
        padding-right: .5em;
    }
}

/* Make buttons the same size as the other ".form-..." inputs */
.form-btn {
    font-size: 1em;
    height: 2.375em;
    min-width: 5em;
}

.form-btn.btn-cancel {
    padding-left: 1em;
    padding-right: 1em;
}

.btn--full,
.button--full {
    width: 100%;
}

.button--plain,
.button--link {
    background: none;
    border: none;
    cursor: pointer;
    font-weight: inherit;
    padding: 0;
}
.iqc button.button--plain.course-list-item-read_more,
.ttmhealthcare button.button--plain.course-list-item-read_more {
    white-space: nowrap;
    height: 43px;
    background-color: var(--success);
    color: var(--text-primary, #FFF);
    padding: 0px 40px;
    border-radius: 5px;
    font-weight: normal;
}

.button--link {
    color: #00e;
    color: var(--primary);
}

/* Image preview for <input type="file" /> */
.image-upload-preview {
    display: block;
    text-align: center;
    width: 100px;
    height: 100px;
}

.image-upload .button {
    font-size: 11px;
    margin-top: 1em;
}

.image-upload-placeholder_icon {
    font-size: 6em;
}

img[src]:not([src=""]) + .image-upload-placeholder_icon {
    display: none;
}

/* Button group containing checkboxes styled as buttons */
.btn-group-lg > label > .btn {
    padding: 10px 16px;
    font-size: 17px;
    line-height: 1.3333333;
    border-radius: 6px
}

.btn-group > label:first-child:not(:last-child) > .btn {
    border-bottom-right-radius: 0;
    border-top-right-radius: 0
}

.btn-group > label:last-child:not(:first-child) > .btn {
    border-bottom-left-radius: 0;
    border-top-left-radius: 0
}

.btn-group > label:not(:first-child):not(:last-child) > .btn {
    border-radius: 0;
}

.btn-group > label + label {
    margin-left: -1px;
}


/* Btn group pills (e.g. family member selector) */
.btn-group-pills {
    width: 100%;
}

.family-member-selector {
    margin-bottom: 1em;
}

.btn-group-pills > label {
    flex: 1;
    margin: 0;
}

.btn-group-pills .btn {
    border-radius: 2px;
    cursor: pointer;
}

.btn-group-pills .btn:not([class*="btn-"]):not([class*="button"]) {
    background: #f5f5f5;
    border: 1px solid #ccc;
    border-bottom-color: #b3b3b3;
    color: #333;
}

.btn-group-pills > .btn,
.btn-group-pills > label > .btn {
    align-items: center;
    display: flex;
    flex: 1;
    font-size: 1.125em;
    font-weight: 200;
    line-height: 1;
    padding: 1.333em .5em;
}

.btn-group-pills-regular > label > .btn {
    min-height: 0;
    padding: .5em;
}

.btn-group-pills b,
.btn-group-pills strong {
    font-weight: 500;
}

.btn-group-pills > label > .btn {
    height: 100%;
    width: 100%;
}

.btn-group-pills .btn > span {
    margin: auto 0;
    text-align: center;
    width: 100%;
}

.btn-group-pills .btn.btn-default {
    background: #fff;
    color: #333;
}

.btn-group-pills .btn.btn-primary {
    border-color: #d3d3d3;
}

.btn-group-pills > .btn.active {
    background: #007bff;
    background: var(--primary);
    color: #fff;
}

@media screen and (max-width: 767px) {
    .btn-group-pills.stay_inline {
        display: flex;
    }

    .btn-group-pills.collapse {
        margin-top: .25em;
    }

    .btn-group-pills.collapse:not(.in) {
        display: none;
    }

    .btn-group-pills .btn.btn-default {
        color: #212121;
    }

    .btn-group-pills > .btn,
    .btn-group-pills > label > .btn {
        min-height: 2.3333em;
    }

    .btn-group-pills:not(.stay_inline) > label {
        width: 100%;
    }

    .btn-group-pills:not(.stay_inline) > .btn,
    .btn-group-pills:not(.stay_inline) > label > .btn {
        padding: .333em;
        width: 100%;
    }

    .btn-group.btn-group-pills:not(.stay_inline) > .btn:first-child:not(:last-child),
    .btn-group.btn-group-pills:not(.stay_inline) > label:first-child:not(:last-child) > .btn {
        border-radius: 5px 5px 0 0;
    }

    .btn-group.btn-group-pills:not(.stay_inline) > .btn:last-child:not(:first-child),
    .btn-group.btn-group-pills:not(.stay_inline) > label:last-child:not(:first-child) > .btn {
        border-radius: 0 0 5px 5px;
    }

    .btn-group-pills:not(.stay_inline) > .btn:not(:first-child),
    .btn-group-pills:not(.stay_inline) > label:not(:first-child) {
        margin: -1px 0 0;
    }
}

@media screen and (min-width: 768px) {
    .btn-group-pills {
        display: flex;
    }

    .btn-group-pills.collapse-xs-only {
        display: flex !important;
        height: auto !important;
    }

    .btn-group-pills > .family-selector-member.btn,
    .btn-group-pills > .family-selector-member > .btn {
        min-height: 4.4444em;
    }
}

.btn-group-pills .btn-group-pills-all {
    flex: 0;
    min-width: 100px;
}

.btn-group-pills .btn-group-pills-all .btn {
    font-size: 16px;
}

/* Buttons at the foot of a form */
.form-actions {
    text-align: center;
}
.form-action-group .btn,
.form-action-group .btn-cancel {
    border-radius: 2px;
    font-weight: 300;
    margin-right: 10px;
    min-width: 135px;
    text-shadow: none;
}

.modal-footer .btn,
.form-action-group .btn,
.modal-footer .btn-cancel,
.form-action-group .btn-cancel {
    border-radius: 3px;
    font-size: 17px;
    line-height: 1.3333;
    min-width: 135px;
    padding: 10px 16px;
}

@media screen and (max-width: 479px) {
    .form-action-group .btn,
    .form-action-group .btn-cancel {
        width: 100%;
        margin-bottom: 10px;
    }
}




/* Daterangepicker */
.form-daterangepicker-prev,
.form-daterangepicker-next {
    height: 2.55rem;
    width: 2.5rem
}

.form-daterangepicker > .input_group:hover,
.form-daterangepicker-prev.btn-default:hover,
.form-daterangepicker-next.btn-default:hover {
    background-color: #fff;
}

.form-daterangepicker .input_group {
    border-radius: 0;
}

/* make the calendar icon take up less space in the daterange picker */
.form-daterangepicker .input_group-icon {
    border-right: 0;
    position: absolute;
    background: none;
}

.form-daterangepicker .input_group-icon + .form-input {
    padding-left: 2.4em
}
/* icon space redux end */


.form-daterangepicker-input {
    text-align: center;
}

.form-daterangepicker-input:hover {
    cursor: pointer;
}

.form-daterangepicker-container .daterangepicker_input .fa {
    display: none;
}

.form-daterangepicker-container .daterangepicker_input .input-mini.input-mini {
    background: #f6f6f6;
    border-color: lightgrey;
    border-radius: 0!important;
    height: 3em;
    padding: 1em;
}


.form-daterangepicker-container td.in-range {
    background-color: #f5f5f5;
}

.daterangepicker td.active.active,
.form-daterangepicker-container td.today.today:after {
    background-color: var(--primary);
    color: #fff;
}

.daterangepicker td.active.active:hover {
    background-color: var(--primary-hover);
    color: #fff;
}

.form-daterangepicker-container .ranges .nav-tabs {
    margin-bottom: 1rem;
}

.form-daterangepicker-container .ranges .nav-tabs button {
    font-size: .9rem;
    padding: .5em 0;
    width: 33.33333%;
}

.form-daterangepicker-container .ranges li {
    color: #555;
}


.form-daterangepicker-container  td.today {
    font-weight: 600;
    position: relative;
}

.form-daterangepicker-container td.today:after {
    content: '';
    display: block;
    border-radius: 50%;
    width: 4px;
    height: 4px;
    background: #425ba9;
    left: 50%;
    left: calc(50% - 2px);
    bottom: .2em;
    position: absolute;
}

@media screen and (max-width: 767px) {
    .form-daterangepicker-container[style*="display: flex;"] {
        display: block !important;
    }
}

@media screen and (min-width: 768px) {
    .daterangepicker.form-daterangepicker-container {
        padding-bottom: 3.5rem;
    }

    .form-daterangepicker-container[style*="display: block;"] {
        display: flex !important;
    }

    .form-daterangepicker-container .ranges {
        order: 1;
    }

    .form-daterangepicker-container .ranges ul {
        width: 200px;
    }

    .form-daterangepicker-container .range_inputs {
        background: #fff;
        padding-top: 1em;
        position: absolute;
        top: 300px;
        top: calc(100% - 3.5rem);
        left: 0;
        text-align: center;
        width: 100%;
    }

    .form-daterangepicker-container .range_inputs button {
        font-size: 1rem;
        min-width: 6.5em;
    }

}




/* Multiselect filters */



/*------------------------------------*\
  #Lists
\*------------------------------------*/
dl.dl-horizontal,
.dl-horizontal > dl {
    margin: .375em 0;
}

.dl-horizontal dt {
    clear: both;
    float: left;
    font-weight: 500;
}

.dl-horizontal dt,
.dl-horizontal dd {
    margin: 1.154em 0
}

.dl-horizontal dt:after {
    content: ':\a0 ';
}

.dl-horizontal dd {
    float: left;
}

.dl-horizontal:after {
    content: '';
    clear: both;
    display: table;
}




/*------------------------------------*\
  #Alert popovers
\*------------------------------------*/
.popup_box {
    padding: 15px;
    font-size: 15px;
    border-width: 1px;
    border-left-width: 40px;
    border-radius: 5px;
    color: #333;
    position:fixed;
	_position:absolute; /* hack for internet explorer 6 */
 	width:400px;
	background:#FFFFFF;
	right:20px;
	top: 20px;
	z-index:1041; /* Layering ( on-top of others), if you have lots of layers: I just maximized, you can change it yourself */
}




/*------------------------------------*\
  #Progressbars
\*------------------------------------*/
.progressbar {
    font-size: .8rem;
    display: flex;
}

.progressbar-item {
    font-weight: bold;
    line-height: 1.3;
    min-height: .5em;
}


.progressbar-item-label {
    font-size: .8em;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.form-select .progressbar-item {
    font-size: .75em;
    text-align: left;
    text-indent: .5em;
}




/*------------------------------------*\
  #Tables
\*------------------------------------*/
.table--plain {
    margin: 0 -.5em;
    text-align: left;
    width: 100%;
    width: calc(100% + 1em);
}

.table--plain th {
    font-weight: 500;
}

.table--plain td,
.table--plain th {
    padding: .25em .5em;
}

/*
 * Allow checkboxes to be moved outside of a table
 * e.g. "All timetables" -> "Overview"
 */
.table-outer-checkboxes {
    padding-left: 2em;
}

.table-outer-checkboxes td:first-child {
    position: relative;
}

.table-outer-checkboxes td:first-child .form-checkbox {
    position: absolute;
    left: -1.75rem;
}

.table-outer-checkboxes td:first-child .form-checkbox-helper {
    font-size: .75rem;
}




/*------------------------------------*\
  #Tabs
\*------------------------------------*/
.nav-tabs {
    border-bottom: 1px solid #ddd;
}

.nav > li {
    display: block;
    position: relative;
}

.nav-tabs > li.active > a {
    background-color: #fff;
    border: 1px solid #ddd;
    color: #555;
    color: var(--primary);
    border-bottom-color: transparent;
}
.nav-tabs > li > a {
    color: #aaa;
    display: block;
    margin-right: 2px;
    padding: .625em 1em;
    border-radius: 4px 4px 0 0;
    line-height: 1.428571429;
    border: 1px solid transparent;
}

.tab-content {
    clear: both;
    padding: 1em;
}




/*------------------------------------*\
  #Sliders
\*------------------------------------*/
.timeline-swiper {
    font-size: 13px;
    text-align: center;
    margin-top: 2em;
    min-height: 40px;
}

.timeline-swiper .swiper-wrapper {
    list-style: none;
}

.timeline-swiper .swiper-slide {
    align-items: center;
    background: #f4f4f4;
    border-top: 1px solid #bfbfbf;
    color: #787878;
    display: flex;
    min-height: 42px;
}

.timeline-swiper .swiper-slide-visible + .swiper-slide-visible {
    border-left: 1px solid #bfbfbf;
}


.timeline-swiper .swiper-slide.selected {
    background: #12387f;
    color: #fff;
}

.timeline-swiper-prev,
.timeline-swiper-next {
    background: #e8f3f9;
    border-radius: 50%;
    color: #12387f;
    font-size: 1.25rem;
    position: absolute;
    top: .45em;
    top: calc(50% - .55em);
    z-index: 1;
    width: 1.1em;
    height: 1.1em;
}

.timeline-swiper-date {
    display: block;
    padding: .5em 0;
    text-decoration: none;
    width: 100%;
}

a.timeline-swiper-date {
    color: inherit;
    text-decoration: none;
}

.timeline-swiper-date---empty {
    background: #ddd;
    cursor: not-allowed;
}

.timeline-swiper-date-formatted {
    font-weight: 500;
}

.timeline-swiper-highlight {
    color: #00c6ee;
}

.swiper-slide.selected .timeline-swiper-highlight {
    color: #fff;
}

.timeline-swiper-date--empty .timeline-swiper-highlight {
    color: inherit;
}

.timeline-swiper-prev {
    left: -.3em;
}

.timeline-swiper-next {
    right: -.3em;
}





/*------------------------------------*\
  #Video player
\*------------------------------------*/
.video-wrapper {
    display: inline-block;
    position: relative;
    width: 100%;
    height: 215px;
    max-width: 400px;
}

.video-wrapper iframe {
    border: none;
    display: none;
    width: 100%;
    height: 100%;
}

.video-wrapper iframe:only-child {
    display: inline-block;
}

.video-cover {
    background: #fff;
    border: 2px solid #ccc;
    color: #ccc;
    cursor: pointer;
    display: block;
    font-size: 2.45em;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    text-shadow: 1px 1px 10px rgba(0, 0, 0, .7);
    width: 100%;
}

.ib-video-wrapper {
    position: relative;
}

/* Customise the plyr colour scheme */
.ib-audio-wrapper .plyr__controls {
    background: #f4f4f4;
    border-radius: 3rem;
}

.plyr__control.plyr__tab-focus {
    box-shadow: 0 0 0 5px var(--primary-hover);
}

.plyr--audio .plyr__control.plyr__tab-focus,
.plyr--video .plyr__control.plyr__tab-focus,
.plyr--audio .plyr__control:hover,
.plyr--video .plyr__control:hover,
.plyr--audio .plyr__control[aria-expanded=true],
.plyr--video .plyr__control[aria-expanded=true],
.plyr__control--overlaid,
.plyr__control--overlaid:focus,.plyr__control--overlaid:hover,
.plyr__menu__container .plyr__control[role=menuitemradio][aria-checked=true]::before {
    background: var(--primary)
}

.plyr--full-ui input[type=range] {
    color: var(--primary);
}

.plyr--full-ui input[type=range].plyr__tab-focus::-webkit-slider-runnable-track {  box-shadow: 0 0 0 5px var(--primary-hover); }
.plyr--full-ui input[type=range].plyr__tab-focus::-moz-range-track { box-shadow: 0 0 0 5px var(--primary-hover); }
.plyr--full-ui input[type=range].plyr__tab-focus::-ms-track {  box-shadow: 0 0 0 5px var(--primary-hover); }


@media screen and (max-width: 767px) {
    .plyr .plyr__control--overlaid[data-plyr="play"],
    .plyr__controls {
        zoom: .75;
    }
}

@media screen and (min-width: 768px) {
    .plyr .plyr__control--overlaid[data-plyr="play"] {
        width: 4rem;
        height: 4rem;
        padding: 1.5rem;
    }
}


/*------------------------------------*\
  #Dropdown menu
\*------------------------------------*/
.dropdown-menu {
    border: none;
    border-radius: 2px;
    box-shadow: 0 1px 2px #ccc;
    padding: 0;
    font-size: 16px;
    width: max-content;
}

.dropdown-menu li > a,
.dropdown-menu li > button {
    padding: .4375em 1.5rem;
}

/*** Dropdown menu that covers the screen on mobile ***/
.dropdown-menu--cover {
    background: #fff;
    overflow-y: auto;
    width: 100%;
}
.row.dropdown-menu-cover {
    width: 100%;
}

.dropdown-menu--cover h1,
.dropdown-menu--cover h2,
.dropdown-menu--cover h3,
.dropdown-menu--cover h4,
.dropdown-menu--cover h5,
.dropdown-menu--cover h6 {
    margin: .25em 0;
}

.dropdown-menu-header,
.dropdown-menu-body,
.dropdown-menu-footer {
    padding: 1rem 1.5rem;
}

.dropdown-menu-header,
.dropdown-menu-footer {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}


@media screen and (max-width: 767px) {
    .dropdown-menu--cover {
        border: none;
        border-radius: 0;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        margin: 0;
        padding: 0;
        position: fixed;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
        z-index: 11;
    }

    .dropdown-menu-header {
        background-color: #bbb;
        color: #fff;
        min-height: 4.5rem;
        padding-left: 3rem;
        padding-right: 3rem;
        position: relative;
        text-align: center;
    }

    .dropdown-menu-header h2 {
        color: inherit;
        margin: auto;
    }

    .dropdown-menu-close {
        color: inherit;
        font-size: 1.5rem;
        position: absolute;
        right: 1rem;
    }

    .dropdown-menu-footer {
        font-weight: bold;
        margin-top: auto;
        min-height: 3.5rem;
    }

    .search-filter-dropdown .dropdown-menu {
        font-size: 13px;
        width: 100%
    }
}

@media screen and (min-width: 768px) {
    .dropdown-menu--cover {
        border: 1px solid #ddd;
        position: absolute;
        top: 100%;
        width: 100%;
        z-index: 2;
    }

    .dropdown-menu-header {
        border-bottom: 1px solid #ddd;
    }

    .dropdown-menu-footer {
        border-top: 1px solid #ddd;
    }

    .dropdown-menu-close {
        display: none;
    }
}




/*------------------------------------*\
  #Mobile breadcrumbs
\*------------------------------------*/
.mobile-breadcrumbs {
    overflow-x: hidden;
    width: 100%;
}

.navigation-menu + .mobile-breadcrumbs {
    margin-top: -1px;
    padding-top: 1px;
}

.mobile-breadcrumbs > .row {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    min-width: 100%;
}

.mobile-breadcrumbs.mobile-breadcrumbs > .row {
    padding: 0 15px;
}

.mobile-breadcrumbs * {
    color: var(--primary, #FFF);
    line-height: 1.15;
}

.mobile-breadcrumbs-prev,
.mobile-breadcrumbs-next {
    font-size: 30px;
}

a.mobile-breadcrumbs-prev,
a.mobile-breadcrumbs-next {
    text-decoration: none;
}

.mobile-breadcrumbs .mobile-breadcrumbs-title {
    font-size: 20px;
    font-weight: 400;
    margin: 0 .3em;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}



.btn-dropdown-selected_text:not(:empty):after {
    content: ')';
}


.radio-bullet [type="radio"] {
    clip: rect(0, 0, 0, 0);
    opacity: 0;
    overflow: hidden;
    position: absolute;
    z-index: -1;
}

.radio-bullet {
    cursor: pointer;
    display: block;
    margin: 0;
    padding: .5em 2em .5em .5em;
    position: relative;
}

.radio-bullet:hover {
    background-color: #c9d9fd;
    background-color: var(--primary);
    color: #fff;
}

.radio-bullet :checked + span:before {
    content: '';
    background: #000;
    border-radius: 50%;
    display: block;
    position: absolute;
    top: .9em;
    right: .75em;
    width: .8em;
    height: .8em;
}



/* Radio buttons in a dropdown list (Not specific to timeoff. These classes should be renamed.) */
.timeoff-radio-bullet [type="radio"] {
    clip: rect(0, 0, 0, 0);
    opacity: 0;
    overflow: hidden;
    position: absolute;
    z-index: -1;
}

.timeoff-radio-bullet {
    display: block;
    padding: .5em .5em .5em 1.5em;
    position: relative;
}

.timeoff-radio-bullet:hover {
    background-color: #ebf5fe;
}

.timeoff-radio-bullet :checked + span:before {
    content: '';
    background: #000;
    border-radius: 50%;
    display: block;
    position: absolute;
    top: 1em;
    left: .5em;
    width: .46em;
    height: .46em;
}




/*------------------------------------*\
  #Menus
\*------------------------------------*/
.header-icon {
    margin-left: .5em;
}

.header-search-toggle {
    font-size: 1.25em;
    transform: scaleX(-1);
}

/*** Header cart menu ***/
.header-cart {
    display: inline-block;
}

.header-cart-button,
.alert-icon {
    position: relative;
}

.header-cart-amount,
.alert-icon-amount {
    color: #12387f;
    font-size: .75rem;
    font-weight: 700;
    position: absolute;
    top: .1em;
    left: 1px;
    text-align: center;
    width: 100%;
}

.header-cart-amount:after,
.alert-icon-amount:after {
    content: attr(data-amount);
}

.header-cart-button svg {
    position: relative;
    top: .1em;
    width: 2.1875em;
}

.header-cart-amount[data-amount="0"],
.header-cart-amount[data-amount="0"] ~ .header-cart-icon--not_empty,
.header-cart-amount:not([data-amount="0"]) ~ .header-cart-icon--empty {
    display: none;
}

.header-cart-button-icon [fill]   { fill:   #fff; }
.header-cart-button-icon [stroke] { stroke: #fff; }

.header-cart .dropdown-menu {
    color: #212121;
    text-align: left;
}

.header-cart .button--continue,
.cart-menu .button--continue {
    font-size: 22px;
    font-weight: 500;
    padding: .625em;
}

.cart-menu h1,
.cart-menu h2,
.cart-menu h3,
.cart-menu h4,
.cart-menu h5,
.cart-menu h6 {
    margin: .25em 0;
}

@media screen and (max-width: 767px) {
    .header-search {
        margin-top: -1px;
        padding: 1px 22px 15px;
    }

    .header-search .input_group {
        color: #212121;
    }

    .header-search .input_group-icon {
        background: none;
        border: none;
        color: #ccc;
    }

    .header-cart-breakdown {
        font-size: 16px;
        padding: 1em 0;
    }

    .header-cart-breakdown .form-group {
        margin-bottom: 7px;
    }

    .header-cart-breakdown-total {
        font-size: 21px;
        margin-top: .667em;
    }
}


/*** Mobile side menu ***/
.header-menu {
    background: #F5F5F5;
    display: none;
    margin-top: 18px;
    padding-bottom: 4em;
    position: absolute;
    z-index: 12;
}

.header-menu.has_submenus {
    left: 0;
    width: 100%;
}

.header-menu-row {
    position: relative;
}

.header-menu ul,
.header-menu li {
    list-style: none;
    margin: 0;
    padding: 0;
}

.header-menu-row > ul {
    padding-top: .5em;
    padding-bottom: .5em;
}

.header-menu a:not([class]),
.mobile-menu-list a:not([class]) {
    color: #212121;
    display: block;
    text-decoration: none;
}

.header-menu.has_submenus .level_1 {
    padding-top: 17px;
}

.header-menu .level_1 > a,
.mobile-menu .level_1 > a,
.mobile-menu .level_1 > button,
.mobile-menu-level3-section .mobile-menu-list > a {
    color: #0074cc;
    color: var(--primary);
    font-size: 18px;
    font-weight: 400;
    text-decoration: none;
    text-transform: uppercase;
}

.mobile-menu-list li:not(.active) > a {
    color: #212121;
    font-weight: 300;
    text-transform: none;
}

.header-menu .level_1 > a {
    font-weight: 500;
    margin-top: .8333333em;
    margin-bottom: .8333333em;
    font-size: .9rem;
}

.header-menu:not(.has_submenus) {
    background: #fff;
    border-radius: 3px;
    box-shadow: 0 1px 5px 0 rgba(0, 0, 0, .35);
    margin-top: 2px;
    min-width: 260px;
    padding: 0;
}

.header-menu:not(.has_submenus) li a:hover {
    background: #0074cc;
    background: var(--primary);
    color: #fff;
}

.header-menu:not(.has_submenus) a {
    line-height: 1.5rem;
    margin: 0;
    padding: 5px 15px;
}

.header-menu .level2,
.mobile-menu .level2 {
    position: relative;
}

.header-menu .level_2,
.mobile-menu-list li {
    clear: both;
    font-size: 1rem;
    line-height: 1.8125;
}

.header-menu .level_2 a,
.mobile-menu-list li a {
    padding-left: 1.5rem;
    position: relative;
}

.header-menu .level_2:not(.has_icon) a {
    padding-left: 1.5rem;
}

.header-menu .level_2:not(.has_icon) a:before {
    content: '';
    display: inline-block;
    border: solid #212121;
    border-width: 1px 1px 0 0;
    margin-left: .5em;
    margin-right: .375em;
    position: absolute;
    left: 0;
    top: .77em;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    width: .4em;
    height: .4em;
}

.header-menu .level3 {
    background: #fff;
    border: 1px solid #ebebeb;
    border-radius: 3px;
    box-shadow: -1px 1px 1px #ccc;
    display: none;
    padding: 11px 0 8px;
    z-index: 1;
}

@media screen and (max-width: 767px) {
    .header > .row,
    .header-mobile.row {
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        height: 4rem;
        line-height: 1.15;
        padding-left: 0;
        padding-right: 0;
        text-align: center;
    }

    .header-mobile .header-logo img {
        max-height: 45px;
    }

    .header .row > :first-child,
    .header-mobile.row > :first-child {
        text-align: left;
    }

    .header .row > :last-child,
    .header-mobile.row > :last-child {
        text-align: right;
    }
}

/* "mobile-menu" was originally only used in mobile. Class names should ideally be updated.  */

.mobile-menu a {
    color: #aaa;
    position: relative;
    text-decoration: none;
}

.mobile-menu-toggle {
    color: var(--primary);
    font-size: 1.75rem;
    width: 2rem;
    height: 2rem;
}

.mobile-menu-toggle .fa {
    transform: rotate(0deg);
    transition: transform .2s linear;
}

.mobile-menu-open .mobile-menu-toggle .fa {
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg);
}

.mobile-menu {
    background: #fff;
    border-right: 1px solid #f6f6f6;
    font-weight: 200;
    line-height: 1.42;
    overflow-x: hidden;
    overflow-y: auto;
    position: fixed;
    top: 0;
    left: 0;
    bottom: 0;
    width: 19.375rem;
    z-index: 11;
    -webkit-font-smoothing: auto;
    -moz-osx-font-smoothing: auto;
}

.page-wrapper .mobile-menu {
    height: 100%;
    min-height: 330px;
}

.mobile-menu-top {
    border-bottom: 1px solid #ddd;
    margin-bottom: 1rem;
}

.mobile-menu .row {
    padding: 0 1.5rem;
}

.mobile-menu-top-heading {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    height: 4rem;
    padding: 0 1.5rem;
}

.mobile-menu-back {
    border-radius: .25em;
    margin-left: -.625em;
    margin-right: .375em;
    padding: .5em;
    width: 2.5em;
    height: 2.5em;
}

.mobile-menu-list li.level_1 > a {
    background: none;
    color: inherit;
}

.mobile-menu-back:hover,
.mobile-menu-list li a:hover,
.sidebar-menu-active-sublist li > a:hover {
    background: #0074cc;
    background: var(--primary-hover);
    color: #fff;
}

.mobile-menu li.active > a,
.sidebar-menu-active-sublist li.active > a {
    background: #0074cc;
    background: var(--primary);
    color: #fff;
}

.mobile-menu-list li > a:hover .svg-sprite,
.mobile-menu-list li.active > a .svg-sprite,
.mobile-menu-list li > a:hover .plugin-menu-icon,
.mobile-menu-list li.active > a .plugin-menu-icon,
.mobile-menu-list li > a:hover + .submenu-expand,
.mobile-menu-list li.active > a + .submenu-expand,
.mobile-menu-list li > a:hover + .submenu-expand,
.mobile-menu-list li.active > a + .submenu-expand {
    color: #fff;
    fill: #fff;
}

.mobile-menu li > a:hover .svg-sprite use,
.mobile-menu li.active > a .svg-sprite use {
    visibility: hidden;
}

.mobile-menu-back:hover * {
    color: inherit;
}

.mobile-menu-top strong {
    color: #0074cc;
    color: var(--primary);
    font-weight: 400;
}

.mobile-menu-top-avatar {
    color: #0074cc;
    color: var(--primary);
    font-size: 1.6875em;
    margin-right: .25em;
    width: 2.2rem;
    height: 2rem;
}

.mobile-menu-top-avatar > img {
    border-radius: 50%;
    border: 1px solid #bbb;
    vertical-align: initial;
}

.mobile-menu-top-title {
    flex: 1;
}

.mobile-menu-top-username {
    display: block;
    -webkit-box-flex: 2;
    -ms-flex: 2;
    flex: 2;
    font-size: 1.1875em;
    max-width: 8em;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.mobile-menu-top-subtitle {
    font-size: .75em;
    font-weight: 200;
}

.mobile-menu-top-action {
    font-size: .875em;
}

.mobile-menu-top-action:not(:hover) {
    text-decoration: underline;
}

.mobile-menu .plugin-menu-icon {
    display: inline-block;
    margin: 0;
    width: 1.75em;
}

.mobile-menu-action_buttons .button {
    background: #fff;
    border: 1px solid;
    color: var(--primary);
    font-size: 1.1875rem;
    font-weight: 400;
    line-height: 1;
    padding: .9em;
}

.mobile-menu-action_buttons .button:hover {
    background: #fff;
}

.mobile-menu-list > a {
    padding-left: 1.5rem;
    padding-right: 1.5rem;
}

.mobile-menu-list ul {
    clear: both;
    list-style: none;
    margin: 0;
    padding: 0;
}

.mobile-menu .has_submenu {
    position: relative;
}

.mobile-menu .level_1.has_submenu.expanded {
    border-bottom: 1px solid #bbb;
    margin-bottom: 1em;
}

.mobile-menu .level_1.has_submenu.expanded:last-child {
    border-bottom: none;
}

.mobile-menu li > a {
    display: block;
    overflow: hidden;
    padding-right: 1em;
    position: relative;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.mobile-menu .level_1 > a,
.mobile-menu-level3-section .mobile-menu-list > a {
    margin: 0;
}

.mobile-menu .level_2.has_submenu > a {
    padding-right: 2em;
}

.mobile-menu .submenu-expand {
    position: absolute;
    top: .35em;
    right: 0;
    width: 2rem;
    height: 2rem;
}

.mobile-menu .level_3 > .submenu-expand {
    right: .5rem;
    top: 0;
}

.mobile-menu .expanded > .submenu-expand {
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg);
}

.mobile-menu .submenu-expand-icon {
    font-size: 1.5em;
}

.mobile-menu .level2 {
    display: none;
    margin-bottom: 1em;
}

.mobile-menu .expanded > ul {
    display: block;
}

.mobile-menu-level3-section {
    background: #fff;
    position: fixed;
    top: 0;
    bottom: 0;
    left: 100%;
    transition: .25s;
}

.mobile-menu > .mobile-menu-list,
.mobile-menu > .mobile-menu-top,
.mobile-menu-action_buttons{
    transition: .25s;
}

.mobile-menu--level3_expanded > .mobile-menu-top,
.mobile-menu--level3_expanded > .mobile-menu-action_buttons,
.mobile-menu--level3_expanded > .mobile-menu-list,
.mobile-menu--level3_expanded > .mobile-menu-button-group {
    transform: translateX(-100%);
}

.mobile-menu--level3_expanded .mobile-menu-level3-section {
    left: 0;
}

.mobile-menu .level4 {
    display: none;
    padding-left: 1em;
}

.mobile-menu-button-group {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    font-size: 12px;
    margin-top: 1.5rem;
    width: 100%;
}

.mobile-menu-button-group > a {
    border: solid #ddd;
    border-width: 1px 0;
    color: #222;
    flex: 1;
    padding: .75em;
    text-align: center;
}

.mobile-menu-button-group-icon {
    color: #0074cc;
    color: var(--primary);
    display: block;
    font-size: 1.5em;
    height: 1.6em;
}

.mobile-menu-button-group > a + a {
    border-left-width: 1px;
}

.mobile-menu-list li a {
    padding-top: .35em;
    padding-bottom: .35em;
}

.sidebar-menu-wrapper.mobile-menu {
    position: relative;
}

.sidebar-menu-wrapper .mobile-menu-level3-section {
    position: absolute;
}

.plugin-menu-icon svg {
    width: 1.1875em;
    height: 1.1875em;
    position: relative;
    top: .23em;
}

.mobile-menu .plugin-menu-icon,
.sidebar-menu-plugins .plugin-menu-icon,
.sidebar-menu-active-sublist .icon-color-outline,
.sidebar-menu-active-sublist .svg-sprite {
    color: var(--primary);
    fill: var(--primary);
}

.sidebar-menu-wrapper a:hover .icon-color-outline,
.sidebar-menu-wrapper .active > a .icon-color-outline,
.sidebar-menu-active-sublist .active .svg-sprite,
.sidebar-menu-active-sublist a:hover .svg-sprite {
    color: #fff;
    fill: #fff;
}

.sidebar-menu-wrapper {
    border: 1px solid #ccc;
    border-radius: 2px;
}


@media screen and (max-width: 767px) {
    body:not(.mobile-menu-open) .mobile-menu {
        display: none;
    }

    #mobile-menu,
    #sidebar-menu-wrapper {
        position: fixed;
        background: #fff;
        color: #222;
        margin: 0;
        width: 19.375rem;
        max-width: none;
        border: none;
    }

    body.mobile-menu-open {
        overflow-x: hidden;
        overflow-y: hidden;
    }

    .mobile-menu-open .mobile-menu {
        display: block;
    }

    .mobile-menu-open .wrapper,
    .mobile-menu-open .page-wrapper,
    .mobile-menu-open > .footer {
        position: relative;
        left: 19.375rem;
    }

    .mobile-menu-level3-section {
        width: 19.375rem;
    }
}

@media screen and (min-width: 768px) {
    .mobile-menu > .mobile-menu-top,
    .mobile-menu-action_buttons,
    .mobile-menu-list .level_1.has_submenu:only-child > a,
    .mobile-menu-list .level_1.has_submenu:only-child > button {
        display: none;
    }

    .mobile-menu-list .level_1.has_submenu:only-child > .level2 {
        display: block;
    }

    /* Scrollbar styling */
    .mobile-menu::-webkit-scrollbar {
        width: 4px;
    }

    .mobile-menu::-webkit-scrollbar-track {
        background: transparent;
    }

    .mobile-menu::-webkit-scrollbar-thumb {
        background: #ddd;
        border-radius: 3px;
    }

    .mobile-menu::-webkit-scrollbar-thumb:hover {
        background: #425ba9;
    }

    body.sidebar-collapsed .sidebar-menu-active-sublist {
        margin-left: .75em;
    }

    .mobile-menu-level3-section {
        width: 13rem;
    }
}

.sidebar-menu-active-sublist {
    background-color: #f9f9f9;
    text-align: center;
    width: 3em;
}

.sidebar-menu-active-sublist li > a {
    border-radius: .25em;
    display: block;
    margin: .5em .3em;
    padding: .3em;
}

.sidebar-menu-active-sublist svg {
    display: block;
    margin: auto;
    width: 1.25rem;
    height: 1.25rem;
}

.sidebar-menu-active-sublist .icon-color-outline { fill: #425ba9; }

/*** Old SVG icon system - start ***/
.icon-color-1,
.icon-color-2,
.icon-color-3,
.icon-color-other {
    visibility: hidden;
}

.svg-color [class*="icon-color"] {
    visibility: visible;
}

.svg-color-hover:hover [class*="icon-color"] {
    visibility: visible;
}

/* Colour SVGs per the theme */
svg .icon-color-1 { fill: #425ba9; }
svg .icon-color-2 { fill: #df1e39; }
svg .icon-color-3 { fill: #f8981d; }
svg .icon-color-outline { fill: #303030; }

/*** Old SVG icon system - end ***/

.svg-sprite {
    transform: scaleY(-1); /* Temporary until upside-down issue with spritesheets has been fixed */
}

.svg-color-hover.svg-sprite use,
.svg-color-hover .svg-sprite use {
    visibility: hidden;
}

.svg-color.svg-sprite use,
.svg-color .svg-sprite use,
.svg-color-hover.svg-sprite:hover use,
.svg-color-hover:hover .svg-sprite use {
    visibility: visible;
}


@media screen and (max-width: 480px) {
    /* If there are two icons in the right, allow for more room on very small screens */
    .header-mobile.has_cart.has_search > div:first-child { width:22%; }
    .header-mobile.has_cart.has_search > div:last-child  { width:28%; padding-left: 0; }
}



.btn-dropdown-selected_text:not(:empty):before {
    content: '(';
}



/*------------------------------------*\
  #Cookies
\*------------------------------------*/
.cc_container.cc_container { background: var(--primary); color: #fff; }

.cc_container.cc_container a { color: var(--success); }
.cc_container.cc_container a:hover { color: var(--success-hover); }
.cc_container.cc_container a:active { color: var(--success-active); }

.cc_container.cc_container .cc_btn { background: var(--success); color: #fff; text-decoration: none; }
.cc_container.cc_container .cc_btn:hover { background: var(--success-hover); color: #fff; }
.cc_container.cc_container .cc_btn:active { background: var(--success-active); color: #fff; }



/*------------------------------------*\
  #Text alignment / formatting
\*------------------------------------*/
.text-left{text-align:left!important}.text-right{text-align:right!important}.text-center{text-align:center!important}
@media (min-width:576px){.text-sm-left{text-align:left!important}.text-sm-right{text-align:right!important}.text-sm-center{text-align:center!important}}
@media (min-width:768px){.text-md-left{text-align:left!important}.text-md-right{text-align:right!important}.text-md-center{text-align:center!important}}
@media (min-width:992px){.text-lg-left{text-align:left!important}.text-lg-right{text-align:right!important}.text-lg-center{text-align:center!important}}
@media (min-width:1200px){.text-xl-left{text-align:left!important}.text-xl-right{text-align:right!important}.text-xl-center{text-align:center!important}}

.text-disabled {
    opacity: .5;
}

.text-decoration-none {
    text-decoration: none!important;
}

.nowrap {
    white-space: nowrap;
}

@media screen and (min-width: 768px) {
    .text-md-nowrap{white-space: nowrap;}
}

.nowrap-ellipsis {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.border-title,
.border-title-both {
    display: flex;
    align-items: center;
}

.border-title:after,
.border-title-both:before,
.border-title-both:after {
    content: '';
    border-top: 1px solid;
    border-color: var(--primary);
    flex: 1;
    margin-left: .5em;
    position: relative;
}

.border-title-both:before {
    margin-left: 0;
    margin-right: .5em;
}

/*------------------------------------*\
  #Utility
\*------------------------------------*/
/* Twitter Bootstrap border classes */
.border{border:1px solid #dee2e6!important}
.border-top{border-top:1px solid #dee2e6!important}
.border-right{border-right:1px solid #dee2e6!important}
.border-bottom{border-bottom:1px solid #dee2e6!important}
.border-left{border-left:1px solid #dee2e6!important}
.border-0{border:0!important}
.border-2{border-width:.25rem!important;}
.border-top-0{border-top:0!important}
.border-right-0{border-right:0!important}
.border-bottom-0{border-bottom:0!important}
.border-left-0{border-left:0!important}
.border-primary{border-color:var(--primary)!important}
.border-top-primary{border-top-color:var(--primary)!important;}
.border-right-primary{border-right-color:var(--primary)!important;}
.border-bottom-primary{border-bottom-color:var(--primary)!important;}
.border-left-primary{border-left-color:var(--primary)!important;}
.border-top-primary-hover{border-top-color:var(--primary-hover)!important;}
.border-right-primary-hover{border-right-color:var(--primary-hover)!important;}
.border-bottom-primary-hover{border-bottom-color:var(--primary-hover)!important;}
.border-left-primary-hover{border-left-color:var(--primary-hover)!important;}
.border-secondary{border-color:var(--secondary)!important}
.border-success{border-color:var(--success)!important}
.border-top-success{border-top-color:var(--success)!important;}
.border-right-success{border-right-color:var(--success)!important;}
.border-bottom-success{border-bottom-color:var(--success)!important;}
.border-left-success{border-left-color:var(--success)!important;}
.border-top-success-hover{border-top-color:var(--success-hover)!important;}
.border-right-success-hover{border-right-color:var(--success-hover)!important;}
.border-bottom-success-hover{border-bottom-color:var(--success-hover)!important;}
.border-left-success-hover{border-left-color:var(--success-hover)!important;}
.border-info{border-color:var(--info)!important}
.border-warning{border-color:var(--warning)!important}
.border-danger{border-color:var(--danger)!important}
.border-light{border-color:#f8f9fa!important}
.border-dark{border-color:#343a40!important}
.border-white{border-color:#fff!important}
.border-category {border-color: var(--category-color) !important;}
.border-top-category {border-top-color: var(--category-color) !important;}
.border-right-category {border-right-color: var(--category-color) !important;}
.border-bottom-category {border-bottom-color: var(--category-color) !important;}
.border-left-category {border-left-color: var(--category-color) !important;}
.rounded{border-radius:.25rem!important}
.rounded-top{border-top-left-radius:.25rem!important;border-top-right-radius:.25rem!important}
.rounded-right{border-top-right-radius:.25rem!important;border-bottom-right-radius:.25rem!important}
.rounded-bottom{border-bottom-right-radius:.25rem!important;border-bottom-left-radius:.25rem!important}
.rounded-left{border-top-left-radius:.25rem!important;border-bottom-left-radius:.25rem!important}
.rounded-lg{border-radius:.3rem!important}
.rounded-circle{border-radius:50%!important}
.rounded-pill{border-radius:50rem!important}
.rounded-0{border-radius:0!important}

/* Bootstrap colour classes */
.text-primary{color:var(--primary)!important;}
.text-primary-hover{color:var(--primary-hover)!important;}
.text-secondary,.text-default{color:var(--secondary)!important;}
.text-success{color:var(--success)!important;}
.text-success-hover{color:var(--success-hover)!important;}
.text-info{color:var(--info)!important;}
.text-warning{color:var(--warning)!important;}
.text-danger{color:var(--danger)!important;}
.text-dark, .text-black{color:#343a40!important}
.text-white{color:#fff!important}
.text-category{color:var(--category-color) !important;}
.bg-primary{background-color:var(--primary)!important}
.bg-primary-hover{background-color:var(--primary-hover)!important}
.bg-secondary,.bg-default{background-color:var(--secondary)!important}
.bg-success{background-color:var(--success)!important}
.bg-success-hover{background-color:var(--success-hover)!important}
.bg-info{background-color:var(--info)!important}
.bg-warning{background-color:var(--warning)!important}
.bg-danger{background-color:var(--danger)!important}
.bg-light{background-color:#f8f9fa!important}
.bg-dark, .bg-black{background-color:#212121!important}
.bg-white{background-color:#fff!important}

.button.bg-primary:hover{background-color:var(--primary-hover)!important;}
.button.bg-success:hover{background-color:var(--success-hover)!important;}
.button.bg-category:hover,.button-category:hover{opacity:.9;}
.button.bg-primary:active{background-color:var(--primary-active)!important;}
.button.bg-success:active{background-color:var(--success-active)!important;}

/* White text when background colour is changed. This is not an absolute, so no !important */
.bg-primary, .bg-secondary, .bg-success, .bg-info, .bg-warning, .bg-danger, .bg-dark, .bg-black,
.bg-primary *, .bg-secondary *, .bg-success *, .bg-info *, .bg-warning *, .bg-danger *, .bg-dark *, .bg-black *,
.page-content .bg-primary *, .page-content .bg-secondary *, .page-content .bg-success *, .page-content .bg-info *, .page-content .bg-warning *, .page-content .bg-danger *, .page-content .bg-dark *, .page-content .bg-black * { color: #fff; }

.bg-category {
    background-color: var(--category-color) !important;
    color: #fff !important;
}

.bg-category h1,
.bg-category h2,
.bg-category h3,
.bg-category h4,
.bg-category h5,
.bg-category h6,
.bg-category p {color:#fff!important;}


@media screen and (min-width: 768px) {
    .bg-md-none {
        background: none !important;
    }
}

.bg-none{background: none!important}

/* Bootstrap margin and padding classes */
.m-0{margin:0!important}.mt-0,.my-0{margin-top:0!important}.mr-0,.mx-0{margin-right:0!important}.mb-0,.my-0{margin-bottom:0!important}.ml-0,.mx-0{margin-left:0!important}.m-1{margin:.25rem!important}.mt-1,.my-1{margin-top:.25rem!important}.mr-1,.mx-1{margin-right:.25rem!important}.mb-1,.my-1{margin-bottom:.25rem!important}.ml-1,.mx-1{margin-left:.25rem!important}.m-2{margin:.5rem!important}.mt-2,.my-2{margin-top:.5rem!important}.mr-2,.mx-2{margin-right:.5rem!important}.mb-2,.my-2{margin-bottom:.5rem!important}.ml-2,.mx-2{margin-left:.5rem!important}.m-3{margin:1rem!important}.mt-3,.my-3{margin-top:1rem!important}.mr-3,.mx-3{margin-right:1rem!important}.mb-3,.my-3{margin-bottom:1rem!important}.ml-3,.mx-3{margin-left:1rem!important}.m-4{margin:1.5rem!important}.mt-4,.my-4{margin-top:1.5rem!important}.mr-4,.mx-4{margin-right:1.5rem!important}.mb-4,.my-4{margin-bottom:1.5rem!important}.ml-4,.mx-4{margin-left:1.5rem!important}.m-5{margin:3rem!important}.mt-5,.my-5{margin-top:3rem!important}.mr-5,.mx-5{margin-right:3rem!important}.mb-5,.my-5{margin-bottom:3rem!important}.ml-5,.mx-5{margin-left:3rem!important}.p-0{padding:0!important}.pt-0,.py-0{padding-top:0!important}.pr-0,.px-0{padding-right:0!important}.pb-0,.py-0{padding-bottom:0!important}.pl-0,.px-0{padding-left:0!important}.p-1{padding:.25rem!important}.pt-1,.py-1{padding-top:.25rem!important}.pr-1,.px-1{padding-right:.25rem!important}.pb-1,.py-1{padding-bottom:.25rem!important}.pl-1,.px-1{padding-left:.25rem!important}.p-2{padding:.5rem!important}.pt-2,.py-2{padding-top:.5rem!important}.pr-2,.px-2{padding-right:.5rem!important}.pb-2,.py-2{padding-bottom:.5rem!important}.pl-2,.px-2{padding-left:.5rem!important}.p-3{padding:1rem!important}.pt-3,.py-3{padding-top:1rem!important}.pr-3,.px-3{padding-right:1rem!important}.pb-3,.py-3{padding-bottom:1rem!important}.pl-3,.px-3{padding-left:1rem!important}.p-4{padding:1.5rem!important}.pt-4,.py-4{padding-top:1.5rem!important}.pr-4,.px-4{padding-right:1.5rem!important}.pb-4,.py-4{padding-bottom:1.5rem!important}.pl-4,.px-4{padding-left:1.5rem!important}.p-5{padding:3rem!important}.pt-5,.py-5{padding-top:3rem!important}.pr-5,.px-5{padding-right:3rem!important}.pb-5,.py-5{padding-bottom:3rem!important}.pl-5,.px-5{padding-left:3rem!important}.m-n1{margin:-.25rem!important}.mt-n1,.my-n1{margin-top:-.25rem!important}.mr-n1,.mx-n1{margin-right:-.25rem!important}.mb-n1,.my-n1{margin-bottom:-.25rem!important}.ml-n1,.mx-n1{margin-left:-.25rem!important}.m-n2{margin:-.5rem!important}.mt-n2,.my-n2{margin-top:-.5rem!important}.mr-n2,.mx-n2{margin-right:-.5rem!important}.mb-n2,.my-n2{margin-bottom:-.5rem!important}.ml-n2,.mx-n2{margin-left:-.5rem!important}.m-n3{margin:-1rem!important}.mt-n3,.my-n3{margin-top:-1rem!important}.mr-n3,.mx-n3{margin-right:-1rem!important}.mb-n3,.my-n3{margin-bottom:-1rem!important}.ml-n3,.mx-n3{margin-left:-1rem!important}.m-n4{margin:-1.5rem!important}.mt-n4,.my-n4{margin-top:-1.5rem!important}.mr-n4,.mx-n4{margin-right:-1.5rem!important}.mb-n4,.my-n4{margin-bottom:-1.5rem!important}.ml-n4,.mx-n4{margin-left:-1.5rem!important}.m-n5{margin:-3rem!important}.mt-n5,.my-n5{margin-top:-3rem!important}.mr-n5,.mx-n5{margin-right:-3rem!important}.mb-n5,.my-n5{margin-bottom:-3rem!important}.ml-n5,.mx-n5{margin-left:-3rem!important}.m-auto{margin:auto!important}.mt-auto,.my-auto{margin-top:auto!important}.mr-auto,.mx-auto{margin-right:auto!important}.mb-auto,.my-auto{margin-bottom:auto!important}.ml-auto,.mx-auto{margin-left:auto!important}
@media (min-width: 576px){.m-sm-0{margin:0!important}.mt-sm-0,.my-sm-0{margin-top:0!important}.mr-sm-0,.mx-sm-0{margin-right:0!important}.mb-sm-0,.my-sm-0{margin-bottom:0!important}.ml-sm-0,.mx-sm-0{margin-left:0!important}.m-sm-1{margin:.25rem!important}.mt-sm-1,.my-sm-1{margin-top:.25rem!important}.mr-sm-1,.mx-sm-1{margin-right:.25rem!important}.mb-sm-1,.my-sm-1{margin-bottom:.25rem!important}.ml-sm-1,.mx-sm-1{margin-left:.25rem!important}.m-sm-2{margin:.5rem!important}.mt-sm-2,.my-sm-2{margin-top:.5rem!important}.mr-sm-2,.mx-sm-2{margin-right:.5rem!important}.mb-sm-2,.my-sm-2{margin-bottom:.5rem!important}.ml-sm-2,.mx-sm-2{margin-left:.5rem!important}.m-sm-3{margin:1rem!important}.mt-sm-3,.my-sm-3{margin-top:1rem!important}.mr-sm-3,.mx-sm-3{margin-right:1rem!important}.mb-sm-3,.my-sm-3{margin-bottom:1rem!important}.ml-sm-3,.mx-sm-3{margin-left:1rem!important}.m-sm-4{margin:1.5rem!important}.mt-sm-4,.my-sm-4{margin-top:1.5rem!important}.mr-sm-4,.mx-sm-4{margin-right:1.5rem!important}.mb-sm-4,.my-sm-4{margin-bottom:1.5rem!important}.ml-sm-4,.mx-sm-4{margin-left:1.5rem!important}.m-sm-5{margin:3rem!important}.mt-sm-5,.my-sm-5{margin-top:3rem!important}.mr-sm-5,.mx-sm-5{margin-right:3rem!important}.mb-sm-5,.my-sm-5{margin-bottom:3rem!important}.ml-sm-5,.mx-sm-5{margin-left:3rem!important}.p-sm-0{padding:0!important}.pt-sm-0,.py-sm-0{padding-top:0!important}.pr-sm-0,.px-sm-0{padding-right:0!important}.pb-sm-0,.py-sm-0{padding-bottom:0!important}.pl-sm-0,.px-sm-0{padding-left:0!important}.p-sm-1{padding:.25rem!important}.pt-sm-1,.py-sm-1{padding-top:.25rem!important}.pr-sm-1,.px-sm-1{padding-right:.25rem!important}.pb-sm-1,.py-sm-1{padding-bottom:.25rem!important}.pl-sm-1,.px-sm-1{padding-left:.25rem!important}.p-sm-2{padding:.5rem!important}.pt-sm-2,.py-sm-2{padding-top:.5rem!important}.pr-sm-2,.px-sm-2{padding-right:.5rem!important}.pb-sm-2,.py-sm-2{padding-bottom:.5rem!important}.pl-sm-2,.px-sm-2{padding-left:.5rem!important}.p-sm-3{padding:1rem!important}.pt-sm-3,.py-sm-3{padding-top:1rem!important}.pr-sm-3,.px-sm-3{padding-right:1rem!important}.pb-sm-3,.py-sm-3{padding-bottom:1rem!important}.pl-sm-3,.px-sm-3{padding-left:1rem!important}.p-sm-4{padding:1.5rem!important}.pt-sm-4,.py-sm-4{padding-top:1.5rem!important}.pr-sm-4,.px-sm-4{padding-right:1.5rem!important}.pb-sm-4,.py-sm-4{padding-bottom:1.5rem!important}.pl-sm-4,.px-sm-4{padding-left:1.5rem!important}.p-sm-5{padding:3rem!important}.pt-sm-5,.py-sm-5{padding-top:3rem!important}.pr-sm-5,.px-sm-5{padding-right:3rem!important}.pb-sm-5,.py-sm-5{padding-bottom:3rem!important}.pl-sm-5,.px-sm-5{padding-left:3rem!important}.m-sm-n1{margin:-.25rem!important}.mt-sm-n1,.my-sm-n1{margin-top:-.25rem!important}.mr-sm-n1,.mx-sm-n1{margin-right:-.25rem!important}.mb-sm-n1,.my-sm-n1{margin-bottom:-.25rem!important}.ml-sm-n1,.mx-sm-n1{margin-left:-.25rem!important}.m-sm-n2{margin:-.5rem!important}.mt-sm-n2,.my-sm-n2{margin-top:-.5rem!important}.mr-sm-n2,.mx-sm-n2{margin-right:-.5rem!important}.mb-sm-n2,.my-sm-n2{margin-bottom:-.5rem!important}.ml-sm-n2,.mx-sm-n2{margin-left:-.5rem!important}.m-sm-n3{margin:-1rem!important}.mt-sm-n3,.my-sm-n3{margin-top:-1rem!important}.mr-sm-n3,.mx-sm-n3{margin-right:-1rem!important}.mb-sm-n3,.my-sm-n3{margin-bottom:-1rem!important}.ml-sm-n3,.mx-sm-n3{margin-left:-1rem!important}.m-sm-n4{margin:-1.5rem!important}.mt-sm-n4,.my-sm-n4{margin-top:-1.5rem!important}.mr-sm-n4,.mx-sm-n4{margin-right:-1.5rem!important}.mb-sm-n4,.my-sm-n4{margin-bottom:-1.5rem!important}.ml-sm-n4,.mx-sm-n4{margin-left:-1.5rem!important}.m-sm-n5{margin:-3rem!important}.mt-sm-n5,.my-sm-n5{margin-top:-3rem!important}.mr-sm-n5,.mx-sm-n5{margin-right:-3rem!important}.mb-sm-n5,.my-sm-n5{margin-bottom:-3rem!important}.ml-sm-n5,.mx-sm-n5{margin-left:-3rem!important}.m-sm-auto{margin:auto!important}.mt-sm-auto,.my-sm-auto{margin-top:auto!important}.mr-sm-auto,.mx-sm-auto{margin-right:auto!important}.mb-sm-auto,.my-sm-auto{margin-bottom:auto!important}.ml-sm-auto,.mx-sm-auto{margin-left:auto!important}}
@media (min-width: 768px){.m-md-0{margin:0!important}.mt-md-0,.my-md-0{margin-top:0!important}.mr-md-0,.mx-md-0{margin-right:0!important}.mb-md-0,.my-md-0{margin-bottom:0!important}.ml-md-0,.mx-md-0{margin-left:0!important}.m-md-1{margin:.25rem!important}.mt-md-1,.my-md-1{margin-top:.25rem!important}.mr-md-1,.mx-md-1{margin-right:.25rem!important}.mb-md-1,.my-md-1{margin-bottom:.25rem!important}.ml-md-1,.mx-md-1{margin-left:.25rem!important}.m-md-2{margin:.5rem!important}.mt-md-2,.my-md-2{margin-top:.5rem!important}.mr-md-2,.mx-md-2{margin-right:.5rem!important}.mb-md-2,.my-md-2{margin-bottom:.5rem!important}.ml-md-2,.mx-md-2{margin-left:.5rem!important}.m-md-3{margin:1rem!important}.mt-md-3,.my-md-3{margin-top:1rem!important}.mr-md-3,.mx-md-3{margin-right:1rem!important}.mb-md-3,.my-md-3{margin-bottom:1rem!important}.ml-md-3,.mx-md-3{margin-left:1rem!important}.m-md-4{margin:1.5rem!important}.mt-md-4,.my-md-4{margin-top:1.5rem!important}.mr-md-4,.mx-md-4{margin-right:1.5rem!important}.mb-md-4,.my-md-4{margin-bottom:1.5rem!important}.ml-md-4,.mx-md-4{margin-left:1.5rem!important}.m-md-5{margin:3rem!important}.mt-md-5,.my-md-5{margin-top:3rem!important}.mr-md-5,.mx-md-5{margin-right:3rem!important}.mb-md-5,.my-md-5{margin-bottom:3rem!important}.ml-md-5,.mx-md-5{margin-left:3rem!important}.p-md-0{padding:0!important}.pt-md-0,.py-md-0{padding-top:0!important}.pr-md-0,.px-md-0{padding-right:0!important}.pb-md-0,.py-md-0{padding-bottom:0!important}.pl-md-0,.px-md-0{padding-left:0!important}.p-md-1{padding:.25rem!important}.pt-md-1,.py-md-1{padding-top:.25rem!important}.pr-md-1,.px-md-1{padding-right:.25rem!important}.pb-md-1,.py-md-1{padding-bottom:.25rem!important}.pl-md-1,.px-md-1{padding-left:.25rem!important}.p-md-2{padding:.5rem!important}.pt-md-2,.py-md-2{padding-top:.5rem!important}.pr-md-2,.px-md-2{padding-right:.5rem!important}.pb-md-2,.py-md-2{padding-bottom:.5rem!important}.pl-md-2,.px-md-2{padding-left:.5rem!important}.p-md-3{padding:1rem!important}.pt-md-3,.py-md-3{padding-top:1rem!important}.pr-md-3,.px-md-3{padding-right:1rem!important}.pb-md-3,.py-md-3{padding-bottom:1rem!important}.pl-md-3,.px-md-3{padding-left:1rem!important}.p-md-4{padding:1.5rem!important}.pt-md-4,.py-md-4{padding-top:1.5rem!important}.pr-md-4,.px-md-4{padding-right:1.5rem!important}.pb-md-4,.py-md-4{padding-bottom:1.5rem!important}.pl-md-4,.px-md-4{padding-left:1.5rem!important}.p-md-5{padding:3rem!important}.pt-md-5,.py-md-5{padding-top:3rem!important}.pr-md-5,.px-md-5{padding-right:3rem!important}.pb-md-5,.py-md-5{padding-bottom:3rem!important}.pl-md-5,.px-md-5{padding-left:3rem!important}.m-md-n1{margin:-.25rem!important}.mt-md-n1,.my-md-n1{margin-top:-.25rem!important}.mr-md-n1,.mx-md-n1{margin-right:-.25rem!important}.mb-md-n1,.my-md-n1{margin-bottom:-.25rem!important}.ml-md-n1,.mx-md-n1{margin-left:-.25rem!important}.m-md-n2{margin:-.5rem!important}.mt-md-n2,.my-md-n2{margin-top:-.5rem!important}.mr-md-n2,.mx-md-n2{margin-right:-.5rem!important}.mb-md-n2,.my-md-n2{margin-bottom:-.5rem!important}.ml-md-n2,.mx-md-n2{margin-left:-.5rem!important}.m-md-n3{margin:-1rem!important}.mt-md-n3,.my-md-n3{margin-top:-1rem!important}.mr-md-n3,.mx-md-n3{margin-right:-1rem!important}.mb-md-n3,.my-md-n3{margin-bottom:-1rem!important}.ml-md-n3,.mx-md-n3{margin-left:-1rem!important}.m-md-n4{margin:-1.5rem!important}.mt-md-n4,.my-md-n4{margin-top:-1.5rem!important}.mr-md-n4,.mx-md-n4{margin-right:-1.5rem!important}.mb-md-n4,.my-md-n4{margin-bottom:-1.5rem!important}.ml-md-n4,.mx-md-n4{margin-left:-1.5rem!important}.m-md-n5{margin:-3rem!important}.mt-md-n5,.my-md-n5{margin-top:-3rem!important}.mr-md-n5,.mx-md-n5{margin-right:-3rem!important}.mb-md-n5,.my-md-n5{margin-bottom:-3rem!important}.ml-md-n5,.mx-md-n5{margin-left:-3rem!important}.m-md-auto{margin:auto!important}.mt-md-auto,.my-md-auto{margin-top:auto!important}.mr-md-auto,.mx-md-auto{margin-right:auto!important}.mb-md-auto,.my-md-auto{margin-bottom:auto!important}.ml-md-auto,.mx-md-auto{margin-left:auto!important}}
@media (min-width: 992px){.m-lg-0{margin:0!important}.mt-lg-0,.my-lg-0{margin-top:0!important}.mr-lg-0,.mx-lg-0{margin-right:0!important}.mb-lg-0,.my-lg-0{margin-bottom:0!important}.ml-lg-0,.mx-lg-0{margin-left:0!important}.m-lg-1{margin:.25rem!important}.mt-lg-1,.my-lg-1{margin-top:.25rem!important}.mr-lg-1,.mx-lg-1{margin-right:.25rem!important}.mb-lg-1,.my-lg-1{margin-bottom:.25rem!important}.ml-lg-1,.mx-lg-1{margin-left:.25rem!important}.m-lg-2{margin:.5rem!important}.mt-lg-2,.my-lg-2{margin-top:.5rem!important}.mr-lg-2,.mx-lg-2{margin-right:.5rem!important}.mb-lg-2,.my-lg-2{margin-bottom:.5rem!important}.ml-lg-2,.mx-lg-2{margin-left:.5rem!important}.m-lg-3{margin:1rem!important}.mt-lg-3,.my-lg-3{margin-top:1rem!important}.mr-lg-3,.mx-lg-3{margin-right:1rem!important}.mb-lg-3,.my-lg-3{margin-bottom:1rem!important}.ml-lg-3,.mx-lg-3{margin-left:1rem!important}.m-lg-4{margin:1.5rem!important}.mt-lg-4,.my-lg-4{margin-top:1.5rem!important}.mr-lg-4,.mx-lg-4{margin-right:1.5rem!important}.mb-lg-4,.my-lg-4{margin-bottom:1.5rem!important}.ml-lg-4,.mx-lg-4{margin-left:1.5rem!important}.m-lg-5{margin:3rem!important}.mt-lg-5,.my-lg-5{margin-top:3rem!important}.mr-lg-5,.mx-lg-5{margin-right:3rem!important}.mb-lg-5,.my-lg-5{margin-bottom:3rem!important}.ml-lg-5,.mx-lg-5{margin-left:3rem!important}.p-lg-0{padding:0!important}.pt-lg-0,.py-lg-0{padding-top:0!important}.pr-lg-0,.px-lg-0{padding-right:0!important}.pb-lg-0,.py-lg-0{padding-bottom:0!important}.pl-lg-0,.px-lg-0{padding-left:0!important}.p-lg-1{padding:.25rem!important}.pt-lg-1,.py-lg-1{padding-top:.25rem!important}.pr-lg-1,.px-lg-1{padding-right:.25rem!important}.pb-lg-1,.py-lg-1{padding-bottom:.25rem!important}.pl-lg-1,.px-lg-1{padding-left:.25rem!important}.p-lg-2{padding:.5rem!important}.pt-lg-2,.py-lg-2{padding-top:.5rem!important}.pr-lg-2,.px-lg-2{padding-right:.5rem!important}.pb-lg-2,.py-lg-2{padding-bottom:.5rem!important}.pl-lg-2,.px-lg-2{padding-left:.5rem!important}.p-lg-3{padding:1rem!important}.pt-lg-3,.py-lg-3{padding-top:1rem!important}.pr-lg-3,.px-lg-3{padding-right:1rem!important}.pb-lg-3,.py-lg-3{padding-bottom:1rem!important}.pl-lg-3,.px-lg-3{padding-left:1rem!important}.p-lg-4{padding:1.5rem!important}.pt-lg-4,.py-lg-4{padding-top:1.5rem!important}.pr-lg-4,.px-lg-4{padding-right:1.5rem!important}.pb-lg-4,.py-lg-4{padding-bottom:1.5rem!important}.pl-lg-4,.px-lg-4{padding-left:1.5rem!important}.p-lg-5{padding:3rem!important}.pt-lg-5,.py-lg-5{padding-top:3rem!important}.pr-lg-5,.px-lg-5{padding-right:3rem!important}.pb-lg-5,.py-lg-5{padding-bottom:3rem!important}.pl-lg-5,.px-lg-5{padding-left:3rem!important}.m-lg-n1{margin:-.25rem!important}.mt-lg-n1,.my-lg-n1{margin-top:-.25rem!important}.mr-lg-n1,.mx-lg-n1{margin-right:-.25rem!important}.mb-lg-n1,.my-lg-n1{margin-bottom:-.25rem!important}.ml-lg-n1,.mx-lg-n1{margin-left:-.25rem!important}.m-lg-n2{margin:-.5rem!important}.mt-lg-n2,.my-lg-n2{margin-top:-.5rem!important}.mr-lg-n2,.mx-lg-n2{margin-right:-.5rem!important}.mb-lg-n2,.my-lg-n2{margin-bottom:-.5rem!important}.ml-lg-n2,.mx-lg-n2{margin-left:-.5rem!important}.m-lg-n3{margin:-1rem!important}.mt-lg-n3,.my-lg-n3{margin-top:-1rem!important}.mr-lg-n3,.mx-lg-n3{margin-right:-1rem!important}.mb-lg-n3,.my-lg-n3{margin-bottom:-1rem!important}.ml-lg-n3,.mx-lg-n3{margin-left:-1rem!important}.m-lg-n4{margin:-1.5rem!important}.mt-lg-n4,.my-lg-n4{margin-top:-1.5rem!important}.mr-lg-n4,.mx-lg-n4{margin-right:-1.5rem!important}.mb-lg-n4,.my-lg-n4{margin-bottom:-1.5rem!important}.ml-lg-n4,.mx-lg-n4{margin-left:-1.5rem!important}.m-lg-n5{margin:-3rem!important}.mt-lg-n5,.my-lg-n5{margin-top:-3rem!important}.mr-lg-n5,.mx-lg-n5{margin-right:-3rem!important}.mb-lg-n5,.my-lg-n5{margin-bottom:-3rem!important}.ml-lg-n5,.mx-lg-n5{margin-left:-3rem!important}.m-lg-auto{margin:auto!important}.mt-lg-auto,.my-lg-auto{margin-top:auto!important}.mr-lg-auto,.mx-lg-auto{margin-right:auto!important}.mb-lg-auto,.my-lg-auto{margin-bottom:auto!important}.ml-lg-auto,.mx-lg-auto{margin-left:auto!important}}
@media (min-width: 1200px){.m-xl-0{margin:0!important}.mt-xl-0,.my-xl-0{margin-top:0!important}.mr-xl-0,.mx-xl-0{margin-right:0!important}.mb-xl-0,.my-xl-0{margin-bottom:0!important}.ml-xl-0,.mx-xl-0{margin-left:0!important}.m-xl-1{margin:.25rem!important}.mt-xl-1,.my-xl-1{margin-top:.25rem!important}.mr-xl-1,.mx-xl-1{margin-right:.25rem!important}.mb-xl-1,.my-xl-1{margin-bottom:.25rem!important}.ml-xl-1,.mx-xl-1{margin-left:.25rem!important}.m-xl-2{margin:.5rem!important}.mt-xl-2,.my-xl-2{margin-top:.5rem!important}.mr-xl-2,.mx-xl-2{margin-right:.5rem!important}.mb-xl-2,.my-xl-2{margin-bottom:.5rem!important}.ml-xl-2,.mx-xl-2{margin-left:.5rem!important}.m-xl-3{margin:1rem!important}.mt-xl-3,.my-xl-3{margin-top:1rem!important}.mr-xl-3,.mx-xl-3{margin-right:1rem!important}.mb-xl-3,.my-xl-3{margin-bottom:1rem!important}.ml-xl-3,.mx-xl-3{margin-left:1rem!important}.m-xl-4{margin:1.5rem!important}.mt-xl-4,.my-xl-4{margin-top:1.5rem!important}.mr-xl-4,.mx-xl-4{margin-right:1.5rem!important}.mb-xl-4,.my-xl-4{margin-bottom:1.5rem!important}.ml-xl-4,.mx-xl-4{margin-left:1.5rem!important}.m-xl-5{margin:3rem!important}.mt-xl-5,.my-xl-5{margin-top:3rem!important}.mr-xl-5,.mx-xl-5{margin-right:3rem!important}.mb-xl-5,.my-xl-5{margin-bottom:3rem!important}.ml-xl-5,.mx-xl-5{margin-left:3rem!important}.p-xl-0{padding:0!important}.pt-xl-0,.py-xl-0{padding-top:0!important}.pr-xl-0,.px-xl-0{padding-right:0!important}.pb-xl-0,.py-xl-0{padding-bottom:0!important}.pl-xl-0,.px-xl-0{padding-left:0!important}.p-xl-1{padding:.25rem!important}.pt-xl-1,.py-xl-1{padding-top:.25rem!important}.pr-xl-1,.px-xl-1{padding-right:.25rem!important}.pb-xl-1,.py-xl-1{padding-bottom:.25rem!important}.pl-xl-1,.px-xl-1{padding-left:.25rem!important}.p-xl-2{padding:.5rem!important}.pt-xl-2,.py-xl-2{padding-top:.5rem!important}.pr-xl-2,.px-xl-2{padding-right:.5rem!important}.pb-xl-2,.py-xl-2{padding-bottom:.5rem!important}.pl-xl-2,.px-xl-2{padding-left:.5rem!important}.p-xl-3{padding:1rem!important}.pt-xl-3,.py-xl-3{padding-top:1rem!important}.pr-xl-3,.px-xl-3{padding-right:1rem!important}.pb-xl-3,.py-xl-3{padding-bottom:1rem!important}.pl-xl-3,.px-xl-3{padding-left:1rem!important}.p-xl-4{padding:1.5rem!important}.pt-xl-4,.py-xl-4{padding-top:1.5rem!important}.pr-xl-4,.px-xl-4{padding-right:1.5rem!important}.pb-xl-4,.py-xl-4{padding-bottom:1.5rem!important}.pl-xl-4,.px-xl-4{padding-left:1.5rem!important}.p-xl-5{padding:3rem!important}.pt-xl-5,.py-xl-5{padding-top:3rem!important}.pr-xl-5,.px-xl-5{padding-right:3rem!important}.pb-xl-5,.py-xl-5{padding-bottom:3rem!important}.pl-xl-5,.px-xl-5{padding-left:3rem!important}.m-xl-n1{margin:-.25rem!important}.mt-xl-n1,.my-xl-n1{margin-top:-.25rem!important}.mr-xl-n1,.mx-xl-n1{margin-right:-.25rem!important}.mb-xl-n1,.my-xl-n1{margin-bottom:-.25rem!important}.ml-xl-n1,.mx-xl-n1{margin-left:-.25rem!important}.m-xl-n2{margin:-.5rem!important}.mt-xl-n2,.my-xl-n2{margin-top:-.5rem!important}.mr-xl-n2,.mx-xl-n2{margin-right:-.5rem!important}.mb-xl-n2,.my-xl-n2{margin-bottom:-.5rem!important}.ml-xl-n2,.mx-xl-n2{margin-left:-.5rem!important}.m-xl-n3{margin:-1rem!important}.mt-xl-n3,.my-xl-n3{margin-top:-1rem!important}.mr-xl-n3,.mx-xl-n3{margin-right:-1rem!important}.mb-xl-n3,.my-xl-n3{margin-bottom:-1rem!important}.ml-xl-n3,.mx-xl-n3{margin-left:-1rem!important}.m-xl-n4{margin:-1.5rem!important}.mt-xl-n4,.my-xl-n4{margin-top:-1.5rem!important}.mr-xl-n4,.mx-xl-n4{margin-right:-1.5rem!important}.mb-xl-n4,.my-xl-n4{margin-bottom:-1.5rem!important}.ml-xl-n4,.mx-xl-n4{margin-left:-1.5rem!important}.m-xl-n5{margin:-3rem!important}.mt-xl-n5,.my-xl-n5{margin-top:-3rem!important}.mr-xl-n5,.mx-xl-n5{margin-right:-3rem!important}.mb-xl-n5,.my-xl-n5{margin-bottom:-3rem!important}.ml-xl-n5,.mx-xl-n5{margin-left:-3rem!important}.m-xl-auto{margin:auto!important}.mt-xl-auto,.my-xl-auto{margin-top:auto!important}.mr-xl-auto,.mx-xl-auto{margin-right:auto!important}.mb-xl-auto,.my-xl-auto{margin-bottom:auto!important}.ml-xl-auto,.mx-xl-auto{margin-left:auto!important}}

/* Bootstrap display classes */
.d-none{display:none!important}.d-inline{display:inline!important}.d-inline-block{display:inline-block!important}.d-block{display:block!important}.d-flex{display:-ms-flexbox!important;display:flex!important}.d-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}
@media (min-width: 576px){.d-sm-none{display:none!important}.d-sm-inline{display:inline!important}.d-sm-inline-block{display:inline-block!important}.d-sm-block{display:block!important}.d-sm-flex{display:-ms-flexbox!important;display:flex!important}.d-sm-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}}
@media (min-width: 768px){.d-md-none{display:none!important}.d-md-inline{display:inline!important}.d-md-inline-block{display:inline-block!important}.d-md-block{display:block!important}.d-md-flex{display:-ms-flexbox!important;display:flex!important}.d-md-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}}
@media (min-width: 992px){.d-lg-none{display:none!important}.d-lg-inline{display:inline!important}.d-lg-inline-block{display:inline-block!important}.d-lg-block{display:block!important}.d-lg-flex{display:-ms-flexbox!important;display:flex!important}.d-lg-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}}
@media (min-width: 1200px){.d-xl-none{display:none!important}.d-xl-inline{display:inline!important}.d-xl-inline-block{display:inline-block!important}.d-xl-block{display:block!important}.d-xl-flex{display:-ms-flexbox!important;display:flex!important}.d-xl-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}}

.flex-column {-ms-flex-direction:column!important;flex-direction:column!important;}
.flex-wrap {flex-wrap:wrap!important;}
.align-items-center{align-items:center!important;}
.w-100{width:100%!important;}.w-auto{width:auto!important;}
@media (min-width: 576px) {.w-sm-100{width: 100%!important}.w-sm-auto{width:auto!important}}
@media (min-width: 768px) {.w-md-100{width: 100%!important}.w-md-auto{width:auto!important}}
@media (min-width: 992px) {.w-lg-100{width: 100%!important}.w-lg-auto{width:auto!important}}
@media (min-width: 1200px){.w-xl-100{width: 100%!important}.w-xl-auto{width:auto!important}}


.button-category {
    background: var(--category-color) !important;
}

.shadow {
    box-shadow: 0 4px 25px rgba(0, 0, 0, .11);
}

/*------------------------------------*\
  #Visibility
\*------------------------------------*/
@media screen and (max-width: 767px) {
    .hidden--mobile {
        display: none !important;
    }
}

@media screen and (min-width: 768px) and (max-width: 1024px) {
    .hidden--tablet,
    .hidden--tablet_up {
        display: none !important;
    }
}

@media screen and (min-width: 1025px) {
    .hidden--desktop,
    .hidden--tablet_up {
        display: none !important;
    }
}

.accessible-hide,
.sr-only {
    clip: rect(0, 0, 0, 0) !important;
    opacity: 0 !important;
    overflow: hidden !important;
    position: absolute !important;
    z-index: -1 !important;
}

.hidden,
.multiselect-selected-text .hidden--selected {
    display: none !important;
}

.invisible {
    visibility: hidden !important;
}


[ng\:cloak], [ng-cloak], [data-ng-cloak], [x-ng-cloak], .ng-cloak, .x-ng-cloak {
    display: none !important;
}


/* Temporary. Relocate/genericise later. */
.course-subject-accordion-li {
    background: #fff;
    border-left: .375rem solid;
    outline: 1px solid #eee;
}

.course-subject-accordion-li.course-subject-accordion-li {
    margin-top: 1px;
    margin-bottom: .375em;
}

.course-subject-accordion-toggle {
    background: none;
    border: none;
    color: #777;
    cursor: pointer;
    display: block;
    font-weight: inherit;
    margin-left: -.5rem;
    text-align: left;
    width: 100%;
    width: calc(100% + .5rem);
}

.button.course-subject-accordion-button {
    font-size: 16px;
    padding: .8125em;
    margin-top: 20px;
}

@media screen and (max-width: 767px)
{
    .course-subject-accordion-wrapper {
        margin-bottom: 40px;
    }

    .course-subject-accordion-li {
        margin-bottom: .4375rem;
    }

    .course-subject-accordion-toggle {
        padding: .6875rem 3rem .5rem 1.5rem;
        min-height: 3.1875rem;
    }

    .course-subject-accordion-toggle.active {
        padding-top: 1.25rem;
        padding-bottom: 1.25rem;
    }

    .course-subject-accordion-toggle:after {
        content: '';
        position: absolute;
        width: .7rem;
        height: .7rem;
        border: solid #eee;
        border-width: 1px 1px 0 0;
        transform: rotate(135deg);
        right: 1rem;
        top: 1rem;
    }

    .course-subject-accordion-toggle.active:after {
        transform: rotate(315deg);
        top: 1.5rem;
    }

    .course-subject-accordion.course-subject-accordion p {
        font-size: 14px;
        line-height: 17px;
    }

}

@media screen and (min-width: 768px)
{
    .course-subject-accordion-wrapper {
        margin-bottom: 110px;
    }

    .course-subject-accordion {
        border: solid #eee;
        border-width: 1px 1px 0 0;
        box-shadow: 13px 0 25px rgba(0,0,0,.11);
        position: relative;
        z-index: 1;
    }

    .course-subject-accordion-li {
        border-left-width: .5rem;
        margin-bottom: .5rem;
    }

    .course-subject-accordion-li.active {
        box-shadow: -13px 0 25px rgba(0,0,0,.11);
        position: relative;
    }

    .course-subject-accordion-li:not(.active) {
        width: calc(100% - 8px);
    }

    .course-subject-accordion-li.active:after {
        content: '';
        background: #fff;
        position: absolute;
        top: 0;
        left: 98%;
        left: calc(100% - 8px);
        right: -5px;
        bottom: 0;
        z-index: 2;
    }

    .course-subject-accordion-toggle {
        padding: 1.5rem 1rem 1.5625rem 2.7rem;
    }

    .course-subject-accordion-toggle.active {
        color: #000;
        outline: none;
        padding-top: 1.75rem;
        padding-bottom: .9rem;
    }
}

.accordion-basic li {
    border-top: solid #c4c4c4;
    border-width: 1px 0;
    margin: 0;
}

.accordion-basic li:last-child {
    border-bottom: 1px solid #c4c4c4;
}

.accordion-basic.accordion-basic h3 {
    cursor: pointer;
    margin: 0;
    padding: 13px 0;
    position: relative;
}

.accordion-basic h3:after {
    content: '';
    display: block;
    position: absolute;
    top: 1.25rem;
    right: 1rem;
    width: 1rem;
    height: 1rem;
    border: solid #c4c4c4;
    border-width: 2px 2px 0 0;
    transform: rotate(135deg);
}

.accordion-basic h3.active:after {
    transform: rotate(315deg);
}

ideabubble-phone {
    padding: 0 !important;
    display:inline-block;
    width:100%;
}

li > label ~ ideabubble-phone {
    width: calc(100% - 130px);
}

ideabubble-phone .iti {
    width:100%;
}
.form-input--select .form-input--pseudo-label {
    left: 1.42857142857em;
    left: calc(1em / .875 * 1.25 - 1px);
}
.form-input--pseudo-label {
    font-size: .875em;
    margin-top: 0;
    opacity: 1;
    overflow: hidden;
    position: absolute;
    text-overflow: ellipsis;
    top: .25em;
    visibility: visible;
    max-width: calc(100% - 2.5em);
}

.form-select .form-input--pseudo-label {
    width: calc(100% - 5em);
}
.form-input--pseudo-label input {
    padding-bottom: 0;
}
.form-input--pseudo-label ~ select {
    padding-top: 1em;
}

.header .header-action:only-child {
    border-right:none !important;
}

@media(max-width:1024px) {
    .news-slider-title-link h2 {
        padding-left: 45px;
    }

    .news-slider-title-link {
        padding-left: 0;
        margin-top: 22px;
        display: block;
    }
}

@media screen and (max-width: 767px) {
    .has_banner .course-list-intro:not(.has_content){
        margin-top: -5.5rem !important;
    }

    .content .content-columns form#contactus {
        padding-top: 20px;
    }
}

/* Filters Button */

.sidebar-section .sidebar-section-title  .sidebar-section-collapse {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    padding-right: 20px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: end;
}

.sidebar-section  .sidebar-section-title  .sidebar-section-collapse.dropdown-toggle .fa-chevron-up {
    transform: rotate(180deg);
}
