/* Membership options
-----------------------------------------------------------------------------------------------------*/

.flex-block__item {
    width: 16.66%!important;
    min-width: 160px;
	border-radius:10px
}
.flex-block__card {
	border-radius:5px;
}
.flex-block__title {
    font-size: 14px;
    padding: 5px;
    background-color: #ed5c24;
    color: white;
    text-align: center;
}
.flex-block__title_admin {
	background-color: #707070;
}
.flex-block__content {
	padding:0;
}
.flex-block h2, .flex-block h3 {
    padding:0;
}
label.flex-block__card {
    cursor: pointer;
}
.flex-block__card input:checked ~ .flex-block__content {
  background-color: #ed5c24;
}
.flex-block__card input:checked ~ .flex-block__content h2, .flex-block__card input:checked ~ .flex-block__content h3 {
    color: #ffffff;
}
.flex-block__item input {
    display:none;
}
.ticklist {
    padding:0;
}
.ticklist li {
    list-style: none;
    background-repeat: no-repeat;
    background-position: 0 3px;
    background-size: 19px;
    padding: 0 0 0 30px;
    position:relative;
}
.ticklist li svg {
    position: absolute;
    height: 19px;
    width: 19px;
    left: 0px;
    top: 4px;
}
.progressbar {
  margin: 0;
  padding: 0 0 70px;
  counter-reset: step;
}
.progressbar li {
  list-style-type: none;
  width: 25%;
  float: left;
  font-size: 12px;
  position: relative;
  text-align: center;
  text-transform: uppercase;
  color: #7d7d7d;
}
.progressbar li:before {
  width: 30px;
  height: 30px;
  content: counter(step);
  counter-increment: step;
  line-height: 28px;
  border: 2px solid #7d7d7d;
  display: block;
  text-align: center;
  margin: 0 auto 10px auto;
  border-radius: 50%;
  background-color: white;
  z-index: 1;
  position:relative;
}
.progressbar li:after {
  width: 100%;
  height: 2px;
  content: '';
  position: absolute;
  background-color: #7d7d7d;
  top: 15px;
  left: -50%;
}
.progressbar li:first-child:after {
  content: none;
}
.progressbar li.active {
  color: #ed5c24;
}
.progressbar li.active:before {
  border-color: #ed5c24;
}
.progressbar li.active + li:after {
  background-color: #ed5c24;
}
.productstage2 {
    text-align:center;
}
.productstage2 p.aboveh1 {
    padding: 20px 0 0;
    margin: 0;
}
.productstage2 h1 {
    padding-top: 0;
}
.summarybox {
    background-color: #eaeaea; 
    padding: 20px;
    margin-bottom:20px;
    border-top: 2px solid #cacaca;
}
.summarybox h3 {
    padding: 10px 0;
    margin: 0;
}
.summarybox p {
    font-weight:bold;
    margin-bottom:0;
}
.summarybox span {
    display:block;
    margin-bottom:20px;
}
.calendarbox {
	text-align: center;
    padding: 35px 0px 20px;
	display: block;
    text-decoration: none;
	background: linear-gradient(176deg, rgb(255, 255, 255) 6%, rgb(246, 246, 246) 73%, rgba(255,256,255,1) 80px);
}
.calendarbox:hover {
	background: linear-gradient(176deg, rgb(255, 255, 255) 6%, rgb(219, 219, 219) 73%, rgba(255,256,255,1) 80px);
}
.flex-block__content > .calendarbox:first-of-type { 
	border-top: none;
}
.calendarbox img {
	height: 40px;
    max-width: 100%;
    display: block;
    margin: 0 auto 10px;
}
.calendarbox p.time {
	font-weight:bold;
	margin:0;
    line-height: 25px;
}
.calendarbox p.time:nth-of-type(2) {
	margin-bottom:10px;
}
.calendarbox p.details {	
	font-size: 18px;
    margin: 0;
    line-height: 20px;
}
.calendarbox p.coachdetails {
	font-weight: bold;
    font-size: 22px;
    line-height: 32px;
    color: #eb7e4a;
}
.calendarbox .topsvg {
	margin-top:5px
}
.calendarbox .topsvg, .calendarbox .bottomsvg {
	width: 100%;
    height: 10px;
    display: block;
}
.calendarbox .statusbox {
	width: 100%;
	box-sizing: border-box;
	font-size: 22px;
	display: block;
	color: white;
	height: 35px;
	line-height: 35px;
}
.calendarbox .statusbox {
	height: initial;
	line-height: initial;
	padding:10px 0;
}
.calendarbox.available .topsvg {
    fill: #57f764;
}
.calendarbox.available .statusbox {
	background-color: rgb(0, 230, 18);
}
.calendarbox.available .bottomsvg {
    fill: #3dd248;
}
.calendarbox.userbooked .topsvg {
    fill: #2f7fe0;
}
.calendarbox.userbooked .statusbox {
	background-color: rgb(0, 103, 230);
}
.calendarbox.userbooked .bottomsvg {
    fill: #085dc5;
}
.calendarbox.waitinglist .topsvg {
    fill: #ffbd62;
}
.calendarbox.waitinglist .statusbox {
	background-color: rgb(237, 153, 36);
}
.calendarbox.waitinglist .bottomsvg {
    fill: #d07e0b;
}
.calendarbox.toolate .topsvg {
    fill: #8e8d8d;
}
.calendarbox.toolate .statusbox {
	background-color: rgb(119, 119, 119);
}
.calendarbox.toolate .bottomsvg {
    fill: #676767;
}
.calendarbox.fullybooked .topsvg {
    fill: #c94646;
}
.calendarbox.fullybooked .statusbox {
	background-color: rgb(164 69 61);
}
.calendarbox.fullybooked .bottomsvg {
    fill: #962626;
}
.flex-block .noclasses {
    margin: 0;
    font-size: 14px;
    text-align: center;
    padding: 15px; 
}

