@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 400;
  src: local('Open Sans'), local('OpenSans'), url(/media/fonts/opensans/v6/cJZKeOuBrn4kERxqtaUH3T8E0i7KZn-EPnyo3HZu7kw.woff) format('woff');
}
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 600;
  src: local('Open Sans Semibold'), local('OpenSans-Semibold'), url(/media/fonts/opensans/v6/MTP_ySUJH_bn48VBG8sNSnhCUOGz7vYGh680lGh-uXM.woff) format('woff');
}
@font-face {contact
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 700;
  src: local('Open Sans Bold'), local('OpenSans-Bold'), url(/media/fonts/opensans/v6/k3k702ZOKiLJc3WVjuplzHhCUOGz7vYGh680lGh-uXM.woff) format('woff');
}
ol, ul {
  list-style: none;
}
a {
  text-decoration:none;
  color: #000;
}
h3 {
 text-shadow:none;
}
#booking_bookings {
  background:#FFF;
  margin-left:10px;
  margin-right:10px;
  padding:10px;
}
#booking_bookings h2 {
  font: normal 18px Verdana,Arial,Helvetica,sans-serif;
  font-weight:bold;
    color:#666;
  padding-left:5px;
}
.booking_total {
  font-size:14px;
}
.swMain ul li .selected{
  text-shadow:none;
}
#page_wrapper {
 width:980px;
 margin:auto;
}

.disabled {
  text-shadow:none;
}

#header_wrapper {
  margin:auto;
  margin-bottom:10px;
  padding-top:10px;
  padding-bottom:10px;
  width:980px;
}
#footer_wrapper {
margin-left:auto;
margin-right:auto;
margin-top:5px;
height:100px;
width:980px;
background:url(https://secure.activecarrot.com/media/dynamic/static_images/804/19_Manning_Logo.png) no-repeat right ;
padding-top:10px;
padding-bottom:10px;

}
#footer div {
padding-top:75px;
padding-left:15px;
}

.alpha60 {
  background: #FFF;
  background: ;
  filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#00000000, endColorstr=#00000000);
  -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr=#00000000, endColorstr=#00000000)";
}

.swMain {
  position:relative;
  display:block;
  margin:0;
  padding:0;
  border: 0px solid #CCC;
  overflow:visible;
  float:left;
  width:980px;
}
.swMain .stepContainer {
  display:block;
  position: relative;
  margin: 0 0 40px 0;
  padding:0;
  border: 0px solid #CCC;
  overflow:visible;
  clear:right;
  width:730px;
  height: auto !important;
  float:right;
}

.error{ color: red; }

.swMain .stepContainer div.content {
  display:block;
  position: relative;
  float:left;
  margin: 0;
  padding:0;
  border: none;
  font: normal 12px Verdana, Arial, Helvetica, sans-serif;
  color:#353535;
  background-color:#f3f3f3;
  min-height:300px;
  text-align:left;
  overflow:auto;
  z-index:88;
  -webkit-border-radius: 0;
  -moz-border-radius  : 0;
  border-radius: 0;
  width:730px;
  clear:both;
}

.swMain div.actionBar {
  display:block;
  position: relative;
  clear:right;
  float: right;
  margin:0 0 40px 0;
  border:none;
  padding:            0;
  color:              #AFAEAE;
  background-color:   transparent;
  height:auto;
  width: 74.5%; /* 730px */
  text-align:left;
  overflow:auto;
  z-index:88;
  border-radius:0;
}

