/*@import url(datepicker.css);

#xfp .errorm						{ background: #fae5e3; margin: 0 0 18px; padding: 10px; -webkit-border-radius: 4px; -moz-border-radius: 4px; border-radius: 4px; }
#xfp .errorm h2					{ border: none; color: #9d261d; margin: 0; padding: 0; }
#xfp .errorm p					{ color: #333; margin: 0; padding: 0; }
#xfp .errorm li					{ color: #333; margin: 0; padding: 0; }
#xfp .errorm a,
#xfp .errorm a:link,
#xfp .errorm a:visited,
#xfp .errorm a:hover,
#xfp .errorm a:active			{ color: #333; font-weight: normal; margin: 0; padding: 0; }

.xfpprogressbar					{ background: #f5f5f5; border-radius: 20px; margin: 18px 0 5px; padding: 0; overflow: hidden; -moz-border-radius: 20px; -webkit-border-radius: 20px; }
.xfpprogressmarker				{ border: 1px solid #ccc; background-repeat: repeat-x; height: 15px; text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
									background-color: #1966a8; background-repeat: repeat-x; color: #ffffff; text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
									background-image: -khtml-gradient(linear, left top, left bottom, from(#317dc1), to(#1966a8));
									background-image: -moz-linear-gradient(top, #317dc1, #1966a8);
									background-image: -ms-linear-gradient(top, #317dc1, #1966a8);
									background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #317dc1), color-stop(100%, #1966a8));
									background-image: -webkit-linear-gradient(top, #317dc1, #1966a8);
									background-image: -o-linear-gradient(top, #317dc1, #1966a8);
									background-image: linear-gradient(top, #317dc1, #1966a8);
									filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#317dc1', endColorstr='#1966a8', GradientType=0);

									border-color: #003f81;
									border-radius: 20px 0 0 20px;
									-moz-border-radius: 20px 0 0 20px;
									-webkit-border-radius: 20px 0 0 20px;
								}

.xfpinstructions					{ margin: 0 0 18px; overflow: auto; }

#xform_layout  					{ border-top: 1px solid #ddd; margin: 0 0 18px; padding: 17px 0 18px 0;}
#xform_layout .input  			{ margin-left: 200px; }

#xform_layout .xfphelp 			{ color: #6f6f6f; display: block; font-size: 11px; line-height: 18px; max-width: 600px; }

#xform_layout .xfpclear  		{ margin-bottom: 18px; zoom: 1; }
#xform_layout .xfpclear:before,
#xform_layout .xfpclear:after  	{ content: ""; display: table; *display: inline; zoom: 1; }
#xform_layout .xfpclear:after  	{ clear: both; }

#xform_layout label, #xform_layout span.form_label		{ color: #404040; float: left; font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 13px; font-weight: normal; line-height: 18px; margin: 0; padding-top: 6px; text-align: right; width: 160px; }
#xform_layout label em, #xform_layout span.form_label em	{ background: #f5f5f5; border-radius: 3px; clear: none; color: #8f8f8f; display: inline; font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 11px; font-style: normal; overflow: hidden; margin: 0 0 0 3px; padding: 3px; text-transform: uppercase; }

#xform_layout .xfpbutton			{ border: 1px solid #ccc; color: #808080; cursor: pointer; display: inline-block; font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 13px; font-weight: normal; height: auto; line-height: normal; margin: 0; *overflow: visible; padding: 4px; text-transform: none; vertical-align: baseline; *vertical-align: middle; width: auto; -webkit-appearance: button; -webkit-border-radius: 3px; -moz-border-radius: 3px;  border-radius: 3px;}
#xform_layout .xfields			{ border: 1px solid #ccc; color: #808080; display: inline-block; font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 13px; font-weight: normal; height: 18px; margin: 0; *overflow: visible; padding: 4px; vertical-align: baseline; *vertical-align: middle; width: 310px; -webkit-border-radius: 3px; -moz-border-radius: 3px;  border-radius: 3px; }
#xform_layout .sizeSet			{ max-width: 90%; width: auto; }
#xform_layout .checkbox  		{ border: none; cursor: pointer; height: auto; line-height: normal; margin: 3px 0; *margin-top: 0; padding: 0; vertical-align: top; width: auto; }
#xform_layout textarea  		{ border: 1px solid #ccc; color: #808080; display: inline-block; font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 13px; font-weight: normal; height: auto; line-height: normal; margin: 0; overflow: auto; padding: 4px; vertical-align: top; width: 310px; -webkit-border-radius: 3px; -moz-border-radius: 3px; border-radius: 3px; }
#xform_layout select			{ border: 1px solid #ccc; color: #808080; display: inline-block; font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 13px; font-weight: normal; height: 27px; line-height: 27px; margin: 0; *margin-top: 4px; padding: 4px; vertical-align: baseline; *vertical-align: middle; width: 310px; -webkit-border-radius: 3px; -moz-border-radius: 3px; border-radius: 3px; }

#xform_layout input:focus,
#xform_layout textarea:focus  	{ outline: 0; border-color: rgba(82, 168, 236, 0.8); -webkit-box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.1), 0 0 8px rgba(82, 168, 236, 0.6); -moz-box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.1), 0 0 8px rgba(82, 168, 236, 0.6); box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.1), 0 0 8px rgba(82, 168, 236, 0.6); }
#xform_layout .checkbox:focus	{ -webkit-box-shadow: none; -moz-box-shadow: none; box-shadow: none; outline: 1px dotted #666; }
#xform_layout select:focus  	{ -webkit-box-shadow: none; -moz-box-shadow: none; box-shadow: none; outline: 1px dotted #666; }

#xform_layout input::-moz-focus-inner { border: 0; padding: 0; }

#xform_layout .xfields,
#xform_layout textarea  		{ -webkit-transition: border linear 0.2s, box-shadow linear 0.2s; -moz-transition: border linear 0.2s, box-shadow linear 0.2s; -ms-transition: border linear 0.2s, box-shadow linear 0.2s; -o-transition: border linear 0.2s, box-shadow linear 0.2s; transition: border linear 0.2s, box-shadow linear 0.2s; -webkit-box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.1); -moz-box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.1); box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.1); }

#xform_layout .xform_group		{ display: block; margin: 0 0 5px; }
#xform_layout .xform_group label{ display: block; float: none; width: auto; padding: 0; line-height: 18px; text-align: left; white-space: normal; }
#xform_layout .xform_group:first-child  			{ padding-top: 6px; }
#xform_layout .xform_group label + label  		{ padding-top: 2px; }
#xform_layout .xform_group .checkbox { margin-bottom: 0; }

#xform_layout .xfperror 			{ background: #fae5e3; padding: 10px 0; -webkit-border-radius: 4px; -moz-border-radius: 4px; border-radius: 4px; }
#xform_layout .xfperror label strong,
#xform_layout .xfperror .xfphelp{ color: #9d261d; }
#xform_layout .xfperror label em { color: #333; }
#xform_layout .xfperror .error input,
#xform_layout .xfperror .error textarea{ border-color: #c87872; -webkit-box-shadow: 0 0 3px rgba(171, 41, 32, 0.25); -moz-box-shadow: 0 0 3px rgba(171, 41, 32, 0.25); box-shadow: 0 0 3px rgba(171, 41, 32, 0.25); }
#xform_layout .xfperror .error input:focus,
#xform_layout .xfperror .error textarea:focus  	{ border-color: #b9554d; -webkit-box-shadow: 0 0 6px rgba(171, 41, 32, 0.5); -moz-box-shadow: 0 0 6px rgba(171, 41, 32, 0.5); box-shadow: 0 0 6px rgba(171, 41, 32, 0.5); }

#xform_layout input[type=file]  	{ background-color: #ffffff; border: initial; box-shadow: none; height: 27px; line-height: 27px; *margin-top: 4px; padding: initial; -webkit-box-shadow: none; -moz-box-shadow: none; }

#xform_layout .xfpaction  		{ background: #f5f5f5; border-top: 1px solid #ddd; margin-top: 18px; margin-bottom: 18px; overflow: auto; padding: 17px 20px 18px 200px; -webkit-border-radius: 0 0 3px 3px; -moz-border-radius: 0 0 3px 3px; border-radius: 0 0 3px 3px; }
#xform_layout .xfpaction .secondary-action{ float: right; }
#xform_layout .xfpaction .secondary-action a  	{ line-height: 30px; }
#xform_layout .xfpaction .secondary-action a:hover{ text-decoration: underline; }

#xform_layout .xfpbutton,
#xform_layout input.button		{ background-color: #e6e6e6; background-repeat: no-repeat; border: 1px solid #ccc; border-bottom-color: #bbb; color: #333; cursor: pointer; display: inline-block; font-size: 13px; font-weight: normal; line-height: normal; overflow: visible; padding: 5px 14px; text-shadow: 0 1px 1px rgba(255, 255, 255, 0.75); text-transform: none; vertical-align: baseline;  *vertical-align: middle;
									background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ffffff), color-stop(25%, #ffffff), to(#e6e6e6));
									background-image: -webkit-linear-gradient(#ffffff, #ffffff 25%, #e6e6e6);
									background-image: -moz-linear-gradient(top, #ffffff, #ffffff 25%, #e6e6e6);
									background-image: -ms-linear-gradient(#ffffff, #ffffff 25%, #e6e6e6);
									background-image: -o-linear-gradient(#ffffff, #ffffff 25%, #e6e6e6);
									background-image: linear-gradient(#ffffff, #ffffff 25%, #e6e6e6);
									filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#e6e6e6', GradientType=0);

									-webkit-border-radius: 4px;
									-moz-border-radius: 4px;
									border-radius: 4px;

									-webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);
									-moz-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);
									box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);

									-webkit-transition: 0.1s linear all;
									-moz-transition: 0.1s linear all;
									-ms-transition: 0.1s linear all;
									-o-transition: 0.1s linear all;
									transition: 0.1s linear all;
								}
#xform_layout .xfpbutton:hover,
#xform_layout input.button:hover	{ background-position: 0 -15px; color: #333; text-decoration: none; }
#xform_layout .xfpbutton:focus,
#xform_layout input.button:focus	{ outline: 1px dotted #666; }
#xform_layout .xfpbutton:active,
#xform_layout input.button:active{ -webkit-box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.25), 0 1px 2px rgba(0, 0, 0, 0.05); -moz-box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.25), 0 1px 2px rgba(0, 0, 0, 0.05); box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.25), 0 1px 2px rgba(0, 0, 0, 0.05); }

#xform_layout .xfpprimary  	{ background-color: #1966a8; background-repeat: repeat-x; color: #ffffff; float: left; overflow: hidden; text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
							background-image: -khtml-gradient(linear, left top, left bottom, from(#317dc1), to(#1966a8));
							background-image: -moz-linear-gradient(top, #317dc1, #1966a8);
							background-image: -ms-linear-gradient(top, #317dc1, #1966a8);
							background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #317dc1), color-stop(100%, #1966a8));
							background-image: -webkit-linear-gradient(top, #317dc1, #1966a8);
							background-image: -o-linear-gradient(top, #317dc1, #1966a8);
							background-image: linear-gradient(top, #317dc1, #1966a8);
							filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#317dc1', endColorstr='#1966a8', GradientType=0);

							border-color: #1966a8 #1966a8 #003f81;
							border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);

							-webkit-border-radius: 4px;
							-moz-border-radius: 4px;
							border-radius: 4px;
						}
#xform_layout .xfpprimary:hover	{ background-position: 0 -15px; color: #fff; text-decoration: none; }


#xform_layout table				{ background: none; border: none; border-radius: 0; margin-bottom: 18px; padding: 0; width: 100%; }
#xform_layout table tr			{ background: none;}
#xform_layout table	td			{ border: 1px solid #ddd; vertical-align: top; }
#xform_layout table .coltwo		{ width: 60%; }
#xform_layout table	th			{ border: 1px solid #ddd; color: #333; padding: 9px 10px; font-size: 1em; font-weight: bold; line-height: 18px; text-align: left; vertical-align: top; }
#xform_layout table	td label.hideXFPLabels	{ position: absolute; left: -200000px; }
#xform_layout table .xfields,
#xform_layout table textarea,
#xform_layout table select,
#xform_layout table label		{ float: none; margin: 0; text-align: left; width: 90%; }
#xform_layout table	td .xform_group label { position: static;}
#xform_layout table	td,
#xform_layout table	th			{ background-color: #f9f9f9; background-repeat: no-repeat; border-radius: 0; text-transform: none;  text-shadow: none;
									background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ffffff), color-stop(25%, #ffffff), to(#f9f9f9));
									background-image: -webkit-linear-gradient(#ffffff, #ffffff 25%, #f9f9f9);
									background-image: -moz-linear-gradient(top, #ffffff, #ffffff 25%, #f9f9f9);
									background-image: -ms-linear-gradient(#ffffff, #ffffff 25%, #f9f9f9);
									background-image: -o-linear-gradient(#ffffff, #ffffff 25%, #f9f9f9);
									background-image: linear-gradient(#ffffff, #ffffff 25%, #f9f9f9);
									filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#f9f9f9', GradientType=0);
								}

#xform_layout #recaptcha_table td,
#xform_layout #recaptcha_table th	{ background: #fff; border: none; }

#xform_layout .integrated-component	{ display: block; margin: 0 0 10px; }
#xform_layout .integrated-component	label { display: block; float: none; font-weight: bold; line-height: 20px; margin: 0 0 5px; padding: 0; text-align: left; width: auto; } */

