/* Variables */
:root {
    --vec-red: #a30134;
    --vec-blue: #0e3a6c;
    --vec-pink: #ffe3ea;
    --vec-charcoal: #39444f;
    --vec-navy-tint: #b6c3d2;
    --vec-navy-tint-dark: #8494b3;
    --vec-grey-nav: #f2f2f2;
    --vec-grey-text: #5F739B;
    --vec-error-background: #ffffd0;
}

html, body, h1, h2, h3, h4, h5, h6, p, div, a, input{
    font-family: 'Poppins', sans-serif !important;
}
h1, h2, h3, h4 {
    color: var(--vec-blue);
}

h1 {
    font-size: 46px;
    font-weight: bold;
}
h2 {
    font-size: 38px;
    font-weight: bold;
}
h3 {
    font-size: 28px;
    font-weight: 600;
}
h4 {
    font-size: 20px;
    font-weight: 600;
}
label {
    font-size: 16px;
}
li {
    font-size: 16px;
}

.red-text {
    color: var(--vec-red) !important;
}
.blue-text {
    color: var(--vec-blue) !important;
}
.charcoal-text {
    color: var(--vec-charcoal);
}
.semibold-text {
    font-weight: 600 !important;
}
.text-center {
    text-align: center;
}

/* Links */
a {
    color: var(--vec-blue);
    text-decoration:underline;
    font-size: 16px;
}
a:hover, a:focus, a:active{
    color: var(--vec-blue);
    text-decoration: underline;
}
a:focus {
    outline: none;
}

@media (max-width: 768px) {
    .hidden-on-md {
        display: none;
    }
}

/* Navbar */
.nav-header{
    background: var(--vec-pink) !important;
}
.nav-logo {
    width: 120px;
    float:left;
}
.user-greeting {
    color: var(--vec-blue) !important;
    text-align:right;
}
.header-text {
    font-size: 40px;
    font-weight: 600;
    color: var(--vec-blue) !important;
    margin-bottom: 4px;
}
.custom-nav-item {
    margin-bottom: -8px;
    border-bottom: 4px solid var(--vec-grey-nav);
}
.custom-nav-item a {
    margin-left: 0 !important;
}

@media (max-width: 368px) {
    .header-text-col {
        padding: 0 !important; 
    }
}

@media (min-width: 1200px) {
    .custom-nav-item {
        margin-bottom: 0px;
    }
}

@media (max-width: 768px) {
    .custom-nav-item a {
        padding: 10px 6px !important;
    }
}

@media (max-width: 1199px) {
    #progressSideNav {
        border: 2px solid var(--vec-blue);
        padding: 13px;
    }
}

@media (max-width: 992px) {
    .header-text {
        font-size: 30px;
    }
    .user-greeting {
        font-size: 16px;
    }
}

@media (max-width: 1200px) {
    .nav-logo {
        width: 80px;
    }
}

@media (max-width: 768px) {
    .nav-logo {
        width: 62px;
    }
    .header-text {
        font-size: 18px;
    }
    .user-greeting {
        font-size: 13px;
    }
}

#navbar {
    padding: 4px;
    padding-bottom: 0px;
    margin-bottom: 0px;
}
.nav-link {
    background: var(--vec-grey-nav) !important; 
    color: var(--vec-blue) !important;
    font-weight: 600;
    font-size: 17px;
}
.nav-link.active {
    font-weight: 800;
}
.nav-item.active {
    border-bottom: 4px solid var(--vec-blue);
}
.nav-link:hover, .nav-link:active, .nav-link:focus {
    background: var(--vec-grey-nav) !important;
    text-decoration: none !important;
    color: var(--vec-blue) !important;
}
/* li.nav-item::after {
    content: "/";
    display: inline;
    top: 12px;
    position: absolute;
    right: 0;
    font-weight: 600;
    font-size: 20px;
} */
/* li.nav-item:last-child::after {
    content: "";
} */

.navbar {
    background: var(--vec-grey-nav) !important;
}
.navbar-inverse .navbar-nav > li > a {
    color: #ffffff !important;
}
#navbar > nav > ul > li.divider-vertical {
    background-color: #ffffff !important;
}

.navbar-inverse .navbar-nav > li > a:hover, .navbar-inverse .navbar-nav > li > a:focus {
    background-color: #a42e4a !important;
    color: #ffffff !important;
}
.navbar-inverse .navbar-nav .open .dropdown-menu {
    background-color: #9f1737 !important;
}
.navbar-inverse .navbar-nav > .open > a{
    background-color: #a42e4a !important;
}
.navbar-inverse .navbar-nav .open .dropdown-menu > li > a:hover {
    background-color: #a42e4a !important;
    color: #ffffff !important;
}
.navbar-inverse .navbar-toggle, .navbar-inverse .navbar-toggle:hover {
    background-color: #9f1737 !important;
    border: none !important;
}
.navbar-inverse .navbar-toggle:focus {
    background-color: #a42e4a !important;
    border: none !important;
}

/* Breadcrumbs */
ul.breadcrumb{
    float: right;
}
ul.breadcrumb li a {
    color: #9f1737;
    text-decoration:none;
}
.breadcrumb > li a:hover{
    color: #9f1737 !important;
    text-decoration:underline !important;
}

/* Container */
@media (min-width: 768px) {
    #mainContainer {
        width: 800px !important;
    }
}
@media (min-width: 1200px) {
    #mainContainer {
        width: 1200px !important;
    }
}

/* Page Header */
.page-heading {
    margin-bottom: 20px;
}

.page-header {
    overflow: hidden;
    margin: 0
}

.page-heading .page-header h1 {
    font-size: 24px;
    float: left;
    margin: 0;
}

/* Footer */
.footer-bottom {
    background-color: var(--vec-grey-nav) !important;
    margin-top: 6rem !important;
}
.footer-bottom .col-md-9 {
    width: 100%;
}
@media (max-width: 768px) {
    .footer-p.footer-text {
        width: 100%;
        margin-top: 18px;
        text-align: center;
    }
}
a.footer-link {
    color: var(--vec-charcoal) !important;
    text-decoration: underline !important;
}
.footer-p.footer-text {
    color: var(--vec-charcoal) !important;
    font-size: 16px !important;
}

/* Styles for checkbox on Entity forms */
/* @media only screen and (min-width:768px){
    .checkbox-cell{
        padding-left:3rem !important;
        padding-bottom:2rem !important;
    }
} */

#mainContent {
    min-height: 70vh;
}

/* Form */
.crmEntityFormView{
    border: none !important;
}
.crmEntityFormView .section-title {
    font-size:  18px;
    font-weight: bold;
    position: relative;
    top: 20px;
    padding: 20px 0 0 20px;
}
.crmEntityFormView fieldset {
    background-color:  #fff;
    margin-bottom: 0;
}

.crmEntityFormView .section {
    margin-top: 30px;
}

.crmEntityFormView .section:first-child {
    margin-top: 20px;
}

.crmEntityFormView fieldset .box{
    background-color:  transparent !important;
    margin-top: -30px;
    margin-bottom: -40px !important;
}

.entity-form td.clearfix.cell {
    padding: 20px 20px !important;
}

.crmEntityFormView .actions {
    border: none !important;
}

/*Entity Form*/
.entity-form{
    border: none !important;
}
.entity-form .section-title {
    font-size:  18px;
    font-weight: bold;
    position: relative;
    top: 20px;
    padding: 20px 0 0 20px;
}
.entity-form fieldset {
    background-color:  #fff;
    margin-bottom: 0;
}
  
.entity-form .section {
    margin-top: 30px;
}
  
.entity-form .section:first-child {
    margin-top: 20px;
}
  
.entity-form fieldset .box{
    background-color:  transparent !important;
    margin-top: -30px;
    margin-bottom: -40px !important;
}

