/* Variables */

:root {
    /* Custom colours */
    --rwi-teal: #00979E;
    --rwi-lime: #C3D100;
    --rwi-orange: #FFD628;
    --rwi-orange-dark: #EDBA00;
    --rwi-grey-1: #F3F7FB;
    --rwi-grey-2: #7f7f7f;
    --rwi-grey-3: #686868;
    --rwi-grey-4: #383838;
    --oxford-blue: #011E41;
    --bookclub-blue: #009EE3;
    --hub-cream: #FFFDEA;

    /* Bootstrap colour overrides */
    --bs-success: rgb(30, 190, 115);
    --bs-info: rgb(73, 182, 214);
    --bs-warning: rgb(245, 156, 26);
    --bs-danger: rgb(255, 91, 87);

    /* Margin and padding widths */
    --space-sm: 40px;
    --space-md: 80px;
    --space-lg: 100px;
}

/* Tags */


@font-face {
    font-family: 'Source Sans 3';
    src: url("../fonts/SourceSans3-VariableFont_wght.ttf") format("truetype");
    font-weight: 100 700;
    font-style: normal;
    font-display: swap;
}

body {
    font-family: 'Source Sans 3', sans-serif;
    padding: 0;
    margin: 0;
    color: var(--rwi-grey-3);
    font-size: 16px;
    overflow-x: hidden;
    overscroll-behavior: none;
    display: flex;
    flex-direction: column;
    min-height: 100vh;
}

h1 {
    font-size: 44px;
    font-style: normal;
    font-weight: 400;
    letter-spacing: 2.2px;
    line-height: 120%;
    margin-bottom: 0;
}

h2 {
    font-size: 22px;
    font-style: normal;
    font-weight: 600;
    line-height: 140%;
    margin-bottom: 0;
}

h5 {
    font-size: 18px;
    font-style: normal;
    font-weight: 600;
    line-height: 150%;
    margin-bottom: 0;
}

h6 {
    font-size: 16px;
    font-style: normal;
    font-weight: 600;
    line-height: 150%;
    margin-bottom: 0;
}

p {
    font-weight: 400;
    line-height: 140%;
}

a {
    color: var(--bookclub-blue);
}

a.text-teal:hover, button.text-teal:hover,
a.text-danger:hover, button.text-danger:hover {
    color: var(--oxford-blue) !important;
}

hr {
    color: var(--rwi-grey-1);
    height: 2px !important;
    opacity: 1;
}

.bg-teal hr {
    color: rgba(243, 247, 251, 0.50);
}

.bg-teal {
    background-color: var(--rwi-teal) !important;
}

.bg-lime {
    background-color: var(--rwi-lime);
}

.bg-orange {
    background-color: var(--rwi-orange);
}

.bg-grey-1 {
    background-color: var(--rwi-grey-1);
}

.bg-hub-cream {
    background-color: var(--hub-cream);
}

.bg-grey-3 {
    background-color: var(--rwi-grey-3) !important;
}

.text-grey-1 {
    color: var(--rwi-grey-1);
}

.text-grey-2 {
    color: var(--rwi-grey-2);
}

.text-grey-3 {
    color: var( --rwi-grey-3)
}

.opacity-50 {
    opacity: 0.5;
}

.page-title-bar-padding {
    padding: 10px 40px 10px 20px;
    margin-bottom: 40px;
}

.package-header, .package-row {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
}
.col-flex-4 { 
    flex: 0 0 33.3333%; 
    max-width: 33.3333%; 
}
.col-flex    { 
    flex: 0 0 11.1111%; 
    max-width: 11.1111%; 
}
.col-flex-4, .col-flex { 
    padding: 0.25rem 0.5rem; 
}

.w-65{
    min-width: 65px;
}

.max-w-1000{
    max-width: 1000px;
}

.bg-success {
    background-color: var(--bs-success) !important;
}

.bg-info {
    background-color: var(--bs-info) !important;
}

.bg-warning {
    background-color: var(--bs-warning) !important;
}

.bg-soft-danger {
    background-color: #fdecea;
}

.bg-danger {
    background-color: var(--bs-danger) !important;
}

.text-teal {
    color: var(--rwi-teal);
}

.text-orange {
    color: var(--rwi-orange);
}

.text-oxford {
    color: var(--oxford-blue);
}

.text-justify {
    text-align: justify;
}

.text-bookclub {
    color: var(--bookclub-blue);
}

.text-grey-3 {
    color: var(--rwi-grey-3);
}

.text-grey-4 {
    color: var(--rwi-grey-4);
}

.text-success {
    color: var(--bs-success) !important;
}

.text-info {
    color: var(--bs-info) !important;
}

.text-warning {
    color: var(--bs-warning) !important;
}

.text-danger {
    color: var(--bs-danger) !important;
}

/* Buttons */

.btn {
    white-space: nowrap;
}

.btn-md {
    border-radius: 4px;
    border: none;
    box-shadow: none;
    transition: all 0.2s ease;
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    line-height: 120%;
    letter-spacing: 0.8px;
    padding: 10px 25px;
}

.btn-orange {
    background-color: var(--rwi-orange);
    color: var(--oxford-blue);
}

.btn-teal {
    background-color: var(--rwi-teal); 
    color: #ffffff;
    font-weight: 600;
}

.btn-grey-1 {
    background-color: var(--rwi-grey-1);
    color: var(--oxford-blue);
}

.btn-white {
    background-color: #FFFFFF;
    color: var(--oxford-blue);
}

.btn-grey-3 {
    background-color: var(--rwi-grey-3);
    color: #ffffff;
}

