@import url(base.css);

@import url(https://fonts.googleapis.com/css?family=Montserrat|Lato:400,400italic,700,700italic);

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

body {
	font-size: 1em;
	position: relative;
	text-align: left;
	font-family: 'Helvetica', 'Lato', 'Arial', sans-serif;
	color:#767676;
	padding: 40px 60px;
	overflow-x:hidden;
}

h1, h2, h3, h4, h5, h6 {
	font-family: 'Montserrat', sans-serif;
	font-weight: 400;
	overflow: hidden;
    text-overflow: ellipsis;
}

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

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: 50%;
  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;
  -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 #138296;
  }
  40% {
    box-shadow: 0 2.5em 0 0 #138296;
  }
}
@keyframes load7 {
  0%,
  80%,
  100% {
    box-shadow: 0 2.5em 0 -1.3em #138296;
  }
  40% {
    box-shadow: 0 2.5em 0 0 #138296;
  }
}


#spinner img {
	display:none;
}

.content {
	max-width: 960px;
	background: #fff;
	padding:40px;
	margin: 0 auto;
	box-shadow: 0 1px 3px rgba(0,0,0,0.1);
	border-radius: 1px;
}

.header {
	position: relative;
	text-align: right;
	padding-top: 1px;
	margin: -40px;
	padding: 40px;
	background-color:#fff;
	z-index: 1;
}

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

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

.headerText p {
	margin-bottom: 0;
}

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

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

.header .logo {
	float: left;
	max-width:250px;
	height:auto;
}

.header .logo {
}

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

.footer {
	background:#fff;
	margin: -40px;
	padding:40px;
	position: relative;
}

.instructions {
	margin: -40px -40px 40px;
	padding: 40px 40px 20px;
	font-size: 1em;;
	position: relative;
	background-color:#fff;
	z-index: 1;
}

.instructions .instructionsStart {
	border-bottom: 1px solid #e4e4e4;
	display: block;
	position: absolute;
	left: 40px;
	right: 40px;
	bottom:0;
}


.instructions p {
	max-width: 550px;
	margin-bottom: 20px;
	margin-top: 0;
}

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

div.gridPage {
	padding-left: 30px;
	padding-right: 30px;
	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;
}

.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:70px;
	bottom: 5px;
	width: 1px;
	background: #e4e4e4;
	z-index: 1;
}

.gridPage .gridDay:after {
	content: '';
	display: block;
	top:0;
	position: absolute;
	left: 50%;
	top:70px;
	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;
}



div.dialogue {
	padding-top: 40px;
	padding-bottom: 20px;
	border-top: 1px solid #e4e4e4;
	margin-top: 40px;
	font-size: 1em;
}

.passwordForm {
	text-align:left;
	max-width:400px;
	padding-right: 	70px;
	position:relative;
}
.passwordForm p {
	color: rgb(136, 136, 136);
	font-family: 'Montserrat', sans-serif;
}


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


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

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

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



.dialogue .item .itemLabel {
	color:#555555;
	font-family: 'Montserrat', sans-serif;
}

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

div.item.required div.itemLabel p:first-child:before {
	color:#138296;
}

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

.dialogue input,
.dialogue select,
.dialogue textarea {
	display: block;
	width: 100%;
	max-width: 100%;
	border: 1px solid #e4e4e4;
	background: #fcfcfc;
	border-radius: 3px;
	padding: 10px;
	margin-bottom: 10px;

}
.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;
}

button,
html input[type="button"],
input[type="reset"],
input[type="submit"] {
	display: block;
	border: none;
	border-radius: 3px;
	width:100%;
	padding: 10px 15px;
	background: #efefef;
	color:#555555;
	font-family: 'Montserrat', sans-serif;
	transition:background 0.3s;
	-webkit-transition:background 0.3s;
}

button:hover,
html input[type="button"]:hover,
input[type="reset"]:hover,
input[type="submit"]:hover {
	background: #e4e4e4;
}

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

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

.dialogue .formButtons {
	margin: 30px 0;
}

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

.dialogue .formButtons #submitButton {
	float: right;
	width:48%;
	background: #138296;
	color:#fff;
}

.dialogue .formButtons #submitButton:hover {
	background: #13a0ba;
}

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

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

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

.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:4px;
}

.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: #555555;
    font-family: 'Montserrat', sans-serif;
    font-weight: 400;
    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 #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 #138296;
	color:#138296;
	border-radius: 3px;
	padding: 10px 15px;
	background: #fff;
	font-family: 'Montserrat', 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: #138296;
	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: #138296;
    color: #fff;
}

.periodButtons button.showing:hover {
    background: #13a0ba;
}

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
*/

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

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

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

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

.service .servicePic,
.team .teamPic {
	width:200px;
	height: 200px;
	position: absolute;
	left: 0;
	top:0;
	border-radius: 50%;
	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 #138296;
	background: #138296;
}

.service .servicePic:after,
.team .teamPic:after {
	content: 'Select';
	font-family: 'Montserrat', sans-serif;
	font-weight: 400;
	position: absolute;
	top: 50%;
	margin-top: -10px;
	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;
	left:0;
}

.chooseMany {
	margin-bottom:40px;
}

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

.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 #138296;
    position: absolute;
    left: 230px;
    top: 5px;
    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: 230px;
    top: 5px;
    color: #fff;
    text-align: center;
    padding-top: 0;
    font-family: 'Montserrat', sans-serif;
    font-weight: 400;
    font-size: 1em;
    opacity: 0;
	line-height: 24px;
    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: 0px;
}

.service .serviceSelect input:checked + a:before {
	border-radius: 50%;
	background: #138296;
}

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


.service .servicePic img,
.team .teamPic img {
	width: auto;
	max-width: none;
	height: auto;
	transition:opacity 0.3s linear 0.1s;
	-webkit-transition:opacity 0.3s linear 0.1s;
	position: relative;
	z-index: 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;
	margin-left: 100px;
	transform:translateX(-50%);
	-webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
}

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

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

.service .serviceDescription a,
.team .teamDescription a {
	position: relative;
	z-index: 10;
}

.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: 'Montserrat', 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-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;
	}

}