@charset "utf-8";
/* CSS Document */

.text-muted {
    color: #223654 !important;
    font-size: 0.875rem;
    font-weight: normal;
}

.rq-navbar-service {
    background-color: #efefef;
}
.rq-navbar-service button {
    background-color: transparent; color: var(--qc-color-text-primary)
}
.header-services .text-muted {
    font-family: var(--qc-font-family-roboto)
}

.header-services {
    padding-bottom: 1.5rem
}
.header-services > .pl-md-2 {
	padding-left: 0!important
}

.rq-titre-sauvegarde {
    font-family: 'Roboto';
    font-size: 1.5rem;
    display: block;
    padding: .75rem 0;
}

.rq-navbar-etapes ul {
    margin: 1rem 0;
    padding: 0;
    list-style: none;
    align-items: flex-end
}
.rq-navbar-etapes ul > li {
    padding: 0;
}
.rq-navbar-etapes ul > li > span,
.rq-navbar-etapes ul > li > button{
    color: #5E6468;
    background-color: transparent;
    border: none;
    width: 100%;
    text-align: left
}
.rq-navbar-etapes ul > li > span, 
.rq-navbar-etapes ul > li > a,
.rq-navbar-etapes ul > li > button{
    border-bottom: 4px solid var(--qc-color-grey-light);
    display: block;
    transition: border-bottom-color .5s;
    text-decoration: none;
    font-size: 0.875rem;
}
.rq-navbar-etapes ul > li:not(:first-child) > span, 
.rq-navbar-etapes ul > li:not(:first-child) > a,
.rq-navbar-etapes ul > li:not(:first-child) > button{
    margin-left: 4px;
}
.rq-navbar-etapes ul > li.active > span,
.rq-navbar-etapes ul > li.active > button,
.rq-navbar-etapes ul > li > button.active{
    border-bottom-color: #095797;
    font-weight: 600;
    color: #0054a6;
}
.rq-navbar-etapes ul > li.complete > a, 
.rq-navbar-etapes ul > li.complete > span,
.rq-navbar-etapes ul > li.complete > button{
    border-bottom-color: #223654;
    font-weight: 600;
    color: #223654;
}
.rq-navbar-etapes.step-only .texte {
	display: none
}

.rq-message-erreur:not(.show) {
    display: none;
}
.rq-champs-obligatoire {
    color: #dc3545;
    font-size: .5rem;
    vertical-align: super;
    padding-right: 0.25rem;
}

.form-bg {
    background-color: #f6f6f6;
    padding-top: 1.25rem;
    padding-bottom: 1.25rem;
}
.form-bg .rq-box-shadow{
    padding: 1rem
}

.rq-form-nav-container{
	display: flex;
	gap: 20px 40px;
}
.rq-form-nav-container h2.mobile-title {
	font-size: 1.25rem;
	margin-bottom: 0;
}
.rq-form-nav-container h2.mobile-title:before{
	content: "";
    position: absolute;
    width: 100%;
    height: 1;
    display: block;
    bottom: 0;
    left: 0;
	z-index: 0;
	padding: 0!important
}
.rq-form-nav-container h2.mobile-title:before,
.rq-form-container h2{
	border-bottom: 1px solid var(--qc-color-grey-light);
	box-shadow:  0 2px 0px 0px rgba(255, 255, 255, 1);
    padding-bottom: .75rem;
}

.rq-form-container{
    width: 100%;
}

.rq-form-nav-container .rq-form-bloc > .rq-box-shadow{
	border: none
}
.rq-form-nav-container nav{
	width: 100%;
}
.rq-form-nav-container nav .steps-container button{
	border: none;
}

.rq-form-nav-container .complex-steps-actions a,
.rq-form-nav-container .complex-steps-actions button {
	margin-bottom: 1.25rem;
    display: flex;
    align-items: center; color: var(--qc-color-text-primary);
    font-size: 1rem;
    line-height: 1.25rem;
    font-weight: 700;
	text-decoration: none;
	text-align: left
}
.rq-form-nav-container .complex-steps-actions span{
	text-decoration: underline;
	font-size: 1.25rem
}
.rq-form-nav-container .complex-steps-actions button i,
.rq-form-nav-container .complex-steps-actions a i {
	margin-right: 0.5rem
}

nav .complex-steps-trigger {
    width: 100%;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    padding: .75rem 1rem;
	background-color: white;
}
nav .complex-steps-trigger .labels {
    display: block;
    text-align: left; color: var(--qc-color-text-primary);
    line-height: 1.3;
	font-weight: 600;
}

.rq-form-nav-container nav .rq-menu-liens,
nav .complex-steps {
    margin: 0;
    padding: 0;
    list-style: none;
    max-height: 0;
    transition: max-height 250ms ease-in-out;
	overflow: hidden;
	position: relative
}
nav .complex-steps {
   border-top: 1px solid var(--qc-color-grey-light);
}

.rq-form-nav-container nav .rq-menu-liens.show,
nav .complex-steps.show,
nav .complex-steps .status-progession-step.show {
    max-height: 3000px
}
nav .complex-steps .complex-step {
    margin-bottom: 0;
    border-bottom: 1px solid var(--qc-color-grey-light);
    font-weight: 700;
	padding: 0;
	position:relative;
	overflow: hidden;
    z-index: 2;
}
nav .complex-steps .complex-step .label {
    font-size: 1rem
}
nav .complex-steps .complex-step .label i {
    margin-right: 14px;
	font-size: 1.5rem
}
nav .complex-steps .complex-step.current-step { 
    color: var(--qc-color-text-primary);
    background-color: var(--qc-color-blue-pale)
}
nav .complex-steps .complex-step:last-child {
    border-bottom: unset
}

