.loadingBlock {
  width: 23%;
  height: 450px;
  box-shadow: 0px 0px 30px rgba(0, 0, 0, 0.15);
  padding: 40px 30px 30px 30px;
  border-radius: 6px;
  display: flex;
  flex-direction: column;
  justify-content: space-evenly;
  position: relative;
}

.loadingContainer {
  width: 100%;
  display: flex;
  justify-content: space-around;
  margin-bottom: 50px;
}

.titleLoader {
  height: 50px;
  background: white;
  border-radius: 6px;
}

.dateLoader,
.locationLoader {
  height: 30px;
  background: white;
  border-radius: 6px;
}

.buttonLoader {
  height: 60px;
  background: white;
}

.loading-animation {
  overflow: hidden;
  background: #d0d0d0;
}

.loading-animation::before {
  content: "";
  display: block;
  height: 100%;
  width: 100%;
  animation: loading 1s infinite;
  background: linear-gradient(to right, transparent, #d9d9d9, transparent);
}
html #mainWrapper {
  margin-bottom: 0px !important;}

@keyframes loading {
  0% {
    transform: translateX(-100%);
  }
  100% {
    transform: translateX(100%);
  }
}

.statusLeader {
  position: absolute;
  top: -18px;
  left: -15px;
  height: 38px;
  width: 160px;
  border-radius: 200px;
}

#filterDateSelect {
  position: relative;
  display: inline-block;
  vertical-align: middle;
  width: 304px;
  height: 39px;
  padding: 6px 12px;
  font-size: 16px;
  line-height: 1.571428;
  color: #555;
  background-color: #fff;
  background-image: none;
  border: 1px solid #ccc;
  border-radius: 200px !important;
  outline: none;
  -webkit-box-shadow: inset 0 1px 1px rgb(0 0 0 / 8%);
  box-shadow: inset 0 1px 1px rgb(0 0 0 / 8%);
  -webkit-transition: border-color ease-in-out 0.15s,
    box-shadow ease-in-out 0.15s;
  -o-transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s;
  transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s;
  border-radius: 4px !important;
  margin: 4px 4px;
}
span.dateFilterText {
  margin-left: 5px;
}
.shopNewPopup {
  margin-top: -149px !important;
}

/* Bodge until we can remove rich text fields from bitmark */
.eventWrapperMap .title br {
  display: none;
}

/* bodge to stop map view scrolling out of the map over the footer */
footer {
  display: none;
}

.aligned-row {
  display: flex;
  flex-flow: wrap;

  &::before {
    display: block;
  }
}
.venue .icon {
  opacity: 1 !important;
  width: 20px !important;
}
#eventShopListContainer {
  min-height: 100vh;
}
#eventShopList {
  margin-top: 0px;
}
.listContainer {
  background: #eff3f8 !important;
}
/*.col-sm-1.edit {
    width: 15%;
}
.col-sm-9.edit {
    width: 85%;
}*/
/*.col-sm-2.edit {
	display: none;
}*/

section {
  margin-bottom: 0px;
}
.shopFilters .container-fluid {
  padding: 0;
}
.shopFilters {
  background: #eff3f8 !important;
}
.shopFilters.container_wrapper {
  margin-bottom: 0 !important;
  position: fixed;
  top: 80px;
  width: 100% !important;
  z-index: 5;
}
.filterLabel .glyphicon {
  color: #666;
  font-size: 12px;
}
.listContainer {
  margin-top: 180px;
  position: relative;
  z-index: 1;
  /*  left: 0;
    right: 0;*/
  background: white;
}
.inlineLoader {
  position: absolute;
  left: 0px;
  top: -4px;
  right: 0px;
}
.sfEditor .listContainer {
  position: relative;
}
.views {
  height: 100%;
  position: absolute;
  right: 0;
  top: 0;
  display: none;
}
.mapView {
  right: 60px;
}
.listView {
  right: 120px;
}
.myeventsView {
  right: 0px;
}
.mapView,
.listView,
.myeventsView {
  font-size: 10px;
  font-weight: 600;
  height: 100%;
  padding: 14px 0;
  position: absolute;
  text-align: center;
  top: 0;
  width: 60px;
}
.mapView:hover,
.listView:hover,
.myeventsView:hover {
  background: #dfdfdf;
  cursor: pointer;
}
/*.listViewWrapper .bookImage {
    float: left;
    width: 120px;
	margin-right: 30px;
}*/
.mapView.selected,
.listView.selected,
.myeventsView.selected {
  background: #42b6b6 none repeat scroll 0 0;
  color: #ffffff;
}
.listViewWrapper {
  margin-bottom: 80px !important;
  min-height: auto !important;
  text-align: left;
}
.listViewWrapper .bookTitle {
  font-size: 20px;
  margin-top: 10px;
}
.views img {
  margin: 0 auto 5px;
  width: 20px;
  display: block;
}
.filters {
  padding: 15px 0 15px;
  background: #e4e4e4;
}
.shopFilterInner {
  position: relative;
  height: 69px; /* do: Figure out why this doesnt match book shop css */
}

