/*-- <CSS RESET> --*/
html, body, div, span, applet, object, iframe, h1, h2, p, a, abbr, acronym, address, big, cite, del, dfn, font, img, ins, kbd, q, s, samp, small, strike, tt, var, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td {
	border: 0;
	font-family: inherit;
	font-size: 100%;
	font-style: inherit;
	font-weight: inherit;
	margin: 0;
	padding: 0;
	outline: 0;
	vertical-align: baseline;
}

/* remember to define focus styles! */
:focus {
	outline: 0;
}

body {
	background: white;
	line-height: 1;
	color: #313131;
}

ol, ul {
	list-style: none;
}

/* tables still need 'cellspacing="0"' in the markup */
table {
	border-collapse: separate;
	border-spacing: 0;
}

caption, th, td {
	font-weight: normal;
	text-align: left;
}

blockquote:before, blockquote:after, q:before, q:after {
	content: "";
}

blockquote, q {
	quotes: "" "";
}

strong {
	font-weight: 700;
}

/*-- </CSS RESET> --*/

html, body, div, span, applet, object, iframe, h1, h2, p, a, abbr, acronym, address, big, cite, del, dfn, font, img, ins, kbd, q, s, samp, small, strike, tt, var, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td {
	font-family: "Open Sans", "Helvetica Neue", Helvetica, Verdana, Arial;
	font-size: 12px;
	color: #313131;
}

/* CSS FOR INHERIT FONT-SIZE FORMATAGE DESCRIPTION */
#widget .col-md-6 p,
#widget .col-md-6 span,
#staffs .col-md-6 p,
#staffs .col-md-6 span {
	font-size: inherit;
}

/* END CSS FOR INHERIT FONT-SIZE FORMATAGE DESCRIPTION */

/* Contain floats: nicolasgallagher.com/micro-clearfix-hack/ */
.clearfix:before, .clearfix:after {
	content: "";
	display: table;
}

.clearfix:after {
	clear: both;
}

.clearfix {
	zoom: 1;
}

.page {
	display: none;
	padding: 0 10px 10px 20px;
	position: relative;
}

h1 {
	font-size: 18px;
	color: #FFF;
	font-weight: 600;
}

h2 {
	font-size: 14px;
	font-weight: bold;
	padding-bottom: 10px;
}

#thank > h2, #sorry > h2 {
	padding-top: 20px;
}

#thank div h2, #sorry div h2 {
	text-align: left;
}

.header {
	min-height: 80px;
	background-color: #313131;
	text-align: center;
	padding-top: 20px;
	color: #FFF;
}

.nav {
	width: 90%;
	margin: auto;
	padding-top: 10px;
	max-width: 600px
}

.header td {
	color: #FFF;
	text-align: center;
}

.event-info {
	background-color: #dadfe1;
	font-size: 12px;
	padding-top: 5px;
	min-height: 20px;
	padding-left: 10px;
	line-height: 15px;
	text-align: center;
	color: #4a4a4a;
}

.items li {
	min-height: 50px;
	line-height: 100%;
	display: block;
	border-bottom: 1px solid #313131;
	cursor: pointer;
	position: relative;
	padding: 5px;
	transition-duration: 0.7s;
}

.items .center {
	line-height: 6;
	vertical-align: middle;
}

.items li:hover, .items .item.center:hover {
	background-color: #f2f2f2;
	transition-duration: 0.7s;
	/*font-size: 13.5px;*/
}

.items li:active, .items:active .item.center:active {
	background-color: #f2f2f2;
	transition-duration: 0.7s;
	font-size: 13.5px;
}

.items li * {
	color: #0079D0;
}

.items li input {
	margin-right: 10px;
}

.items img {
	width: 45px;
	vertical-align: middle;
	padding-right: 5px;
}

.items h4 {
	font-weight: bold;
}

.items .item.center {
	font-weight: bold;
	color: #000;
	transition-duration: 0.7s;

}

.w-full {
	width: 100%;
}

.sm\:px-30 {
	padding-right: 30px;
	padding-left: 30px;
}

.items div.item * {
	color: #000;
	line-height: 2;
	overflow: hidden;
	width: fit-content;
	margin-left: 10px;
	-o-text-overflow: ellipsis; /* pour Opera 9 */
	text-overflow: ellipsis;
}

.items div.item p {
	color: #646567;
	line-height: normal;
	overflow: hidden;
	-o-text-overflow: ellipsis; /* pour Opera 9 */
	text-overflow: ellipsis;
	font-size: 0.9em;
	margin-top: -10px;
	margin-bottom: 5px;
}

.row > div {
	position: relative;
	display: inline-block;
	vertical-align: middle;
}