.btn-orange:hover, .btn-teal:hover {
    background-color: var(--rwi-lime); 
    color: var(--oxford-blue);
}

.btn-lime{
    background-color: var(--rwi-lime); 
}

.btn-grey-1:hover, .btn-lime:hover, .btn-white:hover {
    background-color: var(--rwi-grey-3);
    color: #ffffff;
}

.btn-grey-3:hover {
    background-color: var(--rwi-grey-4);
    color: #ffffff;
}

.btn:focus, .btn:active {
    box-shadow: none;
}

.btn-pill {
    background-color: var(--rwi-grey-1);
    border: 3px solid transparent;
    border-radius: 30px;
    padding: 8px 18px;
    color: #000000;
    font-size: 18px;
    font-weight: 400;
    line-height: 150%;
}

.btn-pill:hover, .btn-pill:focus {
    color: #000000;
    border-color: var(--rwi-lime);
    box-shadow: none;
}

.btn-pill.active {
    background-color: var(--rwi-lime);
}

.btn-icon {
    display: inline-flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
}

.btn-icon i {
    transition: transform 0.15s ease;
}

.btn-icon.icon-left:hover i {
    transform: translateX(-3px);
}

.btn-icon.icon-right:hover i {
    transform: translateX(3px);
}

.btn-icon.icon-bounce:hover i {
    --fa-bounce-start-scale-x: 1;
    --fa-bounce-start-scale-y: 1;
    --fa-bounce-jump-scale-x: 1;
    --fa-bounce-jump-scale-y: 1;
    --fa-bounce-land-scale-x: 1;
    --fa-bounce-land-scale-y: 1;
    animation: fa-bounce 1s ease-in-out 1;
}

.btn-icon.btn-md i.fa-regular.fa-pen-to-square {
    /* Ensure layout doesn't shift when icon loads */
    width: 17px;
}

/* Custom spacing */

.mb-sm {
    margin-bottom: var(--space-sm) !important;
}

.mb-lg {
    margin-bottom: var(--space-lg) !important;
}

.my-md {
    margin-top: var(--space-md);
    margin-bottom: var(--space-md);
}

.p-sm {
    padding-top: var(--space-sm);
    padding-right: var(--space-sm);
    padding-bottom: var(--space-sm);
    padding-left: var(--space-sm);
}

.px-sm {
    padding-left: var(--space-sm);
    padding-right: var(--space-sm);
}

.px-lg {
    padding-left: var(--space-lg);
    padding-right: var(--space-lg);
}

.py-sm {
    padding-top: var(--space-sm);
    padding-bottom: var(--space-sm);
}

.py-md {
    padding-top: var(--space-md);
    padding-bottom: var(--space-md);
}

.py-lg {
    padding-top: var(--space-lg);
    padding-bottom: var(--space-lg);
}

.pb-sm {
    padding-bottom: var(--space-sm) !important;
}

.pb-md {
    padding-bottom: var(--space-md) !important;
}

.pb-lg {
    padding-bottom: var(--space-lg) !important;
}

.ml-3{
    margin-left: 3rem;
}

.mt-20 {
    margin-top: 20px;
}

/* Generic classes */

.br-10 {
    border-radius: 10px;
}

.breadcrumb {
    color: var(--rwi-grey-3);
    font-size: 14px;
    font-style: normal;
    font-weight: 600;
    margin: 0;
    white-space: nowrap;
}

.breadcrumb:hover {
    color: var(--rwi-grey-3);
}

a.breadcrumb {
    text-decoration-line: underline;
    text-decoration-style: solid;
}

.transition-ease {
    transition: all 0.18s ease;
}

.flip-180 {
    transform: rotate(-180deg);
}

.modal-content {
    border: none;
    border-radius: 30px;
    box-shadow: -15px 15px 0px 0px var(--rwi-teal);
}

.modal-header {
    border-radius: 30px 30px 0 0;
    padding: 1rem 2rem;
    border-bottom: none;
}

.corner-sketches::before {
    content: "";
    position: absolute;
    top: -75px;
    left: -145px;
    background-image: url("../images/sketch_corner.png");
    height: 110px;
    width: 140px;
}

.corner-sketches::after {
    content: "";
    position: absolute;
    bottom: -85px;
    right: -140px;
    background-image: url("../images/sketch_corner.png");
    height: 110px;
    width: 140px;
    transform: rotate(180deg);
}

.ribbon {
    width: 200px;
    height: 40px;
    position: absolute;
    top: 24px;
    right: -55px;
    z-index: 2;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    background: var(--rwi-orange-dark);
    border: 1px dashed #ffffff;
    outline: 2px solid var(--rwi-orange-dark);
    font-size: 14px;
    font-weight: 600;
    line-height: 40px;
    letter-spacing: 0.5px;
    text-align: center;
}

.badge {
    font-size: 10px;
    font-weight: 400;
    line-height: 120%;
    border-radius: 12px;
    padding: .35em .9em;
}

.big-icon{
    font-size: 2.5rem !important;
}

.rounded-5 {
    border-radius: 15px !important;
}

.opacity-0 {
    opacity: 0% !important;
}

.opacity-75 {
    opacity: 75%;
}

.ui-autocomplete {
    font-family: inherit;
    z-index: 99999 !important;
}

.fw-bold, strong, b {
    font-weight: 600 !important;
}

.tracking-wide {
    letter-spacing: 0.8px;
}

.tracking-wider {
    letter-spacing: 1.1px;
}

.responsive-margin {
    margin-left: 3rem;
    margin-right: auto;
}

