/*
** CSS Custom for form request
** dedicated to the Touch For Diffusion Plugin
** CSS by www.pixeliz-corporation.fr
*/

.cb {
	margin: 0;
	padding: 0;
	clear: both;
	height: 0;
	width: 0;
}

/* Helpers */

.ml-15 {
	margin-left: 15px; /* Same as newer versions of Bootstrap */
}

.p-15 {
	padding: 15px!important;
}

.hide {
	display: none;
}

.step {
	display: none;
}

.step.active {
	display: block;
}

.step .container {
    max-width: 890px;
    width: 100%;
}

input.error {
	border-color: #c41415 !important;
}

input[disabled] {
	opacity: 0.3;
	background: #d4d4d4;
}

label {
	font-weight: 300!important;
}

.error-msg {
    color: #c41415;
    font-style: italic;
    /*display: block; !* SPAN en front => too much changements pendant le dev *!*/
	white-space: nowrap;
}
.error-msg:before {
	content: '\f05a';
	font-family: "FontAwesome";
	font-weight: 900;
	font-style: initial;
    margin-right: 5px;
}

@media(max-width: 580px) {
	.error-msg {
		display: block;
		margin-left: 0;
	}
}

.textarea-confirmation {
	height: 130px;
	margin-top: 1em;
}

/* Global structure */

.site-content-request .container-full {
	width: 100%;
}

.site-content-request .container {
	padding-left: 15px;
	padding-right: 15px;
}

.container-form,
.site-content-request .container-navigation,
.status {
	width: 100%;
	max-width: 1170px;
	margin: 0 auto 2em;
}

.site-content-request .container-navigation {
	padding: 15px 0;
}

.page-header.has-image {
    margin-bottom: 0;
}

/* Request Navigation */

#form-quote .navigation {
	background: #87c25b;
	margin-top: -15px;
}

#form-quote .nav-step {
	color: rgba(255,255,255,.7);
}

#form-quote .nav-step.active,
#form-quote .nav-step.past {
	color: #fff;
	font-weight: bold;
}

.steps-wrapper {
    display: flex;
    justify-content: space-between;
    align-items: center;
	flex-direction: row;
	flex-wrap: wrap;
}

.nav-step {
    display: flex;
}

.count {
    margin-right: .5em;
}

/* Status : choose who you are */

.status {
	display: flex;
	flex-wrap: wrap;
}

.js-status {
	position: relative;
	/*width: 20%;*/
	width: 33.33%;
	height: 150px;
	margin: 0;
	overflow: hidden;
	display: flex;
	flex-direction: column;
	justify-content: center;
	text-align: center;
	border: 5px solid #fff;
}

.js-status:hover {
	cursor: pointer;
}

.js-status:hover:before{
	background: rgba(135, 194, 92, 0.6);
}

.js-status:before {
	content: '';
	display: block;
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	background: rgba(0, 0, 0, 0.3);
    z-index: 1;
}

.js-status.highlight:before {
	background: rgba(135, 194, 92, 0.6);
}

.js-error-status.error {
	color: #c41415;
}

.js-status img {
	position: absolute;
    top: 0;
	width: 100%;
}

.js-status h4 {
	z-index: 1;
	color: #fff;
	text-transform: uppercase;
}

form h3 {
	margin-bottom: 0!important;
}

@media(max-width: 1080px) {
	.js-status {
		width: 33%;
	}
}

@media(max-width: 768px) {
	.js-status {
		width: 50%;
	}

	.status {
		padding: 0 1em;
	}
}

/* Forms */

.field {
	margin-bottom: 1em;
}

.field input {
	width: 100%;
	margin-bottom: 7px;
}

.field input[type="radio"],
.field input[type="checkbox"] {
	width: auto!important;
}

.field input[type="radio"] label,
.field input[type="checkbox"] label {
	display: inline;
}

.field input.error {
	border: 1px solid #c41415;
	background: #f2e2e2;
}

.field input.error:focus {
    background: #fff;
}

