﻿/*#region ### Notes ### */

/*
Settings
Border: 30px
Gutter: 20px
Max width: 1280px (1190px)
Min width: 300px
Header Height: auto
Footer Height: 75px
Menu Height: 50px
Menu Height (Mobile Sub Menu Fixed Height): 40px
Menu Switch Width: 768px
Menu Padding: 20px
Note .main-menu ul {top:##px;} must be set so that rollover works correctly 

Media points: 
	Fixed: 1280px (1190px), 1024px (934px), 
	Full Width: 768px (748px), 500px (100%), 360px (100%)
	Menu Switch: 768px
	
Fixed Width Calc = Size - (2 * Border) - ScrollBarwidth
Fixed width to Full Width Calc = Size - (Gutter / 2)
Full Width Calc = width:100%
ScrollBarwidth = 30 for older browsers. Add only for widths => 768 as mobiles don't have this issue
*/

/*#endregion*/

/*#region Defaults */

.clearer {
    clear: both;
}

.sp10 {
    height: 10px;
}

.sp15 {
    height: 15px;
}

.sp20 {
    height: 20px;
}

.sp30 {
    height: 30px;
}

.sp40 {
    height: 40px;
}

.sp50 {
    height: 50px;
}

.sp100 {
    height: 100px;
}

.marginr5 {
    margin-right: 5px;
}

.text-center {
    text-align: center;
}

.left {
    float: left;
}

.right {
    float: right;
}

/*#endregion*/

/*#region Page Setup */

html {
    box-sizing: border-box;
}

*, *:before, *:after {
    box-sizing: inherit;
}

* {
    -webkit-font-smoothing: antialiased;
    margin: 0;
    padding: 0;
    border: 0;
}

html, body, form {
    height: 100%;
    min-width: 300px;
}

img {
    width: 100%;
    height: auto;
}

p, h1, h2, h3, h4 {
    width: 100%;
    line-height: normal;
}



input, select, textarea, button {
    border-color: #e0e0e0;
    border-style: outset;
    border-width: 2px;
    margin: 0 2px;
    padding: 1px;
}

    input[type=text]:focus, input[type=email]:focus, input[type=number]:focus, input[type=password]:focus, input[type=search]:focus, select:focus, textarea:focus, .riSingle .riTextBox[type="text"]:focus {
        outline: none;
        border-color: #ff9900 !important;
    }

.checkorradios input:checked:focus {
    outline: 2px solid #ff9900;
}

.checkorradios input:focus + label {
    border-color: #ff9900;
}

/*#endregion*/

/*#region Wrappers*/

/*#region Outer Wrappers*/

.outer-wrapper {
    padding: 0;
    width: 100%;
}

.outer-wrapper-header {
    background-color: #ffffff;
}

.outer-wrapper-menu {
    z-index: 1;
}

.outer-wrapper-messages {
    background-color: #bb004f;
}

.outer-wrapper-promo {
    background-color: #42b5e8;
}

.outer-wrapper-content, .outer-wrapper-content-main, .outer-wrapper-banner {
    padding: 20px 0;
    background-color: rgb(223, 238, 245);
}

.outer-wrapper-content-breadcrumbs, .outer-wrapper-content-secondary, .row-menu-holder, .outer-wrapper-breadcrumbs, .outer-wrapper-popup {
    background-color: #ffffff;
}

.outer-wrapper-footer {
    background-color: #333333;
    min-height: 171px;
}

.outer-page {
    min-height: 100%;
    padding-bottom: 171px;
    margin-bottom: -171px;
    background-color: rgb(223, 238, 245);
}

    .outer-page:after {
        content: "";
        display: block;
    }

    .outer-footer, .outer-page:after {
    }

/*#endregion*/

/*#region InnerWrappers*/

.inner-wrapper {
    margin: 0 auto;
    padding: 0;
}

.inner-wrapper {
    width: 100%;
    max-width: 1044px;
}

.row, .row-menu {
    width: 100%;
}

.row {
    padding: 0 10px;
}

.row-group {
    padding-top: 10px;
}

.row-slide {
    padding: 0 20px;
    display: inline-block;
    vertical-align: middle;
}

    .row-slide:after {
        content: '';
        height: 100%;
        width: 1px;
        display: inline-block;
        vertical-align: middle;
    }

.col {
    width: 100%;
    padding: 10px;
    float: left;
    position: relative;
}

/*#endregion*/

/*#endregion*/

/*#region Header */

.header {
    width: 100%;
}

.inner-wrapper .row header {
    padding-top: 10px;
    padding-bottom: 10px;
}

.left-header, .right-header {
    width: 50%;
    display: inline-block;
    vertical-align: middle;
}

.right-header {
    text-align: right;
    padding-top: 20px;
}

.header-logo {
    width: 100%;
    display: block;
    max-width: 180px;
    min-width: 120px;
    margin: 10px 0 0;
}

.header-title {
    font-weight: normal;
    color: #333333;
    font-size: 2em;
    line-height: 1em;
    float: left;
    width: auto;
    clear: left;
    margin: 0.6em 0;
}

.header-links {
    list-style: none;
    display: inline-block;
    vertical-align: middle;
    text-align: right;
    font-size: 0.85em;
    margin: 0 0.5em;
}

    .header-links li {
        display: inline-block;
        vertical-align: middle;
        margin: 0;
    }

    .header-links a, .header-links a:link, .header-links a:visited {
        color: #000000;
        font-weight: bold;
        text-decoration: none;
        margin: 5px;
    }

        .header-links a:hover, .header-links a:focus {
            text-decoration: underline;
        }

.header-bsl {
    width: 43px;
    display: inline-block;
    vertical-align: middle;
    margin-left: 5px;
}

.header-navgroup {
    width: 50%;
    display: inline-block;
    vertical-align: middle;
    text-align: right;
    margin: 1em 0;
    position: relative;
}

