/*===============================
================================
========  JOIN ONLINE ==========
================================
===============================*/
@import url('https://fonts.googleapis.com/css?family=Alegreya+Sans:400,700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Source+Sans+Pro:wght@300;400;700&display=swap');
@import url('https://use.typekit.net/mbz1qmz.css');

h1, h2, h3, h4,
    li, th, td,
    input, option, textarea {
      font-family: 'futura-pt', 'Source Sans Pro', 'Alegreya Sans', sans-serif;
}

p { font-family: 'Source Sans Pro'; }

h4 {
    font-weight: 500;
    font-size: 16px;
    color: #0B2749!important;
    margin: 0;
}
input[type=date]::-webkit-inner-spin-button,
input[type=date]::-webkit-outer-spin-button,
input[type=date]::-webkit-calendar-picker-indicator {
    opacity: 1;
}
form .jo-input input, form .jo-input select, form .jo-input input[type=text], form .jo-input input[type=number], form .jo-input input[type=password],
form .jo-input input[type=date], form .jo-input input[type=time], form .jo-input input[type=email], form.jo-input  textarea {
    border: 1px solid #dadada;
    font-family: 'Source Sans Pro';
}
form input[type=text], form input[type=number], form input[type=password], form input[type=date], form input[type=time], form input[type=email], form textarea{
    border: 1px solid #dadada;
    font-family: 'Source Sans Pro';
}
.join-online-wrapper {
    padding-bottom: 20px;
    background: #ffffff;
    position: relative;
}
.join-online-slick, .jo-inner-wrapper {
    max-width: 1300px;
    margin: 0 auto;
    width: calc(100% - 10px);
    overflow: hidden;
}
.jo-inner-wrapper { max-width: 1000px; margin-top: -70px; border-top: 4px solid #0e2340; padding: 20px; box-sizing: border-box; background-color: #fff;}
.jo-inner-wrapper p { margin: 0; }
.jo-inner-wrapper .confirmation-block {  background-color: #fff; padding: 20px; margin-bottom: 1em; border-bottom: 1px solid #ececec; }
.jo-inner-wrapper .confirmation-item { margin-bottom: 1em; min-width: 33%; display: inline-block; padding-bottom: 10px; }
.jo-inner-wrapper .confirmation-item:nth-child(2) { padding-left: 20px; }
.jo-inner-wrapper .confirmation-block table tr th { background-color: #fff; border: none; padding: 0.2em 0.3em; }
.jo-inner-wrapper .confirmation-block table tr td { background-color: #fff; border: none; padding: 0.2em 0.3em; }
.jo-inner-wrapper .confirmation-block table tr td:not(:first-child),
.jo-inner-wrapper .confirmation-block table tr th:not(:first-child) { width: 20%; max-width: 165px; text-align: right; }

#first-step-options {
    clear: both;
}

.club_group {
    margin-top: 20px;
}
.club_group .jo-options-box {
    text-align: center;
}
.cg_label {
    display: inline-block;
    padding: 10px 20px;
    background: #000;
    color: #FFF;
    font-size: 18px;
    text-transform: uppercase;
    font-family: 'futura-pt', 'Source Sans Pro', 'Alegreya Sans', sans-serif;
    cursor: pointer;
    max-height: 44px;
}
.cg_label span:last-child {
    display: none;
}
.cg_label span:last-child * {
    margin: 4px;
    vertical-align: middle;
}
.cg_input:checked + .cg_label {
    background: transparent;
    color: #000;
}
.cg_input:checked + .cg_label span:first-child {
    display: none;
}
.cg_input:checked + .cg_label span:last-child {
    display: inline-block;
}
.cg_input {
    height: 1px;
    width: 1px;
    position: absolute;
    visibility: hidden;
}
.jo_header {
    text-align: center;
}
.jo_slick h3 {
    font-family: 'futura-pt', 'Source Sans Pro', 'Alegreya Sans', sans-serif;
    text-transform: uppercase;
    font-weight: bold;
}
.jo-options-header h3 { margin-bottom: 0; }
.jo_slick h2, .interstitial-holder h1 {
    display: inline-block;
    font-size: 40px;
    text-align: center;
    font-weight: bold;
    margin: 20px 0;
    letter-spacing: 0;
    /* border-bottom: 3px solid #0e2340; */
}
.jo-location{
    width: 100%;
    position: relative;
    padding: 30px;
    background-color: #ececec;
    text-align:  center;
}
.slick-slide.jo_slick{
    display: block !important;
    height: 100% !important;
    min-height: 1px;
}
form .jo_slick select, form .jo_slick .jo-location-input {
    width: 100%;
    margin: 0;
    vertical-align: middle;
    max-width: 47%;
    font-family: 'Source Sans Pro', 'Alegreya Sans', sans-serif;
}
/* form .jo_slick select {
    background-image: url(https://d2i5k26porb7uz.cloudfront.net/95d3e070-6ae5-44b3-9704-3eb38cb4f19b/assets/images/join-online/scroll.svg);
    background-repeat: no-repeat;
    background-size: 18px;
    background-position: 98% center;
    border: 1px solid #dadada;
    font-family: 'Roboto';
} */
.jo-location-input{
    display: inline-block;
    position: relative;
}
.jo-location-input #autocomplete { padding-left: 5em; }

.jo-location-input a.jo-geolocation {
    content: " ";
    position: absolute;
    left: 0;
    top: -8px;
    width: 50px;
    height: 50px;
    background-image: url(https://d2i5k26porb7uz.cloudfront.net/95d3e070-6ae5-44b3-9704-3eb38cb4f19b/assets/images/join-online/green-location.svg);
    background-size: 50px;
    background-repeat: no-repeat;
}
.jo-location-input a.jo-submit-autocomplete {
    content: " ";
    position: absolute;
    right: 10px;
    top: 2px;
    width: 28px;
    height: 28px;
    background-image: url(https://d2i5k26porb7uz.cloudfront.net/95d3e070-6ae5-44b3-9704-3eb38cb4f19b/assets/images/join-online/green-right-arrow.svg);
    background-size: 28px;
    background-repeat: no-repeat;
}
form .jo_slick .jo-location-input input{
    width: 100%;
}
.jo-location span {
    padding: 0 20px;
    font-size: 16px;
    font-weight: 800;
    text-transform: uppercase;
    font-family: 'futura-pt', 'Source Sans Pro', 'Alegreya Sans', sans-serif;
}
.jo-arrows {
    max-width: 1300px;
    margin: 30px auto;
    padding: 30px;
    position: relative;
    width: 100%;
    overflow: hidden;
}
.slick-disabled {
    display: none!important;
}
.jo-arrow-next, .jo-arrow-inside-next, .jo-arrow-final {
    position: absolute;
    padding: 15px 30px 15px 30px;
    background: #0e2340;
    font-size: 23px;
    font-weight: 800;
    text-transform: uppercase;
    font-family: 'futura-pt', 'Source Sans Pro', 'Alegreya Sans', sans-serif;
    letter-spacing: 1px;
    line-height: 30px;
    right: 0;
    cursor: pointer;
    top: 0;
    color: #fff;
}
.jo-arrow-final .prevented { background-color: #f3f3f3; pointer-events: none !important; }
.jo-arrow-prev, .jo-arrow-reset {
    position: absolute;
    padding: 15px 30px 15px 30px;
    background: #ececec;
    font-size: 23px;
    font-weight: 800;
    text-transform: uppercase;
    font-family: 'futura-pt', 'Source Sans Pro', 'Alegreya Sans', sans-serif;
    letter-spacing: 1px;
    line-height: 30px;
    left: 0;
    cursor: pointer;
    top: 0;
}
.jo-arrow-prev { left: 140px; }
.jo-arrow-inside-prev {
    position: absolute;
    padding: 20px 30px 10px 30px;
    background: #ececec;
    font-size: 23px;
    font-weight: 800;
    text-transform: uppercase;
    font-family: 'futura-pt', 'Source Sans Pro', 'Alegreya Sans', sans-serif;
    letter-spacing: 1px;
    line-height: 30px;
    left: 0;
    cursor: pointer;
    top: 0;
}
.jo-submit{
    position: absolute;
    padding: 20px 30px 10px 30px;
    background: #0e2340;
    font-size: 23px;
    font-weight: 800;
    text-transform: uppercase;
    font-family: 'futura-pt', 'Source Sans Pro', 'Alegreya Sans', sans-serif;
    letter-spacing: 1px;
    line-height: 30px;
    right: 0;
    cursor: pointer;
    top: 0;
    border: none;
}
.save_later_wrapper {
    text-align: center;
    font-weight: bold;
    font-size: 14px;
    color: #0B2749;
}
.save_later_wrapper a {
    cursor: pointer;
}
#save_later_email {
    width: 100%;
    max-width: 400px;
    display: inline-block;
    padding: 8px;
}
.jo-nav {
    margin: 0px auto;
    position: sticky;
    top: 0px;
    width: 100%;
    overflow: hidden;
    background: #FFFFFF;
    box-shadow: 0 5px 10px 0 rgba(14,34,64,.15);
    margin-bottom: 30px;
    z-index: 999;
}

.jo-nav ul.slick-dots {
    max-width: 1300px;
    margin: 0 auto;
    position: relative;
    height: auto;
    overflow: auto;
    display: block!important;
    -webkit-font-smoothing: auto;
}
.jo-nav .slick-dots li {
    display: flex;
    flex-wrap: wrap;
    width: 22%;
    float: left;
    position: relative;
    cursor: pointer;
    height: 60px;
    padding: 0;
    transition: .3s all;
}
.jo-nav .slick-dots li.slick-active {
    width: 34%;
}
.jo-nav .slick-dots li > span {
    position: absolute;
    bottom: 0;
    display: inline-block;
    width: 100%;
    height: 4px;
    background-color: transparent;
}
.jo-nav .slick-dots li.complete > span {
    background-color: #4bb1db;
}
.jo-nav .slick-dots li.slick-active > span {
    background-color: #0B2749;
}
.jo-nav .slick-dots li a {
    height: 100%;
    width: 100%;
    border-right: 2px solid #F2F2F2;
    display: flex;
    align-items: center;
    padding-left: 10%;
    font-weight: bold;
}
.jo-nav .slick-dots li .step_dot {
    width: 22px;
    height: 22px;
    border-radius: 22px;
    background: #f2f2f2;
    margin-right: 10px;
}
.jo-nav .slick-dots li:first-child a {
    border-left: 2px solid #F2F2F2;
}

.jo-summary {
    width: 100%;
    position: fixed;
    bottom: 0;
    background-color: #0B2749;
    border-top: 1px solid #D8D8D8;
    z-index: 999;
    box-shadow: 0 -5px 10px 0 rgba(0, 0, 0, 0.01);
    transition: .3s all;
}
.jo-summary.hide {
    bottom: -300px;
}
.jo-summary-inner {
    max-width: 1300px;
    display: flex;
    margin: 0 auto;
    padding: 20px 0;
    position: relative;
    transition: .3s all;
}
.jo-summary-item {
    display: inline-block;
    vertical-align: top;
    padding: 0 10px;
    width: 25%;
}
.jo-summary-item.double-item {
    width: 50%;
}
.double-item .inner-summary {
    width: 50%;
    display: inline-grid;
}
.jo-summary-item * {
    color: #FFF!important;
}
.jo-summary-item p {
    margin: 0;
    font-family: 'futura-pt', 'Source Sans Pro', 'Alegreya Sans', sans-serif;
    font-weight: bolder;
}
.jo-summary-item p b {
    font-weight: 500;
}
.jo-summary-item .hidden-summary {
    /* display: none; */
    margin-bottom: 5px;
}
.jo-summary-inner.shrunk .hidden-summary {
    display: none;
}
.item-0 .summary-totals {
    width: 50%;
    float: right;
}
.item-0 .summary-inner-wrapper {
    padding-bottom: 5px;
    margin-bottom: 5px;
    border-bottom: 1px solid #FFF;
}
.summary-expand {
    position: absolute;
    top: -14px;
    right: 0;
    height: 28px;
    width: 28px;
    border-radius: 50px;
    background-color: #0B2749;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: .3s all;
    cursor: pointer;
    border: 2px solid #FFF;
}
.summary-expand.shrink {
    transform: rotate(180deg);
}

/*
a.jo-summary-edit {
    position: absolute;
    top: 5px;
    right: 5px;
    background-image: url(https://d2i5k26porb7uz.cloudfront.net/95d3e070-6ae5-44b3-9704-3eb38cb4f19b/assets/images/join-online/edit.svg);
    background-size: 15px;
    padding: 10px;
    background-repeat: no-repeat;
    background-position: center;
} */
.jo-container {
    text-align: center;
    max-width: 600px;
    margin: 0 auto;
}
.jo-module-box {
    display: block;
    position: relative;
    width: calc(50% - 20px);
    min-height: 350px;
    float: left;
    text-align: center;
    margin: 10px;
    padding: 20px;
    /* background-color: #ececec; */
    border: 1px solid #D8D8D8;
}
div.jo-badge {
    padding: 15px 10px 15px 10px;
    z-index: 10;
    font-size: 16px;
    line-height: 20px;
}
.jo-module-content {
    padding-top: 50px;
}
.jo-module-colour {
    display: block;
    margin: 0 auto;
    height: 0;
    background: #cd7f32;
    border-radius: 0;
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    padding: 25px 30px;
    font-weight: bold;
    text-transform: uppercase;
    z-index: 1;
    font-family: 'futura-pt', 'Source Sans Pro', 'Alegreya Sans', sans-serif;
    font-size: 16px;
    text-align: left;
    line-height: 2px;
    -webkit-font-smoothing: auto;
}
.jo-module-box:nth-child(2) .jo-module-colour{
    background:#C0C0C0;
}
.jo-module-box:nth-child(3) .jo-module-colour{
    background:#FFD700;
}
.jo-module-box:nth-child(4) .jo-module-colour{
    background:#006a75;
}
.jo-bronze .jo-module-colour{
    background: #cd7f32;
}
.jo-silver .jo-module-colour{
    background:#C0C0C0;
}
.jo-gold .jo-module-colour{
    background:#FFD700;
}
.jo-wellness .jo-module-colour{
    background:#006a75;
}
.jo-module-content h2 {
    font-size: 20px;
    text-transform: uppercase;
    display: block;
    border: none;
    margin: 10px 0;
}
/*.jo-module-content h2 span {
    font-weight: 500;
    text-transform: lowercase;
}*/
.jo-module-content h2 span {
    font-weight: 500;
    text-transform: lowercase;
    display: block;
    font-size: 20px;
}
.jo-modules label {
    display: inline-block;
    font-size: 18px;
    text-transform: uppercase;
    margin: 0 auto;
    padding: 12px 20px 10px 20px;
    font-family: 'futura-pt', 'Source Sans Pro', 'Alegreya Sans', sans-serif;
    color: #fff;
    background-color: #0B2749;
    cursor: pointer;
    text-align: center;
}

.jo-module-content {
    padding-top: 50px;
}
.jo-icons{
    margin: 0 auto;
    display: block;
}

.jo-module-item {
    position: relative;
}
a.jo-link-wrapper {
    position: absolute;
    top: 0;
    display: block;
    bottom: 0;
    left: 0;
    z-index: 5;
    cursor: pointer;
    right: 0;

}
.jo-module-item img {
    width: 75px;
}
.jo-module-item h3 { margin-top: -10px; }
.jo-module-item h2 {
    padding-top: 18px;
    font-size: 32px;
}

/* Tooltip container */
.tooltip {
    position: relative;
    cursor: pointer;
    display: inline-block;
    z-index: 0;
    /* border-bottom: 1px dotted black; /* If you want dots under the hoverable text */
}

/* Tooltip text */
.tooltip .tooltiptext {
    visibility: hidden;
    width: 200px;
    background-color: black;
    color: #fff;
    text-align: center;
    padding: 5px 0;
    border-radius: 6px;

    /* Position the tooltip text - see examples below! */
    position: absolute;
    z-index: 1;
    bottom: 29px;
    left:0;
}
.tooltip .tooltiptext::after {
    content: " ";
    position: absolute;
    top: 100%; /* At the bottom of the tooltip */
    left: 10px;
    margin-left: -5px;
    border-width: 5px;
    border-style: solid;
    border-color: black transparent transparent transparent;
}
span.tooltip img {
    width: 15px;
}
input[name*=select_bundle].hidden {
    visibility: hidden;
}

.jo-module-selected {
    font-size: 18px;
    font-family: 'futura-pt', 'Source Sans Pro', 'Alegreya Sans', sans-serif;
    text-transform: uppercase;
    font-weight: bold;
    visibility: hidden;
}
.jo-module-box.jo-selected .jo-module-selected{
    visibility: visible;
}
.jo-module-box.jo-selected label {
    background: #0e2340;
    color: #FFF;
    text-transform: unset;
    text-decoration: underline;
}
form .jo-module-content p {
    text-align: center;
    max-width: 220px;
    min-height: 66px;
    font-weight: bold;
}
form .jo-module-totals p { min-height: 0px; }

span.plus {
    line-height: 80px;
    display: inline-block;
    /* vertical-align: middle; */
    font-size: 30px;
    font-weight: bold;
    margin: 0 10px;
}
.jo-module-item {
    display: inline-block;
    vertical-align: middle;
    max-width: 120px;
}
.jo-bundles h3 {
    text-align: center;
}
.jo-bundles h3 {
    text-align:  center;
}

.jo-bundle {
    width:  75px;
    height:  75px;
    border-radius:  25px;
    display: inline-block;
    margin-right: 10px;
}

.jo-bundles {
    text-align:  center;
}
.jo-modules-out {
    position: fixed;
    top: 0;
    bottom:  0;
    left: 0;
    right: 0;
    background: rgba(0, 0, 0, 0.3);
    z-index: 9999;
    padding-top: 60px;
    display: none;
}
.jo-out-item, #modal{
    position:  absolute;
    display:  block;
    width:  100%;
    max-width:  768px;
    margin: 30px auto;
    padding: 1em;
    background-color: #fff;
    top: -100px;
    opacity: 0;
    transition-duration: .3s;
    -webkit-transition-duration: .3s;
}
.jo-modules-out h3 {
    font-weight: bold;
    text-align: center;
}

.jo-modules-out p {
    font-size: 16px;
}
.jo-modules-out.jo-out-active {
    display: block;
}

.jo-out-item.jo-out-active,
#modal.jo-out-active {
    z-index:  10;
    position: relative;
    opacity: 1;
    top: 0;
}
.jo-out-item span.close {
    position: absolute;
    right: 20px;
    font-size: 40px;
    font-weight: bold;
    transform: rotate(45deg);
    color: #000;
    cursor: pointer;
}
.jo-out-item span.close:nth-child(2) {bottom: 10px;}

.jo-out-item span.close:first-child {top: 10px;}
.jo-input {
    display:  inline-block;
    position: relative;
    vertical-align: top;
}

input[type=submit].jo-submit-btn {
    padding: 15px 30px 15px 30px;
    background: #0e2340;
    font-size: 23px;
    font-weight: 800;
    text-transform: uppercase;
    font-family: 'futura-pt', 'Source Sans Pro', 'Alegreya Sans', sans-serif;
    letter-spacing: 1px;
    line-height: 30px;
    right: 0;
    cursor: pointer;
    top: 0;
    color: #fff;
    border: 2px solid #0e2340;
}

input[type=submit].jo-submit-btn:hover, input[type=submit].jo-submit-btn:focus {
    background: #fff;
    color: #0e2340;
    border: 2px solid #0e2340;
}

input[type=text]:focus,
input[type=email]:focus,
input[type=date]:focus,
input[type=password]:focus,
select:focus,
textarea:focus {
    outline: none;
    border-bottom: 2px solid #0e2340;
}

select#jol_form_title, form .jo-input select[id^=jol_form_child_title] {
    max-width: 100%;
    width: 140px;
    margin-right: 10px;
}
input#jol_form_firstname, input[name="jol_form_childfirstname[]"], input#jol_form_postcode,  input#jol_form_dob  {
    width: 204px;
    margin: 0 10px;
}
input#jol_form_surname, input[name="jol_form_childsurname[]"] {
    width: 210px;
    margin-left: 10px;
}
input#jol_form_email,
input[name="jol_form_child_email[]"] {
    width: 100%;
}
input#jol_form_mobile,
input#jol_form_confirmpassword,
select#jol_form_salesrep,
input[name="jol_form_child_mobile[]"] {
    width: 288px;
    margin-left: 10px;
    max-width: none;
}
input#jol_form_password {
    width: 289px;
    margin-right: 10px;
    margin-bottom: 20px;
}
label#jol_form_password-error {
    bottom: -5px;
}
select#jol_form_gender, form .jo-input select[id^=jol_form_child_gender] { width: 289px; margin-right: 10px; max-width:100%; }