.entity-form .actions {
    border: none !important;
}

/* 
* Input fields 
*/
.field-label{
    color: var(--vec-blue) !important;
    font-weight: 500 !important;
    margin-bottom: 0px !important;
}
input.form-control{
    border: 2px solid var(--vec-navy-tint);
    border-radius: 2px;
    color: var(--vec-blue) !important;
    font-size: 16px !important;
    font-weight: bold !important;
    padding: 20px 12px !important;
    height: 60px !important;
    text-decoration: none !important;
}
input.form-control:focus{
    border: 2px solid var(--vec-blue);
}
input.form-control::placeholder,
input.form-control::-webkit-input-placeholder {
    color: var(--vec-grey-text) !important;
    font-style: italic !important;
    font-weight: 400 !important;
    text-decoration: none !important;
}
input:focus::placeholder, 
input:focus::-webkit-input-placeholder {
    color: transparent !important;
}
input[type="text"]:read-only, 
input[type="text"]:disabled,
input[type="email"]:disabled {
    color: var(--vec-charcoal) !important;
    background-color: var(--vec-grey-nav) !important;
    cursor: not-allowed !important;
    border: 2px solid var(--vec-navy-tint) !important;
}

textarea.form-control{
    border: 2px solid var(--vec-navy-tint);
    border-radius: 2px;
    color: var(--vec-charcoal);
    font-size: 15px !important;
    padding: 20px 12px !important;
    text-decoration: none !important;
    resize: none !important;
}
textarea.form-control:focus{
    border: 2px solid var(--vec-blue);
}
textarea:disabled {
    color: var(--vec-charcoal) !important;
    background-color: var(--vec-grey-nav) !important;
    cursor: not-allowed !important;
    border: 2px solid var(--vec-navy-tint) !important;
}
input[type="textarea"]:read-only {
    background-color: var(--vec-grey-nav) !important;
    cursor: not-allowed !important;
}

select.form-control {
    border: 2px solid var(--vec-navy-tint);
    border-radius: 2px;
    color: var(--vec-blue) !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    height: 60px !important;
}
select.form-control:focus {
    border: 2px solid var(--vec-blue) !important;
}
select option {
    color: var(--vec-blue) !important;
    font-style: normal !important;
}
select:disabled {
    color: var(--vec-charcoal) !important;
    background-color: var(--vec-grey-nav) !important;
    cursor: not-allowed !important;
}
select.form-control.placeholder-active {
    color: var(--vec-charcoal) !important;
    font-style: italic !important;
}

/* Required field */
.crmEntityFormView .cell div.info label.required:after {
    content: ' *';
    color: var(--vec-red);
}
.entity-form .cell div.info label.required:after {
    content: ' *';
    color: var(--vec-red);
}
.required-symbol::after {
    content: ' *';
    font-size: 20px;
    color: var(--vec-red);
    position: relative;
    top: -4px;
}
.required-text::after {
    content: '*';
    color: var(--vec-red) !important;
}

/* Radio buttons */
input[type="radio"] {
    accent-color: var(--vec-blue);
    height: 28px;
    width: 28px;
}
.picklist.horizontal > label {
    margin-right: 18px;
    font-size: 22px;
    font-weight: 500 !important;
    color: var(--vec-charcoal) !important;
}
input[type="radio"]:checked + label {
    color: var(--vec-blue) !important;
    font-weight: 600 !important;
}   
@media(max-width:375px) {
    .picklist.horizontal > label {
        margin-right: 0;
    }
}

/* Help popup */
.info-button{
    color: var(--vec-blue) !important;
    float:right;
    cursor: pointer;
    margin-bottom: -3px;
}
.info-button:hover {
    color: var(--vec-red) !important;
}
.info-button .material-icons {
    font-size: 20px !important;
}
.tooltip-btn {
    background: transparent;
    padding: 0;
}

/* Toggle switch */
.toggle label.field-label {
    margin-left: -20px !important;
    font-size: 24px !important;
    font-weight: 600 !important;
}
.toggle .control {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    width: 120px !important;
    justify-content: space-evenly !important;
    float: right !important;
}
.entity-form .toggle .checkbox {
    display: flex !important;
}
.entity-form .toggle .checkbox > input[type="checkbox"] {
    /* display: none !important; */
    min-height: auto !important;
    padding: 0 !important;
    opacity: 0;
    width: 1px;
    height: 1px;
    position: absolute;
    border: 0;
}
.entity-form .toggle .checkbox > input[type="checkbox"]:focus-visible + .toggle-label {
    outline: 4px solid var(--vec-pink);
    outline-offset: 10px;
}
.entity-form .toggle .checkbox > label {
    cursor: pointer;
    height: 0px;
    position: relative;
    width: 40px;
    min-height: auto !important;
    padding-left: 0 !important;
    margin-bottom: 5px !important;
}
.entity-form .toggle .checkbox > label::before {
    background: var(--vec-charcoal);
    box-shadow: inset 0px 0px 10px rgba(0, 0, 0, 0.5);
    border-radius: 16px;
    content: "";
    height: 18px;
    margin-top: -8px;
    position: absolute;
    transition: all 0.4s ease-in-out;
    width: 45px;
}
.entity-form .toggle .checkbox > label::after {
    background: rgb(255, 255, 255);
    color: var(--vec-charcoal);
    border-radius: 16px;
    border: 1px solid #39444f;
    box-shadow: 0px 0px 5px rgba(0, 0, 0, 0.3);
    content: "✖";
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    font-size: 14px;
    font-weight: 800;
    height: 24px;
    left: -3px;
    margin-top: -8px;
    position: absolute;
    top: -4px;
    transition: all 0.3s ease-in-out;
    width: 24px;
}
.entity-form .toggle .checkbox > input[type="checkbox"]:checked + label::before {
    background: var(--vec-red);
    opacity: 0.8;
}
.entity-form .toggle .checkbox > input[type="checkbox"]:checked + label::after {
    content: "✔";
    font-weight: 600;
    color: var(--vec-red);
    left: 22px;
}
.checkbox-label-no {
    color:var(--vec-charcoal);
    font-size: 20px;
    font-weight:bold;
    margin-right: 12px;
}
.checkbox-label-yes {
    color:var(--vec-red);
    font-size: 20px;
    font-weight:500;
    margin-left: 12px;
}
.entity-form .toggle .checkbox:has(input[type="checkbox"]:checked) + .checkbox-label-yes {
    font-weight: bold !important;
}
.entity-form td.toggle div.description.below {
    width: 70% !important;
    float: left !important;
    font-size: 16px !important;
    color: var(--vec-blue) !important;
}
.entity-form div.description.below {
    width: 90% !important;
    float: left !important;
    font-size: 14px !important;
    color: var(--vec-blue) !important;
}

@media (max-width: 556px) {
    .toggle .field-label {
        display: block !important;
    }
}

/* Custom Checkbox */
.entity-form .custom-checkbox input[type="checkbox"]{
    position: absolute;
    opacity: 0;
}
.entity-form .custom-checkbox .control .checkbox {
    width: 100%;
    display: flex;
    align-items: start;
}
.entity-form .custom-checkbox .checkmark {
    width: 35px;
    height: 35px;
    flex: 0 0 35px;
    background: #ffffff;
    border: 2px solid var(--vec-blue);
    border-radius: 2px;
    position: relative;
    margin-right: 12px;
}
.entity-form .custom-checkbox .checkmark.disabled-checkbox {
    background-color: var(--vec-grey-nav);
    border-color: var(--vec-navy-tint);
    cursor: not-allowed;
    /* pointer-events: none;
    touch-action: none; */
}
.entity-form .custom-checkbox input[type="checkbox"]:checked + .checkmark {
    background-color: var(--vec-pink);
}
.entity-form .custom-checkbox input[type="checkbox"]:checked + .checkmark:after {
    content: "";
    position: absolute;
    left: 12px;
    top: 2px;
    background: var(--vec-pink);
    width: 10px;
    height: 22px;
    border: solid var(--vec-blue);
    border-width: 0 4px 4px 0;
    border-radius: 2px;
    transform: rotate(45deg);
}
.entity-form .custom-checkbox label {
    position: relative;
    cursor: pointer;
    padding: 0;
    color: var(--vec-charcoal);
    font-size: 16px;
    font-weight: 500;
}
.entity-form .custom-checkbox label.disabled-checkbox {
    color: var(--vec-navy-tint);
    /* pointer-events: none;
    touch-action: none; */
}
.entity-form .custom-checkbox input[type="checkbox"]:checked ~ label {
    color: var(--vec-blue);
    font-weight: 600;
}
.entity-form .custom-checkbox input[type="checkbox"]:checked + .checkmark:before {
    background: var(--vec-pink);
}

