
html {
	background:#fff;
	font-size: 100%;
}

body {
	font-size: 1.25em;
	position: relative;
	text-align: left;
	font-family: 'Open Sans', 'Helvetica', 'Arial', sans-serif;
	color:#666;
	font-weight: 300;
}

h1, h2, h3, h4, h5, h6 {
	font-family: 'Open Sans', 'Helvetica', 'Arial', sans-serif;
	font-weight: 600;
	overflow: hidden;
    text-overflow: ellipsis;
}

a, a:link, a:visited, a:hover, a:active {
	color:#71a394;
}

p {
	line-height: 1.5em;
}

hr {
	border-top: 1px solid #e4e4e4;
	border-left: none;
	border-right: none;
	border-bottom:none;
}

#spinner:before,
#spinner:after,
#spinner {
  border-radius: 5px;
  width: 2em;
  height: 2em;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
  -webkit-animation: load7 1.8s infinite ease-in-out;
  animation: load7 1.8s infinite ease-in-out;
}
#spinner {
  font-size: 10px;
  margin: 80px auto;
  position: relative;
  text-indent: -9999em;
  padding: 0;
  -webkit-transform: translateZ(0);
  -ms-transform: translateZ(0);
  transform: translateZ(0);
  -webkit-animation-delay: -0.16s;
  animation-delay: -0.16s;
}
#spinner:before {
  left: -3em;
  -webkit-animation-delay: -0.32s;
  animation-delay: -0.32s;
}
#spinner:after {
  left: 3em;
}
#spinner:before,
#spinner:after {
  content: '';
  position: absolute;
  top: 0;
}
@-webkit-keyframes load7 {
  0%,
  80%,
  100% {
    box-shadow: 0 2.5em 0 -1.3em #71a394;
  }
  40% {
    box-shadow: 0 2.5em 0 0 #71a394;
  }
}
@keyframes load7 {
  0%,
  80%,
  100% {
    box-shadow: 0 2.5em 0 -1.3em #71a394;
  }
  40% {
    box-shadow: 0 2.5em 0 0 #71a394;
  }
}


#spinner img {
	display:none;
}

.content {
	background: #fff;
	border-radius: 1px;
}

.content > div > *,
.instructions > * {
	max-width: 960px;
	margin: 0 auto;
	padding-left: 40px;
	padding-right: 40px;
}



.header {
	position: relative;
	text-align: center;
	background-color:#f4f4f4;
	z-index: 1;
	padding:50px 0;
}

.header:after {
	content: '';
	clear: both;
	display: block;
}

.headerText, .footerText {
	font-size: 0.8em;
}

.headerText p {
	margin-bottom: 0;
}

.header.noImage {
	text-align: center;
}

.header .title {
	font-size: 1.6em;
}

.header .logo {
	max-width:100%;
	height:auto;
	margin-bottom: 20px;
}


.header .logo.largeImage {
	width: 400px;
}

.poweredByFooter {
    clear: both;
    background: #f1f5f6;
    position: relative;
    padding: 30px 0;
}

.footer {
	background:#fff;
	padding:0 0 40px;
	position: relative;
	text-align: center;
}

.content > div > .instructions {
	top: -20px;
	margin-bottom: -20px;
	padding: 0 30px 40px;
	font-size: 0.8em;
	position: relative;
	z-index: 1;
	text-align: center;
	margin: 0;
	max-width: 100%;
	background-color:#f4f4f4;
}


div.grid {
	position: static;
	min-height: 350px;
}

div.gridPage {
	padding-left: 50px;
	padding-right: 50px;
	margin-bottom: 50px;
	position: relative;
}

.gridPage .timeZone {
	margin: 40px 0 0;
	display: inline-block;
	font-size: 0.85em;
}

.gridPage .timeZone.belowGrid {
	margin-bottom: 40px;
	text-align: center;
    width: 100%;
}

.gridPage .timeZone.belowGrid select {
	display: inline-block;
}

.gridPage .timeZone span {
	font-family: 'Open Sans', 'Helvetica', 'Arial', sans-serif;
}

.gridPage .timeZone select {
	border: 1px solid #e4e4e4;
	border-radius: 3px;
	padding: 3px 5px;
	font-size: 1em;
	margin-left: 5px;
}

.gridPage .jumpDate {
	float: right;
	margin: 40px 0 40px;
	font-size: 0.85em;
}