.jo-details {
    padding: 20px;
    /* background: #f3f3f3; */
    border: 1px solid #D8D8D8;
    height: auto;
    overflow: auto;
    position: relative;
    display: block;
    margin-bottom: 40px;
}
form .jo-details label{
    font-size: 16px;
    font-weight: normal;
    margin-bottom: 5px;
}

/*
 * Marketing Channels Opt In
 */
.marketing_pref_wrapper {
    width: 100%;
    display: flex;
    justify-content: space-between;
    border: 1px solid #D8D8D8;
    border-radius: 3px;
}

.marketing_pref_wrapper div {
    flex: 1 0;
    border-right: 1px solid #D8D8D8;
}

.marketing_pref_wrapper div:last-of-type {
    border: none;
}

.marketing_pref_wrapper input {
    position: absolute;
    width: 1px;
    height: 1px;
    opacity: 0;
}

form label.jol_form_opt_item {
    width: 100%;
    height: 100%;
    margin: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 10px 20px;
    padding-left: 0;
    cursor: pointer;
    background-color: #F9F9F9;
}

.jol_form_opt_item .faux_checkbox {
    width: 22px;
    height: 22px;
    border-radius: 22px;
    border: 1px solid #D8D8D8;
    display: inline-block;
    margin-right: 20px;
}

