body.public {
        font-size:14px;
}

/*
 * Navigation
 */
.form-menu a {
        color:#fff;
}

/*
 * Accueil
 */
.info-trainees {
        display:flex;
        gap:var(--panel-gap);
}
.info-trainees > * {
        width: 50%;
}

/**
 * Liste des profils
 */
.trainees-list .trainee-row {
        display: flex;
        padding: 5px 10px 5px 5px;
        align-items: center;
        gap: 15px;
        flex: 1 0 0;
        border-radius: 4px;
        border: 1px solid #C2C2C2;
        transition:.1s;
}
.trainees-list .trainee-row:hover,
.trainees-list .trainee-row.selected,
.form-resume .trainees-list .trainee-row,
.panel.profiles .trainees-list .trainee-row {
        background:var(--primary-color-light);  
        color:var(--primary-color-text);
        border-color:var(--primary-color-light-border);
}
.trainees-list .trainee-row.incomplete {
        background:var(--warning-color) !important;
        border-color:var(--warning-color-border) !important;
        color:var(--warning-color-text) !important;
}
.trainees-list .trainee-row.incomplete .btn-edit-trainee {
        background:#fff;
        border-color:var(--warning-color-border) !important;
        color:var(--warning-color-text) !important;
}
.trainees-list .trainee-row .trainee-photo {
        width:40px;
        height:40px;
        border-radius: 4px;
        overflow:hidden;
        background:var(--primary-color);
        position:relative;
}
.trainees-list .trainee-row .trainee-photo img {
        width:100%;
        height:100%;
        object-fit:cover;
}
.trainees-list .trainee-row .trainee-info {
        font-family: "Open Sans";
        font-size: 16px;
        font-weight: 700;
        flex: 1;
        line-height: 1.2;
        overflow: hidden;
        text-overflow: ellipsis;
}
.trainees-list .trainee-row .trainee-info span {
        white-space: nowrap;
}
.trainees-list .trainee-row .trainee-info .incomplete-warning {
        /* font-weight: normal; */
        font-size:12px;
}

/**
 * Liste des profils (home)
 */
.panel.profiles .trainees-list {
        display: flex;
        flex-direction: column;
        gap:8px;
}
.panel.profiles .trainees-list .trainee-row .btn {
        background:#fff;
        border-color:var(--primary-color-light-border);
        color:var(--primary-color-text);
        padding:5px 8px;
}
.panel.profiles .trainees-list .trainee-row .btn:hover {
        background:#f9f9f9;
}

/**
 * Panels par profils
 */
.trainee .panel-heading {
        padding:0;
        margin-bottom:20px;
        display:flex;
        gap:12px;
        align-items:center;
        text-transform: none;
        /* padding:7px 15px; */
        /* background: #3D454D; */
        background:#fff;
        color:inherit;
}
.trainee .panel-heading .trainee-photo img {
        width:30px;
        height:30px;
        object-fit:cover;
        overflow:hidden;
        border-radius:3px;
}
.trainee .panel-heading .trainee-name {
        flex-grow:1;
        font-weight:500;
        font-size:16px;
}
.trainee .panel-heading .btn-edit-trainee {
        text-transform:none;
        font-size:13px;
}

/**
 * Cours associés aux profils
 */
.trainee-subscriptions {
        display: flex;
        flex-direction: column;
        gap: 30px;
}
.trainee-subscriptions .training-session-row {
        display: flex;
}
.trainee-subscriptions .training-session-row .cards {
        flex:1;
}
.trainee-subscriptions .training-session-row .cards .card {
        flex-basis:100%;
        max-width: 320px;
        min-height:200px;
        cursor:auto;
}
.trainee-subscriptions .subscription-infos,
.training-session-dates {
        flex:1;
        display:flex;
        flex-direction: column;
}
.trainee-subscriptions .subscription-infos .alert {
        flex: 1;
        display:flex;
        flex-direction: column;
        justify-content:center;
        margin-bottom:10px;
        padding-left:40px;
}
.trainee-subscriptions .subscription-infos .alert:last-child {
        margin-bottom:0;
}
.trainee-subscriptions .subscription-infos .alert .subscription-status {
        font-size:18px;
        font-weight: bold;
}
.training-session-dates {
        gap:10px;
}
.trainee-subscriptions .subscription-infos .subscription-actions {
        display:flex;
        gap:10px;
}
.trainee-subscriptions .subscription-infos .subscription-actions .btn {
        padding-top:12px;
        padding-bottom:12px;
}
.trainee-subscriptions .subscription-infos .subscription-actions .btn:first-child {
        flex:1;
}
.trainee-subscriptions .subscription-infos .subscription-actions .btn-delete-subscription {
        min-width:50px;
}
.training-session-dates .training-session-date {
        display:flex;
        gap:10px;
        padding: 5px 10px 5px 5px;
        border-radius: 4px;
        border: 1px solid #CCC;
        background: #FFF;
        align-items: center;
}
.training-session-dates .training-session-date.passed {
        opacity:.4;
}
.training-session-dates .training-session-date .date {
        display: flex;
        padding: 3px 12px;
        border-radius: 4px;
}
.training-session-dates .training-session-date .training-name {
        flex-grow:1;
        font-weight:bold;
}
.training-session-dates .training-session-date .short-date {
        display:none;
}
.training-session-dates .training-session-date .hours {
        font-weight: bold;
}
.training-session-dates .dates-actions {
        display:flex;
}
.training-session-dates .dates-actions .separator {
        flex:1;
}
.training-session-dates-modal .modal-dialog {
        width:800px;
}