div.col-md-3.price.desktop.hcenter {
	line-height: 6 !important;
	text-align: left;
	margin-left: 10px;
}

.col-md-1 {
	width: 8.33333%
}

.col-md-2 {
	width: 16.66666%
}

.col-md-3 {
	width: 25%
}

.col-md-4 {
	width: 33.33332%
}

.col-md-6 {
	width: 50%
}

.col-md-12 {
	width: 100%
}

.light {
	border-bottom-color: white;
}

.month td {
	padding-top: 8px;
	padding-bottom: 8px;
	text-align: center;
}

.month td.title {
	width: 100%;
}

.month td.day-title {
	font-weight: bold;
}

.month td.day.dday {
	color: #808080;
	cursor: default;
}

.month td.day {
	color: #313131;
	cursor: pointer;
	font-weight: bold;
}

.month td span {
	color: inherit;
}

.list-dates {
	margin-top: 10px;
	text-align: center;
}

.list-dates li {
	text-align: center;
	padding: 0 10px 0 10px;
}

.list-dates .button {
	margin-right: 0;
}

.date-header {
	font-size: 14px;
	font-weight: bold;
	text-transform: uppercase;
	text-align: center;
	height: 30px;
	line-height: 30px;
}

.buttons input, .button {
	border: solid 1px #C3C3C3;
	-moz-border-radius: 0px;
	border-radius: 0px;
	cursor: pointer;
	margin-right: 7px;
	position: relative;
}


/* BORDER DAY SELECT */

.buttons input, .button:hover {
	border: solid 1px #0079D0;
	cursor: pointer;
	margin-right: 0px;
	position: relative;
	font-size: 10px;
	background-color: #0079D0;
	color: white;
	box-shadow: 1px 1px 1px 1px

}

.button {
	width: 150px;
	margin-bottom: 3px;
	font-size: 10px;
	padding: 5px;
}

.fields-page p {
	padding: 0 1em 0.5em 0;
	margin-top: 4px;
	margin-bottom: 4px;
	line-height: 1.0;
	clear: left;
}

.fields-page label, .fields-page input[type=text], .fields-page input[type=password], .fields-page input[type=tel], .fields-page input[type=email], .fields-page textarea, .fields-page select {
	display: inline-block;
	vertical-align: baseline;
	width: 250px;
}

.fields-page label:not(.title) {
	margin-right: 5px;
	white-space: normal;
	float: left;
}

.fields-page label.title {
	width: 200px;
	margin-right: 5px;
	margin-left: 0;
	white-space: normal;
}

.fields-page label.title + label {
	float: none;
}

input[type=text]:not(.invalid_input), input[type=password], input[type=tel], input[type=email], input[type=password], textarea, select {
	border: 1px solid #C7C7C7;
}

input[type=text], input[type=password], input[type=tel], input[type=email], input[type=password], textarea, select {
	font-family: "Open Sans", "Helvetica Neue", Helvetica, Verdana, Arial;
	font-size: 12px;
	padding: 3px;
}

input[type=text]:focus, input[type=tel]:focus, input[type=email]:focus, input[type=password]:focus, textarea:focus, select:focus {
	border-color: #777 !important;
	outline: 0;
	-moz-box-shadow: 0 0 2px #A1A1A1;
	-webkit-box-shadow: 0 0 2px #A1A1A1;
	box-shadow: 0 0 2px #A1A1A1;
}

.fields-page input, .fields-page textarea, .fields-page select {
	box-sizing: border-box;
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
}

.label {
	padding-bottom: 3px;
	font-size: 13px;
	font-weight: bold;
	display: block;
}

.fields-page label.field-title {
	width: 100%;
	text-align: left;
}

.visible {
	display: block;
}

.unvisible {
	display: none;
}

#bbuttons {
	padding: 10px;
	background-color: #e8ecf1;
	height: 30px;
	text-align: center;
}

#bbuttons button {
	display: none;
}

#bbuttons button:disabled, #dconfirm:disabled {
	background-color: rgba(127, 175, 26, 0.3)
}

.az-btn, .az-btn-neg, .az-btn-pos, .az-btn-blue {
	border-radius: 6px;
	padding: 4px 15px;
	background-color: #666;
	border: 0;
	color: #FFF;
	font-weight: normal;
	cursor: pointer;
	margin: 0 7px 0 0;
	vertical-align: middle;
	line-height: 1.4;
	white-space: nowrap;
	display: inline-block;
	text-decoration: none;
	font-size: 13px;
}

a.az-btn, a.az-btn-neg, a.az-btn-pos, a.az-btn-blue {
	padding: 4px 15px;
	color: #FFF;
	font-weight: normal;
}