#xform_layout .esriMapLayers > div > div { min-width: 256px; }

/**
 * Updated Orbit styles
 */

#xform_layout {
  margin-bottom: 1.5rem;
}

#xform_layout fieldset {
  border: 0;
  padding-top: 0;
}

#xform_layout fieldset:first-of-type {
  border: 0;
  padding: 0;
}

#xform_layout legend {
  color: #607d8b;
  display: block;
  margin: 0 0 1px;
  white-space: normal;
  width: 100%;
}

#xform_layout input[type='search'] {
  -webkit-appearance: none;
  box-sizing: border-box;
}

/* #xform_layout .form__label,
#xform_layout .form__field,
#xform_layout .form__select,
#xform_layout .form__textarea, */
#xform_layout label,
#xform_layout span.label,
#xform_layout input:not([type='button']):not([type='checkbox']):not([type='radio']):not([type='submit']),
#xform_layout select,
#xform_layout textarea {
  display: block;
}

#xform_layout .form__help {
  background-color: #a0b1b9;
  color: #879195;
  display: block;
  margin: 0.75rem 0 0;
  padding: 0.75rem;
}

#xform_layout .form__control {
  margin: 1.5rem 0;
}

/* #xform_layout .form__control--danger .form__label, */
#xform_layout .form__control--danger label,
#xform_layout .form__control--danger span.label {
  color: #b71c1c;
}