.gridPage .jumpDate .ui-datepicker-trigger {
	border-radius: 0;
	background: none;
	border: none;
	color:#71a394;
	padding: 0 0 0 28px;
	height: 21px;
	background-repeat: no-repeat;
	background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAAqCAYAAADBNhlmAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTExIDc5LjE1ODMyNSwgMjAxNS8wOS8xMC0wMToxMDoyMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6N0RENzc3NzEzREREMTFFNjg3OEVFQjkwMzgyMjBFOUIiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6N0RENzc3NzAzREREMTFFNjg3OEVFQjkwMzgyMjBFOUIiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTUgKFdpbmRvd3MpIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6ODVEMkIzRTBGMUQwMTFFNTk1RjNGMUU0NjMzNTgwMjYiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6ODVEMkIzRTFGMUQwMTFFNTk1RjNGMUU0NjMzNTgwMjYiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz7FN6SoAAABkUlEQVR42uyYu0oEMRSGM8Oqq4uXxsZGcEFBZCtBQbaztRTBTjvRxkqx0c7SwssLWAj6Bloo+AhiYeGlc2ULFXRRLMY/cBYOYSebrKOmOD98zJlJcvKTkBOYaPVwT1nUAzbALBgCX+ABHIFN5actMA8GQTu4B8dgG7ymDYosBvvBBRhNae+zJTbUC15S2m5AGVQbNcaWpE+GuTtQYe9VmriZuilXXRXKVdeI0e5sMGLxCSiCAXBK39rAsINB3aeD4nPKUaTtbTSXs0GuW3omLFZsYps6WfxIOZSxiqnKsbjsOCHXOMg36TPmmGuaxZ/gkhtcAgfKXzsqO50Z78vakzY416K539Y+eI6pzoWqdW2wFLDBkusp5iex6wcT8kOZ9x1g0wL4AAW69lrVDNgF72AxS4P6Tl7LYMv0Tqz4DIhV4MpZrjdTyT/0CX8FxaAYFIOeZSZxGPOXfaRQS6EWg2JQCrUUainUckjEoBgMv8zo/ySFQAt1Ta/gBHgLcPG0p0lt8BpMabcBmauRp6tvAQYAfepQkLCTT68AAAAASUVORK5CYII=);
	background-size: 20px 21px;
}

.gridPage .jumpDate .ui-datepicker-trigger:before {
	display: none;
}

.singleCol.gridPage {
	text-align: center;
}

.singleCol.gridPage .jumpDate {
	float: none;
	display: inline-block;
	margin-bottom: 0px;
}

.singleCol.gridPage .grid {
	padding-top: 10px;
}

.gridPage .paging {
	width:1px !important;
	height:1px !important;
	float: left;
}

.gridPage .paging h4 {
	position: absolute;
	left: 20px;
	top:50%;
	margin-top: -30px;
}

.gridPage .paging.pagingAfter h4 {
	right: 20px;
	left: auto;
}


.gridPage .paging.pagingNext h4 a {
	transition:opacity 0.3s;
	-webkit-transition: opacity 0.3s;
	width:48px;
	height: 48px;
	background: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNDgiIGhlaWdodD0iNDgiIHZpZXdCb3g9IjAgMCA0OCA0OCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48dGl0bGU+NDgvbmV4dC1sYXJnZTwvdGl0bGU+PGRlc2M+Q3JlYXRlZCB3aXRoIFNrZXRjaC48L2Rlc2M+PHBhdGggZD0iTTM4IDI0LjUxNHYtMS4wMjhMMjIuNjc3IDYuNzRjLS4zNzQtLjQxLS45ODQtLjQyNS0xLjM3My0uMDI0bC0xLjEwOCAxLjE0Yy0uMzg0LjM5NS0uMzkzIDEuMDM4LS4wMTYgMS40NEwzNCAyNCAyMC4xOCAzOC43MDVjLS4zNzYuNC0uMzczIDEuMDQuMDE2IDEuNDRsMS4xMDggMS4xNGMuMzg0LjM5NCAxIC4zOCAxLjM3My0uMDI1TDM4IDI0LjUxNHoiIGZpbGw9IiM5OTkiIGZpbGwtcnVsZT0iZXZlbm9kZCIvPjwvc3ZnPg==") !important;
}

.gridPage .paging.pagingPrevious h4 a {
	transition:opacity 0.3s;
	-webkit-transition: opacity 0.3s;
	width:48px;
	height: 48px;
	background: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNDgiIGhlaWdodD0iNDgiIHZpZXdCb3g9IjAgMCA0OCA0OCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48dGl0bGU+NDgvcHJldmlvdXMtbGFyZ2U8L3RpdGxlPjxkZXNjPkNyZWF0ZWQgd2l0aCBTa2V0Y2guPC9kZXNjPjxwYXRoIGQ9Ik0xMCAyNC41MTR2LTEuMDI4TDI1LjMyMyA2Ljc0Yy4zNzQtLjQxLjk4NC0uNDI1IDEuMzczLS4wMjRsMS4xMDggMS4xNGMuMzg0LjM5NS4zOTMgMS4wMzguMDE2IDEuNDRMMTQgMjRsMTMuODIgMTQuNzA1Yy4zNzYuNC4zNzMgMS4wNC0uMDE2IDEuNDRsLTEuMTA4IDEuMTRjLS4zODQuMzk0LTEgLjM4LTEuMzczLS4wMjVMMTAgMjQuNTE0eiIgZmlsbD0iIzk5OSIgZmlsbC1ydWxlPSJldmVub2RkIi8+PC9zdmc+") !important;
}

.gridPage .paging.pagingNext h4 a:hover,
.gridPage .paging.pagingPrevious h4 a:hover {
	opacity: 0.7;
}

.gridPage .paging.pagingNext h4 a,
.gridPage .paging.pagingPrevious h4 a {
	text-indent: -9999px;
    overflow: hidden;
    display: block;
}

.singleCol.gridPage .paging h4 {
	position: fixed;
	left: 80px;
	bottom: 30px;
	top:auto;
}

.singleCol.gridPage .paging.pagingAfter h4 {
	right: 80px;
	left: auto;
}