a.az-btn:hover, a.az-btn-neg:hover, a.az-btn-pos:hover, a.az-btn-blue:hover {
	text-decoration: none;
}

.az-btn-pos {
	background-color: #7FAF1B;
}

.az-btn-neg {
	background-color: #E43D32;
}

.az-btn-blue {
	background-color: #0A7BFF;
}

.nav-box {
	background: url(bullet1.png) no-repeat center left;
	height: 20px;
}

.nav-box.done {
	background-image: url(bullet2.png);
}

.nav-box-end {
	background-image: url(bullet1-end.png);
	width: 20px;
}

.nav-box-end.done {
	background-image: url(bullet2-end.png);
}

.day span {
	padding: 5px;
	transition-duration: 0.2s;
}

/* BLUE TEXT MONTHS & DAYS SELECT */

.day span:hover {
	padding: 5px;
	color: #0287D0;
}

.dday span {
	background-color: #DCDEE0;
	color: #3C3D4D !important;
	border-radius: 5px;
	min-width: 15px;
	display: inline-block;
}

.sday span {
	background-color: #0079D0;
	color: white !important;
	border-radius: 5px;
}

#ajaxloader {
	position: absolute;
	left: 0;
	top: 30%;
	text-align: center;
	width: 100%;
}

.list-dates .button, #qdates .button {
	font-weight: bold;
	background-color: #fff;
	transition-duration: 0.5s;
}

.list-dates:hover .button:hover, #qdates:hover .button:hover {
	font-weight: bold;
	background-color: #0287D0;

}

.dates-block {
	height: 180px;
	overflow-y: auto;
}

.hand {
	cursor: pointer;
}

.date-nav {
	font-size: 18px;
	color: #7F7F7F;
}

.previous {
	background: url(previous.png);
	width: 18px;
}

.date-info {
	padding: 0 15px 0 15px;
	vertical-align: middle;
}

.table-dates {
	width: 60%;
	margin: auto;
}

.table-dates td, .table-dates th {
	text-align: center;
}

.table-dates th {
	text-transform: uppercase;
	color: black;
	padding: 7px 5px 5px 5px;
}

.nodates {
	text-align: center;
	padding-top: 20px;
}

.qdate {
	background-color: #fff;
	border-style: dashed;
}

#qdates .button {
	width: 170px;
}

.qclose {
	margin: auto;
	font-size: 2em;
	margin: auto;
	position: absolute;
	top: 0;
	bottom: 0;
	right: 5px;
	color: #808080;
	line-height: 24px;
}

.item-extended {
	position: absolute;
	right: 50px;
	top: 0;
	bottom: 0;
}

#close {
	position: absolute;
	top: 10px;
	right: 19px;
	font-size: 30px;
	color: #ffffff;
	cursor: pointer;
	background-color: transparent;
}

/* CLOSE CROSS EFFECT */
#close:hover {
	position: absolute;
	top: 10px;
	right: 19px;
	font-size: 30px;
	color: #d60808;
	cursor: pointer;
}

#months {
	float: left;
	width: 50%;
}

#dates {
	margin-left: 50%;
	width: 50%;
	position: relative;
}

#date-page {
	height: 80%;
}

.change-buttons {
	margin-top: 50px;
	text-align: center;
}

.change-buttons .az-btn-pos, .change-buttons .az-btn-neg {
	margin-top: 8px;
}

.change-title {
	margin-top: 30px;
	text-align: center;
}

.calendar {
	margin-top: 20px;
}

.calendar img {
	width: 50px;
}

.caption {
	margin-top: 15px;
	font-size: 1em;
}

.payment-box {
	width: 90%;
}

.payment-box img {
	width: 120px;
}

#payments td {
	text-align: center;
}

.payment-box {
	margin: auto;
	width: 125px;
	border: solid 1px #ddd;
	padding: 15px;
	text-align: center;
	border-radius: 5px;
	box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.25);
}

.payment-box:hover {
	border: solid 1px #7faf1b;
}

.payment-box-selected {
	border: solid 1px #7faf1b;
}

.group {
	background-color: #313131;
	color: white;
	margin: 3px 0 3px 0;
	padding: 5px;
	cursor: pointer;
}

#widget {
	display: none;
}

.desktop {
	white-space: nowrap;
}

.desktop span {
	line-height: 1;
}

.none-help {
	margin-bottom: 10px;
}

.hcenter {
	text-align: center;
}

#dates-block {
	overflow-y: auto;
	overflow-x: hidden;
}

#wb {
	position: absolute;
	top: 10px;
	left: 10px;
	color: #fff;
	white-space: nowrap;
}