.header .button {
    font-size: 0.9em;
    margin: 0 0 0 1.3em;
    float: right;
}

    .header .button:hover, .header .button:focus {
        color: #ffffff;
    }

.header .search {
    float: right;
    position: relative;
    width: 45%;
}

.header-search-textbox {
    border: 1px solid #ccc;
    color: #8f8f8f;
    padding: 0.74em 2em 0.74em 1.4em;
    -webkit-appearance: none;
    -webkit-border-top-left-radius: 2px;
    border-top-left-radius: 2px;
    -webkit-border-bottom-left-radius: 2px;
    border-bottom-left-radius: 2px;
    -webkit-border-top-right-radius: 0;
    border-top-right-radius: 0;
    -webkit-border-bottom-right-radius: 0;
    border-bottom-right-radius: 0;
    font-size: 0.75em;
    width: 100%;
    margin: 0;
}

.search-submit.header-search-submit {
    width: 32px;
    height: 32px;
    display: inline-block;
    position: absolute;
    right: 1px;
    top: 1px;
}

/*#endregion*/

/*#region Footer */

.footer {
    width: 100%;
    padding: 10px;
}

    .footer, .footer a, .footer a:link, .footer a:visited {
        color: #ffffff;
    }

.footer-logo {
    width: 25%;
    float: left;
    margin: 5px 0;
    width: 180px;
}

.footer-content {
    width: 66%;
    float: right;
}

.footer-links {
    width: 75%;
    list-style: none;
    line-height: 1.2em;
}

    .footer-links li {
        width: 45%;
        float: left;
        padding-right: 5%;
        margin: 10px 0;
    }

    .footer-links a .footer-links, .footer-social {
        display: inline-block;
        list-style: none;
        padding: 0;
        margin: 0;
    }

.footer-social {
    float: right;
    margin: 10px 0;
}

    .footer-social li {
        display: inline-block;
        width: 40px;
        margin: 0;
    }

    .footer-social img .footer-social a {
        display: block;
        width: 40px;
    }

.footer-copyright {
    width: 100%;
    text-align: right;
    float: left;
}

/*#endregion*/

/*#region Content */

/*#region Home */

.home-main, .home-sub {
    width: 33.3333%;
}

/*#endregion*/

/*#region Search */

.home-search-textbox {
    border: 1px solid #ccc;
    color: #8f8f8f;
    padding: 13px 20px;
    border-top-left-radius: 2px;
    border-bottom-left-radius: 2px;
    font-size: 0.75em;
    width: 918px !important;
    margin-right: -45px;
    width: 600px;
    margin-left: 10px;
}

.search-submit {
    width: 40px;
    height: 40px;
    display: inline-block;
    vertical-align: middle;
    background-color: #00019f;
    padding: 3px;
}

    .search-submit img {
        width: 100%;
        vertical-align: middle;
        height: auto;
    }

    .search-submit:hover, .search-submit:focus {
        background-color: #3334b2;
    }

/*#endregion*/

/*#region Colours */

.color-primary {
    color: #00019f;
}

.color-secondary {
    color: #bb004e;
}

.color-tertiary {
    color: #854a84;
}

.color-quaternary {
    color: #333333;
}


/*#endregion*/

/*#region Buttons */

.button {
    -webkit-border-radius: 3px;
    border-radius: 3px;
    display: inline-block;
    font-size: 16px;
    font-weight: normal;
    font-style: normal;
    line-height: 1em;
    padding: 0.5em 1em;
    margin: 1em 0;
    text-decoration: none;
    text-align: center;
}

    .button:hover, .button:focus {
        text-decoration: none;
    }

.button-primary {
    color: #ffffff;
    border: 2px solid #00019f;
    background-color: #00019f;
}

.content .button-primary:visited {
    color: #ffffff;
}

.button-primary:hover, .button-primary:focus, .content .button-primary:hover, .content .button-primary:focus {
    color: #00019f;
    background-color: #dddddd;
}

.button:active {
    position: relative;
    top: 1px;
}

a.button-secondary {
    color: #ffffff;
    background-color: #009fe4;
    border: 2px solid #009fe4;
}

.content .button-secondary:visited {
    color: #ffffff;
}

.button-secondary:hover, .button-secondary:focus, .content .button-secondary:hover, .content .button-secondary:focus {
    background-color: #e6e6e6;
    color: #009fe4;
}

.button-tertiary {
    color: #00019f;
    border: 2px solid #00019f;
    background-color: #dddddd;
}

.content .button-tertiary:visited {
    color: #00019f;
}

.button-tertiary:hover, .button-tertiary:focus, .content .button-tertiary:hover, .content .button-tertiary:focus {
    color: #ffffff;
    background-color: #00019f;
}

.button-login {
    color: #000000;
    border: 2px solid #000000;
    background-color: #ffffff;
}

.content .button-login:visited {
    color: #000000;
}

.button-login:hover, .button-login:focus, .content .button-login:hover, .content .button-login:focus {
    color: #ffffff;
    background-color: #000000;
}

.button-overlay {
    color: #ffffff;
    background-color: #bb004f;
    border: 2px solid #bb004f;
}

    .button-overlay:hover, .button-overlay:focus {
        color: #ffffff;
        background-color: transparent;
        border: 2px solid #ffffff;
    }

.button-narrow {
    padding-bottom: 0.25em;
    padding-top: 0.25em;
}

.button-medium {
    width: 180px;
}

.button-wide {
    width: 230px;
}

.button-small {
    border-width: 1px;
    padding: 3px 10px;
    font-size: 13px;
}

.button-black, .button-red {
    -webkit-border-radius: 3px;
    border-radius: 3px;
    display: inline-block;
    text-decoration: none;
    text-align: center;
    padding: 3px 10px;
    font-size: 13px;
    line-height: 1em;
}