.max-w-intro {
    max-width: 430px;
}

.max-w-login {
    max-width: 500px;
}

.rounded-10 {
    border-radius: 10px !important;
}

.rounded-20 {
    border-radius: 20px !important;
}

.fs-12 {
    font-size: 12px !important;
}

.fs-14 {
    font-size: 14px !important;
}

.fs-16 {
    font-size: 16px !important;
}

.fs-18 {
    font-size: 18px !important;
}

.form-control {
    transition: border-color 0s, box-shadow 0s;
}

.form-control, .form-select {
    border-width: 2px;
    border-radius: 4px;
}

.form-control:not(:disabled), .form-control:not(:disabled):focus,
.form-select:not(:disabled), .form-select:not(:disabled):focus {
    background-color: var(--rwi-grey-1);
    border-color: var(--rwi-grey-1);
    box-shadow: none;
}

.form-control:disabled, .form-select:disabled {
    border-color: #e9ecef;
}

.form-control.error, .form-select.error {
    border-color: var(--bs-danger);
}

.field-error {
    font-size: 14px;
    color: var(--bs-danger);
}

.border-grey-1 {
    border-color: var(--rwi-grey-1) !important;
}

.border-teal {
    border-color: var(--rwi-teal) !important;
}

.only-print {
    display: none;
}

@media print {
    .only-print {
        display: block;
    }

    .no-print {
        display: none;
    }
}

.custom-scrollbar::-webkit-scrollbar {
    height: 8px;
}

.custom-scrollbar::-webkit-scrollbar-track {
    background: #ffffff;
    border-radius: 4px;
}

.custom-scrollbar::-webkit-scrollbar-thumb {
    background: #b1b1b1;
    border-radius: 4px;
}

.ratio-16x9 {
    aspect-ratio: 16 / 9;
}

/* Select2 widgets */

.select2 {
    display: block !important;
}

.select2.select2-container .selection .select2-selection.select2-selection--multiple {
    height: auto;
    min-height: calc(1.5em + .875rem + 2px);
    background-color: var(--rwi-grey-1);
    border: 2px solid var(--rwi-grey-1);
    outline: 0;
    display: flex;
    align-items: center;
}

.bg-white .select2.select2-container .selection .select2-selection.select2-selection--multiple {
    background-color: #ffffff;
    border: none;
}

.select2.select2-container .selection .select2-selection.select2-selection--multiple .select2-selection__rendered {
    line-height: 1;
    padding: .4375rem .75rem;
    padding-right: .75rem;
    position: relative;
    display: flex;
    flex-wrap: wrap;
    flex: 1;
}

.select2.select2-container .selection .select2-selection.select2-selection--multiple .select2-selection__choice {
    border: none;
    background: var(--rwi-teal);
    margin: 3px 6px 3px 0 !important;
    padding: 4px 20px 4px 8px !important;
    border-radius: 4px;
    color: #ffffff;
    font-size: 14px;
    float: none;
    position: relative;
}

.select2.select2-container .selection .select2-selection.select2-selection--multiple .select2-selection__rendered .select2-selection__clear {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    width: .75rem;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--oxford-blue);
    font-weight: 500;
}

.select2.select2-container .selection .select2-selection.select2-selection--multiple .select2-selection__rendered:not(:has(.select2-selection__clear))::after {
    content: '';
    position: absolute;
    top: calc(50% - 6px);
    right: 12px;
    width: 12px;
    height: 12px;
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e");
}

.select2.select2-container .selection .select2-selection.select2-selection--multiple .select2-selection__rendered .select2-search--inline {
    float: none;
    min-width: 100px;
}

.select2.select2-container .selection .select2-selection.select2-selection--multiple .select2-selection__choice .select2-selection__choice__remove {
    color: #ffffff;
    font-size: .875rem;
    margin: 0;
    float: none;
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    width: 1.3125rem;
    display: flex;
    align-items: center;
    justify-content: center;
}

.select2-container.select2-container--open .select2-dropdown.select2-dropdown--below,
.select2-container.select2-container--open .select2-dropdown.select2-dropdown--above {
    border: 1px solid #aaa;
    border-radius: 4px;
    padding: 4px 0;
    color: var(--oxford-blue);
}

.select2-container--default .select2-results__option {
    padding: 6px 14px;
}

.select2-container--default .select2-results__option--highlighted[aria-selected] {
    background-color: var(--rwi-grey-1);
    color: var(--oxford-blue);
}

.select2-container--default .select2-results__option[aria-selected=true] {
    background-color: var(--rwi-teal);
    color: #ffffff;
}

.nsp-filter-box {
    width: auto; 
    height: auto; 
    padding-left: 20px; 
    padding-right: 20px; 
    padding-top: 15px; 
    padding-bottom: 15px; 
    background: var(--rwi-teal); 
    border-radius: 10px; 
    justify-content: flex-start; 
    align-items: center; 
    display: inline-flex;
    min-width: 70%;
}

.nsp-filter-box-content {
    padding-left: 10px; 
    padding-right: 10px; 
    justify-content: flex-start; 
    align-items: center; 
    gap: 10px; 
    display: flex;
    width: 100%;
}

.nsp-filter-box-body {
    flex-direction: column;
    justify-content: flex-start; 
    align-items: left; 
    gap: 15px; 
    display: flex;
    width: 100%;
}

.nsp-filter-box-current {
    justify-content: center; 
    display: flex; 
    flex-direction: column; 
    color: white; 
    font-size: 16px; 
    font-weight: 700; 
    line-height: 19.20px; 
    word-wrap: break-word;
}