/* #xform_layout .form__control--danger .form__field,
#xform_layout .form__control--danger .form__select,
#xform_layout .form__control--danger .form__textarea, */
#xform_layout .form__control--danger input:not([type='button']):not([type='checkbox']):not([type='radio']):not([type='submit']),
#xform_layout .form__control--danger select,
#xform_layout .form__control--danger textarea {
  background-color: #f2adad;
  border-color: #b71c1c;
  color: #b71c1c;
}

/* #xform_layout .form__control--success .form__label, */
#xform_layout .form__control--success label,
#xform_layout .form__control--success span.label {
  color: #4caf50;
}

/* #xform_layout .form__control--success .form__field,
#xform_layout .form__control--success .form__select,
#xform_layout .form__control--success .form__textarea, */
#xform_layout .form__control--success input:not([type='button']):not([type='checkbox']):not([type='radio']):not([type='submit']),
#xform_layout .form__control--success select,
#xform_layout .form__control--success textarea {
  background-color: #d9eeda;
  border-color: #4caf50;
  color: #4caf50;
}

#xform_layout .form__control__group {
  margin-top: 0.375rem;
}

#xform_layout .form__control--append__group {
  height: calc(0.75rem + (16px * 1.5));
  margin-top: 0.75rem;
  position: relative;
}