.new {
	position: absolute;
	color: #008941;
	margin: 5px;
	cursor: pointer;
	font-weight: bold;
	transition-duration: 0.5s;
}

/* GREEN GLOWING EFFECT

.new:hover {
	position: absolute;
	color: #008941;
	margin: 5px;
	cursor: pointer;
	font-weight: bold;
	text-shadow: 0px 0px 6px #008941;
}
*/

.timezone {
	background-color: #c2e2a1;
	padding: 10px;
	-moz-border-radius: 5px;
	border-radius: 5px;
	margin-top: 5px;
}

.timezone select {
	width: 200px;
}

.timezone #timezone {
	margin-left: 10px;
}

.privacy {
	position: absolute;
	bottom: 20px;
	left: 15px;
	vertical-align: middle;
	height: 30px;
	text-transform: uppercase;
}

.privacy a {
	color: #56585A;
	font-size: 12px;
	text-decoration: none;
	transition-duration: 0.5s;
	font-weight: bold;
}

.privacy a:hover {
	color: #0079D0;
	font-size: 12.5px;
}

.fields-personal {
	display: none;
}

.az-btn-blue {
	background-color: #0A7BFF;
	text-transform: uppercase;
	transition-duration: .5s;
	/*background: linear-gradient(to right, #535A5E 50%, #008941 50%);*/
	background-size: 200% 100%;
	background-position: left bottom;
	transition: all .5s ease-out;
	-moz-transition-duration: .5s;

}

/*BUTTON "SUIVANT" HOVER*/
.az-btn-blue:hover {
	text-transform: uppercase;
	background-position: right bottom;
}

.az-btn-previous {
	background-color: #535A5E;
	text-transform: uppercase;
	transition-duration: .5s;
	/*background: linear-gradient(to left, #535A5E 50%, #0079D0 50%);*/
	background-size: 200% 100%;
	background-position: right bottom;
	transition: all .5s ease-out;
	-moz-transition-duration: .5s;

}

/* BUTTON "PRÉCÉDENT" HOVER*/

.az-btn-previous:hover {
	background-position: left bottom;
	text-transform: uppercase;
}

.field-load {
	background: url(ajax-loader.gif) no-repeat right;
	background-size: 16px;
}

#password {
	display: none;
}

#subtitle {
	color: #FFF;
	padding-top: 8px;
	font-size: 14px;
}

.nav-circles {
	font-size: 16px;
	color: white;
	padding-top: 5px;
	transition-delay: 1s;
}

.nav-circles i {
	margin-right: 10px;
}

.identity-page {
	background-color: #E4EFFB
}

.identity-form {
	padding: 20px;
}

.identity-form h2 {
	text-transform: uppercase;
}

.identity-form p {
	clear: none;
}

.identity-form label {
	display: none;
}

.identity-form input {
	border: solid 1px #979797;
}

::-webkit-input-placeholder {
	color: blue;
}

:-moz-placeholder {
	color: blue;
	opacity: 1;
}

::-moz-placeholder {
	color: blue;
	opacity: 1;
}

:-ms-input-placeholder {
	color: blue;
}

.block-align-column {
	height: 100%;
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding-top: 0;
}

.poweredby {
	position: absolute;
	bottom: 0;
	vertical-align: middle;
	height: 30px;
	text-transform: uppercase;
	width: 200px;
	text-align: center;
	z-index: 10;
	left: 50%;
	margin-left: -100px;
}

.poweredby a {
	color: #808080;
	text-decoration: none;
}

.poweredby a:hover {
	text-decoration: underline;
}

.footer {
	height: 20px;
	background-color: #313131;
	text-align: center;
}

.footer a {
	font-size: 11px;
	color: #9E9E9E;
	text-transform: uppercase;
	text-decoration: underline;
	padding-left: 10px;
	padding-right: 10px;
	line-height: 20px;
}

.footer #powered_by_agendize {
	font-size: 11px;
	color: #9E9E9E;
	text-transform: uppercase;
	padding-left: 10px;
	padding-right: 10px;
	line-height: 20px;
}

.edit-confirm-date {
	width: 200px;
	float: right;
	text-align: left
}

.edit-confirm-date-new {
	width: 200px;
	text-align: left;
}

#day-loader {
	margin-left: 50%;
	width: 50%;
}

.date-loader {
	position: absolute;
	left: 50%;
	top: 50px;
}

#existing-client > p > label {
	display: block;
	height: 35px;
	line-height: 25px;
}

#existing-client > p > span > i {
	font-size: 20px;
	vertical-align: middle;
	margin-right: 2px;
}

