/* ------------------------------------------------------------ *\
	Section Form
\* ------------------------------------------------------------ */

body .gform_wrapper.gform_wrapper.gravity-theme,
body .gform_wrapper {
	&.state__formations_wrapper {
		position: relative;
		background: #f2f2f2;
		border-radius: 1rem;
	}
	.gform_heading {
		display: none;
		margin: 0;
	}
	::placeholder {
		font-style: italic;
		color: #767676;
	}
	.gform_fields {
		grid-column-gap: 0;
		grid-row-gap: 0;
		display: flex;
		justify-content: space-between;
		flex-wrap: wrap;
	}
	/* Row */
	.gfield {
		margin-bottom: 3rem;
		@include breakpoint-down(tablet) {
			margin-bottom: 2rem;
		}
		&.gfield_html,
		&.gfield--large {
/* 			width: 100%; */
			width: calc(100% + 28.2rem);
		}
		&.gfield--medium {
			width: 48.16%;
			@include breakpoint-down(tablet) {
				width: 100%;
			}
		}

		&.gfield--small {
			width: 36.45%;
			@include breakpoint-down(tablet) {
				width: 100%;
			}
		}
		&.gfield--small.ex__small {
			width: 20%;
			@include breakpoint-down(tablet) {
				width: 100%;
			}
		}
		&.gfield--radio {
			margin: 2.7rem 0 .1rem;
			@include breakpoint-down(exlarge-desktop) {
				margin-top: 1.5rem;
			}
			@include breakpoint-down(tablet) {
				padding: 0;
				margin: 0 0 2rem;
			}
		}
	}
	.gfield_html h3 {
		font-size: 3rem;
		line-height: 1.08;
		margin: 0 0 -0.4rem;
		color: #c23633;
		font-weight: 700;
		@include breakpoint-down(exlarge-desktop) {
			font-size: 2.8rem;
		}
		@include breakpoint-down(tablet) {
			margin: 0;
			font-size: 2.6rem;
		}
		@include breakpoint-down(mobile) {
			font-size: 2.4rem;
		}
		span {
			position: relative;
			top: -.1rem;
			left: .8rem;
			font-size: 1.4rem;
			line-height: 2.14;
			@include breakpoint-down(tablet) {
				display: block;
				top: 0;
				left: 0;
			}
		}
	}
	.gfield_html h6 {
		margin: 0 0 -.5rem;
		padding: .6rem 0 0;
		font-family: $ff-serif;
		font-size: 1.4rem;
		line-height: 1;
		font-weight: 700;
		color: #c23633;
		@include breakpoint-down(tablet) {
			margin: 0;
			padding: 0;
		}
	}

	/* Fields */
	.gfield_label {
		margin-bottom: 1.5rem;
		display: block;
		font-size: 1.4rem;
		line-height: 2.14;
		font-weight: 700;
		@include breakpoint-down(exlarge-desktop) {
			margin-bottom: 1rem;
		}
		@include breakpoint-down(tablet) {
			margin-bottom: .7rem;
		}
		@include breakpoint-down(mobile) {
			font-size: 1.2rem;
		}
		&.form__label-red {
		}
	}
	.red__label {
		margin-top: 1.5rem !important;
		padding-bottom: 2.5rem;
		.gfield_label {
			padding-top: 0;
			color: #c23633;
			@include breakpoint-down(tablet) {
				padding: 0;
			}
		}
	}
	.gfield_required {
		display: none;
	}
	.gfield input,
	.gfield select,
	.gfield textarea {
		display: block;
		width: 100%;
		padding: 2.5rem 5rem;
		font-size: 1.6rem;
		line-height: 1;
		font-weight: 400;
		color: #262729;
		border: 0;
		height: auto;
		border-radius: 5.3rem;
		background: #fff;
		@include breakpoint-down(exlarge-desktop) {
			padding: 2rem 3.5rem;
			font-size: 1.4rem;
		}
		@include breakpoint-down(tablet) {
			padding: 2rem 3rem;
		}
		@include breakpoint-down(mobile) {
			padding: 1.5rem 2rem;
			font-size: 1.4rem;
			min-height: 1rem !important;
			line-height: 1 !important;
		}
	}

	.gfield_radio {
		display: flex;
		flex-wrap: wrap;
		justify-content: flex-start;
	}
	.gform_page_footer,
	.gform_footer {
		margin: 0;
/* 		padding: 9.6rem 0 12rem; */
		padding: 4.6rem 0 4rem;
		text-align: center;
		@include breakpoint-down(exlarge-desktop) {
			padding: 7rem 0;
		}
		@include breakpoint-down(small-desktop) {
			padding: 6rem 0;
		}
		@include breakpoint-down(tablet) {
			padding: 5rem 0;
		}
		@include breakpoint-down(mobile) {
			padding: 3rem 0;
		}
	}
	.gform_page_footer input.gform_button.button,
	.gform_footer input {
		display: inline-block;
		text-align: center;
		text-decoration: none;
		border: 0.2rem solid #009FE3;
		box-shadow: none;
		border-radius: 0;
		appearance: none;
		font-size: 2rem;
		line-height: 1;
		color: #fff;
		font-weight: 700;
		background: #009FE3;
		border-radius: 5.3rem;
		padding: 2.2rem 4rem 2.7rem;
		transition: all .4s linear;
		max-width: 90%;
		width: 86.6rem;
		@include breakpoint-down(small-desktop) {
			padding: 1.6rem 3rem 2rem;
			font-size: 1.8rem;
		}
		@include breakpoint-down(mobile) {
			padding: 1rem 2rem 1.2rem;
			font-size: 1.6rem;
		}
		&:hover {
			background: #fff;
			color: #009FE3;
		}
	}

	/* Radio */
	.gfield--radio .gfield_label {
		margin-bottom: 1.5rem;
		@include breakpoint-down(mobile) {
			margin-bottom: 0.7rem;
		}
	}
	.gfield_radio .gchoice {
		position: relative;
		min-width: 20rem;
		margin-bottom: 2rem;
		@include breakpoint-down(exlarge-desktop) {
			min-width: 17rem;
		}
		@include breakpoint-down(mobile) {
			margin-bottom: 0.5rem;
			width: 100%;
		}
		&.radio__full {
			padding-top: 1.5rem;
			width: 100%;
			@include breakpoint-down(mobile) {
				padding-top: 0;
			}
			label {
				padding-right: 2.5rem;
				display: inline-block;
				vertical-align: middle;
				@include breakpoint-down(mobile) {
					display: none;
					padding: 0;
				}
			}
		}
	}
	.gfield_radio .gchoice input {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		opacity: 0;
		z-index: 2;
		&:checked + label:before {
			background: #fff url(../img/icon-checked.svg) no-repeat center;
			background-size: 70%;
		}
	}
	.gfield_radio .gchoice label {
		position: relative;
		z-index: 1;
		margin: 0;
		padding: 0 5.7rem 0 4.7rem;
		display: block;
		font-size: 1.4rem;
		line-height: 2.14;
		font-weight: 700;
		@include breakpoint-down(exlarge-desktop) {
			margin-bottom: 1rem;
		}
		@include breakpoint-down(tablet) {
			margin-bottom: .7rem;
		}
		@include breakpoint-down(mobile) {
			font-size: 1.2rem;
		}
		@include breakpoint-down(tablet) {
			padding-right: 3rem;
		}
		@include breakpoint-down(mobile) {
			padding: 0 0 0 3rem;
			margin-bottom: 0;
		}
		&:before {
			position: absolute;
			top: 1.5rem;
			left: 0;
			width: 3rem;
			height: 3rem;
			border-radius: .5rem;
			display: block;
			content: '';
			background: #fff;
			border: 0;
			@include breakpoint-down(mobile) {
				top: 1.1rem;
				width: 2rem;
				height: 2rem;
			}
		}
		&:after {
			display: none;
		}
	}
	.gfield_radio .gchoice label + input {
		position: relative;
		top: auto;
		left: auto;
		z-index: 3;
		width: 64.19%;
		height: auto;
		opacity: 1;
		display: inline-block;
		@include breakpoint-down(mobile) {
			display: block;
			width: 100%;
		}
	}

	.gfield--radio.other__radio .gchoice:last-child {
		min-width: 100%;
		padding-top: .5rem;
		@include breakpoint-down(mobile) {
			padding-top: 0;
		}
		label {
			position: relative;
			top: 1rem;
			display: inline-block;
			vertical-align: middle;
			@include breakpoint-down(mobile) {
				top: 0;
			}
		}
		br {
			display: none;
		}
		input ~ input {
			position: relative;
			top: auto;
			left: auto;
			opacity: 1;
			height: auto;
			display: inline-block;
			vertical-align: middle;
			z-index: 3;
			width: 64.19%;
			@include breakpoint-down(mobile) {
				display: block;
				width: 100%;
			}
		}
	}

	/* Validation */

	.gfield_validation_message,
	.gform_validation_errors {
		display: none;
	}
	.gform_page_footer,
	.gform_previous_button,
	.gf_progressbar_wrapper {
		display: none;
	}
	.gform_page {
		display: block !important;
		.gform_page_fields {
			padding: 6rem 14.1rem 7.7rem;
			background: #f2f2f2;
			border-radius: 1rem;
			@include breakpoint-down(exlarge-desktop) {
				padding: 5rem 4rem;
			}
			@include breakpoint-down(small-desktop) {
				padding: 4rem 4rem 2rem;
			}
			@include breakpoint-down(mobile) {
				padding: 2rem 2rem 0.2rem;
			}
		}
		& + .gform_page {
			margin-top: 6rem;
			@include breakpoint-down(exlarge-desktop) {
				margin-top: 5rem;
			}
			@include breakpoint-down(tablet) {
				margin-top: 4rem;
			}
			@include breakpoint-down(mobile) {
				margin-top: 3rem;
			}
		}
		&:last-child {
			.gform_page_fields {
				padding-right: 9.1rem;
				@include breakpoint-down(exlarge-desktop) {
					padding-right: 5rem;
				}
				@include breakpoint-down(small-desktop) {
					padding-right: 4rem;
				}
				@include breakpoint-down(mobile) {
					padding-right: 2rem;
				}
			}
			.gform_page_footer {
				display: block !important;
			}
		}
	}
}