/*
 * Commandes & paiements
 */
.trainee-orders .training-session-teachers {
        font-size:12px;
}

/*
 * Modal d'édition d'un profil
 */
#modal-add-edit-trainee h4 {
        font-size:18px;
        font-weight: bold;
        margin-bottom:12px;
}
#modal-add-edit-trainee h4:not(:first-child) {
        margin-top:10px;
}
.trainee-photo.editable {
        position:relative;
        border-radius: 4px;
        border: 1px solid #ccc;
        -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
        box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
        padding: 4px;
        cursor: pointer;
        max-width: 90px;
}
.trainee-photo.editable img {
        object-fit: cover;
        width: 100%;
        border-radius: 4px;
}
.trainee-photo.editable .edit-icon {
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        font-size: 25px;
        color: #fff;
        opacity: 0.7;
        transition: opacity 0.2s;
}
.trainee-photo.editable:hover img {
        filter: brightness(70%);
}
.trainee-photo.editable:hover .edit-icon {
        opacity: 1;
}

#photo-upload,
#photo-upload-index {
        display: none;
}

/*
 * Formulaires
 */
.form-header .step-info {
        display:none;
}
.form-header .header-info {
        margin-top:15px;
        font-size:12px;
        text-transform:none !important;
        display: flex;
        flex-direction:column;
        gap:2px;
}
.form-header .trainee-name {
}
.form-header .training-infos {
}
.form-header .training-infos .training-name {
        font-weight:bold;
}
.form-header .training-infos .training-session-title {
}
.form-header .training-infos .num-places {
}

/**
 * Étape Choix du cours
 */
.step-cours .select-other-training-btn {
        margin-top:20px;
}
.step-cours .current-training-session + .training-session-choice {
        /* margin-top:20px;
        padding-top:20px;
        border-top:solid 1px; */
        display:none;
}
.step-cours .filters {
        display:flex;
        gap:30px;
        margin-bottom:30px;
}
.step-cours .search {
        width:35%;
}
.step-cours .search-input {
        width:100%;
        display:block;
        font-size:14px;
        height:28px;
}
.step-cours .categories-filter {
        display:flex;
        flex-wrap:wrap;
        gap:15px;
}
.step-cours .categories-filter .category {
        padding: 2px 11px 3px;
        border: solid 1px;
        border-radius: 12px;
        display: flex;
        gap: 8px;
        align-items: center;
        justify-content: center;
        font-size: 14px;
        cursor: pointer;
        user-select:none;
}
.step-cours .categories-filter .category .category-radio {
        width:12px;
        height:12px;
        border-radius:50%;
        border:solid 1px;
        display:flex;
        align-items: center;
        justify-content: center;
}
.step-cours .categories-filter .category.all {
        background-color:#333;
        border-color:#333;
        color:#333;
}
.step-cours .categories-filter .category.all .category-radio {
        background-color:#333;
}
.step-cours .categories-filter .category:not(.checked) {
        /* color:#fff !important; */
        color:#333 !important;
}
.step-cours .categories-filter .category.all.checked {
        color:#fff !important;
}
.step-cours .categories-filter .category.checked .category-radio {
        /* border: solid 3px; */
        position:relative;
}
.step-cours .categories-filter .category:not(.checked) {
        background:none !important;
}
.step-cours .categories-filter .category:not(.checked) .category-radio {
        background:none !important;
}
.step-cours .categories-filter .category .category-radio .radio-inner {
        display:none;
        width:6px;
        height:6px;
        border-radius:50%;
        background:#fff;
}
.step-cours .categories-filter .category.checked .category-radio .radio-inner {
        display:block;
}
.step-cours .training-session-cards .cards {
        clear:both;
        position:relative;
}
.step-cours .training-session-cards .cards .inactive-overlay {
        transition:.3s;
}
.step-cours .training-session-cards .cards .inactive-overlay.hidden {
        display:flex !important;
        visibility: visible !important;
        pointer-events: none;
        opacity:0;
}
.step-cours .training-session-cards .card:not(.selected):hover {
        transform:translateY(-8px);
}
.step-cours .form-step-content .card.selected {
        outline:solid 4px var(--primary-color);
}
.training-sessions-by-categories {
        position:relative;
}
.training-sessions-by-categories h4.category-name {
        font-weight: bold;
        font-size:16px;
        margin-top:50px;
        margin-bottom:20px;
}