/* Form Info Popover */
.popover  {
    background: var(--vec-pink) !important;
    border-radius: 2px !important;
    border-color: var(--vec-pink) !important;
}
.popover-content {
    background: var(--vec-pink) !important;
    color: var(--vec-blue) !important;
    font-size: 14px;
    font-weight: 500;
    border: none;
}
.popover.bottom .arrow:after {
    border-bottom-color: var(--vec-pink) !important;
}

.warning-box {
    padding-left: 8px;
    padding-top: 8px;
    background: var(--vec-error-background);
    font-size: 14px;
    border-color: var(--vec-navy-tint) !important;
    border-bottom: 2px solid;
    border-right: 2px solid;
    border-left: 2px solid;
    color: var(--vec-blue);
}

/* Form sections */
.form-section {
    padding: 20px;
}

@media (max-width: 768px) {
    .form-section {
        padding: 10px;
    }
}

.form-section h2.section-title {
    font-size: 38px !important;
    padding: 0 !important;
}
.form-section .section-description {
    margin-top: 28px !important;
}
.form-section ol, .form-section ul, .form-section li, .form-section b {
    font-size: 16px !important;
}
.section-title {
    border: none;
}
.section-title h3{
    font-size: 38px;
    font-weight: bold;
    color: var(--vec-blue) !important;
}
.section-title h3.error {
    color: var(--vec-red) !important;
}
.section-description {
    font-size: 16px !important;
    font-weight: 500;
    margin-top: 24px !important;
    margin-left: 22px !important;
    color: var(--vec-charcoal) !important;
}
.section-description.error {
    color: var(--vec-red) !important;
}
.required-section::after {
    content: ' *';
    font-size: 20px;
    color: var(--vec-red);
    position: relative;
    top: -8px;
}
.step-heading {
    color: var(--vec-blue);
    margin-bottom: -10px;
    margin-left: 18px;
}
.step-description {
    font-size: 16px !important;
    font-weight: 500 !important;
    margin-top: 28px !important;
    margin-left: 18px !important;
    color: var(--vec-charcoal) !important;
}
.step-description a,
.step-description a:hover,
.step-description a:active,
.step-description a:focus {
    color: var(--vec-blue);
    text-decoration: underline;
    font-weight: 600;
}
.disclaimer {
    border: 2px solid var(--vec-navy-tint);
    border-radius: 10px;
    padding: 16px;
    font-size: 16px;
    color: var(--vec-charcoal);
    max-height: 286px;
    overflow-y: scroll;
}
.disclaimer p {
    color: var(--vec-charcoal);
}
.disclaimer b {
    color: var(--vec-charcoal) !important;
    font-size: 16px;
}
.disclaimer ul {
    padding-left: 22px !important;
}
.disclaimer::-webkit-scrollbar {
    width: 10px;
}
.disclaimer::-webkit-scrollbar-track {
    margin: 18px;

}
.disclaimer::-webkit-scrollbar-thumb {
    background: var(--vec-navy-tint); 
    border-radius:18px;
}

/* Table styles */
.entitylist table th, .entitylist table th * {
    font-family: Poppins,sans-serif;
    font-weight: 700;
    font-size: 16px;
    line-height: 1.3889;
    background-color: #fff;
    color: #0e3a6c;
}

.entitylist table tr {
    border-bottom: 2px solid #d8d8d8;
    border-top : 0px solid transparent;
    background-color: transparent !important;
}

.entitylist table th, .entitylist table td {
    padding: 15px 8px !important;
}

/* Default alert message box */
.alert.alert-danger{
    background-color:#AC103D !important;
    border-color:#AC103D !important;
}
.validation-header {
    color: #ffffff !important;
}
.validation-summary.alert-danger{
    background-color:#AC103D !important;
    border-color:#AC103D !important;
}
.validation-summary.alert-danger a{
    color: #ffffff !important;
}

/* Input Warning message */
/* .warning-input {
    margin-bottom: 8px;
} */
.input-helper {
    background-color: #fff;
    color: var(--vec-blue);
    border: none;
    font-size: 14px !important;
    display: flex;
    padding: 6px;
}
.helper-text {
    display: inline !important;
    font-size: 14px;
    font-weight: 500;
    line-height: 20px !important;
    color: var(--vec-blue) !important;
    margin-bottom: 0 !important;
    
}
.input-helper .material-icons-outlined {
    font-size: 16px !important;
    color: var(--vec-blue) !important;
    margin-right: 4px;
    margin-top: 2px;
}
.input-warning{
    background-color: var(--vec-error-background);
    color: var(--vec-blue);
    border: 1px solid var(--vec-navy-tint);
    border-top: none;
    border-radius: 1px;
    font-size: 14px !important;
    display: flex;
    padding: 6px;
}
.warning-text {
    display: inline !important;
    font-size: 14px;
    font-weight: 500;
    line-height: 20px !important;
    color: var(--vec-blue) !important;
    margin-bottom: 0 !important;
}
.input-warning .material-icons-outlined {
    font-size: 16px !important;
    color: var(--vec-blue) !important;
    margin-right: 4px;
    margin-top: 2px;
}

/* Input error message */
.error-input, .error-input:focus {
    border-color: var(--vec-red) !important;
    outline: 4px solid var(--vec-pink) !important; 
}
.error-input + .input-group-addon {
    border-color: var(--vec-red) !important;
    border-left-color: var(--vec-navy-tint) !important;
}
.error-label {
    color: var(--vec-red) !important;
}
.input-error{
    background-color: #fff;
    color: var(--vec-red);
    border: none;
    font-size: 14px !important;
    display: flex;
    padding: 6px;
}
.checkbox-error {
    margin-left: 40px;
    padding-top: 10px;
}
.radio-error {
    margin-top: 3rem;
}
.error-text {
    display: inline !important;
    font-size: 14px;
    font-weight: 500;
    color: var(--vec-red) !important;
    margin-bottom: 0 !important;
}
.error-textarea {
    display: inline !important;
    font-size: 15px;
    color: var(--vec-red) !important;
    margin-bottom: 0 !important;
}
.input-error .material-icons-outlined, .input-error .material-icons {
    font-size: 15px !important;
    color: var(--vec-red) !important;
    margin-right: 4px;
    margin-top: 3px;
}
.datetimepicker.error-input input {
    border-color: var(--vec-red);
}
.datetimepicker.error-input .input-group-addon {
    border-color: var(--vec-red);
    border-left-color: var(--vec-navy-tint);
}

