html {
    height: 100%;
}

body {
    display: flex;
    flex-direction: column;
    background: #fff;
    height: 100%;
}

.btn {
    padding: 10px 16px;
}

.btn-default {
    border-radius: 0;
}

.btn-primary {
    border: 1px solid #0094d3;
    background-color: #0094d3;
    border-radius: 0;
}

.btn-secondary {
    border: 1px solid #3e3e3e;
    background-color: #fff;
    border-radius: 0;
}

legend p {
    font-size: 14px;
}

.note {
    font-size: 14px;
}

.disabled-span {
    display: inline-block;
    padding: 6px 12px;
    font-size: 12px;
    line-height: 1.42857143;
    color: #555555;
    background-color: #eeeeee;
    border: 1px solid #cccccc;
    border-radius: 4px;
    cursor: not-allowed;
}

.container-white {
    padding: 20px 20px 50px 20px;
    background: #fff;
}

.constainer-precontent {
    background-color: #f5f7fb;
    padding: 20px;
    margin-bottom: 30px;
}

.datepicker {
    margin-bottom: -10px;
    width: 200px;
    display: inline-block;
    z-index: 9999 !important;
}

.bootstrap-datetimepicker-widget {
    width: 205px;
}

h3 {
    margin-top: 30px;
    margin-bottom: 30px;
}

@media screen and (max-width: 768px) {
    h3 {
        font-size: 20px;
    }
}

.boite-actionnaire {
    margin-left: 0;
    padding-left: 0;
}

.titre-well {
    color: #666;
    background-color: #e3e3e3;
    padding: 5px;
    border-radius: 3px;
}

.titre-well-second {
    color: #666;
    background-color: #f4f4f4;
    padding: 5px;
    border-radius: 3px;
}

.table thead tr.titre-well-second th {
    border-bottom: 2px solid #ececec;
}

/****** NAV BAR *******/
.navbar-custom {
    height: 70px;
    background-color: #383838;
}

/* Menu item */
.navbar .nav > li > a {
    padding: 25px 25px 24px;
    color: #ffffff;
}

/* Sous menu item */
.navbar .nav > li > ul > li > a {
    background-color: #595858;
    color: #ffffff;
    padding: 15px 10px;
    border-bottom: 1px #000000 solid;
    min-width: 230px;
}

.navbar-nav-custom {
    margin-left: 20px;
}

@media screen and (max-width: 768px) {
    .navbar .nav > li > a {
        padding: 15px;
        color: #ffffff;
        background-color: #383838;
        border-bottom: 1px black solid;
    }

    #menu > ul > li > ul > li > a {
        padding: 15px 15px 15px 30px;
        color: #ffffff;
        background-color: #595858;
        border-bottom: 1px black solid;
    }

    .navbar-nav-custom {
        margin-left: 30%;
    }

    .navbar-nav-custom-button {
        background-color: #383838;
        margin-right: -15px;
        margin-top: -7px;
    }

    .navbar-collapse {
        box-shadow: none;
    }
}

@media only screen and (min-width: 751px) and (max-width: 1199px) {
    .navbar .nav > li > a {
        padding: 25px 10px 24px 10px;
        color: #ffffff;
        font-size: 12px;
        border: 0;
    }

    .container {
        width: 100%;
    }

    .navbar-brand img {
        width: 160px;
        padding-top: 5px;
    }

    .navbar-nav-custom {
        margin-left: 0;
    }

    #menu .navbar .btn {
        font-size: 12px;
    }
}

/* l'item de menu actif a un background vert + texte noir */
.navbar .nav > li.active > a,
.navbar .nav > li.active > a:hover,
.navbar .nav > li.active > a:active,
.navbar .nav > li.active > a:focus,
.navbar .nav .open > a,
.navbar .nav .open > a:hover {
    background-color: #b2d234;
    color: #000000;
}

/* Item et sous-item de menu survolé a un background noir + texte blanc */
.navbar .nav > li > a:hover,
.navbar .nav > li > ul > li > a:hover {
    background-color: #000000;
    color: #ffffff;
}

/****** NAV BAR - FIN *******/

navbar-refresh {
    .navbar-second {
        height: fit-content;
        top: 69px;
        background-color: #b8b8b8;
        z-index: 1029; /* Une valeur inférieure à la navbar principale */

        .container {
            display: flex;
            flex-direction: row;
            gap: 20px;
            align-items: center;
            justify-content: space-between;

            padding: 25px;
            color: #ffffff;

            @media screen and (max-width: 768px) {
                flex-direction: column;
            }

            &::before,
            &::after { /*hack pour enlever le flex-gap induit par ces tags*/
                display: none
            }
        }
    }
}

.icon-bar {
    border: 1px solid #fff;
}