.jol_form_opt_item p {
    margin: 0;
}

.marketing_pref_wrapper input:checked + label {
    background-color: #FFF;
}

.marketing_pref_wrapper input:checked + label > span {
    background-color: #FFF;
    box-shadow: inset 0 0 0 6px #0B2749;
    border-color: transparent;
}

@media(max-width: 460px) {
    .marketing_pref_wrapper {
        flex-wrap: wrap;
    }
    .marketing_pref_wrapper div {
        width: 100%;
        flex: none;
        border-right: none;
        border-bottom: 1px solid #D8D8D8;
    }
    .marketing_pref_wrapper div:last-of-type {
        border-bottom: none;
    }
}

#jol_form_accountnumber.success, form input[id^=jol_form_sortcode].success { border: 2px solid #0e2340; }
form .jo-details label.error, form .jo-input label.error, .row label.error { position: absolute; margin-top: 5px; font-size: 12px; }
form .jo-details input.error, form .jo-input input.error, .row input.error, form select.error  { border-bottom: 2px solid red; }
#jol_form_accountnumber.error, form input[id^=jol_form_sortcode].error { border: 2px solid red; }
#jol_form_accountnumber.bank-error, form input[id^=jol_form_sortcode].bank-error { border: 2px solid red; }

.margin-left-10{
    margin-left: 10px;
}
.jo-details .row{
    margin: 30px auto;
    text-align: left;
    position: relative
}
select#jol_form_birthday {
    width: 75px;
    margin-right: 10px;
}

select#jol_form_birthmonth {
    width: 150px;
    margin: 0 10px;
}

select#jol_form_birthyear {
    margin-left:  10px;
    width: 100px;
}
#jol_form_join{
    width: 288px;
    margin-left: 10px;
    max-width: 100%;
}
#jol_form_ref {
    width: 289px;
    margin-right: 10px;
    max-width: 100%;
}
input#jol_form_referred{
    width: 100%;
}
/* Customize the label (the container) */
.container {
    display: inline-block;
    position: relative;
    padding-left: 35px;
    margin-bottom: 12px;
    cursor: pointer;
    font-size: 22px;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    line-height: 25px;
    margin-right: 5px;
}
.container.jol_pt {
    font-size: 14px;
}
/* Hide the browser's default checkbox */
.container input {
    position: absolute;
    opacity: 0;
    cursor: pointer;
}
/* Create a custom checkbox */
.checkmark {
    position: absolute;
    top: 0;
    left: 0;
    height: 25px;
    width: 25px;
    background-color: #ffffff;
    border: 1px solid #dadada;
}
/* On mouse-over, add a grey background color */
.container:hover input ~ .checkmark {
    background-color: #ccc;
}
/* When the checkbox is checked, add a blue background */
.container input:checked ~ .checkmark {
    background-color: #0e2340;
}
/* Create the checkmark/indicator (hidden when not checked) */
.checkmark:after {
    content: "";
    position: absolute;
    display: none;
}
/* Show the checkmark when checked */
.container input:checked ~ .checkmark:after {
    display: block;
}
/* Style the checkmark/indicator */
.container .checkmark:after {
    left: 8px;
    top: 3px;
    width: 5px;
    height: 10px;
    border: solid white;
    border-width: 0 3px 3px 0;
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
}
.break {
    display: block;
    margin: 10px auto;
    position: relative;
    height: 20px;
}