.button-black {
    border: 1px solid #333333;
    background-color: #333333;
    color: #ffffff;
}


.button-red {
    border: 1px solid #333333;
    background-color: #ef6969;
    color: #000;
}


.content .button-black:visited {
    color: #ffffff;
}

.button-black:hover, .button-black:focus, .button-red:hover, .button-red:focus {
    border: 1px solid #333333;
    background-color: #ffffff;
    color: #333333 !important;
    text-decoration: none;
    cursor: pointer;
}






.button-full {
    width: 100%;
}


/*#endregion*/

/*#region Banner Carousel */
.outer-wrapper-carousel, #banner-carousel, #banner-carousel .inner-wrapper {
    height: 500px;
    position: relative;
    z-index: 3;
}

    #banner-carousel .row {
        position: absolute;
        left: 0;
        top: 50%;
        -moz-transform: translateY(-50%);
        -webkit-transform: translateY(-50%);
        -o-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
        transform: translateY(-50%);
    }

.carousel {
    width: 100%;
}

.outer-wrapper-carousel {
    position: relative;
}

.outer-wrapper-slide {
    float: left;
    color: #ffffff;
    background-position: center;
    -webkit-background-size: cover;
    -moz-background-size: cover;
    background-size: cover;
}

    .outer-wrapper-slide .title, .outer-wrapper-slide p {
        display: inline-block;
        vertical-align: middle;
    }

    .outer-wrapper-slide p {
        font-size: 24px;
    }

.carousel-opacity {
    background-color: #000000;
    width: 100%;
    height: 500px;
    position: absolute;
    top: 0px;
    left: 0px;
    z-index: 1;
    opacity: 0.1;
}

/*#region Carousel Pagination */
.carousel-bullets {
    position: absolute;
    bottom: 20px;
    left: 50%;
    z-index: 99;
    list-style: none;
    -moz-transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -o-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    transform: translateX(-50%);
}

    .carousel-bullets li {
        display: inline-block;
        margin: 3px;
    }

    .carousel-bullets a {
        width: 10px;
        height: 10px;
        display: inline-block;
        text-align: center;
        line-height: 10px;
        color: #fff;
        font-size: 12px;
        text-indent: -99px;
        overflow: hidden;
        -webkit-border-radius: 50%;
        border-radius: 50%;
        background-color: #999999;
        overflow: hidden;
        cursor: pointer;
    }

        .carousel-bullets a:hover, .carousel-bullets .selected:hover a, .carousel-bullets a:focus, .carousel-bullets .selected:focus a {
            background-color: #00019f;
        }

    .carousel-bullets .selected a {
        background-color: #ffffff;
    }

/*#endregion*/

/*#region Carousel Arrows */

.carousel-arrow {
    width: 30px;
    height: 30px;
    position: absolute;
    top: 50%;
    margin-top: -15px;
    cursor: pointer;
    display: block;
    overflow: hidden;
    text-align: center;
    line-height: 26px;
    z-index: 999;
    color: #ffffff;
    font-size: 2em;
}

.outer-wrapper-carousel .carousel-arrow {
    width: 60px;
    height: 60px;
    margin-top: -32px;
    line-height: 55px;
    -webkit-border-radius: 50%;
    border-radius: 50%;
    border: 2px solid #ffffff;
    opacity: 0.5;
}

    .outer-wrapper-carousel .carousel-arrow:hover, .outer-wrapper-carousel .carousel-arrow:focus {
        opacity: 1;
    }

.carousel-arrow-left {
    left: 20px;
}

    .carousel-arrow-left:before {
        content: "\f104";
        margin-left: -3px;
    }

.carousel-arrow-right {
    right: 20px;
}

    .carousel-arrow-right:after {
        content: "\f105";
        margin-right: -3px;
    }




/*#endregion*/

/*#endregion*/


/*#region Banner */

.outer-wrapper-banner {
    color: #ffffff;
    height: 300px;
    background-position: center;
    background-repeat: no-repeat;
    -webkit-background-size: cover;
    -moz-background-size: cover;
    background-size: cover;
}

    .outer-wrapper-banner .inner-wrapper, .outer-wrapper-banner .row, .outer-wrapper-banner .col {
        height: 100%;
        position: relative;
    }

.banner-content {
    position: absolute;
    top: 50%;
    left: 0;
    width: 100%;
    padding: 20px;
    -moz-transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -o-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
}

.title-sub {
    font-size: 1.4em;
    line-height: 1em;
    margin: 0;
}
/*#endregion*/


/*#region Titles */

.title {
    line-height: 1em;
    margin-bottom: 0.25em;
}

.title-icon {
    text-align: center;
}

    .title-icon:before {
        font-size: 2em;
        font-weight: normal;
        display: block;
        line-height: 1.4em;
        width: 50px;
        margin: 0 auto;
        text-align: center;
    }

.title-icon-news:before {
    content: "\f1ea";
}

.title-icon-time:before {
    content: "\f017";
}

.title-icon-message:before {
    content: "\f003";
}

.title-icon-training:before {
    content: '';
    width: 50px;
    height: 50px;
    margin: 5px auto 0;
    background-image: url(/images/icon-training.png);
    background-position: center center;
    background-repeat: no-repeat;
}

.title-hero {
    margin: 0 0 0.2em 0;
    display: inline-block;
    vertical-align: middle;
}

.ie .title-hero {
    line-height: 1.2em !important;
}

.sub-title {
    display: block;
    padding: 0px;
    text-align: left;
    border-bottom: 1px solid #eee;
    padding: 5px 0px;
}


/*#endregion*/

/*#region Quick Links */


.quicklinks {
    width: 100%;
    list-style: none;
    float: left;
    padding: 20px 5px;
    margin: 0;
}

    .quicklinks li {
        float: left;
        width: 16.6666%;
        padding: 5px;
        margin: 0;
    }