.container {
    max-width: 1300px;
}

.navbar-fondaction {
    padding-bottom: 115px;

    @media screen and (max-width: 767px) {
        padding-bottom: 60px;
    }
}

@media screen and (max-width: 767px) {
    .navbar-langue-right {
        margin-top: -7px;
    }
}

.bottom-nav {
    margin: 20px 0 10px 0 !important;
}

.progress {
    background-color: #f5f7fb;
    border-radius: 0;
    box-shadow: none;
}

.progress-bar {
    background-color: #96be41;
}

.small-field {
    width: 100px;
}

.wrapper {
    flex-grow: 1;
}

.footer {
    background-image: url("/img/footer.jpg");
    background-color: #383838;
    color: #fff;
    padding: 2em 0;
    margin-top: 50px;
    margin-bottom: 0;
    height: 350px;
    border-width: 1px 0 0;
    border-radius: 0;
}

.footer-fureteur {
    background-image: url("/img/footer.jpg");
    background-color: #383838;
    color: #fff;
    padding: 2em 0;
    margin-top: 50px;
    height: 350px;
}

.form-group {
    clear: both;
}

.form-control {
    font-size: 12px;
    padding: 4px 12px;
}

.portefeuille {
    padding-right: 28px;

    @media screen and (max-width: 768px) {
        padding-left: 0;
        padding-right: 0;
    }
}

table.table-dpa-mobile tbody tr td {
    border-top: 0;
    padding-top: 4px;
    padding-bottom: 4px;
}

.row {
    margin: 0;
}

.col-sm-12,
.col-md-8 {
    padding-left: 0;
}

.col-no-padding {
    padding-right: 0;
    padding-left: 0;
}

.form-control-static {
    padding-top: 0;
}

.money-field {
    text-align: right
}

.popover {
    max-width: 100%
}

.clearfix:after {
    content: " ";
    display: table;
    clear: both
}

/* old controls */
.has-error input[type="radio"],
.has-error input[type="checkbox"],
    /* new controls */
.ng-submitted input[type="radio"].ng-invalid,
.ng-submitted input[type="checkbox"].ng-invalid {
    outline: 2px solid #d95858
}

/* old controls */
.has-error .form-control,
.has-error .validated-input,
    /* new controls */
.ng-submitted .form-control.ng-invalid,
    /* address-search */
.ng-submitted .form-group.ng-invalid .form-control {
    border-color: #d95858;
    border-width: 2px;
    box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075)
}

radio-group {
    display: block;

    radio {
        padding: 0 5px;

        input {
            margin: 10px;
        }

        .radio-labels {
            display: inline-flex;
            flex-direction: column;
        }
    }
}

.radio-group.ng-submitted.ng-invalid .radio {
    color: #a94442;
}

.feedback-error {
    display: none;
    font-weight: bold;
    color: #a94442;
}

.ng-invalid.ng-submitted .feedback-error {
    display: block;
}

.footer-note-container {
    margin-left: 30px;
    font-weight: bold;
    display: table;
    font-size: smaller;
}

.footer-note {
    display: table-cell;
}

.footer-note-annotation {
    width: 20px;
}

.numero-adhesion {
    margin: 0;
}

.help {
    margin-left: 10px;
    display: inline-block;
    font-size: large;

    a {
        text-decoration: none;
        color: #478ac8;

        &:hover {
            cursor: pointer
        }
    }
}

.inline-block {
    display: inline-block
}

.montant-dpu {
    margin: 0 20px
}

.bold {
    font-weight: bold
}

.info-box {
    background-color: #f5f7fb;
    border-left: 10px solid #0095d4;
    border-radius: 0;
}

.alert h3 {
    margin-bottom: 10px
}

.alert-no-adhesion {
    margin-top: 50px
}

.container-grey {
    background-color: #eee;
    padding: 10px;
    width: 70%
}

.blue-text {
    color: #0094d3
}

.grey-text {
    color: #6c757d
}

.confirmation-versement-unique {
    label {
        font-size: 12px;
        font-weight: normal;
        width: 100%;
        min-width: 139px
    }

    p {
        margin-top: 15px;
    }

    #renseignements-bancaires {
        display: flex;
        flex-direction: row;
        justify-content: space-between;
        padding-left: 15px;

        compte-bancaire {
            display: flex;
            flex-direction: column;
            max-width: 250px;
        }

        .form-control-feedback {
            right: 0;
        }

        img {
            align-self: center;
            width: 400px;
            height: 173px;
            flex-shrink: 0;
        }

        p {
            margin: 0 0 15px -15px;
        }

        .feedback-error {
            font-size: 12px;
            margin: -15px 0 15px -15px;
        }

        @media (max-width: 768px) {
            flex-direction: column;

            img {
                align-self: flex-start;
                margin: 10px 0 20px -15px;
            }
        }
    }

    .form-control.ng-pristine {
        border: 1px solid #ccc;
    }
}