.nsp-filter-icon {
    pointer-events: none;
}

/* Mobile resizing */

@media screen and (max-width: 1250px) {
    .nsp-filter-icon {
        display: none;
    }

    .hub-icon {
        display: none;
    }

    .hub-card-list {
        margin-top: 0 !important;
        padding-top: 0.75rem !important;
    }

    .hub-card-list .btn{
        white-space: wrap;
    }
}

@media screen and (max-width: 900px) {
    .no-bookings-message {
        margin: 10% 0 !important;
        padding: 3rem;
    }
}

@media screen and (max-width: 767px) {
    :root {
        /* Margin and padding widths */
        --space-sm: 30px;
        --space-md: 45px;
        --space-lg: 60px;
    }

    h1 {
        font-size: 34px;
    }

    h2 {
        font-size: 18px;
    }

    body {
        font-size: 0.9rem;
    }

    .btn-md {
        font-size: 14px;
        padding: 8px 18px;
    }

    .btn-pill {
        font-size: 16px;
        padding: 8px 16px;
    }

    .nav-container div a img {
        width: 80px;
    }

    .ornament, .sketch-corner-position{
        display: none;
    }

    .max-w-login{
        max-width: 300px;
    }

    .max-w-intro{
        max-width: 300px;
    }

    .responsive-margin {
        margin-left: auto;
        margin-right: auto;
    }

    .hub-card-list {
        margin-bottom: 3rem;
    }

    .hub-card-list > div {
        margin-left: 1.25rem !important;
        margin-right: 1.25rem !important;
    }
}

@media screen and (min-width: 768px) {
    .w-md-50 {
        width: 50% !important;
    }
}

/* IDs */

#content {
    overscroll-behavior: none;
}

#rm-page-loader {
    display: flex;
    position: fixed;
    width: 100%;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    background-color: rgba(255, 255, 255, 0.7);
    z-index: 999999;
    align-items: center;
    justify-content: center;
    transition: opacity 0.15s ease;
}

#rm-page-loader.solid {
    background-color: #ffffff;
}

#rm-page-loader.hidden {
    opacity: 0;
    pointer-events: none;
}

#rm-page-loader i {
    opacity: 1;
    width: 3rem;
    height: 3rem;
    color: var(--rwi-orange)
}

#terms-iframe {
    width: 100%;
    height: 70vh;
}

/* Navbar */

nav {
    z-index: 1000;
    position: sticky;
    top: 0;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    padding: 15px 40px;
    border-bottom: 1px solid var(--rwi-grey-1);
    background-color: rgba(255, 255, 255, 0.87);
    backdrop-filter: blur(20px);
}

.navbar-link {
    color: var(--oxford-blue);
    text-decoration: none;
    font-weight: 400;
    line-height: 150%;
    text-align: center;
    white-space: nowrap;
}

.navbar-link:hover .nav-item-text {
    text-shadow: 0 0 1px currentColor; /* Make text bolder without layout shift */
}

.navbar-section {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: center;
    padding: 0;
}

.navbar-section-left {
    padding: 10px 0;
}

.navbar-logo {
    margin-right: 25px;
    width: 150px;
}

.navbar-section-left .navbar-link {
    padding: 10px 10px 7px 10px;
    font-size: 16px;
    border-bottom: 3px solid transparent;
}

.navbar-section-left .navbar-link:hover {
    color: var(--rwi-teal);
}

.navbar-section-left .navbar-link.page-active {
    font-weight: 600;
    border-bottom: 3px solid var(--rwi-orange);
}

.navbar-section-right {
    width: 100%;
    justify-content: end;
    margin-left: 20px;
    position: relative;
}

.navbar-section-right .navbar-link {
    font-size: 14px;
    padding: 10px;
    margin: 0 5px;
}

.navbar-section-right .navbar-link i::before {
    margin: auto;
}

.navbar-section-right i.navbar-icon {
    color: var(--rwi-teal);
    transition: transform 0.18s ease, color 0.05s ease;
}

.navbar-section-right .navbar-link:hover i.navbar-icon,
.navbar .dropdown button:hover i.navbar-icon {
    color: var(--rwi-lime);
}

.navbar-section-right .navbar-link:hover {
    color: var(--oxford-blue);
}

.navbar-section-right .avatar-container {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 50px;
    height: 50px;
    overflow: hidden;
    border-radius: 50%;
}

nav .search {
    flex: 1 1 350px;
    min-width: 250px;
    max-width: 350px;
}

.navbar-icon-container {
    width: 25px;
    display: flex;
    align-items: center;
    justify-items: center;
}

#navbar-expand-dropdown {
    margin: 0 0 3px 5px;
    display: inline-flex;
    flex-wrap: nowrap;
}

.navbar .dropdown button {
    height: 50px;
    background-color: transparent;
    border: none;
    gap: 10px;
}

.navbar .dropdown-menu {
    background-color: #ffffff;
    box-shadow: 0px 0px 10px 3px rgba(0, 0, 0, 0.03);
    border: none;
    border-radius: 0;
    z-index: 50;
    width: 250px;
    padding: 10px 0;
    margin: 0;
    top: 50px;
    right: -40px;
    left: initial;
    max-height: 85vh;
    overflow: auto;
}

.navbar .dropdown-menu .navbar-link {
    display: inline-flex;
    text-align: left;
    width: 100%;
    padding: 8px 14px;
    gap: 6px;
    margin: 0;
    transition: all 0.2s ease-in-out;
    color: var(--rwi-grey-3);
}