.swMain .stepContainer .StepTitle {
  display:block;
  position: relative;
  margin:0 0 30px 0;
  border:none;
  padding:20px 30px;
  font: 600 20px 'Open Sans', Verdana, Arial, Helvetica, sans-serif;
  color:#000000;
  background-color:#E0E0E0;
  clear:both;
  text-align:left;
  z-index:88;
  border-radius: 0;
  border-top-right-radius: 5px;
  border-top-left-radius: 5px;
  text-shadow:none;
}
.swMain ul.anchor {
  width:230px;
  position: relative;
  display:block;
  float:left;
  list-style: none;
  padding: 0px;
  margin: 0;
  border: 0px solid #CCCCCC;
  background: transparent; /*#EEEEEE */
}
.swMain ul.anchor li{
  margin: 0 0 10px 0;
  padding: 0;
  border: none;
  width: 100%;
  box-sizing: border-box;
}
.swMain ul.anchor li:first-child {
  padding-top: 0;
}
/* Anchor Element Style */
.swMain ul.anchor li a {
  height: initial;
  min-height: 90px;
  padding: 15px 5px 12px 22px;
  width: 100%;
  box-sizing: border-box;
}
.swMain ul.anchor li a .stepNumber{
  text-align: center;
  padding: 0 24px 0 0;
  font: bold 50px 'Open Sans', Verdana, Arial, Helvetica, sans-serif;
  line-height: 50px;
}
.swMain ul.anchor li a .stepDesc{
  width:63%;
  padding: 0;
  font: bold 20px 'Open Sans', Verdana, Arial, Helvetica, sans-serif;
}
.swMain ul.anchor li a .stepDesc small{
  font: 500 16px 'Open Sans', Verdana, Arial, Helvetica, sans-serif;
  line-height: 18px;
  padding-top: 4px;
  display: inline-block;
}
.swMain ul.anchor li a.selected,
.swMain ul.anchor li a.selected:hover,
.swMain ul.anchor li a.error.selected,
.swMain ul.anchor li a.error.selected:hover
{
  color: #F8F8F8 !important;
  background: #f02020 !important;
  border: none !important;
  cursor:text;
  -moz-box-shadow: none;
  -webkit-box-shadow: none;
  box-shadow: none;
}
.swMain ul.anchor li a.done,
.swMain ul.anchor li a.done:hover,
.swMain ul.anchor li a.disabled,
.swMain ul.anchor li a.disabled:hover,
.swMain ul.anchor li a.error,
.swMain ul.anchor li a.error:hover
{
  color: #353535;
  background: #e2e2e2;
  border: none;
}
.swMain ul.anchor li a.error:not(.selected) {
  color: #353535 !important;
  background: #e2e2e2 !important;
  border: none !important;
}
.swMain .buttonNext {
  width: auto;
  box-sizing:border-box;
  margin: 0 0 0 20px;
  padding: 10px 30px;
  background-color: #f02020;
  border: none;
}
.swMain .buttonDisabled {
  color:#F8F8F8  !important;
  background-color: #CCCCCC !important;
  cursor:text;
  border:none !important;
}
.swMain .buttonCancel {
  width: auto;
  box-sizing:border-box;
  margin: 0;
  padding: 10px 30px;
  background-color: #353535;
  border: none;
}
.swMain .buttonPrevious {
  width: auto;
  box-sizing:border-box;
  margin: 0 0 0 20px;
  padding: 10px 30px;
  background-color: #AFAEAE;
  border: none;
}
.swMain .buttonFinish {
  width: auto;
  box-sizing:border-box;
  margin: 0 0 0 20px;
  padding: 10px 30px;
  background-color: #f02020;
  border: none;
}

/* Form Styles */

.txtBox {
  border:1px solid #CCCCCC;
  color:#000;
  font:13px Verdana,Arial,Helvetica,sans-serif;
  padding:2px;
  width:400px;
}
.txtBox:focus {
  border:1px solid #FC0509;
}

.swMain .loader {
  margin: 0 auto 20px auto;
  float: left;
  width: 100%;
  box-sizing: border-box;
  padding: 10px 50px;
  border: none;
}
.swMain .msgBox {
  width: 100%;
  box-sizing: border-box;
  margin: 10px 0;
  padding: 7px 15px;
  background-color: #f78b00;
  color: #ffffff;
  border: none;  
  font-size:14px;
}
.swMain .msgBox .content {
  font-size: 14px;
  padding: 0px;
  float:left;
}
.swMain .msgBox .close {
  border: 1px solid #ffffff;
  border-radius: 3px;
  color: #ffffff;
  display: block;
  float: right;
  margin: 0 0 0 5px;
  outline-style: none;
  padding: 0 2px 0 2px;
  position: relative;
  text-align: center;
  text-decoration: none;
}
.swMain .msgBox .close:hover{
  color: #FC0509;
  border: 1px solid #FC0509;
}
.public_contact_us {
  background:#fff;
  margin-left:10px;
  margin-right:10px;
  padding-left:5px;
  padding-right:5px;
  padding-bottom:5px;
  padding-top:1px;
}

.step_table h3,
#credit_card_details h3,
#direct_debit_details h3{
  color:#353535;
  line-height:initial;
  font-size:16px;
  text-shadow: none;
  font-weight:bold;
}
/*#credit_card_details label, #credit_card_details #total, #credit_card_details p {
 font-size:12px;  color:#333; text-align:left;
}
#credit_card_details table,#credit_card_details thead, #credit_card_details tr, #credit_card_details td {
  border:none;
}
 #credit_card_details table tr:nth-child(odd) {
 background: rgba(41, 171, 226, 0.2);
}
 #credit_card_details table tr:nth-child(even) {
 background: rgba(255, 255, 255, 0.2);
}
.payment_input {
  width:175px !important;
}*/
.footer_contact {
 display: none;
  background: #FFF;
    margin-left: auto;
    margin-right: auto;
    margin-top: 5px;
    margin-bottom: 5px;
    padding: 5px;
    width: 980px;
      color: #000;
    font: 11px Verdana,Arial,Helvetica,sans-serif;
  }