nav>span .label, 
nav .complex-insteps-trigger .label {
    display: block;
    text-align: left;
    font-size: .875rem;
    font-weight: 700;
    color: var(--qc-color-grey-medium);
    transition: all 250ms ease-in-out;
}

nav .complex-steps .complex-step>a,
nav .complex-steps .complex-step>span,
nav .complex-steps .complex-step .complex-insteps-trigger {
    display: flex;
    padding: .75rem 1rem;
    color: var(--qc-color-grey-medium);
    text-decoration: none;
    font-size: 1rem;
	background-color: white
}
nav .complex-insteps-trigger {
    width: 100%;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
}
nav .complex-steps .complex-step>a .label,
nav .complex-steps .complex-step>span .label,
nav .complex-steps .complex-step .complex-insteps-trigger .label {
    display: flex;
    align-items: center;
	margin: 0
}
nav .complex-steps .complex-step.completed>a,
nav .complex-steps .complex-step.completed>span,
nav .complex-steps .complex-step.completed .complex-insteps-trigger {
    position: relative;
    z-index: 2
}
nav .complex-steps .complex-step.in-progress .label,
nav .complex-steps .complex-step .complex-insteps-trigger[aria-expanded="true"] .label,
nav .complex-steps .complex-step.completed>a .label,
nav .complex-steps .complex-step.completed>span .label,
nav .complex-steps .complex-step.completed .complex-insteps-trigger .label,
nav .complex-steps .complex-step .complex-insteps-trigger i{ 
    color: var(--qc-color-text-primary);
}

nav .complex-steps .complex-step.in-progress .label i{
    color: var( --qc-color-blue-piv);
	font-weight:900
}

.filters-wrapper {
    margin: 32px 0;
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
    align-items: flex-start;
    gap: 32px;
}

.filters-wrapper aside {
    width: 100%;
    position: relative;
    z-index: 2;
}

.filters-sidebar {
    background: #f2f1f1;
    padding: 1rem;
    width: 100%;
}
	
.filters-header {
	display: flex;
	justify-content: space-between;
	position: relative
}

.filters-header h2 {
	margin-bottom: 0;
	margin-top: 0!important;
}

.filters-header h2 button{
	border: none;
	background-color: transparent
}

.filters-body {
	padding-top: 1rem
}

.filters-body legend {
	margin-top: 1rem
}

.filters-group:not(:last-child) {
	 border-bottom: 1px solid var(--qc-color-grey-light);	
}

.filtered-results {
    width: 100%;
    flex-grow: 1;
}

.filtered-results .rq-pagination-top {
    font-size: 	1rem;
	border-bottom:  1px solid #223654;
	font-weight: 600
}

.filtered-results > .row:first-child {
	border-bottom:  1px solid #223654;
	margin-bottom: 1.25rem
}

.filtered-results > .row:first-child  .pagination{
	margin-bottom: 0
}

@media (max-width: 991.98px) {
	
	.rq-form-nav-container{
		flex-direction:column;
	}
	
	nav .steps-container{
		margin-bottom:1rem;
		border: 1px solid var(--qc-color-grey-light);
		box-shadow: 0 3px 6px 0 rgba(34, 54, 84, .15);
	}
	nav .complex-steps .complex-step .complex-insteps-trigger[aria-expanded="true"]{
		 background-color:transparent
	}
	
	nav .complex-steps .status-progession-step::before {
		content: "";
		left: 25px
	}
	.complex-step.completed:has(.status-progession-step.show)::after {
        content: "";
        top: 0;
        left: 24px;
    }
	
	.filters-header h2 {
		width: 100%;
		display: flex;
		justify-content: space-between;
		flex-direction: row;
	}
	
	.filters-header h2 button::after{
		position: absolute;
		top:0;
		right: 0;
		bottom: 0;
		left: 0;
		z-index:1;
		content: "";
	}
	
	#effacer_filtres{
		padding-left: 0
	}

}

@media (min-width: 768px) {
    .rq-titre-sauvegarde {
        padding-top: 0;
    }
}

@media (min-width: 992px) {
	
	.rq-form-nav-container{
		margin-top: 1rem
	}
    
    .rq-form-container:not(:first-child){
        max-width:  calc(100% - 308px)
    }
	
    .rq-form-nav-container nav{
        min-width: 268px;
		max-width: 268px;
    }
	
	.rq-form-nav-container nav .rq-menu-liens.collapse:not(.show) {
   		display: block;
	}
	
	.rq-form-nav-container nav .rq-menu-liens {
		max-height: unset;
		border-top: unset;
		padding: 0 0.25rem;
	}
	.rq-form-nav-container nav .rq-menu-liens .active {
		background: linear-gradient(to top, #efefef 45%, rgba(255, 255, 255, 0) 90%);
		font-weight: 500
	}
	
	.rq-form-nav-container nav .rq-menu-liens .active i {
		font-weight: 900
	}
	
	.filters-wrapper {
		margin-top: 40px;
		flex-direction: row;
		flex-wrap: nowrap;
	}
	
	.filters-header h2 button{
		display: none
	}
	
	.filters-body.collapse{
		display: block	
	}
	
	#effacer_filtres {
		position: absolute;
    	right: 0rem;
    	top: 1rem;	
	}
}