table#renseignements-bancaires td {
    border: none;

    &.account-number {
        padding: 0
    }
}

#table-cotisation-dpu.table table > table tbody > tr > td {
    padding: 0 15px
}

.label-consentement {
    font-weight: normal;
}

.spacer {
    margin-top: 30px;
}

.half-spacer {
    margin-top: 15px;
}

.row-equal {
    display: flex;
    flex-wrap: wrap;
}

.card {
    border: 1px solid #efefef;
    box-sizing: border-box;
    background-clip: padding-box;
    background-color: #f5f7fb;
    padding: 30px;
    margin-top: 30px;
    margin-bottom: 30px;

    .card-title {
        margin-bottom: 15px;
    }

    .card-subtitle {
        font-weight: bold;
        margin-top: 20px;
        margin-bottom: 15px;
    }

    .highlight-bold {
        font-weight: bold;
        color: #0095d3;
    }

    .precision {
        font-size: 0.9em;
        font-style: italic;
        color: #6C757D;
    }

    .center {
        text-align: center;
    }

    &.with-floating-element {
        overflow: hidden;
        position: relative;
        width: 100%;
    }

    .floating-right-element {
        height: 100%;
        position: absolute;
        right: 0;
        top: 0;

        @media (max-width: 768px) {
            display: none;
        }
    }
}

asterisk {
    &::before {
        content: "* ";
    }
}

.notice {
    color: #a8a9aa;
    font-size: 0.8em;
}

.no-margin {
    margin-top: 0;
    margin-bottom: 0;
}

.rss-section {
    border-right: 20px solid transparent;
    box-sizing: border-box;
    background-clip: padding-box;
    background-color: #f5f7fb;
    padding: 15px 15px 25px 15px;

    @media screen and (max-width: 991px) {
        border-right: 0;
        margin-bottom: 20px;
    }
}

.espace-legende-repartition {
    padding-left: 40px;

    @media screen and (max-width: 768px) {
        padding-left: 0
    }
}

@media screen and (max-width: 768px) {
    .center-beigne-chart {
        display: block;
        margin-left: auto;
        margin-right: auto;
    }
}

.icon-red {
    color: #da4343;
    font-size: 19px;
    padding-right: 7px;
}

.rss-line {
    padding: 15px 15px;
    border-bottom: 1px solid #cccccc
}

.section-repartition {
    padding-top: 15px;
    padding-bottom: 15px;
    border-bottom: 1px solid #cccccc
}

@media screen and (max-width: 768px) {
    .rss-verification-titre {
        padding-left: 0;
    }
}

.list-item-spacer {
    margin-bottom: 5px;
}

ul.list-with-icon {
    list-style: none;
    padding-left: 10px;
    margin-bottom: 10px;

    li {
        padding: 2px 0 2px 15px;
        background: url(../img/li.png) no-repeat 0 8px;
    }
}

@media screen and (max-width: 465px) {
    .btn-section {
        display: flex;
        flex-direction: column;
        float: unset !important;

        .btn {
            margin-bottom: 5px;
        }
    }
}

.modal-content {
    border-radius: 0;
}

.confirmation-modal {
    .modal-dialog {
        width: 700px;

        @media screen and (max-width: 768px) {
            width: auto;
        }
    }

    .modal-content {
        padding: 30px;

        @media screen and (max-width: 768px) {
            padding: 0;
        }
    }
}

.checkbox {
    margin-top: 20px;
}

.vertical-align {
    display: flex;
    align-items: center;
}

@media screen and (max-width: 768px) {
    .rss-totaux {
        flex-direction: column;
    }
}

.btn-disabled[disabled] {
    background-color: #666;
    border-color: #666;

    &:hover {
        background-color: #666;
        border-color: #666;
    }
}

.image-cheque {
    height: 200px;

    @media screen and (max-width: 768px) {
        height: 140px;
    }
}

.portefeuille-mes-projets-section-texte {
    padding-left: 35px;

    @media screen and (max-width: 768px) {
        padding-left: 25px;
    }
}

.section-portefeuille {
    margin-top: 35px;
}


/* section nouveau theme */

table.table-fondaction {
    thead tr {
        background-color: #f5f7fb;
    }

    thead tr th {
        border: 0;
        padding-left: 15px;
    }

    tbody tr td {
        border-top: 0;
        border-bottom: 1px solid #cccccc;
        padding-left: 15px;
    }
}

.titre-caps-fondaction {
    color: #999;
    letter-spacing: 1px;
    font-size: 15px;
    text-transform: uppercase;
}

