html {
    box-sizing: border-box;
}

html,
body {
    height: 100%;
}

body {
    font: 14px/1.5 Arial, Helvetica, Tahoma, Verdana, sans-serif;
    color: #333;

}

.hidden {
    display: none
}

*,
*:before,
*:after {
    box-sizing: inherit;
}

.cf:after {
    content: "";
    display: table;
    clear: both;
}

input.autocomplete {
    width: 350px !important;
}

.easy-autocomplete {
    display: inline-block;
}

.easy-autocomplete-container ul {
    box-shadow: 1px 1px 3px 0 rgba(0, 0, 0, .5);
    max-height: 350px;
    overflow: auto;
}

.hcp {
    white-space: nowrap;
}

.green {
    color: #92a12b;
}

.red {
    color: #a13f2b;
}

.right {
    text-align: right;
}

.fa {
    font-size: 20px;
}

.help {
    cursor: help;
}

.noMargin {
    margin: 0;
}

.qtip {
    font-size: 12px;
    line-height: 1.3;
}

input[type='text'],
input[type='password'] {
    border: solid 1px #7f7f7f;
    color: #92a12b;
    background: #fff;
    padding: 5px;
    border-radius: 3px;
}

input[type='text']:focus,
input[type='password']:focus {
    border-color: #92a12b;
}

input.autocomplete {
    width: 300px;
}

button[type='submit'],
button[type='reset'],
a.button {
    background: #acbf24;
    border: solid 1px #92a12b;
    border-radius: 3px;
    padding: 5px 5px 4px 5px;
}

button[type='reset'],
button.red,
a.button.red {
    background: #d4573d;
    border-color: #a13f2b;
    color: #333;
}

a.button {
    text-decoration: none;
}

button[type='submit'].fa-button {
    background: transparent;
    border: none;
    padding: 0;
    margin: 0;
    display: inline;
}

.error label {
    color: #a13f2b;
}

.error input[type='text'],
.error input[type='password'] {
    color: #a13f2b;
    border-color: #a13f2b;
}

a {
    color: #92a12b;
}

fieldset {
    margin: 0 0 3em 0;
    padding: 10px;
    border-radius: 3px;
    background: #e8e8e8;
}

legend {
    font-size: 15px;
    color: #00463b;
}

fieldset input[type='text'],
fieldset input[type='password'],
fieldset select {
    display: inline-block;
    width: 219px;
}

table th,
table td {
    padding: 5px;
}

table.friends,
table.slots,
table.bookings {
    border-bottom: solid 2px #e8e8e8;
    border-top: solid 2px #e8e8e8;
}

table.friends th,
table.slots th,
table.bookings th {
    color: #92a12b;
    font-weight: normal;
    text-align: left;
    font-style: italic;
}

table.friends td,
table.slots td,
table.slots th,
table.bookings td,
table.bookings th {
    white-space: nowrap;
}

table.friends tbody td:nth-child(4),
table.friends thead th:nth-child(4) {
    text-align: right;
}

table.friends tbody tr:nth-child(odd),
table.slots tbody tr:nth-child(odd),
table.bookings tbody tr:nth-child(odd) {
    background: #e8e8e8;
}

table.slots tr.own {
    font-weight: bold;
}

table.friends tbody td:last-child,
table.slots tbody td:last-child,
table.bookings tbody td:last-child {
    width: 100%;
}

div.error {
    background: #edbbbb;
    padding: 20px;
}

div.error ul {
    margin: 0;
}

div.notice {
    background: #ccc;
    padding: 20px;
    font-weight:bold;
}

.center {
    text-align: center;
}

div.wrap {
    width: 800px;
    margin: 0 auto;
    position: relative;
}

header {
    box-shadow: 0 0 5px 0 rgba(0, 0, 0, 0.5);
    position: relative;
    z-index: 1;
    min-height: 45px;
    background: #acbf24;
    padding: 10px;
}

div.logo {
    text-align: center;
    background: #acbf24;
    padding: 5px 10px;
    border-bottom-left-radius: 5px;
    border-bottom-right-radius: 5px;
    position: absolute;
    top: 0;
    left: 0;
}

header nav {
    float: right;
}

nav ul {
    list-style-type: none;
    margin: 0;
    padding: 0;
}