.navbar .dropdown-menu .navbar-icon {
    margin-bottom: 3px;
}

.navbar .dropdown-menu .navbar-link.page-active {
    background-color: var(--rwi-teal) !important;
    color: #ffffff;
    font-weight: 600;
}

.navbar .dropdown-menu .navbar-link.page-active .navbar-icon {
    color: #ffffff !important;
}

.navbar .dropdown-menu .navbar-link:hover {
    background-color: var(--rwi-grey-1);
}

.navbar .dropdown-menu .navbar-link:not(.page-active):hover .navbar-icon,
.navbar .dropdown-menu .navbar-link:not([aria-expanded="true"]):hover .navbar-icon {
    color: var(--rwi-teal);
}

@media screen and (max-width: 1199px) {
    nav {
        padding: 6px 20px;
    }

    .navbar .dropdown-menu {
        right: -20px;
    }
}

@media (hover: hover) {
    .navbar .dropdown-hover .dropdown-button {
        display: none !important;
    }

    .navbar .dropdown-hover:hover>.dropdown-menu {
        display: block;
    }
}

@media (hover: none) {
    .navbar .dropdown-hover .dropdown-button {
        display: flex;
    }

    .navbar .dropdown-hover .dropdown-hover-icon {
        display: none !important;
    }

    @media screen and (max-width: 767px) {
        .navbar .profile-link {
            display: none !important;
        }
    }
}

@media screen and (max-width: 400px) {
    .navbar .dropdown-menu {
        width: 100vw;
        max-height: calc(100dvh - 65px);
        top: 65px;
    }

    .navbar .dropdown-menu .navbar-link {
        padding: 12px 18px;
    }

    body:has(.navbar .dropdown-menu.show) {
        overflow: hidden;
    }
}

.navbar .notification_count {
    position: absolute;
    top: -4px;
    right: 27px;
    background-color: var(--rwi-orange);
    width: 18px;
    height: 18px;
    border-radius: 9px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--oxford-blue);
    font-size: 11px;
    font-weight: 700;
}

.navbar .live_notify_list {
    top: 60px;
    width: 300px;
}

.navbar .live_notify_list > li > a {
    word-wrap: break-word;
    white-space: normal;
    color: var(--oxford-blue);
    text-decoration: none;
    font-size: 14px;
}

.navbar .live_notify_list > li > a i {
    margin-right: 8px;
}

.navbar .live_notify_list_item {
    padding: 0.5rem 1rem;
}

.navbar .live_notify_list_item:not(:last-child) {
    border-bottom: 1px solid var(--rwi-grey-1);
}

.navbar .live_notify_list_spinner {
    text-align: center;
    font-size: 18px;
    margin-bottom: 5px;
}

/* Footer */

footer {
    position: relative;
    background-color: var(--rwi-teal);
    overflow: hidden;
    padding-top: 65px;
    padding-bottom: 50px;
    margin-top: auto;
}

footer span {
    font-weight: 600;
    line-height: 150%;
    letter-spacing: 0.5px;
    white-space: nowrap;
    margin-bottom: 8px;
    z-index: 10;
}

footer a {
    color: #ffffff;
}

footer a:hover {
    color: #e8e8e8;
}

footer::after {
    content: "";
    display: block;
    background-image: url("../images/sketch_squiggle.png");
    width: 325px;
    height: 325px;
    position: absolute;
    bottom: -5px;
    right: -5px;
    z-index: 5;
}

@media screen and (max-width: 767px) {
    footer {
        padding-top: 40px;
        padding-bottom: 60px;
    }

    footer::after {
        transform: scale(0.7);
        top: 150px;
        right: -60px;
    }
}

/* PNotify toast notifications */

.pnotify-title.brighttheme-title {
    font-size: 16px;
    font-weight: 500;
    letter-spacing: 0.5px;
    font-weight: 600;
}

.pnotify .pnotify-text.brighttheme-text {
    margin-top: 0.3rem;
    font-size: 13px;
}

.pnotify-container.brighttheme-container {
    padding: 0.7rem;
    border-radius: 10px;
}

.pnotify.pnotify-with-icon .brighttheme-content {
    margin-left: calc(0.7rem + 16px);
}

.pnotify-content, .pnotify-icon, .pnotify-closer, .pnotify-sticker, .pnotify a {
    color: #ffffff;
}

.pnotify .brighttheme-success {
    background-color: var(--bs-success);
    border: 0 solid rgb(27 159 97);
}

.pnotify .brighttheme-info {
    background-color: var(--bs-info);
    border: 0 solid rgb(65, 156, 183);
}

.pnotify .brighttheme-notice {
    background-color: var(--bs-warning);
    border: 0 solid rgb(214, 137, 22);
}

.pnotify .brighttheme-error {
    background-color: var(--bs-danger);
    background-image: none;
    border: 0 solid rgb(206, 71, 69);
}

.pnotify .pnotify-shadow {
    box-shadow: 0 3px 7px 0 rgba(0, 0, 0, 0.3);
}

/* Default card */

.card {
    background-color: #ffffff;
    border: none;
    border-radius: 4px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: start;
    width: 100%;
    height: 400px;
    position: relative;
    box-shadow: 0px 4px 15px 0px rgba(0, 0, 0, 0.08);
    text-decoration: none;
    transition: all 0.08s ease-in-out;
    overflow: hidden;
}

.card img {
    border-radius: 4px 4px 0px 0px;
    width: 100%;
    height: 200px;
    position: relative;
    object-fit: cover;

}