.quicklink {
    display: table;
    width: 100%;
    padding-bottom: 100%;
    overflow: hidden;
    background-color: #333;
    color: #fff;
    position: relative;
}

    .quicklink:hover, .quicklink:focus {
        background-color: #000;
        text-decoration: none;
    }

    .quicklink:before, .quicklink:after {
        z-index: 2;
        line-height: 1em;
    }

    .quicklink .icon {
        font-size: 8em;
        line-height: 1em;
        -moz-opacity: 0.2;
        -khtml-opacity: 0.2;
        opacity: 0.2;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=20)";
        filter: alpha(opacity=20);
        position: absolute;
        bottom: -0.1em;
        left: -0.1em;
        z-index: 1;
    }

.ie .quiclink:before {
    display: none;
}

.quicklink:after {
    font-size: 1.2em;
    position: absolute;
    top: 14px;
    right: 14px;
    text-decoration: none;
    z-index: 2;
}

.quicklink-membership .icon:after, .quicklink-membership:after {
    content: "\f007";
}

.quicklink-classes .icon:after, .quicklink-classes:after {
    content: "\f017";
}

.quicklink-health .icon:after, .quicklink-health:after {
    content: "\f21e";
}

.quicklink-kids .icon:after, .quicklink-kids:after {
    content: "\f1ae";
}

.quicklink-volunteer .icon:after, .quicklink-volunteer:after {
    content: "\f1cd";
}

.quicklink-services .icon:after, .quicklink-services:after {
    content: "\f05a";
}

.quicklink-find .icon:after, .quicklink-find:after {
    content: "\f002";
}

.quicklink-tennis .icon:after {
    content: url('/images/tennis-icon.png');
}

.quicklink-tennis:after {
    content: url('/images/tennis-icon-small.png');
}

.quicklink-gymnastics .icon:after, .quicklink-gymnastics:after {
    content: "\f1ae";
}

.quicklink-inner {
    position: absolute;
    bottom: 0;
    left: 0;
    padding: 14px;
    width: 100%;
    height: auto;
    z-index: 4;
}


.quicklink-title {
    font-weight: bold;
    display: inline-block;
    vertical-align: text-bottom;
    margin-bottom: 0;
    width: 100%;
}

.quicklink-cta {
    width: 100%;
    vertical-align: text-bottom;
    font-size: 0.8em;
    margin-top: 0.25em;
}

.isTouch .quicklink-cta, .quicklink:hover .quicklink-cta, .quicklink:focus .quicklink-cta {
    display: inline-block;
}


/*#endregion*/

/*#region Breadcrumbs */

.breadcrumbs {
    list-style: none;
}

    .breadcrumbs li {
        margin: 0;
        padding: 0;
        display: inline-block;
        vertical-align: middle;
    }

        .breadcrumbs li:before {
            content: '/';
            margin-right: 10px;
        }

        .breadcrumbs li a {
            color: #333333;
        }

        .breadcrumbs li:first-child:before {
            display: none;
        }

.breadcrumb-home {
    width: 44px;
}

/*#endregion*/

/*#region Message Area */
.outer-wrapper-messages {
    padding: 20px 0;
    text-align: center;
    position: relative;
}

    .outer-wrapper-messages, .outer-wrapper-messages a, .outer-wrapper-messages .title {
        color: #ffffff;
    }

.message-text {
    display: block;
    line-height: 1.4em;
    margin: 1em 0;
}

.message-cta {
    display: inline-block;
    font-style: italic;
    font-size: 0.8em;
    padding: 5px 10px;
    border: 2px solid transparent;
    -webkit-border-radius: 3px;
    border-radius: 3px;
}

    .message-cta:hover, .message-cta:focus {
        text-decoration: none;
        border-color: #fff;
    }

    .message-cta:before, .message-cta:after {
        content: '-';
        margin: 0 0.5em;
    }

.outer-wrapper-messages:after {
    content: '';
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 25px 25px 0 25px;
    border-color: #bb004e transparent transparent transparent;
    position: absolute;
    top: 100%;
    left: 50%;
    margin-left: -25px;
}

#message-carousel {
    text-align: center !important;
}

    #message-carousel .row {
        padding: 0 30px;
    }

/*#endregion*/

/*#region Classes Carousel */
.outer-wrapper-classes {
    position: relative;
}

.classes-slide {
    float: left;
    position: relative;
    height: 300px;
    text-align: center;
}

    .classes-slide > a {
        width: 100%;
        height: 100%;
        display: table;
        z-index: 2;
        text-align: center;
        color: #ffffff;
    }

    .classes-slide img {
        display: inline-block;
        z-index: 1;
        width: auto;
        min-width: 100%;
        height: 100%;
    }

    .classes-slide a {
        position: absolute;
        top: 0;
        left: 0;
    }

    .classes-slide > a > span {
        display: table-cell;
        vertical-align: middle;
    }

.classes-cta {
    display: none;
    font-size: 0.8em;
    margin-top: 0.5em;
    padding: 5px 10px;
    border: 2px solid transparent;
    -webkit-border-radius: 3px;
    border-radius: 3px;
    text-decoration: none;
    border-color: #fff;
}

.classes-slide a:hover, .classes-slide a:focus {
    background-color: rgba(0,0,0,0.6);
}

    .classes-slide a:hover .classes-cta, .classes-slide a:focus .classes-cta {
        display: inline-block;
    }

/*#endregion*/

/*#region Articles */
.col.article {
    width: 25%;
}

.article-item {
    background-color: #ffffff;
    border: 1px solid #ddd6d6;
}

.article-item-text {
    color: #000000;
    padding: 20px;
}

.article-item-title, .article-item-title a {
    color: #000000;
    font-size: 1.2em;
    font-weight: normal;
    line-height: 1em;
    margin: 0 0 1em;
}