a.jo-link, a.jo-link:link, a.jo-link:visited {
    color: #ffffff;
    text-decoration: none;
    padding: 11px 10px 6px 10px;
    background: #000;
    font-size: 16px;
    text-transform: uppercase;
    font-weight: bold;
    font-family: 'futura-pt', 'Source Sans Pro', 'Alegreya Sans', sans-serif;
    display: inline-block;
    vertical-align: top;
}
.jo-childs {
    padding: 20px;
    background: #f3f3f3;
    height: auto;
    overflow: auto;
    position: relative;
    display: block;
    margin-bottom: 40px;
}
/* .jo-childs .row:first-child .jo-input {
    display: inline-block;
    width: 49%;
    margin: 0 auto;
} */
/* .jo-childs .row:first-child .jo-input input{
    width: 90%;
    display: block;
} */
form .jo-childs label{
    font-size: 16px;
    font-weight: normal;
    margin-bottom: 5px;
}
select[name*="jol_form_childbirth"] {
    width: 150px !important;
    margin-right: 10px !important;
}
select[name*="jol_form_childbirthyear"] {
    margin-left:  10px !important;
}
.jo-childs .row {
    margin: 20px auto;
    text-align: left;
}
.confirm_child,
.cancel_child {
    position: relative;
    display: block;
    margin: 0 auto;
    background: #0e2340;
    color: #FFF;
    text-transform: uppercase;
    font-family: 'futura-pt', 'Source Sans Pro', 'Alegreya Sans', sans-serif;
    cursor: pointer;
    text-align:center;
}
.confirm_child.disabled {
    pointer-events: none;
    background: gray;
}
.membership-box {
    /* background: #f3f3f3; */
    border: 1px solid #d8d8d8;
    margin-top: 20px;
    position: relative;
    width: 100%;
    padding: 50px 20px;
    margin-bottom: 20px;
}
span.number {
    display: block;
    font-size: 40px;
    font-weight: bold;
    font-family: 'futura-pt', 'Source Sans Pro', 'Alegreya Sans', sans-serif;
    text-transform: uppercase;
}
span.subline {
    font-family: 'futura-pt', 'Source Sans Pro', 'Alegreya Sans', sans-serif;
    text-transform: uppercase;
    font-weight: bold;
    display: block;
    font-size: 20px;
    margin-bottom: 20px;
}
input#jol_form_accountname {
    width: 100%;
}
input#jol_form_sortcode1, input#jol_form_sortcode2, input#jol_form_sortcode3 {
    width: 90px;
    text-align: center;
    margin-right: 10px;
}
input#jol_form_sortcode3 {
    margin-right: 0;
}
input#jol_form_accountnumber {
    width: 290px;
    margin-right: 10px;
}
.white-box {
    position:  relative;
    padding: 20px;
    background: #fff;
}
.white-box-img {
    position:  absolute;
    right: 20px;
    top: 20px;
}
.white-box {
    position: relative;
    padding: 40px 20px;
    background: #fff;
}
.slick-inside-slide.slick-slide {
    display: block !important;
    height: 100% !important;
    min-height: 1px;
}
.slick-inside {
    width: 100%;
    display: block;
    overflow: hidden;
}
.jo-inside-arrows {
    position: relative;
    display: block;
    height: 60px;
}
.jo-accordion img{
    display: inline-block;
    vertical-align: middle;
    margin-right: 10px;
}
.jo-accordion p {
    margin: 0 auto;
    vertical-align: middle;
    display: inline-block;
}
.jo-accordion icon {
    font-weight: bold;
    font-family: 'futura-pt', 'Source Sans Pro', 'Alegreya Sans', sans-serif;
    transform: rotate(90deg);
    position: relative;
    display: inline-block;
    vertical-align: middle;
    font-size: 12px;
    margin-left: 5px;
}
.jo-accordion {
    position: relative;
    display: block;
    width: 100%;
    padding: 10px;
    background: #f3f3f3;
    margin: 20px 0 40px 0;
}
.jo-accordion-container {
    padding: 20px;
}
select#jol_form_selectcard {
    width:  100%;
    display:  block;
    max-width: 100%;
    border: 1px solid #dadada;
}

input#jol_form_cardholername {
    display: block;
    width: 100%;
}

input#jol_form_cardnumber {
    display:  block;
    width:  100%;
}
.join-online-confirmation {
    background: #ffffff;
}
.jo-confirmation-wrapper{
    max-width: 1300px;
    margin: 0 auto;
    width: 100%;
    overflow: hidden;
}
.jo-details.jo-confirmation .row{
    text-align: center;
}
.jo-options {
    display:  block;
    position:  relative;
    padding-top: 50px;
    height: auto;
    overflow: auto;
}
.jo-options-header {
    text-align:  center;
}
.jo_slick .jo-options-header h2 {
    display:  block;
    border:  none;
    margin: 0 auto;
}
.jo_slick .jo-options-header span {
    text-transform:  uppercase;
    font-size:  14px;
    font-weight: bold;
}
.jo_slick .jo-options-header p{
    font-size: 16px;
    text-align: center;
}
.jo-childtype-boxes {
    display: flex;
    flex-wrap: wrap;
}

.jo-options-boxes,
.jo-payoptions-boxes,
.jo-payoptions2-boxes {
    display: flex;
    flex-wrap: wrap;
}

.jo-options-box,
.jo-childtype-box,
.jo-box,
.jo-member-option {
    float: left;
    display: block;
    width: 49%;
    margin-right: 1%;
    padding: 30px;
    /* background: #f3f3f3; */
    position: relative;
    margin-bottom: 2%;
    border: 1px solid #D8D8D8;
}
.choose_partner_type {
    cursor: pointer;
}
.choose_partner_type.disabled {
    opacity: 0.2;
    pointer-events: none;
}
.jo-options-box:nth-child(2n) {
    margin-left: 1%;
    margin-right: 0;
}
.jo-box-popular, .jo-badge {
    position: absolute;
    top: 0;
    right: 0;
    color: #FFF;
    background: #0e2340;
    padding: 8px 10px;
    font-weight: 500;
    text-transform: uppercase;
    font-family: 'futura-pt', 'Source Sans Pro', 'Alegreya Sans', sans-serif;
    font-size: 14px;
    z-index: 5;
}
.jo-box-popular::before,  .jo-badge::before {
    content: " ";
    position: absolute;
    display: block;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    z-index: -1;
    background: #0B2749;
    transform-origin: bottom left;
    -ms-transform: skew(20deg, 0deg);
    -webkit-transform: skew(20deg, 0deg);
    transform: skew(20deg, 0deg);
}
.jo-box-selected .jo-box-popular,
.jo-box-selected .jo-badge {
    background: #FFF;
    color: #0B2749!important;
}

.jo-box-selected .jo-box-popular::before,
.jo-box-selected .jo-badge::before {
    background: #FFF;
}
span.jo-box-subline {
    display: block;
    font-size: 16px;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 20px;
}
.jo_slick .jo-options-box h2,
.jo-payoptions-box h2,
.jo-payoptions2-box h2,
.jo-childtype-box h2,
.jo-box h2,
.jo-member-option h2 {
    display: block;
    border: none;
    margin: 0;
    font-size: 30px;
    color: #0B2749;
    font-weight: 500;
    text-align: left;
}
.jo_slick .jo-options-box p{
    font-size: 16px;
}

