/******************** Colours *********************/
.alert-danger, .badge-danger, .btn-danger, .bg-danger {
    color: #fff !important;
    background-color: #ea5255 !important;
    border-color: #ea5255 !important;
}

.bg-secondary {
    background-color: #f7f7f7 !important;
}

.border-danger {
    border-color: #ea5255 !important;
}

.text-danger {
    color: #ea5255 !important;
}

.t-bg-danger {
    color: #fff !important;
    background-color: #ea5255 !important; 
}

.alert-success, .badge-success, .btn-success, .bg-success {
    color: #fff !important;
    background-color: #a5c536 !important;
    border-color: #a5c536 !important;
}

.border-success {
    border-color: #a5c536 !important;
}

.text-success {
    color: #a5c536 !important;
}

.t-bg-success {
    color: #fff !important;
    background-color: #a5c536 !important;
    text-decoration: none;
}

.td-grid .t-bg-success:hover {
    color: #fff !important;
    background-color: #88a22e !important;
}

.alert-info, .badge-info, .btn-info, .bg-info {
    color: #fff !important;
    background-color: #128ec3 !important;
    border-color: #128ec3 !important;
}

.border-info {
    border-color: #128ec3 !important;
}

.text-info {
    color: #128ec3 !important;
}

.t-bg-info {
    color: #fff !important;
    background-color: #128ec3 !important;
}

.alert-warning, .badge-warning, .btn-warning, .bg-warning {
    color: #fff !important;
    background-color: #ff9300 !important;
    border-color: #ff9300 !important;
}

.border-warning {
    border-color: #ff9300 !important;
}

.text-warning {
    color: #ff9300 !important;
}

.t-bg-warning {
    color: #fff !important;
    background-color: #ff9300 !important;
}

/******************** Body *********************/
body {
    background-color: #f2f2f2;
    height: 100%;
    color: #000;
}

html {
    height: 100%;
}

/******************** Customised Margins *********************/
@media (min-width: 992px) {
    .mt-80 {
        margin-top: 80px;
    }

    .mt-100 {
        margin-top: 100px;
    }

    .mt-130 {
        margin-top: 130px;
    }
}

/******************** Buttons *********************/
.btn-light {
    color: #000;
    background-color: #c1c1c1;
    border-color: #cbccce;
}

@media (max-width:991px) {
    a.f1:hover {
        color: #fff;
    }

    .btn-group.flex-wrap .btn {
        border-radius: 0px;
    }
}

.btn-secondary {
    color: #000;
    background-color: #e2e3e5;
    border-color: #cbccce;
}

.btn-secondary:hover {
    color: #000;
    background-color: #cbcbcc;
    border-color: #cbccce;
}

.btn-secondary.disabled {
    color: #000;
    background-color: #f8f9fa;
    border-color: #cbccce;
}

.btn-check:checked + .btn-secondary, .btn-check:active + .btn-secondary, .btn-secondary:active, .btn-secondary.active, .show > .btn-secondary.dropdown-toggle {
    color: #fff;
    background-color: #a0a6ab;
    border-color: #a0a6ab;
}

/******************** Nav *********************/
nav .dropdown-toggle::after {
    display: none;
}

#navbar {
    height: 100px;
    z-index: 900;
    width: 100%;
    transition: 0.4s;
}

#navbar a:hover {
    text-decoration:none;
}

.nav-item {
    min-width:150px;
    text-align: center;
    height: 100px;
    transition: 0.4s;
}

.nav-item h5 {
    margin: 10px 0px;
    font-weight: lighter;
}

.nav-link {
    position: relative;
    height: 100px;
    transition: 0.4s;
}

.nav-link > i {
    display: block;
    position: relative;
    font-size: 2rem;
    transition: 0.4s;
}

.nav-item .basket-badge {
    position: absolute;
    padding: 0.25em 0.5em;
    font-size: 0.5em;
    top: -10px;
    margin-left: -10px;
    border-radius: 1rem;
}

.navbar-toggler {
    font-size: 2rem;
    width: 150px;
    height: 100px;
    border-radius: 0em;
    border: 0px;
}

.navbar-toggler:focus {
    box-shadow: 0 0 0 0rem;
}

.navbar-collapse.collapse, .navbar-collapse.collapsing {
    z-index:100;
}

.logo {
    max-height: 90px;
    vertical-align: middle;
    transition: 0.4s;
}

.img-float {
    white-space: nowrap;
    text-align: center;
}