/* style overwrite for mobile */

@media screen and (max-width: 768px) {
    .mobile-unset-display-precision {
        float: unset;
        display: inline-block;
    }
}

/* IdentificationComponent */
.grey-address-box {
    background-color: #eee;
    padding: 20px 0;
}

#adresse {
    margin-bottom: 15px;
}

.bordered-radio {
    .radio-group {
        display: flex;
        flex-direction: row;
        align-items: stretch;
        gap: 20px;

        @media (max-width: 768px) {
            flex-direction: column;
        }

        radio {
            flex: 1;
            border: 1px solid #dfdfdf;
            border-radius: 3px;
            padding: 24px;

            &:has(input[type="radio"]:checked) {
                border-color: #3e3e3e;
            }

            .radio {
                margin: 0;
            }
        }
    }

    .radio-label {
        font-weight: bold;
    }

    .radio-description {
        color: #747373;
    }
}

.ng-submitted .bordered-radio radio:has(input[type="radio"].ng-invalid) {
    border-color: #d23437;
}

/* WizardComponent */
.wizard-progress {
    margin-bottom: 0;
}

/* InfoTooltipComponent */
info-tooltip {
    display: inline-block;
    margin-left: 2px;
    max-height: 18px;

    i {
        text-decoration: none;
        color: #478ac8;
    }

    i.bi {
        font-size: 14px;
    }

    i:hover {
        cursor: pointer;
    }
}

loading {
    position: relative;
    display: block;

    .overlay {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: rgba(128, 128, 128, 0.5);
        z-index: 1029; /* less than the navbar */
    }

    .center {
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
    }

    .spinner {
        border: 16px solid #f3f3f3;
        border-radius: 50%;
        border-top: 16px solid #3498db;
        width: 70px;
        height: 70px;
        animation: spin 2s linear infinite;
    }

    .error {
        padding: 15px;
        font-weight: bold;
        color: #a94442;
        background: rgba(255, 255, 255, 0.9);
        cursor: default;
    }
}

@keyframes spin {
    0% {
        transform: rotate(0deg);
    }
    100% {
        transform: rotate(360deg);
    }
}

nouvelle-adhesion-communication {
    .reference {
        padding-right: 5px;
    }
}

labeled-currency-input {
    .form-group input {
        padding-right: 30px !important;
    }

    .form-group input {
        text-align: right;
        -moz-appearance: textfield;
    }

    .form-group input::-webkit-outer-spin-button,
    .form-group input::-webkit-inner-spin-button {
        -webkit-appearance: none;
    }

    .form-group i.fa-usd {
        font-size: 16px;
    }
}

labeled-datepicker {
    div input {
        padding-right: 30px !important;
    }

    div i.bi-calendar {
        color: #8a8a8a;
        font-size: 20px;
    }
}

labeled-select {
    .form-group select {
        -webkit-appearance: none;
        -moz-appearance: none;
        padding-right: 30px !important;
    }
}

questions-canafe {
    a[aria-expanded=true] .fa-angle-double-right {
        transition: .3s transform ease-in-out;
        transform: rotate(90deg);
    }

    a[aria-expanded=false] .fa-angle-double-right {
        transition: .3s transform ease-in-out;
        transform: rotate(0deg);
    }

    .panel-group .panel + .panel {
        margin-top: 15px;
    }

    .panel {
        background-color: unset;

        .pre-scrollable {
            margin: 5px;
        }
    }
}

/* AddressComplete  */
.pca .pcatext {
    font: 9pt arial;
    color: #333;
}

.light-blue-well {
    background-color: #f5f7fb;
    margin: 10px 0;
    padding: 8px 15px;
}

.scrollable-well {
    margin: 0 0 10px;
    padding: 8px 15px;
    height: 170px;
    overflow: auto;
}

.bootstrap-reset {
    .col-sm-12,
    .col-md-8 {
        padding-left: 15px;
    }

    .row {
        margin-left: 15px;
        margin-right: 15px;
    }

    h3 {
        margin-top: 20px;
        margin-bottom: 10px;
    }

    .form-control {
        font-size: 14px;
        padding: 6px 12px;
    }

    .form-group {
        clear: unset;
    }

    .checkbox {
        margin-top: 10px;
    }

    .checkbox + .checkbox,
    .radio + .radio {
        margin-top: -5px;
    }

    .pull-right .fa {
        margin-left: 10px;
    }

    .pull-left .fa {
        margin-right: 10px;
    }
}

label i {
    white-space: nowrap;
    font-weight: lighter;
}