.shopFilters .dropdown-menu {
  width: 100% !important;
}
/*.shopFilters .selectButton.dropdown-toggle {
    width: 100% !important;
}*/
.filterLabel {
  display: inline-block;
  font-size: 14px;
  font-weight: 500;
  margin-left: 25px;
  margin-right: 24px;
  margin-top: 9px;
  vertical-align: top;
  cursor: pointer;
}

.mainWrapper .container_wrapper.mapContainer {
  height: calc(100vh - 179px);
  width: 100%; /* do: vw ?? */
  position: relative;
  z-index: 0;
  margin-bottom: 0px !important;
  margin-top: 179px;
  display: none;
}
.mapContainer .container-fluid {
  /*margin-top: -10px;*/
  padding: 0;
}

#map {
  width: 100%;
  height: calc(100vh - 179px);
}

.eventWrapper > .row {
  margin: 0 !important;
  background: #fcfcfc none repeat scroll 0 0;
  border: 1px solid #dfdfdf;
  margin-bottom: 20px;
}
.eventWrapperMap > .row {
  margin: 0 !important;
  background: #ffffff;
  border: 0px solid #efefef;
  margin-bottom: 20px;
}
.eventWrapper .generalMessage {
  margin-top: 10px;
}

.dateBlock {
  /*margin-left:-1px; /* Bodge to fix bug showing on iphone */
}
.dateBlock > div {
}
.day,
.month,
.monthShort {
}
.monthShort {
  display: none;
}
.date {
}
.title > h2 {
  margin-top: 0;
}
.title > h2 > a {
  font-weight: 700;
  font-size: 24px;
  margin-bottom: 20px;
  display: block;
}
.detailBlock {
  min-width: 100%;
}
.time,
.dateMapView,
.eventWrapperMap .date,
.venue,
.cisitvflag {
  font-size: 16px;
  font-weight: bold;
  /* color: #888; */
  color: #757575
}
.time {
  color: #444;
  margin-bottom: 10px;
  margin-top: 10px;
  font-size: 22px;
}
.dateMapView .day,
.dateMapView .date,
.dateMapView .monthShort {
}
.mapContainer .time {
  display: inline-block;
  margin: 0px 0px 10px 0px;
}
.time,
.eventWrapperMap .date {
}
/*.cisitvflag > img {
    display: inline;
    margin: 0;
    width: 40px;
}
.cisitvflag {
    margin-left: 0px;
}*/

.venue{
  line-height: normal;
}
.buttons {
  margin-top: 30px;
  position: absolute;
  bottom: 30px;
  width: calc(100% - 90px);
}
.buttons > div {
  width: 100%;
}
.buttons .btn {
  width: 100%;
}
.statusBlock {
  position: absolute;
  top: -18px;
  left: 0px;
}
.addToBasket {
  background: #5ec017 none repeat scroll 0 0;
  border: 1px solid #5ec017;
  color: #fff;
}
.addToBasket:hover {
  background: #58b216;
  border: 1px solid #58b216;
  color: #ffffff;
}