#submit-widget {
	background-color: #7FAF1B;
	transition-duration: 0.5s;
}


/* CONFIRM APPOINTMENTS GREEN EFFECT

#submit-widget:hover{
	background-color: #008941;
	left: 120%;
	background-image: url(checkmarkwhite.png);
	background-position: 96.8% 44%;
	background-size: 13px;
	background-repeat: no-repeat;
	transition-duration: 0.5s;
	padding: 4px 25px;
	text-indent: -1.15em;
	-moz-background-position: 187.5px 7px;
	-webkit-animation: pulsebis 2s infinite cubic-bezier(0.66, 0, 0, 1);
	-moz-animation: pulsebis 2s infinite cubic-bezier(0.66, 0, 0, 1);
	-ms-animation: pulsebis 2s infinite cubic-bezier(0.66, 0, 0, 1);
	animation: pulsebis 2s infinite cubic-bezier(0.66, 0, 0, 1);
	box-shadow: 0 0 0 0 rgba(0, 137, 65, 0.5);
}

#submit-widget:active{
	background-color: #008941;
	left: 120%;
	background-image: url(checkmarkwhite.png);
	background-position: 96.8% 44%;
	background-size: 13px;
	background-repeat: no-repeat;
	transition-duration: 0.5s;
	padding: 4px 25px;
	text-indent: -1.15em;
	-moz-background-position: 187.5px 7px;
	-webkit-animation: pulsebis 2s infinite cubic-bezier(0.66, 0, 0, 1);
	-moz-animation: pulsebis 2s infinite cubic-bezier(0.66, 0, 0, 1);
	-ms-animation: pulsebis 2s infinite cubic-bezier(0.66, 0, 0, 1);
	animation: pulsebis 2s infinite cubic-bezier(0.66, 0, 0, 1);
	box-shadow: 0 0 0 0 rgba(0, 137, 65, 0.5);
}
*/
/* KEYFRAMES PULSATION */
@-webkit-keyframes pulsebis {
	to {
		box-shadow: 0 0 0 30px rgba(0, 137, 65, 0);
	}
}

@-moz-keyframes pulsebis {
	to {
		box-shadow: 0 0 0 30px rgba(0, 137, 65, 0);
	}
}

@-ms-keyframes pulsebis {
	to {
		box-shadow: 0 0 0 30px rgba(0, 137, 65, 0);
	}
}

@keyframes pulsebis {
	to {
		box-shadow: 0 0 0 30px rgba(0, 137, 65, 0);
	}
}


.az-switch {
	position: relative;
	display: inline-block;
	width: 29px;
	height: 16px;
}

.az-switch input {
	display: none;
}

.az-slider {
	position: absolute;
	cursor: pointer;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background-color: #c8c8c8;
	-webkit-transition: .4s;
	transition: .4s;
	width: 30px;
	border-radius: 7.5px;
}

.az-slider:before {
	position: absolute;
	content: "";
	height: 14px;
	width: 14px;
	left: 14px;
	bottom: 1px;
	background-color: white;
	-webkit-transition: .4s;
	transition: .4s;
	box-shadow: 0 1px 1px 0 rgba(0, 0, 0, 0.2);
	border-radius: 7.5px;
}

input:checked + .az-slider {
	background-color: #4990e2;
	border-radius: 7.5px;
}

input:focus + .az-slider {
	box-shadow: 0 0 1px #c8c8c8;
}

input:checked + .az-slider:before {
	-webkit-transform: translateX(-13px);
	-ms-transform: translateX(-13px);
	transform: translateX(-13px);
}


#relationships,
#relationships-takefor-header,
#existing-client,
#new-client > h4 {
	margin: auto;
}

#relationships,
#existing-client,
#relationships-takefor-header {
	width: 47%;
}

#relationships {
	margin-top: 0;
}

#radio-relationships > h4 {
	margin-top: 0;
}

#radio-relationships, #relationships-takefor-header {
	padding-top: 25px;
	color: #4a4a4a;
}

#relationships-takefor-header p {
	font-weight: bold;
	font-style: normal;
	font-stretch: normal;
	line-height: normal;
	letter-spacing: normal;
}

#relationships h4 {
	font-weight: bold;
	font-style: normal;
	font-stretch: normal;
	line-height: normal;
	letter-spacing: normal;
	color: #4a4a4a;
	margin-bottom: 5px;
}

#radio-relationships .radio {
	display: inline-block;
}

#phone,
#firstname,
#lastname,
#email {
	border-radius: 1px;
	border: solid 1px #c8c8c8;
}

.mand {
	margin-left: 3px;
	margin-top: 10px;
	position: relative;
}

.widget-field-error {
	float: left !important;
}