/* #xform_layout .form__control--append__group .form__field,
#xform_layout .form__control--append__group .form__select,
#xform_layout .form__control--append__group .form__textarea, */
#xform_layout .form__control--append__group input:not([type='button']):not([type='checkbox']):not([type='radio']):not([type='submit']),
#xform_layout .form__control--append__group select,
#xform_layout .form__control--append__group textarea {
  margin-top: 0;
}

/* #xform_layout .form__control--append__group .form__field,
#xform_layout .form__control--append__group .form__select,
#xform_layout .form__control--append__group .form__textarea, */
#xform_layout .form__control--append__group input:not([type='button']):not([type='checkbox']):not([type='radio']):not([type='submit']),
#xform_layout .form__control--append__group select,
#xform_layout .form__control--append__group textarea {
  height: 100%;
  left: 0;
  padding-right: calc(0.75rem + 32.2033898305%);
  position: absolute;
  top: 0;
  width: 100%;
}

#xform_layout .form__control--append__group .button {
  height: 100%;
  position: absolute;
  right: 0;
  top: 0;
  width: 32.2033898305%;
}

#xform_layout .form__control--append--full {
  width: 100%;
}

/* #xform_layout .form__control--append--full .form__field,
#xform_layout .form__control--append--full .form__select,
#xform_layout .form__control--append--full .form__textarea, */
#xform_layout .form__control--append--full input:not([type='button']):not([type='checkbox']):not([type='radio']):not([type='submit']),
#xform_layout .form__control--append--full select,
#xform_layout .form__control--append--full textarea {
  margin-top: 0;
}

