/*! HTML5 Boilerplate v8.0.0 | MIT License | https://html5boilerplate.com/ */

/* main.css 2.1.0 | MIT License | https://github.com/h5bp/main.css#readme */
/*
 * What follows is the result of much research on cross-browser styling.
 * Credit left inline and big thanks to Nicolas Gallagher, Jonathan Neal,
 * Kroc Camen, and the H5BP dev community and team.
 */

/* ==========================================================================
   Base styles: opinionated defaults
   ========================================================================== */

html {
	font-family: "Roboto", sans-serif;
	color: #646b82;
	font-size: 1em;
	line-height: 1.4;
}

* {
	box-sizing: border-box;
}

/*
 * Remove text-shadow in selection highlight:
 * https://twitter.com/miketaylr/status/12228805301
 *
 * Vendor-prefixed and regular ::selection selectors cannot be combined:
 * https://stackoverflow.com/a/16982510/7133471
 *
 * Customize the background color to match your design.
 */

::-moz-selection {
	background: #b3d4fc;
	text-shadow: none;
}

::selection {
	background: #b3d4fc;
	text-shadow: none;
}

::placeholder {
	color: #b3b7c2;
}

/*
 * A better looking default horizontal rule
 */

hr {
	display: block;
	height: 1px;
	border: 0;
	border-top: 1px solid #ccc;
	margin: 1em 0;
	padding: 0;
}

/*
 * Remove the gap between audio, canvas, iframes,
 * images, videos and the bottom of their containers:
 * https://github.com/h5bp/html5-boilerplate/issues/440
 */

audio,
canvas,
iframe,
img,
svg,
video {
	vertical-align: middle;
}

/*
 * Remove default fieldset styles.
 */

fieldset {
	border: 0;
	margin: 0;
	padding: 0;
}

/*
 * Allow only vertical resizing of textareas.
 */

textarea {
	resize: vertical;
}

textarea,
select,
input[type="text"],
input[type="email"],
input[type="tpass1"],
input[type="tpass2"],
input[type="tpass1"],
input[type="password"],
input[type="tel"] {
	border-radius: 2px;
	border: none;
	border-bottom: 3px solid #2c2e3d;
	max-width: 330px;
	width: 100%;
	padding: 12px;
	/*display: block;*/
}

input:focus,
select:focus {
	outline: none;
	border-bottom-color: #660066;
}

.ui-selectmenu-button.ui-button {
	width: 100%;
	padding: 12px;
	border: none;
	background-color: #fff;
	border-bottom: 3px solid #2c2e3d;
}

.ui-selectmenu-button.ui-button.ui-selectmenu-button-open {
	border-bottom: 3px solid #660066;
}

.ui-selectmenu-text {
}

.ui-state-active,
.ui-widget-content .ui-state-active,
.ui-widget-header .ui-state-active,
a.ui-button:active,
.ui-button:active,
.ui-button.ui-state-active:hover {
	border: none;
	background-color: #660066;
}

select.mc_picto_field + span.ui-selectmenu-button {
	background-image: url("../images/pictos-sprite.png");
	background-repeat: no-repeat;
	background-size: 20px auto;
}

select.mc_picto_field + span.ui-selectmenu-button span.ui-selectmenu-text {
	padding-left: 28px;
}

select#mc_language_field + span.ui-selectmenu-button {
	background-position: 10px -28px;
}

input.mc_picto_field {
	background-image: url("../images/pictos-sprite.png");
	background-color: #f4f4f4;
	background-repeat: no-repeat;
	background-size: 20px auto;
	background-position: 10px 12px;
	padding-left: 40px;
}

input[type="password"].mc_picto_field {
	background-position: 10px -105px;
}

input[type="tel"].mc_picto_field {
	background-position: 10px -64px;
}

input[type="text"]#mc_company_field.mc_picto_field {
	background-position: 10px -149px;
}

.mc_field_wrapper {
	margin-bottom: 8px;
}

.mc_field_wrapper.mc_2col_field {
	display: flex;
	justify-content: space-between;
}

.mc_field_wrapper.mc_2col_field input {
	width: 49%;
}

.mc_field_wrapper.mc_recaptcha_wrapper {
	padding-top: 20px;
}

.mc_form_body {
	margin-bottom: 40px;
}

.mc_form_footer {
	display: flex;
	align-items: center;
	justify-content: space-between;
}

.mc_form_next_step_btn {
	flex-grow: 1;
	text-align: left;
	position: relative;
}

.mc_form_next_step_btn:after {
	content: "";
	position: absolute;
	height: 20px;
	width: 20px;
	right: 20px;
	background-image: url("../images/pictos-sprite.png");
	background-repeat: no-repeat;
	background-size: 20px auto;
	background-position: 98% -241px;
}