/**
 * Étape profil
 */
.step-profil .form-step-content .step-title {
        display: flex;
        margin-bottom:15px;
}
.step-profil .form-step-content .step-title h3 {
        flex:1;
        margin-top:0;
}
.step-profil .form-step-content .step-title .btn { 
        flex-shrink: 1;
        align-self:flex-start;
}
.step-profil .trainees-list {
        display: flex;
        flex-wrap:wrap;
        flex-direction: column;
        gap:15px;
}
.step-profil .trainees-list input[type="radio"] {
        display:none;
}
/* .step-profil .trainees-list .trainee-row.selected .trainee-photo img {
        display:none;
} */
.step-profil .trainees-list .trainee-row {
        cursor:pointer;
}
.step-profil .trainees-list .trainee-row,
.step-profil .trainees-list .trainee-row .trainee-info,
.step-profil .trainees-list .trainee-row .btn,
.step-profil .trainees-list .trainee-row .checked-icon {
        transition:.2s;
}
.step-profil .trainees-list .trainee-row.selected .checked-icon {
        transition-delay:.2s;
}
.step-profil .trainees-list .trainee-row .trainee-info {
        position:relative;
}
.step-profil .trainees-list .trainee-row .checked-icon {
        position:absolute;
        top:9px;
        left:-9px;
        display:inline-block;
        font-size:18px;
        color:var(--primary-color-text);
        margin-left:10px;
        line-height: 0;
        opacity:0;
}
.step-profil .trainees-list .trainee-row.selected .checked-icon {
        opacity:1;
}
.step-profil .trainees-list .trainee-row.incomplete .checked-icon {
        color:var(--warning-color-text);
}
.step-profil .trainees-list .trainee-row.selected .trainee-info {
        padding-left:28px;
}
.step-profil .trainees-list .trainee-row.selected .btn {
        background:#fff;
        border-color:var(--primary-color-light-border);
        color:var(--primary-color-text);
}
.step-profil .trainees-list .trainee-row.incomplete .btn {
        background:#fff;
        border-color:var(--warning-color-border);
        color:var(--warning-color-text);
}

 
.subscriptions-selector {
        margin-top:20px;
}
.session-description,
.price-variation-description {
        display:none;
}
.price-variation-description {
        margin-top:10px;
        margin-bottom:0;
}
.list-group-item {
        padding-left:35px;
        padding-right:35px;
        font-size:13px;
        padding-top: 7px;
        padding-bottom: 7px;
}
.list-group-item .radio {
        padding:0;
        margin:0;
        font-size:12px;
        min-height:0;
        padding:2px 0;
}
.list-group-item.active,
.list-group-item.active:hover, .list-group-item.active:focus {
        background-color: #013f51;
        border-color: #013f51;
}
.list-group-item label {
        font-weight:bold;
}
.list-group-item .radio {
        color:#013F51;
}
.list-group-item.active .radio {
        color:#fff;
}
.list-group-item .radio input {
        position:relative;
        top:-1px;
}

.form.step-paiement .with-price-variations #gateway-selection,
.form.step-paiement .with-price-variations #gateway-forms,
.form.step-paiement #gateway-forms .gateway-form {
        display:none;
        padding-top:20px;
}