nav ul li {
    margin: 0;
    display: inline-block;
    position: relative;
}

span.noticeCount {
    position: absolute;
    display: block;
    width: 18px;
    height: 18px;
    border-radius: 50%;
    font-weight: bold;
    text-align: center;
    line-height: 18px;
    top: -6px;
    right: -6px;
    color: #92a12b;
    background: #fff;
    box-shadow: 1px 1px 2px 0 rgba(0, 0, 0, 0.7);
    cursor: help;
}

header nav ul li a {
    display: inline-block;
    font-size: 16px;
    margin: 0 5px;
    color: #fff;
    text-shadow: 1px 1px 0 rgba(0, 0, 0, 0.7);
    font-weight: bold;
    text-decoration: none;
}

header nav ul li a:hover {
    text-shadow: 1px -1px 0 rgba(0, 0, 0, 0.7);
}

header nav ul li:first-of-type a {
    margin-left: 0;
}

header nav ul li:last-of-type a {
    margin-right: 0;
}

main nav.courseTabs {
    padding: 0 5px;
    border-bottom: solid 1px #7f7f7f;
    height: 30px;
}

main nav.courseTabs a,
main nav.courseTabs strong {
    color: #7f7f7f;
    font-weight: normal;
    text-decoration: none;
    display: block;
    padding: 3px 5px;
    border: solid 1px #7f7f7f;
    border-top-left-radius: 8px;
    border-top-right-radius: 8px;
    border-bottom: none;
    position: relative;
    z-index: 2;
    height: 30px;
    background: #fff;
}

main nav.courseTabs li.bookings a {
    background: #acbf24;
}

main nav.courseTabs a {
    background: #e8e8e8;
    box-shadow: inset 0 -1px 2px 0 rgba(0, 0, 0, 0.3);
    border-bottom: solid 1px #7f7f7f;
}

main nav.courseTabs a:hover {
    color: #92a12b;
    box-shadow: none;
}

main {
    padding: 0 20px 20px 20px;
}

div.teaser {
    margin-left: -20px;
}

h1 {
    color: #acbf24;
    text-shadow: 1px 1px 0 rgba(0, 0, 0, 0.5);
    margin: 0.5em 0 1em 0;
    font-style: italic;
    padding: 0 2px;
}

div.tosModal {
    display: none;
}

h2 {
    color: #666;
    font-weight: normal;
    margin: 2em 0 .5em 0;
}

h2.noMargin {
    padding: 1em 0 .5em 0;
    background: rgba(255, 255, 255, 0.5);
}

h2 a {
    color: #333;
    text-decoration: none;
}

h3 {
    font-size: 16px;
    margin: 0;
    color: #92a12b;
}

div.login {
    background: #e8e8e8;
    padding: 5px;
    text-align: right;
    min-height: 15px;
}

div.login span.fa {
    display: inline-block;
    margin: 20px 0 0 5px;
    vertical-align: bottom;
    font-size: 32px;
    line-height: 32px;
}

div.login p {
    margin: 0;
}

div.login label {
    font-size: 12px;
}

div.login button {
    margin-top: 1px;
}

div.username,
div.pass,
div.button {
    display: inline-block;
}

div.username img {
    display: block;
    margin-bottom: -11px;
}

div.button button {
    width: 75px;
}

div.username,
div.pass {
    margin-right: 10px;
}

div.memberHelp,
div.guestHelp {
    display: none;
}

div.course {
    width: 375px;
    float: left;
}

div.course h2 {
    margin-top: 0;
}

div.course p {
    margin: 0;
}

div.course:first-of-type {
    margin-right: 10px;
}

div.courseDetail {
    padding: 20px;
    border-radius: 5px;
}

main label {
    display: inline-block;
    text-align: right;
    width: 149px;
    padding-right: 5px;
}

main fieldset.deleteBooking label {
    width: 300px;
}

main p.button {
    padding-left: 155px;
}

main p.button button {
    width: 219px;

}

div.confirm,
div.addFriend {
    display: none;
}

div.friendRequestModal {
    display: none;
}

div.daySelect {
    position: relative;
    z-index: 2;
    background: #e8e8e8;
    padding: 5px 10px;
    border-bottom: solid 1px #7f7f7f;
    margin-bottom: 2em;
    box-shadow: 0 3px 3px 0 rgba(0, 0, 0, 0.2);
}

