body {
    text-align: center;
    font-family: 'Open Sans', sans-serif;
}

.ttcalend {
    width: 21px;
}

#calendar {
    font-size: 12px;
    text-align: center;
    display: inline-block;
}

#calendar th {
    background-color: #000000;
    color: #FFFFFF;
    text-align: center
}

#calendar #week {
    color: #000000;
    height: 45px
}

#calendar #week a {
    font-size: 34px;
    text-decoration: none;
    color: #000000;
    padding: 0 14px 0 14px
}

#calendar #center_date {
    font-size: 22px;
    color: #595858;
    margin: 0 auto;
    text-align: center;
    font-weight: bold
}

.green {
    display: block;
    text-decoration: none;
    color: #FFFFFF;
    margin: 0;
    padding: 0px 1px 1px 0;
    width: 63px;
    height: 49px;
    background: url("images/block_free.gif") no-repeat;
    text-align: center;
    line-height: 49px
}

.unavailable {
    text-decoration: none;
    color: #FFFFFF;
    margin: 0;
    padding: 0px 1px 1px 0;
    width: 63px;
    height: 49px;
    background: url("images/block_past.gif") no-repeat;
    text-align: center;
    line-height: 49px;
    transition: 200ms all;
}

.closed {
    text-decoration: none;
    color: #FFFFFF;
    margin: 0;
    padding: 0px 1px 1px 0;
    width: 63px;
    height: 49px;
    background: url("images/block_closed.gif") no-repeat;
    text-align: center;
    line-height: 49px;
    transition: 200ms all;
}

.part_booked {
    display: block;
    text-decoration: none;
    color: #FFFFFF;
    margin: 0;
    padding: 0px 1px 1px 0;
    width: 63px;
    height: 49px;
    background: url("images/block_free.gif") no-repeat;
    text-align: center;
    line-height: 49px;
    transition: 200ms all;
}

.fully_booked {
    display: block;
    text-decoration: none;
    color: #FFFFFF;
    margin: 0;
    padding: 0px 1px 1px 0;
    width: 63px;
    height: 49px;
    background: url("images/block_fully_booked.gif") no-repeat;
    text-align: center;
    line-height: 49px;
    transition: 200ms all;
}

.past {
    font-size: 15px;
    text-decoration: none;
    color: #FFFFFF;
    margin: 0;
    padding: 0px 1px 1px 0;
    width: 63px;
    height: 49px;
    background: url("images/block_past.gif") no-repeat;
    text-align: center;
    line-height: 49px;
    transition: 200ms all;
}

.green span {
    display: none
}

.green span a:hover {
    display: block;
    position: absolute;
    width: 25px;
    padding: 5px;
    margin: 10px;
    z-index: 100;
    color: #AAA;
    background: black;
    font: 10px Verdana, sans-serif;
    text-align: center;
}

#lhs {
    display: inline-block;
    width: 450px;
    vertical-align: top;
}


/* Holds both the calendar and the basket */

#outer_calendar {
    padding: 15px;
    padding-top: 10px;
    width: 450px;
    background-color: #EEEEEE;
    display: inline-block;
    vertical-align: top;
}

#outer_booking {
    padding: 15px;
    padding-top: 18px;
    margin-left: 20px;
    width: 315px;
    background-color: #EEEEEE;
    display: inline-block;
    vertical-align: top;
}

#outer_booking h2 {
    font-size: 22px;
    color: #595858;
    margin-top: 0
}

#outer_booking p {
    color: #666666;
    font-size: 14px
}

#outer_booking #booking {
    font-size: 80%;
    border: #CCCCCC 1px solid;
    border-right: none;
    border-bottom: none
}

#outer_booking #booking th {
    background: #666666 url("images/booking_grad.jpg") repeat-x;
    color: #FFFFFF;
    height: 25px;
    padding-left: 5px
}

#outer_booking #booking td {
    border-right: #CCCCCC 1px solid;
    border-bottom: #CCCCCC 1px solid;
    padding-left: 5px
}