/* #xform_layout .form__label, */
#xform_layout label,
#xform_layout span.label {
  margin-top: 0.75rem;
  padding: 0;
  width: 100%;
}

/* #xform_layout .form__label--checkbox,
#xform_layout .form__label--radio, */
#xform_layout fieldset label {
  margin-top: 0.375rem;
}

/* #xform_layout .form__field,
#xform_layout .form__select,
#xform_layout .form__textarea, */
#xform_layout input:not([type='button']):not([type='checkbox']):not([type='radio']):not([type='submit']),
#xform_layout select,
#xform_layout textarea {
  background-color: #fff;
  border: 1px solid #8399a3;
  color: #37474f;
  font-family: "Lato", sans-serif;
  margin-top: 0.75rem;
  max-width: 100%;
  padding: 0.3rem 0.75rem;
}

/* #xform_layout .form__field--disabled, */
#xform_layout input:not([type='button']):not([type='checkbox']):not([type='radio']):not([type='submit'])[readonly] {
  border-color: #9e9e9e;
}

/* #xform_layout .form__select, */
#xform_layout select {
  height: calc(1rem + 1.5rem);
}

/* #xform_layout .form__checkbox,
#xform_layout .form__radio, */
#xform_layout input[type='checkbox'],
#xform_layout input[type='radio'] {
  display: inline-block;
  margin-right: 0.375rem;
}

#xform_layout ::-webkit-input-placeholder {
  color: #b0b6b9;
}

#xform_layout ::-moz-placeholder {
  /* FF 4-18 */
  color: #b0b6b9;
  opacity: 1;
}

#xform_layout ::-moz-placeholder {
  /* FF 19+ */
  color: #b0b6b9;
  opacity: 1;
}

#xform_layout :-ms-input-placeholder {
  /* IE 10+ */
  color: #b0b6b9;
}

#xform_layout .calendar {
  display: block;
  margin: 1.5rem 0;
  max-width: 24rem;
  min-width: 100px;
}

#xform_layout .calendar th,
#xform_layout .calendar td {
  margin: 0;
  padding: 0;
  text-align: center;
}

#xform_layout .calendar .button {
  display: inline-block;
  margin-bottom: 0.5rem;
  margin-top: -0.5rem;
  width: auto;
}

#xform_layout .calendar__heading {
  text-align: center;
}

#xform_layout .calendar__table {
  width: 100%;
}

#xform_layout .calendar__days {
  background-color: #607d8b;
  color: #fff;
}

#xform_layout .calendar__days th {
  font-weight: bold;
  padding: 3.5% 0.25rem 4%;
}

#xform_layout .calendar__dates tr {
  border-bottom: 1px solid #9e9e9e;
}

#xform_layout .calendar__date {
  color: #9e9e9e;
  display: block;
  height: 100%;
  padding: 26% 0.375rem;
}

#xform_layout .calendar__date--today {
  background-color: #f6f8f8;
}

#xform_layout .calendar__date--link {
  color: #546e7a;
  font-weight: 600;
}

#xform_layout .calendar__date--link:hover,
#xform_layout .calendar__date--link:focus {
  background-color: #eef1f2;
}

#xform_layout .calendar__date--link:visited {
  color: #263238;
}

#xform_layout .button,
#xform_layout .button:visited {
  background-color: #fff;
  border: 1px solid #546e7a;
  color: #546e7a !important;
  cursor: pointer;
  display: inline-block;
  font-family: "Lato", sans-serif;
  margin: 0.75rem 0 0;
  padding: 0.75rem;
  text-align: center;
  text-decoration: none;
  vertical-align: middle;
}

#xform_layout .button:hover,
#xform_layout .button:active,
#xform_layout .button:focus,
#xform_layout .calendar--event-booking .calendar__dates .form__radio:focus + .button {
  background-color: #546e7a;
  color: #fff !important;
  text-decoration: none;
}

#xform_layout .button--danger,
#xform_layout .button--danger:visited {
  background-color: #b71c1c;
  border-color: #8b1515;
  color: #fff !important;
}

#xform_layout .button--danger:hover,
#xform_layout .button--danger:active,
#xform_layout .button--danger:focus {
  background-color: #cd1f1f;
}

#xform_layout .button--disabled,
#xform_layout .button--disabled:visited,
#xform_layout .calendar--event-booking .calendar__dates .form__radio:disabled + .button,
#xform_layout .calendar--event-booking .calendar__dates .form__radio:disabled + .button:visited {
  background-color: #ebebeb;
  border-color: #9e9e9e;
  color: #9e9e9e !important;
  cursor: default;
}