.gridPage .gridHeader {
	padding:10px 0;
	border-radius: 3px;
	margin-bottom: 20px;
	margin-left: 2px;
	margin-right: 2px;
	position: relative;
}

.gridPage .gridHeader:after {
	content: '';
	height: 30px;
	width:1px;
	background:#e4e4e4;
	position: absolute;
	top:50%;
	margin-top: -15px;
	right:-12px;
}

.gridPage .gridDay:last-child .gridHeader:after {
	display: none;
}

.gridPage .grid {
	/*max-width: 100% !important;*/
	text-align: center;
	padding-top: 30px;
	/*padding-left: 60px;
    padding-right: 60px;*/
}

.gridPage.singleCol .grid {
	padding-right: 0;
	padding-left: 0;
}

.grid:before {
    content: '';
    display: block;
    clear: both;
}

.grid:after {
    content: '';
    display: block;
    clear: both;
}

.gridPage .gridDays {
	display: block;
}

.singleCol.gridPage .gridDays {
	display: inline-block;
	width:100%;
	padding-left: 80px;
	padding-right: 80px;
}
.singleCol.gridPage .gridHeader:after {
	display: none;
}
.singleCol.gridPage .gridDays .gridDay {
	width:100%;
	max-width: 100%;
}
/*
.gridPage .gridDays:after {
	content: '';
	display: block;
	clear: both;
}
*/
.gridPage .gridDay {
	text-align: center;
	position: relative;
	margin: 0 !important;
	padding-left: 10px;
	padding-right: 10px;
}

div.gridDay.wideCol {
    width: 120px;
    font-size: 1em;
}
div.gridDay.mediumCol {
	width: 100px;
	font-size: 1em;
}
div.gridDay.narrowCol {
    width: 85px;
    font-size: 0.85em;
    padding-left: 5px;
    padding-right: 5px;
}

div.gridPage div.gridDay span.gridHeaderDayName {
	font-size: 1.2em;
	text-transform: uppercase;
	color:#666;
	font-weight: 600;
}

div.gridPage div.gridDay span.gridHeaderDate,
div.gridPage div.gridDay span.gridHeaderFull {
	font-size: 0.85em;
}



.gridPage.singleCol .gridHeader {
	margin-top: 10px;
	padding-top: 0;
	padding-bottom: 0;
	margin-left: -30px;
    margin-right: -30px;
}

.gridPage.singleCol .gridDay .gridHeader h4 {
	margin: 15px 0;
}

.gridPage .gridDay .gridSlot {
	font-family: 'Open Sans', 'Helvetica', 'Arial', sans-serif;
	display: block;
	border-radius: 5px;
	background: #fff;
	padding-top:30px;
	padding-left:20px;
	padding-right: 20px;
	padding-bottom: 30px;
	margin: 5px auto 0;
	white-space: normal;
	transition:background 0.3s, transform 0.5s;
	-webkit-transition:background 0.3s, -webkit-transform 0.5s;
	position: relative;
	z-index: 2;
	cursor: pointer;
	overflow: hidden;
}

.gridPage .gridDay.narrowCol .gridSlot,
.gridPage.singleCol .gridDay .gridSlot {
	padding-top: 25px;
	padding-bottom: 25px;
}

.gridPage .gridDay .gridSlot span {
	text-decoration: none;
	color:#e4e4e4;
	position: absolute;
	margin: 0;
	padding:0;
	top:50%;
	left: 5%;
	width:90%;
	transform:translateY(-50%);
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
}

.gridPage .gridDay .gridSlot.gridTechnicallyFree {
	border: 1px solid #71a394;
	opacity: 1;
}


.gridPage .gridDay .gridSlot.gridBusy {
	border: 1px solid #e4e4e4;
	background: #ffffff;
}
.gridPage .gridDay .gridSlot.gridBusy:after {
	content: '';
	display: block;
	left: 10px;
	right: 10px;
	height: 1px;
	background:#e4e4e4;
	position: absolute;
	top:50%;
}


.gridPage .gridDay .gridSlot a,
.gridPage .gridDay .gridSlot span {
	transition:color 0.3s, background 0.3s;
	-webkit-transition:color 0.3s, background 0.3s;
}

.gridPage .gridDay .gridSlot.gridFree,
.gridPage .gridDay .gridSlot.gridHighlight {
	border: 1px solid #71a394;
	cursor: pointer;
}
/*
.gridPage .gridDay .gridSlot:before {
	content: '';
	display: block;
	position: absolute;
	top:-10%;
	left: 50%;
	width: 0;
	height: 120%;
	opacity: 0;
	background: #71a394;
	transition:left 0.15s linear 0.1s, width 0.15s linear 0.1s, opacity 0.1s linear 0.1s;
	transform:skew(10deg);
	-webkit-transition:left 0.15s linear 0.1s, width 0.15s linear 0.1s, opacity 0.1s linear 0.1s;
	-webkit-transform:skew(10deg);
	pointer-events:none;
	z-index: -1;
}
*/
.gridPage .gridDay .gridSlot.gridFree a,
.gridPage .gridDay .gridSlot.gridHighlight a {
	text-decoration: none;
	color:#71a394;
	position: absolute;
	margin: 0;
	padding:0;
	top:50%;
	left: 5%;
	width:90%;
	z-index: 1;
	cursor: pointer;
	transform:translateY(-50%);
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
}