nav .complex-steps .complex-step.in-progress > a,
nav .complex-steps .complex-step.in-progress >span,
nav .complex-steps .complex-step.in-progress >button {
    background-color: var(--qc-color-blue-pale)
}
nav .complex-steps .status-progession-step {
    margin-bottom: 0;
    margin-top: 0;
    padding:1rem 1rem 0 0.625rem;
    max-height: 0;
    overflow: hidden;
    -webkit-transition: all 250ms ease-in-out;
    transition: all 250ms ease-in-out
}

nav .complex-steps .status-progession-step.opened {
    max-height: 3000px
}
nav .complex-steps .status-progession-step li {
    font-weight: 400;
    font-size: .875rem;
    line-height: 1.375rem
}
nav .complex-steps .status-progession-step li ol {
    padding: 0.5rem 0 0;
    list-style-type: none
}
nav .complex-steps .status-progession-step li.niv-3{
	min-height: 0;
}

nav .complex-steps .status-progession-step li.niv-3 a,
nav .complex-steps .status-progession-step li.niv-3 >span,
nav .complex-steps .status-progession-step li ol li{
    padding-left: 0;
    line-height: 1.25;
    display: flex
}

nav .complex-steps .status-progession-step li.niv-3 a,
nav .complex-steps .status-progession-step li.niv-3 >span{
	padding-left: 0.5rem;
	text-decoration: none
	
}
nav .complex-steps .status-progession-step li.niv-3 a>span{
	text-decoration: underline
}
nav .complex-steps .status-progession-step li.niv-3 a::before,
nav .complex-steps .status-progession-step li.niv-3  >span::before,
nav .complex-steps .status-progession-step li ol li::before{
    display: inline-block;
    width: 0.5rem;
    height: 7px;
    top: 0;
    transform: none;
    position: relative; 
}
nav .complex-steps .status-progession-step li.niv-3 a::before,
nav .complex-steps .status-progession-step li.niv-3 >span::before,
nav .complex-steps .status-progession-step li ol li::before{
        content: ">";
        margin-right: 0.5rem;
    }

nav .complex-steps .status-progession-step li.completed .number {
    background-color: var(--qc-color-blue-dark);
    border-color: var(--qc-color-blue-dark);
}
nav .complex-steps .status-progession-step li.completed .number::after {
    color: white
}

nav .complex-steps .status-progession-step li.completed.next-is-current::after {
    border-width: 0 0 0 2px;
    border-left-style: solid;
    border-left-color: var(--qc-color-blue-dark);
	border-image: linear-gradient(to top, var( --qc-color-blue-piv) 1%, var(--qc-color-blue-dark) 30%);
}
nav .complex-steps .status-progession-step li.current {
    font-weight: 700
}
nav .complex-steps .status-progession-step li.current .number {
    background-color: var( --qc-color-blue-piv);
    border-color: var( --qc-color-blue-piv);
    color: white;
    z-index: 4
}

.status-progession-step {
    margin: 0 0 80px;
    padding: 0;
    counter-reset: step-counter;
    list-style: none;
    position: relative;
    overflow: hidden
}

.status-progession-step::before,
nav .complex-steps::before {
	width: 4px;
	border-radius: 0 0 4px 4px;
	display: block;
	background-color: var(--qc-color-grey-light);
	position: absolute;
	top: 0;
	bottom: 0;
}
nav .complex-steps::before {
	left: 30px;
	z-index: 1;
}

.status-progession-step.complex-confirmation {
    margin-bottom: 40px
}
.status-progession-step > li {
    min-height: 2.5rem;
    padding: 6px 0 0 48px;
    margin: 0 0 6px;
    position: relative;
    display: flex;
    flex-direction: column
}
.status-progession-step > li:not(.niv-3) {
    counter-increment: step-counter;

}
.status-progession-step li .number {
    width: 31px;
    height: 31px;
    border-radius: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    color: var(--qc-color-grey-medium);
    font-weight: bold;
    border: 1px solid var(--qc-color-grey-light);
    background-color: white;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 2
}
.status-progession-step li:not(.niv-3) .number::after {
    content: counter(step-counter)
}
.status-progession-step li.completed .number {
    border: 1px solid var( --qc-color-blue-piv);
    background-color: var( --qc-color-blue-piv)
}
.status-progession-step li.completed .number::after {
    color: white
}
/*.status-progession-step li.completed::after,*/
.status-progession-step >li.current::before,
.status-progession-step >li.completed::before{
	content: "";
	width: 4px;
	height: 57px;
	border-radius: 0 0 4px 4px;
	display: block;
	background-color: var(--qc-color-blue-dark);
	position: absolute;
	top: -3.25rem;
    bottom: 0;
    left: 14px;
	z-index: 1;
	transform: translateY(50%);
}
.status-progession-step >li.completed +
.status-progession-step >li.current::before{
	background-color: var(--qc-color-blue-dark);
}

nav .complex-steps .status-progession-step >li.current::before {
  background-color: var(--qc-color-blue-dark); 
}

.status-progession-step a{color: var(--qc-color-blue-dark)}
.status-progession-step p {margin: 0}
.status-progession-step p.status-title {
    font-weight: 700;
    line-height: 1.25rem
}
.status-progession-step p.status-details {
    margin-top: 4px;
    font-size: .875rem;
    line-height: 1rem
}

.complex-step.completed::after {
	width: 4px;
	height: 100%;
	border-radius: 0 0 4px 4px;
	display: block;
	background-color: var(--qc-color-blue-dark);
	position: absolute;
	top: -10px;
	bottom: 0;
	left: 26px;
	z-index: 1;
	transform: translateY(50%)
}