/* Datetime picker */
.datetimepicker .input-group-addon {
    outline: none !important;
    background: var(--vec-grey-nav) !important;
    border: 2px solid var(--vec-navy-tint);
    border-radius: 2px !important;
}
.datetimepicker .icon-calendar {
    color: var(--vec-blue) !important;
    font-size: 16px !important;
}
.bootstrap-datetimepicker-widget.dropdown-menu {
    width: 100% !important;
    border: 2px solid var(--vec-blue) !important;
    border-radius: 2px !important;
}
.bootstrap-datetimepicker-widget.dropdown-menu.pull-right:after,
.bootstrap-datetimepicker-widget.dropdown-menu.pull-right:before {
    display: none !important;
}
.datepicker .picker-switch>button {
    color: var(--vec-blue) !important;
}
.bootstrap-datetimepicker-widget table thead tr th.prev,
.bootstrap-datetimepicker-widget table thead tr th.next {
    color: var(--vec-blue) !important;
}
.bootstrap-datetimepicker-widget table td.active,
.bootstrap-datetimepicker-widget table td.active>button,
.bootstrap-datetimepicker-widget table td.active>button:hover,
.bootstrap-datetimepicker-widget table td.active:hover {
    background-color: var(--vec-blue) !important;
}
.datetimepicker input {
    border-right: none !important;
}

/* Default error alert message */
#ValidationSummaryEntityFormView {
    display: none !important;
}
.messageLengthAlert {
    display: none !important;
}

/* From actions */
.actions .col-sm-6{
    width:100% !important;
}
.actions .col-sm-6.clearfix {
    display: flex !important;
    justify-content: end !important;
    align-items: center !important;
}
input[type="button"].previous-btn,
input[type="button"].goback-btn {
    background: #fff !important;
    color: var(--vec-red) !important;
    border: none !important;
    font-size: 16px !important;
    font-weight: 500 !important;
    outline: none;
    display: inline !important;
}
input[type="button"].previous-btn:hover,
input[type="button"].previous-btn:focus,
input[type="button"].previous-btn:active,
input[type="button"].goback-btn:hover,
input[type="button"].goback-btn:focus,
input[type="button"].goback-btn:active {
    background: #fff !important;
    color: var(--vec-red) !important;
    border: none !important;
    outline: none !important;
    box-shadow: none !important;
}
input[type="button"].previous-btn:hover,
input[type="button"].goback-btn:hover {
    text-decoration: underline;
}

input[type="button"].next, .btn-link {
    width: 220px !important;
    font-size: 16px !important;
    font-weight: 500 !important;
    line-height: 2.12857 !important;
    padding: 10px 10px !important;    
    background-color: var(--vec-red) !important;
    color: #ffffff !important;
    border: none !important;
    outline: none !important;
    position: relative !important;
}
input[type="button"].next:hover, .btn-link:hover {
    background-color: var(--vec-blue) !important;
    outline: none !important;
}
input[type="button"].next:focus, .btn-link:focus {
    outline: none !important;
}
input[type="button"].submit-btn {
    width: 220px !important;
    font-size: 16px !important;
    font-weight: 500 !important;
    line-height: 2.12857 !important;
    padding: 10px 10px !important;    
    background-color: var(--vec-red) !important;
    color: #ffffff !important;
    border: none !important;
    outline: none !important;
    position: relative !important;
    margin-left: 18px;
}
input[type="button"].submit-btn:hover {
    background-color: var(--vec-blue) !important;
    outline: none !important;
}
input[type="button"].submit-btn:focus {
    outline: none !important;
}
input[type="button"].submit-btn:focus-visible {
    outline: 3px solid #ff9800 !important;
    outline-offset: 3px !important;
}
input[type="button"].submit-btn[disabled] {
    background-color: var(--vec-navy-tint-dark) !important;
}
input[type="button"].submit-btn[disabled]:hover {
    background-color: var(--vec-navy-tint-dark) !important;
}
@media (min-width: 375px) {
    input[type="button"].submit-btn {
        margin-left: 16px;
    }
}

/* Button links */
a.primary-link {
    min-width: 220px !important;
    font-size: 16px !important;
    font-weight: 500 !important;
    line-height: 2.12857 !important;
    padding: 10px 10px !important;    
    background-color: var(--vec-red) !important;
    color: #ffffff !important;
    border: none !important;
    outline: none !important;
    position: relative !important;
}
a.primary-link:hover {
    background-color: var(--vec-blue) !important;
    outline: none !important;
    text-decoration: none !important;
}
a.primary-link:focus {
    outline: none !important;
    text-decoration: none !important;
}
a.primary-link:focus-visible {
    outline: 3px solid #ff9800 !important;
    outline-offset: 3px !important;
}

/* common button */
.primary-btn {
    min-width: 220px !important;
    font-size: 16px !important;
    font-weight: 500 !important;
    line-height: 2.12857 !important;
    padding: 10px 10px !important;    
    background-color: var(--vec-red) !important;
    color: #ffffff !important;
    border: none !important;
    outline: none !important;
    position: relative !important;
    margin-left: 18px;
}
.primary-btn:hover {
    background-color: var(--vec-blue) !important;
    outline: none !important;
}
.primary-btn:focus {
    outline: none !important;
}
.primary-btn:focus-visible {
    outline: 3px solid #ff9800 !important;
    outline-offset: 3px !important;
}
.primary-btn[disabled] {
    background-color: var(--vec-navy-tint-dark) !important;
}
.primary-btn[disabled]:hover {
    background-color: var(--vec-navy-tint-dark) !important;
}

/* Bootbox modal */
.bootbox.modal + .modal-backdrop {
    background-color: #ffffff;
    opacity: 0.88;
}
.bootbox.modal .modal-content {
    width: 800px;
    max-width: 95%;
    margin: 6rem auto;
    border-radius: 10px;
    box-shadow: 0px 3px 3px #00000029;
    background-color: var(--vec-pink) !important;
    border: 1px solid var(--vec-navy-tint);
}
.bootbox.modal .bootbox-close-button.close {
    color: var(--vec-blue) !important;
    opacity: 1.0 !important;
    width: 16px;
    height: 16px;
}
.bootbox.modal .bootbox-body {
    text-align: center;
    /* padding: 40px 90px 20px 90px; */
}
.bootbox.modal .bootbox-body .material-icons-outlined {
    font-size: 18px !important;
    color: var(--vec-blue) !important;
}
.bootbox.modal .bootbox-body h3 {
    font-size: 24px !important;
    margin-top: 0px !important;
    line-height: 40px;
}
.bootbox.modal .bootbox-body p,
.bootbox.modal .bootbox-body .error-message {
    font-size: 14px !important;
    color: var(--vec-blue) !important;
}
.bootbox.modal .modal-footer {
    display: flex;
    justify-content: center;
    align-items: center;
    border-top: none;
    padding-bottom: 40px;
}
.bootbox.modal .modal-footer .edit-btn,
.bootbox.modal .modal-footer .save-btn {
    width: 220px;
    color: #ffffff;
    padding: 10px 10px;
    border: none;
    line-height: 2.12857;
    font-weight: 500;
    font-size: 16px;
}
.bootbox.modal .modal-footer .edit-btn {
    background-color: var(--vec-blue);
    margin-right: 38px;
}
.bootbox.modal .modal-footer .edit-btn:before {
    content: '<';
    position: relative;
    left: -60px;
}
.bootbox.modal .modal-footer .save-btn {
    background-color: var(--vec-red);
}
.bootbox.modal .modal-footer .save-btn:after {
    content: '>';
    position: relative;
    right: -14px;
}
.bootbox.modal .modal-footer .no-arrow:after,
.bootbox.modal .modal-footer .no-arrow:before {
    content: '';
}
.bootbox.modal .modal-footer .ok-btn {
    width: 120px;
    background-color: var(--vec-blue);
    color: #ffffff;
    padding: 10px 10px;
    border: none;
    line-height: 2.12857;
    font-weight: 500;
    font-size: 16px;
}
@media (max-width: 768px) {
    .bootbox.modal .bootbox-body h3 {
        font-size: 21px !important;
        line-height: 30px;
    }
    .bootbox.modal .modal-footer .edit-btn,
    .bootbox.modal .modal-footer .save-btn {
        font-size: 14px;
    }
    .bootbox.modal .modal-footer .save-btn:after {
        right: -10px;
    }
    .bootbox.modal .modal-footer .edit-btn:before {
        left: -52px;
    }
}
@media (min-width: 768px) {
    .bootbox.modal .bootbox-body {
        text-align: left;
        padding: 8px 30px 20px 30px;
    }
}
@media (max-width: 450px) {
    .bootbox.modal .modal-footer .edit-btn, 
    .bootbox.modal .modal-footer .save-btn {
        margin-right: 0;
        font-size: 12px;
    }
    .bootbox.modal .modal-footer .save-btn:after {
        right: -6px;
    }
    .bootbox.modal .modal-footer .edit-btn:before {
        left: -48px;
    }
}