.jo-box-icon label {
    display: inline-block;
    font-size: 18px;
    text-transform: uppercase;
    margin: 0 auto;
    padding: 12px 20px 12px 20px;
    font-family: 'futura-pt', 'Source Sans Pro', 'Alegreya Sans', sans-serif;
    color: #fff;
    background: #0e2340;
    cursor: pointer;
}
.child_summary, .debit_summary { width: 100%; padding: 40px; /*background: #f3f3f3;*/ position: relative; border: 1px solid #D8D8D8; border-top: 4px solid #0e2340; margin-top: 2em; }
.debit_summary { margin-bottom: 2em; }
.child_summary .column, .debit_summary .column { display: inline-block; vertical-align: top; padding-right: 100px;  }
.child_summary .column:last-child, .debit_summary .column:last-child { padding-right: 0; float:right; }
.child_summary .column p, .debit_summary .column p { padding:0;margin:0; }
.child_summary .column .edit_child,
.child_summary .column .remove_child,
.debit_summary .column .edit_debit,
.debit_summary .column .remove_debit,
.add_new_child, .add_direct_debit, .in_club div { padding: 10px 30px; background: #0e2340; text-align: center; margin: 10px 0; font-weight: bold; font-size: 14px; font-family: 'futura-pt', 'Source Sans Pro', 'Alegreya Sans', sans-serif; cursor: pointer; color: #fff; }
.add_new_child, .add_direct_debit, .in_club div { padding: 10px 40px; max-width: 280px; margin: 20px auto; }

.cash-payment-message
{
    max-width: 280px;
    padding: 15px;
    margin: 0 auto;
    background-color: rgba(190,214,0,0.2);
    border: 1px solid #bed600;
    font-weight: bold;
    color: #718000;
}
.cash-payment-message i
{
    margin: 5px;
}

.add_direct_debit,
.confirm_child,
.cancel_child { font-size: 23px; padding: 15px 30px 15px 30px; font-weight: 800; line-height: 30px; }
.confirm_child { width: 320px; }
.cancel_child {
    padding: 10px;
    font-size: 16px;
    float: left;
    width: 140px;
}

.jo-box-icon input{
    visibility: hidden;
    opacity: 0;
}
.jo-box-icon label.label-active{
    width: 101px;
    color: #000;
    background: #0e2340;
    text-decoration: underline;
}
.jo-options-box.jo-box-selected,
.jo-member-option.jo-box-selected,
.jo-childtype-box.jo-box-selected,
.jo-box.jo-box-selected,
.jo-childform-box.jo-box-selected {
    /* background: #0e2340; */
    box-shadow: 0 5px 10px 0 rgba(14,34,64,.15);
    border-color: #0B2749;
}
.jo-box-selected {
    background-color: #0B2749!important;
}
.jo-box-selected * {
    color: #FFF!important;
}
.jo-payoptions-box, .jo-payoptions1-box, .jo-payoptions2-box, .jo-daypass-box {
    float: left;
    display: none;
    width: 49%;
    margin-right: 1%;
    padding: 30px;
    /* background: #f3f3f3; */
    position: relative;
    margin-bottom: 2%;
    border: 1px solid #D8D8D8;
}
.active-option { display: block; }
/* .jo-payoptions-box:nth-child(2n) {
    margin-left: 1%;
    margin-right: 0;
} */
.jo-payoptions1-box:nth-child(2n) {
    margin-left: 1%;
    margin-right: 0;
}
/* .jo-payoptions2-box:nth-child(2n) {
    margin-left: 1%;
    margin-right: 0;
} */
.daypass-date { display: block; margin: 11px auto; }
.jo-payoptions, .jo-payoptions1, .jo-payoptions2, #daypass-options {
    display: block;
    position: relative;
    padding-top: 50px;
    height: auto;
    overflow: auto;
}
.jo-payoptions1, .jo-payoptions2 {
    display: block;
    position: relative;
    padding-top: 0;
    height: auto;
    overflow: auto;
}
/* .jo-payoptions-box:nth-child(3n) {
    margin-left: 1%;
    margin-right: 0;
} */
.jo-payoptions1-box:nth-child(3n) {
    margin-left: 1%;
    margin-right: 0;
}
.jo_slick .jo-payoptions-box h2, .jo-daypass-box h2 {
    display: block;
    border: none;
    margin-bottom: 0;
    font-size: 30px;
}
.jo_slick .jo-payoptions1-box h2 {
    display: block;
    border: none;
    margin-bottom: 0;
    font-size: 30px;
}
.jo_slick .jo-payoptions2-box h2 {
    display: block;
    border: none;
    margin-bottom: 0;
    font-size: 30px;
}
.jo_slick .jo-payoptions-box p, .jo-daypass-box p {
    text-align: left;
    font-size: 16px;
}
.jo_slick .jo-payoptions1-box p {
    font-size: 16px;
    text-align: left;
}
.jo_slick .jo-payoptions2-box p {
    font-size: 16px;
    text-align: left;
}

/****** LOADING SPINNER ********/
#loader,#modal-loader { padding: 50px; text-align: center; }
.lds-ripple {
    display: inline-block;
    position: relative;
    width: 64px;
    height: 64px;
  }
  .lds-ripple div {
    position: absolute;
    border: 4px solid #0e2340;
    opacity: 1;
    border-radius: 50%;
    animation: lds-ripple 1s cubic-bezier(0, 0.2, 0.8, 1) infinite;
  }
  .lds-ripple div:nth-child(2) { animation-delay: -0.5s; }

  @keyframes lds-ripple {
    0% {
      top: 28px;
      left: 28px;
      width: 0;
      height: 0;
      opacity: 1;
    }
    100% {
      top: -1px;
      left: -1px;
      width: 58px;
      height: 58px;
      opacity: 0;
    }
  }

/******* DISCOUNT CODE *********/
.promotion-code {
    width: 100%;
    text-align: center;
    display: none;
    background-size: 200% 100%;
    background-image: linear-gradient(to right, #bed60b 50%,#f3f3f3 50%);
    background-position: -100% 0;
    -webkit-transition: background-position 1s;
    -moz-transition: background-position 1s;
    transition: background-position 1s;
}
.mobile_payment_summary { margin-top:0;border:none; }
.promotion-code.success,
.promotion-code.alias-success { background-position: 0 0 }
.promotion-code > label { margin: 0 auto; display: inline-block; padding: 10px; font-size: 14px; vertical-align: middle; }
.promotion-code label input { margin-left: 10px; }
.promotion-code div.btn { display: inline-block; padding: 10px 20px; background-color: #0e2340; vertical-align: middle; text-transform: uppercase; font-weight: bold; font-size: 14px; cursor: pointer; z-index: 2; color: #fff; }
.promotion-code.success div.btn,
.promotion-code.alias-success div.btn { background-color: #000; color: #fff; }
.promotion-code .discount-response { text-align: center; text-transform: uppercase; font-weight: bold; display: inline-block; color: red; left: -100px; z-index: 1; vertical-align: middle; margin: 0 0 0 20px; }
.promotion-code .discount-response img { vertical-align: middle; margin-right: 15px; }
.promotion-code .discount-response.success,
.promotion-code .discount-response.alias-success { color: #000; }

.promotion-code label img {
    animation: bounce 2s infinite;
    margin-left: 20px;
    height: 40px;
    display: inline-block;
    vertical-align: middle;
}

span.jo-box-line {
    text-align: center;
    margin-top: 20px;
    position: relative;
    display: block;
    font-size: 16px;
    text-transform: uppercase;
    letter-spacing: 1px;
}
.jo-payoptions-box.jo-box-selected, .jo-payoptions1-box.jo-box-selected, .jo-payoptions2-box.jo-box-selected, .jo-daypass-box.jo-box-selected {
    /* background: #0e2340; */
    box-shadow: 0 5px 10px 0 rgba(14,34,64,.15);
    border-color: #0B2749;
}

.complete-section > div:not(.jo-box-selected) {
    opacity: 0.6;
}

.jo-options-selected {
    font-size: 18px;
    font-family: 'futura-pt', 'Source Sans Pro', 'Alegreya Sans', sans-serif;
    text-transform: uppercase;
    font-weight: bold;
    margin: 0 auto;
    opacity: 0;
    transition-duration: .3s;
}
.jo-options-selected img { vertical-align: middle;  filter: invert(1); }
.jo-box-selected .jo-options-selected {
    opacity: 1;
}
.jo-options{
    display: none;
}
.jo-payoptions, .jo-payoptions1, .jo-payoptions2{
    display: none;
}
.jo-location-value{
    display: none;
}
.prevented {
    pointer-events: none!important;
    background-color: #f3f3f3;
    color: #000;
}
.slick-dots li.prevented {
    background-color: transparent;
}
.confirm_child.prevented, .add_direct_debit.prevented { pointer-events: auto!important; cursor: default; }
.jo-details span.help-block.error-text {
    position: absolute;
    font-size: 12px;
    text-transform: uppercase;
    font-weight: bold;
    left: 10px;
    font-family: 'futura-pt', 'Source Sans Pro', 'Alegreya Sans', sans-serif;
    top: 60px;
}
.jo-childs span.help-block.error-text {
    position: absolute;
    font-size: 12px;
    text-transform: uppercase;
    font-weight: bold;
    left: 10px;
    font-family: 'futura-pt', 'Source Sans Pro', 'Alegreya Sans', sans-serif;
    top: 60px;
}
.jo-details .jo-details span.help-block.error-text {
    top: 27px;
}

p.error-text { font-weight: bold; position: absolute; }
.text-center{
    text-align: center!important;
}
.join-online-image-header .hero_sizer {
    padding-top: 15%;
}
@media(max-width: 1500px) {
    .join-online-image-header .hero_sizer {
        padding-top: 19%;
    }
}
.join-online-image-header .hero_overlay{
    left: 0;
    max-width: 600px;
    bottom: 30%;
    margin: 0 auto;
}
.join-online-image-header .hero_text span.hero_text__small_bold {
    text-align: center;
    text-transform: uppercase;
    color: #fff;
}
.join-online-image-header .hero_text {
    border-color: #0e2340;
}
.join-online-image-header .hero_text_subline{
    text-transform: uppercase;
    font-weight: bold;
    font-size: 16px;
    text-align: center;
    display: block;
    margin-top: 20px;
}
.join-online-image-header .hero_overlay {
    left: 0;
    max-width: 470px;
    bottom: 35%;
    margin: 0 auto;
    min-width: 0;
    width: 100%;
}
form .jo-container p{
  font-size: 16px;
}
.jo-payoptions-header, .jo-childtype-header, .jo-childform-header {
    text-align: center;
    padding-top: 50px;
}
.jo-childform-header, .jo-childtype-header { float:left; width:100%; }
.jo-payoptions-header p,
.jo-childtype-header p,
.jo-childform-header p {
    text-align: center;
    font-size: 16px;
    padding: 0 30px;
}
  .mobile-br{
    display: none;
}
.confirmation-block h2, .confirmation-block h1 {
    text-align: center;
    font-family: 'futura-pt', 'Source Sans Pro', 'Alegreya Sans', sans-serif;
    text-transform: uppercase;
    letter-spacing: .1em;
    font-weight: 500;
}
.confirmation-block thead {
    border-bottom: 1px solid #ececec;
}
.confirmation-block thead th {
    padding-bottom: 10px;
}
.confirmation-block .membership_row {
    cursor: pointer;
}
.confirmation-block .hidden-rows {
    display: none;
    background-color: #f5f5f5;
}
.jo-inner-wrapper .confirmation-block table tbody.hidden-rows tr td {
    background-color: transparent;
}
.confirm-item {
    width: 300px;
    display: flex;
    height: 300px;
    vertical-align: middle;
    align-items: center;
    text-align: center;
    float: left;
    position: relative;
}

.confirm-item p {
    color: #fff;
    font-weight: bold;
    text-align: center;
    font-size: 16px;
    text-transform: uppercase;
    font-family: 'futura-pt', 'Source Sans Pro', 'Alegreya Sans', sans-serif;
    letter-spacing: .1em;
    max-width: 180px;
    margin: 0 auto;

}
.confirmation-apps img {
    width: 130px;
}
.confirmation-block h2 {
    margin-top: 20px;
}
.confirmation-apps {
    text-align: center;
}
.confirm-item a {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
}
.confirmation-block .hero_call_to_action .button, .confirmation-block  .hero_call_to_action .button:hover{
    border-color: #0e2340!important;
    background-color: #0e2340!important;
}
.confirmation-boxes{
  margin-top: 20px;
}
.confirmation-block .hero_call_to_action {
    text-align: center;
    padding-top: 0;
}
.black-container{
    padding: 20px 10px;
    background: #000;
    text-align: center;
    margin-top: 15px;
}
.black-container *, .black-container p, .black-container a{
    color: #fff;
    font-size: 16px;
    font-weight: 500;
}
footer h3.text-center {
    color: #888;
    font-weight: 500;
    padding-top: 20px;
}
footer a { margin: 5px; }
footer a img { max-width: 25px; border-radius: 2px; }
/*****************************
Media Quieries
****************************/

@media(max-width:1320px){
  .jo_slick h3 {
    text-align: center;
  }
}
@media(max-width: 1200px){
  form .jo_slick select, form .jo_slick .jo-location-input{
    display: block;
    text-align: center;
    margin: 20px auto;
  }
  select#jol_form_birthday, #jol_form_birthmonth, #jol_form_birthyear,
  form .row select[id^=jol_child_form_birth] {
    display: inline-block;
  }
  form .jo-details select, form .jo-input select  { margin: 0 auto; }
}
@media(max-width:768px){

  .jo-summary{
    display: none;
  }
  .mobile_payment_summary { display: block; }
}
@media(max-width: 850px){
  form .jo_slick select, form .jo_slick .jo-location-input{
    max-width: 100%;
    margin: 10px auto;
  }
  form .jo-details select, form .jo-input select  { margin: 0 auto; }
.confirm-item {
    width: 32%;
  }
}
@media (max-width: 768px){
    /**
     * DOTS / NAVIGATION
     */
    .jo-nav .slick-dots li { width: 20%; }
    .jo-nav .slick-dots li.slick-active { width: 40%; }
    .jo-nav .slick-dots li a {
        justify-content: center;
    }
    .jo-nav .slick-dots li .step_dot { margin: 0; }
    .jo-nav .slick-dots li.slick-active .large_only {
        display: block;
    }
    .jo-nav .slick-dots li .large_only,
    .jo-nav .slick-dots li.slick-active .step_dot {
        display: none;
    }

  .confirm-item{
    width: 220px;
    height: 220px;
  }
    .jo-box-icon  label > * {
      pointer-events: none;
    }

    select#jol_form_gender { width: 100%; }
    input#jol_form_confirmpassword{
      margin-left: 0;
    }
    .jo-module-box {
        width: 100%;
        margin: 10px 0;
        padding: 50px 20px 20px 20px;
    }
    .jo-input {
        display: block;
    }
    .jo-childs .row:first-child .jo-input {
        display: block;
        width: 100%;
        margin: 0 auto;
    }
.jo-childs .row input {
    display: block;
    margin: 10px auto;
}
  select#jol_form_title, #jol_form_gender, #jol_form_ref, #jol_form_join, form .jo-input select[id^=jol_form_child_title], form .jo-input select[id^=jol_form_child_gender]  {
    max-width: 100%;
    width: 100%;
    margin-right: 0;
    margin: 10px 0;
  }
  .margin-left-10 {
    margin-left: 0;
  }
  input#jol_form_firstname, input[name="jol_form_childfirstname[]"], input#jol_form_postcode,  input#jol_form_dob   {
    width: 100%;
    margin: 10px 0;
  }
  input#jol_form_surname, input[name="jol_form_childsurname[]"] {
    width: 100%;
    margin-left: 0;
    margin: 10px 0;
  }
  input#jol_form_mobile {
    width: 100%;
    margin-left: 0;
    margin: 10px 0;
  }
  input#jol_form_birthyear {
    margin-left: 10px;
    width: 100px;
  }
  input#jol_form_homephone{
    margin: 10px 0;
  }
  input#jol_form_birthmonth {
    width: 100px;
    margin: 0 10px;
  }
  input#jol_form_birthday {
    width: 100px;
    margin-right: 10px;
  }
  input#jol_form_childbirthday {
    width: 100px;
    margin-right: 10px;
  }

  input#jol_form_childbirthmonth {
    width: 100px;
    margin: 0 10px;
  }

  input#jol_form_childbirthyear {
    margin-left: 10px;
    width: 100px;
  }
  #jol_form_ref {
    width: 100%;
    margin-right: 0;
    max-width: 100%;
  }
  #jol_form_join {
    width: 100%;
    margin-left: 0;
    max-width: 100%;
  }
  input#jol_form_accountnumber{
    margin-bottom: 15px;
  }
  .jo-options-box, .jo-payoptions-box, .jo-payoptions1-box, .jo-payoptions2-box, .jo-member-option, .jo-childtype-box, .jo-box, .jo-daypass-box {
    margin-left: 0;
    margin-right: 0;
    width: 100%;
    /* padding: 25px 10px 0 10px; */
  }
  .jo-payoptions-box:nth-child(2n){
    margin-left: 0;
    margin-right: 0;
  }
  .jo-options-box:nth-child(2n) {
    margin-left: 0%;
    margin-right: 0;
  }
  .jo-payoptions1-box:nth-child(2n) {
    margin-left: 0%;
    margin-right: 0;
  }
  input#jol_form_sortcode1, input#jol_form_sortcode2, input#jol_form_sortcode3 {
    width: 70px;
  }
  .white-box-img {
    position: relative;
    margin: 0 auto;
    text-align: center;
    right: 0;
    top: 0;
  }
  .jo-payoptions2-box:nth-child(2n) {
    margin-left: 0%;
    margin-right: 0;
  }
  .white-box{
    padding: 30px 10px;
  }
  .jo-inside-arrows{
    height: 140px;
  }
  .jo-arrow-inside-prev{
    top: 80px;
  }
  .join-online-image-header .hero_sizer {
    padding-top: 50%;
  }
  .join-online-image-header .hero_text span.hero_text__small_bold {
    font-size: 30px;
  }
  .jo-options-selected {
    width: 110px;
  }
  /******** PROMOTION CODE *********/
  .promotion-code label { text-align: center; display: block; }
  .promotion-code label span { display: block; }
  .promotion-code label input { margin: 10px; }
  .promotion-code div.btn { margin-bottom: 10px; }
  .promotion-code p.discount-response { vertical-align: text-bottom; }

    /**** SUMMARIES ****/
    .child_summary .column, .debit_summary .column { display: block; padding-right: 0; padding-bottom: 20px; }
    .child_summary .column:last-child, .debit_summary .column:last-child { float: none; }

    .jo-nav .slick-dots li a {
        padding: 0 5px;
    }
}