.helper {
    display: inline-block;
    height: 100%;
    vertical-align: middle;
}

@media (max-width:575px){
    .navbar-brand {
        width: 60%;
    }

    .navbar-toggler {
        width: 25%;
    }
}

@media (max-width: 1199px) {
    .nav-item {
        min-width: 120px;
    }

    .nav-link > h5 {
        font-size: 1rem;
    }
}

/******************** Nav Scroll *********************/
/* @media (min-width:992px) {
    #navbar {
        position: fixed;
        top: 0;
        overflow: hidden;
    }

    .banner {
        height:300px !important;
    }

    .link-scroll, .item-scorll {
        height: 60px;
    }

    .link-scroll > h5 {
        display:none;
    }

    .link-scroll > i {
        font-size:1.5rem;
    }

    .h-60 {
        height: 60px !important;
    }

    .mh-40 {
        max-height: 40px !important;
    }

    .mt-60 {
        margin-top: 60px !important;
    }

    .add-shadow {
        box-shadow: rgba(60, 64, 67, 0.3) 0px 1px 2px 0px;
    }
} */

/******************** banner *********************/
.banner {
    position: relative;
    overflow: hidden;
    display: block;
    height: 200px;
}

@media (min-width: 1200px) {
    .banner .banner-img {
        width: 100%;
    }
}

@media (max-width: 1199px) {
    .banner {
        max-height: 300px;
    }
}

/******************** Member Nav *********************/
.member-nav-item .center {
    display: inline-block;
    vertical-align: middle;
    line-height: normal;
    height: 100%;
    position: relative;
    width: 100%;
}

.col.col-width {
    min-width: 200px;
    max-width: 220px;
}

.member-nav-item span {
    position: absolute;
    width: 100%;
    left: 0;
    bottom: 0.25rem;
}

.member-nav-item i {
    font-size: 1.5rem;
}

.member-nav-item {
    width: 100%;
    height: 80px;
    font-size: 0.9rem;
    text-align: center;
    padding: 0.5rem 0.75rem;
}

/***************** Description *******************/
.description-short a {
    text-decoration:none !important;
    color: #000;
}

.description-short a:hover h4 {
    color: #999;
}

/******************** Pagination *********************/
.page-item.disabled .page-link {
    color: #dee2e6;
    background-color: #f7f7f7;
    border-color: #cbccce;
}

.page-item.active .page-link {
    color: #f6f6f6;
    background-color: #9ba1a6;
    border-color: #cbccce;
}

.page-link {
    color: #000;
    background-color: #e2e3e5;
    border-color: #cbccce;
}

.page-link:hover {
    color: #000;
    background-color: #cbccce;
    border-color: #cbccce;
}

.pagination-md .page-link {
    padding: 0.5rem 1rem;
    font-size: 1.25rem;
}

/******************** Basket *********************/
#basket-expiry-message {
    display: inline-block;
} 

.badge-wrapper i {
    font-size: 1.5rem;
}

.basket-item-original {
    text-decoration: line-through;
    display: block;
}

.basket-item-discount {
    font-style: italic;
}

/******************** Cards *********************/
.card {
    width: 100%;
}

.card-img-wrapper {
    height: 200px;
    overflow: hidden;
}

.card-text > span > i {
    display: inline-block;
    margin-right: 0.25rem;
}

.card-text > .class-label {
    min-width: 120px;
    display: inline-block;
    font-weight: 700;
}

.card-footer.blank {
    background-color: transparent;
    border-top: 0px solid rgba(0, 0, 0, 0.125);
}

.card-header > h4 > i {
    display: inline-block;
    width: 30px;
}

.card-header.bg1 {
    position:relative;
    padding: 0.5rem 4rem 0.5rem 1rem;
}

.card-header {
    padding: 0.7rem 1rem 0.4rem 1rem;
}

.card-detail {
    margin-top: -1.75rem;
    border-top-left-radius: 0px;
    border-top-right-radius: 0px;
}

.card-title, .card-header h1, .card-header h2, .card-header h3, .card-header h4, .card-header h5 {
    font-weight: 300;
}

.card-account {
    max-height:680px;
}


/******************** Search *************************/
@media (min-width: 1200px) {
    #_Search .form-check.form-check-inline {
        width:100%;
    }
}

/******************** List Group *********************/
.list-group-item > a {
    display: block;
    padding: 0.5rem 1rem;
    text-decoration: none;
}

.list-group {
    border-radius: 0rem;
}