/* Image editor */
.image-section-wrapper {
    position: relative;
}
.loading-state-wrapper {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 100;
    width: 100%;
    height: 100%;
    background: #ffffff;
    opacity: 0.88;
    color: var(--vec-blue);
    max-width: 700px;
    margin: 0 2rem;
    font-size: 24px;
    font-weight: 600;
    display: flex;
    justify-content: center;
    align-items: center;
}
.image-loader {
    margin: 2rem;
    font-size: 18px;
    color: var(--vec-navy-tint-dark);
}
.image-upload-section {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    height: 450px;
    width: 350px;
    text-align: center;
    border: 1px dashed var(--vec-charcoal);
    padding: 18px;
    margin: 20px auto;
}
.image-upload-section span {
    color: var(--vec-navy-tint);
    font-size: 62px;
    margin-bottom: 20px;
}
.image-upload-section p {
    font-size: 24px;
    font-weight: 600;
}
.image-upload-section label {
    font-size: 16px !important;
    font-weight: 500 !important;
    color: var(--vec-charcoal) !important;
}
.image-section {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 350px;
    border:none;
    max-width: 100%;
}
.image-section {
    margin: 2rem auto;
}
.image-editor-container {
    display: flex;
    flex-direction: column;
    justify-content: center;
    margin: 2rem;
    padding: 18px;
    background-color: var(--vec-grey-nav);
    border: 2px solid var(--vec-navy-tint-dark);
    border-radius: 2px;
    width: 95%;
    max-width: 700px;
}
.input-image-label {
    display: flex;
    justify-content: center;
    width: 350px;
    margin: 2px auto;
    padding: 14px;
    background: var(--vec-blue);
    color: #ffffff;
    border-radius: 2px;
    font-size: 16px;
    max-width: 100%;
}
#input-image-file {
    display: none;
}
#image-editor {
    height: 400px;
    margin-top: 2rem;
    display: flex;
    justify-content: center;
}
.image-editor-actions {
    display: flex;
    justify-content: center;
    gap: 0;
    background-color: #dddee0;
}

button {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    border: none;
    background-color: #dddee0;
    padding: 16px;
    font-size: 16px;
    font-weight: bold;
}
button.active {
    background: var(--vec-grey-nav);
    color: var(--vec-blue);
}
button.disabled {
    pointer-events: none;
}
#crop-sub-menu {
    display: flex;
    justify-content: center;
}
#crop-sub-menu button {
    display: flex;
    flex-direction: row;
    gap: 6px;
    font-size: 16px;
    font-weight: 400;
    background: var(--vec-grey-nav);
    color: var(--vec-blue);
    outline: none;
}
#crop-sub-menu button span {
    font-weight: bolder !important;
}
.image-upload-actions {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    max-width: 700px;
    margin: 1px auto !important;
}
.image-upload-actions button {
    width: 180px;
    font-size: 16px !important;
    background: #fff;
    border: 2px solid var(--vec-blue);
    border-radius: 2px;
    color: var(--vec-blue);
    outline: none;
}

@media (max-width: 768px) {
    .image-upload-actions button {
        font-size: 14px !important;
    }
}

/* Address page */
@media (max-width: 786px) {
    #vec_postaladdresstype, #vec_residentialaddresstype {
        display: grid;
        grid-template-columns: 40px auto;
    }
}

/* Declaration page */
#my-declaration {
    padding: 20px;
    margin-top: 4rem;
}
#my-declaration p {
    font-size: 20px !important;
    color: var(--vec-charcoal) !important;
    background-color: var(--vec-grey-nav);
    border: 0.5px solid var(--vec-navy-tint);
    border-radius: 10px;
    padding: 28px;
}
#my-declaration p b {
    color: var(--vec-blue) !important;
}
table[data-name="tab_Declaration_section_QualifiedCouncillor"] {
    margin-top: -16px !important;
}
table[data-name="tab_Declaration_section_OffenceConsent"] {
    margin-top: -32px !important;
}
table[data-name="tab_Declaration_section_SingleNomination"] {
    margin-top: -38px !important;
}
#eligibility_criteria {
    margin-top: -4rem;
}
#section_SingleNomination {
    margin-top: 4rem !important;
}
#section_OffenceConsent {
    margin-top: 4rem !important;
}
#vec_completedcandidatetrainingdate {
    margin-top: -6rem;
    margin-left: 4.5rem;
    max-width: calc(100vw - 9rem);
}
#vec_completedcandidatetrainingdate_error {
    margin-left: 4.5rem !important;
}


/* Statement page */
#mytext_guidelines > ol{
    padding-inline-start: inherit !important;
}
#mytext_guidelines > ol > li{
    margin-bottom: 10px !important;
}
#formattingguide .fgcellborder{
    border: 1px solid var(--vec-navy-tint-dark) !important;
    border-radius: 2px !important;
    opacity: 1 !important;
    vertical-align: top !important;
    padding: 13px 16px 33px 17px !important;
}
#formattingguide > table > tbody > tr:nth-child(2) > td:nth-child(1),
#formattingguide > table > tbody > tr:nth-child(2) > td:nth-child(3) {
    color: var(--vec-blue) !important;
}

#formattingguide .fgarrowicon{
    font-size: 75px !important;
    color: var(--vec-blue) !important;
}

.tablecapguide {
    border: 1px solid var(--vec-navy-tint-dark) !important;
    border-radius: 2px !important;
    opacity: 1 !important;
}
.tablecapguide .thcapguide{
    background: var(--vec-pink) 0% 0% no-repeat padding-box !important;
    border: 1px solid var(--vec-navy-tint-dark) !important;
    opacity: 1 !important;
    padding: 10px !important;
    color: var(--vec-blue) !important;
    text-align: left !important;
    letter-spacing: 0px !important;
}
.tablecapguide .tdcapguide{
    border: 1px solid var(--vec-navy-tint-dark) !important;
    opacity: 1 !important;
    padding: 10px !important;
    color: var(--vec-charcoal) !important;
    text-align: left !important;
    letter-spacing: 0px !important;
    opacity: 1 !important;
}

/* My Photo page */
.unacceptable-photos p {
    font-size: 16px;
    margin-top: 16px;
}

.unacceptable-photos .col-12 {
    margin-bottom: 18px;
}

@media (max-width: 992px) {
    .unacceptable-photos .col-12 {
        margin-bottom: 18px;
    }
}


@media(max-width: 768px) {
    .acceptable-photos img {
        display: flex;
        margin: 18px auto;
        max-width: 300px;
    }
    .unacceptable-photos img {
        display: flex;
        margin: 18px auto;
        max-width: 300px;
    } 
    .unacceptable-photos p {
        max-width: 300px;
        margin: 16px auto;
    }
    .unacceptable-photos .col-12 {
        margin-bottom: 28px;
    }
}

/* Media query for smaller screens, adjust max-width as needed */