.article-item-text .button {
    margin: 0;
}

/*#endregion*/

/*#region Promo Area */
.row-reverse {
    direction: rtl;
    text-align: left;
}

.outer-wrapper-promo {
    padding: 40px 0;
    position: relative;
    color: #ffffff;
}

    .outer-wrapper-promo .title h2 {
        color: #ffffff;
    }

.promo-main {
    width: 49.3%;
    float: none;
    display: inline-block;
    vertical-align: middle;
}

.outer-wrapper-promo:after {
    content: '';
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 25px 25px 0 25px;
    border-color: #42b5e8 transparent transparent transparent;
    position: absolute;
    top: 100%;
    left: 50%;
    margin-left: -25px;
}

/*#endregion*/

/*#region Content */

.content {
    width: 70%;
    float: right;
    padding: 10px 10px 10px 20px;
}

.content-main {
    background-color: #ffffff;
    padding: 15px;
}


.content-title, .content .content-title {
    margin-bottom: 15px;
    font-size: 1.4em;
    font-weight: normal;
    line-height: 0.9em;
    padding: 15px;
    background-color: #ffffff;
}

.content-sub {
    float: left;
    width: 50%;
    padding: 7px;
    font-size: 0.9em;
}

.content-sub-third {
    width: 33.3333%;
}

.content-main img {
    margin-bottom: 15px;
}

.content ul {
    margin-bottom: 1em;
    margin-left: 20px;
}

.content li {
    width: 100%;
    line-height: 1.4em;
    margin-left: 0;
}

ul.price-tag {
    list-style: none;
    padding-left: 0;
    margin-left: 0;
}

    ul.price-tag li {
        margin-left: 0;
    }

        ul.price-tag li:before {
            content: "\f02b";
            margin-right: 10px;
        }

ul.info {
    list-style: none;
    margin: 0;
}

    ul.info li {
        border-bottom: 1px solid #e1e1e1;
        display: block;
    }

.info-item {
    padding: 13px 10px;
    display: block;
}

.info-documents a {
    color: #333333;
}

    .info-documents a:after {
        content: "\f0f6";
        float: right;
        margin-left: 10px;
        color: #009fe4;
    }

.infotype {
    text-transform: uppercase;
}

.infotype-negative {
    color: #cc0066;
}

.infotype-positive {
    color: #854a84;
}

ul.trainers {
    list-style: none;
    padding-left: 0;
    margin-left: 0;
}

    ul.trainers li {
        margin-left: 0;
    }

        ul.trainers li:before {
            margin-right: 10px;
        }

.content h4, .content h5, .content h6 {
    margin-bottom: 0.5em;
}

/*#endregion*/

/*#region Sidebar */
.sidebar-container {
    width: 30%;
    float: left;
}

.sidebar {
    background-color: #fff;
    line-height: 1em;
}

.sidebar-title {
    color: #ffffff;
    padding: 10px 15px;
    background-color: #333333;
}

.sidebar-links {
    list-style-type: none;
    font-size: 0.9em;
    border: 1px solid #999999;
}

    .sidebar-links, .sidebar-links li {
        width: 100%;
        display: block;
    }

        .sidebar-links li {
            margin: 0;
            border-top: 1px solid #999999;
        }

            .sidebar-links li:first-child {
                border-top: none;
            }

        .sidebar-links a {
            padding: 10px 15px;
            display: block;
            color: #333333;
        }

            .sidebar-links a:after {
                content: "\f105";
                float: right;
            }

            .sidebar-links a:hover, .sidebar-links a:focus {
                background-color: #ebebeb;
                text-decoration: none;
            }

        .sidebar-links .sidebar-link-active, .sidebar-links .sidebar-link-active:hover, .sidebar-links .sidebar-link-active:focus {
            color: #ffffff;
            background-color: #009fe4;
        }

.circle {
    font-size: 0.8em;
    font-weight: bold;
    min-width: 20px;
    height: 20px;
    padding: 0 8px 0 7px;
    text-align: center;
    line-height: 20px;
    display: inline-block;
    -webkit-border-radius: 20px;
    border-radius: 20px;
}

.circle-message {
    color: #ffffff;
    background-color: #bb004f;
}

/*#endregion*/



/*#region Timetables */

.row-filters {
    position: relative;
}

.timetable-options {
    position: absolute;
    right: 20px;
    top: 20px;
    font-size: 0.9em;
}

.timetable-filters {
    width: 100%;
    font-size: 0.9em;
    list-style: none;
    display: inline-block;
    margin: 1em 0;
    text-align: center;
}

    .timetable-filters li {
        margin: 0;
        display: inline-block;
    }

    .timetable-filters a {
        display: block;
        padding: 4px 6px;
        color: #333333;
        border: 2px solid #333333;
        -webkit-border-radius: 3px;
        border-radius: 3px;
    }

        .timetable-filters a:hover, .timetable-filters a:focus {
            text-decoration: none;
            border-color: #854a84;
            color: #854a84;
        }

    .timetable-filters .timetable-filter-active, .timetable-filters .timetable-filter-active:hover, .timetable-filters .timetable-filter-active:focus {
        color: #ffffff;
        background-color: #854a84;
        border-color: #854a84;
    }

.row-timetable {
    padding: 0 10px 30px 10px;
    font-size: 0.9em;
}

.timetable-title {
    height: 40px;
    line-height: 40px;
    padding: 0 10px;
    text-transform: uppercase;
}

.timetable-info-next {
    text-transform: uppercase;
}

.timetable-hours, .timetable-day {
    list-style: none;
    float: left;
    width: 12.5%;
}

.timetable-day {
    text-align: center;
    margin: 0;
    height: 100%;
    display: block;
    position: relative;
}

.timetable-hours {
    margin: 40px 0 0;
    font-weight: bold;
}