edit-address {
    display: flex;
    flex-direction: column;

    #address-search-box {
        margin-bottom: 15px;
    }

    #address-details {
        display: flex;
        flex-direction: row;
        flex-wrap: wrap;
        gap: 15px;

        /* première ligne */

        input[name="numeroCivique"] {
            flex: 0 0 10%;
        }

        input[name="rue"] {
            flex: 1 0 70%;
        }

        input[name="appartement"] {
            flex: 0 0 10%;
        }

        /* deuxième ligne */

        input[name="ville"] {
            flex: 1 0 50%;
        }

        input[name="codePostal"] {
            flex: 0 0 10%;
        }

        input[name="province"] {
            flex: 0 0 10%;
        }

        input[name="pays"] {
            flex: 0 0 20%;
        }

        @media (max-width: 768px) {
            flex-direction: column;
        }
    }
}

bandeau-espace-croissance {
    .img-marketing {
        align-self: flex-start;
        margin: 5px 20px 10px 0;
        width: 100%;
        max-width: 390px;
    }

    .titre-marketing {
        font-size: 1.8em;
        font-weight: bold;
    }

    .txt-marketing {
        font-size: 1.3em;
    }

    .precision-marketing {
        margin: auto auto auto 10px;
    }

    @media screen and (max-width: 768px) {
        .titre-marketing {
            font-size: 1.2em;
            font-weight: bold;
        }

        .txt-marketing {
            font-size: unset;
        }

        .precision-marketing {
            margin-left: 0;
            margin-top: 10px;
        }

        .spacer {
            margin-top: 10px;
        }
    }

    .btn-orange {
        background: #f6861f;
        border-width: 0;
    }

    .btn-orange:hover {
        background: #f47930;
    }

    .btn-orange:focus {
        background: #f47930;
    }

    .btn-orange:active:hover {
        background: #ed6b1c;
    }
}

connexion {
    .connexion-component {
        max-width: 850px;
    }

    .connexion-component .card .connexion-inner {
        display: flex;
        margin: 0 auto;
        gap: 20px;
        align-items: center;
        justify-content: space-between;
    }

    .connexion-component .card .left {
        display: flex;
        flex-direction: column;
        flex: 1 1 48%;
        gap: 20px;
    }

    .connexion-component .card .right {
        flex: 1 1 48%;
    }

    .connexion-component .card .buttons {
        display: flex;
        flex-direction: row;
        gap: 20px;
    }

    .connexion-component .card .image {
        max-width: 100%;
    }

    @media (max-width: 768px) {
        .connexion-component .card .connexion-inner {
            align-items: stretch;
            gap: 0;
        }

        .connexion-component .card .left {
            flex: 1 1 100%;
        }

        .connexion-component .card .right {
            display: none;
        }

        .connexion-component .card .buttons {
            flex-direction: column;
        }
    }
}

/* Alert */

.alert-warning {
    background-color: #f6861f;
}

.alert-info {
    background-color: #0094d3;
}

.alert-success {
    background-color: #b2d234;
    color: #3e3e3e;
}

.alert-danger {
    background-color: #d23437;
}

.alert-warning,
.alert-info,
.alert-danger {
    border-radius: 0;
    border-style: none;
    color: #ffffff;
}

.alert-warning a,
.alert-info a,
.alert-danger a {
    color: #ffffff;
    text-decoration: underline;
}

.alert-success a {
    color: #3e3e3e;
    text-decoration: underline;
}

message-box {
    .message-box {
        display: flex;
        align-items: center;
        gap: 30px;
        padding: 30px;
        position: relative;
        margin-top: 30px;
        margin-bottom: 30px;
    }

    .message-box .close {
        position: absolute;
        color: #ffffff;
        right: 8px;
        top: 8px;
    }

    .message-box .alert-icon {
        flex: 0 0 auto;
        display: flex;
        align-items: center;
        font-size: 2.25em;
    }

    .message-box .alert-body {
        flex: 1 1 auto;
        min-width: 0;
    }

    .message-box .alert-body p:last-child {
        margin-bottom: 0;
    }

    @media (max-width: 768px) {
        .message-box {
            flex-direction: column;
            align-items: stretch;
            gap: 16px;
            padding: 20px;
        }

        .message-box .alert-icon {
            display: none;
        }

        .message-box .alert-body {
            width: 100%;
            flex: initial;
            min-width: 0;
        }
    }
}

.step-circle {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 1.65em;
    height: 1.65em;
    border-radius: 50%;
    background: #0094d3;
    font-size: 1.65em;
    color: #fff;
}

.container-flex {
    display: flex;
}

@media (max-width: 768px) {
    .container-flex.card {
        flex-direction: column;
    }
}

.gap-normal {
    gap: 20px;
}

.no-shrink {
    flex-shrink: 0;
}

.expandable {
    flex-grow: 1;
}