#new-client label {
	line-height: 26px;
	font-weight: normal;
	color: #4a4a4a;
}

.app-me,
.app-other {
	display: inline-block;
	position: relative;
}

.app-other > input {
	left: 0;
}

#relationships-takefor-header > div:nth-child(2) {
	display: flex;
}

.app-me > label:nth-child(2) {
	width: initial !important;
}

.app-me {
	display: inline-flex;
}

.app-other span,
.app-me {
	float: left;
}

#radio-relationships > div:nth-child(2) {
	margin-right: 20px;
}

#new-client-relationships > p {
	display: flex;
	margin-top: 5px;
	padding-right: 15px;
	position: relative;
}

#new-client-relationships > p > label {
	width: 120px;
	text-align: right;
	margin-right: 5px;
	padding-top: 5px;
}

#new-client-relationships > p > input {
	width: 250px;
}

#new-client-relationships .mand {
	position: absolute;
	right: 5px;
	top: -5px;
}

/* BTN RADIO */
input[type="radio"],
input[type="checkbox"] {
	opacity: 0;
	position: absolute;
	cursor: pointer;
}

input[type="radio"] ~ span:before,
input[type="radio"] ~ label:before {
	content: '';
	display: inline-block;
	width: 15px;
	height: 15px;
	margin: -1px 4px 0 0;
	vertical-align: middle;
	cursor: pointer;
	-moz-border-radius: 50%;
	border-radius: 50%;
	background-color: #d8d8d8;
	border: dashed 1px #c8c8c8;
}

input[type="radio"]:checked ~ span:before,
input[type="radio"]:checked ~ label:before {
	content: '';
	background-color: #4990e2 !important;
	border: solid 1px #c8c8c8;
	border-radius: 100%;
	box-shadow: inset 0 0 0 3px white;
}

input[type="radio"] ~ span:before,
input[type="radio"] ~ label:before {
	content: '';
	display: inline-block;
	width: 15px;
	height: 15px;
	margin: -1px 4px 0 0;
	vertical-align: middle;
	cursor: pointer;
	-moz-border-radius: 50%;
	border-radius: 50%;
	background-color: #fff;
	border: solid 1px #c8c8c8;
}

input[type="radio"]:checked ~ span:before,
input[type="radio"]:checked ~ label:before {
	content: '';
	background-color: #d8d8d8;
	border: solid 1px #c8c8c8;
	border-radius: 100%;
	box-shadow: inset 0 0 0 3px white;
}

input[type="checkbox"] + label {
	position: relative;
	padding-left: 20px;
	margin-top: 5px;
	display: inline-block !important;
}

.xform.form-group label.checkbox + ul.az_list {
	display: flow-root;
}

.xform.form-group label.checkbox + ul.az_list > li > label > label {
	margin-top: -6px;
	margin-bottom: 10px;
}

input[type="checkbox"] + label::before {
	content: "";
	display: inline-block;
	position: absolute;
	width: 17px;
	height: 17px;
	left: 20px;
	top: -2px;
	margin-left: -20px;
	border: 1px solid #c8c8c8;
	border-radius: 3px;
	background-color: #fff;
	-webkit-transition: border .15s ease-in-out, color .15s ease-in-out;
	-o-transition: border .15s ease-in-out, color .15s ease-in-out;
	transition: border .15s ease-in-out, color .15s ease-in-out;
}

input[type="checkbox"]:checked + label::before {
	background-color: #fff;
	border-color: #c8c8c8;
}

input[type="checkbox"]:checked + label::after {
	font-family: "FontAwesome";
	content: "\f00c";
	color: #4a90e2;
	display: inline-block;
	position: absolute;
	width: 17px;
	height: 17px;
	left: 21px;
	top: -1px;
	margin-left: -22px;
	padding-left: 3px;
	padding-top: 0;
	font-size: 14px;
}

/* WIDSGET BACKOFFICE */

#existing-client > div > p:first-child {
	margin-top: 25px;
}

#existing-client > div > p:last-child {
	margin-bottom: 25px;
}

#existing-client.xform > div {
	display: inline-block !important;
	text-align: initial !important;
	width: 100%;
}

#relationships-takefor-header + #existing-client > div > h4 {
	margin-bottom: 5px;
	float: left;
	width: 100%;
}

#relationships-takefor-header + h4 {
	display: none;
}

#new-client > h4 {
	padding-top: 25px;
	margin-bottom: 5px;
}

#existing-client h4 {
	display: inherit;
}

.responsive-label {
	float: right !important;
	text-align: left !important;
	flex: 1;
}

.other-optin {
	margin-left: auto !important;
	margin-right: auto !important;
	display: flex;
}