#outer_booking span {
    color: red
}

#outer_price {
    width: 200px;
    float: left;
    height: 22px;
    margin-top: 6px
}

#outer_basket {
    /* display: none; */
    padding-top: 8px;
    padding-bottom: 8px;
    margin: 0px auto;
    width: 90%;
    background-color: #EEEEEE;
    vertical-align: top;
}

#outer_basket h2 {
    font-size: 22px;
    color: #595858;
    margin-top: 0
}

#btn_book {
    margin: 10px 0 0 320px
}

#key {
    margin-top: 25px;
    width: 275px;
    height: 60px;
    border: #CCCCCC 1px solid;
    color: #666666;
    font-size: 11px
}

#key td {
    text-align: center;
    width: 45px
}

#key_1 {
    background-color: #d80000
}

#key_2 {
    background-color: #a295dd
}

#key_3 {
    background-color: #d18800
}

#key_4 {
    background-color: #019500
}

#key_5 {
    background-color: #948e8e
}

#book {
    background: transparent url(images/book.png) no-repeat;
    width: 135px;
    height: 32px;
    border: none;
    margin-top: 5px
}

#book:hover {
    background: transparent url(images/book_mo.png)
}

#selected_date {
    width: 288px;
    height: 20px;
    background-color: #dfeefa;
    border: #4085d1 1px solid;
    font-size: 14px;
    padding: 4px 0 4px 10px;
    color: #4085d1;
    margin: 20px 0 10px 0
}


/* Messages */

.info,
.error,
.success {
    font-size: 12px;
    font-weight: bold;
    line-height: 1.2em;
}

.error,
.error a {
    color: #D8000C;
    border: #cf0023 1px solid;
    background-color: #FFBABA;
    background-image: url('images/knobs/error.png');
}

.info,
.info a {
    color: #00529B;
    border: #294b99 1px solid;
    background-image: url('images/knobs/info.png');
    background-color: #c1e4f8
}

.success,
.success a {
    color: #4F8A10;
    border: #528f11 1px solid;
    background-color: #DFF2BF;
    background-image: url('images/knobs/success.png');
}

.flat_button {
    margin-top: 20px;
    margin-bottom: 10px;
    padding: 10px 24px;
    font: normal 20px/25px Verdana;
    text-transform: uppercase;
    -webkit-user-select: none;
    border: none;
    text-align: center;
    outline: none;
    cursor: pointer;
    color: #fff!important;
    background-color: #28a745;
    -webkit-box-shadow: 0px 3px 0px #25A05A;
    -moz-box-shadow: 0px 3px 0px #25A05A;
    box-shadow: 0px 3px 0px #25A05A;
    display: inline-block;
}

.flat_button:hover {
    background-color: #1e9c3b;
    color: #fff!important;
    border: none;
}

.flat_button:active {
    -webkit-box-shadow: 0px 1px 0px #15C560;
    -moz-box-shadow: 0px 1px 0px #15C560;
    box-shadow: 0px 1px 0px #15C560;
    position: relative;
    top: 2px;
    color: #fff;
}

.ttime {
    float: left;
    margin: 0px;
    border: #FFF;
    color: #FFFFFF;
    padding: 0px 1px 1px 0;
    width: 63px;
    height: 49px;
    background: url("images/block_free.gif") no-repeat;
    text-align: center;
    line-height: 49px;
    font-size: 15px;
}

.not_ttime {
    float: left;
    margin: 0px;
    border: #FFF;
    color: #FFFFFF;
    padding: 0px 1px 1px 0;
    width: 63px;
    height: 49px;
    background: url("images/block_fully_booked.gif") no-repeat;
    text-align: center;
    line-height: 49px;
    font-size: 13px;
}

.ttime input {
    font-family: 'Open Sans', sans-serif;
    background: none;
    line-height: 49px;
    font-size: 15px;
    border: none;
    color: #FFFFFF;
    transition: 200ms all;
}

td a {
    transition: 200ms all;
    font-size: 19px;
}

