.table>tbody>tr>td, .table>tfoot>tr>td{
    vertical-align: middle;
}

.basket-table{
	margin-top: 20px;
}

.btn-trash {
    color: #fff;
    background-color: #FE2E2E;
    border-color: #ccc;
    font-weight:800;
}

.btn-trash:hover,
.btn-trash:focus{
    color: #fff;
    background-color: #FF0909;
    border-color: #ccc;
    font-weight:800;
}

.btn-follow {
	font-family: swiss-721-italic,Arial,Helvetica,sans-serif;
    color: #000;
    background-color: rgba(0,0,0,0.03);
    border-color: #ccc;
}

.btn-follow:hover,
.btn-follow:focus{
    color: #EF1111;
    background-color: rgba(0,0,0,0.03);
    border-color: #ccc;
}

.btn-discount {
	font-family: swiss-721-italic,Arial,Helvetica,sans-serif;
    color: #088A08;
    background-color: rgba(0,0,0,0.03);
    border-color: #ccc;    
}

.btn-discount:hover,
.btn-discount:focus{
    color: #20BB3D;
    background-color: rgba(0,0,0,0.03);
    border-color: #ccc;
}

.discount-group{
	width: 300px;
}

.minus-discount-percentage{
	color: #088A08;
}

.td-discount .cart-warning {
	margin-top:5px;
	margin-left: 5px;
}

.basket{
	border-style: solid;
	border-width: 1px 1px 1px;
	border-color: #ccc;
	margin-top: -1px;
}

/* Important to avoid basket table overflow in Firefox */ 
.img-small-basket{
	display: block;
    max-width: 100%;
    width: 100%;
    height: auto;
}

.basket-header{
	font-family: swiss-721-bold,Helvetica,Arial,sans-serif;
	text-align: center;
	margin-top: 10px;
	margin-bottom: 10px;
	padding-left: 10px;
	padding-right: 10px;
}

.basket-title{
	/*margin-top: 20px;*/
	background: #333;
	color: #fff;
}

.cart-warning{
	color: #EF1111;
}

.modify-warning{
	margin-top: 15px;
	text-align: center;
	font-weight: bold;
}

.modify-success{
	margin-top: 15px;
	text-align: center;
	font-weight: bold;
	
}

.no-tickets{
	color: #EF1111;
}

.available-tickets{
	color: green;
}

.buttons-td{
	padding-top: 20px;
	padding-bottom: 20px;
}

/* Buy steps
----------------- */
.stepwizard-step p {
    margin-top: 10px;    
}

.stepwizard-row {
    display: table-row;
}

.stepwizard {
    display: table;     
    width: 100%;
    position: relative;
    margin-top: 20px;
}

.stepwizard-step button[disabled] {
    opacity: 1 !important;
    filter: alpha(opacity=100) !important;
}

.stepwizard-row:before {
    top: 14px;
    bottom: 0;
    position: absolute;
    content: " ";
    width: 100%;
    height: 1px;
    background-color: #000;
    z-order: 0;
    
}

.stepwizard-step {    
    display: table-cell;
    text-align: center;
    position: relative;
}

.btn-circle {
  width: 30px;
  height: 30px;
  text-align: center;
  padding: 6px 0;
  font-size: 12px;
  line-height: 1.428571429;
  border-radius: 15px;
}

.btn-cart{
	border-color: #090000;
	outline: none;
	color: #fff;
	background-color: #36C650;
}

.btn-cart:hover,
.btn-cart:focus{
	color: #fff;
	background-color: #20BB3D;
	outline: none;
}

.btn-cart-blocked{
	border-color: #090000;
	background: url(../images/background_points.png) repeat;
	outline: none;
}

.btn-cart-active{
	color: #fff;
	border-color: #090000;
	background-color: #FE2E2E;
	outline: none;
}

.btn-cart-active:hover,
.btn-cart-active:focus{
	color: #fff;
	outline: none;
	background-color: #FF0909;
}

.challenge-header{	
	font-size: 2.2em;
    font-weight: bold;
    font-family: 'Oswald',sans-serif;
    padding-bottom: 10px;
    background-color: #333333;
    color: white;
    max-width: 640px;
    text-align: center;
    margin: 0 auto;
    padding-top: 12px;
}