.section-title {
    font-size: 1.7em;
}

.section-title em,
wizard h3 em {
    color: #0094d3;
    font-style: normal;
}

.section-title + .card {
    margin-top: 15px;
}

.card .content-pair {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.card .content-pair .right .image {
    max-width: 100%;
}

@media (max-width: 768px) {
    .card .content-pair .right {
        display: none;
    }
}

.container-nas {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
}

.col-side-nas {
    flex: 1 1 0;
    height: 100%;
}

.key-value-list {
    display: flex;
    flex-direction: column;
    gap: 10px;

    .key-value-pair {
        display: flex;
        flex-direction: row;
        justify-content: space-between;
        gap: 20px;

        .key {
            flex: 1 1 0;
            font-weight: bold;
        }

        .value {
            flex: 1 1 0;
        }

        @media (max-width: 768px) {
            flex-direction: column;
            gap: 0;
        }
    }
}

.container-form-adhesion {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    gap: 30px;

    margin-top: 15px;

    @media (max-width: 768px) {
        flex-direction: column;
        gap: 0;
    }

    .col-side-form-adhesion {
        flex: 1 1 0;
        height: 100%;
    }

    &.col-side-form-adhesion {
        margin-top: 0;
    }
}

labeled-input label:has(+ ng-transclude + input:required)::after,
labeled-select label:has(+ ng-transclude + select:required)::after,
labeled-datepicker label:has(+ ng-transclude + input:required)::after,
labeled-currency-input label:has(+ ng-transclude + input:required)::after,
label:has(+ info-tooltip + edit-address :required)::after,
label:has(+ radio-group :required)::after,
label:has(+ info-tooltip + radio-group :required)::after,
label:has(+ .container-nas :required)::after,
label:has(input[type="checkbox"]:required)::after {
    content: " *";
    color: red;
}

.colored-radio {
    input[type="radio"] {
        appearance: none;
        -webkit-appearance: none;
        -moz-appearance: none;
        width: 1em;
        height: 1em;
        border-radius: 50%;
        background-color: white;
        outline: 1px solid #999;
        cursor: pointer;
        position: relative;
        margin-top: 2px;
        flex-grow: 0;
        flex-shrink: 0;

        &:checked {
            background-color: #96be41;
            border: 3px solid white;
        }

        &:focus {
            outline-offset: 0;
        }

        &:disabled {
            opacity: 0.5;
        }
    }

    label {
        display: flex;
        align-items: flex-start;
        gap: 1em;
    }
}

rachats-motif-soixante-cinq-ans-introduction {
    .card {
        padding-top: 0;
        padding-right: 0;
        padding-bottom: 20px;
        background-color: #f4f6fa;
        border: 1px solid #3b87c9;
    }

    .card .content-pair {
        align-items: flex-start;
        gap: 50px;
    }

    .card .content-pair .left {
        position: relative;
    }

    .card .content-pair .left .montant {
        position: absolute;
        right: 0;
    }

    #title {
        color: #3b87c9;
        font-weight: bold;
        margin-bottom: 20px;
    }

    .image {
        width: 510px;
        height: auto;
    }

    .btn-secondary {
        margin-right: 20px;
        border: 1px solid #3b87c9;
        color: #3b87c9;

        &:hover {
            color: #3b87c9;
        }
    }
}

@media (max-width: 768px) {
    rachats-motif-soixante-cinq-ans-introduction {
        .card .content-pair {
            flex-direction: column;
            align-items: stretch;
            padding-right: 30px;
            gap: 20px;
        }

        .image {
            display: none;
        }

        .btn-secondary {
            display: inline-block;
            align-self: flex-start;
        }
    }
}

rachats-motif-soixante-cinq-ans-option-rachat {
    #titre {
        margin: 20px 0;
        text-align: center;
    }

    .onglet {
        border: 1px solid #ccc;
        border-bottom: none;
        border-radius: 20px 20px 0 0;
        color: #6C757D;
        margin: 0 auto;
        padding: 10px 0;
        text-align: center;
        max-width: 40%;
    }

    section {
        border: 1px solid #3b87c9;
        margin: 0 0 30px 0;
        padding: 5px;
    }

    .encart-bleu {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        background-color: #0094d3;
        color: #fff;
        margin: 1px 1px 5px 1px;
        text-align: center;
    }

    .encart-bleu .titre {
        margin: 0;
        padding: 20px;
    }

    .encart-bleu .contenu {
        margin: 0 auto;
        text-align: left;
        width: 40%;
        justify-content: space-evenly;
    }

    .encart-bleu .contenu p {
        display: flex;
        align-items: center;
        line-height: 2;
    }

    .encart-bleu .contenu p img {
        margin-right: 15px;
        width: 20px;
        height: 25px;
    }

    .encart-bleu .btn-secondary {
        margin: 25px 0;
        color: #0094d3;
        font-weight: bold;
        width: auto;
        min-width: 40%;
    }

    .encart-gris {
        margin: 1px;
        background-color: #f5f7fB;
        text-align: center;
    }

    .encart-gris .titre {
        margin: 0;
        padding: 20px;
    }

    .encart-gris p {
        margin-bottom: 0;
    }

    .encart-gris .btn-secondary {
        margin: 25px 0;
        width: auto;
        min-width: 40%;
    }
}