body .gform_wrapper {
	&.state__formations_wrapper {
		padding: 4rem;
		margin: 0 -2rem 4rem;
		@include breakpoint-down(mobile) {
			padding: 2rem;
			margin: 0 2rem 2rem;
		}
	}
}

body .formations-details + .gform_wrapper.gform_wrapper.gravity-theme,
body .formations-details + .gform_wrapper {
	padding: 9.3rem 14.1rem 8.1rem;
	display: flex;
	flex-direction: column-reverse;
	flex-wrap: nowrap;
	@include breakpoint-down(exlarge-desktop) {
		padding: 5rem 4rem;
	}
	@include breakpoint-down(small-desktop) {
		padding: 4rem 4rem 2rem;
	}
	@include breakpoint-down(mobile) {
		padding: 2rem 2rem 0.2rem;
	}

	/* Row */
	.gfield {
		margin-bottom: 2.7rem;
		@include breakpoint-down(exlarge-desktop) {
			margin-bottom: 2rem;
		}
	}
	/* Controls */
	.gfield input,
	.gfield select,
	.gfield textarea {
		margin-bottom: 2rem;
		@include breakpoint-down(small-desktop) {
			margin-bottom: 0;
		}
	}
	.gfield textarea {
		height: 28.9rem;
		border-radius: 2.3rem;
		resize: none;
		@include breakpoint-down(small-desktop) {
			height: 20rem;
		}
		@include breakpoint-down(tablet) {
			height: 17rem;
		}
		@include breakpoint-down(mobile) {
			height: 15rem;
		}
	}

	/* Actions */
	.gform_footer {
		text-align: left;
		padding: 1.1rem 0 0;
	}
	.gform_footer input {
		max-width: 90%;
		width: 65.5rem;
		@include breakpoint-down(tablet) {
			max-width: 100%;
			width: 100%;
		}
	}
	.gform_description {
		padding: 2.3rem 0 2.7rem;
		display: block;
		font-size: 1.4rem;
		line-height: 1;
		font-weight: 700;
		@include breakpoint-down(small-desktop) {
			padding: 2rem 0;
		}
		@include breakpoint-down(tablet) {
			padding-top: 1.5rem;
			font-size: 1.2rem;
		}
		@include breakpoint-down(mobile) {
			padding-top: 1rem;
		}
	}
}