.card img.default {
    object-fit: contain;
    padding: 30px;
    background-color: #ffffff;
}

.card .card-badge {
    position: absolute;
    top: 160px;
    right: 8px;
    z-index: 1;
}

.card .text {
    transition: all 0.08s ease-in-out;
    width: 100%;
    height: 200px;
}

.card .text .logo {
    background-image: url('/static/images/rmt_logo_light_bg.svg');
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
    height: 50px;
    width: auto;
    margin-top: 8px;
}

.card p, .card .description {
    color: var(--rwi-grey-3);
    line-height: 140%;
    font-weight: 400;
    max-height: 115px;
    margin-bottom: 0;
}

.card .text img {
    object-fit: contain;
    height: auto;
    padding: 30px
}

.card:not(.no-hover):hover .text {
    background-color: var(--rwi-teal)
}

.card:not(.no-hover):hover .text .logo {
    background-image: url('/static/images/rmt_logo_light_bg_white.svg');
}

.card:not(.no-hover):hover h5,
.card:not(.no-hover):hover h6,
.card:not(.no-hover):hover p,
.card:not(.no-hover):hover .description  {
    color: #ffffff;
}

.card:not(.no-hover):hover p, .card:not(.no-hover):hover .description  {
    font-weight: 500;
}

/* Accordion */

.accordion .accordion-button {
    background: transparent;
    border: none;
    box-shadow: none;
    font-style: normal;
}

.accordion .accordion-button::after {
    background-image: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--><path fill="%2300979E" d="M233.4 406.6c12.5 12.5 32.8 12.5 45.3 0l192-192c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L256 338.7 86.6 169.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l19`192z"/></svg>');
    margin-right: 16px;
}

.accordion-button.text-white::after {
    background-image: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--><path fill="white" d="M233.4 406.6c12.5 12.5 32.8 12.5 45.3 0l192-192c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L256 338.7 86.6 169.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l19`192z"/></svg>');
    margin-right: 16px;
}

.accordion-borderless .accordion-button {
    color: var(--rwi-grey-3);
    font-weight: 600;
    line-height: 140%;
    padding: 16px 0;
}

.accordion-borderless .accordion-item {
    border: none;
    border-top: 2px solid;
    border-color: var(--rwi-grey-1);
    border-radius: 0;
}

.accordion-borderless .accordion-item:last-child {
    border-bottom: 2px solid;
    border-color: var(--rwi-grey-1);
}

/* Search Input */

.search {
    position: relative;
    display: flex;
    flex-direction: row;
}

.search .search-input {
    background-color: var(--rwi-grey-1);
    border: none;
    border-radius: 22px;
    color: var(--oxford-blue);
    font-size: 16px;
    font-weight: 400;
    width: 100%;
    height: 44px;
    padding: 4px 44px 4px 18px;
}

.search .search-input::placeholder {
    color: var(--rwi-grey-2);
}

.search .search-input:focus {
    outline: 2px solid var(--rwi-teal);
}

.search .search-button {
    position: absolute;
    color: var(--rwi-teal);
    border: none;
    top: 6px;
    right: 10px;
    padding: 4px;
}

.search .search-button:hover,  .search .search-button:focus {
    color: var(--rwi-teal);
    border: none;
    box-shadow: none;
}

.filter-container #filter-no-results {
    display: none;
}

.filter-container:not(:has(.d-flex)) #filter-no-results {
    display: flex;
}

/* Pagination */

.pagination, .pagination-items {
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    gap: 8px;
}

.pagination button, .pagination a.btn {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    padding: 8px 12px;
    letter-spacing: 2px;
}

.pagination button i {
    width: 18px;
}

.pagination-item {
    background-color: var(--rwi-grey-3);
    width: 6px;
    height: 6px;
    border-radius: 3px;
    transition: all 0.2s ease-in-out;
}

.pagination-item.active {
    background-color: var(--rwi-orange);
    width: 30px;
}

.active-grey > .pagination-item.active {
    background-color: var(--rwi-grey-2) !important; /* Override above class */
    width: 30px;
}

.pagination small {
    color: #000000;
    font-size: 12px;
    font-style: normal;
    font-weight: 700;
    line-height: 110%;
    letter-spacing: 2px;
}

/* Profile Questionnaire page */

#profile-questionnaire {
    justify-content: center;
    min-height: 550px;
}

#profile-questionnaire .form-step {
    display: flex;
    flex-direction: column;
    position: absolute;
    top: 0;
    height: 100%;
    width: 100%;
    overflow-x: hidden;
    overflow-y: auto;
    padding: var(--space-sm);
}


#profile-questionnaire .form-step::-webkit-scrollbar {
    width: 8px;
}

#profile-questionnaire .form-step::-webkit-scrollbar-track {
    border-radius: 4px;
    margin: 40px;
}

#profile-questionnaire .form-step::-webkit-scrollbar-thumb {
    background: #bbbbbb;
    border-radius: 6px;
}

#questionnaire-complete {
    min-height: 500px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    position: absolute;
    top: 100px;
    width: 100%;
}

#questionnaire-complete .progress-bar-container {
    height: 36px;
    width: 80%;
    margin: auto;
}

#questionnaire-complete .progress-bar-bg {
    background-color: #ffffff;
    border-radius: 18px;
    height: 36px;
}

#questionnaire-complete .progress-bar {
    background-color: var(--rwi-orange);
    border-radius: 18px;
    height: 36px;
    width: 36px;
    position: relative;
    top: -36px;
}

@media screen and (max-width: 991px) {
    #profile-questionnaire-container .modal-dialog {
        max-width: 70%;
    }

    #profile-questionnaire {
        min-height: 600px;
    }
}

