@font-face {
    font-family: 'Overpass-Regular';
    src: url("../fonts/overpass/Overpass-Regular.ttf") format("truetype")
}
@font-face {
    font-family: 'Overpass-Light';
    src: url("../fonts/overpass/Overpass-Light.ttf") format("truetype")
}
@font-face {
    font-family: 'Overpass-Bold';
    src: url("../fonts/overpass/Overpass-Bold.ttf") format("truetype")
}
@font-face {
    font-family: 'Overpass-SemiBold';
    src: url("../fonts/overpass/Overpass-SemiBold.ttf") format("truetype")
}
@font-face {
    font-family: 'Overpass-Italic';
    src: url("../fonts/overpass/Overpass-Italic.ttf") format("truetype")
}
html {
    /*min-height: 100vh;*/
    width: 100%;
    overflow-x: hidden;
}
body {
    font-family: 'Overpass-Light', 'Arial';
    color: #520331;
    /*min-height: 100vh;
    position: relative;
    overflow-x: hidden;*/
    margin: 0;
    background-color: white;
    font-size: 100%;
}
html, body {
    min-height: 100%;
    overflow: hidden;
}
.wrapper {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    overflow: scroll;
    -webkit-overflow-scrolling: touch;
    overflow-scrolling: touch;
    min-height: 100%;
}
#body-content {
    /*min-height: 100vh;*/
    min-height: 100%;
    padding-top: calc(44px + 24px);
    padding-bottom: env(safe-area-inset-bottom);
    padding-left: 15px;
    padding-right: 15px;
    flex-direction: column;
    max-width: 600px;
    margin-left: auto;
    margin-right: auto;
}
html.offline #body-content {
    padding-top: calc(44px + 24px + 18px);
}
#body-content.large-header {
    padding-top: calc(44px + 24px + 38px);
}
html.offline #body-content.large-header {
    padding-top: calc(44px + 24px + 38px + 18px);
}
b {
    font-family: 'Overpass-Bold';
}
p, div {
    font-size: 15px;
    line-height: 1.3;
}
span {
    font-family: unset;
}
label {
    font-family: 'Overpass-Bold';
    font-size: 18px;
    margin-bottom: 2px;
}
.title {
    font-family: 'Overpass-Regular';
    font-size: 20px;
    text-transform: uppercase;
}
.form-group {
    margin-bottom: 24px;
}
.invalid-feedback {
    color: #FF6027;
}
/** FORM MATERIAL **/
.form-material .form-control {
    background-color: rgba(0,0,0,0);
    background-position: center bottom,center calc(100% - 1px);
    background-repeat: no-repeat;
    background-size: 0 2px,100% 2px;
    padding: 0;
    transition: background 0s ease-out 0s;
    color: #520331;
}
.form-material .form-control, .form-material .form-control.focus, .form-material .form-control:focus {
    background-image: linear-gradient(#FF6027,#FF6027),linear-gradient(#520331,#520331);
    border: 0;
    border-radius: 0;
    box-shadow: none;
    float: none;
}
.form-material .form-control.focus, .form-material .form-control:focus {
    background-size: 100% 3px,100% 2px;
    outline: 0;
    transition-duration: .3s;
}
.form-material textarea.form-control {
    padding-bottom: 6px;
    margin-top: 10px;
}
.form-material .was-validated textarea.form-control:valid, .form-material textarea.form-control.is-valid,
.form-material .was-validated textarea.form-control:invalid, .form-material textarea.form-control.is-invalid {
    background-position: center bottom,center calc(100% - 1px);
}
/** /FORM MATERIAL **/
a.link {
    font-family: 'Overpass-Light';
    font-size: 15px;
    color: #520331;
    text-decoration: underline;
}
a.link:hover, a.link:active, a.link:focus {
    opacity: 0.7;
}
.btn {
    font-family: 'Overpass-Bold';
    font-size: 15px;
    padding: 10px 30px;
    min-width: 176px;
    min-height: 48px;
    border-radius: 0px;
    display: flex;
    justify-content: center;
    align-items: center;
}
.btn-btn-row {
    min-width: 120px;
    width: 100%;
    max-width: 220px;
}
.btn-btn-row + .btn-btn-row {
    margin-left: 16px;
}
.btn.btn-sm {
    font-size: 13px;
    padding: 10px 10px;
    min-width: auto;
}
/** BTN-PRIMARY **/
.btn-primary {
    color: #FFFFFF;
    background: #FF6027;
    border-color: #FF6027;
    transition-duration: 0.5s;
}
.btn-primary:hover {
    color: #FFFFFF;
    background: #FF6027;
    border-color: #FF6027;
    opacity: 1;
}
.btn-primary:not(:disabled):not(.disabled).active, .btn-primary:not(:disabled):not(.disabled):active, .show>.btn-primary.dropdown-toggle {
    color: #FFFFFF;
    background-color: #FF6027;
    border-color: #FF6027;
    opacity: 0.7;
}
.btn-primary:not(:disabled):not(.disabled).active:focus, .btn-primary:not(:disabled):not(.disabled):active:focus, .show>.btn-primary.dropdown-toggle:focus {
    box-shadow: 0 0 0 0.2rem rgba(231, 162, 18, 0.5);
    opacity: 0.7;
}
.btn-primary.focus, .btn-primary:focus {
    color: #FFFFFF;
    background-color: #FF6027;
    border-color: #FF6027;
    box-shadow: 0 0 0 0.2rem rgba(231, 162, 18, 0.5);
    opacity: 0.7;
}
/** /BTN-PRIMARY **/
/** FORM CHECK RADIO BTN **/
/* RADIO */
.custom-control.custom-radio {
    min-height: 26px;
    margin-top: 8px;
    padding-left: 0px;
    margin-right: 14px;
}
.custom-control.custom-radio .custom-control-input {
    width: 26px;
    height: 26px;
    margin-top: -3px;
}
.custom-control.custom-radio .custom-control-label {
    font-family: 'Overpass-Light';
    padding-left: 36px;
}
.custom-control.custom-radio .custom-control-label::before {
    width: 26px;
    height: 26px;
    border: 2px solid #520331;
    margin-top: -7px;
    left: 0px;
    border: 2px solid #520331!important;
    box-shadow: none!important;
}
.custom-control.custom-radio .custom-control-input:checked~.custom-control-label::before {
    color: #fff;
    border-color: #520331;
    background-color: #520331;
}
.custom-control.custom-radio .custom-control-label::after {
    display: none;
}
/* /RADIO */

/* RADIO COLUMN */
.custom-control.custom-radio.custom-control-column {
    padding-left: 8px;
}
.custom-control.custom-radio.custom-control-column .custom-control-input {
    bottom: 0px;
}
.custom-control.custom-radio.custom-control-column .custom-control-label {
    display: flex;
    flex-direction: column-reverse;
    padding-left: 0px;
}
.custom-control.custom-radio.custom-control-column .custom-control-label::before {
    position: relative;
    left: -8px;
    top: 0;
    width: 26px;
    height: 26px;
    margin-bottom: 6px;
    margin-top: 0px;
}
/* /RADIO COLUMN */


/* CHECKBOX */
.custom-control.custom-checkbox {
    padding-left: 36px;
    min-height: 34px;
}
.custom-control.custom-checkbox .custom-control-input {
    width: 26px;
    height: 26px;
}
.custom-control.custom-checkbox .custom-control-label {
    font-family: 'Overpass-Light';
    font-size: 15px;
    margin-top: 6px;
}
.custom-control.custom-checkbox .custom-control-label::before {
    position: absolute;
    left: -36px;
    top: -5px;
    width: 26px;
    height: 26px;
    border: 2px solid #520331!important;
    box-shadow: none!important;
}
.custom-control.custom-checkbox .custom-control-input:not(:disabled):active~.custom-control-label::before {
    color: #fff;
    background-color: #520331;
    border-color: #520331;
}
.custom-control.custom-checkbox .custom-control-label::after {
    width: 26px;
    height: 26px;
    left: -36px;
    top: -5px;
}
.custom-control.custom-checkbox .custom-control-input:checked~.custom-control-label::before {
    color: #fff;
    border-color: #520331;
    background-color: #520331;
}
/* /CHECKBOX */
.custom-control-input:disabled~.custom-control-label, .custom-control-input[disabled]~.custom-control-label {
    color: #520331;
}
/** /FORM CHECK RADIO BTN **/
/** DROPDOWN **/
.dropdown:after {
    display: none;
}
.dropdown-menu {
    background: #FF6027;
    padding: 0;
    border-radius: 0px;
    box-shadow: 0px 0px 20px #52033126;
    border: none;
}
.dropdown-item {
    font-family: 'Overpass-Light';
    font-size: 15px;
    color: #FFFFFF;
    padding: 8px 16px;
    text-transform: none;
}
.dropdown-item.active, .dropdown-item:active {
    color: #fff;
    text-decoration: none;
    background-color: #FF6027;
    opacity: 0.7;
}
/** /DROPDOWN **/
/** TOAST **/
.jq-toast-single {
    font-size: 15px;
    padding: 10px;
    padding-top: 16px;
    padding-bottom: 14px;
    font-family: 'Overpass-Regular';
    text-transform: uppercase;
}
.jq-toast-wrap {
    width: 300px;
}
/** /TOAST **/



/**** HEADER ****/
header {
    background-color: #520331;
    font-family: 'Overpass-Regular';
    color: #FFFFFF;
    font-size: 20px;
    text-transform: uppercase;
    position: fixed;
    width: 100%;
    z-index: 10;
}
header div {
    font-size: 18px;
}
.header-top {
    display: flex;
    justify-content: space-between;
    align-items: center;
    min-height: 44px;
}
.header-left, .header-right {
    min-width: 60px;
    max-width: 60px;
    width: 60px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.header-mid {
    font-family: 'Overpass-Regular';
    text-align: center;
}
.header-bottom {
    font-family: 'Overpass-Regular';
    padding-bottom: 8px;
    text-align: center;
}
.header-bottom:empty {
    padding-bottom: 0px;
}
.header-icone {
    width: auto;
    height: 24px;
    cursor: pointer;
}
/*.header-left:active .header-icone, .header-right:active .header-icone,
.header-left:hover .header-icone, .header-right:hover .header-icone*/
.header-icone:active, .header-icone:active,
.header-icone:hover, .header-icone:hover {
    opacity: 0.7;
}
/**** /HEADER ****/

/**** BOX ****/
.box {
    background: #FFFFFF;
    box-shadow: 0px 0px 20px #52033126;
    padding: 8px 8px;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    cursor: pointer;
    margin-bottom: 16px;
    color: #520331;
    min-height: 48px;
}
.box-left {
    display: flex;
    align-items: center;
}
.box-icone {
    /*width: auto;
    height: 32px;*/
    margin-right: 24px;
}
.box-titre {
    font-family: 'Overpass-Regular';
    font-size: 18px;
    -moz-user-select: none; /* Firefox */
    -webkit-user-select: none; /* Chrome, Safari, Opéra depuis la version 15 */
    -ms-user-select: none; /* Internet explorer depuis la version 10 et Edge */
    user-select: none; /* Propriété standard */
}
.box-chevron {
    font-size: 8px;
    margin-right: 8px;
}
.box-border-orange {
    border: 2px solid #FF6027;
    color: #FF6027;
    min-height: 96px;
}
/**** /BOX ****/

/**** BOX2 ****/
.box2 {
    background: #EDE5EA;
    padding: 24px 14px;
    border: 2px solid #520331;
    margin-bottom: 16px;
}
.box2-titre {
    font-family: 'Overpass-Bold';
    font-size: 18px;
    text-transform: uppercase;
    text-align: center;
    margin-bottom: 20px;
    line-height: normal;
}
.box2-sous-titre {
    font-family: 'Overpass-Bold';
    font-size: 18px;
    text-align: center;
    margin-bottom: 15px;
}
.box2 .form-group:last-child {
    margin-bottom: 0px;
}
/**** /BOX2 ****/

/**** BOX3 ****/
.box3 {
    background: #FFFFFF;
    box-shadow: 0px 0px 20px #52033126;
    padding: 20px 16px;
    padding-right: 8px;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    cursor: pointer;
    margin-bottom: 24px;
    color: #520331;
    min-height: 64px;
}
.box3-right {
    display: flex;
    align-items: center;
}
.box3-icone {
    font-size: 22px;
    margin-right: 10px
}
/**** /BOX3 ****/

/**** BOX4 ****/
.box4 {
    background: #FFFFFF;
    box-shadow: 0px 0px 20px #52033126;
    padding: 20px 16px;
    padding-right: 8px;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    cursor: pointer;
    margin-bottom: 24px;
    color: #520331;
    min-height: 64px;
}
.box4-date {
    font-family: 'Overpass-Bold';
    font-size: 18px;
    text-transform: uppercase;
    margin-bottom: 14px;
}
.box4 p {
    margin-bottom: 0px;
}
.box4-right {
    display: flex;
    align-items: center;
    margin-left: 16px;
}
/**** /BOX4 ****/

/**** BOX5 ****/
.box5 {
    background: #FFFFFF;
    border: 2px solid #FF6027;
    box-shadow: 0px 0px 20px #00000026;
    padding: 16px 16px;
    padding-right: 30px;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 24px;
    color: #FF6027;
}
.box5-left {

}
.box5-right {
    font-family: 'Overpass-Bold';
    font-size: 18px;
    margin-left: 18%;
}
/**** /BOX5 ****/

.alert-alerte {
    display: flex;
    align-items: center;
    background: #FF6027;
    padding: 16px 16px;
    font-family: 'Overpass-Bold';
    color: #FFFFFF;
    font-size: 16px;
    line-height: normal;
}
.form-group + .alert-alerte {
    margin-top: -4px;
}
.alert-alerte + .form-group {
    margin-top: 24px;
}
/*.form-group ~ .alert-alerte {
    margin-bottom: 24px;
}*/
/*.box2 .alert-alerte {
    margin-bottom: -8px;
}*/
.alert-historique {
    padding: 20px 16px;
    background: #FF6027;
    cursor: pointer;
    text-align: center;
    margin-bottom: 24px;
}
.alert-historique__date {
    font-family: 'Overpass-Regular';
    font-size: 18px;
    color: #FFFFFF;
    margin-bottom: 20px;
}
/**** MODAL ****/
.modal-header {
    padding: 16px 1rem;
    border-bottom: none;
}
.modal-body {
    padding-top: 0px;
}
.modal-header .close {
    outline: none;
    opacity: 1;
    margin: -1rem -1rem -1.5rem auto;
    padding: 1rem 1rem;
}
.close:not(:disabled):not(.disabled):focus, .close:not(:disabled):not(.disabled):hover {
    opacity: .75;
}
.close i {
    font-size: 30px;
    line-height: 22px;
}
/**** /MODAL ****/

/**** FORMULAIRES ****/
.disabled-form {
    opacity: 0.4;
    pointer-events: none;
}
/**** /FORMULAIRES ****/

/**** TRUNCATED TEXT ****/
.toggle-clamp {
    margin-bottom: calc(1rem + 20px);
}
.line-clamp {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3; /* coupure à 3 lignes par défaut */
    overflow: hidden;
    white-space: initial;
}
.line-clamp.clamp-1 {
    -webkit-line-clamp: 1;
}
.line-clamp.clamp-2 {
    -webkit-line-clamp: 2;
}
.line-clamp.clamp-4 {
    -webkit-line-clamp: 4;
}
.line-clamp.clamp-5 {
    -webkit-line-clamp: 5;
}
/* etc pour le nombre de lignes souhaitées… */
.line-clamp p {
    display: contents;
    overflow: hidden;
}
.line-clamp p:not(:first-child):before {
    content: "\A";
    white-space: pre;
}
.btn-toggle-clamp {
    background: none;
    outline: none!important;
    border: none;
    padding: 4px 0px;
    margin-top: -40px;
    position: absolute;
    color: #520331;
    font-size: 14px;
    font-style: italic;
}
#bandeau-offline {
    background-color: #FF6027;
    color: white;
    text-align: center;
    width: 100%;
    padding: 0px 4px;
    transition-duration: 0.7s;
    font-size: 10px;
    height: 0px;
    display: flex;
    justify-content: center;
    align-items: center;
    overflow: hidden;
}
html.offline #bandeau-offline {
    height: 18px;
}
.pastille {
    background-color: #FF6027;
    color: white;
    font-size: 10px;
    position: absolute;
    width: 14px;
    height: 14px;
    border-radius: 14px;
    display: inline-flex;
    justify-content: center;
    align-items: center;
}
/**** /TRUNCATED TEXT ****/