@media (min-width: 992px) {
	
	.offset-form-nav {
		margin-left: 308px; 
	}
	
	.rq-form-nav-container .complex-steps-trigger {
        display: none;
    }
	
	.rq-form-nav-container nav .rq-menu-liens.collapse:not(.show),
	.rq-form-nav-container .complex-steps.collapse:not(.show) {
   		display: block;
	}
	
	.rq-form-nav-container nav .rq-menu-liens,
	nav .complex-steps {
		max-height: unset;
		border-top: unset;
		padding: 0 0.25rem;
	}
	.rq-form-nav-container nav .rq-menu-liens .active {
		background: linear-gradient(to top, #efefef 45%, rgba(255, 255, 255, 0) 90%);
		font-weight: 500
	}
	
	.rq-form-nav-container nav .rq-menu-liens .active i {
		font-weight: 900
	}
	nav .complex-steps .complex-step {
        border: unset;
        box-shadow: unset;
		padding-bottom:16px;
    }
	nav .complex-steps .complex-step:last-child {
        border:unset
    }
	nav .complex-steps .complex-step .complex-insteps-trigger:hover,
	nav .complex-steps .complex-step .complex-insteps-trigger:focus {
        background-color:#f2f1f1
    }
	nav .complex-steps .complex-step>span,
	nav .complex-steps .complex-step>a,
	nav .complex-steps .complex-step .complex-insteps-trigger {
		/*margin-bottom:16px;*/
		border: 1px solid var(--qc-color-grey-light);
		box-shadow: 0 3px 6px 0 rgba(34,54,84,.2);
		transition: all 250ms ease-in-out
	}
	nav .complex-steps .complex-step.completed {
        position:relative
    }
	
	.status-progession-step li.completed::after{
		 left: 10px;
	}
	
	nav .complex-steps::before {
		content: "";
		top: 1rem;
    	bottom: 2rem;
	}
	
	nav .complex-steps .complex-step.in-progress .complex-insteps-trigger,
    nav .complex-steps .complex-step.completed .complex-insteps-trigger:hover,
	nav .complex-steps .complex-step.completed .complex-insteps-trigger:focus {
        background-color:var(--qc-color-blue-pale)
    }
    
    nav .complex-steps .status-progession-step {
        padding-left:1rem;
    }
    
	.complex-step.completed:not(.no-after)::after {
        content: "";
        top: -10px;
        left: 26px;
    }
	.status-progession-step li .number {
		left: -.25rem
	}
	.status-progession-step > li.completed::before,
	.status-progession-step > li.current::before{
    	left: 10px;
	}
	.status-progession-step::before {
    	left: 26px
	}
	
	.filters-wrapper aside {
    	max-width: 360px;
	 }
}

.rq-form-bloc {
   margin-top: 1.25rem;
   width: 100%
}
.rq-form-bloc > .rq-box-shadow{
    margin-top: 0
 }

.label {
    display: inline-block;
    margin-bottom: 0.5rem;
}

input[data-val-regex-pattern="(^[0-9-]*$)"],
input.masque-telephone,
input[type="number"],
input[data-type="tel"],
input[inputmode="numeric"]{
    -moz-appearance: textfield;
    text-align: right;
}
input[type="number"]::-webkit-inner-spin-button, 
input[type="number"]::-webkit-outer-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

.no-remove-possible .supprimer {
	display: none;
}
.form-select:has(:only-child){
	background-color: var(--bs-secondary-bg);
}

.input-number-txt {
	white-space: nowrap!important;
	position: relative;
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
    width: 100%;
	justify-content: flex-end;
}

.rq-form-inline {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-flow: row wrap;
    flex-flow: row wrap;
    -ms-flex-align: center;
    align-items: center;
}

.form-check{
    padding-left: 1rem;
	margin-bottom: 0.5rem
}
.form-check label {
    cursor: pointer;
    display: inline-flex;
    align-items: flex-start;
    margin-bottom: 0;
    width: auto;
    justify-content: start;
	line-height: 1.4
}
.form-check:not(.form-switch) input[type="radio"],
.form-check:not(.form-switch) input[type="checkbox"]{
    position: absolute;
    clip: rect(0, 0, 0, 0);
    height: 1px;
    width: 1px;
    margin: -1px;
    bottom: 0;
    left: 50%;
    outline: none;
    border: 0;
    overflow: hidden;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}
.form-check label>span {
    position: relative;
    width: 1.5rem;
    height: 1.5rem;
    flex-shrink: 0;
	margin-right: 0.75rem
}
.form-check label:has(input:disabled){
	color: var( --qc-color-grey-medium)!important;
	pointer-events: none;
}
.form-check i:not(.rq-champs-obligatoire){
	font-size: 1.5rem
}
.form-check label>span::before {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
	content:'';
    width: 1.5rem;
    height: 1.5rem;
	border-radius: .2rem;
	background-color: white;
	transition: background-color .5s ease
}
.form-check label:has(input:not(:disabled))>span::before{
	 border: 2px solid var(--qc-color-blue-dark);
}
.form-check label:has(input:disabled)>span::before{
	 border: 2px solid var( --qc-color-grey-medium);
}

.form-check label:has(.is-invalid)>span::before{
	border: 2px solid var(--rq-error-color)!important;
	background-color: rgba(220,53,69,.04)
}
.form-check label>span::after {
    display: block;
    position: absolute;
    left: 1px;
    top: 1px;
	color: white;
	font-family: var(--fa-font-family);
	content: '\f00c';
	width: 1.5rem;
    height: 1.5rem;
	opacity: 0;
	transition: opacity .5s ease;
	text-align: center;
}

.form-check.compact label>span::after{
	 top: -1px;
}

.form-check label>span.type-radio::after {
	content: "";
  	border-radius: 50%;
  	display: inline-block;
	border: 2px solid white;
	width: 1.25rem;
	height: 1.25rem;
	top: 2px;
	left: 2px;
}
.form-check.compact label>span,
.form-check.compact label>span::after,
.form-check.compact label>span::before{
	 width: 1.25rem;
     height: 1.25rem;
}
.form-check.compact label>span.type-radio::after {
 	width: 1rem;
	height: 1rem;
}
.form-check label:has(input:checked:not(:disabled)) >span::before {
	background-color: var( --qc-color-blue-regular);
	border-color: var( --qc-color-blue-regular);
}
.form-check label:has(input:checked:disabled) >span::before {
	background-color: var( --qc-color-grey-medium);
	border-color: var( --qc-color-grey-medium);
}
.form-check label:has(input:checked) >span::after {
   opacity: 1
}
.form-check label:has(input:focus) >span{
    box-shadow: var(--rq-form-control-shadow);
	border-radius: .2rem;
}
.form-check label>span.type-radio::before,
.form-check label:has(input:focus) >span.type-radio {
	border-radius: 50%;
}

.rq-form-inline .btn-selection{
	margin-left: .5rem
}

.btn-selection{
	border: 1px solid var(--qc-color-grey-light);
	transition: all .5s ease;
    border-radius: 6px;
	background-color: white;
	padding: 1rem;
	position: relative;
	z-index: 10
}
.rq-btn-group-absolute:not(.show){
	display: none;
	opacity: 0;
	transition: border .2s,background-color .7s ease-in-out, opacity .7s ease-in-out
}
.rq-btn-group-absolute.show {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	top:0;
	width: 100%;
	height: 100%;
	background-color: rgba(13,21,33,.3);
	z-index: 2;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	flex-direction: column;
	opacity: 1;
	transition: border .2s, background-color .7s ease-in-out, opacity .7s ease-in-out
}
.rq-btn-group-absolute button.rq-btn {
	box-shadow: 0.1rem 0.1rem 8px 4px var(--qc-color-grey-dark);
	min-width: 140px;
	border-width: 2px
}

.rq-bloc-info-couleur .btn-selection{
	border-color: var(--qc-color-grey-medium);
}

.btn-selection .form-check{
	padding-left:0
}

.btn-selection .form-check label{
	width: 100%
}

.btn-selection .form-check label::after {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 1;
    pointer-events: auto;
    content: "";
    background-color: rgba(0, 0, 0, 0);
}

.btn-selection:has(input:checked) {
	border-color: #6b9ac1!important;
	background-color: #e5edf3;
}
.btn-selection.compact{
	padding: 10px;
	line-height: 1;
}

.btn-selection.special{
	box-shadow: 0 1px 8px 4px rgb(9 87 151 / 25%);
    border: 2px solid var( --qc-color-blue-piv);
}

.form-check.btn-selection {
	margin-bottom: 0;
	margin-top: 0.5rem;
	position: relative;
}
.form-check.btn-selection label::after {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 1;
    pointer-events: auto;
    content: "";
    background-color: rgba(0, 0, 0, 0);
}

.form-check.btn-selection label>i{
	text-align: center;
    width: 1.25em;
	font-size: 150%;
	margin-right: 0.5rem
}
	
.form-check.btn-selection.avec-icone label>span,
.form-check.btn-selection.avec-icone label>span {
	position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border-width: 0;
}

.form-check.btn-selection.compact  label>span {
	margin-right: 0.5rem
}

.btn-selection  p:is(:last-child) {
    margin-bottom: 0;
}

.btn-selection:not(:disabled):not(.disabled):hover, 
.btn-selection:not(:disabled):not(.disabled):focus{
    border-color: #6b9ac1;
}
.btn-selection.disabled,
.btn-selection:has(input:disabled),
.btn-selection.disabled:hover,
.btn-selection:has(input:disabled):hover{
    color: var(--qc-color-grey-medium);
    border: 1px solid var(--qc-color-grey-light) !important;
    background-color: var(--qc-color-grey-pale);
    cursor: not-allowed;
}

.input-group-text i {
    font-style: normal;
    padding-left: 0.25rem
}

.form-select,
.form-control, 
.input-group-text,
.btn-selection-simple-multiple{
	border-radius: .25rem;
    border-color: var(--qc-color-grey-medium);
	color: var(--qc-color-blue-dark);
}

.form-control, 
.input-group-text{
	padding: .375rem .5rem;
}

.form-control.form-control-sm, 
.input-group-text{
	font-size: .875rem
}

.form-control.form-control-sm,
.form-control-sm ~ .input-group-text{
	padding: .25rem .5rem;
}

.form-control.form-control-sm.is-invalid,
.is-invalid .form-control.form-control-sm{
    padding-right : calc(1.5em + .75rem)   
}

.form-select:focus,
.form-control:focus, 
.custom-select:focus,
.custom-file-input:focus~.custom-file-label{
    box-shadow: var(--rq-form-control-shadow);
	border-color: var(--qc-color-grey-medium);
}

.form-select option.defaut {
    font-weight:600;
    background-color: var(--qc-color-blue-pale)
}

.input-group-text{
    background-color: transparent!important;
}

.form-control-plaintext { 
	padding: 0.25rem 0.35rem;
    background-color: rgba(108, 117, 125, 0.07)!important;
    border-radius: 4px;
    color: var(--qc-color-blue-dark);
	border:solid transparent!important;
	background-image: none
}

.form-control-plaintext.bg-transparent {
    background-color: transparent !important;
}

.input-group>.form-control-plaintext {
    position: relative;
    flex: 1 1 auto;
    width: 1%;
    min-width: 0;
	padding: 0.25rem 0.35rem;
}
.form-control-plaintext ~ .input-group-text {
    border: none;
	background-color: rgb(108 117 125 / 7%)!important
}

legend, .rq-form-question {
    font-size: 1.25rem;
    font-weight: 500;
    line-height: 1.5rem;
    font-family: var(--qc-font-family-roboto);
}

.ss-legendre + legend {
	font-size: 1.25rem;
    font-weight: 400;
}

/* Contrast pas suffisant sur le bleu pâle Bootstrap 4*/
.was-validated .form-control:valid, 
.was-validated .form-control[readonly], 
.form-control.is-valid, 
.rq-btn.rq-btn-success {
    border-color: var(--rq-input-succes-color);
    background-color: rgba(31, 127, 55, .05)
}
.invalid-feedback, 
.valid-feedback {
    font-size: 0.875rem
}

.rq-btn.rq-btn-success, 
.valid-feedback {
    color: var(--rq-input-succes-color)
}

.rq-btn.rq-btn-success:hover,
.rq-btn.rq-btn-success:focus {
    border-color: var(--rq-input-succes-color);
    background-color: var(--rq-input-succes-color);
	color: white
}

.form-select.input-validation-error,
.custom-select.input-validation-error, 
.form-control.input-validation-error, 
.is-invalid .form-control, 
.form-control.is-invalid, 
.was-validated .form-control:invalid,
fieldset.is-invalid .btn-selection{
    border-color: var(--rq-error-color);
    background-color: rgba(220, 53, 69, .04);
	padding-right: 2rem
}

fieldset.is-invalid input[type=date],
input[type="date"].is-invalid{
    background-position: right calc(.375em + 1.25rem) center;
}

.field-validation-error {
    display: block;
    width: 100%;
    margin-top: .25rem;
    font-size: 85%;
    color: var(--rq-error-color);
}

.rq-txt-erreur,
.invalid-feedback{color: var(--rq-error-color);}

.custom-select.input-validation-error ~ .field-validation-error, .form-control.input-validation-error ~ .field-validation-error,
.form-select.input-validation-error ~ .field-validation-error{
    display: block;
}

.form-control:not(.is-valid).rq-form-control-editable-focus[readonly]:not(:focus) {
  padding-right: calc(1.5em + 0.75rem) !important;
  /*Font Awesome Pro 5.15.4 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License)*/
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 576 512'%3e%3cpath d='M402.3 344.9l32-32c5-5 13.7-1.5 13.7 5.7V464c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V112c0-26.5 21.5-48 48-48h273.5c7.1 0 10.7 8.6 5.7 13.7l-32 32c-1.5 1.5-3.5 2.3-5.7 2.3H48v352h352V350.5c0-2.1.8-4.1 2.3-5.6zm156.6-201.8L296.3 405.7l-90.4 10c-26.2 2.9-48.5-19.2-45.6-45.6l10-90.4L432.9 17.1c22.9-22.9 59.9-22.9 82.7 0l43.2 43.2c22.9 22.9 22.9 60 .1 82.8zM460.1 174L402 115.9 216.2 301.8l-7.3 65.3 65.3-7.3L460.1 174zm64.8-79.7l-43.2-43.2c-4.1-4.1-10.8-4.1-14.8 0L436 82l58.1 58.1 30.9-30.9c4-4.2 4-10.8-.1-14.9z'/%3e%3c/svg%3e");
  background-repeat: no-repeat;
  background-position: right calc(0.375em + 0.1875rem) center;
  background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);
}