@media screen and (max-width: 767px) {
    #profile-questionnaire {
        border-radius: 0;
    }

    #profile-questionnaire-container {
        padding: 0;
    }

    #profile-questionnaire-container .modal-dialog {
        max-width: 100%;
        margin: 0;
    }

    #profile-questionnaire .form-step {
        padding: var(--space-sm);
    }


    #profile-questionnaire .custom-pill-choices {
        gap: 15px 10px;
    }
}

/* Custom pill-style radio/checkbox inputs */

.custom-pill-choices input {
    display: none;
}

.custom-pill-choices label {
    background-color: var(--rwi-grey-1);
    border: 3px solid transparent;
    border-radius: 30px;
    padding: 7px 23px;
    color: var(--oxford-blue);
    font-size: 16px;
    font-weight: 400;
    line-height: 150%;
    transition: all 0.15s ease-in-out;
    cursor: pointer;
}
    
.custom-pill-choices label:hover, .checkbox-select label:focus {
    border-color: var(--rwi-lime);
    box-shadow: none;
}

.custom-pill-choices label:has(input:checked) {
    position: relative;
    background-color: var(--rwi-lime);
    padding-left: 30px;
    padding-right: 16px;
}

.custom-pill-choices label:has(input:checked)::before {
    content: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" width="11" height="10" viewBox="0 0 11 10" fill="none"><path d="M1.5 5L4.43213 8L9.5 1" stroke="%23011E41" stroke-width="2"/></svg>');
    position: absolute;
    top: 7px;
    left: 11px;
    width: 11px;
    height: 10px;
}

.custom-pill-choices {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 25px 20px;
    justify-content: center;
    margin-bottom: var(--space-sm);
}

.custom-pill-choices.custom-pill-choices-sm {
    gap: 15px 10px;
}

.custom-pill-choices.custom-pill-choices-sm label {
    padding: 3px 16px;
}

.custom-pill-choices.custom-pill-choices-sm label:has(input:checked) {
    padding-left: 22px;
    padding-right: 10px
}

.custom-pill-choices.custom-pill-choices-sm label:has(input:checked)::before {
    top: 3px;
    left: 7px;
}

@media screen and (max-width: 767px) {
    .custom-pill-choices label {
        font-size: 14px;
    }
}

/* Units page */

#units-accordion .accordion-item {
    background-color: var(--rwi-grey-1);
    border-color: var(--rwi-teal);
    border-width: 1px;
    border-bottom: none;
}

.resource-card {
    height: auto;
}

.resource-card img {
    height: auto;
    aspect-ratio: 16 / 9;
}

.resource-card img.document {
    background-color: #ffffff;
    object-fit: contain;
    padding: 20px;
}

.resource-card .text {
    height: 120px;
}

.resource-card .card-badge {
    top: unset;
    bottom: 8px;
}

#video-modal .modal-dialog {
    max-width: 1100px;
    padding: 10px;
}

#video-modal iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border-radius: 0 0 15px 15px;
}

#video-modal #video-container {
    position: relative;
    padding-bottom: 56.25%; /* 16:9 */
    height: 0;
}

#video-modal .dropdown-toggle::after {
    display: none;
}

#collapse-linked-resources-button {
    background: transparent;
    border: none;
    box-shadow: none;
    font-style: normal;
}

#collapse-linked-resources-button {
    color: var(--oxford-blue);
    font-weight: 400;
    line-height: 120%;
    letter-spacing: 0.8px;
}

/* Horizontal scrolling cards */

.custom-horizontal-scroll .scroll-container {
    overflow: auto;
    scroll-behavior: smooth;
}

.custom-horizontal-scroll .scroll-container::-webkit-scrollbar {
    display: none;
}

.custom-horizontal-scroll .scroll-btn {
    position: absolute;
    top: 50%;
    padding: 14px 17px;
    background: var(--rwi-teal);
    color: #ffffff;
    border-radius: 50%;
}

.custom-horizontal-scroll .scroll-btn.prev {
    left: -60px;
}

.custom-horizontal-scroll .scroll-btn.next {
    right: -60px;
}

.bg-teal .custom-horizontal-scroll .scroll-btn {
    background: var(--rwi-grey-1);
    color: var(--oxford-blue);
}

@media screen and (max-width: 767px) {
    .custom-horizontal-scroll .scroll-btn.prev {
        padding: 9px 12px;
        left: -50px;
    }
    
    .custom-horizontal-scroll .scroll-btn.next {
        padding: 9px 12px;
        right: -50px;
    }
}

/* APC Planner pages */

.apc-card {
    border-radius: 10px;
    border: 2px solid var(--rwi-teal);
    padding: 20px;
    height: 570px;
}

.apc-card .image img {
    border-radius: unset;
    height: unset;
    object-fit: unset;
}

.apc-card .text {
    height: 100%;
    overflow: auto;
}

.apc-card .text > * {
    margin-right: 5px;
}

.apc-card .text p {
    overflow: visible;
}

.apc-card.date-passed {
    background-color: var(--rwi-grey-3);
    border-color: var(--rwi-grey-3);
}

.apc-card.date-passed .text div, .apc-card.date-passed .text p {
    color: #ffffff !important;
}

.apc-card.date-passed .text div:not(.fw-bold), .apc-card.date-passed .text p:not(.fw-bold) {
    font-weight: 300;
}

