:root {
    --header-height: 149px;
    --primary-light: #F8FCFF;
    --success: #9AB838;
    --warning: #E69215;
}

button>* {
    pointer-events: none
}

.text-decoration-none,
.text-decoration-none:hover {
    text-decoration: none;
}

.cursor-pointer {
    pointer-events: auto!important;
    cursor: pointer
}

.z-index-modal {
    z-index: 1000
}

.bg-gray-200 {
    background-color: var(--gray-200)
}

.bg-gray-600 {
    background-color: #757575
}

.bg-gray-800 {
    background-color: var(--gray-800)
}

.bg-primary-light {
    background-color: var(--primary-light)
}

.bg-brand-2,.blockquote.brand-2::before,.btn--ghost.btn--brand-2:hover {
    background-color: var(--brand-2)
}

.bg-transparent {
    background-color: transparent
}

.fw-futura-pt {
    font-family: futura-pt,Arial,sans-serif
}

.fz-12 {
    font-size: 1.2rem
}

.fz-14,.header-principal .header-principal__top .navbar-nav .nav-lvl--1__right .nav-link {
    font-size: 1.4rem
}

.fz-18 {
    font-size: 1.8rem
}

.lh-1 {
    line-height: 1
}

.text-body {
    color: var(--body-color)
}

.text-primary {
    color: var(--primary)
}

.blockquote.brand-2 strong,.text-brand-2 {
    color: var(--brand-2)
}

.text-success {
    color: var(--success)
}

.text-warning {
    color: var(--warning)
}

.text-body-color {
    color: var(--body-color)
}

.text-gray-600 {
    color: var(--gray-600)
}

.border.dotted {
    border-style: dashed!important
}

.border-primary {
    border-color: var(--primary)!important
}

.border-dark {
    border-color: var(--black)!important
}

.border-brand-2 {
    border-color: var(--brand-2)!important
}

.border-success {
    border-color: var(--success)!important
}

.border-warning {
    border-color: var(--warning)!important
}

.border-body-color {
    border-color: var(--body-color)!important
}

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

.text-upper {
    text-transform: uppercase
}

.text-nowrap {
    white-space: nowrap
}

.object-fit-cover {
    object-fit: cover
}

.grayscale {
    filter: grayscale(1)
}

.h-90 {
    height: 90%
}

.wysiwyg.text-white ul>li:before {
    color: inherit
}

.btn--ghost.btn--brand-2 {
    background-color: transparent;
    border-color: var(--brand-2);
    color: var(--brand-2);
    outline-color: var(--brand-2)
}

.btn--ghost.btn--brand-2:hover,
.btn--plain.btn--brand-2 {
    background-color: var(--brand-2);
    border-color: var(--brand-2);
    color: var(--white)
}

.btn--ghost.btn--success {
    background-color: transparent;
    border-color: var(--success);
    color: var(--success);
    outline-color: var(--success)
}

.btn--ghost.btn--success:hover,
.btn--plain.btn--success {
    background-color: var(--success);
    border-color: var(--success);
    color: var(--white)
}

.form-group legend {
    font-size: 1em
}

.form-group .description {
    margin-bottom: 0
}

.tag {
    padding: .5rem 1rem
}

.dot {
    display: inline-block;
    width: 2.25rem;
    height: 2.25rem;
    text-align: center
}

progress {
    -webkit-appearance: none;
    -moz-appearance: none;
    height: 1rem;
    border-width: 0;
    border-radius: 1rem;
    overflow: hidden;
    background-color: var(--gray-100);
}

progress::-webkit-progress-bar {
    background-color: var(--gray-100);
}

progress::-webkit-progress-value {
    background-color: var(--gray-600);
    border-radius: 1rem;
}

progress::-moz-progress-bar {
    background-color: var(--gray-600);
    border-radius: 1rem;
}

.blockquote {
    padding-left: 3rem;
    position: relative
}

.blockquote strong {
    color: var(--primary);
    display: inline-block;
    margin-bottom: 1.5rem
}

.blockquote:before {
    content: "";
    position: absolute;
    left: 1.5rem;
    top: 0;
    bottom: 0;
    width: 2px;
    background-color: var(--primary)
}

.wysiwyg ol.rounded>li {
    padding-left: 3.5rem
}