.timetable-center, .timetable-day a {
    width: 100%;
    height: 100%;
    display: table;
}

    .timetable-center span, .timetable-day a > span {
        display: table-cell;
        vertical-align: middle;
    }

.timetable-hours ul, .timetable-day ul {
    background: url(/images/bg-timetable.gif) top left;
    position: relative;
    height: 1080px;
}

.timetable-hours li, .timetable-day li {
    width: 100%;
    text-align: center;
    display: inline-block;
    vertical-align: middle;
    margin: 0;
}

.timetable-day li {
    position: absolute;
    left: 0;
    border-left: 1px solid #ffffff;
}

.timetable-hours li {
    height: 60px;
}


    .timetable-hours li:last-child, .timetable-day li:last-child {
        border-bottom: none;
    }

.timetable-hours li, .timetable-day a {
    padding: 6px 10px;
}

.timetable-day a {
    width: 100%;
    height: 100%;
    color: #ffffff;
    background-color: #854a84;
    border-bottom: 1px solid #ffffff;
}

.class-period-0-15 {
    height: 15px;
    overflow: hidden;
}

.class-period-0-30 {
    height: 30px;
    overflow: hidden;
}

.class-period-0-45 {
    height: 45px;
}

.class-period-1 {
    height: 60px;
}

.class-period-1-15 {
    height: 75px;
}

.class-period-1-30 {
    height: 90px;
}

.class-period-1-45 {
    height: 90px;
}

.class-period-2 {
    height: 120px;
}

.class-period-2-30 {
    height: 150px;
}

.class-period-3 {
    height: 180px;
}

/*
.class-start-5
{
	top:0;
}
.class-start-5-15
{
	top:15px;
}
.class-start-5-30
{
	top:30px;
}
.class-start-5-45
{
	top:45px;
}
.class-start-6
{
	top:60px;
}
.class-start-6-15
{
	top:75px;
}
.class-start-6-30
{
	top:90px;
}
.class-start-6-45
{
	top:105px;
}
.class-start-7
{
	top:120px;
}
.class-start-7-15
{
	top:135px;
}
.class-start-7-30
{
	top:150px;
}
.class-start-7-45
{
	top:165px;
}
.class-start-8
{
	top:180px;
}
.class-start-8-15
{
	top:195px;
}
.class-start-8-30
{
	top:210px;
}
.class-start-8-45
{
	top:225px;
}
.class-start-9
{
	top:240px;
}
.class-start-9-15
{
	top:270px;
}
.class-start-9-30
{
	top:285px;
}
.class-start-9-45
{
	top:300px;
}
.class-start-10
{
	top:315px;
}
.class-start-10-15
{
	top:330px;
}
.class-start-10-30
{
	top:345px;
}
.class-start-10-45
{
	top:360px;
}
.class-start-11
{
	top:375px;
}
.class-start-11-15
{
	top:390px;
}
.class-start-11-30
{
	top:405px;
}
.class-start-11-45
{
	top:420px;
}
.class-start-12
{
	top:435px;
}
.class-start-12-15
{
	top:450px;
}
.class-start-12-30
{
	top:465px;
}
.class-start-12-45
{
	top:480px;
}
.class-start-13
{
	top:505px;
}
.class-start-13-15
{
	top:520px;
}
.class-start-13-30
{
	top:535px;
}
.class-start-13-45
{
	top:550px;
}
.class-start-14
{
	top:565px;
}
.class-start-14-15
{
	top:580px;
}
.class-start-14-30
{
	top:595px;
}
.class-start-14-45
{
	top:610px;
}
.class-start-15
{
	top:625px;
}
.class-start-15-15
{
	top:625px;
}
.class-start-15
{
	top:625px;
}
.class-start-15
{
	top:625px;
}
.class-start-16
{
	top:60px;
}
.class-start-17
{
	top:60px;
}
.class-start-18
{
	top:60px;
}
.class-start-19
{
	top:60px;
}
.class-start-20
{
	top:60px;
}
*/

.timetable-day .class-next a {
    background-color: #00ccff;
}

.class-time {
    margin-top: 5px;
    width: 100%;
    display: inline-block;
}

.class-time-attendant {
    margin-top: 0px;
}

.class-attendant {
    display: block;
}

.timetable-hint {
    float: right;
}

/*#endregion*/

/*#region Colours */

.color-primary {
    color: #00019f;
}

.color-secondary {
    color: #bb004e;
}

.color-tertiary {
    color: #854a84;
}

.color-quaternary {
    color: #333333;
}

.color-quinary {
    color: #127983;
}


/*#endregion*/


/*#region [page or template name] */






/*#endregion*/

/*#endregion*/

/*#region Fonts */

/*
Non Page Manager fonts only
No padding, positioning, margins, etc
*/

html, body {
    color: #333333;
    font-family: Arial, 'Helvetica', Verdana, Sans-Serif;
    font-size: 1em;
    font-weight: normal;
    line-height: 1em; /* Do not globally change. Change in font classes */
}

.title-icon:before, .carousel-arrow-left:before, .carousel-arrow-right:after, .quicklink .icon:after, .quicklink:after, .sidebar-links a:after, .price-tag li:before, .trainers li:before, .sidebar-title:after, .info-documents a:after, .timetable-day a > span:before, .timetable-filter-active:after {
    font-family: FontAwesome;
}

.col p {
    line-height: 1.4em;
    margin-bottom: 1em;
}

    .col p:last-child {
        margin-bottom: 0;
    }

.title {
    letter-spacing: -0.08em;
}

.title-hero {
    font-family: 'Arial Black', 'Arial Bold', Arial, 'Helvetica', Verdana, Sans-Serif;
    font-weight: bolder;
    font-size: 4.5em;
    color: #ffffff;
    letter-spacing: -0.06em;
    line-height: 1em;
}