.mc_form_prev_step_btn {
	height: 40px;
	width: 40px;
	background-color: #ff8f87;
	background-image: none;
	position: relative;
	margin-right: 10px;
}

.mc_form_prev_step_btn:hover {
	background-color: #660066;
}

.mc_form_prev_step_btn:after {
	content: "";
	position: absolute;
	height: 20px;
	width: 20px;
	left: 9px;
	top: 15px;
	background-image: url("../images/pictos-sprite.png");
	background-repeat: no-repeat;
	background-size: 20px auto;
	background-position: 98% -292px;
}

.mc_form_page button[type="submit"],
.mc_form_page button[type="button"] {
	flex-grow: 1;
	text-align: left;
	position: relative;
}

.mc_form_page button[type="submit"]:after,
.mc_form_page button[type="button"]:after {
	content: "";
	display: block;
	position: absolute;
	height: 20px;
	width: 20px;
	right: 20px;
	top: 12px;
	background-image: url("../images/pictos-sprite.png");
	background-repeat: no-repeat;
	background-size: 20px auto;
	background-position: 98% -339px;
}

/*
 * Heading
 */

h1,
h2,
h3,
h4,
h5,
h6 {
	font-family: "Comfortaa", cursive;
	font-weight: 700;
	color: #2c2e3d;
}

h1 span {
	font-family: "Roboto", sans-serif;
	font-size: 24px;
	color: #646b82;
	font-weight: 400;
}

/*
 * Link and Buttons
 */

a,
button,
input[type="submit"],
input[type="button"] {
	-webkit-transition: all 250ms ease-in-out 0s;
	-moz-transition: all 250ms ease-in-out 0s;
	-o-transition: all 250ms ease-in-out 0s;
	transition: all 250ms ease-in-out 0s;
}

a {
	color: #660066;
	text-decoration: none;
}

button,
input[type="submit"],
input[type="button"] {
	/*
	text-transform: uppercase;
	background-color: #fc1768;
	background: linear-gradient(90deg, #ff8f87, #fc1768, #fc1768);

	background-size: 200%;
	border: none;
	border-radius: 100px;
	padding: 12px 20px;
	font-weight: 500;
	cursor: pointer;*/

	color: #fff;
	border-radius: 6px;
	border: 0;
	padding: 6px 28px;
	background-color: #660066;

	font-size: 14px;
	font-weight: 700;
	text-decoration: none;
	cursor: pointer;
	margin-right: 10px;
	outline: none;

	transition: all 0.3s ease;
}

button:hover,
input[type="submit"]:hover,
input[type="button"]:hover {
	background-size: 120%;
	transform: scale(1.02);
}
/* ==========================================================================
   Author's custom styles
   ========================================================================== */

/* ==========================================================================
   Helper classes
   ========================================================================== */

/*
 * Hide visually and from screen readers
 */

.hidden,
[hidden] {
	display: none !important;
}

/*
 * Hide only visually, but have it available for screen readers:
 * https://snook.ca/archives/html_and_css/hiding-content-for-accessibility
 *
 * 1. For long content, line feeds are not interpreted as spaces and small width
 *    causes content to wrap 1 word per line:
 *    https://medium.com/@jessebeach/beware-smushed-off-screen-accessible-text-5952a4c2cbfe
 */

.sr-only {
	border: 0;
	clip: rect(0, 0, 0, 0);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute;
	white-space: nowrap;
	width: 1px;
	/* 1 */
}

/*
 * Extends the .sr-only class to allow the element
 * to be focusable when navigated to via the keyboard:
 * https://www.drupal.org/node/897638
 */

.sr-only.focusable:active,
.sr-only.focusable:focus {
	clip: auto;
	height: auto;
	margin: 0;
	overflow: visible;
	position: static;
	white-space: inherit;
	width: auto;
}

/*
 * Hide visually and from screen readers, but maintain layout
 */

.invisible {
	visibility: hidden;
}

/*
 * Clearfix: contain floats
 *
 * For modern browsers
 * 1. The space content is one way to avoid an Opera bug when the
 *    `contenteditable` attribute is included anywhere else in the document.
 *    Otherwise it causes space to appear at the top and bottom of elements
 *    that receive the `clearfix` class.
 * 2. The use of `table` rather than `block` is only necessary if using
 *    `:before` to contain the top-margins of child elements.
 */

.clearfix::before,
.clearfix::after {
	content: " ";
	display: table;
}

.clearfix::after {
	clear: both;
}

/*
 * Button Utilities
 */