@media (max-width: 768px) {
    rachats-motif-soixante-cinq-ans-option-rachat {
        .onglet {
            width: unset;
        }

        .encart-bleu .contenu {
            width: 80%;
        }

        .encart-bleu .btn-secondary {
            width: unset;
            display: inline-block;
        }

        .encart-gris .btn-secondary {
            width: unset;
            display: inline-block;
        }
    }
}

rachats-motif-soixante-cinq-ans-questions-reponses {
    details {
        border: none;
        color: #6c757d;
        cursor: pointer;
        text-align: left;
        width: 100%;
    }

    summary {
        color: #6c757d;
        font-weight: bold;
        margin: 15px 0;
    }

    summary::before {
        content: '+ ';
    }

    .row {
        display: flex;
        flex-direction: row;
        border-bottom: 1px solid #000000;
    }

    .row:first-child {
        margin-top: 20px;
        border-top: 1px solid #000000;
    }

    .cell {
        flex: 1;
        padding: 10px;
        text-align: left;
    }

    & > details > summary {
        color: #0094d3;
    }
}

rachats-motif-soixante-cinq-ans-destination-batirente {
    p {
        color: #6c757d;
        margin: 15px 0;
    }

    li {
        color: #6c757d;
        margin: 0;
    }

    ul {
        margin: 15px 0;
    }
}

rachats-motif-soixante-cinq-ans-parenthese-depot-direct {
    .row {
        display: flex;
        flex-direction: row;
        margin-left: 0 !important;
    }

    .cell {
        flex: 1;
        padding: 10px 10px 10px 0;
        text-align: left;
    }

    .section-question-reponses {
        margin-top: 30px;
    }

    .centered {
        text-align: center;
    }

    .centered > button {
        display: inline-block;
        float: none;
    }
}

rachats-motif-soixante-cinq-ans-destination-compte-bancaire {
    #informations compte-bancaire {
        display: flex;
        flex-direction: row;
        flex-wrap: wrap;
        align-items: center;
        gap: 10px;

        .feedback-error {
            order: 1;
            margin-top: -20px;
        }

        @media (max-width: 768px) {
            flex-direction: column;
            align-items: flex-start;
            gap: 0;

            .feedback-error {
                order: unset;
                margin-top: -15px;
                margin-bottom: 15px;
            }
        }
    }

    p {
        margin: 0;
    }

    #labelCheque {
        margin-top: 20px;
        margin-bottom: 10px;
    }
}

rachats-motif-soixante-cinq-ans-transaction-completee {
    .key-value-list .key-value-pair {
        .key {
            font-weight: normal;
        }

        .value:not(:empty) {
            font-weight: bold;
            text-align: end;
        }

        @media (max-width: 768px) {
            .value:not(:empty) {
                text-align: unset;
            }
        }
    }

    .key-value-pair + asterisk {
        margin-top: 15px;
    }

    h3 {
        color: #0094d3;
    }

    p {
        margin: 20px 0 0 0;
    }
}

/*Ajout dynamique des numéros d'étapes aux card  */
rachats-motif-soixante-cinq-ans-destination-batirente,
rachats-motif-soixante-cinq-ans-destination-autre-institution,
rachats-motif-soixante-cinq-ans-destination-compte-bancaire,
rachats-motif-soixante-cinq-ans-details-rachat {
    counter-reset: step;

    .card {
        padding-left: 88px;
        position: relative;
    }

    .card::before {
        counter-increment: step;
        content: counter(step);

        position: absolute;
        left: 30px;

        display: flex;
        align-items: center;
        justify-content: center;

        width: 1.65em;
        height: 1.65em;
        border-radius: 50%;
        background: #0094d3;
        color: #fff;
        font-size: 1.65em;
    }

    @media (max-width: 768px) {
        .card {
            padding-left: 30px;
        }

        .card::before {
            position: static;
            left: 0;
        }
    }
}