.other-optin > input {
	width: 15px;
	margin-top: 6px;
}

.fields-page .error-fields {
	border: solid 1px #ff2e47 !important;
	box-shadow: 1px 1px 2px 0 rgba(255, 46, 70, 0.24) !important;
}

#fields-1 > div > div > div:nth-child(1) > label.error.widget-field-error {
	float: left;
}

@media only screen and (max-device-width: 480px) {
	#fields > div div#relationships-takefor-header + h2 {
		margin-bottom: 15px;
	}

	#relationships, #relationships-takefor-header, #existing-client, #new-client > h4 {
		width: 100%;
		margin: auto;
	}


	#new-client input[type="checkbox"] {
		margin: 0;
	}

	.other-optin {
		width: 100%;
	}

	.responsive-label {
		line-height: 18px;
		margin-top: -2px;
		margin-bottom: 7px;
		margin-left: 3px;
	}

	.other-optin > input {
		margin-top: 4px !important;
	}
}

@media only screen and (min-width: 600px) {
	#date {
		overflow-y: hidden !important;
	}
}

@media only screen and (max-device-width: 768px) {
	div > .col-md-3.desktop {
		width: inherit;
		margin-right: 15px;
	}
}

::placeholder {
	color: #9b9b9b;
	font-size: 14px;
	font: "Open Sans";
}

::-webkit-input-placeholder { /* Chrome/Opera/Safari */
	color: #9b9b9b;
	font-size: 14px;
	font: "Open Sans";
}

::-moz-placeholder { /* Firefox 19+ */
	color: #9b9b9b;
	font-size: 14px;
	font: "Open Sans";
}

:-ms-input-placeholder { /* IE 10+ */
	color: #9b9b9b;
	font-size: 14px;
	font: "Open Sans";
}

:-moz-placeholder { /* Firefox 18- */
	color: #9b9b9b;
	font-size: 14px;
	font: "Open Sans";
}

#payment_form {
	width: 45%;
	margin-left: 27.5%;
	margin-right: 27.5%;
}

.card-logo {
	margin-left: 1.3%;
	margin-right: 1.3%;
	margin-top: 5%
}

.block-align {
	display: flex;
	justify-content: center;
	align-items: center;
}

.element-align-mid {
	margin-left: 4%;
	margin-right: 4%;
}

.element-align-mid,
.element-align-left,
.element-align-right {
	width: 33%;
}

#payment_form > input,
#payment_form > div > div > input {
	width: 100%;
	height: 42px;
	margin-top: 6px;
	padding: 0% 0% 0% 4px;
	border-radius: 4px;
}

#payment_form > label,
#payment_form > div > div > label {
	text-align: left;
	margin-top: 42px;
}

.invalid_input {
	border: 1px solid rgb(255, 46, 71);
	box-shadow: 1px 1px 2px 0 rgba(255, 46, 70, 0.24);
}

.pasted_fields {
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.az_list > li > label.radio,
.az_list > li > label.checkbox {
	display: flex;
	width: 360px;
	position: relative !important;
}

.xform.form-group {
	padding-top: 10px;
}

.xform.form-group p {
	overflow: inherit;
	display: flex;
}


label.title {
	font-weight: bold;
	height: inherit;
	margin-bottom: -5px;
	margin-left: 140px;
	width: inherit;
	text-align: left;
}

.xform.form-group div {
	margin-top: 10px;
	display: flow-root;
}

#new-client label.error,
.xform.form-group div label.error {
	text-align: left;
	color: #FF2E47;
	font-size: 12px;
	font-weight: bold;
	float: inherit;
	display: block;
	margin: 8px 10px 0px 0px;
	width: 100%;
	left: 280px;
}

.xform.form-group p .radio {
	padding-left: 20px;
}

.xform.form-group .radio > label,
.xform.form-group .checkbox > label {
	text-align: left;
	width: 300px;
}

.xform.form-group .az_list li {
	display: flex;
}

label.file {
	margin-bottom: 10px;
}

#new-client > p.other-optin > label {
	line-height: 17px;
}

.az_list {
	display: flow-root;
}

.az_list + img.help {
	margin-right: -5px;
	margin-top: -30px;
	float: right;
	position: relative;
}

.xform.form-group .radio > label:not(.radio):not(.checkbox),
.xform.form-group .checkbox > label:not(.radio):not(.checkbox) {
	width: auto;
}

.xform.form-group .az_list > li > label.radio,
.xform.form-group .az_list > li > label.checkbox {
	width: auto;
	max-width: 360px;
}

#qdates {
	display: inline-block;
	margin-top: 10px;
}