.form__large .gform_body {
	position: relative;
	color: #262729;
	background: #f2f2f2;
	border-radius: 1rem;
	padding: 6rem 14.1rem 7.7rem;
	overflow: hidden;

	@include breakpoint-down(exlarge-desktop) {
		padding: 5rem 4rem;
	}
	@include breakpoint-down(small-desktop) {
		padding: 4rem 4rem 2rem;
	}
	@include breakpoint-down(mobile) {
		padding: 2rem 2rem 0.2rem;
	}

	.gfield--section:first-child {
		display: none;
	}
	.gfield--section {
		position: relative;
		height: 8rem;
		margin: 6rem -14.1rem 7.7rem;
		min-width: calc(100% + 28.2rem);
		background: #fff;
		&:before {
			position: absolute;
			top: 0;
			left: 0;
			width: 100%;
			height: 1rem;
			display: block;
			background: #f2f2f2;
			content: '';
			border-radius: 0 0 1rem 1rem;
		}
		&:after {
			position: absolute;
			bottom: 0;
			left: 0;
			width: 100%;
			height: 1rem;
			display: block;
			background: #f2f2f2;
			content: '';
			border-radius: 1rem 1rem 0 0;
		}
		@include breakpoint-down(exlarge-desktop) {
			height: 7rem;
			margin: 5rem -4rem;
			min-width: calc(100% + 8rem);
		}
		@include breakpoint-down(small-desktop) {
			height: 6rem;
			margin: 2rem -4rem 4rem;
		}
		@include breakpoint-down(mobile) {
			height: 5rem;
			margin: 0.5rem -2rem 2rem;
			min-width: calc(100% + 4rem);
		}

		h3 {
			font-size: 0 !important;
		}
	}
}

.sr-only, .gform_wrapper.gform_wrapper.gravity-theme .gfield-choice-input {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0,0,0,0);
	border: 0;
}
.gform_wrapper.gform_wrapper.gravity-theme .gfield_checkbox label, .gform_wrapper.gform_wrapper.gravity-theme .gfield_radio label {
	position: relative;
	max-width: 100%;
	padding-left: 20px;
}
label[for] { cursor: pointer; }

.gform_wrapper.gform_wrapper.gravity-theme .gfield_checkbox label::before, .gform_wrapper.gform_wrapper.gravity-theme .gfield_checkbox label::after, .gform_wrapper.gform_wrapper.gravity-theme .gfield_radio label::before, .gform_wrapper.gform_wrapper.gravity-theme .gfield_radio label::after {
	content: "";
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	left: 0;
}
.gform_wrapper.gform_wrapper.gravity-theme .gfield_checkbox label::before, .gform_wrapper.gform_wrapper.gravity-theme .gfield_radio label::before {
	width: 14px;
	height: 14px;
	border: 1px solid grey;
}