@media only screen and (max-width: 768px) {
    #mytext_guidelines > ol > li {
        margin-bottom: 5px !important;
    }

    #formattingguide .fgcellborder {
        padding: 10px !important;
    }

    #formattingguide .fgarrowicon {
        font-size: 50px !important;
    }

    .tablecapguide .thcapguide,
    .tablecapguide .tdcapguide {
        padding: 8px !important;
        vertical-align: top !important;
    }
}

/*All pages*/
#vec_nominationprogress{
    display: none !important;
}
#vec_nominationprogresscalculated{
    display: none !important;
}
#vec_nominationprogresstemp{
    display: none !important;
}

/* Statement declaration page */
.statement-preview-section {
    border: 1px solid var(--vec-navy-tint);
    border-radius: 10px;
    max-width: 600px;
    padding: 13px;
    margin: 80px auto;
}
.statement-image-loading {
    text-align: center;
    padding: 4rem;
    margin-bottom: 18px;
}
.statement-image-preview{
    display: flex;
}
.statement-image-preview img {
    width: 130px;
    margin: 18px auto;
}
.no-image-placeholder {
    max-width: 107px;
    /* margin: 20px auto; */
    font-size: 16px;
    border: 1px solid var(--vec-charcoal);
    text-align: center;
    padding: 32px 3px;
}
.statement-name-preview {
    font-size: 16px;
    font-weight: 600;
    color: var(--vec-charcoal);
    text-align: center;
    margin-bottom: 10px;
}
.statement-text-preview {
    font-size: 14px;
    color: var(--vec-charcoal);
    text-align: justify;
}
.no-statement-text {
    height: 600px;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 16px;
    color: var(--vec-charcoal);
}

/*Questionnaire page*/
#vec_readcouncilplanforthechosencouncil, #vec_readcodeofconductforthechosencouncil, #vec_areyouendorsedbyaregisteredpoliticalparty,
#vec_nameofregisteredpoliticalparty, #vec_currentlyacouncillor, #vec_attendancerecordatcouncilmeetings,#vec_politicalparty {
    width: 50% !important;
    float: none !important;
}

table[role="presentation"][data-name="tab_questionnaire_formattingguide"] {
    display: none !important;
}

.wordcountinfo{
    display: flex; 
    width: 100%; 
    justify-content: space-between; 
    padding-top: 5px;
    font-size: 14px;
    color: var(--vec-charcoal) !important;
}

#vec_visionformunicipalitycounsil_count,
#vec_requiredattributesforcouncillorrole_count,
#vec_contactdetails_count {
    font-weight: bold;
}

table[data-name="tab_questionnaire_section_questions"] {
    margin-top: 0px !important;
}

/* Review page */
#subsection-stmt-declaration {
    margin-top: 24px;
}
#subsection-contactperson {
    margin-top: 24px;
}

@media (min-width: 768px) {
    #subsection-stmt-declaration {
        margin-top: 0;
    }
    #subsection-contactperson {
        margin-top: 0;
    }
}

/* Custom error div */
.custom-error-div {
    display: flex;
    align-items: center;
    padding: 12px;
    border: 2px solid var(--vec-red);
    border-radius: 2px;
    color: var(--vec-red);
    font-size: 14px;
    font-weight: 500;
    margin-left: 16px;
}
.custom-error-div .material-icons {
    font-size: 18px;
    margin-right: 8px;
}

/* Nomination Progress bar */
.progress {
    position: relative;
    list-style: none;
    background-color: #fff;
    box-shadow: none;
    margin-left: 20px;
    padding: 0px;
}

.progress * {
    color: var(--vec-blue);
}

.progress-item {
    position: relative !important;
    counter-increment: list !important;
    /* box-shadow: 0px 3px 6px #00000029; */
    /* border-bottom: 1px solid var(--vec-navy-tint);  
  box-shadow: 0px 3px 6px #00000029; */
}

.progress-item:before {
    content: '' !important;
    display: block !important;
    position: absolute !important;
    bottom: 0 !important;
    width: calc(100% - 15px) !important;
    left: 15px !important;
    border: 1px solid var(--vec-navy-tint) !important;
    box-shadow: 0px 3px 6px #00000029 !important;
}

.progress-item:after {
    content: counter(list) !important;
    position: absolute !important;
    top: 16px !important;
    left: 0 !important;
    width: 30px !important;
    height: 30px !important;
    border-radius: 50% !important;
    background: #fff !important;
    font-size: 16px !important;
    padding-top: 3px !important;
    text-align: center !important;
    border: 1px solid var(--vec-navy-tint) !important;
    color: var(--vec-navy-tint) !important;
}

.progress-item.complete:after {
    color: var(--vec-blue) !important;
    border-color: var(--vec-blue) !important;
}

.progress-item.active:after {
    background-color: var(--vec-blue) !important;
    color: #fff !important;
}

.progress-item a {
    text-decoration: none !important;
}

.progress-item > a > p {
    font-size: 24px !important;
    margin-bottom: 0px !important;
    padding: 15px 0 15px 50px !important;
    font-weight: 400 !important;
    height: 64px !important;
    position: relative !important;
}

.step-sub-panel ul {
    list-style-type: none !important;
    margin: 0px !important;
    padding: 0px !important;
}

.step-sub-panel li p {
    padding-left: 70px !important;
}

.step-panel li {
    position: relative !important;
}

.progress-item > a p:before, .step-panel > ul > li:before {
    content: "" !important;
    position: absolute !important;
    left: 15px !important;
    top: -4px !important;
    width: 1px !important;
    height: 100% !important;
    background: repeating-linear-gradient(to bottom,transparent 0 4px, var(--vec-navy-tint) 4px 8px) !important;
}

.step-panel .active:before, .progress-item > a:not(.step-link) p:before{
    background: repeating-linear-gradient(to bottom,transparent 0 4px, var(--vec-blue) 4px 8px) top/100% 20px no-repeat, repeating-linear-gradient(to bottom,transparent 0 4px, var(--vec-navy-tint) 4px 8px) bottom/100% calc(100% - 20px) no-repeat !important;
}

.progress-item.complete > a p:before, .progress-item.complete .step-panel > ul > li:before, .progress-item.active .step-link p:before  {
    background: repeating-linear-gradient(to bottom,transparent 0 4px, var(--vec-blue) 4px 8px) !important;
}

.step-panel p:after {
    content: '' !important;
    position: absolute !important;
    width: 8px !important;
    height: 8px !important;
    background: #fff 0% 0% no-repeat padding-box !important;
    border: 1px solid var(--vec-navy-tint) !important;
    border-radius: 50% !important;
    top: calc(50% - 5px) !important;
    left: 11.5px !important;
} 

.step-sub-panel p:after {
    top: calc(50% - 2px) !important;
    width: 5px !important;
    height: 5px !important;
    left: 55px !important;
    background: #fff 0% 0% no-repeat padding-box !important;
    border: 1px solid var(--vec-navy-tint) !important;
}

.step-panel .complete p:after, .step-sub-panel p:after {
    background: #fff 0% 0% no-repeat padding-box !important;
    border: 1px solid var(--vec-navy-tint) !important;
}

.step-panel > ul > li.active > a > p:after, .step-panel > ul > li.active > p:after, .step-sub-panel .complete p:after, .step-sub-panel .active p:after {
    background: var(--vec-blue) 0% 0% !important;
    border: 1px solid var(--vec-blue) !important;
}

.step-panel>ul {
    list-style: none !important;
    padding: 0px !important;
}

.step-panel>ul>li {
    position: relative !important;

}

.step-panel p {
    font-size: 16px !important;
    padding: 10px 50px !important;
    margin: 0px !important;
    position: relative !important;
}

.progress-item.active > a:not(.step-link) p, 
.step-panel .active a:not(.step-sub-link) p,
.step-panel > ul > li.active > p, 
.step-sub-panel .active p, 
.progress-item.complete p:hover, 
.progress-item .complete p:hover,  
.step-panel .active > a > p:hover, .step-panel .active > p:hover,
.progress-item.active .step-link p:hover {
    background: linear-gradient(to right, transparent 0%, transparent 16px, var(--vec-grey-nav) 16px, var(--vec-grey-nav) 100%);
}