.form-control:not(.is-valid).rq-form-control-editable-focus.left[readonly]:not(:focus){
	padding-left: 1.5em!important; 
    padding-right: .5rem!important;
	background-position: 0 center;
}

div.position-relative input:not(:focus) + .fa-edit {
	opacity: 1
}

input[type="month"].form-control,
input.rq-champs-date{ width: auto!important}

.rq-champs-extra {
    display: none;
	outline: none;
}
.rq-champs-x-mini {
    max-width: 50px;
}
.rq-champs-mini {
    max-width: 80px;
}
.rq-champs-petit {
    max-width: 100px;
}
.rq-champs-mois{
	width:135px
}
.rq-champs-annee{
	width:100px
}

.rq-combobox-wrap{
	width: 100%
}

.rq-combobox-wrap .dropdown{
	max-width: 528px;
	width: 100%;
	background-color: white;
}

.btn-selection-simple-multiple {
	padding:.375rem .5rem;
    background-color: transparent;
	border-width: 1px; 
    border-style: solid;
    text-decoration: none;
    text-align: left;
    display: flex;
	align-items: center;
	justify-content: space-between;
	line-height: 1;
    transition: border .2s, transform .2s ease-in-out, color .2s ease-in-out, background-color .2s ease-in-out;
	vertical-align: middle;
	font-size:1rem;
	width: 100%
}
.rq-combobox-wrap:has(.selected-tags) .btn-selection-simple-multiple{
	border-bottom-left-radius: 0;
	border-bottom-right-radius: 0;
	border-bottom: none;
	padding-bottom: 0.25rem
}
.btn-selection-simple-multiple.show{
	border-bottom-left-radius: 0;
	border-bottom-right-radius: 0;
	border-bottom: none;
}