/*
.gridPage .gridDay .gridSlot.gridHighlight:before {
	left: -20%;
	width: 140%;
	opacity: 1;
}*/
.gridPage .gridDay .gridSlot.gridHighlight {
	background: #71a394;
}

.gridPage .gridDay .gridSlot.gridHighlight a,
.gridPage .gridDay .gridSlot.gridHighlight span {
	color: #ffffff;
	text-decoration: none;
}

.gridPage .gridDay.narrowCol .gridSlot {
    height: 55px
}

.gridPage .gridDay.narrowCol:before,
.gridPage .gridDay.narrowCol:after {
	top:60px;
}



div.dialogue {
	padding-top: 40px;
	margin-bottom: 50px;
	margin-top: 40px;
	font-size: 1em;
}

.dialogue .item  {
	margin-bottom:0;
}

.dialogue .itemSimple p,
.dialogue .itemContent p {
	font-size:0.8em;
}

.dialogue .itemSimple hr {
	margin-top: 30px;
	margin-bottom: 30px;
}

.dialogue .item {
	display: block;
	width: 400px;
	max-width: 100%;
	margin: 0 auto;
}

.dialogue .item .itemLabel,
.dialogue .item .itemContent {
	margin-left: 0;
}



.dialogue .item .itemLabel {
	color:#666;
	font-family: 'Open Sans', 'Helvetica', 'Arial', sans-serif;
	font-weight: 600;
	font-size: 0.85em;
}

.dialogue .item .itemLabel p {
	margin-bottom: 5px;
	margin-top: 15px;
}

div.item.required div.itemLabel p:first-child:before {
	display: none;
}

div.item.required div.itemLabel p:first-child:after {
	content: " *";
	color:#71a394;
    font-weight: bold;
}

.passwordForm {
	text-align:left;
	max-width:400px;
	margin: 0 auto;
	padding-right: 	70px;
	position:relative;
}
.passwordForm p {
	color: #666;
    font-family: 'Open Sans', 'Helvetica', 'Arial', sans-serif;
    font-weight: 600;
    font-size: 0.85em;
}

.passwordForm input[type="submit"] {
	position: absolute;
	right: 0;
	bottom:0;
	width:60px;
	margin-bottom:0;
	height: 40px;
	line-height: 15px;
}

.dialogue .g-recaptcha {
	margin: 20px 0;
}

.dialogue .g-recaptcha > div > div {
	margin: 0 auto;
}

.dialogue input:not([type='checkbox']):not([type='radio']):not([type='button']):not([type='reset']):not([type='submit']),
.dialogue select,
.dialogue textarea {
	display: block;
	width: 100%;
	max-width: 100%;
	border: 1px solid #e4e4e4;
	background: #ffffff;
	border-radius: 3px;
	padding: 5px 10px;
	margin-bottom: 10px;
	color:#777;
}
.dialogue select {
	-webkit-appearance:none;
	-moz-appearance:none;
	background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTExIDc5LjE1ODMyNSwgMjAxNS8wOS8xMC0wMToxMDoyMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTUgKFdpbmRvd3MpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjI5OTdFMjQ0MjI1QzExRTZCRjk1QTkyNENFNTMwMDYwIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjI5OTdFMjQ1MjI1QzExRTZCRjk1QTkyNENFNTMwMDYwIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6Mjk5N0UyNDIyMjVDMTFFNkJGOTVBOTI0Q0U1MzAwNjAiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6Mjk5N0UyNDMyMjVDMTFFNkJGOTVBOTI0Q0U1MzAwNjAiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz6yhgaNAAAAl0lEQVR42mL8//8/Ay0BEwONwagFI8ACFmQOIyOjEpBSosC898BkfxZFBJQPYBgI3oGEKMTGyGaiB9FZCkPkPRTj9IEgEJ8h0+Xv0F0PNhNDgDxLsBqO1QIyLMFpOE4LSLAEr+F4LSDCEoKGE7QAjyVEGU6UBVgsIdpwEGYktsIB5nKQJWlAvAcjt+LTN1qjjVpAMQAIMADScIeAtG/zKgAAAABJRU5ErkJggg==);
	background-position: right 10px top 14px;
	background-repeat: no-repeat;
	background-size: 12px 12px;
}

.dialogue .intl-tel-input.allow-dropdown input:not([type='checkbox']):not([type='radio']):not([type='button']):not([type='reset']):not([type='submit']),
.dialogue .intl-tel-input.allow-dropdown input[type="text"]:not([type='checkbox']):not([type='radio']):not([type='button']):not([type='reset']):not([type='submit']),
.dialogue .intl-tel-input.allow-dropdown input[type="tel"]:not([type='checkbox']):not([type='radio']):not([type='button']):not([type='reset']):not([type='submit']),
.dialogue .intl-tel-input.separate-dial-code input:not([type='checkbox']):not([type='radio']):not([type='button']):not([type='reset']):not([type='submit']),
.dialogue .intl-tel-input.separate-dial-code input[type="text"]:not([type='checkbox']):not([type='radio']):not([type='button']):not([type='reset']):not([type='submit']),
.dialogue .intl-tel-input.separate-dial-code input[type="tel"]:not([type='checkbox']):not([type='radio']):not([type='button']):not([type='reset']):not([type='submit']) {
	padding-left: 52px;
}