.faqs
{
  margin-left:10px;
}
.faqs h2
{
font-size:16px;
font-weight:bold;

}
.question_detail {
  padding:10px;
  margin:10px;
}

.rounded_button ul {
  margin-left:auto;
  margin-right:auto;
}
.rounded_button .selected {
background:#000;
}
.rounded_button ul li {
  margin-bottom: 7px;
}
.rounded_button ul li a {
  background-attachment: scroll;
  background-clip: border-box;
  background-color: #FC060A;
  background-image: none;
  background-origin: padding-box;
  background-position: 0 0;
  background-repeat: repeat;
  background-size: auto auto;
  -moz-text-blink: none;
  -moz-text-decoration-color: -moz-use-text-color;
  -moz-text-decoration-line: none;
  -moz-text-decoration-style: solid;
  border-bottom-left-radius: 25px;
  border-bottom-right-radius: 25px;
  border-top-left-radius: 25px;
  border-top-right-radius: 25px;
  color: #FFFFFF;
  display: block;
  font-size: 10px;
  height: 17px;
  line-height: 17px;
  text-align: center;
  width: 100%;
  max-width:150px;
  min-width:120px;
  margin-top:5px;
}
.rounded_button ul li a:hover {
  color:#000;
}
.inline_uls ul li {
  float:left;
  margin-right:5px;
}
.tight_uls ul li a {
  min-width:70px;
}