#xform_layout .button--disabled:hover,
#xform_layout .button--disabled:active,
#xform_layout .button--disabled:focus,
#xform_layout .calendar--event-booking .calendar__dates .form__radio:disabled + .button:hover,
#xform_layout .calendar--event-booking .calendar__dates .form__radio:disabled + .button:active,
#xform_layout .calendar--event-booking .calendar__dates .form__radio:disabled + .button:focus {
  background-color: #ebebeb;
  border-color: #9e9e9e;
  color: #9e9e9e !important;
}

#xform_layout .button--primary,
#xform_layout .button--primary:visited {
  background-color: #607d8b;
  border-color: #4b626d;
  color: #fff !important;
}

#xform_layout .button--primary:hover,
#xform_layout .button--primary:active,
#xform_layout .button--primary:focus {
  background-color: #6b8a99;
}

#xform_layout .button--standout,
#xform_layout .button--standout:visited {
  background-color: #3f51b5;
  border-color: #32408f;
  color: #fff !important;
}

#xform_layout .button--standout:hover,
#xform_layout .button--standout:active,
#xform_layout .button--standout:focus {
  background-color: #4d5ec1;
}

#xform_layout .button--success,
#xform_layout .button--success:visited,
#xform_layout .calendar--event-booking .calendar__dates .form__radio:checked + .button,
#xform_layout .calendar--event-booking .calendar__dates .form__radio:checked + .button:visited {
  background-color: #4caf50;
  border-color: #3d8b40;
  color: #fff !important;
}

#xform_layout .button--success:hover,
#xform_layout .button--success:active,
#xform_layout .button--success:focus,
#xform_layout .calendar--event-booking .calendar__dates .form__radio:checked + .button:hover,
#xform_layout .calendar--event-booking .calendar__dates .form__radio:checked + .button:active,
#xform_layout .calendar--event-booking .calendar__dates .form__radio:checked + .button:focus {
  background-color: #5cb860;
}

#xform_layout .button--warning,
#xform_layout .button--warning:visited {
  background-color: #ffab00;
  border-color: #cc8900;
  color: #fff !important;
}

#xform_layout .button--warning:hover,
#xform_layout .button--warning:active,
#xform_layout .button--warning:focus {
  background-color: #ffb31a;
}

#xform_layout .button--block {
  display: block;
  width: 100%;
}

#xform_layout .button--large,
#xform_layout .button--large:visited {
  padding: 1.5rem 3rem;
}

#xform_layout .button--small,
#xform_layout .button--small:visited {
  font-size: 0.75rem;
  margin: 1rem 0 0;
  padding: 0.375rem 0.75rem;
}


/**
 * Event booking component
 */

#xform_layout .calendar--event-booking .calendar__dates .form__radio:checked + .button {
  background-color: #4caf50;
  border-color: #3d8b40;
  color: #fff;
}

#xform_layout .calendar--event-booking .calendar__dates .form__radio:checked + .button:hover, #xform_layout .calendar--event-booking .calendar__dates .form__radio:checked + .button:active, .button--success:focus, #xform_layout .calendar--event-booking .calendar__dates .form__radio:checked + .button:focus {
  background-color: #5cb860;
}

#xform_layout .calendar--event-booking .calendar__dates .form__radio:disabled + .button {
  background-color: #ebebeb;
  border-color: #9e9e9e;
  color: #9e9e9e;
  cursor: default;
}

#xform_layout .calendar--event-booking .calendar__dates .form__radio:disabled + .button:hover, #xform_layout .calendar--event-booking .calendar__dates .form__radio:disabled + .button:active, #xform_layout .calendar--event-booking .calendar__dates .form__radio:disabled + .button:focus {
  background-color: #ebebeb;
  border-color: #9e9e9e;
  color: #9e9e9e;
}


#xform_layout .calendar--event-booking {
  max-width: none !important;
  width: 100%;
}

#xform_layout .ie8-wrapper .calendar--event-booking {
  display: none;
}

@media screen and (max-width: 759px) {
  #xform_layout .calendar--event-booking .calendar__table,
  #xform_layout .calendar--event-booking .calendar__days,
  #xform_layout .calendar--event-booking .calendar__dates,
  #xform_layout .calendar--event-booking tr,
  #xform_layout .calendar--event-booking th,
  #xform_layout .calendar--event-booking td {
    display: block;
  }
}