a {
    color: #0000e9;
    text-decoration: none;
}

    a:hover, a:focus {
        text-decoration: underline;
    }

.content a:visited {
    color: #551a8b;
}

.footer {
}

.font-normal {
    font-weight: normal;
}

ul.forthcoming-events {
    margin-left: 0px;
}

    ul.forthcoming-events li {
        margin-bottom: 15px;
    }

.forthcoming-inner {
    list-style-type: circle;
}

    .forthcoming-inner li {
        font-size: 0.9em;
        margin-bottom: 0px !important;
        line-height: 1.5em;
        margin-left: 0px;
    }

/*#endregion*/

/****************************** PAGING ******************************/

.paging {
    text-align: right;
    font-size: 14px;
}

    .paging span, .paging a {
        -webkit-border-radius: 3px;
        border-radius: 3px;
        color: #ffffff;
        border: 2px solid #00019f;
        background-color: #00019f;
        padding: 4px 7px;
        margin-left: 7px;
        text-decoration: none;
    }

    .paging .active {
        color: #00019f;
        background-color: #dddddd;
    }

    .paging a:hover, .paging a:focus {
        color: #00019f;
        background-color: #dddddd;
        text-decoration: none;
    }

    .paging a:visited {
        color: #ffffff;
    }

/****************************** PAGING END ******************************/

.popup h1, .popup h2, .popup h3, .popup h4 {
    color: #333 !important;
    margin-top: 0;
}

.popup .outer-page {
    padding-bottom: 0;
    margin-bottom: 0;
}

.single-border-table, .single-border-table td, .single-border-table th {
    border: 1px solid #999999;
    border-collapse: collapse;
}

    .single-border-table th, .single-border-table td {
        text-align: left;
        padding: 10px;
        vertical-align: top;
    }

.col-location-map {
    float: left;
    width: 48%;
}

.col-location-details {
    float: right;
    width: 48%;
}

/*#endregion*/

/****************************** FORMS  ******************************/

.content-form input, .content-form textarea, .content-form select, .basket-item-name input, .basket-item-cost input, .progressuser, .popup-droplist {
    width: 100%;
    margin-bottom: 20px;
    border: 2px solid #ccc;
    color: #8f8f8f;
    padding: 13px 20px;
    border-top-left-radius: 2px;
    border-bottom-left-radius: 2px;
}

.content-form select {
    color: #000000;
}

.content-popup input {
    margin-bottom: 0px;
}

.content-popup-title {
    margin-bottom: 10px;
    font-weight: 600;
}

.content-form-checkbox input {
    width: auto;
    float: left;
    margin-right: 10px;
    margin-top: 3px;
    margin-bottom: 10px;
}

content-form-checkbox label {
    float: left;
    margin-bottom: 10px;
}

.content-form {
    line-height: 1.8em;
}

.form-checkboxlist {
    white-space: nowrap;
    margin-left: 20px;
    width: 100%;
}

    .form-checkboxlist td {
        width: 20%;
    }

    .form-checkboxlist input {
        width: auto;
        margin-right: 10px;
    }

.form-button {
    background-color: #0000e9;
    -webkit-border-top-left-radius: 5px;
    -moz-border-radius-topleft: 5px;
    border-top-left-radius: 5px;
    -webkit-border-top-right-radius: 5px;
    -moz-border-radius-topright: 5px;
    border-top-right-radius: 5px;
    -webkit-border-bottom-right-radius: 5px;
    -moz-border-radius-bottomright: 5px;
    border-bottom-right-radius: 5px;
    -webkit-border-bottom-left-radius: 5px;
    -moz-border-radius-bottomleft: 5px;
    border-bottom-left-radius: 5px;
    text-indent: 0;
    border: 2px solid #0000e9;
    display: inline-block;
    color: #ffffff;
    font-family: Arial;
    font-size: 16px;
    font-weight: normal;
    font-style: normal;
    height: 36px;
    width: 200px;
    text-decoration: none;
    text-align: center;
    margin-bottom: 20px;
}

    .form-button:hover, .form-button:focus {
        background-color: #e6e6e6;
        color: #0000e9;
    }

.margin-right {
    margin-right: 10px;
}

.riSingle [type='text'].riTextBox {
    margin-left: 2px !important;
    margin-bottom: 20px !important;
    border: 1px solid #ccc !important;
    color: #8f8f8f !important;
    padding: 11px 20px !important;
    border-top-left-radius: 2px !important;
    border-bottom-left-radius: 2px !important;
    font-size: 1.3em !important;
    font-weight: 400 !important;
    height: 45px;
    width: 140px !important;
}

.button:active {
    position: relative;
    top: 1px;
}

.content-form input[type=radio], .content-form .cbl input[type=checkbox] {
    width: 15px;
    height: 15px;
    margin: 0 20px 20px;
    display: inline;
    padding: 0px;
    border: none;
}

.content-form input[type=checkbox] {
    padding: 0px;
    border: none;
}

.content-form .cbl label {
    display: inline-block;
    width: 200px;
}

.contentformcheckbox input {
    width: auto;
}
/** CSS for telerik panel used in user-profile form */

.RadPanelBar_MetroTouch .rpExpanded.rpLink, .RadPanelBar_MetroTouch .rpExpanded.rpHeaderTemplate {
    border-bottom: 1px solid #cdcdcd !important;
    background-color: #f9f9f9 !important;
    color: #000 !important;
}

.RadPanelBar_MetroTouch {
    background-color: rgba(222, 237, 244, 1) !important;
    font: inherit !important;
    line-height: inherit !important;
}

.RadPanelBar .rpRootGroup {
    border-width: 0px !important;
}

.rpitem:after {
    margin-bottom: 15px;
}

.hide {
    display: none;
}

.basket-item-name {
    float: left;
    width: 80%;
}