button.mc_btn_dark {
	background-image: none;
	background-color: #2c2e3d;
	border: 3px solid #2c2e3d;
	padding: 8px 20px;
}

button.mc_btn_dark:hover {
	color: #2c2e3d;
	background-color: #ffffff;
}

/* ==========================================================================
  Main Design.
   ========================================================================== */

/*
 * Layout
 */

#mc_main {
	width: 100%;
	min-height: 100vh;
	position: relative;
}

#mc_main_inner {
	width: 100%;
	min-height: 100vh;
	display: flex;
	align-items: stretch;
}

#mc_main_inner .mc_left_col {
	background-size: cover;
	background-position: center center;
	width: 70%;
	position: relative;
}

.mc_login_page #mc_main_inner .mc_left_col {
	background-image: url("../images/login-illustration-2.svg");
}

.mc_free_trial #mc_main_inner .mc_left_col {
	background-image: url("../images/essai-gratuit-illustration.jpg");
}

#mc_main_inner .mc_right_col {
	position: relative;
	width: 30%;
	min-width: 400px;
	background-color: #f4f4f4;
	display: flex;
	align-items: center;
	align-content: center;
}

#mc_main_inner .mc_right_col .mc_inner_col {
	max-width: 330px;
	margin: 0 auto;
}

/*
 * Cookie Banner
 */

#mc_cookie_banner {
	background-color: #fff;
	border-radius: 4px 4px 0 0;
	border: 1px solid #eee;
	box-shadow: 0 0 20px rgba(0, 0, 0, 0.05);
	max-width: 1120px;
	width: 100%;
	padding: 12px 20px;
	margin-left: -560px;
	position: absolute;
	left: 50%;
	bottom: 0;
	display: flex;
	align-items: center;
	align-content: space-between;
}

#mc_cookie_banner .mc_left_col {
	flex-shrink: 1;
	padding-right: 20px;
}

#mc_cookie_banner .mc_right_col {
	flex-grow: 1;
	text-align: right;
}
#mc_cookie_banner button {
	min-width: 160px;
	font-size: 14px;
	padding: 6px;
}

.RtoL {
	/* for chrome and safari*/
	-webkit-animation-duration: 1s;
	-webkit-animation-name: slidein;

	/*for firefox*/
	-moz-animation-duration: 1s;
	-moz-animation-name: slidein;

	/* for opera*/
	-o-animation-duration: 1s;
	-o-animation-name: slidein;

	/* Standard syntax*/
	animation-duration: 1s;
	animation-name: slidein;
}

@-webkit-keyframes slidein {
	from {
		margin-left: 100%;
		width: 300%;
	}

	to {
		margin-left: 0%;
		width: 100%;
	}
}

@-moz-keyframes slidein {
	from {
		margin-left: 100%;
		width: 300%;
	}

	to {
		margin-left: 0%;
		width: 100%;
	}
}
@-o-keyframes slidein {
	from {
		margin-left: 100%;
		width: 300%;
	}

	to {
		margin-left: 0%;
		width: 100%;
	}
}
@keyframes slidein {
	from {
		margin-left: 100%;
		width: 300%;
	}

	to {
		margin-left: 0%;
		width: 100%;
	}
}
/*
 * Logo Mobile
 */
.mc_logo_mobile {
	max-width: 200px;
	display: none;
}
/*
 * Page Title
 */

.mc_title_blk {
	text-align: center;
	position: absolute;
	width: 100%;

	bottom: 14%;
}

.mc_title_blk h1 {
	max-width: 600px;
	margin: 0 auto;
	line-height: 1;
	background-color: rgba(255, 255, 255, 0.7);
}

/*
 * Form Block
 */
.mc_logo {
	margin-top: -60px;
	margin-bottom: 30px;
	width: 200px;
}

.mc_col_m {
	padding-left: 20px;
}

.mc_form_title {
	position: relative;
	color: #000000;
	font-weight: bold;
	font-size: 40px;
	padding: 8px 0;
}

.mc_form_title:after {
	content: "";
	display: block;
	width: 100%;
	height: 3px;
	position: absolute;
	bottom: -3px;
	background: #660066;
}

.container {
	min-width: 330px;
	height: 76px;
	display: table-cell;
	vertical-align: middle;
}

#mc_form_message {
	color: #000000;
}

#mc_adv_password {
	color: #000000;
}

.mc_form_erreur {
	color: #000000;
	background-color: #fff3cd;
	font-size: 14px;
	padding: 10px;
	border-radius: 4px;
	margin-bottom: 20px;
	margin-top: 20px;
	display: none;
}

