:root {
	--primary-color: rgb(11, 78, 179);
}

*,
*::before,
*::after {
	box-sizing: border-box;
}

body {
	font-family: Montserrat, "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
	margin: 0;
	place-items: center;
	min-height: 100vh;
}

/* Global Stylings */
label {
	display: block;
	margin-bottom: 0.5rem;
}

/* input {
  display: block;
  width: 100%;
  padding: 0.75rem;
  border: 1px solid #ccc;
  border-radius: 0.25rem;
} */

.width-50 {
	width: 50%;
}

.ml-auto {
	margin-left: auto;
}

.text-center {
	text-align: center;
}

/* Progressbar */
.progressbar {
	position: relative;
	display: flex;
	justify-content: space-between;
	counter-reset: step;
	margin: 2rem 0 4rem;
}

.progressbar::before,
.progress {
	content: "";
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	height: 4px;
	width: 100%;
	background-color: #dcdcdc;
	z-index: -1;
}

.progress {
	background-color: var(--primary-color);
	width: 0%;
	transition: 0.3s;
}

.progress-step {
	width: 2.1875rem;
	height: 2.1875rem;
	background-color: #dcdcdc;
	border-radius: 50%;
	display: flex;
	justify-content: center;
	align-items: center;
}

.progress-step::before {
	counter-increment: step;
	content: counter(step);
}

.progress-step::after {
	content: attr(data-title);
	position: absolute;
	top: calc(100% + 0.5rem);
	font-size: 0.85rem;
	color: #666;
}

.progress-step-active {
	background-color: var(--primary-color);
	color: #f3f3f3;
}

/* Form */
.form {
	width: 100%;
	margin: 0 auto;
	border: 1px solid #ccc;
	border-radius: 0.35rem;
	padding: 1.5rem;
}

.form-step {
	display: none;
	transform-origin: top;
	animation: animate 0.5s;
}

.form-step-active {
	display: block;
}

.input-group {
	margin: 2rem 0;
}

@keyframes animate {
	from {
		transform: scale(1, 0);
		opacity: 0;
	}

	to {
		transform: scale(1, 1);
		opacity: 1;
	}
}

/* Button */
.btns-group {
	display: flex;
	justify-content: space-evenly;
	margin-top: 30px;
}
.btns-group .btn {
	width: 48%;
}

.btn {
	padding: 0.75rem;
	display: block;
	text-decoration: none;
	background-color: var(--primary-color);
	color: #f3f3f3;
	text-align: center;
	border-radius: 0.25rem;
	cursor: pointer;
	transition: 0.3s;
}

/* input {
  display: block;
  width: 100%;
  padding: 0.75rem;
  border: 1px solid #ccc;
  border-radius: 0.25rem;
} */

.btn:hover {
	box-shadow: 0 0 0 2px #fff, 0 0 0 3px var(--primary-color);
}
.valid {
	border: 2px solid green;
}

.invalid {
	border: 2px solid red;
}
.radio-switch {
	display: inline-flex;
	border: 1px solid #cbc9c9;
	border-radius: 35px;
	padding: 0 8px;
	margin-bottom: 25px;
}
.radio-switch input {
	display: none;
}
.radio-switch label {
	margin-top: 15px;
	margin-bottom: 15px;
	font-size: 20px;
}
.radio-switch.sm label {
	font-size: 17px;
}
.radio-switch span {
	display: block;
	padding: 10px 52px;
	cursor: pointer;
	border-radius: 35px;
	margin: 5px;
	background-color: #0062cc08;
	border: 1px solid #0062cc40;
}
.radio-switch input[type="radio"]:checked + span {
	background: #015dc8;
	border: 1px solid #007bff;
	color: #fff;
}
.mon-form h3 {
	font-size: 20px;
	font-weight: 600;
	margin-top: 15px;
}
.mon-form h2 {
	font-size: 28px;
}
.mon-form h1 {
	border-bottom: 1px solid #007bff24;
	padding-bottom: 22px;
	margin-top: 40px;
}
.mon-form .form-control {
	font-size: 20px;
	padding: 25px 10px;
	color: #000;
}
.mon-form .fr-select {
	background-color: #fff;
	background-clip: padding-box;
	border: 1px solid #1f75cb;
	box-shadow: none;
	border-radius: 0.25rem;
	padding: 16px 10px;
	font-size: 20px;
}
.ui-widget-content {
	width: 35%;
	list-style-type: none;
	padding: 0;
}
.ui-widget-content .ui-state-active {
	border: 0;
	background: #0062cc5e;
	font-weight: 600;
}