button,
html input[type="button"],
input[type="reset"],
input[type="submit"] {
	display: block;
	border: none;
	border-radius: 5px;
	overflow: hidden;
	position: relative;
	width:100%;
	padding: 10px 15px;
	background: #fff;
	border: 1px solid #dbdbdb;
	color:#666;
	font-weight: 400;
	font-family: 'Open Sans', 'Helvetica', 'Arial', sans-serif;
	transition:background 0.3s, color 0.3s;
	-webkit-transition:background 0.3s, color 0.3s;
	z-index: 1;
}
/*
button:before,
.serviceSubmit:before {
	content: '';
	display: block;
	position: absolute;
	top:-10%;
	left: 50%;
	width: 0;
	height: 120%;
	background: #efefef;
	opacity: 0;
	transition:left 0.15s linear 0.1s, width 0.15s linear 0.1s, opacity 0.1s linear 0.1s;
	transform:skew(10deg);
	-webkit-transition:left 0.15s linear 0.1s, width 0.15s linear 0.1s, opacity 0.1s linear 0.1s;
	-webkit-transform:skew(10deg);
	z-index: -1;
}
*/
html input[type="button"]:hover,
input[type="reset"]:hover,
input[type="submit"]:hover {
	background: #efefef;
}
/*
button:hover:before,
.serviceSubmit:hover:before {
	left: -20%;
	width: 140%;
	opacity: 1;
}
*/

button:hover,
.serviceSubmit:hover {
	background: #efefef;
}

button span {
	position: relative;
	z-index: 1;
}

.serviceSubmit {
	border-radius: 5px;
	overflow: hidden;
	position: relative;
}

.serviceSubmit input:hover {
	background: none;
}

.dialogue .item .itemContent.threeThreeFour input {
	display:inline;
	width:auto;
}

.dialogue .item .itemAfter.singleLine {
	display: block;
}

.dialogue .formButtons:after {
	content: '';
	display: block;
	clear:both;
}

.dialogue .formButtons #submitButton {
	float: right;
	width:48%;
	background: #fff;
	border-color: #71a394;
	color:#71a394;
}



.dialogue .formButtons #submitButton:hover {
	color:#fff;
	background: #71a394;
}

.dialogue .formButtons #cancelButton {
	float: left;
	width:48%;
}


.dialogue .dialogueRadioDiv {
	padding-left: 30px;
	position: relative;
	margin-bottom: 10px;
	font-size: 0.8em;
}

.dialogue .dialogueRadioDiv .dialogueRadio {
	position: absolute;
	top:0px;
	left:0;
	width: 30px;
	margin-top: 6px;
}

.cancelReason, .cancelBeforeBox, .cancelAfterBox, .cancelAreYouSure {
	max-width: 400px;
}

.dialogue .itemCheckbox {
	position: relative;
}

.dialogue .itemCheckbox .itemLabel {
	padding-left:30px;
}

.dialogue .itemCheckbox .itemContent input {
	position: absolute;
	left: 0;
	width: 30px;
	top:-2px;
	padding-left: 8px;
}

.dialogue .adminForm {
	width: 400px;
	max-width: 100%;
}

.dialogue .adminForm > div {
	display: block;
	margin-top: 15px;
	margin-bottom: 5px;
}

.dialogue .adminForm div.confirmLabel {
	display: inline-block;
	width: auto;
	text-align: left;
	color: #666;
    font-family: 'Open Sans', 'Helvetica', 'Arial', sans-serif;
    font-weight: 600;
    margin-bottom: 5px;
}

.dialogue .adminForm #showOnSendEmail > div {
	display: block;
	margin-top: 15px;
	margin-bottom: 5px;
}

.dialogue .adminForm #showOnSendEmail  input,
.dialogue .adminForm #showOnSendEmail  select,
.dialogue .adminForm #showOnSendEmail  textarea {
	width:100% !important;
}


.dialogue .adminForm,
.dialogue.cancel form {
	font-size: 0.85em;
}


.dialogue .adminForm input,
.dialogue .adminForm textarea,
.dialogue .adminForm button,
.dialogue.cancel form textarea,
.dialogue.cancel form input {
	font-size: 1.1764em;
	color:#777;
}



.dialogue .adminForm #sendEmail {
	display: inline-block;
	width: auto;
}

.cancelSubmit {
	max-width: 400px;
}

a.addToCalendarLink:nth-last-child(n+2):after {
	display: none;
}

a.addToCalendarLink {
	display: inline-block;
	border: 2px solid #71a394;
	color:#71a394;
	border-radius: 3px;
	padding: 10px 15px;
	background: #fff;
	font-family: 'Open Sans', 'Helvetica', 'Arial', sans-serif;
	transition:background 0.3s, color 0.3s;
	-webkit-transition:background 0.3s, color 0.3s;
	margin-right: 10px;
	text-decoration: none;
}

a.addToCalendarLink:hover {
	background: #71a394;
	color:#fff;
	text-decoration: none;
}


.ycbm_message {
	text-align: left !important;
}

div.periodButtons {
	text-align: center;
	padding-top: 30px;
}

.periodButtons button {
	display: inline-block;
	width: auto;
	margin-top: 10px;
}