.oneClickBuyButton,
.oneClickBuyButtonTry {
  background: #009ec7 none repeat scroll 0 0;
  border: 1px solid #009ec7;
  color: #fff;
}
.oneClickBuyButtonMessage {
  background: #009ec7 none repeat scroll 0 0;
  border: 1px solid #009ec7;
  color: #fff;
}
.oneClickBuyButton:hover,
.oneClickBuyButtonTry:hover {
  background: #008fb4;
  border: 1px solid #008fb4;
  color: #ffffff;
}
.oneClickBuyButtonMessage:hover {
  background: #008fb4;
  border: 1px solid #008fb4;
  color: #ffffff;
}

.time > img,
.venue > img,
.date > img,
.dateMapView > div > img {
  margin: 0;
  width: 15px;
  opacity: 0.6;
  display: inline;
}
.lowSeats,
.fullyBooked,
.filmedCISITV,
.inperson,
.webcast,
.hybrid {
  border-radius: 0px;
  color: #fff;
  float: none;
  font-size: 10px;
  font-weight: 800;
  /*font-family: open sans;*/
  height: auto;
  line-height: normal;
  padding: 7px 20px 9px;
  /*padding: 5px;*/
  text-align: center;
  width: calc(100% + 20px);
  margin-left: -10px;
  margin-bottom: 15px;
  margin-top: -10px;
}
.lowSeats {
  /* background: #ca581a none repeat scroll 0 0; */
  background: #C25419 none repeat scroll 0 0;
}
.hybrid {
  background: #810799 none repeat scroll 0 0;
}
.fullyBooked {
  background: #af0b0b none repeat scroll 0 0;
}
.filmedCISITV {
  /* background: #2d8383 none repeat scroll 0 0; */
  background: #2C8181 none repeat scroll 0 0;
  display: none;
}
.webcast {
  /* background: #147fed none repeat scroll 0 0; */
  background: #1073D5 none repeat scroll 0 0;
  display: none;
}
.inperson {
  /* background: #01a7ad none repeat scroll 0 0; */
  background: #018489 none repeat scroll 0 0;
}
#collapseFilters {
  /* background: #efefef none repeat scroll 0 0; */
  /*display: block;*/
  width: 100%;
}
.collapseFilterInner {
  padding: 0px 30px 0px;
}
.sf_cols.container_wrapper.listContainer {
  margin-top: 0px;
}
.listContainer .fullContainer {
  margin-top: 0px;
}
.shopFilterInner {
  position: relative;
  height: 69px; /* Figure out why this doesnt matchj book shop css */
}
.shopFilterInner .selectWrapper {
  display: block;
  margin: 4px 4px;
  width: 100%;
}
.shopFilters .dropdown-menu {
  width: 100% !important;
}
/*.shopFilters .selectButton.dropdown-toggle {
    width: 100% !important;
}*/