li.list-group-item {
    padding: 0rem;
    border:0px;
}

.list-group-item > a > i {
    display: inline-block;
    width: 48px;
}

.list-group-item > a > i.float-end {
    width: initial !important;
    padding: 0.25rem;
}

/******************** Canvas *********************/

#offCanvasCat, #offCanvasUser {
    margin-top: 100px;
}

.offCanvas-body .list-group-item {
    font-size: 1rem;
    color: #fff;
}

.offCanvas-body .list-group-item > i {
    display: inline-block;
    width: 48px;
}

@media (max-width: 991px) {
    .nav-list .list-group-item {
        display: block;
        padding: 0.5rem 1rem;
        text-decoration: none;
    }

    .nav-list .list-group-item > i {
        display: inline-block;
        width: 48px;
    }

    .nav-list .list-group-item:hover {
        background-color: inherit;
        text-decoration: underline;
    }
}

/******************** Forms *********************/
.form-group {
    margin-bottom: 1rem;
}

.form-group [class*='col-'] {
    width: 100%;
}

.inline-forms form {
    display: inline-block;
}

.form-control-plaintext {
    padding: 0.375rem 0.75rem;
    background-color: #dfdfdf;
    border: solid transparent;
    border-width: 1px 0px;
    border-radius: 4px;
}

div#CreateUserProfile > div#LogOnControl {
    width: 100%;
}


/******************** Forms Courses *********************/
.form-horizontal .form-select {
    font-size: 0.875em;
}

.form-horizontal .accordion-body .form-label {
    display: none;
}

#_Courses #collapseTen .accordion-body .form-label {
    display: block;
}

.form-horizontal .accordion-body {
    padding: 0.5rem 0.75rem;
}

.form-horizontal .accordion-button {
    box-shadow: inset 0 0 0 rgb(0 0 0 / 13%);
    padding: 0.5rem 0.75rem;
    font-size: 0.9rem;
}

/******************** Maps *********************/
.map-responsive{
    overflow:hidden;
    padding-bottom:56.25%;
    position:relative;
    height:0;
}
.map-responsive iframe{
    left:0;
    top:0;
    height:100%;
    width:100%;
    position:absolute;
}

/******************** Breadcrumbs *********************/
.btn-breadcrumb .btn:not(:last-child):after {
    content: " ";
    display: block;
    width: 0;
    height: 0;
    border-top: 19px solid transparent;
    border-bottom: 19px solid transparent;
    border-left: 10px solid white;
    position: absolute;
    top: 50%;
    margin-top: -19px;
    margin-left: 0px;
    left: 100%;
    z-index: 3;
    transition:color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}

.btn-breadcrumb .btn:not(:last-child):before {
    content: " ";
    display: block;
    width: 0;
    height: 0;
    border-top: 19px solid transparent;
    border-bottom: 19px solid transparent;
    border-left: 10px solid rgb(173, 173, 173);
    position: absolute;
    top: 50%;
    margin-top: -19px;
    margin-left: 0px;
    left: 100%;
    z-index: 3;
    transition:color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}

.btn-breadcrumb i {
    display: inline-block;
}

.btn-breadcrumb .btn {
    padding:6px 12px 6px 24px;
}

.btn-breadcrumb .btn:first-child {
    padding: 6px 6px 6px 10px; 
}

.btn-breadcrumb .btn:last-child {
    padding:6px 18px 6px 24px;
}

.btn-breadcrumb .btn.btn-secondary:not(:last-child):after {
    border-left: 10px solid #e2e3e5;
}

.btn-breadcrumb .btn.btn-secondary:not(:last-child):before {
    border-left: 10px solid #e2e3e5;
}

.btn-breadcrumb .btn.btn-secondary:hover:not(:last-child):after {
    border-left: 10px solid #cbccce;
}

.btn-breadcrumb .btn.btn-secondary:hover:not(:last-child):before {
    border-left: 10px solid #a0a6ab;
}

/******************** Course-Results *********************/
.badge-group {
    display: inline-block;
    border-radius: 0.25rem;
    font-size: 1rem;
    background-color: #e2e3e5;
    border: 1px solid #cbccce;
}

.badge-label {
    background-color: #e2e3e5;
}

.badge-value {
    background-color: #ffffff;
}

#_CourseResults i {
    display: inline-block;
}

#_CourseResults .input-group-text, #MyCoursesResults .input-group-text {
    font-size: 0.875rem;
    padding: 0.2rem 0.375rem;
}