.wysiwyg ol.rounded>li:before {
    background-color: #369aee;
    color: #fff;
    border-radius: 50%;
    height: 2.4rem;
    width: 2.4rem;
    top: .25rem;
    font-size: 1.75rem;
    text-align: center;
    content: counter(list,decimal)
}

.switch {
    margin: 0;
    display: flex;
    align-items: center
}

.switch .slider {
    position: relative;
    display: inline-block;
    width: 4.5rem;
    height: 2.5rem
}

.switch .slider .dot,.switch .slider .dot:before {
    position: absolute;
    transition: transform .4s,background-color .4s
}

.switch .slider .dot {
    cursor: pointer;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    width: inherit;
    height: inherit;
    background-color: var(--gray-100);
    border-radius: 24px;
    border: 2px solid var(--gray-400)
}

.switch .slider .dot:before {
    content: "";
    height: 1.75rem;
    width: 1.75rem;
    left: .5rem;
    bottom: .2rem;
    background-color: var(--gray-400);
    border-radius: 50%
}

.switch .label {
    margin-left: 1rem;
    color: var(--body-color);
    cursor: pointer
}

.switch input {
    display: none
}

.switch input:checked~.slider .dot {
    background-color: var(--white)
}

.switch input:checked~.slider .dot:before {
    background-color: var(--primary);
    transform: translateX(16px)
}

.switch input:checked~.label {
    color: var(--primary)
}

.switch input:disabled~.slider .dot {
    background-color: var(--gray-200)
}

.switch input:disabled~.slider .dot:before {
    background-color: var(--gray-400)
}

.custom-control {
    line-height: 2.7rem
}

.custom-checkbox .custom-control-input:disabled,.custom-checkbox .custom-control-input:disabled~.custom-control-label,.custom-radio .custom-control-input:disabled,.custom-radio .custom-control-input:disabled~.custom-control-label {
    cursor: initial
}

.custom-checkbox .custom-control-input:checked:disabled~.custom-control-label:after,.custom-radio .custom-control-input:disabled:checked~.custom-control-label:after {
    filter: grayscale(1)
}

[data-whatintent=keyboard] input:focus+.slider {
    outline: .2rem dashed;
    outline-offset: .3rem
}

.section-card,.visit-card {
    min-height: 220px
}

.h-fit-content {
    height: fit-content
}

.scenario-history .entry {
    border-left-width: 5px!important;
    margin-left: 0!important;
    margin-right: 0!important
}

.scenario-history .entry:first-child {
    border-left-color: var(--primary)!important
}

.scenario-history .entry:first-child h4 {
    color: var(--primary)
}

.scenario-history .entry:not(:first-child) {
    background-color: var(--gray-100)
}

.table td,.table th {
    padding: 1.8rem
}

#messages .message {
    position: relative;
    cursor: pointer
}

#messages .message.selected::before,#messages .message:hover::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 5px;
    background-color: var(--primary)
}

#messages .message.selected h6,#messages .message:hover h6,.progress .percent {
    color: var(--primary)
}

.table-responsive {
    margin-bottom: 0
}

.rowlink {
    position: relative;
}

.rowlink td {
    transition: background-color .25s ease;
}

.rowlink:hover td {
    background-color: var(--gray-100) !important
}

.rowlink a {
    color: inherit;
    font-weight: inherit;
    text-decoration: none;
}

.rowlink a:before {
    content: '';
    display: block;
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
}

.progress,.uploader .files .file {
    position: relative
}

.uploader .files .file button {
    position: absolute;
    right: 1.5rem;
    font-size: 1.25rem;
    top: 50%;
    transform: translateY(-50%)
}

.progress {
    width: 40px;
    height: 40px
}

.progress svg {
    height: 100%;
    width: 100%;
    background-color: var(--white);
    border-radius: 50%
}

.progress svg circle {
    fill: transparent;
    stroke: var(--gray-300);
    stroke-width: 3;
    stroke-linecap: round
}

.progress svg circle.bar {
    stroke: var(--primary);
    stroke-dasharray: 0;
    stroke-dashoffset: 0;
    transform: rotate(-90deg);
    transform-origin: 50% 50%
}

.progress .percent {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 1rem;
    font-weight: 700
}

.timeline .item {
    position: relative;
    padding-left: 2.5rem;
    margin-bottom: 2rem;
}

.timeline .item:last-child {
    height: 8rem !important;
}