.periodButtons button.showing {
	font-weight: 400;
	background: #71a394;
    color: #fff;
}

.periodButtons button.showing:hover {
    background: #629a89;
}

div.noFreeMessage.modal {
	top:50%;
	margin-top: -15px;
	border: 1px solid #e4e4e4;
    background: #fcfcfc;
    border-radius: 3px;
    padding: 30px 10px;
    z-index: 99;
}



/*****************************SERVICES/TEAMS
*/

.content > div >.services,
.content > div >.teams {
	margin-top: 50px;
	margin-bottom: 50px;
}

.service,
.team {
	margin: 30px 0;
	padding: 30px;
	padding-left: 260px;
	min-height: 260px;
	padding-bottom: 30px;
	position: relative;
	border: 1px solid #e4e4e4;
	border-radius: 5px;
}

div.serviceGroup {
	border: none;
	padding: 40px 0;
	margin:0;
}

.service.noImage,
.team.noImage {
	padding-left: 30px;
	min-height: 0;
}

.team.teamsAnyLink {
	padding-left: 30px;
	min-height: 0;
}

.service .servicePic,
.team .teamPic {
	width:200px;
	height: 200px;
	position: absolute;
	left: 30px;
	top:30px;
	border-radius: 5px;
	overflow: hidden;
	-webkit-backface-visibility: hidden;
    -moz-backface-visibility: hidden;
    -webkit-transform: translate3d(0, 0, 0);
    -moz-transform: translate3d(0, 0, 0);
	border: 1px solid #71a394;
	background: #71a394;
}
/*
.service .servicePic:before,
.team .teamPic:before {
	content: '';
	display: block;
	position: absolute;
	top:-10%;
	left: 50%;
	width: 0;
	height: 120%;
	opacity: 0;
	background: #71a394;
	transition:left 0.15s linear 0.1s, width 0.15s linear 0.1s, opacity 0.1s linear 0.1s;
	transform:skew(10deg);
	-webkit-transition:left 0.15s linear 0.1s, width 0.15s linear 0.1s, opacity 0.1s linear 0.1s;
	-webkit-transform:skew(10deg);
	z-index: 2;
}
*/
.service .servicePic:after,
.team .teamPic:after {
	content: 'Select';
	font-family: 'Open Sans', 'Helvetica', 'Arial', sans-serif;
	font-weight: 400;
	position: absolute;
	top: 50%;
	margin-top: -15px;
	color:#fff;
	font-size: 1.2em;
	width: 100%;
	text-align: center;
	transform:scale(0);
	-webkit-transform: scale(0);
	-ms-transform: scale(0);
	transition:transform 0.3s, opacity 0.3s;
	-webkit-transition:-webkit-transform 0.3s, opacity 0.3s;
	opacity: 0;
	z-index: 3;
}

.serviceName,
.teamName {
	margin-top: 0;
}

.chooseMany .serviceName {
	padding-left:35px;

}

.serviceDescription,
.teamDescription {
	font-size: 0.8em;
}

.service .serviceSelect a:focus {
	outline:none;
}

.service .serviceSelect input {
	display:none;
}
.service .serviceSelect input + a:before {
    content: '';
    display: block;
    width: 23px;
    height: 23px;
    border: 1px solid #71a394;
    position: absolute;
    left: 260px;
    top: 40px;
    border-radius: 10%;
    color: #fff;
    text-align: center;
    padding-top: 0;
    transition:background 0.2s ease, border-radius 0.2s ease;
    -webkit-transition:background 0.2s ease, border-radius 0.2s ease;
}

.service .serviceSelect input + a:after {
    content: '\00ac';
    display: block;
    width: 25px;
    height: 25px;
    position: absolute;
    left: 260px;
    top: 40px;
    color: #71a394;
    text-align: center;
    padding-top: 0;
    font-family: 'Open Sans', 'Helvetica', 'Arial', sans-serif;
    font-weight: 400;
    font-size: 1.4em;
    opacity: 0;
	line-height: 22px;
    transition:transform 0.5s ease, opacity 0.5s ease;
    transform: rotate(20deg) scale(0);
    -webkit-transition:-webkit-transform 0.2s ease, opacity 0.2s ease;
    -webkit-transform: rotate(20deg) scale(0);
}

.service.noImage .serviceSelect input + a:after,
.service.noImage .serviceSelect input + a:before {
    left: 30px;
}

.service .serviceSelect input:checked + a:before {
	background: #fff;
}

.service .serviceSelect input:checked + a:after {
	opacity: 1;
	transform: rotate(130deg)  scale(1);
}


.service .servicePic img,
.team .teamPic img {
	width: auto;
	height: auto;
	max-width: none;
	transition:opacity 0.3s linear 0.1s;
	-webkit-transition:opacity 0.3s linear 0.1s;
	position: relative;
	z-index: 1;
}


/*
.service:hover .servicePic:before,
.team:hover .teamPic:before {
	left: -20%;
	width: 140%;
	opacity: 1;
}
*/

.service:hover .servicePic img,
.team:hover .teamPic img {
	opacity: 0 !important;
}


.service:hover .servicePic:after,
.team:hover .teamPic:after {
	transform:scale(1);
	-webkit-transform: scale(1);
    -ms-transform: scale(1);
	opacity: 1;
}