.book {
  max-width: 100px;
  display:block;
  width:80px;
  background: #F70307; /* Old browsers */
  /* IE9 SVG, needs conditional override of 'filter' to 'none' */
background: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDEgMSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+CiAgPGxpbmVhckdyYWRpZW50IGlkPSJncmFkLXVjZ2ctZ2VuZXJhdGVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAlIiB5MT0iMCUiIHgyPSIwJSIgeTI9IjEwMCUiPgogICAgPHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iIzdmY2E0ZiIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgICA8c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiNhNGViNzYiIHN0b3Atb3BhY2l0eT0iMSIvPgogICAgPHN0b3Agb2Zmc2V0PSIxMDAlIiBzdG9wLWNvbG9yPSIjYTRlYjc2IiBzdG9wLW9wYWNpdHk9IjEiLz4KICA8L2xpbmVhckdyYWRpZW50PgogIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIGZpbGw9InVybCgjZ3JhZC11Y2dnLWdlbmVyYXRlZCkiIC8+Cjwvc3ZnPg==);
  background: -moz-linear-gradient(top, #F70307 0%, #F5A3A4 100%, #F5A3A4 100%); /* FF3.6+ */
  background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #F70307), color-stop(100%, #F5A3A4 ), color-stop(100%, #F5A3A4 )); /* Chrome,Safari4+ */
  background: -webkit-linear-gradient(top, #F70307 0%, #F5A3A4 100%, #F5A3A4 100%); /* Chrome10+,Safari5.1+ */
  background: -o-linear-gradient(top, #F70307 0%, #F5A3A4 100%, #F5A3A4 100%); /* Opera 11.10+ */
  background: -ms-linear-gradient(top, #F70307 0%, #F5A3A4 100%, #F5A3A4 100%); /* IE10+ */
  background: linear-gradient(to bottom, #F70307 0%, #F5A3A4 100%, #F5A3A4 100%); /* W3C */
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#F70307', endColorstr='#F5A3A4 ', GradientType=0 ); /* IE6-8 */
  height:24px;
  line-height:24px;
  text-align:center;
  margin-left:auto;
  margin-right:auto;
  border:solid 1px #F70307;
  margin-top:3px;
  margin-bottom:3px;
  border-radius:5px;
  color:#626262;
}
.book:hover {
  background-image: linear-gradient(to bottom, #F5A3A4 0%, #F70307 100%);
}

.public_facility_bookings {
background:#fff;
margin:10px;
padding:10px;
}
.public_facility_bookings .navigation ul, {
  margin-left:auto;
  margin-right:auto;

}
.public_facility_bookings .navigation .selected {
background:#299299;
}
.public_facility_bookings .navigation ul li {
  margin-bottom: 7px;
}
.public_facility_bookings .navigation ul li a {
  background-attachment: scroll;
  background-clip: border-box;
  background-color: #2F9060A ;
  background-image: none;
  background-origin: padding-box;
  background-position: 0 0;
  background-repeat: repeat;
  background-size: auto auto;
  -moz-text-blink: none;
  -moz-text-decoration-color: -moz-use-text-color;

  -moz-text-decoration-line: none;
  -moz-text-decoration-style: solid;
  border-bottom-left-radius: 25px;
  border-bottom-right-radius: 25px;
  border-top-left-radius: 25px;
  border-top-right-radius: 25px;
  color: #FFFFFF;
  display: block;
  font-size: 10px;
  height: 17px;
  line-height: 17px;
  text-align: center;
  width: auto;
  max-width:220px;
  min-width:120px;
  margin-top:5px;
  padding-left:5px;
  padding-right:5px;
    float:left;
}
.public_facility_bookings .navigation ul li a:hover {
  color:#FF0;
}
.public_facility_bookings .navigation ul li {
  float:left;
  margin-right:5px;
}
.public_facility_bookings .navigation ul li a {
  min-width:70px;
}

.navigation, .bookings_loading{
clear:both;
}
.contract {
  cursor:pointer;
}
.contract:hover {
  background:#eee;
}
.public_table_heading td {
  background: #F9060A !important;
  text-align: left !important;
  padding-left: 30px !important;
  color: #fff !important;
  font-weight: bold !important;
}
.public_table_data td {
  padding-left: 10px !important;
  height:none !important;
  text-align:left !important;
}
input[type='number'] {
    -moz-appearance:textfield;
}

input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {
    -webkit-appearance: none;
}
.hidden{display:none;}
.show{display: block;}

.success, .fail, .information, .attention {
  margin-top: 15px;
  margin-bottom: 15px;
  margin-left: 30px;
  margin-right: 30px;
  background-repeat: no-repeat;
  background-position: 10px center;
  padding: 10px 10px 10px 40px;
  height: 20px;
  font-weight: normal;
  text-transform: uppercase;
  font-size: .7em;
  line-height: 20px;
}
.fail {
  background-color: #FFE1E1;
  border: 1px solid #FF9595;
  color: #CC3300;
  background-image: url(../images/notifications/cancel.png);
}
.booking_terms {
  width:98%;
  padding:5px;
  background: rgba(41, 171, 226, 0.2);
  height:100px;
  overflow:auto;
  border:solid 2px #ccc;
}


/* class web */
#cw-filter-bar { text-align: left; float: left; width: 150px; }
#cw-content { text-align: left; float:right; width: 660px; padding: 20px;background-color: #ffffff; }
#cw-content-head { text-align: left; float:right; width: 660px; padding: 0 20px 20px 20px;background-color: #ffffff; }
.cw-block-heading { width: 100%; border-bottom: solid #c0c0c0 1px; padding-bottom: 4px; margin-bottom: 4px; }
.cw-block-heading div { float:right; }
.cw-block-content { float:left; padding-right: 20px; padding-bottom: 20px; }
.cw-block-content table { width: 650px; }
.cw-block-content th {font-weight:bold; background: #cccccc;}
.cw-block-content tr:nth-child(odd) {background: #eeeeee;}
.cw_th_day {width:60px;}
.cw_th_time {width:150px;}
.cw_th_level {width:150px;}
.cw_th_vacancies {width:50px;}
.cw_th_age {width:70px;}
.cw_th_payment {width:50px;}

.cw_td_day {width:60px;}
.cw_td_time {width:170px;}
.cw_td_level {width:150px;}
.cw_td_vacancies {width:50px;}
.cw_td_age {width:70px;}
.cw_td_payment {width:50px;}
.cw_tr_results td {padding:5px;}

.cw-block-book { float:left; }
#cw_pagination_container{ clear:both; border: solid 1px #c0c0c0; background: #eeeeee; width: 100%; }
#cw_pagination_container:hover{ border: solid 1px #bbbbbb; background: #dddddd; }
#cw_pagination{ display: block; text-align: center; padding: 20px; }
#cw_levels_legend {width: 140px;}
/*#cw_levels_legend div {white-space: nowrap;}*/
#cw_levels_legend div label {margin-left:15px;display:block; float:left; width:180px;}
#cw_levels_legend input {position:absolute;margin-left:-15px;}
#cw_cart_notification { position:absolute; display:block; background: #ffffff; border: 1px solid #c0c0c0; padding-top: 20px; width: 240px; height: 40px; right: 0px; top: 23px; }
#slider-range, #time_range {max-width: 130px;}
#cw_descriptions { text-align: left; float:left; width: 820px; padding: 20px;background-color: #ffffff; }
#cw_descriptions img {max-width: 750px;}
.class_description p {     -ms-word-break: break-all;
    word-break: break-all;

    /* Non standard for webkit */
    word-break: break-word;

    -webkit-hyphens: auto;
    -moz-hyphens: auto;
    -ms-hyphens: auto;
    hyphens: auto; }
#cw_descriptions .class_description {width:780px;}
#cw_descriptions .book {width:160px; max-width: 180px}
.class_booking_button {margin-left:0; width:160px;}
.class_show_all_button {margin-right:0; margin-left:auto; width:160px;}
.class_show_all_button .book {width:160px; max-width: 180px}
.class_description h3 { font-size:14px; font-weight: bold; padding-bottom: 10px; }
.cw-block-book .book {float:left; max-width: 180px;width: 180px;}

fieldset { border: 0; }

#footer_wrapper {clear:both;}

.cw_class_description { width:450px; background: #fff; border:solid 1px #ccc; z-index:1000; min-height:50px; padding:5px; box-shadow: 10px 10px 5px #888888; }
.cw_class_description_info { width:450px; background: #fff; border:solid 1px #ccc; z-index:1000; min-height:50px; padding:5px; box-shadow: 10px 10px 5px #888888; }
.cw_close_description { float:right; padding:5px; }
.cw_class_title { background:#d9d9d9;line-height: 1.5em; margin: -4px; padding: 6px; }

/**** Butterfly - DB ****/
/*** Steps - new table layout ***/
.step_table{
  border-collapse: collapse;
  margin: 0 4%; /* 0 30px */
  width: 92%; /* 670px */
}

/*** form elements ***/
select.txtBox,
select.contact_select {
  height: 43px;
  width: auto;
  font-size: 16px;
  padding: 0 60px 0 20px;
  padding: 0px\9;
  margin-right: 10px;
  border: none;
  color: #353535;
  background-color: #e2e2e2;
  display: inline-block;
  position: relative;
  border-radius: 5px;
background-color:#e2e2e2;
background-image:url(https://secure.activecarrot.com/media/dynamic/static_images/702/dropdown-arrow.gif);
background-repeat:no-repeat;
background-position:right center;
  /*background: #e2e2e2 url(https://secure.activecarrot.com/media/dynamic/static_images/702/dropdown-arrow.gif) no-repeat right center;*/
  background:#e2e2e2\9;
  -webkit-appearance: none;  /*Removes default chrome and safari style*/
  -moz-appearance: none; /* Removes Default Firefox style*/
  appearance:none;
 -ms-appearance: none;
  -o-appearance: none;
  text-indent: 0.01px; /* Removes default arrow from firefox*/
  text-overflow: "";  /*Removes default arrow from firefox*/ /*My custom style for fonts*/
}
@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {
/* IE10+ CSS styles go here */
select.contact_select,select.txtBox {
   background: #e2e2e2 url(https://secure.activecarrot.com/media/dynamic/static_images/702/dropdown-arrow.gif) no-repeat right center;
padding: 0 60px 0 20px;
}
}
select.txtBox::-ms-expand,
select.contact_select::-ms-expand{
  display: none;
}

/*** specific steps ***/
/** step 1 **/
#step-1 .step_table tr.contract_grouping td {
  background-color: #f02020;
  padding: 10px 20px !important;
  color: #ffffff;
  font: 600 16px 'Open Sans', Verdana, Arial, Helvetica, sans-serif;
  border-radius: 5px;
}
#step-1 .step_table td {
  padding: 30px 10px;
  border-bottom: 1px solid #cccccc;
}
#step-1 .step_table tr:nth-last-child(-n+2) td,
#step-1 .step_table .contract_grouping td {
  border-bottom: none;
}
#step-1 .step_table .contract_row td:first-of-type,
#step-1 .step_table .visit_pass_row td:first-of-type {
  text-align: left;
  padding-left: 0 !important;
  width: 20px;
}
#step-1 .step_table .contract_row td:last-of-type,
#step-1 .step_table .visit_pass_row td:last-of-type {
  padding-right: 0 !important;
  text-align: right;
}
#step-1 .step_table tbody > tr { /* hide separator rows */
    display: none;
}
#step-1 .step_table .contract_grouping, /* display all non-separator rows - exhaustive list */
#step-1 .step_table .contract_row,
#step-1 .step_table .visit_pass_row {
    display: table-row;
}
#step-1 table tr td strong { /* if similar markup move to generic */
  font-size: 16px;
  padding-bottom: 5px;
  display: inline-block;
}
#step-1 .step_table + .StepTitle:last-of-type{
  width: 92%;
  margin: 0 4%;
  box-sizing: border-box;
  padding: 10px 20px !important;
  font-size: 16px;
  border-radius: 5px;
  background-color: #000000;
  color: #ffffff;
}
/** step 1 - final 'success' screen after step 4 **/
.congratulations {
  width: 92%;
  margin: 20px 4%;
  box-sizing: border-box;
  padding: 10px 20px !important;
  overflow: hidden;
}
.congratulations ul {
  padding: 0;
}
.congratulations ul span {
  font-weight:bold;
  margin-right:10px;
}

/** step 2 - contact details form **/
#step-2 table{
  border-collapse: collapse;
  margin: 0 4% 0 5%;
  width: 91% !important;
  font-size: 16px;
}
#step-2 table tr {
  display: block;
  width: 100%;
  float: left;
  clear: left;
  margin-bottom: 10px;
  position: relative;
}
#step-2 #contact_details_form table tr:first-child { /* hide blank separator row */
  display: none;
}
#step-2 table tr td {
  display: inline-block;
  float: left;
  padding: 0;
}
#step-2 table tr td:first-child{ /* label column */
  width: 25% !important;
  text-align: left;
  padding-top: 12px;
}
#step-2 table tr td:nth-child(2){ /* input column */
  width:75%;
}
#step-2 table tr td:nth-child(2) input {
  min-height: 44px;
  width: 100%;
  box-sizing: border-box;
  border: none;
  border-radius: 5px;
  font-size: 16px;
  color: #353535;
  padding: 0 15px;
}
#step-2 table tr td:nth-child(2) em:nth-of-type(1){ /*required star */
  position: absolute;
  left: -15px;
  top: 14px;
  color: #f02020;
}
#step-2 table tr td:nth-child(2) em + em { /* extra field instruction */
  width: 74%;
  clear: both;
  float: right;
  display: inline-block;
  font-size: 12px;
  margin-top: 10px;
}
#step-2 table tr td:nth-child(3){ /* validation msg column */
  width: 73%;
  clear: left;
  float: right;
}
#step-2 table .error {
  font-size: 14px;
  padding-top: 10px;
  display: inline-block;
  color: #f78b00;
}