.child-specific-fields {
        display: none;
        padding-top: 20px;
        padding-bottom: 5px;
}
.child-specific-fields .parents-cols {
        margin-top: 10px;
        margin-bottom: 30px;
}
.child-specific-fields .parents-cols > .col-md-6:first-child {
        padding-right:30px;
        border-right:solid 1px #ccc;
}
.child-specific-fields .parents-cols > .col-md-6:last-child {
        padding-left:30px;
}
.child-specific-fields .parents-cols > .col-md-6 > .row:last-child .input {
        margin-bottom: 0;
}
.child-specific-fields .parents-cols h3 {
        font-size:16px;
        text-transform: uppercase;
}
.child-specific-fields label.control-label {
        padding-top:0;
}

@media screen and (max-width:1200px)
{
        .info-trainees {
                flex-direction:column;
        }
        .info-trainees > * {
                width:100%;
        }
        .info-trainees > :first-child {
                margin-bottom:0;
        }
}

@media screen and (max-width:991px)
{
        .info-trainees > :first-child {
                display: none;
        }
        .trainee-subscriptions .training-session-row:not(:last-child) {
                border-bottom: solid 1px var(--primary-color-light-border);
                padding-bottom:25px;
        }
        .trainee-subscriptions .training-session-row .cards .card {
                max-width:none;
                min-height:100px;
        }
}

@media screen and (max-width:768px)
{
        .trainees-list .trainee-row {
                padding: 5px;
                gap: 10px;
        }
        .trainees-list .trainee-row .trainee-photo {
                width: 24px;
                height: 24px;
        }
        .trainee .panel-heading {
                flex-wrap:wrap;
        }
        .trainee .panel-heading .trainee-new-subscription {
                flex-basis:100%;
                width:100%;
        }
        .trainee .panel-heading .trainee-new-subscription > * { /* btn ou span.tooltip + btn */
                width:100%;
        }
        .trainee-subscriptions .cards {
                gap:10px;
        }
        .trainee-subscriptions .subscription-infos .alert {
                padding:10px 15px;
        }
        .trainee-subscriptions .subscription-infos .alert .subscription-status {
                font-size:16px;
        }
        .training-session-dates {
                gap:10px;
        }
        .training-session-dates > label {
                margin-top:5px;
                margin-bottom:-4px;
        }
        .training-session-dates .training-session-date {
                font-size: 12px;
        }
        .training-session-dates .training-session-date .long-date {
                display:none;
        }
        .training-session-dates .training-session-date .short-date {
                display:block;
        }
        .training-session-dates-modal .modal-dialog {
                width: auto;
        }
        .panel.trainee-orders .panel-body {
                overflow:auto;
        }
        .panel.trainee-orders .panel-body thead {
                display:none;
        }
        .panel.trainee-orders .panel-body tr {
                display:flex;
                flex-direction:row;
                flex-wrap:wrap;
                border-bottom:solid 1px #ddd;
                padding-bottom:15px;
                margin-bottom:15px;
        }
        .panel.trainee-orders .panel-body tr td {
                display:block;
                padding:0px;
                border:none;
        }
        .panel.trainee-orders .panel-body tr td.session-name {
                font-size:11px;
                font-weight:bold;
                flex-basis:100%;
        }
        .panel.trainee-orders .panel-body tr td.training-session-name {
                padding-bottom:5px;
                flex-basis:100%;
        }
        .panel.trainee-orders .panel-body tr td.trainee-name {
                display:none;
        }
        .panel.trainee-orders .panel-body tr td.price-label:after {
                content:' : ';
        }
        .panel.trainee-orders .panel-body tr td.amount {
                margin-left:3px;
        }
        
        .panel.trainee-orders .panel-body tr td.gateway-status,
        .panel.trainee-orders .panel-body tr td.actions {
                flex-basis:100%;
        }
        .panel.trainee-orders .panel-body tr td.actions {
                margin-top:5px;
        }
        .panel.trainee-orders .panel-body tr td.actions .btn {
                width:100%;
                padding-top:3px;
                padding-bottom:3px;
        }
        .training-session-cards .card {
                flex-basis:100%;
                align-self: auto;
        }
        .step-cours .filters {
                flex-direction: column;
                align-items: start;
                gap:15px;
                margin-bottom:30px;
        }
        .step-cours .search {
                width:100%;
        }
        .step-cours .categories-filter {
                flex-wrap:wrap;
                gap:10px;
        }
        .step-profil .form-step-content .step-title h3 {
                display:none;
        }
        .training-sessions-by-categories h4.category-name {
                margin-top:30px;
        }
        .step-profil .form-step-content .step-title {
                flex-direction:column;
        }
        .step-profil .form-step-content .step-title .btn {
                width:100%;
        }
        .trainees-list .trainee-row .trainee-photo {
                width: 30px;
                height: 30px;
        }
}