@media (max-width:575px) {
    .course-results .badge-group > div {
        width: 100%;
    }

    .course-results .badge-group {
        display: block;
        margin: 0rem 0rem 0.5rem !important;
        text-align: center;
    }
}

/******************** Golf *********************/
.card-text > .golf-label {
    min-width: 200px;
    display: inline-block;
    font-weight: 700;
}

.btn-paynow .badge {
    min-width: 60px;
}

/******************** Alerts *********************/
.alert > i {
    display: inline-block;
}

i.fal.fa-map-marker-alt {
    display: inline-block;
}

/******************** Tables *********************/
.table {
    font-size: 1rem;
    margin: 0rem;
}

.table-sm {
    font-size: 0.9rem;
}

tfoot td, tfoot tr {
    border: 0px;
}

/* class grid */

@media (max-width: 1200px) {
    #_ClassTimetableGridResults .table th:first-child,#_ClassTimetableGridResults .table th:first-child h4 {
        font-size: 0.9rem !important;
    }

    #_ClassTimetableGridResults .table {
        font-size: 0.8rem !important;
    }
} 

#_ClassTimetableGridResults {
  overflow: scroll;
  position: relative;
}

#_ClassTimetableGridResults table {
  position: relative;
  border-collapse: collapse;
}

#_ClassTimetableGridResults td, #_ClassTimetableGridResults th {
  padding: 0.25em;
}

#_ClassTimetableGridResults thead th {
  position: -webkit-sticky; /* for Safari */
  position: sticky;
  top: 0;
  z-index: 101;
}

#_ClassTimetableGridResults thead th:first-child {
  left: 0;
  z-index: 101;
}

#_ClassTimetableGridResults tbody th {
  position: -webkit-sticky; /* for Safari */
  position: sticky;
  left: 0;
  z-index:100;
  border-right: 1px solid #CCC;
}

/******************** Booking Grid *********************/
.t-icon {
    vertical-align: middle;
}

.t-icon i {
    font-size: 1.5rem;
}

.td-grid {
    text-decoration: none;
}

.t-bg-success.available {
    color: #a5c536 !important;
    background-color: #f7ffdd !important;
}

.t-bg-warning.unavailable {
    color: #ff9300 !important;
    background-color: #ffedd5 !important;
}


/******************** Booking Grid *********************/
.validation-summary-errors, .field-validation-error {
    color: #dc3545!important;
}

/******************** basket *********************/
.basket-label {
    min-width: 30px;
    display: inline-block;
    font-weight: 700;
}

.cell-format {
    background-color: #fff !important;
    border-bottom: 0px solid #dee2e6 !important;
}

th.cell-format {
    width: 50px;
}

#TableActive td, #TableActive th, #TableActive td {
    border-left: 1px solid #dee2e6;
    border-bottom: 1px solid #dee2e6;
}

/******************** Accordions *********************/
#Basket_Index .accordion-button {
    font-size: 1.25rem;
}

.accordion-button:not(.collapsed)::after {
    background-image: none;

}

.accordion-button::after {
    background-image: none;
    content: "\f107";
    font-family: 'Font Awesome 5 Pro';
    width: initial;
    height: initial;
}

.accordion-button:not(.collapsed) {
    color: #000000;
    background-color: #e2e3e5;
}

.accordion-button {
    color: #000000;
}

.accordion-button:focus {
    z-index: 3;
    border-color: #86b7fe;
    outline: 0;
    box-shadow: none;
}

@media (min-width: 1200px) {
    h4 > #Accordion-btn {
        font-size: 1.5rem;
        font-weight: 300;
    }
}

@media (max-width: 1199px) {
    h4 > #Accordion-btn {
        font-size: 1.4rem;
        font-weight: 300;
    }
}

/******************** Footer *********************/
.footer {
    padding: 3rem 1rem;
}

.footer a:hover {
    color: #dfdfdf;
}

.social li i {
    font-size: 20px;
    padding: 15px;
    width: 100%;
    display: block;
}

.social a i {
    transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}

.social li {
    margin-bottom: 0.5rem;
    width: 50px;
}

.social li a {
    text-decoration: none;
    width: 100%;
    display: block;
    max-width: 50px;
}

.social li i:hover {
    background-color: #e2e3e5 !important;
    color: #000 !important;
    text-decoration: none;
}

/******************** Communication Category *********************/
.communication-category h5.card-title {
    font-weight: 500;
}