.eventWrapperMap .btn.btn-default {
  margin: 0 10px 0 0;
  width: calc(50% - 10px);
  /*font-family: raleway;*/
}
.gm-style-iw > div {
  max-width: 100% !important;
  width: 100% !important;
}
.eventWrapper {
  margin-bottom: 30px;
}
.eventWrapper .internalWrapper {
  box-shadow: 0px 0px 30px rgba(0, 0, 0, 0.15);
  min-height: 450px;
  background: #fff;
  padding: 40px 30px 30px 30px;
  border-radius: 6px;
}
.mapContainer .eventWrapper {
  margin-bottom: 15px;
  border-bottom: 1px solid #efefef;
  padding-bottom: 15px;
}
#eventShopList h1 {
  text-align: center;
  margin-top: 0px;
}
.noEventsMessage {
  text-align: center;
}
.externalCourse .glyphicon {
  color: #888;
}
.dateMapView {
  display: none;
}
.mapContainer .dateBlock {
  display: none;
}
.mapContainer .dateMapView {
  display: inline-block;
  margin: 0px 0px 10px 0px;
}
.mapContainer .eventWrapper .col-sm-9.detailBlock {
  width: 100% !important;
}
.mapContainer .eventWrapper .col-sm-2.buttons {
  width: 100% !important;
  padding: 1px;
}
#filterSubjectSelectWrapper .waiting,
#filterLocationSelectWrapper .waiting,
#filterCategorySelectWrapper .waiting {
  position: absolute;
  top: 4px;
  left: 0px;
}
/*#filterSubjectSelectButton .display,
#filterLocationSelectButton .display,
#filterCategorySelectButton .display {
    visibility: hidden;
}*/
.mapContainer .title > h3 {
  font-size: 16px;
  margin-bottom: 2px;
}
.mapContainer .monthShort {
  display: inline;
}
.mapContainer .venue {
  display: none;
}
.mapContainer .detailBlock {
  padding: 10px 10px 0px 10px;
}
.mapContainer .eventWrapper > .row {
  background: #ffffff;
  border: 0px solid;
}
.mapContainer .buttons .btn {
  margin: 0 5px;
  width: calc(50% - 10px);
  padding: 8px;
}
.mapContainer .buttons .oneClickBuyButton,
.mapContainer .buttons .oneClickBuyButtonMessage {
  margin: 10px 5px 0px;
  width: calc(100% - 10px);
  padding: 8px;
}
.mapContainer .eventWrapper:last-child {
  margin-bottom: 0px;
  border-bottom: 0px solid #efefef;
  padding-bottom: 15px;
}
.mapContainer .lowSeats,
.mapContainer .fullyBooked,
.mapContainer .filmedCISITV,
.mapContainer .webcast {
  border-radius: 0;
  height: auto;
  padding: 4px 10px;
  width: auto;
  margin-bottom: 6px;
}
.mapContainer .eventWrapper #loader-wrapper {
  position: absolute;
}
/* bodge to override google map styles, yes Lee importants are needed as google has inline css */
.newClose img {
  width: 100% !important;
  height: 100% !important;
  position: relative !important;
  top: 0px !important;
  left: 0px !important;
}
.oneClickMessage {
  font-size: 14px;
  margin: 10px 0px;
}

.eventCalendarHeading{
    margin-top: 320px !important;
}

@media (max-width: 991px) {
  .title > h2 {
    font-size: 14px;
  }
  /*.day {
		display: none;	
	}*/
  /*.lowSeats {
		display: none !important;
	}*/
}

@media (min-width: 700px) {
  .eventWrapper > .row {
    border: 1px solid #efefef;
  }
  .mapContainer .dateMapView {
    display: inline-block;
    margin-bottom: 14px;
    margin-right: 40px;
  }
  .mapContainer .title > h3 {
    font-size: 20px;
    margin-bottom: 6px;
  }
  .mapContainer .eventWrapper {
    padding-bottom: 25px;
  }
  .mapContainer .venue {
    display: block;
  }
  .dateMapView .day,
  .dateMapView .date,
  .dateMapView .monthShort {
  }
  .buttons{
    bottom: 1px;
  }
}