.btn-selection-simple-multiple span{
	line-height:  1.5
}

.rq-combobox-wrap .dropdown-menu{
	width: 100%;
	max-width: 528px;
	border-color: var(--qc-color-grey-regular);
	border-radius: 0;
	border-bottom-left-radius: .25rem;
	border-bottom-right-radius: .25rem;
	padding: 0.5rem;
	border-top: none;
	margin-top: -2px!important
}
.rq-combobox-wrap .dropdown-menu[data-popper-placement="top-start"]{
	border-top: 1px solid var(--qc-color-grey-regular) 
}

.rq-combobox-wrap input[type="search"]{
	padding-right: 2rem !important;
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' height='16' width='16' viewBox='0 0 512 512'%3e%3cpath d='M416 208c0 45.9-14.9 88.3-40 122.7L502.6 457.4c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0L330.7 376c-34.4 25.2-76.8 40-122.7 40C93.1 416 0 322.9 0 208S93.1 0 208 0S416 93.1 416 208zM208 352a144 144 0 1 0 0-288 144 144 0 1 0 0 288z'/%3e%3c/svg%3e");
    background-repeat: no-repeat;
    background-position: right calc(0.375em + 0.1875rem) center;
    background-size: 1rem;
	margin-bottom: 0.5rem
}