/** step 3 - terms and conditions **/
#step-3.content{
  padding-bottom:40px;
}
#step-3 h3{
  width: 92%;
  margin: 0 4%;
  box-sizing: border-box;
  background-color: #f02020;
  padding: 10px 20px;
  color: #ffffff;
  font: 600 16px 'Open Sans', Verdana, Arial, Helvetica, sans-serif;
  border-radius: 5px;
}
#step-3 > h3 + div{ /* t&cs content blocks */
  width: 92%;
  margin: 20px 4% 40px 4% !important;
  box-sizing: border-box;
  padding: 25px 20px 0 20px !important;
  color: #353535;
  font-size: 16px;
  border-radius: 5px;
  border: none !important;
}
#step-3 .step_table{
  font-size:16px;
}
#step-3 .step_table ul{
  margin-top:0;
  margin-bottom:20px;
}
#step-3 .step_table li{
  margin-bottom:10px;
}
#step-3 .step_table tr:last-child td:first-child {
    text-align: left;
}

/** step 4 - payment details confirmation **/
#membership_details {
  width:100%;
  clear:both;
}
#membership_details ul,
#direct_debit_details,
#credit_card_details,
#payment_type .step_table
 {
  margin: 0 4%;
  width: 92% !important;
  border: none;
  font-size: 16px;
}
#membership_details ul li span{
  width: 47%;
  font-size: 16px;
  margin-left: 3%;
  margin-bottom: 10px;
  line-height: 1.3em;
}
#membership_details ul li span:first-child {
  margin-left: 3%;
  font-weight:600;
  font-family:'Open Sans', Verdana, Arial, Helvetica, sans-serif;
}
#membership_details ul li span:nth-of-type(2) {
  margin-left: 3%;
}
#membership_details ul li{
  width:100%;
  display:block;
  margin: 0 0 10px 0;
  padding: 0;
  border: none;
}
#membership_details ul li:nth-child(7) {
   font-size:initial;
}
#membership_details ul li:nth-child(7) span {
   font-size:initial;
}
#membership_details ul li:first-child {
  width:100%;
  text-shadow: none;
  margin-bottom:20px;
  font: 600 20px 'Open Sans', Verdana, Arial, Helvetica, sans-serif;
}
#membership_details ul li h3{
  background-color: #f02020;
  padding: 10px 20px !important;
  color: #ffffff;
  font: 600 18px 'Open Sans', Verdana, Arial, Helvetica, sans-serif;
  border-radius: 5px;
}
#membership_details .prorata_label {

  width: 96% !important;

  margin-left: 3%;
  margin-top: 10px;
  font-size: 16px;
}
/** Step 4 -  Bottom section - payment method and direct debit form **/
#payment_type .step_table {
  width: 92% !important;
}
#payment_type .step_table h3{
  text-shadow: none;
  background-color: #f02020;
  padding: 10px 20px !important;
  color: #ffffff;
  font: 600 18px 'Open Sans', Verdana, Arial, Helvetica, sans-serif;
  border-radius: 5px;
}
#payment_type label{
  margin-bottom: 10px;
  display: inline-block;
}
#direct_debit_details tr,
#credit_card_details tr,
#payment_type tr {
  display: block;
  width: 100%;
  float: left;
  clear: left;
  margin-bottom: 10px;
  position: relative;
  box-sizing:border-box;
  padding-left:3%;
  padding-right:3%;
}
#direct_debit_details tr:first-child,
#credit_card_details tr:first-child,
#payment_type tr:first-child{
    padding-left: 0;
    padding-right: 0;
}
#direct_debit_details tr td,
#credit_card_details tr td,
#payment_type tr td{
  display: inline-block;
  float: left;
  padding: 0;
}
#direct_debit_details tr td:first-child,
#credit_card_details tr td:first-child,
#payment_type tr:nth-of-type(2) td:first-child
{ /* label column */
  width: 25% !important;
  text-align: left;
  padding-top: 12px;
}
#direct_debit_details tr td:nth-child(2),
#credit_card_details tr td:nth-child(2),
#payment_type tr td:nth-child(2){ /* input column */
  width:75%;
}
#direct_debit_details tr td:nth-child(2) input,
#credit_card_details tr td:nth-child(2) input,
#payment_type #direct_debit_details tr td:nth-child(2) input {
  min-height: 44px;
  width: 100%;
  box-sizing: border-box;
  border: none;
  border-radius: 5px;
  font-size: 16px;
  color: #353535;
  padding: 0 15px;
}
#direct_debit_details tr:first-child td,
#credit_card_details tr:first-child td{ /* direct debit heading column, full width */
  width:100% !important;
}
#direct_debit_details tr:first-child td:last-child,
#credit_card_details tr:first-child td:last-child{
  margin-bottom:20px;
}
#credit_card_details table {
  width:100%;
}
#credit_card_details table tr:nth-child(odd),
#credit_card_details table tr:nth-child(even) {
  background: transparent;
}
#credit_card_details input[type=text], #credit_card_details input[type=tel] {
    width: 100% !important;
}
#credit_card_details tr td p {
  margin: 0;
  padding: 0;
}
#credit_card_details label, #credit_card_details #total, #credit_card_details p {
  font-size: initial;
  color: #353535;
  text-align: left;
}
#credit_card_details tr:last-of-type td:first-child {
    padding-top: 0;
}
#credit_card_details-4 #msg_cc_failed {
    display: none !important;
}
#payment_type tr:nth-of-type(2) {
    margin-bottom: 0;
}
#payment_type tr:first-child td { /* payment type h3 column, full width */
  display: block;
  float: none;
}
#step-4 table .error {
  font-size: 14px;
  padding-top: 10px;
  display: inline-block;
  color: #f78b00;
}
#step-4 table tr td:nth-child(3) { /* validation msg */
    width: 73%;
    clear: left;
    float: right;
}