.raccordements .raccordement {
	border: 1px solid #21252912;
	padding-top: 35px;
	padding-bottom: 35px;
	text-align: center;
	background-color: #e8edff;
	cursor: pointer;
}
.raccordement h3 {
	font-size: 18px;
	text-decoration: none !important;
	color: #000091;
	margin-top: 45px;
}
.raccordement a {
	background-image: none;
}
.line-ca-marche {
	background-color: #fff;
	color: #000091;
	padding: 25px;
	border: 1px solid #000091;
}
.line-ca-marche h3 {
	font-weight: bold;
}
.line-ca-marche img {
	max-width: 100%;
}

.fr-accordions-group {
	border-bottom: 2px solid #000091;
}
.fr-accordions-group li {
	border: 2px solid #000091;
	border-bottom: 0;
}
.fr-accordions-group li button span {
	background-color: #000091;
	padding: 3px 10px;
	color: #fff;
	border-radius: 50%;
	margin-right: 10px;
}
.contact-section a div img {
	max-width: 100%;
}
.contact-section a div {
	padding: 27px;
}
.contact-section a {
	background-image: none;
}
.contact-section a {
	color: #000091;
	display: flex;
	/* justify-content: center; */
	flex-direction: column;
	justify-content: space-evenly;
}
.btn-prime {
	background-color: #000091;
	color: #fff;
}
.btn-prime:hover {
	background-color: #fff !important;
	background: #fff !important;
	color: #000091;
	box-shadow: inset 0 0 0 1px var(--border-action-high-blue-france);
}
.faq-image {
	align-items: center;
	justify-content: center;
	display: flex;
}
.contact-card {
	box-shadow: inset 0 0 0 1px var(--border-action-high-blue-france);
	padding: 0px 30px;
	text-align: center;
}

@media (max-width: 77.98em) {
	img.hero-img,
	.faq-image {
		display: none;
	}
	.fr-header__tools {
		position: absolute;
		top: 77px;
		width: 100%;
		text-align: right;
		padding-right: 15px;
	}
	main#contenu {
		padding-top: 45px;
	}
	.aide-section {
		padding: 35px;
	}
}
/* The Modal (background) */
.modal {
  display: none; /* Hidden by default */
  position: fixed; /* Stay in place */
  z-index: 10; /* Sit on top */
  padding-top: 130px; /* Location of the box */
  left: 0;
  top: 0;
  width: 100%; /* Full width */
  height: 100%; /* Full height */
  overflow: auto; /* Enable scroll if needed */
  background-color: rgb(0,0,0); /* Fallback color */
  background-color: rgba(0,0,0,0.4); /* Black w/ opacity */
}

/* Modal Content */
.modal-content {
  background-color: #fefefe;
  margin: auto;
  padding: 20px;
  border: 1px solid #888;
  width: 50%;
}
.modal-content p{
  font-size: larger;
  font-weight: bolder;
	color: var(--text-title-blue-france) !important;
}

/* The Close Button */
.close {
  color: #aaaaaa;
  float: right;
  font-size: 28px;
  font-weight: bold;
	text-align: end;
}

.close:hover,
.close:focus {
  color: #000;
  text-decoration: none;
  cursor: pointer;
}