.timeline .item:before {
    content: '';
    display: block;
    height: 1.5rem;
    width: 1.5rem;
    background-color: var(--white);
    border: 0.3rem solid var(--gray-400);
    border-radius: 1.5rem;
    position: absolute;
    left: 0;
    top: 0.45rem;
}

.timeline .item:first-child:before {
    border-color: var(--primary);
}

.timeline .item:after {
    content: '';
    display: block;
    height: calc(100% - 0.75rem);
    border-right: 0.3rem solid var(--gray-400);
    position: absolute;
    left: 0.6rem;
    top: 2.5rem;
}

.timeline .item:last-child:after {
    border-right-style: dashed;
}

.js-accordion [class$=accordion__title] {
    margin-bottom: 0
}

.js-accordion [class$=accordion__title]:not(:first-child) {
    margin-top: 2rem
}

.js-accordion__header {
    transition: background-color .25s ease
}

.js-accordion__header svg {
    pointer-events: initial;
    position: initial;
    right: initial;
    top: initial;
    transition: initial;
    width: 1.8rem
}

.js-accordion__header svg,.js-accordion__header[aria-expanded=true] svg {
    color: initial;
    -webkit-transform: initial;
    transform: initial
}

.js-accordion__header .svg-angle-down {
    color: var(--gray-600,#969cbb);
    pointer-events: none;
    position: absolute;
    right: 2rem;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    transition: transform .25s ease;
    transition: transform .25s ease,-webkit-transform .25s ease;
    width: .8rem
}

.js-accordion__header[aria-expanded=true] .svg-angle-down {
    -webkit-transform: translateY(-50%) rotate(180deg);
    transform: translateY(-50%) rotate(180deg)
}

.table-accordion,.table-accordion__title {
    margin-bottom: 0
}

.table-accordion__header {
    border-radius: 0;
    border-width: 0;
    padding: 0;
    width: 75px;
    color: var(--primary)
}

.table-accordion__header svg {
    color: var(--primary)
}

.table-accordion__header[aria-expanded=true],.table-accordion__panel {
    background-color: transparent
}

.table-accordion__panel {
    border-width: 0;
    padding: 0
}

.collaborators-accordion {
    margin-bottom: 0
}

.collaborators-accordion__title {
    margin-top: 0!important
}

.collaborators-accordion__header,.collaborators-accordion__header:focus {
    border-radius: 0;
    border-width: 0;
    color: var(--default);
    padding: 2rem 6rem 2rem 2rem
}

.collaborators-accordion__header[aria-expanded=true] {
    color: var(--default)
}

.collaborators-accordion__header.selected .h5,.collaborators-accordion__header.selected svg,.collaborators-accordion__header:hover,.collaborators-accordion__header:hover .h5,.collaborators-accordion__header:hover svg,.collaborators-accordion__title.selected {
    color: var(--primary)
}

.collaborators-accordion__panel {
    border-radius: 0;
    border-width: 0;
    padding: 0;
    padding-left: 4rem;
    background-color: var(--white)
}

.header-principal__nav .navbar-nav [aria-expanded].btn--icon:after {
    display: none
}

.o-stepper li:not(:last-child):after {
    background-color: var(--gray-400);
    height: .5rem;
    border-radius: 1rem
}

.o-stepper li.o-stepper--checked:not(:last-child):after {
    background-color: var(--primary)
}

.o-stepper li.o-stepper--current:not(:last-child).steps a {
    --left: calc(50% + 4rem);
    --right: calc(-50% + 4rem)
}

.o-stepper li.o-stepper--current:not(:last-child).steps a:after {
    background-color: var(--primary);
    content: "";
    height: .5rem;
    left: var(--left);
    position: absolute;
    right: var(--right);
    top: 2rem;
    border-radius: 1rem;
    z-index: 1
}

#breadcrumb+.main {
    padding-top: 3rem
}

#eligibility-stepper {
    position: absolute;
    top: 0;
    z-index: 1000;
    width: 100%;
    max-width: 123rem
}

.eligibility-stepper-margin {
    height: 50px;
    width: 100%
}

#eligibility-aside .access-messages-button {
    display: none
}

@media (min-width:1920px) {
    #eligibility-stepper .access-messages-button {
        display: none
    }

    #eligibility-aside {
        position: absolute;
        top: 3rem;
        right: 3rem;
        z-index: 1000;
        width: calc(((100% - 123rem)/2) - 6rem);
        max-width: 280px;
        margin-top: 0!important;
        margin-bottom: 0!important
    }

    #eligibility-aside .access-messages-button {
        display: flex
    }

    .content-col {
        flex: 0 0 123rem;
        max-width: 123rem
    }

    .aside-col {
        position: static
    }
}