/*** Responsive ***/
@media only screen and (max-width:1024px) {
  body{
    margin: 0;
  }
  #content{
    /*margin:0 10px;*/
    margin:0;
  }
  #page_wrapper, .swMain, #header_wrapper, #wizard, body, #footer_wrapper, .footer_contact {
    width:100%;
    box-sizing:border-box;
  }
  table {
    width:100%;
  }
  .swMain ul.anchor{
    width:23.5%;
  }
  .swMain ul.anchor li a .stepDesc {
    width: 100%;
  }
  .swMain .stepContainer {
    box-sizing:border-box;
    width:74.5%;
    height: auto !important; /* overrides inline height */
  }
  .swMain .stepContainer div.content {
    width:100%!important;
    box-sizing:border-box;
  }
  .swMain .stepContainer .StepTitle{
    padding: 15px 4%;
    font-size: 18px;
    margin-bottom: 20px;
  }
  /** step 1 - final 'success' screen after step 4 **/
  .congratulations {
    width: 100%;
    margin: 20px 0;
  }
  /** Step 2 **/
  #step-2 #contact_details_form table tr:first-child {
    display: none !important;
  }
  #step-2 table tr{
    margin-bottom: 10px;
    padding-left: 3%;
    padding-right: 3%;
    box-sizing: border-box;
  }
  #step-2 table tr,
  #step-2 table tr td {
    width: 100% !important;
    display: block!important;
    text-align: left;
  }
  #step-2 table tr td:first-child {
    margin-bottom: 10px;
    padding-top:0;
    width: 100% !important;
  }
  #step-2 table tr td:nth-child(2) em:nth-of-type(1){
    top:3px;
  }
  #step-2 table tr td:nth-child(2) em + em { /* */
    float:left;
  }
  /** Step 4 **/
  #step-4 table tr{
    margin-bottom:10px;
  }
  #step-4 table tr:first-child{
    margin-bottom:0;
  }
  #step-4 table tr,
  #step-4 table tr td {
    width: 100% !important;
    display: block!important;
    text-align: left;
  }
  #step-4 table tr td:first-child {
    margin-bottom: 10px;
    padding-top:0;
    width: 100% !important;
    font-weight:bold;
  }
  #payment_type tr:nth-of-type(2) td:first-child {
    width: 100% !important;
  }
}
@media only screen and (max-width:660px) {
 .swMain {
  width:100%;
 }
 .swMain div.anchor,
 .swMain div.stepContainer,
 .swMain div.actionBar {
  width:100%;
  clear:both;
  margin:0!important;
 }
 .swMain ul.anchor,
 .swMain ul.anchor li,
 .swMain ul.anchor li a {
  width:100%!important;
  box-sizing: border-box;
 }
 .swMain ul.anchor li{
  margin-bottom:2px;
 }
 .swMain ul.anchor li a{
  min-height: 60px;
  border-radius: 0;
  padding-top: 10px;
 }
 .swMain ul.anchor li a .stepDesc {
    width: 70%;
  }
  .swMain .stepContainer .StepTitle{
    font-size: 15px;
    margin-top: 10px;
  }
 .swMain div.actionBar {
  height:100%;
 }
 #step-1 .step-table td {
  padding:0!important;
 }
 #step-1 .step_table td:last-child {
  width:75px;
 }
 .swMain div.actionBar{
  width:100%;
  box-sizing: border-box;
 }
 .swMain div.actionBar > a,
 .swMain div.actionBar .loader,
 .swMain div.actionBar .msgBox {
  margin:0;
  float: none;
  clear: both;
  width: 100%;
  box-sizing: border-box;
  border-radius: 0;
  padding-top: 15px;
  padding-bottom: 15px;
 }
 .swMain div.actionBar .msgBox .content {
  float:none;
  display:inline-block;
 }
 .swMain div.actionBar .msgBox a {
  float:none;
  display:inline-block;
 }
  #step-2 table tr td:nth-child(2) select + input[type="text"] {
    margin-top: 15px;
  }
 .txtBox {
  width: 100%!important;
 }
 #dob_day.txtBox,
 #dob_month.txtBox,
 #dob_year.txtBox {
  width:auto!important;
  clear: both;
  float: left;
  margin-bottom: 10px;
 }
 #step-3 td {
  text-align:left!important;
 } 
 #step-3 ul {
  padding:0;
 }
 #direct_debit_details td,
 #credit_card_details td  {
  display: block !important;
  text-align: left !important;
 }
 #payment_type {
  width:100% !important;
 }

 #payment_type .step_table tr:last-child td:first-child {
  width:100px!important;
  padding-right:10px;
 }
 #name_on_card, #credit_card_number, #cc_name_on_card, #cc_credit_card_number, #cc_cvv{
  width:100%!important;
  height:auto!important;
 }

 #cc_expiry_month,
 #cc_expiry_year {
  width:auto!important;
 }
}
/****************************Membership FIX CSS****************************/
/*#step-1 .step_table tbody > tr:first-child,*/
#step-2 .step_table tbody > tr:first-child
 {
    display: table-row;
}
#step-1 .step_table:nth-child(4), 
#step-2 .step_table:nth-child(4) 
{
    margin-top: -76px;
}
#step-2 #contact_details_form table tr:first-child {
    display: table-row;
}
#step-2 input#start_date {
    width: 130px!important;
}
#step-2 .StepTitle {
    margin-bottom: 0px;
}
.swMain .stepContainer .StepTitle:first-child {
    margin-bottom: 30px !important;
}
#step-1 .StepTitle {
    margin-bottom: 0px !important;
}
@supports (-webkit-appearance:none) {}
/*************************End Membership FIX CSS****************************/