/* Colors
#939a9f - gray
#7e8588 - dark gray
*/

@media screen, projection {
	/* SElF-CLEARING FLOATS */

	.cf:after {
		content: ".";
		display: block;
		height: 0;
		clear: both;
		visibility: hidden;
	}

	.cf {
		display: inline-block;
	}
	/*\*/ * html .cf {
		height: 1%;
	}

	.cf {
		display: block;
	}

	/* REMOVE TEXT */

	.structural,
	.structural * {
		position: absolute;
		left: -9999px;
	}

	/* BASE STYLES */

	html {
		background-color: #eee;
	}

	body {
		background-color: #eee;
		font-family: "Helvetica Neue", Arial, Helvetica, Geneva, sans-serif;
		color: #404040;
	}

	p {
		margin-bottom: .7em;
		margin-top: .7em;
		font-size: 12px;
	}

		p.intro {
			font-size: 15px;
			margin-bottom: 1.2em;
		}

	h2 {
		font-weight: bold;
		font-size: 20px;
		margin-bottom: .5em;
	}

	h3 {
		font-size: 16px;
		margin-bottom: .7em;
		font-weight: bold;
	}

	h4 {
		font-size: 14px;
		margin-bottom: 1.2em;
		font-weight: normal;
	}

	h5 {
		font-size: 14px;
		margin-bottom: 1.5em;
		color: #404040;
	}

	strong {
		font-weight: bold;
	}

	legend {
		padding: 1em 0;
		color: #939a9f;
	}

	a {
		text-decoration: none;
	}

		a:hover {
			text-decoration: underline;
		}

	[data-title] {
		position: relative;
	}

		[data-title]:before {
			content: attr(data-title);
			box-sizing: border-box;
			display: block;
			background: #ffffff;
			color: black;
			font-size: 13px;
			padding: 3px 7px;
			position: absolute;
			top: -20px;
			left: 20px;
			width: auto;
			height: auto;
			line-height: 23px;
			border-radius: 3px;
			border: 1px outset #9c9f93b5;
			box-shadow: 0 8px 6px -6px #000000a3;
			opacity: 0;
			transition: .25s ease-in-out;
			white-space: nowrap;
		}

		[data-title]:hover:before {
			opacity: 1;
			top: -40px;
		}

	#logo a[data-title]:before {
		content: attr(data-title);
		box-sizing: border-box;
		display: block;
		background: #ffffff;
		color: black;
		font-size: 13px;
		padding: 3px 7px;
		position: absolute;
		margin-top: 60px;
		left: 50px;
		width: auto;
		height: auto;
		line-height: 23px;
		border-radius: 3px;
		border: 1px outset #9c9f93b5;
		box-shadow: 0 8px 6px -6px #000000a3;
		opacity: 0;
		transition: .25s ease-in-out;
		white-space: nowrap;
	}

	#logo a[data-title]:hover:before {
		opacity: 1;
	}

	.left-float {
		float: left;
	}

	.right-float {
		float: right;
	}

	.error {
		padding: 5px;
		border: 2px solid #e25d5a;
		border-radius: 4px;
		width: 332px;
		margin-bottom: 10px;
	}

		.error h2 {
			margin: -10px -10px 10px;
			padding: 5px 10px;
			background-color: #e25d5a;
			color: #fff;
			font-size: 14px;
			text-align: center;
		}

	.next-button {
		width: 30%;
		float: right;
		padding-top: 14px;
		padding-right: 14px;
		padding-bottom: 14px;
		padding-left: 14px;
	}

	/* FORMS */

	.step {
		float: left;
		width: 62%;
		font-size: 13px;
	}

	.start.step {
		float: none;
		width: auto;
	}

	.step + .summary,
	.help-guide,
	.policy {
		float: right;
		width: 30%;
	}

	.step span.desc {
		color: #919191;
		font-size: 12px;
		line-height: 17px;
		margin-top: 2px;
		display: block;
	}

	.step div.error {
		padding: 10px;
		border: 2px solid #e25d5a;
		border-radius: 4px;
	}

		.step div.error h2 {
			margin: -10px -10px 10px;
			padding: 5px 10px;
			background-color: #e25d5a;
			color: #fff;
			font-size: 14px;
			text-align: center;
		}

	.step input[type=text],
	.step input[type=password] {
		width: 340px;
		height: 25px;
		font-size: 13px;
		line-height: 18px;
		border: 1px solid #ddd;
		-webkit-border-radius: 3px;
		-moz-border-radius: 3px;
		border-radius: 3px;
		margin-top: 5px;
		padding-left: 4px;
		background-color: #f5f5f5;
		-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);
	}

		.step input[type=text]:focus,
		.step input[type=password]:focus {
			border: 1px solid;
			outline: 0;
		}

		.step input[type=text].fieldhighlight,
		.step input[type=password].fieldhighlight {
			border: 1px solid #e25d5a;
			outline: 0;
		}

	.step label {
		display: block;
	}

		.step label.disabled {
			color: #ddd;
		}

		.step label.error {
			color: #e25d5a;
			margin-top: 3px;
			font-size: 12px;
		}

	.step span.help-block {
		display: block;
		font-size: 12px;
		line-height: 18px;
		color: #9d9d9d;
		margin-top: -6px;
	}

	.feature-select {
		margin: 0;
		padding: 10px 0;
	}

	.selection {
		display: block;
		margin: 2px;
		padding: 17px 21px;
		border: 1px solid;
		-webkit-border-radius: 4px;
		-moz-border-radius: 4px;
		border-radius: 4px;
	}


		.selection h3 {
			overflow: hidden;
			text-overflow: eclipse;
		}

	button.selection {
		text-align: left;
		width: 100%;
		background-color: #fff;
		color: #5687dd;
	}

	a.selection {
		height: 100%;
		text-decoration: none;
	}
		button.selection:hover,
		button.selection:focus,
		button.selection:active,
		a.selection:hover,
		a.selection:focus,
		a.selection:active {
			padding: 16px 20px;
			border-width: 2px;
			cursor:pointer;
		}

			a.selection:hover:active {
				margin: 3px;
				padding: 15px 19px;
			}


	.fill-cell.a.selection:hover,
	.fill-cell.a.selection:focus,
	.fill-cell.a.selection:active {
		padding: 0px;
		border-width: 2px;
		margin: 1px;
	}

	.fill-cell.selection:hover,
	.fill-cell.selection:focus,
	.fill-cell.selection:active {
		padding: 0px;
		margin: 1px;
	}

		.fill-cell.selection:hover:active {
			padding: 0px;
			margin: 1px;
		}

	.fill-cell.a.selection:hover:active {
		padding: 0px;
		margin: 1px;
	}

	span.selection {
		/* disabled "link" */
		border-color: #eee;
		color: #aaa;
	}

	.option {
		margin-bottom: 10px;
	}

		.option.first {
			clear: both;
		}

	.doublecolumn {
		width: 49.7%;
		display: inline-block;
	}

	.singlecolumn {
		width: 100%;
		margin-bottom: 10px;
	}

	.start .option {
		float: left;
	}

	.selection li {
		margin-bottom: 7px;
		font-size: 13px;
	}

	.selection h3 {
		font-size: 16px;
		font-weight: bold;
		text-shadow: 0 1px 0 #fff;
		margin-bottom: .5em;
	}

	.selection h4 {
		font-size: 13px;
		color: #515151;
		margin-top: .7em;
		text-shadow: 0 1px 0 #fff;
		font-weight: bold;
	}

	.selection span.location {
		color: #858585;
		font-weight: normal;
		font-style: normal;
		font-size: 11px;
		background: url("location-icon.png") no-repeat 4px 1px;
		padding-left: 11px;
		overflow: auto;
		clear: both;
	}

	.selection2 span.location {
		color: #858585;
		font-weight: normal;
		font-style: normal;
		font-size: 11px;
		background: url("location-icon.png") no-repeat 0px 1px;
		padding-left: 11px;
		overflow: auto;
		clear: both;
	}

	#contact-information p.small {
		margin: 2em 0;
		color: #6a6a6a;
	}

	#contact-information label {
		margin-left: 0;
		font-size: 13px;
	}

	#contact-information .toggle-child {
		font-size: 12px;
		margin-top: -10px;
		margin-bottom: 20px;
		margin-left: 15px;
		width: 300px;
		-webkit-border-radius: 3px;
		-moz-border-radius: 3px;
		border-radius: 3px;
		background: #f4f4f4 url(question-icon.png) no-repeat 10px center;
		padding: 10px 10px 10px 30px;
		color: #797979;
	}

	#contact-information fieldset {
		border: 0;
		margin-bottom: 10px;
	}

		#contact-information fieldset.child {
			background-color: #f8f8f8;
			padding-top: 20px;
			padding-bottom: 10px;
		}

		#contact-information fieldset h3 {
			position: relative;
		}

		#contact-information fieldset span.close {
			position: absolute;
			-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=40)";
			filter: alpha(opacity=40);
			opacity: 0.4;
			top: 4px;
			right: 18px;
			height: 10px;
			width: 10px;
			background: url(close-icon.png) no-repeat;
		}

			#contact-information fieldset span.close:hover {
				opacity: 0.7;
				cursor: pointer;
			}

	#confirm-summary h2 {
		margin-bottom: .5em;
	}

	#confirm-summary h3 {
		font-weight: bold;
		margin-bottom: 1em;
		font-size: 15px;
	}

	#confirm-summary p {
		margin-bottom: 1em;
		font-size: 14px;
		line-height: 18px;
	}

	#confirm-summary.receipt {
		padding: 10px 20px;
		background-color: #f4f4f4;
		margin-top: 25px;
	}

	#treatment-type {
		min-height: 200px;
	}

	#receipt {
		font-size: 13px;
	}

		#receipt h3 {
			font-weight: bold;
			font-size: 15px;
		}

		#receipt small {
			font-size: 12px;
			color: #747474;
			display: block;
		}

	#nav {
		clear: both;
		color: #424242;
		background-color: #fff;
		border: 1px solid #e0e0e0;
		border-top-width: 0;
		padding: 10px 35px 20px;
		text-align: center;
	}

	a.back {
		font-size: 14px;
		margin-top: 14px;
		float: left;
		margin-right: -8em;
		white-space: nowrap;
	}

		a.back:before {
			content: "← ";
		}

	#next,
	#confirm {
		margin: 0 auto;
		display: table;
		font-weight: bold;
		text-shadow: 0 1px 0 rgba(0,0,0,0.4);
		padding: 10px 15px;
		border: 1px solid rgba(0,0,0,0.2);
		-webkit-border-radius: 4px;
		-moz-border-radius: 4px;
		border-radius: 4px;
		cursor: pointer;
	}

		#next:hover,
		#confirm:hover {
			text-decoration: none;
			padding: 9px 14px;
			border-width: 2px;
		}

			#next:hover:active,
			#confirm:hover:active {
				margin: 1px auto;
				padding: 8px 13px;
			}

		#next.disabled,
		#confirm.disabled {
			pointer-events: none;
			opacity: 0.3;
			-moz-opacity: 0.3;
			-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=30)";
			filter: alpha(opacity=30);
			cursor: auto;
			text-shadow: none;
		}

	/* DATE PICKER STYLING */

	#date {
		min-height: 530px;
	}

	#date-picker {
		position: relative;
	}

		#date-picker .header {
			padding: 15px 0;
		}

	.bordered-table .date-nr {
		font-size: 16px;
		font-weight: bold;
		color: #515151;
		display: block;
		margin-top: .2em;
	}

	.go-to-date {
		float: left;
		position: relative;
		margin: 2px 0 0 7%;
		padding: 2px 0 2px 20px;
		margin-bottom: 0;
		background: url(calender-icon-grey.png) no-repeat 0 0;
		white-space: nowrap;
	}

		.go-to-date input {
			/* instead of input type hidden (which does not trigger date picker in Chrome) */
			position: absolute;
			height: 0 !important;
			padding: 0 !important;
			border: none !important;
		}

	.curr-month-week h3 {
		float: left;
	}

		.curr-month-week h3 span {
			margin-left: 0.5em;
			display: inline-block;
			color: #666;
			font-size: 13px;
		}

	.week-picker {
		float: right;
	}

		.week-picker a,
		.week-picker span {
			text-indent: -99999px;
			width: 23px;
			height: 21px;
			display: inline-block;
		}

		.week-picker .next {
			background: url(next.png) no-repeat;
		}

		.week-picker .prev {
			background: url(previous.png) no-repeat;
		}

		.week-picker span {
			opacity: 0.5;
		}
	/*
 * Datepicker plugin
 */
	.date-picker {
		position: absolute;
		left: 0;
		top: 0;
		z-index: 100000;
		width: 190px;
		padding-top: 3px;
		border: 1px solid #ddd;
		background: #fff;
		font-size: 0.9em;
		-webkit-box-shadow: 1px 4px 5px #666;
		-moz-box-shadow: 1px 4px 5px #666;
		box-shadow: 1px 4px 5px #666;
		filter: progid:DXImageTransform.Microsoft.dropShadow(color=#666666, offX=1, offY=4, positive=true);
	}

		.date-picker .navigation-container {
			position: relative;
			margin: 0 5px;
			text-align: center;
		}

		.date-picker .prev,
		.date-picker .next {
			position: absolute;
			width: 23px;
			height: 21px;
		}

		.date-picker .prev {
			top: 0;
			left: 0;
			background: url(previous.png) no-repeat;
		}

		.date-picker .next {
			top: 0;
			right: 0;
			background: url(next.png) no-repeat;
		}

		.date-picker .navigation-container a.disabled {
			opacity: 0.3;
			-moz-opacity: 0.3;
			-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=30)";
			filter: alpha(opacity=30);
		}

		.date-picker table {
			width: 100%;
			table-layout: fixed;
			margin: 0;
			border: 0;
			cursor: default;
		}

		.date-picker caption {
			position: absolute;
			left: -99999px;
		}

		.date-picker th {
			color: #000;
			border: 0;
			border-bottom: 1px solid #ddd;
			background: #fff;
			font-weight: normal;
			text-align: center;
			text-transform: lowercase;
		}

		.date-picker td {
			padding: 0;
			color: #666;
			border: 0;
			background: #eee;
			text-align: center;
		}

			.date-picker td span,
			.date-picker td a {
				display: block;
				padding: 3px 0;
			}

			.date-picker td a {
				background: #fff;
			}

		.date-picker tr:hover .w {
			background: #ddd;
		}

		.date-picker td a:hover {
			color: #fff !important;
			background: #7e8588;
			text-decoration: none;
		}

		.date-picker td.active a {
			font-weight: bold;
		}

		.date-picker td.other-month {
			color: #ddd;
		}

	.splitted-table {
		clear: both;
		margin-bottom: 10px;
		border: 2px solid;
	}

		.splitted-table h3 {
			padding: 10px;
			margin: 0;
			font-size: 13px;
			background-color: #f0f0f0;
			color: #515151;
		}

		.splitted-table li {
			padding: 6px;
		}

	.bordered-table {
		width: 100%;
		table-layout: fixed;
		margin-bottom: 10px;
		border: 2px solid;
		border-collapse: collapse;
	}

		.bordered-table thead {
			background-color: #f0f0f0;
			text-shadow: 0 1px 0 #fff;
		}

		.bordered-table th {
			font-weight: normal;
			text-align: center;
			margin: 0;
			padding: 10px 0;
			border-bottom: 1px solid #ddd;
			font-size: 13px;
			color: #515151;
			margin-bottom: 3px;
		}

		.bordered-table td {
			vertical-align: top;
			text-align: left;
			padding: 6px;
			border-left: 1px solid #ddd;
			border-bottom: 1px dotted #ddd;
			font-size: 12px;
		}

			.bordered-table th:first-child,
			.bordered-table td:first-child {
				border-left: none;
			}

		.bordered-table input,
		.splitted-table input {
			position: absolute;
			-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
			filter: alpha(opacity=0);
			opacity: 0;
		}

		.bordered-table label,
		.splitted-table label {
			display: block;
			margin: -6px;
			padding: 10px 6px;
			text-align: left;
			color: #555;
			cursor: pointer;
			width: auto;
			font-size: 12px;
		}

			.bordered-table label:hover,
			.splitted-table label:hover {
				padding: 8px 4px;
				border: 2px solid #ddd;
				background-color: #f5f5f5;
			}

			.bordered-table label > a:visited:hover:active,
			.splitted-table label > a:visited:hover:active {
				color: inherit;
				text-decoration: none !important;
			}

			.bordered-table label:hover:active,
			.bordered-table label.selected,
			.splitted-table label.selected {
				text-shadow: 0 1px 2px rgba(0,0,0,0.5);
				-moz-box-shadow: inset 0 0 5px rgba(0,0,0,0.3);
				-webkit-box-shadow: inset 0 0 5px rgba(0,0,0,0.3);
				box-shadow: inset 0 0 5px rgba(0,0,0,0.3);
			}

				.bordered-table label.selected > a,
				.splitted-table label.selected > a {
					color: #fff !important;
				}

				.bordered-table label.selected:hover {
					border-color: rgba(0,0,0,0.3);
				}

	.first-letter-upper::first-letter {
		text-transform: uppercase;
	}

	/* UNIVERSAL LAYOUTS */

	#wrap {
		max-width: 97%;
		width: 790px;
		margin: 0 auto;
	}

	#header {
		position: relative;
	}

		#header .tools {
			position: absolute;
			top: 1em;
			right: 0;
			font-size: 13px;
		}

	div.tools a {
		float: left;
		padding: 5px 5px 5px 20px;
	}

		div.tools a + a {
			margin-left: 15px
		}

	td.tools .edit,
	td.tools .cancel {
		display: block;
		padding: 3px 6px;
		font-weight: bold;
		-webkit-border-radius: 4px;
		-moz-border-radius: 4px;
		border-radius: 4px;
		text-align: center;
		text-shadow: 0 1px 0 rgba(0,0,0,0.4);
	}

	.tools .cancel {
		margin-top: 1em;
	}

	.tools .login {
		background: url(login-icon.png) no-repeat 0 50%;
	}

	.tools .mypage {
		background: url(user-icon.png) no-repeat 0 50%;
	}

	#logo {
		padding: 10px 0 10px 10px;
	}

	#foundation {
		background-color: #f4f4f4;
		padding: 5px;
		-webkit-border-radius: 4px;
		-moz-border-radius: 4px;
		border-radius: 4px;
		-webkit-box-shadow: 0 4px 10px rgba(0,0,0,0.4);
		-moz-box-shadow: 0 4px 10px rgba(0,0,0,0.4);
		box-shadow: 0 4px 10px rgba(0,0,0,0.4);
	}

	#bookings {
		padding: 10px 0;
	}

	#main-content {
		background-color: #fff;
		border: 1px solid #e0e0e0;
		border-bottom: none;
		padding: 30px 35px 20px;
	}

	#process {
		padding: 7px 10px 3px;
	}

	#process-steps {
		list-style: none;
	}

	.process-step {
		float: left;
		padding: 2px 10px 0 20px;
		background: url(steps.png) no-repeat -5px -50px;
		color: #999;
		font: 14px "Helvetica Neue", Arial, Helvetica, Geneva, sans-serif;
		text-shadow: 0 1px 0 #fff;
		position: relative;
	}

		.process-step:first-child {
			/* no icon on step 1 */
			padding-left: 0;
			background: none;
		}

	.fill-cell {
		width: 98%;
		height: 98%;
		padding: 0px;
	}

	.process-step b {
		/* step numbers */
		float: left;
		width: 8px;
		height: 20px;
		position: relative;
		top: -4px;
		margin-right: 4px;
		padding: 2px 8px;
		background: #ddd url(steps.png) no-repeat 0 0;
		color: #fff;
		text-shadow: 0 1px 0 #aaa;
	}

	.clinic-step-container {
		display: table;
		height: 100%;
		width: 100%;
	}

	.clinic-step-tablerow {
		display: table-row;
		table-layout: fixed;
		width: 100%;
	}

	.clinic-step-tablecell {
		display: block;
		width: 50%;
		float: left;
	}

	.clinic-step-fullrowcell {
		display: block;
		width: 100%;
		padding-bottom: 3px;
		padding-top: 3px;
	}

	.clinic-spacing-interior {
		margin-left: 21px;
		margin-right: 21px;
		margin-top: 17px;
		margin-bottom: 17px;
	}

	.process-step.active {
		color: #111;
	}

		.process-step.active b {
			text-shadow: 0 1px 0 #666;
		}

	.process-step.completed b {
		text-indent: -9999px;
		background-position: 0 -24px;
	}

	.process-step.completed a {
		color: #555;
	}

	.help-guide {
		color: #404040;
		border: 1px solid #eee6b6;
		-webkit-border-radius: 5px;
		-moz-border-radius: 5px;
		border-radius: 5px;
		padding: 14px 14px 7px;
		background-color: #fdf5d9;
		position: relative;
		margin: 10px 0 15px;
	}

	.policy {
		color: #404040;
		padding: 14px 14px 14px;
		position: relative;
		border: 1px solid #e0e0e0;
		-webkit-border-radius: 5px;
		-moz-border-radius: 5px;
		border-radius: 5px;
		background-color: #fafafa;
		margin: 10px 0 15px;
	}

		.policy h3 {
			font-size: 12px;
			margin-bottom: 1em;
			font-weight: bold;
		}

		.policy p {
			font-size: 12px;
			color: #515151;
			line-height: 15px;
		}

	.help-guide h2 {
		font-weight: bold;
		font-size: 13px;
		padding-right: 20px;
		color: #323232;
		margin-bottom: .7em;
		margin-top: 0;
	}

	.help-guide h3 {
		font-weight: bold;
		font-size: 12px;
		padding-right: 20px;
		color: #323232;
		margin-bottom: .7em;
		margin-top: 0;
	}

	.help-guide p {
		font-size: 12px;
		color: #515151;
		line-height: 15px;
	}

	.help-guide.children {
		border: 1px solid #ccedfa;
		background-color: #e1f4fc;
	}

	.print-receipt {
		float: right;
		padding: 0 0px 7px;
	}

		.print-receipt a {
			font-weight: bold;
			font-size: 13px;
			background: url(print-icon.png) no-repeat;
			padding-left: 20px;
		}

	.note {
		font-size: 13px;
		margin-top: 15px;
		color: #787878;
		display: block;
		padding-left: 25px;
	}

		.note.email {
			background: url(email-icon.png) no-repeat 0 2px;
		}

		.note.phone {
			background: url(phone-icon.png) no-repeat 0 2px;
			margin-bottom: 10px;
		}

	.summary-header {
		font-size: 13px;
		line-height: 18px;
		margin-top: 25px;
		margin-bottom: 5px;
		background: url(summary-icon.png) no-repeat 0 3px;
		padding-left: 25px;
		color: #787878;
	}

	.summary-time {
		font-size: 13px;
		line-height: 18px;
		margin-top: 25px;
		margin-bottom: 5px;
		background: url(summary-time.png) no-repeat 0 3px;
		padding-left: 25px;
		color: #787878;
	}

	.personal-record {
		margin: 40px 0 10px 5px;
	}

		.personal-record h2 {
			font-size: 14px;
			margin-bottom: 15px;
			padding-left: 20px;
		}

		.personal-record li {
			color: #666;
			padding: 7px 0 7px 20px;
		}

			.personal-record li span {
				color: #000;
				margin-left: 3px;
			}

	.highlight {
		color: #404040;
		font-weight: bold;
	}

	.summary {
		color: #404040;
		padding: 14px;
		position: relative;
		border: 1px solid #e0e0e0;
		-webkit-border-radius: 5px;
		-moz-border-radius: 5px;
		border-radius: 5px;
		background-color: #fafafa;
	}

		.summary h3 {
			font-size: 12px;
			margin-bottom: 1em;
			font-weight: bold;
		}

		.summary .help-icon {
			cursor: pointer;
			background: url(help-icon.png) no-repeat 0 -1px;
			width: 18px;
			height: 17px;
			position: absolute;
			right: 10px;
			top: 14px;
		}

			.summary .help-icon:hover {
				background-position: 0 -51px;
			}

		.summary li {
			font-size: 12px;
			margin-top: 6px;
			color: #5f5f5f;
			line-height: 16px;
			background: url(summary-sprite.png) no-repeat left top;
			padding-left: 20px;
		}

			.summary li:first-child {
				background: url(summary-clinic.png) no-repeat left top;
			}

			.summary li:last-child {
				margin-bottom: 0;
			}

			.summary li.clinic-choice-extend {
				background: url('')
			}

	.summary-details {
		color: #00283cb3;
		font-weight: 700;
	}

	#treatment-choice {
		background: url(summary-sprite.png) no-repeat left -17px;
	}

	#treater-choice {
		background: url(summary-sprite.png) no-repeat left -34px;
	}

	#date-choice {
		background: url(summary-sprite.png) no-repeat left -51px;
	}

	#time-choice {
		background: url(summary-sprite.png) no-repeat left -68px;
	}

	#cookie-warning {
		width: 90%;
		left: 0;
		top: 0;
		padding: 0.5em 5%;
		background: #565656;
		background: rgba(86,86,86,0.95);
		z-index: 99999;
		text-align: center;
		color: #fff;
		font-size: 13px;
		font-weight: 700;
	}

		#cookie-warning span {
			color: #fff;
		}

		#cookie-warning input {
			display: inline-block;
			color: #fff;
			text-decoration: none;
			background: #7DAF3B;
			padding: 0.5em 0.75em;
			border-radius: 3px;
			border: 0;
		}

	.paging {
		clear: both;
		padding: 5px 0 10px;
		text-align: center;
	}

		.paging h2,
		.paging h3 {
			margin: 0 0 0.5em;
		}

		.paging strong {
			display: inline-block;
			margin-right: 0.8em;
			padding: 4px 0;
		}

		.paging a:link,
		.paging a:visited,
		.paging .ellipsis,
		.paging .sel {
			display: inline-block;
			min-width: 1.3em;
			margin: 0 4px 5px 0;
			padding: 4px 0.45em;
			border: 1px solid #939a9f;
			color: #000;
			-webkit-border-radius: 4px;
			-moz-border-radius: 4px;
			border-radius: 4px;
			text-decoration: none;
			text-align: center;
		}

		.paging a:hover,
		.paging a:focus,
		.paging a:active {
			background: #eee;
		}

		.paging .sel {
			background: #eee;
			font-weight: bold;
			font-style: normal;
		}

		.paging .ellipsis {
			border-color: #fff;
		}

		.paging .comma {
			position: absolute;
			left: -9999px;
		}

	.firstRow {
		width: 100%;
		background-color: red;
	}

	.flextable {
		display: flex;
		flex-flow: row wrap;
	}

	.flexcell {
		flex: 50%;
		background-color: indianred;
	}

		.flexcell:nth-child(2n+1) {
			background: lightblue;
		}

		.flexcell:nth-child(2n) {
			background: yellow;
		}

	#completed h2 {
		background: url(completed-icon.png) no-repeat;
		margin-left: 20px;
		padding-left: 35px;
		padding-top: 2px;
		height: 28px;
	}

	#footer {
		clear: both;
		padding: 20px 15px;
		font-size: 11px;
		color: #6c6c6c;
	}

		#footer .vcard {
			float: left;
		}

			#footer .vcard h2 {
				margin-bottom: 0.1em;
				font-size: 12px;
			}

		#footer .nav-supp {
			float: right;
			margin-top: 5px;
		}

	.selection2 {
		display: block;
		margin: 2px;
		padding: 1px;
		border: 1px solid;
		-webkit-border-radius: 4px;
		-moz-border-radius: 4px;
		border-radius: 4px;
	}

		.selection2 h3 {
			overflow: hidden;
			text-overflow: eclipse;
		}

	a.selection2 {
		height: 100%;
		text-decoration: none;
	}

		a.selection2:hover,
		a.selection2:focus,
		a.selection2:active {
			padding: 0px;
			border-width: 2px;
		}

			a.selection2:hover:active {
				margin: 3px;
				/*padding:15px 19px;*/
			}

	.top-margin {
		margin-top: 5px;
	}
}