/* Class detail page
-----------------------------------------------------------------------------------------------------*/

.infomessage {
    margin: 20px 0;
    padding: 20px;
    background-color: #eaeaea;
	text-align:center;
}
.featherlight-content .infomessage {
	margin-bottom:0px
}
.infomessage.green {
	background-color: #caf1ca;
    border: 1px solid #add8ad;
}
.infomessage.red {
	background-color: #f1caca;
    border: 1px solid #d8adad;
}
.infomessage.orange {
	background-color: #ffbe65;
    border: 1px solid #ffbe65;
}
.classheader {
	text-align:center;
}
.classheader h1:after {
	margin:10px auto 20px;
}
.classnotes {
	margin-bottom: 25px;
    text-align: center;
    font-size: 18px;
}
.headerdetails {
	margin: 0 0 20px;
    padding: 0;
    list-style: none;
	display: flex;
    flex-wrap: wrap;
    flex-direction: row;
    box-sizing: border-box;
}
.headerdetails li {
	padding:10px;
	text-align:center;
    display: flex;
    flex-direction: column;
    flex-grow: 1;
	flex-basis: 0;
}
.headerdetails h3 {
	margin: 0;
}
.imgwrapper {
	text-align: left;
    margin: 0;
    padding: 0;
}
.imgwrapper li {
	margin: 0 10px 10px 10px;
	padding: 0;
    display: inline-table;
}
.imgwrapper .profileimage {
	width: 130px;
    height: 130px;
    background-size: cover;
    background-position: center;
    border-radius: 100%;
	display:block;
}
@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {
     /* IE10+ */
	 .imgwrapper img {
		max-width:320px;
	}
}
.imgwrapper p {
	display: table-caption;
	caption-side: bottom;
	font-size: 14px;
	padding: 7px 0px;
	color: #909090;
	text-align:center;
	margin-bottom:0;
}
.shedlogo {
	max-height: 60px;
}
.bookbutton, .bookptbutton {
	text-align:center;
}
.schdbookcol1 {
	text-align:right;
	vertical-align:middle;
	width:50%;
}
.schdbookcol2 .bookbutton, .schdbookcol2 .bookptbutton {
	text-align:left;
}
.featherlight .featherlight-close-icon {
	font-size:32px;
	width:30px;
	line-height:30px;
	top:18px!important;
	right:18px!important;
}
.featherlight .featherlight-content {
    overflow-y: auto!important;
    overflow-x: hidden!important;
}
.navarrows {
	position: relative;
    height: 40px;
}
.navarrows .navleft {
    height: 30px;
    position: absolute;
    left: 4px;
}
.navarrows .navright {
    height: 30px;
    position: absolute;
    right: 4px;
}