.ttime input:hover,
td a.green:hover,
td a.part_booked:hover,
td a.fully_booked:hover {
    font-weight: bold;
    transition: 200ms all;
    cursor: pointer;
}

h2.vtime {
    text-align: center;
    margin-bottom: 10px;
    font-size: 22px;
}

.timetab {
    width: 320px;
    display: inline-block;
}

#outer_basket,
#basket_details {
    text-align: center;
}

input[type=text] {
    padding: 10px 0px 10px 8px;
    margin: 5px 5px;
    box-sizing: border-box;
    border: 1px solid #ccc;
    -webkit-transition: 0.5s;
    transition: 0.5s;
    outline: none;
	display: inline;
    width: 90%;
    font-size: 16px;
    line-height: 26px;
    color: #666;
	font-family: 'Open Sans', sans-serif;
}

input[type=text]:focus {
    border: 1px solid #28a745;
	
}

textarea[type=text] {
    padding: 10px 0px 10px 8px;
    margin: 5px 5px;
    box-sizing: border-box;
    border: 1px solid #ccc;
    -webkit-transition: 0.5s;
    transition: 0.5s;
    outline: none;
	display: inline;
    width: 90%;
    font-size: 16px;
    line-height: 26px;
    color: #666;
	font-family: 'Open Sans', sans-serif;
}

textarea[type=text]:focus {
    border: 1px solid #28a745;
}

#maintitle {
    text-align: center;
}

.cbpd {
    font-size: 13px;
    color: #444;
    width: 90%;
    margin: 0px auto;
}

.cbpd input {
    vertical-align: middle;
    margin-right: 5px;
}

a,
a:hover {
    text-decoration: none;
}

.alert-success {
    color: #155724;
    background-color: #d4edda;
    width: 60%;
    display: inline-block;
    position: relative;
    padding: .75rem 1.25rem;
    margin-bottom: 1rem;
    border: 1px solid #c3e6cb;
    border-radius: .25rem;
}

.alert-heading {
    color: inherit;
    margin-top: 0;
}

h4,
.mb-1 {
    font-size: 1.5rem;
    margin-bottom: .5rem;
    font-weight: 500;
    line-height: 1.2;
}

p {
    margin-top: 0;
    margin-bottom: 1rem;
}

hr {
    margin-top: 1rem;
    margin-bottom: 1rem;
    border: 0;
    border-top: 1px solid rgba(0, 0, 0, .1);
    box-sizing: content-box;
    height: 0;
    overflow: visible;
}

.alert-success hr {
    border-top-color: #b1dfbb;
}

.mb-0 {
    margin-bottom: 0!important;
}

.bd-example {
    position: relative;
    margin: 1rem -15px 0;
    border: solid #f8f9fa;
    border-width: .2rem 0 0;
}

.bd-example {
    margin-right: 0;
    margin-left: 0;
    border-width: .2rem;
}

@media (max-width: 767px) {
    #outer_basket,
    #basket_details,
    #lhs,
    #outer_calendar,
    #outer_booking {
        width: 100%;
        height: auto;
        display: block;
        margin: 0px auto;
        padding: 0px;
    }
    #outer_basket {
        display: none;
    }
    #outer_booking,
    #outer_basket {
        margin-top: 10px;
    }
    .ttcalend {
        width: 14%;
        height: 35px;
        line-height: 35px;
    }
    .green,
    .unavailable,
    .closed,
    .part_booked,
    .fully_booked {
        width: 100%;
        height: 35px;
        line-height: 35px
    }
    h2.vtime {
        margin-top: 10px;
    }
    .ttime,
    .not_ttime {
        width: 19%;
        height: 35px;
        line-height: 35px;
        border: 0px;
    }
    .timetab {
        width: 100%;
    }
    .ttime input {
        line-height: 35px
    }
    .ttime input:hover,
    td a.green:hover,
    td a.part_booked:hover,
    td a.fully_booked:hover {
        font-size: 12px;
    }
    .text_box {
        width: 92%;
    }
}