@media (max-width:1200px) {
    :root {
        --header-height: 116px
    }

    .header-principal__nav .nav-right .m-user li {
        max-width: initial;
        border-left-style: none
    }

    .header-principal__nav .nav-right .m-user li:last-child {
        border-bottom-style: none
    }
}

@media (max-width:992px) {
    #eligibility-stepper {
        left: 0;
        right: 0;
        width: auto
    }

    .eligibility-stepper-margin {
        height: 100px;
    }

    #eligibility-aside {
        margin-top: 280px!important
    }
}

@media (max-width:596px) {
    #eligibility-aside {
        margin-top: 200px!important
    }
}

.container {
    max-width: 125rem
}

.col-xxxl,.col-xxxl-1,.col-xxxl-10,.col-xxxl-11,.col-xxxl-12,.col-xxxl-2,.col-xxxl-3,.col-xxxl-4,.col-xxxl-5,.col-xxxl-6,.col-xxxl-7,.col-xxxl-8,.col-xxxl-9,.col-xxxl-auto {
    position: relative;
    width: 100%;
    padding-right: 15px;
    padding-left: 15px
}

@media (min-width:1720px) {
    .container {
        max-width: 150rem
    }

    .mb-xxxl-0 {
        margin-bottom: 0 !important;
    }

    .col-xxxl {-ms-flex-preferred-size: 0; flex-basis: 0; -webkit-box-flex: 1; -ms-flex-positive: 1; flex-grow: 1; max-width: 100%;}
    .col-xxxl-auto {-webkit-box-flex: 0; -ms-flex: 0 0 auto; flex: 0 0 auto; width: auto; max-width: none;}  
    .col-xxxl-1 {-webkit-box-flex: 0; -ms-flex: 0 0 8.333333%; flex: 0 0 8.333333%; max-width: 8.333333%;}
    .col-xxxl-2 {-webkit-box-flex: 0; -ms-flex: 0 0 16.666667%; flex: 0 0 16.666667%; max-width: 16.666667%;}
    .col-xxxl-3 {-webkit-box-flex: 0; -ms-flex: 0 0 25%; flex: 0 0 25%; max-width: 25%;}
    .col-xxxl-4 {-webkit-box-flex: 0; -ms-flex: 0 0 33.333333%; flex: 0 0 33.333333%; max-width: 33.333333%;}
    .col-xxxl-5 {-webkit-box-flex: 0; -ms-flex: 0 0 41.666667%; flex: 0 0 41.666667%; max-width: 41.666667%;}
    .col-xxxl-6 {-webkit-box-flex: 0; -ms-flex: 0 0 50%; flex: 0 0 50%; max-width: 50%;}
    .col-xxxl-7 {-webkit-box-flex: 0; -ms-flex: 0 0 58.333333%; flex: 0 0 58.333333%; max-width: 58.333333%;}
    .col-xxxl-8 {-webkit-box-flex: 0; -ms-flex: 0 0 66.666667%; flex: 0 0 66.666667%; max-width: 66.666667%;}
    .col-xxxl-9 {-webkit-box-flex: 0; -ms-flex: 0 0 75%; flex: 0 0 75%; max-width: 75%;}
    .col-xxxl-10 {-webkit-box-flex: 0; -ms-flex: 0 0 83.333333%; flex: 0 0 83.333333%; max-width: 83.333333%;}
    .col-xxxl-11 {-webkit-box-flex: 0; -ms-flex: 0 0 91.666666%; flex: 0 0 91.666666%; max-width: 91.666666%;}
    .col-xxxl-12 {-webkit-box-flex: 0; -ms-flex: 0 0 100%; flex: 0 0 100%; max-width: 100%;}
}

@media (min-width:1200px) and (max-width:1720px) {
    .header-principal__nav .navbar-nav .nav-item {
        font-size: 1.4rem;
        margin-right: 2rem!important
    }

    .header-principal__nav .navbar-nav [aria-expanded]:after {
        top: 1.75rem
    }

    .header-principal__nav .navbar-nav:not(.nav-lvl--1) .nav-link:before {
        top: .75rem
    }
}