.step-panel .active a:not(.step-sub-link) p {
    background: none !important;
}

.progress-item * {
    color: var(--vec-navy-tint) !important;
}

.progress-item a {
    margin-left: 0 !important;
}

.progress-item.complete *, .progress-item .complete * {
    color: var(--vec-blue) !important;
}

.progress-item.active .step-link *, .step-sub-panel li.active *, .active .step-sub-link *, .step-panel > ul > li.active > p, li.active a p, li.active p a {
    color: var(--vec-blue) !important;
}

#progressSideNav.in,
#progressSideNav.collapsing {
    display: block!important;
}

.progress-side-nav-button {
    margin-left: 20px !important;
}

.progress-side-nav-button button {
    float: left !important;
    background-color: #fff !important;
    color: var(--vec-blue);
    border: 1px solid var(--vec-blue);
    border-radius: 2px;
    padding: 5px;
}

.progress-side-nav-button button.collapsed {
    border: 1px solid var(--vec-blue);
    border-radius: 2px;
}

.progress-side-nav-button button span {
    display: none;
}

.progress-side-nav-button button span:last-child {
    display: block;
}

.progress-side-nav-button button.collapsed span {
    display: block;
}

.progress-side-nav-button button.collapsed span:last-child {
    display: none;
}

.icon-arrow.nav-icon {
    position: absolute !important;
    right: 10px !important; 
    top: 20px !important;
    transform: rotate(90deg) !important;
}

.collapsed .icon-arrow.nav-icon {
    transform: rotate(0deg) !important;
}

.step-sub-link p:before {
    content: '-' !important;
    position: absolute !important;
    right: 15px !important;
    top: 3px !important;
    font-size: 24px !important;
}

.step-sub-link.collapsed p:before {
    content: '+' !important;
}

/* .progress-item p > span {
    color: var(--vec-red) !important;
    font-size: 14px;
    display: block;
    margin-top: -4px;
} */

.progress li {
    float: none !important;
}

li.active > p a.vec-nav {
    font-weight: bold !important;
}

li.parent-link.active a p {
    font-weight: bold !important;
}
li.active > p {
    font-weight: bold;
}


/* loader styles */
.loading-spinner {
  animation: spin 1.5s linear infinite;
  display: inline-block;
  vertical-align: bottom;
}

@keyframes spin {
  100% {
    transform: rotate(360deg);
  }
}

/* Breadcrumbs */
.breadcrumb-wrapper {
    padding: 12px 20px;
    width: 100%;
    /* max-width: 860px; */
    margin-top: 3rem;
}

nav[aria-label="breadcrumb"] ol {
    list-style: none;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0;
    padding: 0;
    margin: 0;
}

nav[aria-label="breadcrumb"] li {
    display: flex;
    align-items: center;
    font-size: 16px;
    line-height: 1.4;
    white-space: nowrap;
}

nav[aria-label="breadcrumb"] li a {
    color: #1a6cbc;
    text-decoration: underline;
    text-underline-offset: 2px;
    text-decoration-thickness: 1px;
    transition: color 0.15s ease;
    padding: 2px 0;
}

nav[aria-label="breadcrumb"] li a:hover {
    color: #0f4a8a;
    text-decoration-color: #0f4a8a;
}

/* Separator */
nav[aria-label="breadcrumb"] li:not(:last-child)::after {
    content: '›';
    display: inline-block;
    margin: 0 6px;
    color: var(--vec-charcoal);
    font-size: 16px;
    font-weight: 400;
    line-height: 1;
    pointer-events: none;
}

/* Current / last item */
nav[aria-label="breadcrumb"] li[aria-current="page"] {
    color: var(--vec-charcoal);
    font-weight: 600;
}

/* Responsive: collapse middle items on small screens */
@media (max-width: 520px) {
    .breadcrumb-wrapper {
        padding: 10px 14px;
    }

    nav[aria-label="breadcrumb"] li {
        font-size: 16px;
    }

    /* Hide middle items, show ellipsis via a pseudo-element */
    .collapse-sm {
        display: none;
    }

    .ellipsis-item {
        display: flex;
    }
}

.ellipsis-item {
    display: none;
    align-items: center;
    color: #6b7280;
    font-size: 13.5px;
    cursor: default;
    user-select: none;
}

.ellipsis-item::after {
    content: '›';
    display: inline-block;
    margin: 0 6px;
    color: #6b7280;
    font-size: 14px;
    pointer-events: none;
}

/* Service notice banner */
.service-notice-banner {
    background-color: #b6d7ec;
    border: 1px solid #7dbde5;
    border-radius: 4px;
    overflow: hidden;
    font-family: Arial, sans-serif;
    font-size: 14px;
    color: #333;
    margin-top: 2.5rem;
}

.service-notice-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 10px 14px;
    cursor: pointer;
    user-select: none;
}

.service-notice-header:hover {
    background-color: #adccdf;
}

.service-notice-title {
    display: flex;
    align-items: center;
    gap: 8px;
    font-weight: 700;
    font-size: 14px;
    color: #333;
}

.service-notice-title .warning-icon {
    font-size: 16px;
    color: #2b5d7b;
}

.toggle-icon {
    font-size: 16px;
    color: #555;
    transition: transform 0.25s ease;
    display: inline-block;
    transform: rotate(90deg);
}

.toggle-icon.collapsed {
    transform: rotate(0deg);
}

.service-notice-body {
    padding: 2px 14px 12px 38px;
    line-height: 1.6;
    color: #333;
}
.service-notice-body .ck-content > * {
    font-size: 15px !important;
    font-family: inherit !important;
}

.service-notice-body .ck-content a {
    color: #093f62;
    font-size: 15px !important;
    text-decoration: underline;
}

.service-notice-body .ck-content a:hover {
    color: #0a3d62;
}

/* Custom Table */
table.table-electorates {
  width: 100%;
  border-collapse: collapse;
  border-spacing: 0;
  border: 2px solid var(--vec-blue); /* outer border */
  border-top: none;
  border-bottom: none;
  table-layout: fixed;
}
.table-electorates thead,
.table-electorates tbody tr {
    display: table;
    width: 100%;
    table-layout: fixed;
}
.table-electorates tbody {
    display: block;
    max-height: 500px;
    overflow-y: auto;
    overflow-x: hidden;
}
.table-electorates thead {
    position: sticky;
    top: 0;
    background: var(--vec-blue);
    z-index: 10;
}
.table-electorates thead th {
    color: #ffffff;
    font-size: 17px;
    border-top: 2px solid var(--vec-blue) !important;
}
.table-electorates.table-striped tbody tr:nth-child(odd) {
    background: var(--vec-grey-nav);
}
.table-electorates tbody tr:hover {
    background-color: #eae7e7;
}
.table-electorates tbody tr.tr-selected {
    background-color: #ebe9e9;
}
th, td {
  padding: 12px 16px !important;
  text-align: left;
}

/* header bottom line */
.table-electorates thead tr th {
  border-bottom: 2px solid var(--vec-blue) !important;
  vertical-align: middle;
}

/* row separators */
.table-electorates tbody tr,
.table-electorates tbody tr td {
  border-bottom: 2px solid var(--vec-blue);
}

/* remove last row border */
.table-electorates tbody tr:last-child {
  border-bottom: none;
}

.add-nomination-link {
    font-style: italic;
    font-weight: 500;
}