#apc-form .custom-checkbox.custom-checkbox-bg label {
    width: 100%;
    font-size: 16px;
    line-height: 100%;
    color: var(--oxford-blue);
    background-color: var(--rwi-grey-1);
    padding: 18px 18px 18px 44px;
    border-radius: 10px;
    transition: background-color 0.15s ease;
    margin-top: 0;
    font-weight: 400;
}

#apc-form .custom-checkbox.custom-checkbox-bg label:has(input:checked) {
    color: #ffffff;
    background-color: var(--rwi-teal);
}

#apc-form .custom-checkbox.custom-checkbox-bg label::before {
    left: 16px;
}

#apc-form .custom-checkbox.custom-checkbox-bg label:has(input:checked)::before {
    border-color: #F1F1F1;
}

#apc-form .apc-film:has(input:checked) {
    background-color: var(--rwi-teal);
}

#apc-form .apc-film:has(input:checked) h6, .apc-film:has(input:checked) p {
    color: #ffffff;
    font-weight: 500 !important;
}

#apc-form #attendees-list {
    max-height: 300px;
}

@media screen and (min-width: 768px) {
    #apc-form .custom-checkbox.custom-checkbox-bg label {
        padding: 20px 20px 20px 48px;
    }

    #apc-form .custom-checkbox.custom-checkbox-bg label::before {
        left: 20px;
    }

    #apc-form #attendees-list {
        max-height: 400px;
    }
}

/* Other */

.corner-item {
    position: absolute;
    bottom: 0;
    right: 0;
    z-index: 0;
    font-size: 14px;
    opacity: 0.8;
    color: #555;
}

.sketch-corner-position {
    position: absolute;
    top: -65px;
    left: -85px;
    pointer-events: none;
}

.sketch-corner-position .ornament {
    width: 90px;
    height: 90px;
}

.img-icon {
    height: 40px !important;
}

.cursor-pointer {
    cursor: pointer;
}

.hover-colour-lime:hover {
    color: var(--rwi-lime) !important;
}

.hover-background-lime:hover {
    background-color: var(--rwi-lime) !important;
}

.hr-separator {
    opacity: 100;
    height: 2px !important;
    background-color: var(--rwi-teal);
}

.cursor-pointer {
    cursor: pointer;
}

.no-bookings-message {
    margin-top: -10%;
}

.nsp-table-top {
    border-top-left-radius: 10px;
    border-top-right-radius: 10px;
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0;
    padding: 10px 20px;
    background-color: white;
    margin-bottom: 8px;
}

.nsp-table-row {
    border-radius: 10px;
    padding: 20px 15px;
    background-color: white;
    margin-bottom: 15px;
    color: var(--rwi-grey-3);
    border: solid 10px white;
}

.nsp-table-row.small-margin {
    margin-bottom: 8px;
}

.nsp-table-row.straight-border {
    border-radius: 0px;
}

.nsp-table-row.small-padding {
    padding: 15px 20px;
    border: 0;
}

.nsp-table-row.nsp-table-first-row {
    border-top-left-radius: 0;
    border-top-right-radius: 0;
}

.nsp-table-row.selected {
    background-color: var(--rwi-teal);
    color: white;
    margin-bottom: 0;
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0;
}

.regional-table-training-details {
    border: solid 10px white;
    border-bottom-left-radius: 10px;
    border-bottom-right-radius: 10px;
    margin-bottom: 15px;
    background-color: white;
    padding: 40px 30px;
}

.nsp-table-row .cursor-pointer:hover .fa-solid {
    color: var(--rwi-teal);
}

.regional-table-attendee-headings {
    margin-bottom: 10px;
    margin-left: 20px;
    margin-right: 19px;
}

.regional-table-attendee-row {
    padding: 10px;
    border-radius: 10px;
    margin-bottom: 8px;
    margin-right: 19px;
    background-color: var(--rwi-grey-1);
}

.regional-location-map {
    border-radius: 10px;
    overflow: hidden;
}
.transition-all {
  transition: all 0.2s ease-in-out;
}

.min-height-collapse {
  min-height: 200px;
}

.empty-state-container {
  min-height: 120px;
}

@media (max-width: 767.98px) {
    .min-height-collapse {
        min-height: auto;
    }
    
    .empty-state-container {
        min-height: 100px;
    }
    
    .fs-1 {
        font-size: 2rem !important;
    }
}

.border-teal {
border-color: var(--rwi-teal) !important;
}

.border-teal:checked {
background-color: var(--rwi-teal) !important;
border-color: var(--rwi-teal) !important;
}


  .color-teal {
    color: var(--rwi-teal) !important;
  }

  .btn-outline-info {
    color: var(--rwi-teal) !important;
    border-color: var(--rwi-teal) !important;
  }
  
  .btn-outline-info:hover {
    color: white !important;
    background-color: var(--rwi-teal) !important;
    border-color: var(--rwi-teal) !important;
  }

  
  .form-check-input:checked {
    background-color: #00a99d;
    border-color: #00a99d;
  }
  
  .form-check {
    padding-left: 2rem;
  }
  
  .form-check-input {
    width: 1.25rem;
    height: 1.25rem;
    margin-left: -2rem;
  }

  .modal-header {
    display: flex;
    align-items: flex-start;
  }

.shadow-teal {
    border: none;
    border-radius: 30px;
    box-shadow: -8px 8px 0px 0px var(--rwi-teal)
}

.shadow-teal-sm {
    box-shadow: -4px 4px 0px 0px var(--rwi-teal);
}

.min-page-height{
    min-height: 856px !important;
}

.min-h-120{
    min-height: 120px;
}

.max-w-contact{
    max-height: 700px;
}