/**** OFFLINE ****/
html:not(.offline) .show-offline {
    display: none;
}
html.offline .hide-offline {
    display: none;
}

.offline-item {
    padding: 6px 6px;
    font-size: 12px;
    border: 1px solid #520331;
    margin-bottom: 20px;
}
.offline-item .bottom {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: repeat(1, 1fr);
    grid-column-gap: 10px;
    grid-row-gap: 10px;
    margin-top: 10px;
}
/**** /OFFLINE ****/

.color-white { color: white; }
.color-black { color: black; }
.color-blue { color: #3e5c9a; }
.color-light-blue { color: #00aeef; }
.color-dark-blue { color: #284b69; }
.color-grey { color: #697681; }

.text-violet { color: #520331; }
.text-orange { color: #FF6027; }

.border-violet { border-color: #520331!important; }

.font-10 { font-size: 10px; }
.font-11 { font-size: 11px; }
.font-12 { font-size: 12px; }
.font-13 { font-size: 13px; }
.font-14 { font-size: 14px; }
.font-15 { font-size: 15px; }
.font-16 { font-size: 16px; }
.font-17 { font-size: 17px; }
.font-18 { font-size: 18px; }
.font-19 { font-size: 19px; }
.font-20 { font-size: 20px; }
.font-21 { font-size: 21px; }
.font-22 { font-size: 22px; }
.font-23 { font-size: 23px; }
.font-24 { font-size: 24px; }
.font-25 { font-size: 25px; }
.font-26 { font-size: 26px; }
.font-27 { font-size: 27px; }
.font-28 { font-size: 28px; }
.font-29 { font-size: 29px; }
.font-30 { font-size: 30px; }

.border-0 { border-width: 0px!important; }
.border-1 { border-width: 1px!important; }
.border-2 { border-width: 2px!important; }
.border-3 { border-width: 3px!important; }
.border-4 { border-width: 4px!important; }
.border-5 { border-width: 5px!important; }

.font-light { font-family: 'Overpass-Light'; }
.font-regular { font-family: 'Overpass-Regular'; }
.font-bold { font-family: 'Overpass-Bold'; }
.font-italic { font-family: 'Overpass-Italic'; }

.d-none-important {
    display: none!important;
}
.min-w-auto {
    min-width: auto!important;
}