.rq-combobox-wrap .no-result{
	display: none
}

.rq-combobox-wrap button:disabled{
	color:var(--qc-color-blue-dark)!important;
	background-color: rgba(108, 117, 125, 0.07)!important;
	border-color:rgba(0, 0, 0, 0)!important
}

.selected-tags {
	display: flex;
	flex-wrap: wrap;
	padding: 0 0.125rem;
	border-width: 0 1px 1px 1px; 
    border-style: solid;
	border-color: var(--qc-color-grey-regular);
	border-bottom-left-radius: 0.25rem;
	border-bottom-right-radius: 0.25rem;
	min-height: 4px
}
.selected-tags button {
	margin: 0.125rem;
	text-align: left;
	width: 100%;
}

div[role="group"].disabled .selected-tags,
fieldset:disabled .selected-tags{
	border-color: rgba(108, 117, 125, 0.07)!important;
}

.rq-combobox-wrap .options {
	position: relative;
	width: 100%;
	height: 180px;
	overflow: auto;
	background: white;
	list-style: none;
	padding:0;
	z-index: 10;
	margin-bottom: 0.5rem;
}
/*.no-result + .options {
	margin-top: 0.5rem;	
}*/
.rq-combobox-wrap .options li {
	padding: 0!important;
}
.rq-combobox-wrap .options li label{
	display: block;
	padding: 0.25rem;
	margin-bottom: 0;
    margin-top: 0;
}

.options li:not(.selected) label:has(:focus),
.options li:not(.selected) label:hover {
	background-color: #dae6f0;
}

.options li.selected {
	background-color: #1472bf;;
	font-family: Open Sans;
	font-weight: 500;
	font-size: 16px;
	color: white;
}

@media (min-width: 576px) {
    
    .rq-navbar-etapes ul > li > span, 
    .rq-navbar-etapes ul > li > a,
    .rq-navbar-etapes ul > li > button{
        padding-left: .5rem;
        padding-right: .5rem;
        font-size: 1rem;
    }
    .rq-champs-court {
        max-width: 250px;
    }
	.rq-champs-moyen {
        max-width: 350px;
    }
    .rq-champs-long {
        max-width: 425px;
    }
}
@media (min-width:768px) {
	
	.header-services {
    	padding-bottom: 1rem
	}
    
    .rq-navbar-etapes:not(.rq-nav-bar-compresse) ul > li > span, 
    .rq-navbar-etapes:not(.rq-nav-bar-compresse) ul > li > a,
    .rq-navbar-etapes:not(.rq-nav-bar-compresse) ul > li > button {
        font-size: 1.25rem;
    }
    .rq-navbar-etapes.step-only .texte {
		display: inline-block
	}
   
    .form-bg .bg-couleur > [class*="col"], 
	.form-bg .rq-bloc-info-couleur {
        box-shadow: none;
        border-radius: 0;
        border: none;
    }
   
    div[class*="col-"] > .rq-champs-court, div[class*="col-"] > .form-group .rq-champs-court, div[class*="col-"] > .rq-champs-long, div[class*="col-"] > .form-group .rq-champs-long {
        max-width: 100%;
    }
}