div.daySelect label {
    display: inline;
    text-align: left;
    width: auto;
}

div.daySelect select {
    width: 200px;
}

table.teetime {
    width: 100%;
    table-layout: fixed;
}

table.teetime colgroup col:first-child {
    width: 65px;
}

table.teetime th {
    font-size: 20px;
    color: #92a12b;
    font-weight: normal;
    background: #fff;
}

table.teetime tbody td:nth-child(odd) {
    background: #e8e8e8;
    border-bottom-color: #fff;
}

table.teetime tbody td:last-child {
    background: #fff;
    border-bottom-color: #e8e8e8;
}

table.teetime span.info {
    display: inline-block;
    font-size: 12px;
    font-style: italic;
}

table.teetime tbody td {
    cursor: pointer;
}

table.teetime tbody td {
    border-bottom: solid 2px #e8e8e8;
    text-align: center;
}

table.teetime tbody td:last-child {
    text-align: left;
}

table.teetime tbody td button {
    width: 65px;
    text-align: center;
}

table.teetime tbody td span.fa.member,
table.teetime tbody td span.fa.guest,
dl dt span.fa.member,
dl dt span.fa.guest {
    font-size: 30px;
    text-shadow: 1px 1px 0 rgba(0, 0, 0, .75);
}

table.teetime tbody span.hcp {
    font-size: 12px;
    font-style: italic;
    display: inline-block;
    height: 30px;
    vertical-align: middle;
    margin-left: 3px;
}

table.teetime tbody td span.fa.member,
dl dt span.fa.member {
    color: #92a12b;
}

table.teetime tbody td span.fa.guest,
dl dt span.fa.guest {
    color: #4b6bcf;
}

table.teetime tbody th {
    text-align: right;
}

table.teetime tr > :last-of-type {
    border-color: #e8e8e8 !important;
}

table.teetime tbody tr:last-child td {
    border: none;
}

table.teetime tbody tr td.locked {
    background: #edbbbb;
    border-bottom-color: #fff;
    text-align: center;
}

table.teetime tbody tr td.ownBooking {
    background: #acbf24;
}

table.teetime tbody tr td.booked {
    background: #edbbbb;
}

table.teetime tbody tr.past {
    cursor: default;
}

table.teetime tbody tr.past td {
    background: #f5ebeb !important;
    border-bottom: solid 2px #fff !important;
}

table.teetime tbody tr.past td:last-child {
    background: #fff !important;
    border-bottom-color: #e8e8e8 !important;
}

table.teetime span.fa[title] {
    cursor: help;
}

div.legend {
    display: none;
}

div.legend dl {
    width: 100%;
}

div.legend dt,
div.legend dd {
    display: inline-block;
    vertical-align: middle;
}

div.legend dt {
    width: 40px;
    margin: 0 10px 10px 0;
    text-align: center;
}

div.legend dd {
    width: 350px;
    margin: 0 0 10px 0;
}

span.square {
    display: inline-block;
    width: 30px;
    height: 30px;
    background: #acbf24;
}

span.showNameMarker {
    display: block;
    width: 6px;
    height: 6px;
    background: #fff;
    border-radius: 50%;
    position: absolute;
    top: 50%;
    left: 50%;
    margin-top: -3px;
    margin-left: -3px;
    z-index: 3;
    box-shadow: 1px 1px 0 0 rgba(0, 0, 0, .3);
}

span.member,
span.guest {
    position: relative;
}

div.resCont {
    display: none;
    border: solid 1px silver;
    margin-top: -1px;
    padding: 20px;
    box-shadow: inset 0 1px 5px 0 rgba(0, 0, 0, 0.3);
    border-bottom-left-radius: 5px;
    border-bottom-right-radius: 5px;
}

div.resCont h4,
div.resCont p {
    margin: 0;
}

div.typeModal {
    display: none;
}

div.teetimeComment {
    position: relative;
    z-index: 1;
    margin-top: -2em;
    padding: 5px 10px;
    background: #e8e8e8;
}

div.cartHint {
    float: right;
}

input.acceptRights {
    width: 30px;
    height: 30px;
    vertical-align: middle;
    outline: 1px solid orangered;
}