/* Sorting */
.table-electorates thead th.sort {
    cursor: pointer;
    user-select: none;
    position: relative;
    padding-right: 24px;
    white-space: nowrap;
}
.table-electorates thead th.sort::after {
    content: "\e5d8";
    font-family: 'Material Icons';
    position: static;
    color: var(--vec-navy-tint-dark);
    font-size: 20px;
    font-weight: 500;
    margin-left: 12px;
    display: inline-block;
    vertical-align: bottom;
}
.table-electorates thead th.sort.asc::after {
    content: "\e5d8";
    color: #fff;
}
.table-electorates thead th.sort.desc::after {
    content: "\e5db";
    color: #fff;
}

/* ===== Filter Bar ===== */
.filter-bar {
    background: #fff;
    border: 1px solid #dce1e8;
    border-radius: 4px;
    padding: 14px 16px;
    margin-bottom: 4px;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 12px;
}
.filter-bar-label {
    font-size: 13px;
    font-weight: 600;
    color: #555;
    margin-right: 4px;
}

/* Search input */
.search-wrapper {
    position: relative;
    flex: 0 1 300px;
    min-width: 200px;
}
.search-wrapper .material-icons {
    position: absolute;
    left: 10px;
    top: 50%;
    transform: translateY(-50%);
    color: var(--vec-charcoal);
    font-size: 14px;
}
.search-wrapper input {
    padding: 6px 10px 6px 32px;
    border: 1px solid var(--vec-navy-tint);
    border-radius: 3px;
    width: 100%;
    font-size: 13px;
    height: 34px;
}
.search-wrapper input:focus {
    border-color: var(--vec-blue);
    outline: none;
    box-shadow: 0 0 0 2px var(--vec-navy-tint);
}
.search-wrapper input::placeholder {
    font-size: 12px;
    color: var(--vec-grey-text);
}

/* Dropdowns */
.filter-dropdown {
    position: relative;
    display: inline-block;
}
.filter-dropdown .dropdown-toggle-btn {
    padding: 6px 12px;
    border: 1px solid #ccc;
    border-radius: 3px;
    background: #fff;
    font-size: 15px;
    cursor: pointer;
    height: 34px;
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 6px;
    white-space: nowrap;
    color: #333;
}
.filter-dropdown .dropdown-toggle-btn:hover {
    border-color: #aaa;
}
.filter-dropdown .dropdown-toggle-btn .fa-filter {
    font-size: 11px;
    color: #777;
}
.filter-dropdown .dropdown-menu-custom {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    z-index: 1050;
    min-width: 200px;
    background: #fff;
    border: 1px solid #ccc;
    border-radius: 4px;
    box-shadow: 0 4px 12px rgba(0,0,0,.12);
    padding: 8px 0;
    margin-top: 2px;
}
.filter-dropdown .dropdown-menu-custom.open {
    display: block;
}
.filter-dropdown .dropdown-menu-custom label {
    display: block;
    padding: 6px 14px;
    cursor: pointer;
    font-size: 13px;
    font-weight: 400;
    margin: 0;
    white-space: nowrap;
}
.filter-dropdown .dropdown-menu-custom label:hover {
    background: #f0f4fa;
}
.filter-dropdown .dropdown-menu-custom label.disabled {
    color: #aaa;
    cursor: not-allowed;
}
.filter-dropdown .dropdown-menu-custom label.disabled:hover {
    background: transparent;
}
.filter-dropdown .dropdown-menu-custom label input[type="checkbox"],
.filter-dropdown .dropdown-menu-custom label input[type="radio"] {
    margin-right: 8px;
    vertical-align: middle;
}
.filter-badge {
    display: inline-block;
    background: var(--vec-blue);
    color: #fff;
    font-size: 11px;
    font-weight: 600;
    border-radius: 10px;
    padding: 0 6px;
    line-height: 18px;
    min-width: 18px;
    text-align: center;
}

/* Clear button */
.btn-clear-filters {
    padding: 6px 16px;
    font-size: 13px;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: .5px;
    border: 2px solid var(--vec-blue);
    color: #ffffff;
    background: var(--vec-blue);
    border-radius: 3px;
    cursor: pointer;
    height: 34px;
    white-space: nowrap;
}

button.btn-delete {
    margin: 0;
    padding: 0;
    color: var(--vec-red);
    background: transparent;
    border: none;
}

/* Count badge */
.count-bar {
    text-align: right;
    padding: 6px 8px 6px 0;
    font-size: 15px;
    color: var(--vec-charcoal);
    margin-top: 1rem;
}
.count-bar .count-num {
    font-weight: 600;
}
.count-bar .info-icon {
    display: inline;
    text-align: center;
    border-radius: 50%;
    border: none;
    color: var(--vec-charcoal);
    vertical-align: middle;
    padding: 0;
    margin: 0;
    margin-left: 4px;
    background: none;
}
.info-icon .material-icons-outlined {
    font-size: 18px;
    margin-top: 2px;
}

/* Empty state */
.empty-state {
    text-align: center;
    padding: 40px 20px;
    color: var(--vec-charcoal);
    font-size: 14px;
    border: 2px solid var(--vec-blue);
    border-top: none;
}
.empty-state .material-icons {
    font-size: 36px;
    display: block;
    margin-bottom: 12px;
    color: var(--vec-charcoal);
}

/* table summary */
.nominations-table-info {
    margin-top: 2rem;
}
.nominations-table-info p {
    font-size: 16px;
    color: var(--vec-blue);
    font-weight: 600;
}
.info-icon {
    display: inline;
    text-align: center;
    border: none;
    color: var(--vec-charcoal);
    vertical-align: middle;
    padding: 0;
    margin: 0;
    margin-left: 4px;
    background: none;
}

/* Table Checkbox column */
.table-checkbox {
    width: 40px;    
    text-align: center;
    padding-left: 14px !important;
    padding-right: 0 !important;
}
.row-checkbox,
.select-all-checkbox {
    appearance: none;
    -webkit-appearance: none;
    width: 18px; 
    height: 18px;
    border: 1.5px solid #8a9bb4;
    border-radius: 2px;
    background: #fff;
    cursor: pointer;
    position: relative;
    margin: 0;
    vertical-align: middle;
}
.row-checkbox:checked {
    background: #1a3b5c;
    border-color: #1a3b5c;
}
/* Material Icons checkmark for row checkboxes */
.row-checkbox:checked::after {
    content: "check";
    font-family: "Material Icons";
    font-size: 14px;
    color: #fff;
    position: absolute;
    top: 50%; left: 50%;
    transform: translate(-50%, -50%);
    line-height: 1;
}
.row-checkbox:disabled {
    background: #f0f2f5;
    border-color: #cdd4df;
    cursor: not-allowed;
}
/* Inverted select-all to remain visible on the dark header */
.select-all-checkbox {
    background: transparent;
    border-color: #fff;
}
.select-all-checkbox:checked,
.select-all-checkbox:indeterminate {
    background: #fff;
    border-color: #fff;
}
/* Material Icons checkmark for select-all (dark glyph on white fill) */
.select-all-checkbox:checked::after {
    content: "check";
    font-family: "Material Icons";
    font-size: 14px;
    color: #1a3b5c;
    position: absolute;
    top: 50%; left: 50%;
    transform: translate(-50%, -50%);
    line-height: 1;
}
.select-all-checkbox:indeterminate::after {
    content: "";
    position: absolute;
    left: 4px; top: 7px;
    width: 8px; height: 2px;
    background: #1a3b5c;
}

.close-msg {
    display: flex;
    align-items: start;
    gap: 8px;
    background-color: #f6e39a;
    border: 1px solid #b9ab74;
    border-radius: 4px;
    margin-top: 2.8rem;
}
.close-msg .material-icons {
    color: #685c2e;
    font-size: 16px;
    margin-top: 1.5px;
}

a:focus-visible {
    outline: 3px solid #ff9800;
    outline-offset: 3px;
}
button:focus-visible {
    outline: 3px solid #ff9800 !important;
    outline-offset: 3px !important;
}