#xform_layout .calendar--event-booking .calendar__table {
  -webkit-transition: .125s ease-in;
          transition: .125s ease-in;
}

@media screen and (min-width: 760px) {
  #xform_layout .calendar--event-booking .calendar__table {
    table-layout: fixed;
  }
}

@media screen and (max-width: 759px) {
  #xform_layout .calendar--event-booking .calendar__table {
    margin-top: 1.5rem;
  }
}

@media screen and (max-width: 759px) {
  #xform_layout .calendar--event-booking .calendar__days tr {
    border: 0;
    clip: rect(0 0 0 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
  }
}

@media screen and (max-width: 759px) {
  #xform_layout .calendar--event-booking .calendar__dates tr {
  	cursor: pointer;
  }
}

@media screen and (min-width: 760px) {
  #xform_layout .calendar--event-booking .calendar__days th {
    width: 14.2857142857%;
  }
}

#xform_layout .calendar--event-booking .calendar__dates td {
  -webkit-transition: .125s ease-in;
          transition: .125s ease-in;
  vertical-align: top;
}

@media screen and (min-width: 760px) {
  #xform_layout .calendar--event-booking .calendar__dates td {
    width: 14.2857142857%;
  }
}

@media screen and (max-width: 759px) {
  #xform_layout .calendar--event-booking .calendar__dates td {
    min-height: 3.75rem;
    padding-bottom: 0.25rem;
    padding-left: 3rem;
    padding-top: 0.25rem;
    position: relative;
    text-align: left;
    width: 100%;
  }
}

#xform_layout .calendar--event-booking .calendar__dates td:not(:empty):not(.is-disabled) {
  cursor: pointer;
}

#xform_layout .calendar--event-booking .calendar__dates td.is-disabled {
  background-color: #f4f4f4;
  cursor: not-allowed;
}

#xform_layout .calendar--event-booking .calendar__dates td.is-disabled::before,
#xform_layout .calendar--event-booking .calendar__dates td.is-disabled legend {
  color: #879195;
}

@media screen and (max-width: 759px) {
  #xform_layout .calendar--event-booking .calendar__dates td::before {
    content: attr(data-day);
    font-size: 0.75rem;
    font-weight: bold;
    left: 0;
    padding-right: 0.25rem;
    position: absolute;
    text-align: right;
    top: 0.5rem;
    -webkit-transition: .125s ease-in;
            transition: .125s ease-in;
    width: 2.5rem;
  }
}

@media screen and (max-width: 759px) {
  #xform_layout .calendar--event-booking .calendar__dates legend {
    left: 0;
    padding: 0 0.25rem 0 0;
    position: absolute;
    text-align: right;
    top: 1.5rem;
    width: 2.5rem;
  }
}

#xform_layout .calendar--event-booking .calendar__dates fieldset,
#xform_layout .calendar--event-booking .calendar__dates legend {
  margin-bottom: 0;
}

#xform_layout .calendar--event-booking .calendar__dates fieldset {
  padding-bottom: 0.25rem;
  -webkit-transition: .125s ease-in;
          transition: .125s ease-in;
}

#xform_layout .calendar--event-booking .calendar__dates .button {
  margin-bottom: 0;
  margin-top: 0.25rem;
}

@media screen and (min-width: 760px) {
  #xform_layout .calendar--event-booking .calendar__dates .button {
    width: calc(100% - 0.5rem);
  }
}

@media screen and (max-width: 759px) {
  #xform_layout .calendar--event-booking .calendar__dates .button {
    margin-right: 0.25rem;
    min-width: 6.5rem;
    width: calc(25% - 0.25rem);
  }
}

#xform_layout .calendar--event-booking .calendar__dates .form__radio {
  border: 0;
  clip: rect(0 0 0 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
}

#xform_layout .calendar--event-booking.is-interactive .calendar__dates:hover td:not(.is-highlighted):not(:empty):not(.is-disabled):hover,
#xform_layout .calendar--event-booking.is-interactive .calendar__dates.has-selection:hover td:not(.is-highlighted):not(:empty):not(.is-disabled):hover {
  background-color: #a0b1b9;
}