@media only screen and (max-width:650px) {
	.step,
	.step + .summary,
	.help-guide {
		float: none;
		width: auto;
	}

	#next {
		padding: 10px 15px;
		border-radius: 4px;
		border: 1px solid rgba(0, 0, 0, 0.2);
		font-weight: bold;
		cursor: pointer;
		text-shadow: 0px 1px 0px rgba(0,0,0,0.4);
		-moz-border-radius: 4px;
		-webkit-border-radius: 4px;
	}

	.next-button {
		width: auto;
		float: none;
		padding-top: 14px;
		padding-right: 14px;
		padding-bottom: 14px;
		padding-left: 14px;
	}

	.policy {
		float: none;
		width: auto;
		margin: 0 0 20px;
	}
}

@media only screen and (max-width:480px) {

	.clinic-step-tablecell {
		width: 100%;
	}

	#wrap {
		max-width: 100%;
	}

	#header {
		padding: 10px;
		text-align: center;
	}

		#header .tools {
			position: static;
		}

	div.tools a {
		float: none;
	}

	#logo {
		padding: 0;
	}

		#logo img {
			display: block;
			margin: 0 auto 10px;
			max-width: 100%;
		}

	#process li {
		display: none;
	}

		#process li.active,
		#process li.active + li {
			display: block;
		}

	#foundation {
		border-top: 1px solid #E0E0E0;
		border-bottom: 1px solid #E0E0E0;
		border-radius: 0;
		-webkit-box-shadow: none;
		-moz-box-shadow: none;
		box-shadow: none;
	}

	#main-content,
	#nav {
		padding: 15px 10px;
	}
	/*#main-content .policy {
		float: right;
		width: 30%;
	} */
	.policy {
		float: none;
		width: auto;
		margin: 0 0 20px;
	}

	.start .option {
		float: none;
		width: auto !important; /* override style attr set by js */
	}

	.selection {
		min-height: 0;
	}

	.go-to-date {
		clear: both;
		margin: 5px 0 10px;
	}

	input[type=text],
	input[type=password] {
		width: auto;
		max-width: 282px;
	}

	input[type=submit] {
		-webkit-appearance: none;
	}

	.step + .summary,
	.help-guide {
		float: none;
		width: auto;
		margin: 0 0 20px;
	}

	a.back {
		font-size: 12px;
	}

		a.back:before {
			display: none;
		}

	#bookings table,
	#bookings thead,
	#bookings tbody,
	#bookings tr,
	#bookings th,
	#bookings td {
		display: block;
	}

	#bookings table {
		margin: 10px 0;
	}

	#bookings thead tr {
		position: absolute;
		top: -9999px;
		left: -9999px;
	}

	#bookings tr + tr {
		border-top: 2px solid;
	}

	#bookings td {
		/* Behave like a "row" */
		border: none;
		border-bottom: 1px solid #eee;
		position: relative;
		padding-left: 30%;
		min-height: 14px;
	}

		#bookings td:before {
			/* Now like a table header */
			position: absolute;
			/* Top/left values mimic padding */
			top: 0;
			left: 0;
			width: 25%;
			padding: 6px 0 5px 6px;
			background: #eee;
			white-space: nowrap;
			font-weight: bold;
		}

	#bookings .edit, @
	#bookings .cancel {
		float: left;
		margin: -4px 0 0;
		padding: 4px 20px;
	}

	#bookings .cancel {
		margin-left: 1em;
	}

	.print-receipt {
		float: none;
		width: auto;
		margin-bottom: 20px;
	}

	#footer .vcard,
	#footer .nav-supp {
		float: none;
		text-align: center;
	}

	#footer .vcard {
		margin: 0 0 20px;
	}

	/* Swedish strings */
	html[lang=sv] #bookings td:nth-of-type(1):before {
		content: "Klinik";
	}

	html[lang=sv] #bookings td:nth-of-type(2):before {
		content: "Behandling";
	}

	html[lang=sv] #bookings td:nth-of-type(3):before {
		content: "Behandlare";
	}

	html[lang=sv] #bookings td:nth-of-type(4):before {
		content: "Datum";
	}

	html[lang=sv] #bookings td:nth-of-type(5):before {
		content: "Tid";
	}

	html[lang=sv] #bookings td:nth-of-type(6):before {
		content: "Ändra?";
	}
	/* Finnish strings */
	html[lang=fi] #bookings td:nth-of-type(1):before {
		content: "Klinikka";
	}

	html[lang=fi] #bookings td:nth-of-type(2):before {
		content: "Hoito";
	}

	html[lang=fi] #bookings td:nth-of-type(3):before {
		content: "Kliinikot";
	}

	html[lang=fi] #bookings td:nth-of-type(4):before {
		content: "Päivämäärä";
	}

	html[lang=fi] #bookings td:nth-of-type(5):before {
		content: "Aika";
	}

	html[lang=fi] #bookings td:nth-of-type(6):before {
		content: "Muutta?";
	}
}

p .login-info {
	float: left;
	margin-right: 2px;
}

a .login-link {
	float: right;
	display: block;
	background-color: cornflowerblue;
	border-radius: 12px;
	padding: 3px 16px;
	font-size: 14px;
	color: lightgray;
	font-weight: bold;
}