.service .servicePic .portrait,
.team .teamPic .portrait {
	width: 200px;
	height: auto;
	margin-top: 100px;
	transform:translateY(-50%);
	-webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
}

.service .servicePic .landscape,
.team .teamPic .landscape {
	height: 200px;
	width: auto;
	max-width:none;
	margin-left: 100px;
	transform:translateX(-50%);
	-webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
}

.service .servicePic .square,
.team .teamPic .square {
	max-width: 100%;
	width:200px;
}

.service .serviceName a,
.team .teamName a {
	text-decoration: none;
}

.service .serviceSelect a,
.team .teamSelect a {
	display: block;
	position: absolute;
	left: 0;
	top:0;
	bottom: 0;
	right: 0;
}

.service .serviceSelect a span,
.team .teamSelect a span {
	display: none;
}


.service .serviceDuration,
.service .servicePrice {
	display: inline-block;
	font-family: 'Open Sans', 'Helvetica', 'Arial', sans-serif;
	font-weight: 400;
}

/*****************************DATE PICKER
*/

/* JQUERY DATEPICKER */

.ui-corner-all, .ui-corner-top, .ui-corner-right, .ui-corner-tr {
	border-radius: 3px !important;
}
/* Wrapper */
.ui-datepicker {
	margin:-2px -20px;
	margin-top: -1px;
	z-index: 1000 !important;
}

/* Inside the wrapper - main background for the entire calendar */
.ui-widget-content {
	background: #ffffff !important;
	border: 1px solid #71a394 !important;
}

/* Header bar (where the month/year is displayed */
.ui-widget-header {
	background: #71a394 !important;
	border: 1px solid #71a394 !important;
	color: #fff !important;
	font-family: 'Open Sans', 'Helvetica', 'Arial', sans-serif;
}

/* Days of the week */
.ui-datepicker-calendar {
	color: #2d2d2d !important;
}

.ui-datepicker th {
	color: #666 !important;
}

.ui-datepicker td {
	text-align:center !important;
}

/* Background of numbers */
.ui-state-default, .ui-widget-content .ui-state-default, .ui-widget-header .ui-state-default {
	border: 1px solid #71a394 !important;
	background: #fff !important;
	color: #bbb !important;
	border-radius: 5px !important;
	text-align:center !important;
	height: 35px;
	width:45px;
	padding-top: 7px;
	display: inline-block;
	margin-bottom: 3px;
}

/* Background of numbers when you hover */
.ui-state-hover, .ui-widget-content .ui-state-hover, .ui-widget-header .ui-state-hover, .ui-state-focus, .ui-widget-content .ui-state-focus, .ui-widget-header .ui-state-focus {
	border: 1px solid #71a394 !important;
	background: #71a394 !important;
	color: #fff !important;
	border-radius: 5px !important;
	text-align:center !important;
}

/* Today's date */
.ui-state-highlight, .ui-widget-content .ui-state-highlight, .ui-widget-header .ui-state-highlight {
	background: #71a394 !important;
	border: 1px solid #71a394 !important;
	border-radius: 5px !important;
	color: #fff !important;
}

/* Previous arrow - background */
.ui-datepicker-prev.ui-corner-all {
	width: 20px !important;
	height: 20px !important;
	top: 10px !important;
	left: 10px !important;
}
.ui-datepicker-prev.ui-corner-all:hover {
	border: none !important;
	background: #71a394 !important;
}

/* Previous arrow icon */
.ui-datepicker-prev.ui-corner-all .ui-icon.ui-icon-circle-triangle-w, .ui-datepicker-prev.ui-corner-all .ui-icon.ui-icon-circle-triangle-w:hover {
	background: url('/resources/jquery-ui-1.8.23/themes/ui-lightness/images/ui-icons_ffffff_256x240.png') !important;
	background-position: -80px -192px !important;
	cursor: pointer;
}

/* Next arrow - background */
.ui-datepicker-next.ui-corner-all {
	width: 20px !important;
	height: 20px !important;
	top: 10px !important;
	right: 10px !important;
}
.ui-datepicker-next.ui-corner-all:hover {
	border: none !important;
	background: #71a394 !important;
}

/* Next arrow icon */
.ui-datepicker-next.ui-corner-all .ui-icon.ui-icon-circle-triangle-e, .ui-datepicker-next.ui-corner-all .ui-icon.ui-icon-circle-triangle-e:hover  {
	background: url('/resources/jquery-ui-1.8.23/themes/ui-lightness/images/ui-icons_ffffff_256x240.png') !important;
	background-position: -48px -192px !important;
	cursor: pointer;
}


.payment {
	width: 100%;
    max-width: 400px;
    border: 1px solid #e4e4e4;
    background: #fff;
    border-radius: 3px;
    padding: 20px 10px 10px;
    margin-top: 30px;
    margin-bottom: 30px;
    margin-left: auto;
    margin-right: auto;
}
.payment .paymentHeader .paymentDetails {
	color: #666;
    font-family: 'Open Sans', 'Helvetica', 'Arial', sans-serif;
}

.payment .securityCode {
	width: 53%;
}
.payment .expiryDate {
	width: 47%;
}

.payment .expiryDate input#cardMonth {
	width:38%;
}

.payment .expiryDate input#cardYear {
	width: 45%;
}