.basket-item-cost {
    float: left;
    width: 10%;
    text-align: left;
}

.basket-item-remove {
    float: right;
    width: 10%;
    text-align: right;
}

.basket-total {
    font-size: 1.3em;
    float: left;
    width: 10%;
    text-align: left;
}

.basket-total-name {
    float: left;
    width: 80%;
    font-size: 1.3em;
}

.basket-concession-name {
    float: left;
    width: 66%;
}

.basket-concession-cost {
    float: left;
    width: 20%;
    text-align: right;
}

.basket-concession-apply {
    float: right;
    width: 10%;
    text-align: right;
}

.basket-dropdown {
    border: 1px solid #ccc;
    border-bottom-left-radius: 2px;
    border-top-left-radius: 2px;
    color: #8f8f8f;
    margin-bottom: 20px;
    min-width: 150px;
}

.basket-item-full {
    width: 100%;
}

.basketred {
    color: Red;
}

hr {
    height: 1px;
    color: #333;
    background-color: #333;
    margin: 15px 0;
}
/*#endregion*/

/****************************** Dashboards  ******************************/

.dashboard Table {
    width: 100%;
    font-size: 0.8em;
}

.dashboard thead {
    font-weight: 600;
    font-size: 1.2em;
}

.col-attendance {
    width: 33%;
    padding: 0px 5px;
    float: left;
}

.attendance-half {
    float: left;
    width: 50%;
    margin-bottom: 5px;
}

.achivement-course, .achivement-dates {
    width: 33%;
    float: left;
    margin-bottom: 5px;
}

.achivement-link {
    width: 33%;
    text-align: right;
    float: right;
    margin-bottom: 5px;
}

    .achivement-link .button, .manager-button {
        margin-top: 0px;
        margin-bottom: 0px;
    }

.manager-button {
    margin-left: 10px;
}

.achievment-users label {
    margin-left: 5px;
    margin-right: 5px;
}

.popup-droplist {
    margin-bottom: 0px;
}

.button-nomargin {
    margin-top: 5px;
    margin-bottom: 5px;
}
/*#endregion*/

/*#region Payment pages */
.paymentlabel {
    float: left;
    width: 25%;
}

.paymentinput {
    float: left;
    width: 75%;
}
/*#endregion*/

.booking-column {
    width: 22%;
    float: left;
    margin-bottom: 5px;
    line-height: 1.5em;
}

.booking-link-column {
    width: 10%;
    margin-bottom: 5px;
    float: right;
}

.booking-item-column {
    float: left;
    width: 16%;
    margin-bottom: 5px;
}

.booking-item-column-dates {
    float: left;
    width: 22%;
    margin-bottom: 5px;
}

.facility-closed {
    text-align: center;
    vertical-align: middle;
    color: White;
    background-color: #bb004f;
}

    .facility-closed div {
        display: table;
        height: 100%;
        width: 100%;
    }

        .facility-closed div span {
            display: table-cell;
            text-align: center;
            vertical-align: middle;
            height: 100%;
            width: 100%;
        }

.facility-book, .facility-book-past {
    background-color: transparent !important;
    color: transparent !important;
    border-bottom: none !important;
}

    .facility-book:hover, .facility-book:focus {
        background-color: #854a84 !important;
        color: White !important;
    }

.content-title h1, .content-title h1 a, h1.content-title, h1.content-title a {
    color: #333;
    margin-top: 0px;
    margin-bottom: 0px;
    font-size: 1em;
    font-weight: normal;
}

h1, h1 a {
    color: #fff;
}

.errortext {
    color: Red;
}

.facility-closed .facility-hour, .facility-hour {
    display: none;
}

.facility-weekend {
    background-color: #854a84;
    padding: 0px 10px;
}

.attendantlink {
    text-align: left;
}

    .attendantlink:hover, .attendantlink:focus {
        text-decoration: none;
    }

.connected-facility-booked {
    background-color: #bb004f;
}

    .connected-facility-booked a {
        border-bottom: 0;
        display: block;
    }

.instructor-course, .instructor-dates {
    width: 25%;
    float: left;
}

.required:before {
    color: Red;
    content: '* ';
}

.RadPanelBar_MetroTouch .rpExpandable .rpExpandHandle {
    background-image: none !important;
    border: none !important;
}

    .RadPanelBar_MetroTouch .rpExpandable .rpExpandHandle:before {
        content: "\f0dd";
        font-family: FontAwesome !important;
        position: absolute;
        top: -5px;
        right: 14px;
    }

.RadPanelBar_MetroTouch .rpExpanded .rpExpandHandle {
    background-image: none !important;
}

    .RadPanelBar_MetroTouch .rpExpanded .rpExpandHandle:before {
        content: "\f0de";
        font-family: FontAwesome !important;
        position: absolute;
        top: 4px;
        right: 14px;
    }

.progress h3 {
    font-weight: normal;
    font-size: 1.2em;
    line-height: 1.9em;
}

.loginemail {
    float: left;
    width: 49%;
}

.loginpassword {
    float: right;
    width: 49%;
}

.accountitem {
    background-color: #f19824;
}

.addresslistbox {
    width: 330px;
    height: 140px;
    margin-bottom: 2px;
}

.addresslistboxcontainer {
    width: 330px;
}

.textbox.postcode {
    width: 75%;
}

.button-postcode {
    margin: 0.5em 0;
}

.clearerdesktop {
    clear: both;
}

.rpTemplate {
    overflow: hidden !important;
}

.event-blue {
    color: #00019e;
}

.rcTable {
    width: 180px !important;
}

.sidebar-title div {
    display: inline;
}

.sessionfull {
    padding: 20px;
    text-align: center;
    background-color: rgb(223, 238, 245);
    margin-bottom: 10px;
}

    .sessionfull span {
        font-weight: bold;
        font-size: 2em;
        display: block;
    }
