body,html{margin:0;padding:0;font-family:'Open Sans',sans-serif;color:#414143}
a{color:#da1e32;text-decoration:underline}
a:active,a:focus,a:hover{color:#ad1828}
a.btn-success{text-decoration:none}
a.btn-success:active,a.btn-success:focus,a.btn-success:hover{color:#fff}
label{text-transform:uppercase;font-weight:700}
label.normal-text{text-transform:none;font-weight:400}
.course-grid .row.header{background-color:#da1e32;color:#fff;font-weight:700;padding-left:12px}
.course-grid .row.session{padding:8px 10px}
#axcel-courses:not(.filtering) .course-grid .row.session.full{display:none!important}
#axcel-courses:not(.filtering) .course-grid .row.session.full.shown{display:flex!important}
.course-grid .row.session.odd{background-color:#f0f0f0}
.course-grid .row.session.even{background-color:#fff}
.course-grid .row.session a{color:#da1e32}
.course-grid .row.session a:active,.course-grid .row.session a:focus,.course-grid .row.session a:hover{color:#ad1828;outline:0}
.client-logo{max-width:300px;max-height:200px}
@media (max-width:360px){
.course-grid .row .address{padding-right:0}
}
nav.bg-light{background-color:#fff!important}
nav #home-link{display:block;width:367px;height:48px;margin:0 auto}
nav #home-link *{float:left}
nav #home-link span{padding:0 12px;color:#4a4a4a;line-height:48px}
nav #gfa-logo{display:block;width:120px;height:48px}
nav #cq-logo,nav #rr-logo{display:block;width:126px;height:48px}
nav #cq-logo.rr-only,nav #rr-logo.rr-only{margin-left:123px}
nav #cq-logo{width:153px}
nav p{margin-bottom:0;font-weight:600}
nav p{margin-bottom:0;font-weight:600}
nav #help-button{font-weight:600;font-size:16px;white-space:nowrap;float:right;cursor:pointer}
nav #help-button .circle{border:1px solid #000;width:26px;height:26px;border-radius:13px;display:inline-block;text-align:center;margin-right:8px}
a.link{border:0;background:0 0;color:#da1e32}
.booking-page-container{min-height:calc(100vh - 100px)}
.nevershow{display:none!important}
#page-payment h1{margin-bottom:0}
.card{background-color:#fff;border-bottom:2px solid #da1e32;border-radius:0;margin-bottom:32px}
.booking-page-container .btn,.booking-page-container .cross-button{font-size:1rem;line-height:1.5;border-radius:.25rem;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}
.booking-page-container .btn.booking-for,.booking-page-container .cross-button.booking-for{width:100%;float:left;margin-right:0;font-size:14px;margin-bottom:32px;border-radius:0}
.booking-page-container .btn.booking-for:first-of-type,.booking-page-container .cross-button.booking-for:first-of-type{border-top-left-radius:5px;border-bottom-left-radius:5px}
.booking-page-container .btn.booking-for:last-of-type,.booking-page-container .cross-button.booking-for:last-of-type{border-top-right-radius:5px;border-bottom-right-radius:5px}
.booking-page-container .btn-primary,.booking-page-container .cross-button{background-color:#da1e32!important;border:1px solid transparent;border-color:#da1e32!important;color:#fff!important}
.booking-page-container .btn-primary:active,.booking-page-container .btn-primary:focus,.booking-page-container .btn-primary:hover,.booking-page-container .cross-button:active,.booking-page-container .cross-button:focus,.booking-page-container .cross-button:hover{background-color:#ad1828!important;border-color:#ad1828!important}
.booking-page-container .btn-default{border-color:#da1e32!important;color:#da1e32!important;margin-right:16px;text-decoration:none}
.booking-page-container div.words{margin-bottom:64px}
#help-panel{position:absolute;left:0;top:0;width:100%;height:0;overflow:hidden;background:rgba(0,0,0,.5);z-index:100;transition:height .2s ease-in-out}
#help-panel.expanded{height:100%}
#help-panel.expanded .container{height:100%}
#help-panel.expanded .container .row{height:100%}
#help-panel #help-header{height:64px}
#help-panel #help-header #help-close{font-weight:600;font-size:16px;white-space:nowrap;float:right;margin-top:19px;margin-right:-13px}
#help-panel #help-header #help-close .circle{border:1px solid #000;width:26px;height:26px;border-radius:13px;display:inline-block;text-align:center;margin-right:8px}
#help-panel #help-header .col-lg-4:before{content:" ";position:absolute;width:1200px;height:calc(100% + 1px);z-index:0;top:0;left:0;background-image:-moz-linear-gradient(top,#fff 0,#fff 100%);background-image:-webkit-linear-gradient(top,#fff 0,#fff 100%);background-image:linear-gradient(to bottom,#fff 0,#fff 100%);background-position:top right}
#help-panel #help-header .col-lg-4 .content{z-index:100;position:absolute;top:0;left:110px}
#help-panel #help-content p.header{font-weight:700;text-transform:uppercase}
#help-panel #help-content .col-lg-4{height:calc(100vh - 64px);padding-top:64px;padding-left:64px}
#help-panel #help-content .col-lg-4:before{content:" ";position:absolute;width:1200px;height:calc(100% + 1px);z-index:0;top:0;left:0;background-image:-moz-linear-gradient(top,#fff 0,#fff 100%);background-image:-webkit-linear-gradient(top,#fff 0,#fff 100%);background-image:linear-gradient(to bottom,#fff 0,#fff 100%);background-position:top right}
#help-panel #help-content .col-lg-4 .content{z-index:10;position:relative}
#help-panel #help-content .col-lg-4 .content{width:100%;height:calc(100vh - 130px)}
#help-panel #help-content .col-lg-4 .content #help-scroll{overflow-y:scroll;height:calc(100vh - 205px)}
#help-panel #help-content .col-lg-4 .content #help-scroll .accordion .card{border:none;margin-bottom:16px}
#help-panel #help-content .col-lg-4 .content #help-scroll .accordion .card .card-header{border:none;background:0 0;padding:0 0 16px 0}
#help-panel #help-content .col-lg-4 .content #help-scroll .accordion .card .card-header .btn{text-align:left;color:#000;font-weight:300;text-indent:-8px;padding:0 0 0 32px}
#help-panel #help-content .col-lg-4 .content #help-scroll .accordion .card .card-header .btn i{position:relative;left:-12px;font-size:20px;top:1px}
#help-panel #help-content .col-lg-4 .content #help-scroll .accordion .card .card-body{padding:0}
#help-panel #help-content .col-lg-4 .content #help-scroll .accordion .card .card-body p span{font-weight:300!important}
.row{width:calc(100% + 30px)}
.row.h100{min-height:calc(100vh - 74px)}
.container-fluid{padding:0}
.progress-bar{width:100%;float:left;height:5px;background-color:#ebebeb}
.progress-bar .color{width:0;height:100%;transition:width .5s ease-in-out;background-color:#da1e32}
.booking-page-container{width:100%;transition:left .5s ease-in-out;display:none}
.booking-page-container.shown{display:block}
.booking-page-container.right{left:100%}
.booking-page-container.left{left:-100%}
.booking-page-container th{background-color:#da1e32;color:#fff}
.booking-page p{font-size:14px;font-weight:500;line-height:25px;margin-bottom:0}
.error-block,.training-state{border:1px solid #cfcfd0;text-align:center;margin-bottom:40px;position:relative;cursor:pointer}
.error-block.active,.error-block:hover,.training-state.active,.training-state:hover{background-color:#f0f0f0;border-color:#c0c0c1}
.error-block:after,.training-state:after{content:"";display:block;padding-bottom:100%}
.error-block .content,.training-state .content{width:100%;height:100%;position:absolute;display:flex;align-items:center;justify-content:center}
.error-block .content .inner,.training-state .content .inner{width:100%}
.error-block .content .inner p,.training-state .content .inner p{font-size:16px;font-weight:700}
.error-block .content .inner img,.training-state .content .inner img{width:70%;margin-bottom:16px}
.training-type{border:1px solid #cfcfd0;text-align:center;margin-bottom:40px;cursor:pointer;height:100%}
.training-type.active,.training-type:hover{background-color:#f0f0f0;border-color:#c0c0c1}
.training-type .content{width:100%;height:100%;display:block;align-items:center;justify-content:center;padding:0 10px}
.training-type .content .inner p{font-weight:400;font-size:16px}
.training-type .content .inner img{width:70%;margin-bottom:16px}
#other-location{display:block!important}
.axcel-location,.online-delivery,.pickup-location,.training-course,.training-location{border:1px solid #cfcfd0;margin-bottom:8px;padding:12px 24px;cursor:pointer}
.axcel-location.active,.axcel-location:hover,.online-delivery.active,.online-delivery:hover,.pickup-location.active,.pickup-location:hover,.training-course.active,.training-course:hover,.training-location.active,.training-location:hover{background-color:#f0f0f0;border-color:#c0c0c1}
.axcel-location p,.online-delivery p,.pickup-location p,.training-course p,.training-location p{font-size:13px}
.axcel-location p strong,.online-delivery p strong,.pickup-location p strong,.training-course p strong,.training-location p strong{font-size:16px;font-weight:700;margin-bottom:0}
.axcel-location p i,.online-delivery p i,.pickup-location p i,.training-course p i,.training-location p i{float:right;margin-top:3px;cursor:pointer}
.axcel-location .key-info,.online-delivery .key-info,.pickup-location .key-info,.training-course .key-info,.training-location .key-info{display:none}
#current-page{overflow-x:hidden;overflow-y:scroll;height:100vh;background-color:#fff;max-height:88vh}
#current-page.passwordpage{overflow-y:hidden}
#current-page h1{font-family:Verdana,'Open Sans',sans-serif;font-size:40px;font-weight:700;margin-bottom:0;line-height:55px;margin:30px 0}
#current-page h1 .red{color:#da1e32}
#summary-panel{padding-top:40px;border-left:2px solid #cfcfd0;padding-left:40px}
#summary-panel p.header{font-weight:700;text-transform:uppercase}
.MultiCheckBox{border:1px solid #e2e2e2;padding:5px;border-radius:4px;cursor:pointer;max-width:100%}
.MultiCheckBox .k-icon{font-size:15px;float:right;font-weight:bolder;margin-top:-7px;height:10px;width:14px;color:#787878}
.MultiCheckBoxDetail{display:none;position:absolute;border:1px solid #e2e2e2;overflow-y:hidden;width:250px!important;background:#fff;z-index:100}
.MultiCheckBoxDetail .cont{clear:both;overflow:hidden;padding:2px}
.MultiCheckBoxDetail .cont:hover{background-color:#cfcfcf}
.MultiCheckBoxDetailBody{overflow-y:scroll}
.MultiCheckBoxDetailBody>div>div{float:left}
.MultiCheckBoxDetailBody .mulinput{margin-right:8px}
.MultiCheckBoxDetailHeader{overflow:hidden;position:relative;height:28px;background-color:#3d3d3d}
.MultiCheckBoxDetailHeader>input{position:absolute;top:4px;left:3px}
.MultiCheckBoxDetailHeader>div{position:absolute;top:5px;left:24px;color:#fff}
#filterAxcel{width:100%}
p#accept{margin-top:32px}
p#accept small{text-transform:uppercase;font-size:10px;font-weight:700}
#payment-form #card-errors{display:none}
#calendar{width:560px;margin-bottom:64px}
#calendar #calendar-controls{border:1px solid #ccc;height:32px}
#calendar #calendar-controls>*{float:left;width:60%;text-align:center;line-height:30px}
#calendar #calendar-controls .calendar-control{width:20%;cursor:pointer;font-size:24px}
#calendar #calendar-days{display:flex;flex-direction:row;border-left:1px solid #ccc}
#calendar #calendar-days .day-title{flex:1;border-right:1px solid #ccc;border-bottom:1px solid #ccc;text-align:center;font-weight:700}
#calendar .week{clear:both;height:50px;display:flex;flex-direction:row;border-bottom:1px solid #ccc;border-right:1px solid #ccc}
#calendar .day{flex:1;text-align:center;border-left:1px solid #ccc;cursor:pointer}
#calendar .day.booked{background-color:#ccc;color:#666}
#calendar .day.active{background-color:#da1e32;color:#fff}
.form-control.validation-error{border-color:#da1e32}
#btn-credit,#btn-invoice{margin-top:32px}
#coupon-error-details,#coupon-errors,#coupon-success,#div-conf-details,#div-credit,#div-invoice,#div-invoice-details,#grp-coupon-inner,#online-delivery-delivered,#online-delivery-face,#online-delivery-pickup,#online-multiples,#online-tc-alert,#page-public-instance,#participant-booker,#participant-details-template,#summary-total,.alert.alert-danger,.alert.alert-warning,.training-location-courses{display:none}
#booking-confirmation label p,#booking-confirmation label ul,#online-tc label p,#online-tc label ul{font-size:15px;font-weight:300;text-transform:none;margin-bottom:16px}
#booking_delivery,#booking_equipment,#booking_location{margin-bottom:12px;height: 45px;}
.participant-details{padding-bottom:32px;border-bottom:1px solid #eee;margin-bottom:32px}
.remove-participant{width:32px!important;height:32px!important;padding:2px 8px!important;float:right!important}
#div-invoice{padding-top:32px}
.public-instance-button{width:48px!important;height:48px!important;padding:12px 16px!important}
.participant-match{border:1px solid #ddd;border-radius:5px;padding:10px;margin:8px 0}
.participant-match .alert{display:block}
.participant-match .match-button{height:48px;padding-top:11px;margin-top:22px}
.participant-match p strong{font-size:16px}
.participant-match label{font-size:14px}
#grp-coupon{margin-top:16px}
#grp-coupon .alert{margin-top:16px}
strike{color:#da1e32}
#apply-coupon{width:100%;padding:6px}
#faqAccordion .btn-link{color:#4a4a4a;text-align:left;text-indent:-7px}
#faqAccordion .btn-link:hover{text-decoration:none}
#faqAccordion .card-header{background-color:#f0f0f0}
#faqAccordion .card-header:hover{background-color:#d7d7d7}
#faqAccordion .card:first-of-type{border-bottom:1px solid rgba(0,0,0,.125)}
#axcel-courses .loading{padding-top:48px;color:#737377}
#axcel-courses .loading i{color:rgba(218,30,50,.4)}
#axcel-courses img{width:100%}
@media (max-width:1023px){
a.btn.booking-for{height:76px;display:flex}
a.btn.booking-for span{margin:auto}
.form-group{padding-right:0}
}
@media (min-width:768px) and (max-width:1023px){
#calendar{width:455px}
}
@media (max-width:991px){
#axcel-courses img{width:100%;margin-top:-64px}
}
@media (max-width:767px){
#calendar{min-width:100%}
#axcel-courses .col-12,#axcel-courses .col-2,#axcel-courses .col-3,#axcel-courses .col-6{padding:0}
nav #home-link{width:120px}
nav #home-link #cq-logo.rr-only,nav #home-link #rr-logo.rr-only{margin-left:0}
.online-delivery{width:100%!important}
#help-panel #help-header #help-close{margin-right:5px}
#help-panel #help-content{height:calc(100vh - 77px)}
#help-panel .col-lg-4{padding-left:15px}
.booking-page-container{left:15px;padding-right:0;padding-bottom:32px}
.booking-page-container .training-course{margin-right:0}
.training-location,.training-state,.training-type{height:80px;margin-bottom:16px;padding:0}
.training-location .content,.training-state .content,.training-type .content{padding:0}
.training-location .content .inner img,.training-state .content .inner img,.training-type .content .inner img{width:80px;height:80px;float:right;margin:0 16px}
.training-location .content .inner p,.training-state .content .inner p,.training-type .content .inner p{text-align:left;margin-left:16px}
.training-location .content .inner p:first-of-type,.training-state .content .inner p:first-of-type,.training-type .content .inner p:first-of-type{line-height:80px}
.training-type{height:120px}
.training-type .content .inner p:first-of-type{padding-top:16px;font-size:16px;line-height:20px}
.training-type .content .inner p{font-size:13px}
#summary-button{color:#000;transition:color .2s}
#summary-button.color{color:#da1e32}
#current-page{background-color:#fff}
#current-page h1{font-size:20px}
#summary-panel{position:absolute;left:-100%;top:74px;height:calc(100vh - 74px);background-color:#fff;transition:left .2s ease-in-out;border-right:2px solid #da1e32;padding-left:15px;padding-top:30px}
#summary-panel.expanded{left:0}
.booking-page{padding-top:30px}
.row{width:calc(100% + 25px)}
.row.h100{min-height:calc(100vh - 90px)}
}
input[name].error{background:rgb(255 149 149 / 10%)}
em.error{color:red}
.hidden{display:none!important}
.is-booking-url #page-public-instance-1 .filter{display:none}
#div-credit{margin-top:30px}
#square-app .q-card{max-width:100%!important;min-width:100%!important;min-height:100px!important;background:#fff!important;border:none!important;box-shadow:2px 4px 15px rgb(171 189 207 / 25%)!important;border-radius:15px}
#square-app .q-card .q-form .wrapper{width:100%;max-width:470px}
#square-app .q-page{min-height:unset!important}
#square-app .q-form,#square-app .q-form .wrapper{width:100%!important;max-width:100%!important;background:0 0!important;margin-bottom:0}
#square-app .q-form .sq-card-iframe-container{height:50px!important}
#square-app .sq-card-wrapper{background:0 0}
#square-app #payment-flow-message{margin:0}
#custom-fields .form-control.error{border:1px solid red}
#custom-fields .form-control.error+label.error{display:block;font-size:12px;font-weight:500;text-transform:none}
#public-contact-button{display:none}
#booking-summary #location-text{display:none!important}
#booking-summary #date-text{display:none}
#public-participant-button{margin-top:-73px}
@media (max-width:767px){
    #public-participant-button{margin-top:0}
    #add-participant-button{width:100%}
    #btn-credit,#btn-invoice{width:100%}
    #calendar{width:100%}
    #current-page{padding-left: 30px !important;
        padding-bottom: 300px;
        height: 100vh;
        padding-right: 20px !important;
    }
    #address-button,#contact-button,#date-button{float:none;margin-bottom:25px;margin-top:25px;margin-left:auto;display:block}
    #page-public-contact-1 .form-group:nth-child(6){margin-top:50px}
    #page-public-instance-1 .filter .MultiCheckBox{width:100%!important;margin-bottom:30px}
    #square-app+#payment-button{margin-bottom:60px}
    #square-app+button#payment-button,#summary-panel a,#summary-panel p{color:#fff}
    #summary-panel{position:fixed;bottom:0;height:auto;left:auto;display:block!important;padding:20px 30px 0 30px;background:#da1e32;color:#fff;box-shadow:0 0 1.5rem 1rem rgba(0,0,0,.15)!important;min-height:200px;top:auto}
}
.scroll-area{overflow-x:auto;max-height:500px;border:none;border-radius:8px}
.scroll-area::-webkit-scrollbar{width:10px;height:10px}
.scroll-area::-webkit-scrollbar-track{background-color:#f5f5f5;border-radius:10px}
.scroll-area::-webkit-scrollbar-track{background-color:#f5f5f5;border-radius:10px}
.scroll-area::-webkit-scrollbar-thumb{background-color:var(--q-primary);border-radius:10px}
.scroll-area::-webkit-scrollbar-corner{background-color:#f5f5f5}
#div-invoice-details{border:1px solid #ccc;padding:30px;margin-top:25px;border-radius:5px}

#custom-fields div.wrap{
    margin: 15px 0px 0px 0px;
    display: block;
}
#custom-fields div.wrap label{
    font-size: 14px;
    margin-bottom: 0px;
}
.is-booking-url .hide-others .training-location.other{display:none}







#booking-confirmation{
    border: 2px solid #aaa;
    border-radius: 6px;
    padding: 15px;
}
#booking-confirmation > .form-check #confirmation-check{
    width: 20px;
    height: 20px;
}
#booking-confirmation > .form-check #confirmation-check + .form-check-label > a.btn{
    opacity: 100%!important;
}
#booking-confirmation > .form-check #confirmation-check:checked + .form-check-label > a.btn{
    opacity: 50%!important;
}
#booking-confirmation > .form-check .form-check-label{
    margin-left: 16px;
}
#booking-confirmation > .form-check  p{
    font-weight: 400;
}

.badge-primary {
    color: #fff;
    background-color: var(--q-primary);
}

a.badge-primary:focus, a.badge-primary:hover{
    background-color: var(--q-primary);
}


a.btn.cutoff{
    width: 48px!important;
    height: 48px;
    padding: 12px!important;
    background-color: #eb7583 !important;
    border: none;
}

.dropdown-menu {
    padding: 20px;
    min-width: 280px;
}
.btn-red {
    background-color: #d9534f;
    color: white;
}
.btn-red:hover {
    background-color: #c9302c;
}
.btn-group .btn {
    flex: 1;
}
.loading {
  pointer-events: none;      /* Disable clicks */
  opacity: 0.6;              /* Visual feedback */
  cursor: wait;              /* Show loading cursor */
}
.filter label {
    font-size: 15px;
}
#week-filter {
    margin: 10px 0 15px 0;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    border: 1px solid #bdbdbd;
    padding: 5px;
    border-radius: 20px;
}
#week-filter .badge {
    min-width: 45px;
}
#axcel-courses{
    margin-top: 15px;
}

.row.session .schedule{
    width: 100%;
    list-style: none;
    margin: 0;
    padding: 10px 10px 10px 0px;
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    gap: 5px;
}

.row.session .schedule .weekend-badge{ padding:6px 8px; }
.row.session .schedule .express-badge{ text-decoration:none;width:90px; }
.row.session .schedule .express-badge img{ margin-top: auto !important; }