#xform_layout .calendar--event-booking.is-interactive .calendar__dates:hover td:not(.is-highlighted):not(:empty):not(.is-disabled):hover legend,
#xform_layout .calendar--event-booking.is-interactive .calendar__dates:hover td:not(.is-highlighted):not(:empty):not(.is-disabled):hover::before,
#xform_layout .calendar--event-booking.is-interactive .calendar__dates:hover td:not(.is-highlighted):not(:empty):not(.is-disabled):hover::after,
#xform_layout .calendar--event-booking.is-interactive .calendar__dates.has-selection:hover td:not(.is-highlighted):not(:empty):not(.is-disabled):hover legend,
#xform_layout .calendar--event-booking.is-interactive .calendar__dates.has-selection:hover td:not(.is-highlighted):not(:empty):not(.is-disabled):hover::before,
#xform_layout .calendar--event-booking.is-interactive .calendar__dates.has-selection:hover td:not(.is-highlighted):not(:empty):not(.is-disabled):hover::after {
  color: #fff;
}

#xform_layout .calendar--event-booking.is-interactive .calendar__dates .is-highlighted {
  background-color: #94cf96;
}

#xform_layout .calendar--event-booking.is-interactive .calendar__dates .is-highlighted legend,
#xform_layout .calendar--event-booking.is-interactive .calendar__dates .is-highlighted::before {
  color: #fff;
}

#xform_layout .calendar--event-booking.is-interactive .calendar__dates:hover td:not(.is-highlighted):not(:hover) fieldset,
#xform_layout .calendar--event-booking.is-interactive .calendar__dates:hover td:not(.is-highlighted):not(:hover)::before,
#xform_layout .calendar--event-booking.is-interactive .calendar__dates:not(.has-selection):hover .is-highlighted:not(:hover) fieldset,
#xform_layout .calendar--event-booking.is-interactive .calendar__dates:not(.has-selection):hover .is-highlighted:not(:hover)::before,
#xform_layout .calendar--event-booking.is-interactive .calendar__dates.has-selection td:not(.is-highlighted):not(:hover) fieldset,
#xform_layout .calendar--event-booking.is-interactive .calendar__dates.has-selection td:not(.is-highlighted):not(:hover)::before,
#xform_layout .calendar--event-booking.is-interactive .calendar__dates.has-expansion tr:not(.is-expanded):not(:hover) td:not(.is-highlighted) fieldset,
#xform_layout .calendar--event-booking.is-interactive .calendar__dates.has-expansion tr:not(.is-expanded):not(:hover) td:not(.is-highlighted)::before {
  opacity: .5;
}

@media screen and (max-width: 759px) {
  #xform_layout .calendar--event-booking.is-interactive .calendar__dates tr::before {
    border-bottom: 1px solid #9e9e9e;
    content: attr(data-label);
    display: block;
    padding: 1rem 0;
    text-align: center;
    width: 100%;
  }
}

@media screen and (max-width: 759px) {
  #xform_layout .calendar--event-booking.is-interactive .calendar__dates tr:not(.is-expanded):not(:hover)::before {
    opacity: .5;
  }
}

@media screen and (max-width: 759px) {
  #xform_layout .calendar--event-booking.is-interactive .calendar__dates tr:not(.is-expanded):not(:hover) td {
    display: none;
  }

  #xform_layout .calendar--event-booking.is-interactive .calendar__dates tr.hover td {
    display: block !important;
  }
}

#xform_layout .calendar--event-booking.is-interactive .calendar__dates td::after {
  content: attr(data-available-slots) ' available';
  display: block;
  font-size: 0.75rem;
  font-style: italic;
  opacity: .5;
}

@media screen and (min-width: 760px) {
  #xform_layout .calendar--event-booking.is-interactive .calendar__dates td::after {
    margin-bottom: 0.375rem;
    margin-top: -1.5rem;
  }
}

@media screen and (min-width: 760px) {
  #xform_layout .calendar--event-booking.is-interactive .calendar__dates .is-expanded td::after {
    display: none;
  }
}

@media screen and (max-width: 759px) {
  #xform_layout .calendar--event-booking.is-interactive .calendar__dates .is-expanded td:not(.is-disabled):hover::after {
    display: none;
  }
}

@media screen and (max-width: 759px) {
  #xform_layout .calendar--event-booking.is-interactive .calendar__dates .is-expanded .is-highlighted::after {
    display: none;
  }
}

#xform_layout .calendar--event-booking.is-interactive .calendar__dates tr:not(.is-expanded) .button {
  display: none;
}

@media screen and (max-width: 759px) {
  #xform_layout .calendar--event-booking.is-interactive .calendar__dates td:not(.is-highlighted):not(:hover) .button {
    display: none;
  }
}

#xform_layout .calendar--event-booking.is-loading .calendar__table {
  cursor: default;
  opacity: .5;
  pointer-events: none;
}
