

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

div.gridPage {
	margin-bottom: 30px;
	position: relative;
}

.gridPage .timeZone {
	margin: 40px 0 0;
	display: inline-block;
}

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

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

.gridPage .timeZone span {
	font-family: 'Montserrat', sans-serif;
}

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

.gridPage .jumpDate {
	float: right;
	margin: 40px 0 40px;
}

.gridPage .jumpDate .ui-datepicker-trigger {
	background: none;
	border: none;
	color:#138296;
	padding: 0 0 0 28px;
	height: 21px;
	background-repeat: no-repeat;
	background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAAqCAYAAADBNhlmAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMDY3IDc5LjE1Nzc0NywgMjAxNS8wMy8zMC0yMzo0MDo0MiAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTUgKFdpbmRvd3MpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjg1RDJCM0UwRjFEMDExRTU5NUYzRjFFNDYzMzU4MDI2IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjg1RDJCM0UxRjFEMDExRTU5NUYzRjFFNDYzMzU4MDI2Ij4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6ODVEMkIzREVGMUQwMTFFNTk1RjNGMUU0NjMzNTgwMjYiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6ODVEMkIzREZGMUQwMTFFNTk1RjNGMUU0NjMzNTgwMjYiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz74hWy3AAABiUlEQVR42uyYvUoDQRSFZ0PUaPAHxMZGMKAgkkpQkHS2liLYaSe+gNhoZ2khWtsJ+gZaKPgIYmGhsTOSQgUNisV6LtyFy5CdzMafTHEPfOQuM3vnMMucgUTDR2fGoQGwBZbAOPgCD+AYbJts2gErYAx0gyo4AbvgNe2lyGFwBFyCqZTxIVdjS4PgJWXsFlRAvdlgztH0yTJ3D2riuc4Lt1I/90pU416JJq1xb4ORqE9BCYyCZMu7wISHQZrTw/UF9yjx5222lrdBqTv+jUVtxMIu9Yr6kXsYaxdTlRd1xXNBqRlQaDFn2rPXgqg/wZU0uA4OTXbtmd/TufW8QZ7I4HKb5v5aB+A5xzkXqjbJYDlgg2XfUyxPYt8PFpSHspD1BZdWwQco8rXXrhbBPngHaz4v0FUXB/yJvYO6Y8o7rjdbcQfmhL+DalANqsGMMeMT2v85R4Nag1oNqkENag1qDWo9JGpQDYYfM/Q/STHQoG7QDs6CtwA3jzzNkcEbME9uAzLXYE/X3wIMAMc3UYmFHJukAAAAAElFTkSuQmCC);
	background-size: 20px 21px;
}

.singleCol.gridPage {
	text-align: center;
	padding-left: 0px;
	padding-right: 0px;
}

.singleCol.gridPage .jumpDate {
	float: none;
	display: inline-block;
}

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

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

.gridPage .paging.pagingAfter h4 {
	right: -10px;
	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;
}

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

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

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

.gridPage .gridDays {
	display: block;
}

.singleCol.gridPage .gridDays {
	display: inline-block;
}
/*
.gridPage .gridDays:after {
	content: '';
	display: block;
	clear: both;
}
*/
.gridPage .gridDay {
	text-align: center;
	position: relative;
	margin: 0 !important;
}

.gridPage .gridDay:before {
	content: '';
	display: block;
	top:0;
	position: absolute;
	left: 50%;
	top:115px;
	bottom: 5px;
	width: 1px;
	background: #e4e4e4;
	z-index: 1;
}

.gridPage .gridDay:after {
	content: '';
	display: block;
	top:0;
	position: absolute;
	left: 50%;
	top:115px;
	width: 1px;
	height: 0;
	margin-left: -6px;
	border: 6px solid #e4e4e4;
	border-width: 10px 6px;
	border-color: #e4e4e4 transparent transparent transparent;
	z-index: 1;
}


div.gridDay.wideCol {
    width: 100px;
    font-size: 1em;
}
div.gridDay.mediumCol {
	width: 80px;
	font-size: 1em;
}
div.gridDay.narrowCol {
    width: 60px;
    font-size: 0.85em;
}