.mc_form_avertissement {
	color: #fff;
	background-color: #ef9b3a;
	font-size: 14px;
	padding: 10px;
	border-radius: 4px;
	margin-bottom: 20px;
	margin-top: 20px;
	display: none;
}

a.mc_lost_password {
	color: #000000;
}

a.mc_lost_password:hover {
	color: #fff3cd;
}

a.mc_need_help {
	color: #000000;
}

a.mc_need_help:hover {
	color: #fff3cd;
}

.mc_form_block .mc_form_errors_main_msg {
	color: #000000;
	background-color: #fff3cd;
	font-size: 14px;
	padding: 10px;
	border-radius: 4px;
	margin-bottom: 20px;
}

.mc_form_block .mc_field_error_msg {
	color: #000000;
	background-color: #fff3cd;
	font-size: 14px;
	padding: 10px;
	border-radius: 4px;
	margin-bottom: 20px;
}

/* ==========================================================================
   EXAMPLE Media Queries for Responsive Design.
   These examples override the primary ('mobile first') styles.
   Modify as content requires.
   ========================================================================== */

@media only screen and (max-width: 1120px) {
	#mc_cookie_banner {
		width: 100%;
		padding: 12px 20px;
		margin-left: 0px;
		position: fixed;
		left: 0%;
		right: 0%;
		bottom: 0;
	}
}
@media only screen and (max-width: 1024px) {
	#mc_main_inner {
		flex-direction: column;
	}

	#mc_main_inner .mc_left_col {
		width: 100%;
		min-height: 750px;
	}

	#mc_main_inner .mc_right_col {
		width: 100%;
		min-width: 0;
		padding: 0 20px 160px;
		background-color: #fff;
	}

	.mc_logo_mobile {
		max-width: 200px;
		display: inline;
	}

	.mc_logo {
		display: none;
	}

	.mc_form_title {
		color: #2c2e3d;
	}

	.mc_form_message {
		color: #646b82;
	}

	a.mc_lost_password {
		color: #646b82;
	}

	a.mc_need_help {
		color: #646b82;
	}
}

@media only screen and (max-width: 480px) {
	#mc_main_inner .mc_left_col {
		min-height: 380px;
	}

	#mc_main_inner .mc_right_col {
		padding-top: 30px;
		padding-bottom: 200px;
	}

	#mc_cookie_banner {
		flex-direction: column;
	}
	#mc_cookie_banner .mc_left_col {
		width: 100%;
	}
	#mc_cookie_banner .mc_right_col {
		width: 100%;
	}
	#mc_cookie_banner .mc_right_col button {
		width: 100%;
	}

	.mc_logo_mobile {
		max-width: 120px;
	}

	.mc_title_blk {
		bottom: 7%;
	}

	.mc_title_blk h1 {
		font-size: 26px;
	}
	.mc_title_blk h1 span {
		font-size: 18px;
	}

	.mc_singlestep_form .mc_form_footer {
		flex-direction: column;
		width: 100%;
	}

	.mc_singlestep_form .mc_form_footer > div {
		width: 100%;
		text-align: center;
	}

	.mc_singlestep_form .mc_form_footer #mc_submit_btn,
	.mc_multistep_form .mc_form_step_1 .mc_form_footer .mc_form_next_step_btn {
		width: 100%;
		margin-bottom: 16px;
	}
}

.control-loader-body {
	z-index: 99;
	position: absolute;
	right: 48%;
	top: 48%;
	height: 20px;
	grid-template-columns: 25% 25% 25% 25%;
	column-gap: 2px;
	row-gap: 2px;
	animation: control-loader-showing 250ms linear forwards;
	display: grid;
}
.loader_container {
	position: relative;
	width: 330px;
	height: 278px;
	display: none;
}

.control-loader-item {
	width: 4px;
	border: 1px solid transparent;
	animation-name: control-loader-animation;
	animation-duration: 1s;
	animation-iteration-count: infinite;
	border-radius: 9999px;
}

.control-loader-item:nth-child(1) {
	grid-column: 1 / span 1;
	animation-delay: 0ms;
}

.control-loader-item:nth-child(2) {
	grid-column: 2 / span 1;
	animation-delay: 250ms;
}

.control-loader-item:nth-child(3) {
	grid-column: 3 / span 1;
	animation-delay: 500ms;
}

.control-loader-item:nth-child(4) {
	grid-column: 4 / span 1;
	animation-delay: 750ms;
}

@keyframes control-loader-animation {
	0% {
		border-color: #666666;
		background-color: #666666;
		transform: scale(1, 1);
	}

	100% {
		border-color: #666666;
		background-color: transparent;
		transform: scale(0, 0);
	}
}