@media (min-width: 992px) {
  .detailBlock {
    min-width: auto;
  }
  .col-sm-1.edit {
    width: 10%;
  }
  .col-sm-9.edit {
    width: 75%;
  }
  .col-sm-2.edit {
    width: 15%;
    display: block;
    flex: 1;
  }
  .month {
  }
  .monthShort {
    display: none;
  }
  .time > img,
  .date > img,
  .venue > img,
  .dateMapView > div > img {
    margin-top: -4px;
    width: 20px;
    opacity: 0.6;
  }
  .time,
  .eventWrapperMap .date,
  .venue,
  .cisitvflag {
  }
  .cisitvflag > img {
    width: 50px;
  }
  .date {
  }
  .dateBlock {
  }

  .eventWrapperMap .detailBlock {
    padding: 5px 0px 5px 5px;
  }
  .eventWrapper {
    margin-bottom: 60px;
  }
  .eventWrapperMap {
    margin-bottom: 0px;
  }
  .title > h3 > a {
  }
  .eventDetailsLink {
    margin-bottom: 20px;
  }
  .lowSeats,
  .fullyBooked,
  .filmedCISITV,
  .webcast,
  .inperson,
  .hybrid {
    border-radius: 200px;
    /*float: right;*/
    /*height: 90px;*/
    /*padding: 16px 12px 22px;*/
    width: auto;
    /*margin-left:20px;*/
    margin-left: 0px;
    margin-bottom: 10px;
    margin-top: 0px;
    margin-right: 4px;
    font-size: 12px;
    text-transform: uppercase;
  }
  .webcast,
  .filmedCISITV,
  .fullyBooked,
  .lowSeats,
  .inperson,
  .hybrid {
    display: inline-block;
  }
  .mapView {
    right: 100px;
  }
  .listView {
    right: 200px;
  }
  .myeventsView {
    right: 0px;
  }
  .mapView,
  .listView,
  .myeventsView {
    font-size: 11px;
    font-weight: 600;
    height: 100%;
    padding: 14px 0;
    position: absolute;
    text-align: center;
    top: 0;
    width: 100px;
  }
  /*#collapseFilters {
		width: 60%;
	}*/
  #collapseFilters {
    display: inline-block;
    width: 75%;
    padding: 0px 0px 0px 12px;
  }
  .shopFilterInner .selectWrapper {
    display: inline-block;
    margin: 4px 4px;
    width: 21%;
  }
  #filterDateSelect {
    margin: 4px 4px;
  }
  .filterLabel {
    display: inline-block;
    font-size: 14px;
    font-weight: 500;
    margin-left: 25px;
    margin-right: 24px;
    margin-top: 9px;
    vertical-align: top;
    cursor: default;
  }
  .filterLabel .glyphicon {
    display: none;
  }
  .buttons .btn {
  }
  #eventShopList h1 {
    margin-top: 0px;
  }
  .venue{
    padding-bottom: 40px;
  }
  .buttons{
    bottom: 1px;
  }
}

@media (min-width: 1200px) {
  .day,
  .month,
  .monthShort {
  }
  .buttons .btn {
  }
  .time,
  .eventWrapperMap .date,
  .venue,
  .cisitvflag {
  }
  .eventWrapperMap .venue {
    display: block;
  }
  .cisitvflag {
    margin-left: 40px;
  }
  .shopFilters.container_wrapper {
    top: 110px;
  }
}

@media (min-width: 1600px) {
  .buttons .btn {
  }
  .detailBlock {
  }
  .eventWrapperMap .detailBlock {
    padding: 13px 3px 15px 13px;
  }
  .buttons {
  }
  .day,
  .month,
  .monthShort {
  }
  .date {
  }
}

@media (max-width: 1400px) {
  div#eventShopList .col-sm-3 {
    width: 33%;
  }
}

@media (max-width: 1100px) {
  div#eventShopList .col-sm-3 {
    width: 50%;
    margin-top: 20px;
  }
}

@media (max-width: 840px) {
  div#eventShopList .col-sm-3 {
    width: 100%;
    margin-top: 40px;
  }
}

@media (min-width: 0px) and (max-width: 991px) {
  #eventShopList{
    margin-top: 80px;
  }
  #eventShopList h1{
    margin-top: 0;
  }
}

@media (min-width: 992px) and (max-width: 1283px) {
  #eventShopList{
    margin-top: 150px;
  }
  #eventShopList h1{
    margin-top: 0;
  }
}
@media (min-width: 1100px) {
  
 
}
@media (min-width: 900px) {
   .shopFilters.container_wrapper {
    top: 40px;
  }
 
}
@media (min-width: 1100px) {
  .filters {
    padding: 25px 0 25px;
}
 .shopFilters.container_wrapper {
  top: 93px;
}
}
@media (min-width: 762px) and (max-width: 1199px) {
  .newBlankHeader {
      height: 0px;
  }
}
@media (min-width: 1300px) {
  #eventShopList {
    margin-top: 45px;
}
}
@media (max-width: 850px) {
  .newBlankHeader {
      height: 0px;
  }
  .shopFilters.container_wrapper {
   
    top: 45px;}
}