.challenge-video{
	max-width: 640px;
}

.vertical-video-header{	
	font-size: 2.2em;
    font-weight: bold;
    font-family: 'Oswald',sans-serif;
    padding-bottom: 10px;
    background-color: #333333;
    color: white;
    max-width: 608px;
    text-align: center;
    margin: 0 auto;
    padding-top: 12px;
}

.vertical-video{
	height: 1080px;
	border:none;
}

.free-session{
	font-size:1.8em;
	background-color:#009746;
}

/* CSS for Credit Card Payment form */
.credit-card-box .panel-title {
    display: inline;
    font-weight: bold;
}
.credit-card-box .form-control.error {
    border-color: red;
    outline: 0;
    box-shadow: inset 0 1px 1px rgba(0,0,0,0.075),0 0 8px rgba(255,0,0,0.6);
}
.credit-card-box label.error {
  font-weight: bold;
  color: red;
  padding: 2px 8px;
  margin-top: 2px;
}
.credit-card-box .payment-errors {
  font-weight: bold;
  color: red;
  padding: 2px 8px;
  margin-top: 2px;
}
.credit-card-box label {
    display: block;
}
/* The old "center div vertically" hack */
.credit-card-box .display-table {
    display: table;
}
.credit-card-box .display-tr {
    display: table-row;
}
.credit-card-box .display-td {
    display: table-cell;
    vertical-align: middle;
    width: 100%;
}
/* Just looks nicer */
.credit-card-box .panel-heading img {
    min-width: 180px;
}

@media (max-width:2600px){
	.btn-discount{
		position: relative;
    	top: 0px;
    	left: 0px;
	}
}

@media (min-width:1280px){
	.car-form-control{
		width:90% !important;
	}
}
	

@media screen and (max-width: 600px) {
    table#cart tbody td .form-control{
		width:20%;
		display: inline !important;
	}
	.actions .btn{
		width:100%;
		/* margin:1.5em 0; */
	}
	
	.actions .btn-info{
		float:left;
	}
	.actions .btn-danger{
		/* float:right; */
		margin-top: -18px;
		margin-bottom: 5px;
	}	
	
	.btn-discount{
		position: relative;
    	top: -35px;
    	left: 265px;
	}
	
	table#cart thead { display: none; }
	table#cart tbody td { display: block; padding: .6rem; min-width:320px;}
	table#cart tbody td:before {
		content: attr(data-th); font-weight: bold;
		display: inline-block; width: 8rem;
	}
	
	
	
	table#cart tfoot td{display:block; }
	table#cart tfoot td .btn{display:block;}
	
	.car-form-control{
		width:100% !important;
	}
}

@media (max-width:765px){	
	
	
	.discount .help-block{
		margin-top:-25px;
	}
	
	.btn-discount{
		position: relative;
    	top: -35px;
    	left: 305px;
	}
	
	.form-inline.fv-form-bootstrap .form-group {
	    vertical-align: top;
	    height: 35px;
	}
	
	.challenge-header{
		max-width: 420px;
	}
	
	.challenge-video{
		max-width: 420px;
	}
	
	.vertical-video-header{
		max-width: 420px;
	}
	
	.vertical-video{
		width: 420px;
    	margin-top: -170px;
    	margin-bottom: -150px;
	}
	
}

@media (max-width:500px){
	
	.discount-group{
		width: 310px;
	}
	
	.discount .help-block{
		margin-top:-30px;
	}
		
	.btn-discount{
		position: relative;
    	top:20px;
    	left: 0px;
    	width: 310px;
	}
	
	.td-discount{
		height: 160px;
	}
	
	.td-discount .cart-warning {
		margin-top:-15px;
	}
	
	.challenge-header{
		min-width: 320px;
		max-width: 320px;
	}
	
	.challenge-video{
		max-width: 320px;
	}
	
	.vertical-video-header{
		min-width: 320px;
		max-width: 320px;
	}
	
	.vertical-video{
		width: 320px;
    	margin-top: -256px;
    	margin-bottom: -240px;
	}
	
	.free-session{
		font-size:1.4em;
	}
}