.payment .itemContent {
	line-height: 40px;
}

/*****************************POWERED BY
*/

.poweredBy {
margin-top:20px;
text-align:center;
}

/*****************************SKIP HEADER
*/

.skipHeaderFooter .content > div > .instructions {
	top:0;
	padding-top: 40px;
	padding-bottom: 0;
	background-color: #fff;
}

.skipHeaderFooter .poweredByFooter {
	background-color: #fff;
}

/*****************************RESPONSIVE
*/

@media (max-width: 750px) {

	.gridPage .timeZone {
		float: none;
		display: block;
	}
	.gridPage .jumpDate {
		float: none;
		margin-top: 20px;
		display: inline-block;
	}
	.ui-datepicker {
	    margin-left: -1px;
	}


	.service,
	.team{
		padding-left: 160px;
		min-height: 160px;
	}

	.service .serviceSelect input + a:after,
	.service .serviceSelect input + a:before {
	    left: 160px;
	}

	.service .servicePic,
	.team .teamPic {
		width:100px;
		height: 100px;
	}


	.service .servicePic img,
	.team .teamPic img {
		min-width: 100px;
		min-height: 100px;
	}

	.service .servicePic .portrait,
	.team .teamPic .portrait {
		width: 100px;
		margin-top: 50px;
	}

	.service .servicePic .landscape,
	.team .teamPic .landscape {
		height: 100px;
		margin-left: 50px;
	}


}


@media (max-width: 600px) {

	.payment .securityCode {
		width: 100%;
	}
	.payment .expiryDate {
		width: 100%;
	}

	body {
		padding: 0px;
	}

	h1 {
		font-size: 1.5em;
	}

	h2 {
		font-size: 1.2em;
	}

	h3 {
		font-size: 1.1em;
	}

	h4, h5,h6 {
		font-size: 1em;
	}

	.gridPage.singleCol .gridDay {
		padding-left: 40px;
		padding-right: 40px;
	}
	.content {
		padding: 20px;
		box-shadow: none;
    	border-radius: 0;
	}
	.content > div > *,
	.instructions > * {
		padding-left:0;
		padding-right:0;
	}
	div.gridPage {
		padding-left:50px;
		padding-right:50px;
		margin-left: -20px;
		margin-right: -20px;
	}
	.singleCol.gridPage {
		padding-left:0;
		padding-right:0;
		margin-left: 0;
		margin-right: 0;	
	}
	.content > div > .instructions {
		margin-left: -20px;
		margin-right: -20px;
		padding-left: 20px;
		padding-right: 20px;
		width: 100%;
		box-sizing:content-box;
		top:0;
		margin-bottom: 0;
		padding-top: 20px;
	}
	.header {
		margin: -20px;
		padding: 20px;
		text-align: center;
	}
	.instructions {
		margin: -20px -20px 20px;
		padding: 20px 20px 20px;
	}
	.instructions .instructionsStart {
		left: 20px;
		right: 20px;
	}

	.footer {
		margin: -20px;
		padding:20px;
	}


	.gridPage .timeZone span {
		display: block;
	}
	.gridPage .timeZone select {
		margin-left: 0;
		margin-right: 5px;
		margin-top: 5px;
	}


	.service,
	.team {
		padding-left: 30px;
		min-height: 0px;
	}

	.service .servicePic,
	.team .teamPic {
		position: relative;
		top:0;
		left: 0;
		width: 200px;
		height: 200px;
		margin-bottom: 20px;
	}

	.service .serviceSelect input + a:after,
	.service .serviceSelect input + a:before {
	    left: 30px;
	    top:257px;
	}
	.service.noImage .serviceSelect input + a:after,
	.service.noImage .serviceSelect input + a:before {
	    top:2px;
	}

	.service .servicePic img,
	.team .teamPic img {
		min-width: 200px;
		min-height: 200px;
	}

	.service .servicePic .portrait,
	.team .teamPic .portrait {
		width: 200px;
		margin-top: 100px;
	}

	.service .servicePic .landscape,
	.team .teamPic .landscape {
		height: 200px;
		margin-left: 100px;
	}

	.singleCol.gridPage .paging h4 {
		left: 10px;
	}

	.singleCol.gridPage .paging.pagingAfter h4 {
		right: 10px;
		left: auto;
	}

	.dialogue .formButtons #submitButton {
		width: 100%;
		margin-bottom: 20px
	}

	.dialogue .formButtons #cancelButton {
		width: 100%;
	}

	.dialogue .item .itemLabel,
	.dialogue .item .itemContent {
		width: 100%;
		max-width: 100%;
	}
	.singleCol.gridPage .gridDays {
		padding-left: 0;
		padding-right: 0;
	}

	.gridPage {
	    text-align: center;
	}

	.gridPage .jumpDate {
	    float: none;
	    display: inline-block;
	    margin-bottom: 0px;
	}

	.ui-datepicker {
	    left:50% !important;
	    margin-left: -136px;
	    font-size: 0.8em !important;
	}

	.ui-state-default, .ui-widget-content .ui-state-default, .ui-widget-header .ui-state-default {
		width:35px;
	}

	a.addToCalendarLink {
		width: 100%;
		margin-right: 0;
		text-align: center;
	}
	div.ycbm_message {
		text-align: center !important;
	}

}