@media (max-width: 610px){
  .confirm-item{
    width: 100%;
    height: 150px;
  }
  .jo-container{
    padding: 0 20px;
  }
  .jo-modules-out {
    overflow: auto;
  }
  select[name*="jol_form_childbirth"] {
    width: 150px !important;
    margin-right: 0px !important;
  }
  select[name*="jol_form_childbirthyear"] {
    margin-left:  0px !important;
  }
  /** button **/
  .jo-arrow-prev { left: 70px; }
  .jo-arrow-reset{ max-width: 60px; padding: 15px 20px 15px 20px; }
}
@media(max-width:500px){
  .jo-location-input #autocomplete { padding-left: 4em; }
  .jo-gold .jo-module-box-wrapper{
    text-align: left;
    max-width: 200px;
    margin: 0 auto;
  }
  form .jo-module-content p {
    text-align: center;
    font-size: 11px;
    min-height: 0;
  }
  .mobile-br {
    width: 100%;
    display: block;
    height: 20px;
  }
  .jo-module-item {
    text-align: center;
  }
  .jo-module-item{
    width: 60px;
  }
  .jo-module-item img {
    width: 45px;
  }
.jo-module-item h2{
    margin: 0;
    font-size: 20px;
  }
  span.plus {
      line-height: 80px;
      display: inline-block;
      font-size: 24px;
      font-weight: bold;
      margin: 0 10px;
  }
  .jo-module-content h2 span{
    font-size: 15px;
  }
  /* form .jo-wellness .jo-module-content p {
      left: -20px;
      width: 200px;
      bottom: -25px;
      position:  absolute;
      line-height:  normal;
  } */
  form .jo-wellness .jo-module-content span img {
      padding-top: 0;
  }
  form .jo-wellness .jo-module-content img {
      padding-top: 16px;
  }
}
@media(max-width: 425px){
    .jo-location-input #autocomplete { padding-left: 3.2em; }
    #jol_form_accountnumber_label{
      margin-top: 30px;
    }
    input#jol_form_accountnumber {
      margin-bottom: 0;
  }
    input#jol_form_birthyear {
      margin-left: 5px;
      width: 80px;
    }
    input#jol_form_birthmonth {
      width: 80px;
      margin: 0 6px;
  }
  input#jol_form_birthday {
      width: 80px;
      margin-right: 5px;
  }
  input#jol_form_childbirthyear {
    margin-left: 5px;
    width: 80px;
  }
  input#jol_form_childbirthmonth {
    width: 80px;
    margin: 0 6px;
}
input#jol_form_childbirthday {
    width: 80px;
    margin-right: 5px;
  }
  .jo_slick h2 {
    font-size: 30px;
    padding-bottom: 10px;
  }
  .join-online-image-header .hero_sizer {
    padding-top: 70%;
  }
  .join-online-image-header .hero_text span.hero_text__small_bold {
    font-size: 30px;
  }
  .jo-module-item h2{
      margin: 0;
      font-size: 20px;
    }

    /***** PROMOTION CODES *******/
    .promotion-code div.btn { padding-bottom: 10px; }
}