input[type=range] {
    -webkit-appearance: none;
    background: transparent;
    margin: 18px 0;
    width: 100%;
	position: relative
}
input[type=range]:focus {
    outline: none;
}
input[type=range]::-webkit-slider-runnable-track {
	width: 100%;
	height: 8px;
	cursor: pointer;
	background: var(--qc-color-grey-light)!important;
	border-radius: 1.3px;
}
input[type=range]::-webkit-slider-thumb {
	height: 30px;
	width: 30px;
	background: white;
	border-radius: 50%;
	border: 1px solid var(--qc-color-grey-medium);
	cursor: pointer;
	-webkit-appearance: none;
	margin-top: -12px;
	z-index: 3;
	position: relative
}
input[type=range]:focus::-webkit-slider-runnable-track {
	background: var(--qc-color-grey-light);
}	
input[type=range]::-moz-range-track {
	width: 100%;
	height: 8px;
	cursor: pointer;
	background: var(--qc-color-grey-light)!important;
	border-radius: 1.3px;
}
input[type=range]::-moz-range-thumb {
	height: 30px;
	width: 30px;
	background: white;
	border-radius: 50%;
	border: 1px solid var(--qc-color-grey-medium);
	cursor: pointer;
}
input[type=range]::-moz-range-progress {
	background-color: var(--qc-color-blue-regular);
	height: 8px
}	
input[type=range]::-ms-track {
	width: 100%;
	height: 8px;
	cursor: pointer;
	background: var(--qc-color-grey-light)!important;
	border-color: transparent;
	border-width: 16px 0;
	color: transparent;
}
input[type=range]::-ms-fill-lower {
	background: var(--qc-color-blue-regular);
	border-radius: 2.6px;
}
input[type=range]::-ms-fill-upper {
	background: white;
	border: 0.2px solid #010101;
}
input[type=range]::-ms-thumb {
	height: 36px;
	width: 16px;
	border-radius: 3px;
	background: white;
	cursor: pointer;
}
input[type=range]:focus::-ms-fill-lower {
	background: var(--qc-color-blue-regular);
}
input[type=range]:focus::-ms-fill-upper {
	background: var(--qc-color-blue-regular);
}
input[type=range]::before {
    position: absolute;
    content: "";
    display: block;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    background-color: var(--qc-color-blue-regular);
    width: 0;
	z-index:2
}

input[type=range].beforeW-0::before {
    width: 0
}
input[type=range].beforeW-5::before {
    width: 5%
}
input[type=range].beforeW-10::before {
    width: 10%
}
input[type=range].beforeW-15::before {
    width: 15%
}
input[type=range].beforeW-20::before {
    width: 20%
}
input[type=range].beforeW-25::before {
    width: 35%
}
input[type=range].beforeW-30::before {
    width: 30%
}
input[type=range].beforeW-35::before {
    width: 35%
}
input[type=range].beforeW-40::before {
    width: 40%
}
input[type=range].beforeW-45::before {
    width: 45%
}
input[type=range].beforeW-50::before {
	width: 50%
}
input[type=range].beforeW-55::before {
	width: 55%
}
input[type=range].beforeW-60::before {
	width: 60%
}
input[type=range].beforeW-65::before {
	width: 65%
}
input[type=range].beforeW-70::before {
	width: 70%
}
input[type=range].beforeW-75::before {
	width: 75%
}
input[type=range].beforeW-80::before {
	width: 80%
}
input[type=range].beforeW-85::before {
	width: 85%
}
input[type=range].beforeW-90::before {
	width: 90%
}
input[type=range].beforeW-95::before {
	width: 95%
}
input[type=range].beforeW-over::before,
input[type=range].beforeW-100::before {
	width: 100%
}

.form-check-input {
    width: 1em;
    height: 1em;
    margin-top: 0;
    vertical-align: top;
    background-color: var(--qc-color-grey-light);
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    border: 0;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    -webkit-print-color-adjust: exact;
    color-adjust: exact;
}
.form-check-input:focus {
    border-color: #86b7fe;
    outline: 0;
    box-shadow: 0 0 0 0.25rem rgba(13,110,253,.25);
}
.form-check-input:checked {
    background-color: #1479CC;
    border-color: #1479CC;
}

.rq-combobox-wrap .options li label:has(input:disabled),
.form-check-input:disabled {
    pointer-events: none;
    filter: none;
    opacity: .5;
}

.form-switch {
  padding-left: 0;
  display: flex;
  align-items:center;
}

.form-switch .form-check-input {
  width: 3.5rem;
  height:2rem;
  margin-left: 0;
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' stroke='rgba%2834, 54, 84, 0.50%29' stroke-width='0.3' viewBox='-3.8 -4 8 8'%3e%3ccircle r='3.2' fill='%23fff'/%3e%3c/svg%3e");
  background-position: left center;
  background-size:2.2rem;
  border-radius: 2em;
  transition: background-position 0.15s ease-in-out;
}

@media (prefers-reduced-motion: reduce) {
  .form-switch .form-check-input {
    transition: none;
  }
}
.form-switch .form-check-input:focus {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' stroke='rgba%2834, 54, 84, 0.50%29' stroke-width='0.2' viewBox='-3.8 -4 8 8'%3e%3ccircle r='3.2' fill='%23fff'/%3e%3c/svg%3e");
}
.form-switch .form-check-input:checked {
  background-position: right center;
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' stroke='rgba%2834, 54, 84, 0.50%29' stroke-width='0.2' viewBox='-4.2 -4 8 8'%3e%3ccircle r='3.2' fill='%23fff'/%3e%3c/svg%3e");
}

.btn-selection-simple-multiple-wrap .options li label:has(input:disabled),
.form-check-input:disabled {
    pointer-events: none;
    filter: none;
    opacity: .5;
}

.form-switch .form-check-label {
	padding-top:0.5rem;
	line-height:1
}

.form-check-input:disabled~.form-check-label, 
.form-check-input[disabled]~.form-check-label {
    cursor: default;
    opacity: 1;
}

.form-switch.form-check-reverse {
  padding-right: 2.5em;
  padding-left: 0;
}
.form-switch.form-check-reverse .form-check-input {
  margin-right: -2.5em;
  margin-left: 0;
}

.form-switch .form-check-label {
	padding-left:0.75rem;
	color: var(--rq-main-text-color);
}
.form-switch .actif,
.form-switch .inactif{
	display:none
}
.form-switch:has(:checked) > .actif{
	display:block
}
.form-switch:not(:has(:checked)) > .inactif{
	display:block
}
.rq-bloc-info-couleur {
    background-color: #f1f5f9;
    padding: 1rem;
    margin-bottom: 0.5rem;
}