.field textarea[aria-invalid="true"], .field textarea.error {
    border: 1px solid #c41415;
    background: #f2e2e2;
}

.field textarea[aria-invalid="true"]:focus, .field textarea.error:focus {
    border: 1px solid #c41415;
    background: #fff;
}

.field label {
	margin-bottom: 0;
	font-size: 0.9em;
}

.field input[type='radio'] + label,
.field input[type='checkbox'] + label {
	margin-right: 1em;
}

.label-radio {
	margin-bottom: 6px;
	display: block;
}

div.radio input[type="radio"] {
	margin-left: 0;
	top: -2px;
}

div.radio input[type="radio"] label {
    padding-left: 22px;
}

/* .checkbox {
	display: inline-block;
	margin-right: 1em;
} */

.checkbox input[type=checkbox] {
	margin-left: 0!important;
}

.sub-field {
	background: #f3f3f3;
	border: 1px solid #dadada;
	margin-bottom: 1em;
	padding: 15px 0;
}

.row.sub-field {
	margin-left: 0;
	margin-right: 0;
}

select {
	width: 100%;
  	height: 40px!important;
	border: 1px solid #979797;
	border-radius: 0;
	background: #fff;
}

/* Buttons */

.buttons {
	text-align: center;
	margin-top: 2em;
}

.nav-next,
.nav-back {
	border: 1px solid #87c25b;
	padding: 1em;
}

.nav-next {
    background: #87c25b;
    color: #fff;
}

.nav-next:hover,
.nav-next:active,
.nav-next:focus {
    background: #fff;
	color: #87c25b;
	text-decoration: none;
}

.nav-back {
	color: #87c25b;
	margin-right: 1em;
}

.nav-back:hover {
	color: #fff;
	background: #87c25b;
}

@media(max-width: 980px) {
	.nav-step {
		font-size: .8em;
		width: 50%;
	}
	.steps-wrapper {
			padding-left: 15px;
	}
}

@media(max-width: 767px) {
	.steps-wrapper {
		flex-direction: column;
			align-items: flex-start;
	}

	.step label {
			width: 90%;
			margin-bottom: 1em;
	}

}

@media(max-width: 767px) {
	.nav-step {
		width: 100%;
	}
}

/* Loader */
/* Credit: https://projects.lukehaas.me/css-loaders/ */

.loader,
.loader:before,
.loader:after {
  background: #87c25b;
  -webkit-animation: load1 1s infinite ease-in-out;
  animation: load1 1s infinite ease-in-out;
  width: 1em;
  height: 4em;
}
.loader {
  color: #87c25b;
  text-indent: -9999em;
  margin: 10em auto;
  position: relative;
  font-size: 11px;
  -webkit-transform: translateZ(0);
  -ms-transform: translateZ(0);
  transform: translateZ(0);
  -webkit-animation-delay: -0.16s;
  animation-delay: -0.16s;
}
.loader:before,
.loader:after {
  position: absolute;
  top: 0;
  content: '';
}
.loader:before {
  left: -1.5em;
  -webkit-animation-delay: -0.32s;
  animation-delay: -0.32s;
}
.loader:after {
  left: 1.5em;
}
@-webkit-keyframes load1 {
  0%,
  80%,
  100% {
    box-shadow: 0 0;
    height: 4em;
  }
  40% {
    box-shadow: 0 -2em;
    height: 5em;
  }
}
@keyframes load1 {
  0%,
  80%,
  100% {
    box-shadow: 0 0;
    height: 4em;
  }
  40% {
    box-shadow: 0 -2em;
    height: 5em;
  }
}

@media(max-width: 650px) {

	.steps-wrapper {
		flex-direction: column;
	}

	.js-status {
		width: 100%;
	}

}


#opening_days {
	resize: vertical;
}

.text-underline {
	text-decoration: underline;
}

/* ================================================
 * Style pour le select unit.
 * ================================================ */
.field-with-unit .input-col {
	padding: 0;
}

.field-with-unit .unit-col {
	padding-right: 0;
}

.field-with-unit .unit-col select {
	height: 40px !important;
}