@media(max-width:390px){
  .jo-location-input #autocomplete { padding-left: 3.2em; padding-right: 3.2em; }
  .ellipsis { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  a.jo-nav-item {
    font-size: 12px;
  }

  .join-online-image-header .hero_sizer {
    padding-top: 70%;
  }
  .jo-arrows{
    overflow: visible;
  }
  .jo-arrow-final{
    max-width: 40%;
  }
}
@media(max-width: 375px){
  select#jol_form_birthday, #jol_form_birthmonth, #jol_form_birthyear {
    display: inline-block;
    margin: 10px 0!important;
    width: 90px!important;
  }
  .jo-arrow-prev, .jo-arrow-reset{
      padding: 15px 20px 15px 20px;
  }
  .jo-out-item.jo-out-active, #modal.jo-out-active{
    max-height: 250px;
    overflow: scroll;
  }
  .jo-out-item span.close{
    position: fixed;
    top: 100px;
  }
  .jo-bundle {
    width: 25px;
    height: 25px;
  }
  .jo-module-box{
    padding: 50px 20px 0px 20px;
  }
  .jo-module-content {
    padding-top: 0px;
  }
  form .jo_slick select, form .jo_slick .jo-location-input {
    max-width: 100%;
    margin: 10px 0!important;
    width: 100%!important;
  }
}
@media(max-width: 330px){
  select#jol_form_birthday, #jol_form_birthmonth, #jol_form_birthyear {
    display: block;
    width: 100%!important;
  }
}
div.hide_payment {
    display: none!important;
}

#card-error {
    border: 2px solid #c00;
    color: #c00;
    padding: 1em;
}

#card-error:empty {
    display: none;
}

/********* MODALS ****************/
.open-modal, .reset-buttons a { cursor: pointer; }
.reset-buttons { text-align: center; }
.reset-buttons a { margin: 10px; }
#modal { max-height: 60vh; overflow: scroll; }


/********* INTERSTITIAL ****************/
.interstitial-holder {
    text-align: center;
    padding: 20vh 0;
    background-color: #fff;
    min-height: 90vh;
}
.interstitial-holder h1 {
    max-width: 600px;
    padding-bottom: 10px;
}

/**
 * Floating Errors
 */
.floating_error {
    position: fixed;
    bottom: 40px;
    padding: 20px;
    background-color: #FFF;
    border: 1px solid #ff8f8f;
    z-index: 10;
    transform: translateX(-50%);
    left: 50%;
    box-shadow: 0px 9px 7px 0px rgba(10, 10, 10, 0.1);
    border-radius: 4px;
    font-weight: bold;
    color: #2d2d2d;
    display: flex;
    align-items: center;
    cursor: pointer;
}

.floating_error p {
    margin: 0;
    font-size: 16px;
}

.floating_error_close {
    margin: 0 10px;
}

/********* ANIMATION  ****************/
@keyframes bounce {
    0%, 20%, 50%, 80%, 100% {
      transform: translateX(0);
    }
    40% {
      transform: translateX(-15px);
    }
    60% {
      transform: translateX(-7px);
    }
}

.homepage_wrapper {
    width: 100%;
    max-width: 1300px;
    margin: 40px auto;
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    background-color: #FFF;
    padding: 20px;
}

.homepage_club_wrapper {
    display: flex;
    flex-wrap: wrap;
}

.homepage_club {
    width: calc(33% - 20px);
    height: 250px;
    display: inline-block;
    background-size: cover;
    background-position: center;
    margin: 10px;
    box-sizing: border-box;
    position: relative;
}
.homepage_club a {
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    text-decoration: none;
    display: flex;
    align-items: flex-end;
    padding: 20px;
}
.homepage_club p {
    color: #FFF;
    font-weight: 500;
    font-size: 2em;
    margin-bottom: 0;
    font-family: 'futura-pt', 'Source Sans Pro', 'Alegreya Sans', sans-serif;
    text-transform: uppercase;
}
.homepage_club span {
    color: #FFF;
    font-size: 1.5em;
}

.tablet_mode_toggle span {
    padding: 5px 10px;
    border-radius: 3px;
    font-size: 14px;
    cursor: pointer;
}