rachats-motif-soixante-cinq-ans-details-rachat {
    h4 {
        margin-bottom: 20px;
    }

    p {
        margin: 20px 0;
        color: #6c757d
    }

    .adhesions-list {
        display: flex;
        flex-direction: column;
        gap: 12px;
    }

    .adhesion-row {
        display: flex;
        justify-content: space-between;
        align-items: flex-start;
    }

    .adhesion-label {
        flex: 1;
    }

    .adhesion-values {
        text-align: right;
    }

    .adhesion-none {
        color: #a94442;
    }

    #montant {
        margin-top: 20px;
    }
}

rachats-motif-soixante-cinq-ans-recapitulatif {
    .information-row {
        display: flex;
        justify-content: space-between;
        align-items: flex-start;
    }

    .information-label {
        flex: 1;
    }

    .information-values {
        text-align: right;
    }

    #note {
        margin-top: 20px;
    }

    ul {
        margin: 15px 0 15px -20px;

        li {
            color: #6c757d;
            margin: 0;
        }
    }
}

/*rachat motif 65 ans choix option rachat */

.simple-fit-space {
    display: flex;
    justify-content: space-between;
}

.minicards-container {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    margin: 30px 0 20px 0;

    @media (max-width: 768px) {
        flex-direction: column;
        align-items: center;
    }
}

minicard {
    .minicard {
        display: flex;
        flex-direction: column;
        background-color: #ffffff;
        padding: 15px;
        text-align: center;
        width: 14em;
        margin-bottom: 10px;

        .minicard-image {
            height: 60px;
            width: fit-content;
            margin: auto;
        }

        .minicard-title {
            margin-top: 15px;
            font-weight: bold;
        }

        .minicard-description {
            padding-top: 10px;
            color: #0094d3;
            border-top: solid 1px #cecfd1;
            margin: 0;
        }
    }
}

rachats-motif-soixante-cinq-ans-anglais-non-disponible {
    .card {
        margin-top: 0;
    }

    a {
        color: #0094d3;
        font-weight: bold;
    }

    p {
        margin-bottom: 0;
    }
}

.nouvelle-adhesion-visiteur {
    display: flex;
    flex-direction: column;

    .flex {
        display: flex;
        flex-direction: column;
    }

    .display-pannel {
        display: flex;
        flex-direction: row;
        justify-content: space-between;
        margin: 20px 0 15px 0;
    }

    .item-in-display {
        display: flex;
        flex-direction: column;
        align-items: center;
        margin-top: 15px;
        flex: 1;
    }

    .bold-blue {
        color: #0094d3;
        font-weight: bold;
    }

    .blue {
        color: #0094d3;
    }

    .small-image {
        width: fit-content;
        height: 44px;
        margin-bottom: 10px;
        allign-items: center;
    }

    .item-text {
        display: flex;
        flex-direction: column;
        text-align: center;
    }

    .section-start {
        margin-top: 20px;
    }

    .precisions {
        margin-top: 15px;
    }

    .asterix {
        margin-top: 15px;
        font-size: smaller;
    }

    #navigate-next {
        display: flex;
        flex-direction: row;
        align-self: end;
    }

    .fa-chevron-right {
        margin-left: 10px;
    }

    @media (max-width: 768px) {
        .display-pannel {
            flex-direction: column;
            margin: 0px;
        }

        .item-in-display {
            flex-direction: row;
        }

        .small-image {
            margin: 0 20px 0 0;
            allign-items: unset;
         }

        .item-text {
            text-align: unset;
        }

        .btn-text {
            display: none;
        }

        .fa-chevron-right {
            margin-left: 0px;
        }
    }
}

objectif-credits-impot {
    > encadre {
        display: flex;
        flex-direction: column;
        background-color: #f5f7fb;
        padding: 20px 15px;
        margin-bottom: 20px;

        titre {
            font-weight: bold;
        }

        titre[type="felicitation"]{
            display: inline-flex;
            align-items: center;
        }

        titre[type="felicitation"]::before{
            content: "";
            width: 25px;
            height: 25px;
            margin-right: 8px;
            background: url("../img/trophee.svg") center / contain no-repeat;
        }

        > sommaire {
            display: flex;
            flex-direction: row;
            gap: 10px;
            align-items: center;

            > montants {
                display: flex;
                flex-direction: column;

                > span:nth-of-type(1) { font-size: 1.4em; font-weight: bold; }
                > span:nth-of-type(2) { font-size: 1.0em; }
                > span:nth-of-type(3) { font-size: 0.7em; }
            }
        }

        > astuce {
            display: block;
            background-color: #d6eeda;
            padding: 15px 15px;
            border-left: #39B54A 8px solid;

            span { font-weight: bold; }
        }

        > action {
            display: block;
            margin-top: 15px;
            text-align: right;

            @media screen and (min-width: 992px) {
                > .btn {
                    display: block;
                    width: 100%;
                }
            }
        }
    }
}