.gridPage .gridDay .gridHeaderDayName {
	font-size: 1.4em;
	text-transform: uppercase;
	color:#555555;
}


.gridPage .gridDay.mediumCol .gridHeaderDate,
.gridPage .gridDay.mediumCol .gridHeaderFull {
	font-size: 1em;
}

.gridPage.singleCol .gridHeader {
	margin-top: 10px;
}

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

.gridPage .gridDay .gridSlot {
	font-family: 'Montserrat', sans-serif;
	height: 70px;
	width: 70px;
	display: block;
	border-radius: 50%;
	background: #fff;
	padding-top:17px;
	padding-left:10px;
	padding-right: 10px;
	padding-bottom: 0;
	margin: 10px 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;
}

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

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

.gridPage .gridDay .gridSlot.gridBusy {
	border: 1px solid #e4e4e4;
	background: #efefef;
}
.gridPage .gridDay .gridSlot a,
.gridPage .gridDay .gridSlot span {
	transition:color 0.3s;
	-webkit-transition:color 0.3s;
}

.gridPage .gridDay .gridSlot.gridFree,
.gridPage .gridDay .gridSlot.gridHighlight {
	border: 1px solid #138296;
}

.gridPage .gridDay .gridSlot.gridFree a,
.gridPage .gridDay .gridSlot.gridHighlight a {
	text-decoration: none;
	color:#767676;
	position: absolute;
	margin: 0;
	padding:0;
	top:50%;
	left: 15%;
	width:70%;
	transform:translateY(-50%);
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
}

.gridPage .gridDay .gridSlot.gridHighlight {
	background: #138296;
	/*transform:scale(1.05);*/
}
.gridPage .gridDay .gridSlot.gridHighlight a,
.gridPage .gridDay .gridSlot.gridHighlight span {
	color: #ffffff;
	text-decoration: none;
}

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

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



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

/* JQUERY DATEPICKER */

.ui-corner-all, .ui-corner-top, .ui-corner-right, .ui-corner-tr {
	border-radius: 3px !important;
}
/* Wrapper */
.ui-datepicker {
	margin-left:-8.5em;
	margin-top: -1px;
	z-index: 10 !important;
}

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

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

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

.ui-datepicker th {
	color: #555555 !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 #138296 !important;
	background: #fff !important;
	color: #767676 !important;
	border-radius: 50% !important;
	text-align:center !important;
	font-weight: normal !important;
	height: 35px;
	width:35px;
	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 #138296 !important;
	background: #138296 !important;
	color: #fff !important;
	border-radius: 50% !important;
	text-align:center !important;
}

/* Today's date */
.ui-state-highlight, .ui-widget-content .ui-state-highlight, .ui-widget-header .ui-state-highlight {
	background: #138296 !important;
	border: 1px solid #138296 !important;
	border-radius: 50% !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: #138296 !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: #138296 !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;
}
.payment .paymentHeader .paymentDetails {
	color: #555555;
    font-family: 'Montserrat', sans-serif;
}


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

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

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

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

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

@media (max-width: 750px) {

	.header .logo {
		max-width: 150px;
	}

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

	.service {
		padding-left: 130px;
		min-height: 130px;
	}

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

	.service .servicePic {
		width:100px;
		height: 100px;
	}


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

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

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


}


@media (max-width: 600px) {

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

	body {
		padding: 0px;
		text-align: center;
	}

	h1 {
		font-size: 1.5em;
	}

	h2 {
		font-size: 1.2em;
	}

	h3 {
		font-size: 1.1em;
	}

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

	.content {
		padding: 20px;
		box-shadow: none;
    	border-radius: 0;
	}
	.header {
		margin: -20px;
		padding: 20px;
		text-align: center;
	}
	.header .logo {
		float: none;
	}

	.header.noImage {
		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: 0px;
		min-height: 0px;
	}

	.service .servicePic,
	.team .teamPic {
		position: relative;
		width: 150px;
		height: 150px;
		margin-left: auto;
		margin-right: auto;
	}

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

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

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

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

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

	.singleCol.gridPage .paging.pagingAfter h4 {
		right: 20px;
		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%;
	}
	a.addToCalendarLink {
		width: 100%;
		margin-right: 0;
	}
	div.ycbm_message {
		text-align: center !important;
	}

}