.tablet_mode_toggle span.active {
    background-color: #f5f5f5;
}
.homepage_header {
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

@media(max-width: 1000px) {
    .homepage_club {
        width: calc(50% - 20px);
    }
}
@media(max-width: 560px) {
    .homepage_club {
        width: 100%;
        margin: 10px 0;
    }
}

.homepage_parent {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    margin: 40px 0;
}

.homepage_item {
    padding: 10px;
    width: 100%;
    max-width: 400px;
}

.homepage_item.item_large {
    max-width: 1300px;
}

.homepage_item.item_medium {
    max-width: 800px;
}

.homepage_item {

}

.item_inner {
    background-color: #FFF;
    display: flex;
    flex-direction: column;
    height: 100%;
}

.item_image {
    height: 20em;
    width: 100%;
    background-size: cover;
}

.item_content {
    display: flex;
    flex-direction: column;
    flex-grow: 1;
    justify-content: space-between;
    padding: 30px;
}

.find_member_wrapper .item_content {
    min-height: 260px;
}

.item_heading {
    text-align: center;
    font-weight: 500;
}

.item_content p {
    font-family: Arial, Helvetica, sans-serif;
    text-align: center;
    margin-bottom: 3em;
}

.item_content p.small_margin {
    margin-bottom: 1em;
}

.item_content p.no_margin {
    margin-bottom: 0em;
}

.item_content .buttonstyle {
    align-self: flex-end;
}

.item_content input[type=text],
.item_content input[type=number],
.item_content input[type=email],
.item_content input[type=date],
.item_content form select {
    width: 100%;
    padding: 10px 15px;
    text-align: center;
    margin-bottom: 1em;
    font-weight: 600;
    border-radius: 4px;
    margin-top: 0.5em;
    border: 1px solid #eee;
}

.item_content.make_payment h3 {
    text-align: center;
}

.item_content.make_payment h4 {
    font-size: 16px;
    font-weight: bold;
    margin-bottom: 1em;
}

.item_content.make_payment label {
    font-size: 12px;
}

.item_content.make_payment input {
    text-align: left;
    font-size: 14px;
}

.item_content.make_payment hr {
    border: none;
    border-top: 1px solid #eee;
    padding: 1em;
}

.item_content.make_payment .errors li {
    color: red;
    font-size: 16px;
}

.item_content.make_payment .selectarrow {
    display: none;
}

.item_content .payment_logos {
    margin: 0 auto;
    display: block;
    margin-top: 1.5em;
}

.item_content .question {
    display: flex;
    flex-wrap: wrap;
}

.item_content .question p {
    width: 100%;
    margin-bottom: 10px;
}

.item_content label {
    margin-right: 10px;
}

.question input[type="radio"] {
    margin-bottom: 0;
}

.item_content .question input[type="text"] {
    text-align: left;
    font-weight: normal;
    margin-bottom: 0;
}

.item_content .question label {
    font-size: 14px;
    margin-right: 20px;
}

.question {
    margin-bottom: 20px;
}

@media(min-width: 660px) {
    .item_content .half_input {
        width: calc(50% - 5px);
        display: inline-block;
    }

    .item_content .half_input.right_input {
        margin-left: 7px;
    }
}

form input[type=submit].anchor_input {
    border: none;
    display: block;
    appearance: none;
    -webkit-appearance: none;
    background: none;
    font-family: Arial, Helvetica, sans-serif;
    font-weight: bold!important;
    color: #0d2340;
    text-transform: none;
    letter-spacing: normal;
    padding: 10px 0 0 0; margin: 0 auto;
    cursor: pointer;
}

form input[type=submit].anchor_input:hover {
    background: none;
}

a.buttonstyle,
input.buttonstyle,
button.buttonstyle {
    background-color: #0d2340;
    border: none;
    border-radius: 4px;
    color: #FFF!important;
    display: inline-block;
    font-size: 14px;
    text-align: center;
    text-decoration: none;
    height: 40px;
    width: 100%;
    transition: 0.2s ease-in-out;
}

a.buttonstyle {
    display: flex;
    align-items: center;
    justify-content: center;
}

input[name="member_signature"]:invalid ~ .buttonstyle {
    background-color: #ccc;
}

.member_found {
    display: none;
}

.member_name {
    font-size: 18px;
    background-color: #f1f1f1;
    padding: 10px 0;
    border-radius: 4px;
    border: 1px solid #ddd;
}

.last_signed {
    display: block;
    font-size: 14px;
    font-weight: bold;
    color: #0c2340;
}

.wrong_member {
    cursor: pointer;
    font-weight: bold;
    color: #0B2749;
}

.item_content .error {
    color: red;
    font-weight: bold;
}

.terms_wrapper {
    margin: 40px 0;
}

.terms_item {
    background-color: #FFF;
    width: 90%;
    margin: 0 auto;
    max-width: 900px;
    padding: 2em;
}

.terms_item p {
    text-align: left;
}

.terms_block {
    margin-bottom: 2em;
}

.terms_block p,
.terms_block li {
    font-size: 14px;
    font-family: Arial, Helvetica, sans-serif;
}

.terms_block p {
    margin-bottom: 1em;
}

.signature_wrapper {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
}

.signature_wrapper .buttonstyle {
    margin-top: 1em;
}

.signature_wrapper.wellness_signature {
    margin-bottom: 1em;
}

.signature_wrapper.wellness_signature input[type="text"].signature_input {
    border-radius: 0;
    max-width: none;
}

input[type=text].signature_input,
input[type=text].signature_input:focus {
    border: none;
    border-bottom: 1px solid #DDD;
    max-width: 300px;
    text-align: left;
    margin: 0;
}

.trainer_dropdowns {
    display: flex;
    flex-wrap: wrap;
}

.trainer_dropdowns .trainer_dropdown {
    width: 100%;
    margin: 5px;
}

@media(min-width: 768px) {
    .terms_item {
        padding: 6em;
    }

    .signature_wrapper {
        flex-direction: row;
    }

    .signature_wrapper * {
        flex: 1 0;
    }

    .signature_wrapper .buttonstyle {
        margin-top: 0;
    }

    .trainer_dropdowns .trainer_dropdown {
        flex: 1;
    }
}

/** FORMS **/
.form_item {
    max-width: 725px;
    margin: 0 auto;
    text-align: center;
}

.form_item form {
    display: flex;
    flex-wrap: wrap;
}

.form_item p {
    width: 100%;
    padding: 5px 10px;
    margin-bottom: 0;
    text-align: left;
}

.form_item p.half {
    width: 50%;
}

.form_item input[type=text],
.form_item input[type=email],
.form_item form select {
    text-align: left;
}

.form_item select {
    height: 44px;
}

.form_item .selectarrow {
    bottom: 30px;
    right: 20px;
}

.open_form_modal {
    color: #0c2340;
    cursor: pointer;
    text-decoration: underline;
}

.form_modal_wrapper {
    position: fixed;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    background-color: rgba(0,0,0,0.4);
    align-items: center;
    justify-content: center;
    display: none;
    z-index: 9999;
    overflow: scroll;
}

.form_modal_wrapper.show {
    display: flex;
}

.form_modal_wrapper .modal {
    background-color: #FFF;
    width: 100%;
    max-width: 800px;
    border-radius: 8px;
    position: relative;
    max-height: 95vh;
    overflow: scroll;
    -ms-overflow-style: none;  /* IE and Edge */
    scrollbar-width: none;  /* Firefox */
    padding: 40px;
}

.close_form_modal {
    position: absolute;
    top: 0.5em;
    right: 0.5em;
    background-color: rgba(255, 255, 255, 0.7);
    width: 30px;
    height: 30px;
    border-radius: 15px;
    text-align: center;
    cursor: pointer;
    font-size: 18px !important;
    border: 1px solid #002855;
    text-align: center;
    line-height: 1.4;
}

/** REJOIN **/
.rejoin_header {
    padding-bottom: 41%;
    height: auto;
}

.rejoin_item {
    padding: 2em;
    text-align: center;
    height: auto;
}

.rejoin_item.rejoin_cta {
    background-color: #F9E344;
    border: 1px solid #f3d818;
    border-radius: 2px;
    max-width: 800px;
    margin: 0 auto;
}

.rejoin_item h2 {
    font-size: 3em;
}

.rejoin_item small {
    font-size: 60%;
}

.rejoin_item form {
    width: 100%;
    max-width: 250px;
    margin: 0 auto;
}

.item_grid {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}

.grid_item {
    width: 100%;
    padding: 5px;
}

.grid_item img {
    margin-bottom: 1em;
}

.grid_item h3 {
    margin-bottom: 0.2em;
}

@media screen and (min-width: 678px) {
    .grid_item {
        width: 33%;
        padding: 10px;
    }
}

@media screen and (min-width: 1200px) {
    .grid_item {
        width: 25%;
        padding: 10px;
    }
}


.loader,
.loader:after {
    border-radius: 50%;
    width: 2em;
    height: 2em;
    display: inline-block;
}
.loader {
    font-size: 10px;
    position: relative;
    text-indent: -9999em;
    border-top: 0.3em solid rgba(255, 255, 255, 0.2);
    border-right: 0.3em solid rgba(255, 255, 255, 0.2);
    border-bottom: 0.3em solid rgba(255, 255, 255, 0.2);
    border-left: 0.3em solid #ffffff;
    -webkit-transform: translateZ(0);
    -ms-transform: translateZ(0);
    transform: translateZ(0);
    -webkit-animation: load8 1.1s infinite linear;
    animation: load8 1.1s infinite linear;
}
body.loading *:not(.loader) {
    opacity: 0.75;
    pointer-events: none;
}
body.loading > main {
    opacity: 1!important;
}
main > .loader {
    position: absolute;
    border-width: 0.3em;
    font-size: 1em;
    left: 50%; top: 50%;
    border-left-color: #1c2149;
}

.jo-payoptions2-boxes {
    display: flex!important;
    flex-wrap: wrap;
}

#moto-mode-toggle {
    align-items: center;
    background: #ccc;
    border-bottom-left-radius: 10px;
    bottom: 0;
    display: flex;
    height: 50px;
    justify-content: center;
    padding: 18px 0;
    position: absolute;
    right: 0;
    text-align: center;
    top: 0;
    transition: background-color 0.5s linear;
    width: 200px;
    z-index: 20;
}

    #moto-mode-toggle.enabled {
        background: #090;
    }

    #moto-toggle {
        height: 0;
        visibility: hidden;
        width: 0;
    }

    .toggle-switch {
        background: #999;
        border-radius: 50px;
        cursor: pointer;
        display: block;
        height: 30px;
        margin-right: 10px;
        position: relative;
        text-indent: -9999px;
        width: 60px;
    }

    .toggle-switch:after {
        background: #fff;
        border-radius: 24px;
        content: '';
        left: 3px;
        height: 24px;
        position: absolute;
        top: 3px;
        transition: 0.3s;
        width: 24px;
    }

    #moto-toggle:checked + .toggle-switch {
        background: #0c0;
    }

    #moto-toggle:checked + .toggle-switch:after {
        left: calc(100% - 3px);
        transform: translateX(-100%);
    }

    .toggle-switch:active:after {
        width: 35px;
    }

    #moto-mode-toggle span {
        font-weight: bold;
    }

    #moto-mode-toggle.enabled span {
        color: #fff;
    }


@-webkit-keyframes load8 {
    0% {
        -webkit-transform: rotate(0deg);
        transform: rotate(0deg);
    }
    100% {
        -webkit-transform: rotate(360deg);
        transform: rotate(360deg);
    }
}
@keyframes load8 {
    0% {
        -webkit-transform: rotate(0deg);
        transform: rotate(0deg);
    }
    100% {
        -webkit-transform: rotate(360deg);
        transform: rotate(360deg);
    }
}

.alert.alert-info {
    background: #6bdad4;
    padding: 1em;
    font-size: 15px;
    margin: 0 0 20px;
}

.alert.alert-info ul {
    margin: 0;
}

.alert.alert-info li {
    font-size: 16px;
}