.page-content > p.timezone ~ #qdates {
	float: left;
	margin-top: -30px;
}

#date .page-content > div:nth-child(2):not(.clearfix) {
	margin-top: 20px;
}

.widget-warning {
	color: #FF6666;
	font-family: "Open Sans";
	font-size: 9px;
	margin-top: 10px !important;
}

.flex-80 {
	width: 80px;
	flex: 0 0 80px;
}

.hidden {
	visibility: hidden;
}


@media only screen and (max-width: 768px) {
	/* For mobile phones: */
	.fields-page label:not(.title) {
		text-align: left;
	}


}

@media only screen and (max-width: 468px) {
	/* For mobile phones: */
	#bbuttons {
		padding: 10px 0;
	}

	#b-previous {
		margin-right: 2px;
	}

	#submit-widget {
		margin-right: -2px;
	}

	#bbuttons #b-previous,
	#bbuttons #submit-widget {
		padding: 5px 10px;
		font-size: 11px;
	}
}


/* PRIVACY POLICY WIDGET */
#privacy-consent + label,
#marketing-consent + label,
#privacy-consent-mandatory,
#marketing-consen {
	width: 90%;
	padding-left: 30px;
	float: initial;
}

#privacy-consent-mandatory,
#marketing-consent {
	margin-top: 10px;
}

.other-optin label[for='mailing.list.add'],
label[for='waiting.list.subscrire'] {
	padding-left: 30px !important;
	margin: 5px 0;
}

.label-marketing-consent,
.privacy-consent {
	width: 100% !important;
	margin-bottom: 5px;
}

input.check-mandatory ~ label:before {
	border: 2px solid #FF2E47;
}

/* END PRIVACY POLICY */

/* HACK FOR IE versions 9 à Edge */
@media screen and (min-width: 0\0
) {
	.xform.form-group .az_list li {
		display: table;
	}
}

/* END HACK FOR IE */
#confirmation > div > div.row.row-confirm {
	margin-bottom: 15px;
}

#confirmation > div > div:nth-child(4) {
	margin-top: 15px;
}

.pika-title {
	display: flex;
	justify-content: space-between;
}

.pika-label {
	order: 2;

	/* hack to hide label text */
	font-size: 0;
	overflow: inherit;
}

.pika-title .pika-select {
	opacity: 1;
	position: static;
}

.pika-prev {
	order: 1;
}

.pika-next {
	order: 3;
}

.staff-img-container {
	align-items: self-start;
}

.list-item {
	display: flex;
	flex-direction: row;
	align-items: center;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.list-service-description {
	width: 100%;
	display: flex !important;
	align-items: center;
}

@media screen and (max-width: 700px) {

	#fields-1 > div > div > div:nth-child(2) > span {
		bottom: 40px;
		left: 355px;
	}

	.intl-tel-input .selected-flag {
		z-index: 1;
		position: relative;
		width: 36px;
		height: 100%;
		padding: 0px 0px 0px 8px;
	}

	.intl-tel-input.allow-dropdown .selected-flag, .intl-tel-input.separate-dial-code .selected-flag {
		height: 25px;
	}

	.intl-tel-input .selected-flag {
		z-index: 1;
		position: relative;
		width: 36px;
		height: 100%;
		padding: 0px 0px 0px 8px;
	}

	.intl-tel-input.allow-dropdown .selected-flag, .intl-tel-input.separate-dial-code .selected-flag {
		height: 25px;
	}

}

@media screen and (max-width: 415px) {
	.sm\:px-30 {
		padding-right: 10px;
		padding-left: 10px;
	}

	.flex-80 {
		height: 20px;
		flex: 0 0 20px;
		padding-top: 16px;
	}

	.list-service-description {
		flex-direction: column;
		align-items: flex-start;
	}

	.xform.form-group div label.checkbox {
		width: 95px;
	}

	.xform.form-group div label.radio {
		width: 95px;
	}


	#new-client label.error, .xform.form-group div label.error {
		left: 50px;
		width: inherit;
		margin: 8px 10px 0px 100px
	}


	.xform.form-group p {
		flex-direction: column;
	}

	#widget .col-md-6 p, #widget .col-md-6 span, #staffs .col-md-6 p, #staffs .col-md-6 span {
		display: none;
	}

	.items li div.row {
		display: grid;
		grid-template-columns: 0 80px auto auto;
	}

	.items li .list-image-container {
		display: grid;
	}
	.items li .list-image-container img {
		align-self: center;
	}




}

@media screen and (max-width: 320px) {
	.intl-tel-input.allow-dropdown .selected-flag, .intl-tel-input.separate-dial-code .selected-flag {
		width: 46px;
	}


}