/*
 * Cognita Europe theme styles
 *
 * Table of contents
 * 01. Font faces
 * 02. Header utilities
 * 03. Event and enquiry pages
 * 04. Header navigation and UberMenu
 * 05. Responsive overrides
 * 06. General components and WPBakery overrides
 * 07. ShiftNav overrides
 * 08. Forms, Gravity Forms, and booking flows
 * 09. WPBakery content components
 * 10. News, blog, categories, and pagination
 * 11. Tabs, overlays, and combined forms
 * 12. Landing pages, branding, and typography
 * 13. Cards, thumbnails, and sliders
 * 14. Legacy base theme styles
 *
 * Rule order is intentionally preserved until visual QA confirms that
 * related blocks can be consolidated without changing the cascade.
 */

/* ==========================================================================
   02. Header utilities
   ========================================================================== */

.darkHeader .ubermenu-main .ubermenu-nav .ubermenu-item.ubermenu-item-level-0>.ubermenu-target.contact-btn:hover {
    border-bottom: 0px solid !important;
}


/* ==========================================================================
   03. Event and enquiry pages
   ========================================================================== */

.eventpagetemplate .form-step.active,
.enquirypagetemplate .form-step.active {
    display: block;
}

.accordion-body .b,
.accordion-body strong {
    font-weight: bold;
}

.eventpagetemplate .form-step,
.enquirypagetemplate .form-step {
    display: none;
}

.eventpagetemplate .fake-select select,
.enquirypagetemplate .fake-select select {
    display: none;
}

.eventpagetemplate .fake-select .btn,
.enquirypagetemplate .fake-select .btn {
    margin-right: 16px;
    padding: 4px;
}

.eventpagetemplate .form__section .btn-primary,
.fake-select .btn-primary,
.enquirypagetemplate .form__section .btn-primary {
    border: solid 2px #434751;
    color: #434751;
    background-color: transparent !important;
}

.page-template-page-policies header,
.page-template-page-policies-me header,
.page-template-page-policies-ch header,
.page-template-page-policies-es header,
.page-template-page-policies-es-sp header,
.page-template-legal-notices-es header,
.page-template-legal-notices-es-en header {
    position: relative;
    background-color: #c41f2f;
}

.eventpagetemplate .form__section .btn:after,
.enquirypagetemplate .form__section .btn:after {
    content: "";
    position: relative;
    display: inline-block;
    top: 1px;
    width: 7px;
    height: 11px;
    margin: 0 0 0 10px;
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
}

@media (min-width: 576px) {
    .eventpagetemplate .modal-dialog,
    .enquirypagetemplate .modal-dialog {
        max-width: 500px;
        margin: 1.75rem auto !important;
    }
}

.eventpagetemplate .modal-dialog,
.enquirypagetemplate .modal-dialog {
    position: relative;
    width: auto;
    height: auto;
    margin: .5rem;
    pointer-events: none;
}

.eventpagetemplate .form__section,
.enquirypagetemplate .form__section,
.form-group.fake-select.form-validation-row {
    margin: 10px 0;
}

.eventpagetemplate .font-weight-light,
.enquirypagetemplate .font-weight-light {
    font-weight: 300!important;
}

.eventpagetemplate .pb-4,
.py-4,
.enquirypagetemplate .pb-4,
.py-4 {
    padding-bottom: 1.5rem!important;
}

.eventpagetemplate .section--white .callout.section--blue .btn-primary,
.enquirypagetemplate .section--white .callout.section--blue .btn-primary {
    color: #fff;
    border-color: #fff;
}

.eventpagetemplate .section--white .callout.section--blue p,
.enquirypagetemplate .section--white .callout.section--blue p {
    margin-bottom: 1.5rem;
    font-size: 1.125rem;
}

.fixed-top {
    position: absolute;
}

header.header.header-layout-standard {
    position: relative;
}

@media screen and (min-width: 992px) {
    body.has-header-layout-standard header.header.header-layout-standard.darkHeader {
        padding-bottom: var(--kyubi-sticky-nav-height, 0px);
    }
}

header.header.header-layout-overlay {
    position: absolute;
}














@media (min-width: 992px) {
    .eventpagetemplate .section--white .callout.section--blue .h5,
    .eventpagetemplate h5,
    .enquirypagetemplate .section--white .callout.section--blue .h5,
    .enquirypagetemplate h5 {
        font-size: 1.125rem;
        margin-bottom: 1rem;
    }
    .booking-sec {
        padding: 25px 0;
    }
    .modal-content .modal-body {
        max-height: 80vh;
        overflow-y: auto;
    }
}

.enquirypagetemplate .component ul {
    padding: 0;
    list-style-type: none;
}

.forminput.filled-chk .icon .fa-exclamation {
    display: none;
}

.forminput.error-input .icon .fa-check {
    display: none;
}

.enquirypagetemplate .form-control:focus {
    box-shadow: none;
}

.enquirypagetemplate .error-input .btn-primary {
    border-color: #ff5f5f;
}

.enquirypagetemplate .filled-chk .btn-primary {
    border-color: #00c07b!important;
}

.page-template-page-enquiry header {
    position: relative;
    background-color: #c41f2f;
}

.enquirypagetemplate a.btn.btn-primary.btn-back.btn-primary--border {
    margin-top: 0;
}


/* ==========================================================================
   04. Header navigation and UberMenu
   ========================================================================== */

.headervideo-txt-img {
    position: relative;
}

.ubermenu .ubermenu-tab-layout-left>.ubermenu-tabs-group {
    border-right: 0px!important;
}






.form-step__controls.link .btn-primary.btn-primary--border {
    background: none;
    color: #6f96b7;
    min-width: 199px;
}

a#third-level+ul>li>ul>li>ul>li.nested-bighover {
    min-height: 79px;
}

a#third-level+ul>li>ul>li>ul>li.nested-bighover>a {
    min-height: 77px!important;
    height: 77px!important;
}

.school-links+.ubermenu-submenu>li:first-child .ubermenu-tabs-group>li,
.school-links+.ubermenu-submenu>li:first-child .ubermenu-tabs-group>li>a>span {
    white-space: normal!important;
}

a#third-level+ul>li>ul>li>ul>li {
    min-height: 52px;
}

a#third-level+ul>li>ul>li>ul>li>a:after {
    border-top: 23px solid transparent;
    border-bottom: 27px solid transparent;
}

a#third-level+ul>li>ul>li>ul>li>a {
    min-height: 50px!important;
    height: 50px!important;
}

a.ubermenu-target.ubermenu-target-with-image:hover {
    background: white!important;
}

.school-links:hover {
    background: none!important;
}

.drish-submenu+.ubermenu-submenu>ul>li:nth-child(2),
.drish-nestedsubmenu+.ubermenu-submenu .ubermenu-tabs-group .ubermenu-tab-content-panel a:hover {
    background: #6f96b7;
}

.onlylink {
    width: 50%!important;
}

.onlylink:hover {
    background: #6f96b7;
}

.no-child:after {
    display: none;
}

.ubermenu.ubermenu-transition-slide .ubermenu-active>.ubermenu-submenu.ubermenu-submenu-type-mega,
.ubermenu:not(.ubermenu-transition-slide) .ubermenu-submenu.ubermenu-submenu-type-mega {
    border-top: 1px solid rgb(0 0 0 / 15%);
}

.ubermenu-tab-content-panel>ul>li>ul>li>ul .ubermenu-tabs-group>li>div {
    background: rgba(16, 23, 30, 0.25)!important;
    padding: 25px 15px;
    margin: 20px 0;
}

.drish-submenu+.ubermenu-submenu>ul>li:nth-child(2)>ul.ubermenu-submenu>li:first-child a {
    border: 0;
    padding: 15px 20px 15px 25px!important;
}

.drish-submenu+.ubermenu-submenu>ul>li:nth-child(2)>ul.ubermenu-submenu>li:nth-child(2) a {
    padding: 15px 25px 15px 20px!important;
}

.ubermenu .ubermenu-target-with-image {
    overflow: hidden;
    border: 0!important;
}

.menucards,
.school-links,
.big-hover {
    padding: 15px 10px!important;
}

.ubermenu .ubermenu-colgroup .ubermenu-column,
.ubermenu .ubermenu-custom-content-padded,
.ubermenu .ubermenu-nonlink,
.ubermenu .ubermenu-retractor,
.ubermenu .ubermenu-submenu-padded,
.ubermenu .ubermenu-submenu-type-stack>.ubermenu-item-normal>.ubermenu-target,
.ubermenu .ubermenu-target,
.ubermenu .ubermenu-widget,
.ubermenu-responsive-toggle {
    padding: 15px 10px;
}

.ubermenu .ubermenu-nav .ubermenu-column-1-3 {
    width: 33.33%;
}

.label-title>a:after {
    content: '';
    height: 2px;
    width: 35px;
    background: #007DBA;
    position: absolute;
    bottom: -6px;
    margin-top: 12px;
}

.label-title a {
    color: white;
}

.ubermenu-row.subcontent,
.ubermenu .right-content {
    margin: 30px;
    background: rgba(60, 23, 20, .25);
    padding: 25px 30px;
    width: calc(100% - 60px);
    display: flex;
    flex-wrap: wrap;
}

.label-title>a>span:first-child {
    font-size: 30px;
}

.ubermenu .label-title>a {
    margin-bottom: 10px;
}

.ubermenu .ubermenu-submenu-type-tabs-group {
    border: 0px;
}

.ubermenu-tabs>.ubermenu-tabs-group>li>a {
    color: #fff;
    font-size: 18px;
}

.ubermenu .ubermenu-row .ubermenu-target-with-image>img {
    width: 100%;
    object-fit: cover;
    max-height: 220px;
    margin: 0;
}

.ubermenu .ubermenu-target-with-image>span {
    background: white;
    color: black;
    padding: 20px!important;
    float: left;
    width: 100%;
}

.ubermenu-nav>li>ul>ul>li a:hover {
    position: relative;
    background: #007DBA;
    min-height: 65px;
}

.ubermenu-nav>li>ul>ul>li a:hover:after {
    content: '';
    position: absolute;
    height: 0;
    right: -13px;
    border-left: 13px solid #007DBA;
    border-top: 43px solid transparent;
    border-bottom: 43px solid transparent;
    bottom: 0;
    top: 0;
}

.ubermenu .ubermenu-tab-layout-left>.ubermenu-tabs-group,
.ubermenu .left-menu {
    margin: 20px 0px;
}

.ubermenu .ubermenu-active .right-content.column-three>ul,
.ubermenu .ubermenu-active .subcontent.column-three,
.ubermenu .ubermenu-active .right-content.column-two>ul,
.ubermenu .ubermenu-active .subcontent.column-two {
    display: flex;
    flex-wrap: wrap;
}

.ubermenu .ubermenu-active .right-content.column-three>ul>li,
.ubermenu .ubermenu-active .subcontent.column-three>li {
    flex: 1 1 32.3%;
    margin-top: 0!important;
}

.ubermenu .ubermenu-active .right-content.column-two>ul>li,
.ubermenu .ubermenu-active .subcontent.column-two>li {
    flex: 1 1 50%;
    margin-top: 0!important;
}

.ubermenu .ubermenu-active .right-content.column-three>ul a,
.ubermenu .ubermenu-active .subcontent.column-three>li a,
.ubermenu .ubermenu-active .right-content.column-three>ul a span,
.ubermenu .ubermenu-active .subcontent.column-three>li a span,
.ubermenu .ubermenu-active .right-content.column-two>ul a,
.ubermenu .ubermenu-active .subcontent.column-two>li a,
.ubermenu .ubermenu-active .right-content.column-two>ul a span,
.ubermenu .ubermenu-active .subcontent.column-two>li a span {
    height: 100%;
}

.ubermenu .left-menu>ul>li>a,
.ubermenu .ubermenu-tabs-group>li>a {

    display: flex;
    flex-direction: column;
    color: #fff;
    align-items: end;
    justify-content: center;
    padding: 15px 15px;
}

.ubermenu .left-menu>ul>li>a:hover,
.ubermenu .ubermenu-tabs-group>li>a:hover {
    background: #0089ff;
}

.ubermenu .left-menu>ul>li>a:hover:after,
.ubermenu .ubermenu-tabs-group>li>a:hover:after {
    border-left: 15px solid #0089ff;
}

.ubermenu .left-menu>ul>li>a:after,
.ubermenu .ubermenu-tabs-group>li>a:after {
    content: '';
    position: absolute;
    height: 0;
    width: 0;
    border-top: 43px solid transparent;
    border-bottom: 43px solid transparent;
    border-left: 15px solid transparent;
    right: -15px;
    top: 0;
}

.ubermenu.ubermenu-transition-slide .ubermenu-active>.ubermenu-submenu.ubermenu-submenu-type-mega,
.ubermenu:not(.ubermenu-transition-slide) .ubermenu-submenu.ubermenu-submenu-type-mega {
    max-height: calc(100vh - 135px);
}

.ubermenu .subcontent .left-menu>ul>li>a,
.ubermenu .subcontent .ubermenu-tabs-group>li>a {
    height: 45px;
    min-height: 45px;
}

.ubermenu .subcontent .left-menu>ul>li>a:after,
.ubermenu .subcontent .ubermenu-tabs-group>li>a:after {
    border-top: 23px solid transparent;
    border-bottom: 23px solid transparent;
}

.left-right-50>li>ul {
    width: 100%!important;
}

.left-right-50>li>ul>li>div {
    width: 50%!important;
}

.left-right-50>ul>li>ul {
    width: 100%!important;
}

.left-right-50>ul>li>ul>li>a {
    width: 45%!important;
}

.left-right-50>ul>li>ul>li>div {
    width: 55%!important;
    padding-left: 20px;
}

.ubermenu .ubermenu-submenu-type-stack>.ubermenu-item-normal>.ubermenu-target {
    padding-top: 5px;
    padding-bottom: 5px;
    color: #fff;
    font-size: 18px;
    font-weight: 700;
}

.ubermenu .ubermenu-submenu-type-stack>.ubermenu-item-normal>.ubermenu-target {
    color: #fff;
    text-align: left;
    width: 100%!important;
    padding: 15px 25px!important;
    font-size: 16px;

}

.ubermenu .ubermenu-item-type-column>.ubermenu-submenu-type-stack>.ubermenu-item-normal:first-child {
    margin-top: 0;
}

.ubermenu-row.subcontent,
.ubermenu .right-content {
    margin: 4px;
}

.ubermenu .ubermenu-item.ubermenu-active>.ubermenu-target {
    border-bottom: solid 4px #fff;
}

.ubermenu-main .ubermenu-nav .ubermenu-item.ubermenu-item-level-0>.ubermenu-target:hover {
    border-bottom: solid 4px #fff;
}

.ubermenu-sub-indicators .ubermenu-has-submenu-drop>.ubermenu-target>.ubermenu-sub-indicator {
    top: 45%;
}

.ubermenu .left-menu>ul>li>a,
.ubermenu .ubermenu-tabs-group>li>a {
    color: #fff;
}

.ubermenu .ubermenu-tab-layout-left>.ubermenu-tabs-group,
.ubermenu .left-menu {
    margin: 20px 0px;
    padding-right: 30px;
}

.ubermenu-item-layout-text_only.ubermenu-active>.ubermenu-target {
    border-bottom: none;
}

.ubermenu-tabs>.ubermenu-tabs-group>li>a {
    border-bottom: none !important;
}

ul.ubermenu-tabs-group.ubermenu-column.ubermenu-column-1-4.ubermenu-submenu.ubermenu-submenu-id-278.ubermenu-submenu-type-auto.ubermenu-submenu-type-tabs-group {
    padding: 0;
}

.ubermenu a.ubermenu-target,
.ubermenu-trigger-click .ubermenu-has-submenu-drop>.ubermenu-target {
    cursor: pointer;
    text-align: start;
}

ul.ubermenu-submenu.ubermenu-submenu-id-281.ubermenu-submenu-type-stack {

    margin-left: 25px;
}

.ubermenu-submenu-id-256 .ubermenu-target-title ubermenu-target-text {
    white-space: normal;
}

.ubermenu-row.subcontent,
.ubermenu .right-content {
    margin-top: 25px;
}

.ubermenu .ubermenu-target-with-image>span {
    background: white;
    color: #00205c;
    padding: 20px!important;
    float: left;
    width: 100%;
    height: auto !important;
}

.ubermenu .left-menu>ul>li>a:hover,
.ubermenu .ubermenu-tabs-group>li>a:hover {
    transition: none;
    background: #6F96B7;
}

.ubermenu-row.subcontent,
.ubermenu .right-content {
    background: rgba(16, 23, 30, 0.25);
}

.ubermenu-tabs .ubermenu-active .background-active {
    background: #6F96B7;
}

.ubermenu-tabs .ubermenu-active .background-active:after {
    border-left: 15px solid #6F96B7;
    content: '';
    position: absolute;
    height: 0;
    width: 0;
    border-top: 30px solid transparent;
    border-bottom: 30px solid transparent;
    right: -15px;
    top: 0;
}

.ubermenu-tabs .ubermenu-active .background-active.big-hover:after {
    border-left: 15px solid #6F96B7 !important;
    content: '';
    position: absolute;
    height: 0;
    width: 0;
    border-top: 43px solid transparent;
    border-bottom: 43px solid transparent;
    right: -15px;
    top: 0;
}

.ubermenu-tabs .ubermenu-active .ubermenu-item-level-5 .ubermenu-active .background-active-submenu {
    background: #6F96B7;
}

.ubermenu-tabs .ubermenu-active .ubermenu-item-level-5 .ubermenu-active .background-active-submenu:after {
    border-left: 15px solid #6F96B7 !important;
    content: '';
    position: absolute;
    height: 0px;
    width: 0;
    border-top: 19px solid transparent;
    border-bottom: 27px solid transparent;
    right: -15px;
    top: 0px;
}

.ubermenu .left-menu>ul>li>a:hover:after,
.ubermenu .ubermenu-tabs-group>li>a:hover:after {
    border-left: 15px solid #6F96B7;
}

.ubermenu-main .ubermenu-row {
    max-width: 1140px;
    margin-left: auto;
    margin-right: auto;
}

.ubermenu-item-level-3 a.ubermenu-target.ubermenu-item-layout-default.ubermenu-item-layout-text_only {

    display: flex;
    flex-direction: column;
    color: #fff;
    align-items: end;
    justify-content: center;
    padding: 15px 10px;
}

.ubermenu-item-level-3 a.ubermenu-target.ubermenu-item-layout-default.ubermenu-item-layout-text_only:hover:after {
    border-left: 15px solid #6F96B7;
    content: '';
    position: absolute;
    height: 0;
    width: 0;
    border-top: 30px solid transparent;
    border-bottom: 30px solid transparent;
    right: -15px;
    top: 0;
}

.ubermenu-item-level-3 a.ubermenu-target.ubermenu-item-layout-default.ubermenu-item-layout-text_only.big-hover:hover:after {
    border-left: 15px solid #6F96B7;
    content: '';
    position: absolute;
    height: 0;
    width: 0;
    border-top: 43px solid transparent;
    border-bottom: 43px solid transparent;
    right: -15px;
    top: 0;
}

.ubermenu-item-level-3 a.ubermenu-target.ubermenu-item-layout-default.ubermenu-item-layout-text_only:hover {
    transition: none;
    background: #6F96B7;
}

ul.ubermenu-tabs-group.ubermenu-column.ubermenu-column-1-4.ubermenu-submenu.ubermenu-submenu-id-687.ubermenu-submenu-type-auto.ubermenu-submenu-type-tabs-group {
    min-height: auto !important;
}

.ubermenu .ubermenu-submenu-type-stack>.ubermenu-item-normal>.ubermenu-target:hover {
    border: none;
}

.drish-submenu+.ubermenu-submenu>ul>li:nth-child(2),
.drish-nestedsubmenu+.ubermenu-submenu .ubermenu-tabs-group .ubermenu-tab-content-panel {
    background: rgba(16, 23, 30, 0.25);
    padding: 25px 15px;
    margin: 20px 0;
}

.drish-submenu+.ubermenu-submenu>ul>li:nth-child(2)>ul li a {
    height: 100%;

    padding: 0!important;
    font-size: 22px;
}

.drish-submenu+.ubermenu-submenu>ul>li:nth-child(2)>ul {
    display: flex!important;
    padding: 0;
}

.drish-submenu+.ubermenu-submenu>ul,
.menucards+.ubermenu-tab-content-panel>ul {
    display: flex;
}

.menucards+.ubermenu-tab-content-panel>ul li a {
    height: 100%;
    background: white;
    padding: 0;
    margin: 0 15px;
}

.school-links+.ubermenu-submenu>li:first-child .ubermenu-tabs-group>li,
.school-links+.ubermenu-submenu>li:first-child .ubermenu-tabs-group>li>a {
    height: 45px;
    min-height: 40px;
    width: auto;
    font-size: 20px;
}

.school-links+.ubermenu-submenu>li>ul {
    padding: 0;
}

.school-links+.ubermenu-submenu>li>ul>li>ul {
    width: 40.5%!important;
    padding-right: 0!important;
}

.school-links+.ubermenu-submenu>li>ul>li>ul a {
    width: 100%!important;
    padding-right: 0!important;
}

.school-links+.ubermenu-submenu>li>a {
    font-size: 20px;
    min-height: 45px;
}

.school-links+.ubermenu-submenu>li:first-child .ubermenu-tabs-group>li>a+.ubermenu-tab-content-panel {
    width: 48%;
    background: none;
}

.school-links+.ubermenu-submenu>li:first-child .ubermenu-tabs-group>li>a+.ubermenu-tab-content-panel a {
    font-size: 18px;
    height: 40px;
}

.school-links+.ubermenu-submenu>li:first-child .ubermenu-tabs-group>li>a:after {
    border-top: 21px solid transparent;
    border-bottom: 25px solid transparent;
}

.school-links+.ubermenu-submenu>li>a {
    font-size: 20px!important;
}

.school-onlylinks+.ubermenu-submenu {
    margin-top: 20px;
}

.school-onlylinks+.ubermenu-submenu>li>ul>li>a {
    font-size: 20px!important;
    min-height: 45px;
}

.drish-submenu+.ubermenu-submenu>ul>li:first-child>ul>li>a:hover {
    width: 95%!important;
}

.drish-submenu+.ubermenu-submenu>ul>li:first-child>ul>li>a {
    font-size: 18px!important;
}

.drish-submenu+.ubermenu-submenu>ul>li:first-child,
.drish-nestedsubmenu+.ubermenu-submenu>ul>li:first-child {
    margin-top: 21px;
}

ul#mid-menu li a:hover:after {
    display: none;
}

.ubermenu>ul>li>a {
    font-size: 16px!important;
}

.darkHeader a.ubermenu-target.ubermenu-item-layout-default.ubermenu-item-layout-text_only.contact-btn {
    background: #6F96B7;
    border-color: #6F96B7;
    margin-top: 0px;
    min-height: 47px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: block;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    font-size: 18px;
    -webkit-filter: drop-shadow(1px 1px 0px rgba(0, 20, 58, 0.85));
    filter: drop-shadow(1px 1px 0px rgba(0, 20, 58, 0.85));
    font-weight: 700;
    border-radius: .25rem;
    height: 47px;
    text-align: center;
}

a.ubermenu-target.ubermenu-item-layout-default.ubermenu-item-layout-text_only.contact-btn {
    display: none;
}

a.ubermenu-target.ubermenu-item-layout-default.ubermenu-item-layout-text_only.contact-btn:hover {
    border: none !important;
}

nav>ul>li>div {
    border-top: 1px solid rgba(16, 23, 30, 0.25)!important;
}

.drish-submenu+.ubermenu-submenu>ul>li:nth-child(2),
.drish-nestedsubmenu+.ubermenu-submenu .ubermenu-tabs-group .ubermenu-tab-content-panel {
    min-height: auto!important;
}

.ubermenu .left-menu>ul>li>a,
.ubermenu .ubermenu-tabs-group>li>a {
    display: block;
}

.ubermenu-item-level-3 a.ubermenu-target.ubermenu-item-layout-default.ubermenu-item-layout-text_only {
    display: block;
}

.ubermenu-horizontal.ubermenu-items-align-flex .ubermenu-nav .ubermenu-item-level-0 {
    width: auto;
}

header.header.darkHeader .full-width,
header.header.darkHeader>.container-fluid {
    -webkit-transition: all .5s;
    transition: all .5s;
}

.ubermenu-tab-content-panel>ul {
    background: none!important;
    padding: 0!important;
    margin: 0!important;
    width: 100%!important;
    height: 100%;
}

.navigation-bar .nav-col nav>ul>li.bottomlink,
.bottomlink a {
    display: none!important;
}

section.section.full-short-text p {
    width: 85%;
    margin: auto;
    word-break: break-word;
}

/* ==========================================================================
   05. Responsive overrides
   ========================================================================== */

@media screen and (max-width:991px) {
    .page-id-1368 .middle-section.section {
        padding-bottom: 50px;
    }
    .component.p-md-4.section--blue,
    .component.p-md-4.section--white,
    .component.p-md-4.section--grey {
        padding: 24px!important;
    }
    .card.horizontal--card.img--100 img {
        height: 100%;
    }
    div#form2DateTimeModal .modal-body {
        max-height: 75vh;
    }
    section.section.full-short-text p {
        width: 100%!important;
        margin: auto;
        max-width: 100%!important;
    }
    .mob-P-0 {
        padding: 0;
    }
}

@media (max-width: 767px) {
    .darkHeader .main-logo {
        display: none !important;
    }
}


@media screen and (max-width:959px) {
    .header-btns {
        width: calc(100% - 61px)!important;
    }
    .school-links+.ubermenu-submenu>li:first-child .ubermenu-tabs-group>li,
    .school-links+.ubermenu-submenu>li:first-child .ubermenu-tabs-group>li>a {
        font-size: 16px;
    }
    .school-links+.ubermenu-submenu>li:first-child .ubermenu-tabs-group>li {
        border-top: 1px solid rgba(255, 255, 255, .3)!important;
        min-height: initial!important;
        height: auto;
    }

    .school-links+.ubermenu-submenu>li:first-child .ubermenu-tabs-group>li>a .ubermenu-sub-indicator-close {
        top: 50%!important;
        transform: translate(0%, -80%);
    }
    a#third-level+ul>li>ul>li>ul>li>div a .ubermenu-target-title {
        padding-left: 15px;
    }
    a#third-level+ul>li>ul>li>ul>li>a>.ubermenu-target-title {
        padding: 0 15px;
    }
    .school-links+.ubermenu-submenu>li:first-child .ubermenu-tabs-group>li>a+.ubermenu-tab-content-panel a {
        font-size: 16px;
        height: 40px;
        border-top: 1px solid rgba(255, 255, 255, .3);
        padding: 10px 25px 10px 45px!important;
    }
    .drish-submenu+.ubermenu-submenu>ul>li:first-child>ul>li,
    .ubermenu .left-menu>ul>li,
    .ubermenu .ubermenu-tabs-group>li {
        background: rgba(0, 0, 0, .2);
    }
    .header>.container-fluid #mid-menu li {
        padding: 7px;
        min-width: initial;
    }
    .drish-submenu+.ubermenu-submenu>ul>li:nth-child(2),
    .drish-nestedsubmenu+.ubermenu-submenu .ubermenu-tabs-group .ubermenu-tab-content-panel {
        margin: 0;
    }
    .navigation-bar .nav-col .nav-col nav>ul>li>a.contact-btn {
        padding: 0!important;
        margin: 10px 20px;
        max-width: 120px;
        display: flex;
        align-items: center;
        justify-content: center;
        background: #6F96B7;
        border-color: #6F96B7;
        min-height: 47px;
        font-size: 18px;
        -webkit-filter: drop-shadow(1px 1px 0px rgba(0, 20, 58, 0.85));
        filter: drop-shadow(1px 1px 0px rgba(0, 20, 58, 0.85));
        font-weight: 700;
        border-radius: .25rem;
        height: 47px;
    }
    .drish-submenu+.ubermenu-submenu>ul,
    .menucards+.ubermenu-tab-content-panel>ul {
        display: block;
    }
    .drish-submenu+.ubermenu-submenu>ul>li,
    .menucards+.ubermenu-tab-content-panel>ul>li {
        display: block;
        width: 100%;
    }
    .navigation-bar>div,
    .navigation-bar>div>div,
    .navigation-bar>div>div>div {
        margin: 0!important;
        padding: 0!important;
    }
    .navigation-bar .nav-col nav>ul>li>ul>li>ul {
        margin: 0!important;
        padding-right: 0!important;
        display: block!important;
    }
    header.header.darkHeader .navigation-bar {
        top: 60px!important;
    }
    .header-btns {
        display: none!important;
    }
    .darkHeader .header-btns {
        display: flex!important;
    }

    .darkHeader-down #shiftnav-toggle-main {
        top: 0 !important;
    }
    .darkHeader-top #shiftnav-toggle-main {
        top: 11px;
    }

    .ubermenu-main .ubermenu-item-level-0>.ubermenu-target {
        text-align: center;
    }
    .ubermenu .ubermenu-submenu-type-stack>.ubermenu-item-normal>.ubermenu-target {
        color: #fff;
        text-align: left;
        width: 100%!important;
        padding: 18px 25px!important;
        font-size: 20px;
        border-top: 1px solid rgba(255, 255, 255, .5);
    }
    .ubermenu-responsive-default.ubermenu-responsive .ubermenu-tab>.ubermenu-target {
        color: #fff;
        text-align: center;
        align-items: flex-start;
    }
    .ubermenu .ubermenu-item-layout-image_above>.ubermenu-image {
        margin-bottom: 10px;
        width: 100%;
    }
    a#third-level {
        text-align: left;
    }
    .ubermenu,
    .ubermenu-nav {
        overflow: auto !important;
        z-index: 9999;
        height: 600px;
        padding-bottom: 80px;
    }
    .navigation-bar .nav-col nav>ul>li {
        display: block!important;
        width: 100%!important;
        text-align: left!important;
        border-bottom: 1px solid rgba(255, 255, 255, .4)!important
    }
    .navigation-bar .nav-col nav>ul>li>a {
        text-align: left;
        padding: 20px 25px !important;
        font-size: 20px!important;
        border: 0;
    }
    header .navigation-bar {
        padding: 0 !important;
    }
    .ubermenu-responsive-default.ubermenu-responsive.ubermenu-mobile-accordion:not(.ubermenu-mobile-modal):not(.ubermenu-in-transition):not(.ubermenu-responsive-collapse) {
        max-height: initial!important;
        height: 100vh;
        overflow: auto!important;
        border-top: 1px solid rgba(255, 255, 255, .5);
        margin-top: 1px;
    }
    .ubermenu,
    .ubermenu-nav {
        overflow: auto !important;
        padding-bottom: 30px;
    }
    .navigation-bar .nav-col .ubermenu-sub-indicators.ubermenu-sub-indicators-align-text .ubermenu-has-submenu-drop>.ubermenu-target>.ubermenu-sub-indicator {
        right: 10px!important;
        margin-left: .6em;
        height: 40px;
        width: 40px;
        border: 2px solid;
        display: flex;
        align-items: center;
        justify-content: center;
        border-radius: 50%;
        top: 50%;
        right: 20px!important;
        transform: translate(0, -33%);
    }
    li.left-menu,
    li.left-menu>ul>li {
        width: 100%!important;
        float: left!important;
        text-align: left;
        margin-top: 0!important;
    }
    li.left-menu>ul>li>a {
        padding: 20px 0px 20px 25px!important;
        text-align: left!important;
        border-top: 1px solid rgba(255, 255, 255, .4)!important;
    }
    .ubermenu-responsive-default.ubermenu-responsive .ubermenu-nav .ubermenu-item .ubermenu-submenu.ubermenu-submenu-drop {
        width: 100%;
        min-width: 100%;
        max-width: 100%;
        top: auto;
        left: 0!important;
        position: relative;
    }
    .ubermenu-responsive-default.ubermenu-responsive .ubermenu-item.ubermenu-active>.ubermenu-submenu.ubermenu-submenu-type-mega {
        max-height: none;
        height: auto;
        overflow: visible;
        box-shadow: none;
    }
    .ubermenu-responsive-default.ubermenu-responsive .ubermenu-tab>.ubermenu-target {
        color: #fff;
        text-align: left!important;
        min-height: 66px;
        display: flex;
        flex-direction: column;
        justify-content: center;
    }
    .ubermenu-tabs>ul {
        border-right: 0px!important;
    }
    .ubermenu-tabs>ul>li {
        border-top: 1px solid rgba(255, 255, 255, .4)!important;
        border-bottom: none!important;
        border-right: 0px !important;
    }
    .ubermenu-tabs>ul>li>a {
        border-bottom: none!important;
        border-right: 0px !important;
    }
    .ubermenu .ubermenu-tab .ubermenu-tab-content-panel {
        position: relative!important;
        display: none;
        border: 0px!important;
    }
    .ubermenu-tab>div>ul>li>ul>li>ul {
        margin: 0!important;
        padding: 0!important;
    }
    .ubermenu-tab-content-panel ul {
        padding: 0!important;
        margin: 0!important;
    }
    ul.ubermenu-tabs-group .ubermenu-tabs,
    .ubermenu-tab-content-panel {
        background: rgba(111, 150, 183, .4)!important;
    }
    .ubermenu-tab-content-panel a {
        color: #fff;
        text-align: left!important;
        min-height: 40px;
        display: flex;
        flex-direction: column;
        justify-content: center;
    }
    .ubermenu-tab-content-panel .ubermenu-tabs>ul>li>a {
        height: 40px!important;
        min-height: 40px!important;
    }
    .ubermenu-tab-content-panel>ul>li>ul>li>ul>li>ul>li>a {
        min-height: 40px!important;
    }
    .ubermenu-active>a {
        background: #6F96B7!important;
    }
    .navigation-bar .nav-col .ubermenu.ubermenu-submenu-indicator-closes .ubermenu-sub-indicator-close>[class^=fa] {
        display: inline-block;
        position: absolute;
        top: 50%;
        margin-top: 0;
        left: initial!important;
        width: 100%;
        right: 10px!important;
        margin-left: .6em;
        height: 40px;
        width: 40px;
        border: 2px solid;
        display: flex;
        align-items: center;
        justify-content: center;
        border-radius: 50%;
        top: 14px;
    }
    span.ubermenu-sub-indicator-close>i:before {
        content: "\f106"!important;
    }
    .navigation-bar>.container-fluid {
        padding: 0!important;
    }
    .navigation-bar .nav-col nav>ul>li>ul>li>ul>li .ubermenu-sub-indicator-close {
        display: block!important;
        right: 10px!important;
    }
    .navigation-bar .nav-col nav>ul>li>ul>li>ul>li>a.no-child .ubermenu-sub-indicator-close {
        display: none;
    }
    .navigation-bar .nav-col nav>ul>li>ul>li>ul>li .ubermenu-sub-indicator-close i {
        border: 0px;
        top: 50%;
        transform: translate(0%, -50%);
        margin: 0;
        font-size: 16px;
    }
    .navigation-bar .nav-col nav>ul>li>ul>li>ul>li .ubermenu-sub-indicator-close i:before {
        content: "\f107"!important;
    }
    .navigation-bar .nav-col nav>ul>li>ul>li>ul>li.ubermenu-active .ubermenu-sub-indicator-close i:before {
        content: '\f107'!important;
    }
    .ubermenu-responsive-default.ubermenu.ubermenu-submenu-indicator-closes .ubermenu-target>.ubermenu-sub-indicator-close {
        right: 10px;
    }
    .ubermenu-responsive-default.ubermenu.ubermenu-submenu-indicator-closes .ubermenu-active>.ubermenu-target>.ubermenu-sub-indicator-close {
        right: 10px;
    }
    .navigation-bar .nav-col nav>ul>li>ul>li>ul>li .ubermenu-tab-content-panel {
        padding: 0;
    }
    a#third-level+ul>li>ul>li>ul>li>a,
    a#third-level+ul>li>ul>li>ul>li.nested-bighover>a,
    a#third-level+ul>li>ul>li>ul>li.nested-bighover {
        min-height: initial!important;
        height: auto!important;
    }
    .ubermenu-tab>div>ul>li>ul>li {
        margin: 0!important;
    }
    .ubermenu-tab-content-panel ul.ubermenu-tabs-group>li {
        border: 0px!important;
    }
    ul.ubermenu-tabs-group>li>a {
        padding: 10px 25px!important;
        border: 0px!important;
    }
    .navigation-bar .nav-col .label-title>a {
        display: none!important;
    }
    .navigation-bar .nav-col nav>ul>li>ul>li>ul>li.ubermenu-active>a .ubermenu-sub-indicator-close i:before,
    a#third-level+ul>li>ul>li>ul>li.ubermenu-active>a>.ubermenu-sub-indicator-close i:before {
        content: '\f106'!important;
    }
    a#third-level+ul>li>ul>li>ul>li .ubermenu-tab-content-panel {
        padding: 15px 5px;
    }
    .navigation-bar .nav-col nav>ul>li:last-child {
        display: none;
    }
    .header>.container-fluid #mid-menu li {
        min-width: initial!important;
        margin-left: 7px!important;
        padding: 7px 0!important;
    }
    .header>.container-fluid .navbar-toggler {
        position: absolute;
        right: 15px;
        top: 8px;
        padding: 12px 10px!important;
    }
    .navigation-bar .nav-col nav>ul>li>a:hover {
        border: 0!important;
    }
    .ubermenu-responsive-default.ubermenu-responsive .ubermenu-item.ubermenu-item-level-0>.ubermenu-target {
        border: none;
        box-shadow: none;
        text-align: left;
    }
    .ubermenu-responsive-default.ubermenu.ubermenu-responsive .ubermenu-autoclear>.ubermenu-column {
        margin: 0;
        padding: 0;
        width: 100%;
    }
    .navigation-bar .ubermenu ul {
        margin: 0!important;
        padding: 0!important;
    }
    .ubermenu .ubermenu-item-type-column>.ubermenu-submenu-type-stack>.ubermenu-item-normal:first-child {
        margin-top: 0!important;
    }
    .drish-submenu+.ubermenu-submenu>ul>li:first-child>ul>li>a:hover {
        min-width: 100%!important;
        width: 100%!important;
    }
    .drish-submenu+.ubermenu-submenu>ul>li:first-child>ul>li>a {
        padding: 15px 25px!important;
    }
    .drish-submenu+.ubermenu-submenu>ul>li:first-child>ul>li:last-child>a {
        border-bottom: 0px
    }
    .navigation-bar .nav-col li.ubermenu-active i.ubermenu-sub-indicator.fa-angle-down:before {
        content: '\f106'!important;
    }
    span.ubermenu-sub-indicator-close {
        display: none!important;
    }
    .ubermenu-responsive-default.ubermenu-responsive .ubermenu-item.ubermenu-item-level-0>ul>li .ubermenu-sub-indicator-close>i {
        border: 0!important;
        top: 50%;
        transform: translate(0, 0);
    }
    .drish-submenu+.ubermenu-submenu>ul>li:nth-child(2),
    .drish-nestedsubmenu+.ubermenu-submenu .ubermenu-tabs-group .ubermenu-tab-content-panel {
        padding: 0px!important;
    }
    .navigation-bar .nav-col nav>ul>li:last-child {
        display: none!important;
    }
    #herovideo-modal .modal-dialog .modal-content .modal-body iframe {
        height: 100vh!important;
        min-height: initial!important;
    }
    .navigation-bar .nav-col nav>ul>li.bottomlink,
    .bottomlink a {
        border-bottom: 0px!important;
        display: block!important;
    }
}

.drish-submenu+.ubermenu-submenu>ul {
    max-width: 1140px;
}


/* 1. Style the hamburger button. */

.navbar-toggler .hamburger-button {
    position: relative;
    transition: .3s ease-in-out;
    width: 38px!important;
    height: 38px;
}

.hamburger-button span {
    position: absolute;
    height: 8px;
    border-radius: 4px;
    width: calc(100% - 18px)!important;
    background-color: #3D4146;
    top: 0;
    transition: transform .2s ease-in-out, opacity .2s ease-in-out;
    left: 9px;
    right: -9px;
}

.hamburger-button span:nth-child(1) {
    top: 10px;
}

.hamburger-button span:nth-child(2),
.hamburger-button span:nth-child(3) {
    top: 18px;
}

.hamburger-button span:nth-child(4) {
    top: 26px;
}


/* 2. Style the active state and create the cross. */

.ubermenu-responsive-toggle-open .hamburger-button span:nth-child(1),
.ubermenu-responsive-toggle-open .hamburger-button span:nth-child(4) {
    opacity: 0;
}

.ubermenu-responsive-toggle-open .hamburger-button span:nth-child(2) {
    transform: rotate(45deg);
}

.ubermenu-responsive-toggle-open .hamburger-button span:nth-child(3) {
    transform: rotate(-45deg);
}

.ubermenu-responsive-toggle-open .hamburger-button span {
    height: 3px!important;
    width: calc(100% - 18px)!important;
}

.header>.container-fluid .navbar-toggler {
    padding: 0!important;
}

div#date_of_birth>div {
    margin-right: 0;
    display: block;
    margin: 5px 0;
    text-align: left;
    width: calc(100% - 54px);
}

.site-breadcrumb .breadcrumb li a,
.breadcrumb li {
    font-size: 14px;
    font-weight: 600;
}

ul.venue-facilities li {
    margin-bottom: 5px;
}

.breadcrumb-item.active {
    font-size: 1.125rem;
    font-weight: 700;
    text-decoration: none;
}

.ubermenu-sub-indicators .ubermenu-item-has-children>.ubermenu-target.ubermenu-noindicator {
    padding-right: 20px;
    min-height: 60px;
}

.menu-title:after {
  display:none;
}

.menu-title-without:after {
    display:none;

}



.drish-submenu+.ubermenu-submenu>ul>li:first-child>ul>li>a:hover {
    width: 100%!important;
}

@media screen and (max-width:768px) {
    .breadcrumb-item.active,
    .breadcrumb li a {
        font-size: 14px;
    }
    .booking-sec {
        padding: 30px 0;
    }
}


/* ==========================================================================
   06. General components and WPBakery overrides
   ========================================================================== */

body,
p {
    font-family: 'Raleway', sans-serif;
}


a.skip-link {
    display: none;
}

.header>.container-fluid #mid-menu {
    flex-direction: row;
    justify-content: flex-end;
}

.header>.container-fluid #mid-menu li {
    background-color: #0089ff;
    background: #8aa6bc;
    padding: 7px 15px;
    min-width: 100px;
    text-align: center;
    margin-left: 15px;
    background: #6F96B7;
    border-color: #6F96B7;
    -webkit-filter: drop-shadow(1px 1px 0px rgba(0, 20, 58, 0.85));
    filter: drop-shadow(1px 1px 0px rgba(0, 20, 58, 0.85));
    border-radius: 3px;
}

.navigation-bar {
    background: #C41F2F;
    padding: 0;
    -webkit-box-shadow: 1px 1px 0px rgb(0 20 58 / 85%);
    box-shadow: 1px 1px 0px rgb(0 20 58 / 85%);
}

footer {
    color: #fff;
    position: relative;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: right;
    background-color: #727271;
}

footer ul {
    padding: 0;
    margin-top: 10px;
    list-style: none;
}

footer h6 {
    font-size: 18px;
    font-weight: 500;
}

footer ul li a {
    font-size: 16px;
}

.bottom-bar {
    background-color: #10171E;
    padding: 40px 0;
    position: relative;
}

h1.entry-title {
    display: none;
}

footer.section.pb-0 .container-fluid {
    position: relative;
}


.copyright p {
    color: #f0f0f0;
    text-align: right;
}

footer .social-icons a {
    color: #fff;
}

.prize h6 {
    font-size: 1.125rem;
    font-weight: 700;
}


.link .mb-3 {
    color: #fff;
    border-color: #fff;
    padding: 15px 13px;
}

.link .mb-3:after {
    content: none;
}

.link .mb-3:hover {
    background: #fff;
    border-color: #6F96B7;
    color: #6F96B7;
}

div#navbarMain ul#mid-menu li a {
    color: #fff;
    padding: 5px;
    height: 30px;
}

.middle-section .container,
.middle-section .container-fluid {
    padding: 80px;
}

@media screen and (max-width:991px) {
    .modal section#pq-form .col .form__front {
        padding: 30px 15px 0!important;
    }
    .middle-section .container,
    .middle-section .container-fluid {
        padding: 35px 15px;
    }
    .DOB .btn,
    .DOB>div {
        width: 100%;
        margin-right: 0;
    }
    .DOB {
        flex-wrap: wrap;
    }
}

.text-center .center-title .body-small::after {
    right: 0;
    margin: auto;
}

.section--blue .btn-link {
    padding: 0;
    text-decoration: none;
    font-weight: 700;
    position: relative;
    text-align: left;
    padding-right: 15px;
}

.section--blue .btn-link:after {
    content: "\f105";
    font-family: 'Font Awesome 5 Free';
    top: 2px;
    margin-left: 7px;
    position: absolute;
}

.section--white .btn-link {
    padding: 0;
    text-decoration: none;
    font-weight: 700;
    position: relative;
    text-align: left;
    padding-right: 15px;
}

.section--white .btn-link:after {
    content: "\f105";
    font-family: 'Font Awesome 5 Free';
    top: 2px;
    margin-left: 7px;
    position: absolute;
}

div#comments {
    display: none;
}

.ubermenu .ubermenu-nav .ubermenu-column-full {
    width: 1140px;
    margin: 0 auto;
    display: block;
    float: none;
}

.flexible-content h2 {
    font-size: 30px!important;
    line-height: 36px;
}




body {
    font-family: 'Raleway', sans-serif;
}

.age-school .link .btn-primary {
    color: #fff;
}

.age-school .link .btn-primary.btn-primary--border {
    color: #6f96b7;
}

.hash-list .ul-marker li:before {
    display: none;
}

.video_wrapper {
    position: relative;
    padding-bottom: 56.25%;
    padding-top: 0;
    height: 0;
}

.video_wrapper iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

@media (max-width: 767px) {
    .no-gap-mobile .col-xl-4.col-lg-4.col-md-4.boxPadding-0 {
        margin-bottom: 0px!important;
    }
    .no-gap-mobile .list ul {
        margin-bottom: 0px;
    }
    .no-gap-mobile .card-body.section--white {
        padding-top: 0px;
        padding-bottom: 1px;
    }
    .no-gap-mobile .justify-content-between {
        padding-top: 20px;
        padding-bottom: 20px;
    }
    ._video_modal iframe {
        margin-top: 70px;
    }
}

[id^="shuttle-modal"] .modal-dialog.modal-lg {
    display: block;
}

a#form-enquiry-main-step {
    color: #fff;
}

.section--blue .card.border-0.section--yellow {
    color: #fff;
}

@media (min-width: 768px) {
    .col-w-20 {
        width: 20%;
    }
}

.form-step__controls .btn.btn-primary:active {
    color: #fff;
}

.form-step__controls .btn.btn-primary {
    color: #fff;
}

.z-9 {
    z-index: 9;
}

.small-header {
    height: auto;
}

.form-step__controls .link .btn-primary.btn-primary--border {
    color: #6f96b7;
}

.page-template-template-page-php header {
    position: relative;
    background-color: #c41f2f;
}

.component.fee-table {
    overflow-x: auto;
}

/* The tile image. It was a background with a fixed 100px height and a float,
 * inside a Bootstrap grid; it is an <img> in a shape box now, so the crop is
 * object-fit and the height comes from the shape. Without a shape the image
 * keeps its own proportions. */
.flex-thumbnails__img > .flex-thumbnails__image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
}

/* The space between the rows of tiles, matching the 1.5rem Bootstrap already
 * puts between the columns, so the grid is evenly spaced both ways.
 *
 * The caption used to carry the only vertical spacing in the whole block - a
 * 15px bottom margin, inside the tile. So a tile without a caption had no
 * spacing at all and the rows sat flush against each other, and a tile with
 * one was 129px tall against its neighbours' 93px. The gap belongs to the row,
 * which has it whatever the tiles contain.
 *
 * row-gap rather than --bs-gutter-y. Bootstrap delivers that gutter by putting
 * margin-top on every child and cancelling the first row with an equal
 * negative margin-top on the row itself - so the row's own box began 24px
 * higher than it should, and a second grid in the same column pulled up into
 * whatever was above it. A gap applies only between the lines and leaves no
 * edge to cancel. */
.flex-thumbnails {
    row-gap: 1.5rem;
}

/* Blocks in the same column, and only where something follows - a grid or a
 * button that ends the column adds no trailing space. This is also what sits
 * between a grid and its own Load more button, which is why that button has no
 * top margin of its own: one rule spaces every combination the same way. */
.flex-thumbnails:not(:first-child) {
    margin-top: 1.5rem;
}

.flex-thumbnails:not(:last-child),
.flex-thumbnails__more:not(:last-child) {
    margin-bottom: 1.5rem;
}

/* Stacked below 768px the theme adds its own 20px under every `.row > div`,
 * which lands on top of the gap and spaces the tiles 44px apart against 24px
 * on a desktop. Two classes outscore `.row>div`, so row-gap stays the only
 * thing setting the gap. */
@media (max-width: 767px) {
    .flex-thumbnails > .flex-thumbnails__wrap {
        margin-bottom: 0;
    }
}

/* A gallery tile. It opens a lightbox rather than going anywhere, so it is a
 * button - which means undoing the browser's own button styling, and giving
 * the shape box a display, since a span is inline by default. */
.flex-thumbnails__tile {
    display: block;
    width: 100%;
    padding: 0;
    border: 0;
    background: none;
    cursor: pointer;
}

.flex-thumbnails__tile > .flex-thumbnails__img {
    display: block;
}

/* A cue that the tile does something, since there is no caption to say so. */
.flex-thumbnails__tile > .flex-thumbnails__img > .flex-thumbnails__image {
    transition: transform .3s ease-in-out;
}

.flex-thumbnails__tile:hover > .flex-thumbnails__img > .flex-thumbnails__image,
.flex-thumbnails__tile:focus-visible > .flex-thumbnails__img > .flex-thumbnails__image {
    transform: scale(1.06);
}

/* The lightbox. One slide at a time, sized to the viewport rather than the
 * image, so a tall photograph does not push the caption off the screen.
 *
 * overflow is stated because slick's default arrow positions sit 25px outside
 * the slider, which pushed the body 25px wider than itself and put a
 * horizontal scrollbar across the dialog. The arrows are inside it now, but
 * nothing in a lightbox should scroll sideways in any case. */
/* No panel: the image sits straight on the darkened page. The dialog carried
 * `section--white`, which painted it white; that is off the markup now and the
 * background and border are stated here so nothing else can paint it either. */
.cwb-gallery .modal-content {
    background: transparent;
    border: 0;
    box-shadow: none;
    /* `.modal-content{min-height:100vh}` in this stylesheet makes every modal
     * as tall as the window below 768px, which leaves a centred dialog nothing
     * to centre within - it filled the screen and sat against the top. */
    min-height: 0;
}

.cwb-gallery .modal-body {
    padding: 24px;
    overflow: hidden;
}

.cwb-gallery .cwb-gallery__caption {
    color: #fff;
}

/* Darker than Bootstrap's own 0.5, so the page reads as put away rather than
 * dimmed - the image is the only thing on a transparent dialog now. */
body.cwb-gallery-open .modal-backdrop.show {
    --bs-backdrop-opacity: .85;
    opacity: .85;
}

/* A stage of a fixed height, so the lightbox is the same size before an image
 * has loaded, while it loads, and on every slide after it - see the note in
 * app.js about what adaptiveHeight did instead.
 *
 * On the figure rather than the slide. Slick writes `display: inline-block`
 * onto the slide as an inline style, which no rule can outscore, so a stage
 * built there was never a flex container and its image sat at the top of it
 * instead of in the middle. The figure is this element's own and slick does
 * not touch it. */
.cwb-gallery__figure {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-height: 60vh;
    margin: 0;
    width: 100%;
}

/* The image.
 *
 * Three classes, because `.slick-slider .slick-slide img` sets max-height:40vh
 * and object-fit:cover on every slide image on the site - which capped this at
 * 40vh whatever was asked for, and would crop a photograph in a lightbox
 * rather than show all of it. `contain` is the whole point here. */
.cwb-gallery .cwb-gallery__slider .cwb-gallery__image {
    display: block;
    width: auto;
    max-width: 100%;
    max-height: 52vh;
    margin: 0 auto;
    object-fit: contain;
}

/* Shorter stage on a desktop, where the window is wide rather than tall - and
 * short enough that the dialog can always centre itself instead of running
 * past the bottom of the window and being pinned to the top. The stage is the
 * image plus room for a caption, so a slide with one is the same height as a
 * slide without and the lightbox does not resize as you move through it. */
@media (min-width: 768px) {
    .cwb-gallery__figure {
        min-height: 58vh;
    }

    .cwb-gallery .cwb-gallery__slider .cwb-gallery__image {
        max-height: 50vh;
    }
}

.cwb-gallery__caption {
    margin-top: 12px;
    text-align: center;
}

/* Slick lays its track out with flex, so a slide has to be allowed to be as
 * tall as its own image and caption. */
.cwb-gallery__slider .slick-slide {
    height: auto;
}

/* The lightbox's own buttons - the two arrows and the close.
 *
 * Every one of them has to outscore something. `.slick-slider .slick-arrow`
 * sets a transparent background and hides the arrows outright, and
 * `.modal .btn-close` paints a white background with !important - which is why
 * the close button has a class of its own rather than a second !important.
 *
 * Three classes for the arrows, not two: `.slick-slider .slick-arrow` is also
 * two, and it lives in the compiled block at the foot of this file, so an
 * equal score is settled by source order in its favour. */
.cwb-gallery .cwb-gallery__slider .cwb-gallery__nav,
.cwb-gallery .cwb-gallery__close {
    position: absolute;
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    padding: 0;
    border: 2px solid #10171e;
    border-radius: 50%;
    background: #fff;
    color: #10171e;
    font-size: 22px;
    line-height: 1;
    cursor: pointer;
    opacity: 1;
}

.cwb-gallery .cwb-gallery__slider .cwb-gallery__nav {
    top: 50%;
    transform: translateY(-50%);
}

.cwb-gallery .cwb-gallery__slider .cwb-gallery__nav--prev {
    left: 0;
}

.cwb-gallery .cwb-gallery__slider .cwb-gallery__nav--next {
    right: 0;
}

.cwb-gallery .cwb-gallery__close {
    top: 0;
    right: 0;
    z-index: 3;
    font-size: 18px;
}

/* Dimmed rather than recoloured, so it still reads as the same button.
 * `.slick-slider .slick-arrow.slick-disabled` would otherwise grey the border
 * and the glyph separately. */
.cwb-gallery .cwb-gallery__slider .cwb-gallery__nav.slick-disabled {
    /* The background is restated because
     * `.slick-slider .slick-arrow.slick-disabled` sets it transparent at the
     * same three classes as the rule above, and wins on source order. */
    background: #fff;
    border-color: #10171e;
    color: #10171e;
    opacity: .3;
    cursor: default;
}

/* A tile waiting on the Load more button. `.row > *` sets width and padding
 * but no display, so [hidden] would hold on its own; it is stated because a
 * later rule setting a display on the column would silently bring the tile
 * back. */
.flex-thumbnails__wrap[hidden] {
    display: none;
}

/* `.link .btn-link:after` gives every link on the site a right-pointing angle.
 * This button does not go anywhere - it opens downwards and closes upwards -
 * so it takes those two glyphs instead, keeping the family, position and
 * spacing the shared rule already sets. The state comes from aria-expanded,
 * which the handler is already maintaining, so nothing has to be toggled
 * twice. */
.flex-thumbnails__more .btn-link.flex-thumbnails__more-btn:after {
    content: "\f107";
}

.flex-thumbnails__more .btn-link.flex-thumbnails__more-btn[aria-expanded="true"]:after {
    content: "\f106";
}

.flex-thumbnails__btn--title {
    font-size: 14px;
    margin-top: 8px;
    margin-bottom: 0;
}

/* The caption is the link's own text, so it takes the section's Text Link
 * Colour. Three classes and an element, which outweighs the two
 * `.section--blue` rules further down that hardcode #fff and #6F96B7. */
.flex-thumbnails a.flex-thumbnails__btn .flex-thumbnails__btn--title {
    color: var(--cwb-link, #6f96b7);
}

.flex-thumbnails a.flex-thumbnails__btn:hover .flex-thumbnails__btn--title {
    color: var(--cwb-link-hover, #6f96b7);
}


.welcome--section {
    border: none !important;
}

ul.small-items.ul-marker {
    position: relative;
    left: 15px;
}

.section {
    position: relative;
}

.section--withBG.section--blue:before {
    background: none;
}

/* A Section Background Image stands in for the colour profile's background
   colour, and only that: text, headings, buttons and accent colours all still
   come from the profile. Skipping the inline background-color covers most
   profiles, but the 1. Brand profile is also written to .main-color and its
   legacy .section--blue alias as a stylesheet rule, so it needs overriding
   here. Listing every profile keeps this working if any of them is given a
   stylesheet output later. */
.section--withBG.main-color,
.section--withBG.primary-color,
.section--withBG.secondary-color,
.section--withBG.tertiary-color,
.section--withBG.light-color,
.section--withBG.dark-color,
.section--withBG.section--blue {
    background-color: transparent;
}

.carousel-control-next,
.carousel-control-prev {
    background: #0c0b0b;
    height: 30px;
    border-radius: 50px;
    width: 30px;
    top: 50%;
}

.carousel-control-prev-icon {
    width: 20px;
}

.carousel-control-next-icon {
    width: 20px;
}

.link .btn-primary {
    color: #fff
}

.card.horizontal--card .component.link .btn-primary {
    color: #fff;
}

.section--blue .card.horizontal--card .component.link .btn-primary {
    color: #6f96b7;
}




.section--blue .flex-thumbnails__btn--title {
    color: #fff;
}

.section--blue .card-body .flex-thumbnails__btn--title {
    color: #6F96B7;
}

.row>div>.pt-4:first-child {
    padding-top: 0!important;
}

.booking-sec .form-group.fake-select .btn:hover {
    color: #3c444f;
}

.styled-input input:focus~label,
.styled-input input:valid~label,
textarea:focus~label,
textarea:valid~label,
input:optional:focus~label,
input:optional:valid~label {
    font-size: .75em;
    color: #727271;
    top: 3px;
    -webkit-transition: all .125s ease;
    transition: all .125s ease;
    left: 3px;
    padding: 0 0 0 11px;
}

.styled-input label,
.styled-input input:optional~label {
    color: #727271;
    padding: 11px;
    position: absolute;
    top: 0;
    left: 0;
    -webkit-transition: all .25s ease;
    transition: all .25s ease;
    pointer-events: none;
    right: 0;
    font-size: 16px;
}

.video_wrapper {
    padding-top: 0!important;
}

.welcome--section {
    border-top: 0;
}


/* ==========================================================================
   07. ShiftNav overrides
   ========================================================================== */

div#shiftnav-main {
    top: 75px;
    width: 100vw;
    left: 0;
    right: 0;
    max-width: 100%;
}

@media screen and (max-width: 959px) {
    html #shiftnav-toggle-main~#wpadminbar {
        top: 0 !important;
    }
}

h3.shiftnav-menu-title.shiftnav-site-title {
    display: none;
}

.shiftnav:after {
    box-shadow: none !important;
}

span.shiftnav-submenu-activation.shiftnav-submenu-activation-open,
.shiftnav.shiftnav-skin-standard-dark li.menu-item .shiftnav-submenu-activation {
    background: none!important;
    border: none!important;
}

.shiftnav.shiftnav-skin-standard-dark ul.shiftnav-menu li.menu-item > .shiftnav-target {
    text-shadow: none !important;
}

.shiftnav ul.shiftnav-menu li.menu-item > .shiftnav-target,
.shiftnav ul.shiftnav-menu li.shiftnav-retract > .shiftnav-target {
    padding: 20px 25px 20px 14px;
}

.shiftnav.shiftnav-shiftnav-main ul.shiftnav-menu li.menu-item > .shiftnav-target,
.shiftnav.shiftnav-shiftnav-main ul.shiftnav-menu li.menu-item > .shiftnav-submenu-activation {
    border-top: 1px solid #fff;
    border-bottom: 0;
    text-transform: capitalize;
}

nav.shiftnav-nav>ul>li>ul>li>a {
    background: rgba(0, 0, 0, .1)!important;
    padding-left: 30px !important;
}

nav.shiftnav-nav>ul>li>ul>li>ul>li>a {
    background: rgba(0, 0, 0, .3)!important;
}

.shiftnav.shiftnav-skin-standard-dark ul.shiftnav-menu ul.sub-menu ul.sub-menu li.menu-item > .shiftnav-target {
    padding-left: 50px !important;
}

nav.shiftnav-nav>ul>li>ul>li>ul>li>ul>li>a {
    background: rgba(0, 0, 0, .6)!important;
}

div#shiftnav-main ul {
    margin: 0!important;
    padding: 0!important;
    background: none;
}

#shiftnav-toggle-main {
    transform: translate(-15px, 10px)!important;
    border: 2px solid;
    border-radius: 3px;
    padding: 2px 5px!important;
}

div#shiftnav-toggle-main>button {
    padding: 5px 5px!important;
}

nav.shiftnav-nav>ul>li>span.shiftnav-submenu-activation.shiftnav-submenu-activation-open:before,
nav.shiftnav-nav>ul>li>span.shiftnav-submenu-activation.shiftnav-submenu-activation-close:before {
    content: '';
    border: 2px solid #fff;
    position: absolute;
    height: 42px;
    width: 42px;
    border-radius: 50%;
    right: 3px;
}

span.shiftnav-submenu-activation {
    width: 100% !important;
    max-width: 100% !important;
    justify-content: flex-end !important;
}

span.shiftnav-submenu-activation.shiftnav-submenu-activation-open,
span.shiftnav-submenu-activation.shiftnav-submenu-activation-close {
    max-width: 100% !important;
    width: 100% !important;
    z-index: 99;
}

span.shiftnav-submenu-activation.shiftnav-submenu-activation-open > i,
span.shiftnav-submenu-activation.shiftnav-submenu-activation-close > i,
span.shiftnav-submenu-activation i.fa {
    left: initial !important;
    right: 17px;
}

.shiftnav li.menu-item .shiftnav-submenu-activation {
    right: 8px !important;
}

.shiftnav-sub-always > a.shiftnav-target,
a.shiftnav-target.contact-btn {
    display: none !important;
}

a.shiftnav-target.Custom-link {
    border-top: 0 !important;
    padding: 6px 15px !important;
    font-size: 16px;
}

.btn-radius {
    border-radius: .25rem;
}


/* ==========================================================================
   08. Forms, Gravity Forms, and booking flows
   ========================================================================== */

/* Gravity Forms baseline field controls */
.gform_wrapper input:not([type="button"]):not([type="checkbox"]):not([type="file"]):not([type="hidden"]):not([type="image"]):not([type="radio"]):not([type="reset"]):not([type="submit"]),
.gform_wrapper select,
.gform_wrapper textarea {
    margin-top: 0;
    margin-bottom: 0;
    padding: 10px 10px;
    border: 2px solid #10171e;
    border-radius: 4px;
}

.gform_wrapper.gform_legacy_markup_wrapper ul.gform_fields li.gfield {
    margin-top: 0;
    margin-bottom: 24px;
}

.gform_wrapper .form-spacer {
    display: none;
}

.gform_wrapper input:not([type="button"]):not([type="checkbox"]):not([type="file"]):not([type="hidden"]):not([type="image"]):not([type="radio"]):not([type="reset"]):not([type="submit"]),
.gform_wrapper select {
    min-height: 52px;
}

.gform_wrapper.gform_legacy_markup_wrapper.gf_browser_chrome select,
.gform_wrapper.gform_legacy_markup_wrapper .ginput_complex select,
.gform_wrapper.gform_legacy_markup_wrapper.gf_browser_chrome .ginput_complex select,
.gform_wrapper.gform_legacy_markup_wrapper.gf_browser_chrome ul.gform_fields li.gfield div.ginput_complex span.ginput_left select,
.gform_wrapper.gform_legacy_markup_wrapper.gf_browser_chrome ul.gform_fields li.gfield div.ginput_complex span.ginput_right select,
.gform_wrapper.gform_legacy_markup_wrapper .field_sublabel_hidden_label .ginput_complex.ginput_container select {
    margin-top: 0;
    margin-bottom: 0;
    margin-left: 0;
    padding: 10px 10px;
}

.gform_wrapper.gform_legacy_markup_wrapper.gf_browser_chrome ul.gform_fields li.gfield span.name_first,
.gform_wrapper.gform_legacy_markup_wrapper.gf_browser_chrome ul.gform_fields li.gfield span.name_middle,
.gform_wrapper.gform_legacy_markup_wrapper.gf_browser_chrome ul.gform_fields li.gfield span.name_last {
    padding-top: 0;
}

.gform_wrapper input::placeholder,
.gform_wrapper textarea::placeholder {
    color: #6c757d;
    opacity: .5;
}

.gform_wrapper select.is-placeholder,
.gform_wrapper select:has(option.gf_placeholder:checked),
.gform_wrapper .name_prefix_select select:has(option:first-child:checked) {
    color: rgba(108, 117, 125, .5);
}

.gform_wrapper select option {
    color: #10171e;
}

.gform_wrapper select option.gf_placeholder,
.gform_wrapper .name_prefix_select select option:first-child {
    color: rgba(108, 117, 125, .5);
}

.gform_wrapper .gfield_checkbox .gchoice {
    display: flex;
    align-items: center;
    gap: 12px;
}

.gform_wrapper .gfield_checkbox .gfield-choice-input[type="checkbox"] {
    display: inline-grid;
    place-content: center;
    flex: 0 0 32px;
    width: 32px;
    min-width: 32px;
    height: 32px;
    min-height: 32px;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 3px;
    appearance: none;
    -webkit-appearance: none;
    background-color: #c8c8c8;
    cursor: pointer;
}

.gform_wrapper.gform_legacy_markup_wrapper.gf_browser_chrome .gfield_checkbox li input[type="checkbox"] {
    margin-top: 0;
}

.gform_wrapper .gfield_checkbox .gfield-choice-input[type="checkbox"]::before {
    content: "";
    width: 9px;
    height: 15px;
    margin-top: -2px;
    border: solid #fff;
    border-width: 0 3px 3px 0;
    transform: rotate(45deg) scale(0);
    transition: transform .12s ease-in-out;
}

.gform_wrapper .gfield_checkbox .gfield-choice-input[type="checkbox"]:checked {
    background-color: #008a00;
}

.gform_wrapper .gfield_checkbox .gfield-choice-input[type="checkbox"]:checked::before {
    transform: rotate(45deg) scale(1);
}

.gform_wrapper .gfield_checkbox .gfield-choice-input[type="checkbox"]:focus-visible {
    outline: 2px solid #1e90ff;
    outline-offset: 2px;
}

.gform_wrapper .gfield_checkbox .gfield-choice-input[type="checkbox"] + label {
    margin: 0;
    line-height: 1.3;
    cursor: pointer;
}

.gform_wrapper .gfield_radio .gchoice {
    display: flex;
    align-items: center;
    gap: 12px;
}

.gform_wrapper .gfield_radio input[type="radio"] {
    display: inline-grid;
    place-content: center;
    flex: 0 0 32px;
    width: 32px;
    min-width: 32px;
    height: 32px;
    min-height: 32px;
    margin: 0;
    padding: 0;
    border: 3px solid #c8c8c8;
    border-radius: 50%;
    appearance: none;
    -webkit-appearance: none;
    background-color: #fff;
    cursor: pointer;
}

.gform_wrapper .gfield_radio input[type="radio"]::before {
    content: "";
    width: 18px;
    height: 18px;
    border-radius: 50%;
    transform: scale(0);
    transition: transform .12s ease-in-out;
    background-color: #fff;
}

.gform_wrapper .gfield_radio input[type="radio"]:checked {
    background-color: #008a00;
    border-color: #008a00;
}

.gform_wrapper .gfield_radio input[type="radio"]:checked::before {
    transform: scale(1);
}

.gform_wrapper .gfield_radio input[type="radio"]:focus-visible {
    outline: 2px solid #1e90ff;
    outline-offset: 2px;
}

.gform_wrapper .gfield_radio input[type="radio"] + label {
    margin: 0;
    line-height: 1.3;
    cursor: pointer;
}

.gform_wrapper.gform_legacy_markup_wrapper.gf_browser_chrome ul.gform_fields li.gfield input[type="radio"],
.gform_wrapper.gform_legacy_markup_wrapper.gf_browser_chrome .gfield_radio li input[type="radio"] {
    margin-top: 0;
}



.booking-sec .form-group.fake-select .btn:before {
    top: 23%;
    content: '';
    font-family: 'Font Awesome 5 Free';
    content: '\f105';
    position: absolute;
    right: 16px;
    font-size: 20px;
}

.booking-sec .form-group.fake-select .btn {
    font-weight: 600;
    padding: 15px 35px 15px 15px;
    text-align: left;
    border-color: #3c444f;
    position: relative;
    max-width: 99%;
    overflow: hidden;
}

@media (min-width: 992px) {
    .booking-sec {
        margin-top: 0px!important;
    }
}

.fake-select .btn-primary.form-step__select-modal {
    min-width: 100px;
    text-align: left;
    padding: 16px 25px 16px 16px;
    font-weight: 600;
}

.booking-sec .forminput.filled-chk .icon {
    visibility: visible;
    margin-top: 6px!important;
}

a.form-text.text-muted.form__add_child.form__add_child_2:after {
    content: '\f105';
    font-family: 'Font Awesome 5 Free';
    padding-left: 10px;
    text-decoration: none;
    position: absolute;
    right: -20px;
}

a.form-text.text-muted.form__add_child.form__add_child_2 {
    font-size: 18px;
    color: #6f96b7;
    text-decoration: underline;
    position: relative;
}

.form-step>.col-lg-8:nth-child(2) {
    margin-top: 25px;
}

.form-step>.col-lg-8>.col-lg-12 {
    margin-top: 30px;
}

ul.select__event .stand-first:after {
    display: none;
}

.component.content.content--single a {
    padding: 0 30px;
    border: 3px solid #6f96b7;
    font-weight: 700;
    background: #6f96b7;
    color: #fff;
    min-width: 90px;
    font-size: 17px;
    line-height: 19px;
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    height: 44px;
    margin-top: 20px;
}

.section--white.pq-success {
    padding: 80px 0;
}

section#pq-form .col,
section#pq-form .col .form__front {
    padding: 0!important;
}

div#date_of_birth {
    display: flex;
}

div#date_of_birth div:nth-child(2) {
    margin-left: 15px;
    margin-right: 15px;
}

@media screen and (max-width:768px) {
    div#date_of_birth {
        flex-direction: column;
    }
    div#date_of_birth>div:nth-child(2) {
        margin-left: 0;
        margin-right: 0;
    }
}

@media screen and (max-width:991px) {
    .hero.hero--centertext {
        height: 375px;
        min-height: initial;
        padding: 0;
    }
    .video_wrapper {
        padding-bottom: 100% !important;
    }
    img.headervideo-txt-img {
        top: auto !important;
    }
    .pq-success .row {
        margin: 0;
    }
    .enquirypagetemplate {
        margin-top: 75px;
    }
    .bottom-bar.main-footer {
        text-align: center;
    }
    ._video_modal .modal-body.padding-bottom {
        padding: 0px;
    }


    .bottom-bar.section--blue.main-footer {
        text-align: center;
    }
    .form-step .row {
        margin: 0;
    }
    .form__front {
        padding: 15px;
    }
    div#date_of_birth {
        flex-direction: column;
    }
    div#date_of_birth>div:nth-child(2) {
        margin-left: 0;
        margin-right: 0;
    }
    .section--white.pq-success {
        padding: 80px 0 30px;
    }
    .component.form.form--multistep>div,
    .component.form.form--multistep>div>div,
    .component.form.form--multistep>div .row>div {
        padding: 0;
    }
    .component.form.form--multistep>div .row {
        margin: 0!important;
    }
    .eventpagetemplate .section--white .callout.section--blue .h5,
    .eventpagetemplate h5,
    .enquirypagetemplate .section--white .callout.section--blue .h5,
    .enquirypagetemplate h5 {
        font-size: 1.125rem;
        margin-bottom: 1rem;
    }
    .modal-content .modal-body {
        max-height: 80vh;
        overflow-y: auto;
    }
    .booking-sec {
        padding: 25px 0 !important;
    }
    div#contact-head-modal .modal-content .modal-body {
        padding: 60px 15px 15px;
    }
    div#attendeesCont {
        max-width: 160px;
    }
}

.form__add_child_3:before {
    content: '\f105';
    position: absolute;
    font-family: 'Font Awesome 5 Free';
    right: -15px;
}

.form__add_child {
    font-size: 18px;
    text-decoration: underline;
    position: relative;
}

.form-step[data-step='4'] .col.col-sm-10 {
    padding: 0;
}

.form-step__controls.link.mt-3>a.mt-3 {
    margin-top: 0!important;
}

.form__section>.form-text {
    font-weight: 600;
    font-size: 16px;
}

.form__section {
    margin-top: 20px!important;
}

img.form__spinner {
    position: absolute;
    max-height: 12px;
}

.d-flex {
    display: flex;
}

.link .btn-primary.btn-primary--border {
    border-radius: 4px;
}

.modal .booking-sec {
    margin-top: 0;
}

a.btn-radius.btn-primary.change-form-step {
    color: white;
}

header .navbar-nav>.nav-item .nav-link {
    padding: 3px !important;
}

.section .slick-slider .slick-arrow {
    background: 0 0;
    color: #10171e;
    border-color: #10171e;
}

.section.section--blue .slick-slider .slick-arrow {
    background: 0 0;
    color: #fff;
    border-color: #fff;
}

.form-step__controls.link {
    width: 100%;
}

._video_modal .modal-dialog {
    min-width: 60%;
}



.section .slick-slider .slick-arrow {
    background: #fff;
    color: #000;
    border-color: #000;
}

.section.section--blue .slick-slider .slick-arrow {
    background: #fff;
    color: #000;
    border-color: #000;
}

.form-step__controls.link {
    display: flex;
    justify-content: space-between;
}

div#contact-head-modal .section--white {
    border-radius: 10px 10px 0 0;
}



.section .slick-slider .slick-arrow.slick-disabled,
.section.section--blue .slick-slider .slick-arrow.slick-disabled {
    color: rgba(150, 150, 150, .5);
    border-color: rgba(150, 150, 150, .5);
    background-color: transparent;
}

.ubermenu-main .ubermenu-item-level-0>.ubermenu-target {
    border-bottom: 4px solid transparent;
}

.menu-title:after {
    content: '';
    height: 2px;
    width: 35px;
    background: #007DBA;
    position: absolute;
    bottom: -6px;
    margin-top: 12px;
}

.menu-title .ubermenu-target-title {
    font-size: 30px;
}

.menu-title-without .ubermenu-target-title {
    font-size: 30px;
}

.menu-title:hover {
    background: none!important;
}

.right-image-with-text {
    margin-top: 0;
}

li#menu-item-3777 {
    margin: 0;
}

a.ubermenu-target.ubermenu-target-with-image.ubermenu-item-layout-default.ubermenu-item-layout-image_above.right-image-with-text {
    margin: 0;
}

ul#mid-menu li a:after {
    display: none;
}

.ubermenu>.ubermenu-nav>li>a {
    border-bottom: 4px solid transparent!important;
}

.ubermenu-main .ubermenu-nav .ubermenu-item.ubermenu-item-level-0>.ubermenu-target:hover {
    border-bottom: solid 4px #fff !important;
}

._video_modal .modal-body.padding-bottom {
    padding: 100px 25px 25px;
}

._video_modal .btn-close {
    background: white!important;
}

a.btn-radius.btn-primary.change-form-step,
a#form-enquiry-main-register {
    color: white;
}

.form-step__controls.component.link .btn-primary {
    border-radius: 4px;
    color: white;
}

form-group.fake-select.form-validation-row.forminput>.btn {
    padding: 15px;
    text-align: left;
    font-weight: 600;
}

div#contact-head-modal .form__front {
    padding: 0!important;
}

section.section.full-short-text p {
    max-width: 85%;
    margin: auto;
}

.single-list li:after {
    background: transparent !important;
}

.single-list li {
    padding-left: 0px !important;
}

.drish-nestedsubmenu+.ubermenu-submenu>ul {
    max-width: 1140px;
}

.ubermenu .left-menu>ul>li>a,
.ubermenu .ubermenu-tabs-group>li>a {
    display: flex;
    flex-direction: column;
    color: #fff;
    align-items: start;
    justify-content: center;
    padding: 15px 25px;
}

.ratio>iframe+figcaption {
    padding-left: 30px;
}

.booking-sec .form-group.fake-select .btn>.btn-link:after {
    display: none;
}

.header>.container-fluid #mid-menu li {
    filter: none!important;
}

.darkHeader a.ubermenu-target.ubermenu-item-layout-default.ubermenu-item-layout-text_only.contact-btn {
    filter: none;
}

.full-width-section .callout-img .img-overlay {
    padding: 50px 0;
}

.step1-btns {
    display: inherit !important;
}

a.m-0.btn-primary.btn-back.btn-primary--border {
    color: #6f96b7;
}

a.m-0.btn-primary.btn-back.btn-primary--border:hover {
    color: #c41f2f;
}

.booking-modal .modal-content,
#contact-prospectus-modal .modal-content {
    border-radius: 0;
}

.custom_radio {
    margin-top: 10px;
}

div#contact-head-modal .modal-content {
    border-radius: 0;
}

div#contact-head-modal .modal-content .modal-body {
    padding: 60px 30px 30px;
}

.styled-input input:optional:focus+label,
.styled-input input.option_input_txt+label {

    font-size: 12px;
}

.onlyheader--padding .booking-sec {
    padding: 35px 80px;
}

#contact-head-modal .booking-sec {
    padding: 35px 80px;
}

.event-step1 {
    display: inherit !important;
}

.crousel-slide-image {
    height: 360px;
    width: 100%;
    object-fit: cover;
}

.ubermenu.ubermenu-transition-slide .ubermenu-active>.ubermenu-submenu.ubermenu-submenu-type-mega,
.ubermenu:not(.ubermenu-transition-slide) .ubermenu-submenu.ubermenu-submenu-type-mega {
    max-height: initial!important;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
}

div#herovideo-modal .modal-content {
    height: auto;
}

#herovideo-modal iframe {
    height: 50vh !important;
}

.bottom-step .linkcard a {
    border-color: white;
    color: white;
}

.selectschool .modal-dialog .modal-body {
    border-radius: 0;
}




.full-width-section .row>.heading {
    padding: 0;
}

.section--blue .section--white .btn-primary.btn-primary--border:hover {
    background: none!important;

}

section.full-width-section .callout-img .img-overlay {
    position: relative;
}







.policy-btn {
    margin-top: 10px;
}

.enquirypagetemplate .error-input .btn-primary {
    border-color: #ff5f5f !important;
}

.styled-input input:optional~ul~label {
    font-size: 12px;
    top: -5px;
}

.ubermenu>ul>li>div>ul>li:nth-child(2) a:hover {
    background: none!important;
}

.ubermenu>ul>li>div>ul>li:nth-child(2) li:first-child {
    margin: 0!important;
}

.TopBottomBorder {
    border: none !important;
}

header .logo-img img {
    max-width: 250px;
    width: auto;
    padding: 10px 0;
}

.card.horizontal--card .col-7 .card-body {
    display: flex;
    justify-content: space-between;
    flex-direction: column;
}

.modal .btn-close {
    background: #fff!important;
}

.section--blue .section--grey.horizontal--card .link .btn,
.section--blue .section--white.horizontal--card .link .btn {
    color: #6F96B7;
}

.section--blue .section--white .list--IconWithText-list .link .btn {
    color: #6F96B7;
}

.section--blue .triangle .link .btn-primary.btn-primary--border {
    margin-top: 0!important;
}

.section--blue .triangle .icon-with-heading .icon>div {
    color: #fff;
    background: #c41f2f;
}

.section--blue .triangle .link {
    display: block!important;
    float: left;
    width: 100%;
}

.active-link,
a {
    font-size: 1.125rem;
    font-weight: normal;
    text-decoration: none !important;
    font-size: 16px;
    color: #6f96b7;
}

@media screen and (min-width:992px) {
    div#shiftnav-toggle-main {
        display: none;
    }
}

p a {
    font-weight: 400;
    font-size: 16px;
}

.triangle:last-child:after {
    display: none;
}

.section .section,
.section .section .container-fluid {
    padding-bottom: 0;
}

.hero {
    min-height: 450px;
}

.expand-list li {
    margin-bottom: 15px;
}

ul.expand-list {
    position: relative;
    left: -15px;
}

@media screen and (min-width:960px) and (max-width:1100px) {
    .ubermenu>ul>li>a {
        font-size: 13px!important;
    }
}

.header .navigation-bar .current-menu-item {
    background: #6f96b7!important;
}

.height-init {
    height: initial !important;
}

section.container-width {
    max-width: 1140px !important;
    margin: auto;
}

.section--blue .filters .filters__item a.filter {
    color: #fff;
}

.middle-content-area {
    display: flex;
    height: 100%;
    align-items: center;
}

.container-width .slick-carousel {
    width: 97%;
    margin: auto;
}

.ubermenu>ul>li>div>ul>li:nth-child(2) a>.ubermenu-target-title {
    font-size: 18px;
    line-height: 22px;
    color: #6F96B7;
}

ubermenu>ul>li>div>ul>li:nth-child(2) a>.ubermenu-target-title:after {
    content: "\f105";
    font-family: 'Font Awesome 5 Free';
    padding-left: 10px;
    font-size: 20px;
}

.ubermenu>ul>li>div>ul>li:nth-child(2) a>.ubermenu-target-description {
    padding-top: 0!important;
    margin-top: -18PX;
}

.hero .overlay {
    position: relative!important;
    padding: 30px;
}

@media screen and (min-width:991px) {
    .bg-video-wrap {
        min-height: 450px;
    }
}

.ubermenu>ul>li>div>ul>li:nth-child(2) a>.ubermenu-target-title:after {
    font-family: 'Font Awesome 5 Free';
    margin-left: 5px;
    font-size: 14px;

    content: '\f061';
}

.img-overlay-middle {
    color: white;
    position: relative;
}

.animated {
    animation-duration: 1.5s !important;
    transition-delay: 05ms !important;
}

.breadcrumb-wrap {
    width: 100%;
    margin: 0;
}

.breadcrumb-wrap--header .breadcrumb {
    margin: 0;
    padding: 1rem 0;
}

.form__title {
    font-size: 30px !important;
}

.table-with-multi-cell td,
.table-with-multi-cell th {
    border-right: 1px solid #ddd;
}

.flexible-content-slider .slick-slider--with-icon .slick-arrow.slick-prev {
    left: 15px;
}

.flexible-content-slider .slick-slider--with-icon .slick-arrow.slick-next {
    right: 15px;
}

.link .btn-link-chevron {
    padding: 0;
    text-decoration: none;
    font-weight: 700;
    position: relative;
    text-align: left;
    padding-right: 15px;
    color: #6f96b7;
    font-size: 18px;
}

.link .btn-link-chevron:hover {
    color: #dd3333;
}

.ubermenu .ubermenu-item-level-0.ubermenu-item.ubermenu-current-menu-item>a {
    border-bottom: solid 4px #fff !important;
}

.ubermenu>.ubermenu-nav>li.ubermenu-current-menu-ancestor>a {
    border-bottom: solid 4px #fff !important;
}

ul li a {
    font-size: 16px;
    font-weight: 400;
}

div#form2DateTimeModal .choose-a-school {
    width: 75%;
    max-width: 910px;
}

.choose-a-school .modal-link-list ul {
    padding: 0;
    display: flex;
    flex-wrap: wrap;
}

.choose-a-school .modal-link-list ul li {
    list-style: none;
    margin: 8px;
    background-color: white!important;
    border-radius: 3px;
    -webkit-box-shadow: 0 0 30px rgb(16 23 30 / 15%);
    box-shadow: 0 0 30px rgb(16 23 30 / 15%);
    width: 30.5%;
    padding: 0;
}

.choose-a-school .modal-link-list ul li img {
    height: 120px;
    object-fit: cover;
    border-radius: 3px 3px 0 0;
}

.choose-a-school .modal-link-list ul li p {
    padding: 15px!important;
}

.choose-a-school .modal-header {
    text-align: center;
    border-bottom: 0px;
}

.choose-a-school .modal-body {
    padding: 10px 80px 30px!important;
}


/* ==========================================================================
   09. WPBakery content components
   ========================================================================== */

/* Multiple locations */

.mutiple-locations-label {
    font-weight: 700;
    margin-bottom: 15px;
    color: #00205c;
}

ul.multi-schools {
    margin-bottom: 0;
}

ul.multi-schools li {
    margin-bottom: 8px;
}

ul.multi-schools li.active a:after,
ul.multi-schools li a:hover:after {
    content: "\f105";
    margin-left: 7px;
    font-family: "Font Awesome 5 Free";
}

ul.multi-schools li.active a,
ul.multi-schools li a:hover {
    border-bottom: 2px solid #00205c;
}

.multi-schools li a:hover {
    color: #00205c;
}

.location-address {
    color: #00205c;
}

.refer-link {
    font-size: 14px !important;
    margin-left: 4px !important
}

.phone-icon {
    font-size: 14px !important;
}

.school-name,
.school-name a {
    list-style: none !important;
    font-weight: 700;
    color: #00205c;
    line-height: 24px;
}

.school-img {
    height: 100% !important;
}

.multi-schools {
    padding: 0 !important;
    margin-top: 16px;
}

.school-numbering {
    font-size: 13px !important;
    color: #a5a0a0 !important;
}

.option-input:before {
    display: flex!important;
    font-size: 14px!important;
    align-items: center;
    justify-content: center;
}

li#field_12_6,
li#field_11_6,
li#field_11_7,
li#field_13_6,
li#field_13_7 {
    padding-top: 20px;
}

select#input_9_10,
select#input_8_10 {
    width: 100%;
}

.no-href-link {
    pointer-events: none;
}

.default-space-card-body .card .card-body .component {
    margin-top: 20px;
}

.default-space-card-body .card .card-body .component:first-child {
    margin-top: 0;
}

.linkcard .card--bordered .btn.btn-link.simple-link.h5 {
    color: #fff;
}

.ubermenu-tabs>.ubermenu-tabs-group>li>a {
    font-weight: 700;
}

.school-iframe {
    max-height: 350px;
    min-height: 350px;
}

@media screen and (max-width:991px) {
    .choose-a-school .modal-link-list ul li {
        width: calc(50% - 18px);
    }
}

@media screen and (max-width:768px) {
    div#form2DateTimeModal .choose-a-school {
        width: 100%;
    }
    .choose-a-school .modal-body {
        padding: 15px!important;
    }
}

@media screen and (max-width:576px) {
    .choose-a-school .modal-link-list ul li {
        width: 100%;
    }
}

.TopBorder--dark {
    border: none !important;
}

.category .breadcrumb {
    padding-top: 25px;
}

.single-post .breadcrumb {
    padding-top: 25px;
}

.third-level+div>ul>li li.submenu-active>a+div {
    left: initial!important;
    right: 0;
    width: 60%!important;
}

.third-level+div>ul>li li.submenu-active>a,
.third-level+div>ul>li li>a {
    max-width: 35%!important;
    border-bottom: 0px!important;
    white-space: nowrap;
}

.third-level+div>ul>li {
    width: 100%!important;
}

.third-level+div>ul>li li>a+div {
    right: 0!important;
    left: initial!important;
    width: 60%!important;
}

.third-level+div>ul>li li>a:hover,
.third-level+div>ul>li li.ubermenu-active>a {
    background: #6f96b7;
}

.third-level+div>ul>li li.ubermenu-active>a:after {
    border-left: 15px solid #6f96b7 !important;
    content: '';
    position: absolute;
    height: 0;
    width: 0;
    border-top: 30px solid transparent;
    border-bottom: 30px solid transparent;
    right: -15px;
    top: 0;
}

.third-level+div>ul>li li.submenu-active>a,
.third-level+div>ul>li li>a {
    max-width: 35%!important;
    border-bottom: 0px!important;
    white-space: nowrap;
    display: flex!important;
    padding: 15px 20px 15px 25px!important;
    flex-direction: column;
    justify-content: center;
}

.ubermenu-tabs .ubermenu-active .background-active.big-hover:after {
    border-left: 15px solid #6f96b7 !important;
    content: '';
    position: absolute;
    height: 0;
    width: 0;
    border-top: 38px solid transparent;
    border-bottom: 38px solid transparent;
    right: -15px;
    top: 0;
}

.ubermenu .ubermenu-item>a.ubermenu-target.big-hover {
    padding: 15px 25px!important;
}

.third-level+div>ul>li>ul>li>ul>li>ul>li>a span {
    white-space: initial!important;
}

.third-level+div>ul>li>ul>li>ul>li>ul>li>a+div>ul>li {
    width: 100%!important;
}

.third-level+div>ul>li>ul>li>ul>li>ul>li>a+div>ul>li>ul>li>a {
    width: 100%!important;
    max-width: 100%!important;
}

.third-level+div>ul>li>ul>li>ul>li>ul>li>a+div {
    padding: 10px 20px!important;
}

.ubermenu .ubermenu-submenu .ubermenu-item.ubermenu-active>.ubermenu-submenu-type-flyout {
    top: 0;
    bottom: 0;
    position: absolute;
}

.ubermenu .ubermenu-item .ubermenu-submenu-type-mega .ubermenu-item.ubermenu-has-submenu-flyout {
    position: static;
}

.ubermenu .ubermenu-active .ubermenu-submenu .ubermenu-submenu-type-stack {
    visibility: visible;
    opacity: 1;
    display: block;
    position: relative;
}

section.section.section--blue.home-post .sbsw-item-bottom-content {
    background: #00205c !important;
    padding-bottom: 8px;
}

.home-post [id^=sb-wall].sb-wall .sbsw-item-media img {
    display: block;
    max-width: 100%;
    height: 280px;
    min-height: 280px;
    width: 100%;
}

.home-post .sbsw-item-footer {
    display: none;
}

.section--blue .link a.btn.btn-primary.btn-primary--border {
    color: #fff;
}

.school-iframe.h-100:hover img {
    opacity: 0.5;
    background: #01379b;
    border: #013087 solid 2px;
}

.school-iframe.h-100 .view-more {
    display: none;
}

.school-iframe.h-100:hover .view-more {
    display: block;
    position: absolute;
    top: calc( 50% - 21px);
    left: calc( 50% - 62px);
    border-radius: 5px;
    background: #00205c;
    color: #fff;
    padding: 5px 10px;
    border: none
}

.school-iframe.h-100 {
    position: relative;
}

.school-iframe.h-100 a {
    width: 100%;
    height: 100%;
    float: left;
}

@media only screen and (max-width:576px) {
    ul.multi-schools li {
        word-wrap: break-word;
    }
    .school-iframe.h-100 .view-more {
        display: block;
        position: absolute;
        top: calc( 50% - 21px);
        left: calc( 50% - 62px);
        border-radius: 5px;
        background: #00205c;
        color: #fff;
        padding: 5px 10px;
        border: none
    }
    .school-iframe.h-100 img {
        opacity: 0.5;
        background: #01379b;
        border: #013087 solid 2px;
    }
}

.modal-overlay a.btn-link {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    height: 100%;
    -webkit-box-align: end;
    -ms-flex-align: end;
    align-items: flex-end;
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
    padding-right: 10px;
    color: #6f96b7;
    margin: 0;
    right: 10px;
    width: 100%;
    padding-right: 0;
}

.modal-overlay.sm--modal a.btn-link i {
    height: 20px;
    width: 20px;
    font-size: 12px;
    border-color: #6f96b7;
    color: #6f96b7;
}

.modal-overlay a.btn-link i {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    height: 35px;
    width: 35px;
    border: 2px solid;
    border-radius: 50%;
    text-align: right;
    margin-bottom: 10px;
    margin-right: 0;
}

.card.horizontal--card.horizontal--card-sm .modal-overlay.sm--modal a:after {
    content: none !important
}

.booking-sec .filled-chk #schoolCont {
    white-space: break-spaces;
}

.boxPadding-0 {
    padding: 0;
}

#header_remind_popup {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    background: var(--cognita-header-popup-background, #fff);
    text-align: center;
}

#header_remind_popup.is-hidden {
    display: none !important;
}

#header_remind_popup .btn-close {
    background: none;
}

#header_remind_popup button.btn-close {
    position: absolute;
    right: 10px;
    top: 10px;
    z-index: 1;
    opacity: 1;
}

div#header_remind_popup .nav-col {
    position: relative;
}

div#header_remind_popup .header-popup-inner {
    position: relative;
}

div#header_remind_popup .nav-col .header-popup-content-div {
    padding: 8px 56px 8px 36px;
    line-height: 30px;
    font-size: var(--cognita-header-popup-title-size, 18px);
    font-weight: 600;
    font-family: inherit;
    margin: 0;
    color: var(--cognita-header-popup-title-color, inherit);
}

div#header_remind_popup .nav-col .header-popup-content-div p {
    font-size: var(--cognita-header-popup-content-size, inherit);
    color: var(--cognita-header-popup-content-color, inherit);
    margin: 0;
}

div#header_remind_popup .nav-col .header-popup-content-div p a,
div#header_remind_popup .nav-col .header-popup-content-div .header-popup-cta {
    color: var(--cognita-header-popup-content-color, inherit);
}

@media screen and (max-width: 767px) {
    div#header_remind_popup .nav-col .header-popup-content-div {
        padding-right: 48px;
        padding-left: 16px;
    }
}

.thumbitemDesc {
    display: flex;
    justify-content: space-between;
    flex-direction: column;
}

.center-button-flexible {
    position: relative;
}

.btnBottom-flexible {
    bottom: 9px;
    width: 100%;
    left: 0;
}

.section--blue .post-title-custom-post {
    color: #fff;
}

.bottom-button-fixed .container-fluid {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
}

.top-button-fixed .container-fluid {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
}

.three-column-list .card-body {
    min-height: 275px;
}

.two-image-button:hover .view-more {
    display: block;
    position: absolute;
    top: calc( 35% - 21px);
    left: calc( 50% - 62px);
    border-radius: 5px;
    background: #00205c;
    color: #fff;
    padding: 5px 10px;
    border: none;
    z-index: 999;
}

.two-image-button .view-more {
    display: none;
}

.two-image-button:hover img {
    opacity: 0.5;
    background: #01379b;
}

.no-padding-container .container-fluid {
    padding: 0 !important;
}

@media only screen and (max-width:576px) {
    .two-image-button .view-more {
        display: block;
        position: absolute;
        top: calc( 36% - 21px);
        left: calc( 50% - 62px);
        border-radius: 5px;
        background: #00205c;
        color: #fff;
        padding: 5px 10px;
        border: none;
        z-index: 999;
    }
    .booking-sec .styled-input select{
        width: 100% !important;
    }

    .two-image-button img {
        opacity: 0.5;
        background: #01379b;
    }
    .no-gap-mobile .boxPadding-0 {
        margin-bottom: 0 !important;
    }

    .three-column-list .card-body {
        min-height: auto !important;
    }
}

select#school {
    text-align: left;
}
@media (max-width: 959px){
    .header-phone{
        display: none !important;
    }
}
@media (max-width: 767px){
    #shiftnav-toggle-main.shiftnav-toggle-style-burger_only {
        top: 11px;
    }

    .home .animation-mobile-drop{
        display:block !important;
        position: relative;
        margin: -12px auto;
        z-index: 999;
        top: -58px;

    }

    #shiftnav-toggle-main .shiftnav-toggle-burger{
        line-height: 26px !important;
    }

    .col-md-3.col-lg-3.col-3.main-logo {
        margin-bottom: 15px;
    }

    .bg-video-wrap {
        margin-top: 0 !important;
    }
    .darkHeader-down #shiftnav-toggle-main {
        top: 9px !important;
    }

    .category  .news--section .col-lg-4 , .blog  .news--section .col-lg-4{
        width: 100%;
}

    .news--section  .feature-image {
        height: auto !important;
        min-height: 200px !important;
    }
    .footer-bar  .slick-slider .slick-slide img {
        width: 100% !important;
    }

    .footer-bar .slick-slider .slick-list .slick-slide {
        padding: 0 10px 0 25px;
    }

    .col-banner .banner_info::after {
        right: initial !important;
        left: -50vw;
        width: 150vw !important;
    }
    .col-banner .banner_info {
        padding: 44px 20px 78px 0;
    }
    .col-banner .banner_info_title {
        font-size: 28px !important;
    line-height: 33px !important;
    }
    .col-banner .banner_info_items{
        flex-direction: column;
        gap: 20px 0;
    }

}
.Lmore {
    text-align: center;
    font-weight: bold;
    margin-top: 12px;
    cursor: pointer;
}
.header-phone {
    color: #fff;
    font-size: 16px;
    font-weight: 400;
    width: 100%;
    text-align: right;
    display: flex;
    justify-content: end;
}
.header-mobile-phone a:after {
    content: "\f105";
    font-family: "Font Awesome 5 Free";
    top: 2px;
    margin-left: 4px;
    position: relative;
}
.header-mobile-phone a {
    color: #fff;
    margin-left: 5px;
    text-decoration: underline !important;
}
.header-phone a {
    color: #fff !important;
    margin-left: 5px;
    font-size: 16px;
    font-weight: 400;
}
.header-mobile-phone {
    padding: 0px 0 0 15px !important;
    font-size: 16px;
    text-transform: capitalize;
    margin-bottom: 20px !important;
}
.addition-mobile-phone {
    margin-bottom: 200px !important;
}
.callout-img.halfcol--img{background-position: center;}
.tech-images .callout-img.halfcol--img {
    height: auto;
}
.tech-images .leftBottom-content .heading .h5{
    padding: 4px 10px 4px 10px;
}
.tech-images .callout-img .img-overlay>div {
    width: auto;
}

.background-box .heading .h5:after {
    content: "";
    position: absolute;
    left: 28px;
    bottom: 10px;
    width: 80px;
    height: 6px;
    background: #fff;
}
a.nolinkimage {
    pointer-events: none;
}
.white-form {
    background: #fff;
}
/* The form heading follows the section it sits in, like the rest of the form.
   It was pinned to #262626, which fought whatever the colour profile set. */
.form-container .main-heading{color:inherit;}
.landing-form .banner_info::after {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    width: 70vw;
    height: 100%;
    background-position: top right;
    background-size: cover;
    z-index: -1;
}
.banner_info {
    position: relative;
    padding: 97px 95px 154px 0;
}
.landing-form .container-fluid{
    position: relative;
    z-index: 1;
}
.landing-form .col-banner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    margin-top: 54px;
    margin-bottom: 54px;
}
.col-banner .banner_info_title {
    position: relative;
    font-family: "Chivo", sans-serif;
    font-weight: 900;
    font-size: 36px;
    line-height: 43px;
    color: #ffffff;
    margin: 50px 0 30px 0;
    text-transform: uppercase;
}
.col-banner .banner_toptitle {
    margin: 46px 0 36px 0;
    font-style: normal;
    font-weight: 400;
    font-size: 40px;
    line-height: 40px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    display: inline-block;
    color: #ffffff;
}
/* The Flexible Content Gravity form block, and only that - nothing else emits
   these two classes.

   It used to force a white background, its own 34/38/50/38 padding and black
   text, so the form ignored the colour profile of the section it sat in: on a
   dark section it was a white card with black text whatever the profile said.
   Background and text now come from the section, which Global Options already
   drives, and the padding goes with the card it was insetting. Only the gap
   below the form is left, since that is spacing rather than colour. */
.col-form .form-container {
    min-height: auto;
    margin-bottom: 24px;
}
.col-banner .banner_info_items {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 0 30px;
}

.col-banner .banner_info_items_item {
    gap: 0 12px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}
.col-banner .banner_info_items_item .item-text {
    color: white;
    font-weight: 300;
    font-size: 20px;
}
.col-banner .banner_info_title::after {
    content: '';
    position: absolute;
    height: 1px;
    width: 70vw;
    background: #ffffff80;
    bottom: -9px;
    right: 0;
}


.landing-form {
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
}
.landing-form #overlay {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background-color: rgb(0, 0, 0);
opacity: 0.4;
}

.container-fluid.accreditation {
    background: none;
    width: 100%;
    max-width: 100%;
    padding-left: 12%;
    padding-right: 12%;
    margin-bottom:25px;

}

.accred img {
    height: auto;
    max-width: 100%;
}

.accreditation .slick-dots, .slick-next, .slick-prev {
    position: absolute;
    display: block;
    padding: 0;
}

.accreditation .slick-prev {
    left: -25px;
}

.accreditation .slick-next, .slick-prev {
    font-size: 0;
    line-height: 0;
    top: 50%;
    width: 30px;
    height: 30px;
    -webkit-transform: translate(0,-50%);
    -ms-transform: translate(0,-50%);
    transform: translate(0,-50%);
    cursor: pointer;
    color: transparent;
    border: none;
    outline: 0;
    background: #000;
}

.accreditation .slick-prev:before {
    content: '<';
}

.footer-bar .slick-next:before, [dir=rtl] .slick-prev:before {
    content: '>';
}
.footer-bar .slick-next:before, .footer-bar .slick-prev:before {
    font-size: 20px;
    color: #fff;
}

.slick-next {
    right: -25px;
}

.news--section .single-img .callout-img.halfcol--img{
    height: auto;
    min-height: auto;}
.news--section  .feature-image {
        height: 550px;
        background-size: cover;
        background-position: top center;
        min-height: 550px;
        margin: 0;
    }
.news--section .feature-image img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: top center;
}
.single-post h1,
.single-global_blog h1,
.single-school_news h1 {
 font-size: 35px;
 line-height: 1.2;
 font-weight: bold;
}

.single-post h2,
.single-global_blog h2,
.single-school_news h2 {
 font-size: 30px;
 line-height: 1.2;
 font-weight: bold;
}

.single-post h3,
.single-global_blog h3,
.single-school_news h3 {
 font-size: 25px;
 line-height: 1.2;
 font-weight: normal;
}

.single-post h4,
.single-global_blog h4,
.single-school_news h4 {
 font-size: 20px;
 line-height: 1.2;
 font-weight: bold;
}
.single-post h5,
.single-global_blog h5,
.single-school_news h5 {
 font-size: 16px;
 line-height: 1.2;
 font-weight: bold;
}
.blog-post .col-sm-12.col-md-10.col-lg-9.mx-auto {
    width: 100%;
}
.data-target-div1 .caf-post-layout1 .caf-post-title {
    background: none !important;
}



.school-news-box {
    height: 100%;
    display: flex!important;
    justify-content: space-between;
    flex-direction: column;
    box-shadow: 0 0 30px rgba(16,23,30,.15);
}


.news--section .col-lg-4 a.btn.btn-link.btn-read-more , .blog  .news--section .col-lg-4 a.btn.btn-link.btn-read-more {
    padding: 0 30px !important;
    margin-top: 10px;
    display: flex;
    min-width: 199px;
    width: 200px;
    margin: 20px auto;
    text-align: center;
    border-radius: 4px;

    padding: 0 30px;
    border: 3px solid #6f96b7;
    font-weight: 700 !important;
    font-size: 17px;
    line-height: 19px;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    height: 44px;
    color: #6f96b7;
}

.news--section .col-lg-4 .article-list__body ,.blog  .news--section .col-lg-4 .article-list__body {
    padding: 18px;
}

.news--section .callout-img ,.blog  .news--section .callout-img {
    height: 200px;
    min-height: 200px;
    border-radius: initial;
}

@media (max-width: 992px){
.landing-form .banner_info::after{
    right: initial;
    left: -50vw;
    width: 150vw;
}
.col-banner .banner_info_items{
    flex-direction: column;
    gap: 20px 0;
}
}


.section--blue .link a.btn.btn-primary.btn-primary--border{
    background: none !important;

}
.section--blue .link a.btn.btn-primary.btn-primary--border:hover{
    background: none !important;

}

.section--blue .triangle .link .btn-primary{
    border: none !important;
    color: #fff !important;
}
.section--blue .triangle .link .btn-primary:hover{
    border: none !important;
    color: #fff !important;
}

.triangle .link .btn-primary{
    border: none !important;
    color: #fff !important;
}
.triangle .link .btn-primary:hover{
    border: none !important;
    color: #fff !important;
}

.primary-color .link a.btn.btn-primary.btn-primary--border:hover {
    background: none !important;
}
.primary-color .link a.btn.btn-primary.btn-primary--border {
    background: none !important;
}

/* ==========================================================================
   10. News, blog, categories, and pagination
   ========================================================================== */

/* Posts pagination */
.posts-pagination li a,
.posts-pagination li a:hover,
.posts-pagination li.active a,
.posts-pagination li.active span,
.posts-pagination li.disabled {
    color: #fff;
    text-decoration:none;
    font-size: 18px;
}
.posts-pagination {
    margin-top: 100px ;
    text-align: center;
}

.posts-pagination li {
    display: inline;
    margin: 0 3px;
}

.posts-pagination li a,
.posts-pagination li a:hover,
.posts-pagination li.active a,
.posts-pagination li.active span,
.posts-pagination li.disabled {

    border-radius: 3px;
    cursor: pointer;
    padding: 10px 15px 10px 15px !important;
    padding: 0.75rem;
}
.pagination-ellipses {
    padding:15px;
}

/** The Posts navigation function should have its title hidden for its users. */
h2.screen-reader-text {
	display:none;
}

.screen-reader-text {
    position: absolute !important;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

.screen-reader-text:focus {
    width: auto;
    height: auto;
    clip: auto;
    white-space: normal;
}

.posts-navigation .nav-links {
	display: flex;
	justify-content: space-between;
}

/* single blog page next and previous buttons */

.blog-next-prev-links {
    display: flex;
    justify-content: space-between;
    margin-bottom: 20px;
}
.blog-next-prev-links a {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 6px 30px !important;
    font-weight: 400 !important;
    border-radius: 3px;
    color: #fff!important;

    transition: all 0.3s ease;
    line-height: 32px;
}
.blog-next-prev-links a:hover{
    opacity: 0.9;
    transition: all 0.3s ease;
}

/* single blog page content */
.post-content.news-blog-single-page p {
    margin: 25px 0;
}

/* news/blog section and cards */
.blog .content-news-section>div, .category .content-news-section>div
{
    height: 100%;
    display: flex!important;
    justify-content: space-between;
    flex-direction: column;
}

/* Homepage Module News cards */
.card.card--white.d-flex-box {

    padding-bottom: 10px;
    height: 100%;
    display: flex!important;
    justify-content: space-between;
    flex-direction: column;
}

/* Category bar padding */
section.category-tabs-bar {
    padding: 10px;
}
/* Category Element Homa Page padding */
section.section.category-home-grid {
    padding-top: 25px!important;
}

/* Homepage module View all button */
a.btn.btn-primary.catgrid-view-all-button {
    min-width: 199px!important;
}

/* common category tabs bar */
.category-tabs-bar ul.filters li {
    padding: 0 15px;
}

/* Single Blog Page next prev buttons */
.single-page-post-buttons.section--blue {
    border-radius: 4px;
}

.blog-next-prev-links .single-page-post-buttons .fa.fa-chevron-left {
    font-size: 9px;
    margin-right: 3px;
    margin-top: 1px;
}

.blog-next-prev-links .single-page-post-buttons .fa.fa-chevron-right {
    font-size: 9px;
    margin-left: 4px;
    margin-top: 1px;
}
.footer-bar .slick-slider .slick-arrow{
    background: none !important;
}

/* Header notification stacking */
.header .navigation-bar,
.header.header.darkHeader .navigation-bar {
    z-index: 1040;
}

.remind-popup,
#header_remind_popup {
    z-index: 1020;
}

.archive-news-breadcrumbs,
.single-post-breadcrumbs {
    padding-top: 32px;
    padding-bottom: 32px;
}

.has-header-layout-overlay.no-header-media .archive-news-breadcrumbs,
.has-header-layout-overlay.no-header-media .single-post-breadcrumbs {
    padding-top: 202px;
}

.archive-news-breadcrumbs #crumbs,
.single-post-breadcrumbs #crumbs {
    margin: 0;
}

@media (max-width: 767px) {
    .archive-news-breadcrumbs,
    .single-post-breadcrumbs {
        padding-top: 24px;
        padding-bottom: 24px;
    }

    .has-header-layout-overlay.no-header-media .archive-news-breadcrumbs,
    .has-header-layout-overlay.no-header-media .single-post-breadcrumbs {
        padding-top: 144px;
    }
}

/* Search results */
.search-results-page {
    padding-top: 0;
}

.has-header-layout-overlay.no-header-media .search-results-page {
    padding-top: 170px;
}

.search-results-page .section {
    padding-top: 40px;
}

.search-results-page .container-fluid {
    max-width: 960px;
}

.search-page-header {
    margin-bottom: 40px;
}

.search-page-header .page-title {
    margin-bottom: 24px;
    font-size: 35px;
    line-height: 1.2;
    font-weight: bold;
}

.search-form {
    display: flex;
    max-width: 640px;
    gap: 12px;
}

.search-form .search-field {
    flex: 1 1 auto;
    min-width: 0;
    height: 48px;
    padding: 0 16px;
    border: 1px solid rgba(16,23,30,.25);
}

.search-form .search-submit {
    min-width: 140px;
    height: 48px;
    padding: 0 24px;
    border: 0;
    border-radius: 3px;
    color: #fff;
    background: #6F96B7;
    font-weight: 700;
}

.search-results-list {
    display: grid;
    gap: 24px;
}

.search-result-card {
    padding: 24px;
    background: #fff;
    box-shadow: 0 0 30px rgba(16,23,30,.12);
}

.search-result-card__type {
    margin-bottom: 8px;
    font-size: 14px;
    font-weight: 700;
    text-transform: uppercase;
}

.search-result-card__title {
    margin-bottom: 12px;
    font-size: 24px;
    line-height: 1.2;
}

.search-result-card__title a {
    text-decoration: none;
}

.search-result-card__summary {
    margin-bottom: 16px;
}

.search-result-card__highlight {
    padding: 0 2px;
    color: inherit;
    background: rgba(201, 153, 51, .35);
}

.search-result-card__link {
    padding-left: 0 !important;
    font-weight: 600;
}

.search-results-page .no-results.search-no-results {
    max-width: 720px;
    padding: 24px;
    background: #fff;
    box-shadow: 0 0 30px rgba(16,23,30,.12);
}

.search-results-page .no-results.search-no-results .page-title {
    margin-bottom: 12px;
    font-size: 24px;
    line-height: 1.2;
    font-weight: 700;
}

.search-results-page .no-results.search-no-results p {
    max-width: 640px;
}

/* 404 page */
.error-404-page {
    padding-top: 0;
}

.has-header-layout-overlay.no-header-media .error-404-page {
    padding-top: 170px;
}

.error-404-page .section {
    padding-top: 40px;
}

.error-404-page .error-404 {
    max-width: 760px;
    padding: 40px;
    box-shadow: 0 0 30px rgba(16,23,30,.12);
}

.error-404-page .page-header {
    margin-bottom: 24px;
}

.error-404__eyebrow {
    margin-bottom: 8px;
    font-size: 14px;
    font-weight: 700;
    text-transform: uppercase;
}

.error-404-page .page-title {
    margin-bottom: 0;
    font-size: 35px;
    line-height: 1.2;
    font-weight: bold;
}

.error-404-page .page-content p {
    max-width: 640px;
}

.error-404-page .search-form {
    margin: 24px 0;
}

.error-404__actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 12px;
}

.error-404__actions .btn {
    margin: 0;
}

@media (max-width: 767px) {
    .has-header-layout-overlay.no-header-media .search-results-page {
        padding-top: 120px;
    }

    .has-header-layout-overlay.no-header-media .error-404-page {
        padding-top: 120px;
    }

    .error-404-page .error-404 {
        padding: 24px;
    }

    .search-form {
        flex-direction: column;
    }

    .search-form .search-submit {
        width: 100%;
    }

}

.section--withBG .bg-overlay{
    background: none !important;
}

.vc_row-has-fill .section .section--blue{
    background: none !important;
}

/* hide shiftnav toggle menu for landing pages */
@media (max-width: 959px){
    .page-template-page-landing div#shiftnav-toggle-main {
        display: none;
    }

    .bg-video-wrap {
        min-height: 600px;
    }

    .video_wrapper {
        min-height: 600px;
    }
}

.single-school_news h1 {
    font-size: 35px;
    line-height: 1.2;
    font-weight: bold;
    color: inherit;
}

.social-icons a:hover {
    color: gray !important;
}
li.social-twitter-li {
    width: 30px;
    height: 30px;
    margin-right: 10px;
}

li.social-twitter-li img {
    margin: 4px 4px;
}

@media only screen and (min-width: 768px) and (max-width: 1024px) {

    p.sub-title-big {
        font-size: 38px !important;
        line-height: 38px !important;
    }

    .three-columns-full .thumbitemDesc .component .btn{
        min-width:auto;
    }

    .darkHeader .header-btns {
        margin-top: 0;
    }
    .bg-video-wrap {
        margin-top: -55px !important;
    }
    .darkHeader-top #shiftnav-toggle-main {
        top: 11px !important;
    }
    .darkHeader .header-phone{
        display: none;
    }
    .darkHeader-down #shiftnav-toggle-main {
        top: 0 !important;
    }
   }

.container-arrow {
    position: relative;
    width: 24px;
    height: 24px;
  }

  .container-arrow .chevron {
    position: absolute;
    width: 28px;
    height: 8px;
    opacity: 0;
    transform: scale3d(0.5, 0.5, 0.5);
    animation: move 3s ease-out infinite;
  }

  .container-arrow .chevron:first-child {
    animation: move 3s ease-out 1s infinite;
  }

  .container-arrow .chevron:nth-child(2) {
    animation: move 3s ease-out 2s infinite;
  }

  .container-arrow .chevron:before,
  .container-arrow .chevron:after {
    content: ' ';
    position: absolute;
    top: 0;
    height: 100%;
    width: 51%;
    background: #fff;
  }

  .container-arrow .chevron:before {
    left: 0;
    transform: skew(0deg, 30deg);
  }

  .container-arrow .chevron:after {
    right: 0;
    width: 50%;
    transform: skew(0deg, -30deg);
  }

  @keyframes move {
    25% {
      opacity: 1;

    }
    33% {
      opacity: 1;
      transform: translateY(30px);
    }
    67% {
      opacity: 1;
      transform: translateY(40px);
    }
    100% {
      opacity: 0;
      transform: translateY(55px) scale3d(0.5, 0.5, 0.5);
    }
  }


  .footer-cog-logo img.img-fluid.cognita-logo.w-100 {
    width: auto !important;
}

.container-fluid.white-background-logo {
    background: #fff;
    width: 100%;
    max-width: 100%;
}

.container-fluid.black-background-logo{
    background: #37393A;
    width: 100%;
    max-width: 100%;
}

.footer-cog-logo img.img-fluid.cognita-logo.w-100 {
    height:26px;

}
.container-fluid.gradinet-background-logo {
    background: linear-gradient(90deg, rgba(5,112,183,1) 0%, rgba(26,143,156,1) 51%, rgba(27,168,125,1) 100%);
    width: 100%;
    max-width: 100%;
}

.container-fluid.no-logo-bar{
    display: none;
}
.component.single-img.footer-cog-logo {
    padding-top: 20px;
    text-align:center;
    padding-bottom: 20px;
}
.outer-circle-area {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.area-inner-circle {
    text-align: center;
    width: 18%;
}

.area-inner-circle .area-circle {
    width: 150px;
    height: 150px;
    background: #d9d9d9;
    border-radius: 100px;
    margin: 0 auto;
    overflow: hidden;
}

.area-inner-circle .area-circle img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center center;
}

.area-inner-circle h3 {
    font-size: 18px;
    line-height: 28px;
    text-transform: uppercase;
    margin-top: 20px;
    color: #20273d;
}

.area-inner-circle p {
    line-height: 32px;
    color: #20273d;
}

.outer-circle-area .component {
    margin-top: 10px;
}

.outer-circle-area .component a {
    color: #cda65f;
    padding-right: 0;
}

.outer-circle-area {
    position: relative;
}

.area-inner-circle::after {
    content: '';
    display: block;
    position: absolute;
    left: 40px;
    top: calc(29% - 3px);
    width: calc(94% - 48px);
    z-index: -1;
    border: 1px dashed #cda65f;
}



@media (max-width: 820px) {
    .outer-circle-area {
        display: block;
    }

    .outer-circle-area .component {
        margin-top: 0px;
    }
    .area-inner-circle::after {
        content: '';
        display: block;
        position: absolute;
        left: 50%;
        top: calc(3% - 3px);
        width: 2px;
        z-index: -1;
        height: 86%;
    }

    .area-inner-circle {
        text-align: center;
        width: 100%;
        margin-bottom: 40px;
    }
}
.footer-col-four .body-small {
    font-size: 18px;
    font-weight: bold;
}
.card-header.section--blue-card {color:#fff;}

/* ==========================================================================
   11. Tabs, overlays, and combined forms
   ========================================================================== */

/* Tabs element image overlay */
.tabs-image-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.6); /* Adjust overlay color and opacity */
    opacity: 0; /* Initially hidden */
    transition: opacity 0.3s ease-in-out; /* Smooth transition for opacity */
    display: flex;
    justify-content: center;
    align-items: center;
}

.tabs-image-overlay:hover {
    opacity: 1; /* Show overlay on hover */
}

.overlay-link-text {
    color: #fff; /* Text color */
    text-decoration: none;
    font-size: 18px; /* Adjust font size */
    font-weight: 700;
    position: relative; /* Required for positioning arrow */
}
.overlay-link-text:hover {
     color: #fff !important; /* Text color */
}

.combined-form .gform_heading h2 {
    font-size: 26px;
}

.combined-form h3.gsection_title {
    font-size: 26px;
}

.combined-form .gform_wrapper.gravity-theme .ginput_container_address span {
    margin: 0 !important;
}

.combined-form .gform_wrapper.gravity-theme h1 {
    font-size: 30px;
    color: #662e87;
}

.combined-form .gform_wrapper.gravity-theme .gfield_description {
    font-size: 18px !important;
}

.combined-form .gform_wrapper .gform_body .gform_fields input {
    padding: 11px 9px !important;
}

.combined-form .ginput_container_checkbox input {
    border-color: #00C07B !important;
    background: #ffffff !important;
    color: #ccc !important;
}

.combined-form .ginput_container_checkbox input.was-unchecked {
    background: #ccc !important;
    border-color: #ccc !important;
    color: #fff !important;
}

.combined-form .ginput_container_checkbox input:checked {
    background: #00C07B !important;
    border-color: #00C07B !important;
    color: #fff !important;
}

.combined-form .gform_wrapper.gravity-theme .gfield-choice-input:disabled+label {
    padding: 0 0 0 11px !important;
}

.combined-form .gform_wrapper.gravity-theme .ginput_complex fieldset,
.combined-form .gform_wrapper.gravity-theme .ginput_complex span {
    flex: 1 !important;
    padding-right: 1% !important;
}

.combined-form .gform_wrapper.gravity-theme .gfield--input-type-name .ginput_complex.no_prefix span {
    padding-right: 0 !important;
}

.combined-form .gform_wrapper.gravity-theme .gfield--input-type-name .ginput_complex.no_prefix span:first-child {
    padding-right: 15px !important;
}

.combined-form .gform_confirmation_message h1 {
    font-size: 50px;
}

.combined-form .gfield_radio .gchoice {
    width: 250px;
    float: left;
    padding: 0 16px;
    margin-right: 10px;
    background: #F8F8FF;
    border-radius: 8px;
    height: 50px;
}

.combined-form .gfield_radio .gchoice input {
    max-width: 25px !important;
}

.combined-form .gform_wrapper.gravity-theme .gfield-choice-input+label {
    color: #662e87;
    font-size: 18px !important;
    font-weight: 500;
    max-width: 80%;
}

.combined-form .gform_wrapper.gravity-theme .gfield_label {
    font-size: 18px;
    font-weight: bold;
    color: #662e87;
}

.combined-form .gform_next_button,
.combined-form .gform_wrapper .gform_button.button,
.combined-form .gform_wrapper .gform_button.button:hover {
    padding: 0 30px;
    min-width: 160px;
    line-height: 19px;
    height: 44px;
    border-radius: 4px;
    float: right;
    border-style: none;
}

.combined-form .gform_next_button {
    font-size: 17px;
}

.combined-form {
    background: #33b1a2;
}

.combined-form .container-fluid {
    background: #fff;
}

.combined-form .gform_wrapper {
    margin-top: 30px;
    margin-bottom: 60px;
}

.combined-form .gform_wrapper.gravity-theme .ginput_container_address {
    margin: 0 !important;
}

.combined-form .gform_previous_button.button {
    background: none;
    min-width: 160px;
    border-radius: 4px;
    font-size: 17px;
    line-height: 19px !important;
    height: 44px;
    border-style: double;
    float: left;
    font-weight: 500;
}

.combined-form .gform_wrapper.gravity-theme input[type=text] {
    width: 100% !important;
}

.combined-form .gform_wrapper .gform_body .ginput_container.ginput_container_name {
    margin-top: 45px !important;
}

.combined-form .gform_body .gform_fields input,
.combined-form .gform_wrapper .gform_body .gform_fields select,
.combined-form .gform_wrapper .gform_body .gform_fields textarea {
    height: 50px;
}

.combined-form .gform_wrapper.gravity-theme .ginput_container_address span {
    margin-bottom: 45px !important;
    padding: 0;
}

.combined-form .ginput_container_email input,
.combined-form .gfield--type-phone input {
    width: 100% !important;
}

.combined-form legend.gfield_label.gform-field-label.gfield_label_before_complex {
    margin-bottom: 22px;
}

.combined-form .gform_wrapper .gform_body .gfield--input-type-address .ginput_container>span>label {
    left: 6px;
}

.combined-form .gform_wrapper.gravity-theme .ginput_container_address span {
    flex: 0 0 100% !important;
}

.combined-form .gform_wrapper.gravity-theme .gfield--input-type-address {
    margin-bottom: -40px !important;
}

.combined-form .iti--separate-dial-code .iti__selected-flag {
    background: none;
}

.combined-form .gform_wrapper.gravity-theme input[type=tel] {
    padding-left: 75px !important;
}

.combined-form .gf_progressbar_wrapper {
    margin-top: 40px;
}

.combined-form .gf_progressbar_wrapper .gf_progressbar_percentage span {
    display: none !important;
}

.combined-form .gform_wrapper.gravity-theme .gfield_label {
    font-size: 20px;
}

.combined-form .gfield_checkbox input {
    height: 36px !important;
    width: 36px !important;
    min-height: 36px !important;
    margin-top: 0;
}

.combined-form .gfield_checkbox input:before {
    height: 12px;
    width: auto;
}

.combined-form .active-radio {
    border: 2px solid #00C07B;
    background: #E5F9F2;
}

.combined-form .active-radio input {
    accent-color: #00C07B;
}

.combined-form .gform_wrapper .gform_body .gform_fields .iti__tel-input {
    padding-left: 48px !important;
}

.combined-form .gform_wrapper .gf_progressbar_wrapper {
    order: 2;
}

.combined-form .gform_wrapper form {
    display: flex;
    flex-direction: column;
}

.combined-form-choices .was-unchecked {
    position: relative;
    cursor: not-allowed;
}

.combined-form-choices .was-unchecked::after {
    content: attr(data-tooltip);
    position: absolute;
    bottom: 125%;
    left: 50%;
    transform: translateX(-10%);
    background: #fff;
    color: #c02b0a;
    border: 1px solid #c02b0a;
    padding: 6px 10px;
    font-size: 13px;
    border-radius: 4px;
    white-space: nowrap;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.2s ease;
    z-index: 9999;
    box-shadow: 0 2px 6px rgba(0,0,0,0.15);
}

.combined-form-choices .was-unchecked:hover::after,
.combined-form-choices .was-unchecked:hover::before {
    opacity: 1;
}

.three-columns-full img.card-img-top{
    height:630px;
}

.three-columns-full a{
    color:#fff;
}

.three-columns-full a:hover{
    color:#fff;
}

.three-columns-full .thumbitemDesc {
    position: absolute;
    text-align: center;
    display: flex;
    color: #fff;
    justify-content: end;
    height: 100%;
    width: 100%;
}
.three-columns-full .component .btn{
  color:#fff !important;
  border-color:#fff;
}

.three-columns-full .component .btn:hover{
    color:#fff !important;
    border-color:#fff;
}

.callout--video.center--content{
    height: 400px;
}

p.sub-title-big {
    font-size: 60px;
    line-height: 60px;
}

.title-main-size{
    font-size: 20px;
}

.thumbitemDesc p.sub-title-big {
    min-height: 120px;
}

.option-input:checked {
    background: #00C07B !important;

}

.btn-expand-close{display:none;}

.btn-expand-close:after{ content: "\f106" !important;}

@media (max-width: 767px){
.title-main-size{
    font-size: 16px;
}
p.sub-title-big {
    font-size: 38px;
    line-height: 38px;
}

.combined-form .gform_wrapper.gravity-theme .gfield--input-type-address {
    margin-top: 0 !important;
}

.combined-form .gfield_radio .gchoice {
    width: 100%;
    margin-bottom: 20px;
}

.combined-form .gform_wrapper.gravity-theme .ginput_complex span {
    margin-bottom: 40px;
}

.page_video iframe.callout__iframe {
    height: auto !important;
}

.callout--video.center--content {
    height: 170px;
}

.three-columns-full img.card-img-top{
    height:512px;
}


}


/* Staff bios */
.cat_tab .js-filterable {
    padding-bottom: 20px;
}
@media (max-width: 767px){
    .cat_tab .card .card-body {
        padding: 15px;
    }
    .cat_tab .modal .btn-close {
        right: 25px;
    }
}
@media (max-width: 575px){
    .cat_tab .js-filterable {
        margin: auto;
        max-width: 380px;
    }
}

.cat_tab .component.title {
    text-transform: none;
}

.cat_tab .component.link {
    margin-top: 0;
}

.cat_tab .component.team-content {
    margin-top: 0;
    padding-right: 20px;
}
@media (max-width: 767px){
    .cat_tab .component.team-content {
        padding-left: 15px;
    }
    .left-to-right-section .left-to-right-content {
        float: none !important;
    }
}

.cat_tab .component.link.mob-trm a {
    padding: 0 1rem;
    font-size: 15px;
}

.cat_tab .component.link a:after {
    content: "\f105";
    font-family: "Font Awesome 5 Free";
    top: 2px;
    margin-left: 7px;
    position: relative;
}

.cat_tab .extra--padding .modal-body {
    padding: 0;
    overflow: hidden;
    overflow-y: scroll;
}

.cat_tab .modal .topcontent {
    padding: 24px;
    padding-right: 0;
}

.three-columns-full .thumbitemDesc .component .btn {
    margin-bottom: 20px;
}

.three-columns-full.card.card--white.center-button-flexible {
    cursor: pointer;
}

@media (max-width: 575px){
    .cat_tab .modal .topcontent {
        padding-right: 24px;
    }
}

/* ==========================================================================
   12. Landing pages, branding, and typography
   ========================================================================== */
  .left-to-right-section{
    display: block;
  }

  .left-to-right-section .left-to-right-content{
    float: right;
  }

/* password protected page */

.post-password-form {
    margin: auto;
    margin-top: 270px;
    margin-bottom: 100px;
    max-width: 800px;
    padding: 30px;
    background: #fff;
    line-height: 40px;
    border: 30px solid #fff;
    -webkit-box-shadow: inset 0px 0px 0px 1px #fff;
    -moz-box-shadow: inset 0px 0px 0px 1px #fff;
    box-shadow: inset 0px 0px 0px 1px #fff;
}

.post-password-form h6 {
    margin-bottom: 15px;
}

.post-password-form input[type="submit"] {
    color: #000;
    border-radius: 3px;
    padding-left: 30px;
    padding-right: 30px;
}

@media screen and (max-width:959px) {
    .post-password-form {
        margin-top: 150px;
    }
}

.tech-images.next-steps-module:hover {
    transform: scale(1.1);
    transition: transform 0.3s ease-in-out;
}
.tech-images .leftBottom-content .heading .h5 {
    line-height: 40px;
     font-size: 25px;
    font-weight: 400;
}
.thumbnail_img_overlay_6805 .heading .h5 {
    font-size: 25px;
    line-height: 25px;
}
.tech-images .callout-img.halfcol--img {
    width: auto;
    border-radius: unset;
}

.darkHeader-top header.p-relative {
    position: relative !important;
}

/* landing page footer spacing */
.row.align-items-center.footer-left-content {
    padding: 70px 0 !important;
}

.social-tik-li i.fab.fa-tiktok {
    font-size: 25px;
    margin-top: 3px;
}

/* ==========================================================================
   13. Cards, thumbnails, and sliders
   ========================================================================== */

/* Card slider — the arrows are the shared circular control now, styled by
   `.slick-slider--with-icon` and painted from the Icon colours. The bare
   FontAwesome glyph that used to sit here went with it: a 20x20 transparent
   button whose chevron colour came from a per-instance colour picker. */

/* Dots */
.card-items-slider.slick-dotted.slick-slider
{
    margin-bottom: 30px;
}

.card-items-slider .slick-dots
{
    position: absolute;
    bottom: -25px;

    /* Anchored to the left edge of the box it is positioned against.
     *
     * Without this `left` stays `auto`, which puts the list at its static
     * position - inside the row's padding - while `width: 100%` resolves
     * against the padding box and so spans the full width. The list therefore
     * started 60px in and overhung 60px to the right, and `text-align: center`
     * centred the dots inside that shifted box: measured 60px right of the
     * slider's centre at every width where the row carries its 60px padding for
     * the arrows, and correct below 768px only because the padding is 0 there. */
    left: 0;

    display: block;

    width: 100%;
    padding: 0;
    margin: 0;

    list-style: none;

    text-align: center;
}

.card-items-slider .slick-dots li
{
    position: relative;

    display: inline-block;

    width: 8px;
    height: 20px;
    margin: 0 5px;
    padding: 0;

    cursor: pointer;
}

.card-items-slider .slick-dots li button
{
    font-size: 0;
    line-height: 0;

    display: block;

    width: 8px;
    height: 20px;
    padding: 5px;

    cursor: pointer;

    color: transparent;
    border: 0;
    outline: none;
    background: transparent;
}

.card-items-slider .slick-dots li button:hover,
.card-items-slider .slick-dots li button:focus
{
    outline: none;
}

.card-items-slider .slick-dots li button:hover:before,
.card-items-slider .slick-dots li button:focus:before
{
    opacity: 1;
}

.card-items-slider .slick-dots li button:before
{
    font-family: 'FontAwesome' !important;
    font-size: 30px;
    line-height: 20px;

    position: absolute;
    top: 0;
    left: 0;

    width: 8px;
    height: 20px;

    content: '•';
    text-align: center;

    opacity: .25;
    color: black;

    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

.card-items-slider .slick-dots li.slick-active button:before
{
    opacity: .75;
    color: black;
}

.card-items-slider .card {
    box-shadow: 0 0 10px rgba(16,23,30,.15);
}

@media (max-width: 767px) {

    .card-items-slider.slick-slider .slick-track {
        left: 0;
    }

    .card-items-slider .slick-next {
        right: 0;
    }

    .card-items-slider .slick-prev {
        left: 0;
        z-index: 1;
    }

    .card-items-slider .slick-prev,
    .card-items-slider .slick-next {
        display: none !important;
    }
}

.card-items-slider .card-body.thumbitemDesc .card-title--desc {
    display: -webkit-box !important;
    -webkit-line-clamp: 4 !important;
    text-overflow: ellipsis !important;
    overflow: hidden !important;
    -webkit-box-orient: vertical !important;
}

/* Cards in a slider stand as tall as the tallest one beside them.
 *
 * This was `height: 230px !important` on the card body (and 285px on the
 * reviews variant), which made the cards equal by forcing every one to the same
 * size. It held only while the content happened to fit: the description is
 * clamped to four lines below, but the title is not, so a long title on a
 * narrow card pushed straight out of the box - measured overflowing at 1000px
 * and 800px, where three cards share the row and each is about 270px wide.
 *
 * The track is a flex row instead, which is what makes slick's slides stretch
 * to the tallest of them, and the height is then handed down to the card. Same
 * equal heights, decided by the content rather than by a number, so nothing can
 * overflow. `.card-body` is already `flex: 1 1 auto` and `.thumbitemDesc` is
 * already a flex column with `space-between`, so the button stays pinned to the
 * bottom of whichever card is shortest. */
.card-items-slider .slick-track {
    display: flex;
}

.card-items-slider .slick-slide {
    height: auto;
}

/* slick wraps each slide in a div of its own, so the height is passed through
   that and the column inside it before it reaches the card. */
.card-items-slider .slick-slide > div,
.card-items-slider .slick-slide > div > div,
.card-items-slider .slick-slide .card {
    height: 100%;
}

/* Before slick loads – show only first 3 */
.card-items-slider > *:nth-child(n+4) {
    display: none;
}

/* After slick initializes – show all */
.card-items-slider.slick-initialized > * {
    display: block;
}

/* The reviews variant set its own 285px for the same reason, and no longer
   needs one either - the rule above equalises whatever height its cards want. */

/* ==========================================================================
   14. Legacy base theme styles
   --------------------------------------------------------------------------
   Preserved from assets/css/style.min.css during the v3.0.0 consolidation.
   This section intentionally follows the historical custom styles to retain
   the original two-file cascade. Refactor in controlled, tested passes.
   ========================================================================== */
body{color:#10171e;font-family:Raleway,sans-serif}@media (max-width:767px){.row>div{margin-bottom:20px}.row>div:last-child{margin-bottom:0}}.row>div>.pt-4:first-child{padding-top:0!important}.row>div.col-md-12{margin-bottom:0}@media (max-width:767px){.row>div.order-2.order-md-1{margin-top:20px;margin-bottom:0}}@media (max-width:767px){.row>div.order-1.order-md-2{margin-top:0;margin-bottom:0}}@media (max-width:767px){.row>div.order-3.order-md-2{margin-top:20px;margin-bottom:0}}@media (max-width:767px){.row>div.col-lg-8>.row>.col-lg-6{margin-top:0;margin-bottom:0}}.cards--section .row>div.col-lg-3,.cards--section .row>div.col-lg-4,.cards--section .row>div.col-lg-6,.cards--section .row>div.col-lg-8{margin-bottom:0;margin-top:0}.container{max-width:960px}@media (min-width:992px){.container{max-width:960px}}@media (max-width:1199px){.container{max-width:950px}}@media screen and (max-width:1200px){.container-fluid{padding:0 30px}}@media (min-width:992px){.container-fluid{max-width:1140px}}@media (max-width:991px){.container-fluid{max-width:960px}}@media (max-width:767px){.container-fluid{padding:0 15px}}@media (max-width:991px){.middle-section.section{padding:0}}.middle-section .container,.middle-section .container-fluid{padding:50px 80px 80px}@media (max-width:991px){.middle-section .container,.middle-section .container-fluid{padding:35px 15px}}@media (max-width:991px){.middle-section .container-fluid{max-width:960px}}@media screen and (max-width:992px) and (min-width:992px){.middle-section .container-fluid{max-width:940px}}@media (max-width:991px){.middle-section.section--blue{padding:0}}.middle-section.section--blue .container,.middle-section.section--blue .container-fluid{background:#c41f2f}@media (max-width:991px){.middle-section.section--grey{padding:0}}.middle-section.section--grey .container,.middle-section.section--grey .container-fluid{background:#e8ebee}.middle-section.with--background .container,.middle-section.with--background .container-fluid{position:relative;background-repeat:no-repeat}.middle-section.with--background .container-fluid:before,.middle-section.with--background .container:before{content:"";position:absolute;top:0;bottom:0;left:0;right:0}.middle-section.with--background .container .row,.middle-section.with--background .container-fluid .row{position:relative}.middle-section.with--background.section--blue{background:0 0}.middle-section.with--background.section--blue .container-fluid:before,.middle-section.with--background.section--blue .container:before{background:rgba(196,31,47,.9)}.middle-section.with--background.section--grey{background:0 0}.middle-section.with--background.section--grey .container-fluid:before,.middle-section.with--background.section--grey .container:before{background:rgba(240,240,240,.8)}.middle-section.with--background.section--white{background:0 0}.middle-section.with--background.section--white .container-fluid:before,.middle-section.with--background.section--white .container:before{background:rgba(255,255,255,.8)}.section{padding:80px 0}.section.sm-padding{padding:35px 0}.section .margin-top-xs{margin-top:-40px}@media (max-width:767px){.section .margin-top-xs{margin-top:0}}@media (max-width:991px){.section{padding:50px 0}}.section .container{padding:0 80px}.section .container.pb-0{padding-bottom:0}@media (max-width:767px){.section .container{padding:0 15px}.section .container .row>div{margin-bottom:35px}.section .container .row>div:last-child{margin-bottom:0}}.section.no-col-margin .container-fluid .row>div,.section.no-col-margin .contaner .row>div{margin-bottom:0}.section--white{background-color:#fff}.section--white .imgcontent-grp,.section--white .imgcontent-grp img{background:#f8f8f8}.section--white .link .btn--secondary.btn--bordered{border-color:#10171e;color:#10171e}.section--white .btn-close{color:#10171e;border-color:#10171e}.section--white .section--white .section--blue{color:#fff;background-color:#c41f2f}.section--blue .title p:after{background-color:#fff}.section--blue .hash-list ul li:before{background:#fff}.section--blue .social-icons a{color:#fff}.section--blue .HowWeTeach-sec{color:#000}.section--blue .list ul li:after{background:#fff}.section--blue .link .btn-link,.section--blue .link .btn-modal{color:#fff}.section--blue .link .btn-link.simple-link,.section--blue .link .simple-link.btn-modal{color:#fff}.section--blue .icon-with-heading .icon>div{background:#fff;color:#c41f2f}.section--blue .section--grey,.section--blue .section--white{color:#10171e}.section--blue .section--grey .link .btn,.section--blue .section--white .link .btn{color:#10171e}.section--blue .horizontal--card{color:#10171e}.section--grey{background-color:#f8f8f8}.section--grey .btn-close{color:#10171e;border-color:#10171e}.section--grey .section--blue .link .btn-primary:hover{background:#fff;color:#10171e}.section--grey .section--black{background-color:#10171e;color:#fff}.section--form{background-color:rgba(232,235,238,.3)}.section--cutoff{padding:20px 0;overflow-x:hidden}.section--yellow{background:#6f96b7;color:#fff}.section--sm{padding:25px 15px}.section--withBG{background-position:right;background-repeat:no-repeat;position:relative;background-size:cover}.section--withBG .container,.section--withBG .container-fluid{position:relative;z-index:1}.section--withBG:before{content:"";position:absolute;top:0;bottom:0;left:0;right:0}.section--withBG.section--grey:before{background:rgba(240,240,240,.8)}.section--withBG.section--white:before{background:linear-gradient(89deg, #ffffffed, transparent)}.component{margin-top:20px}.component:first-child{margin-top:0}@media (max-width:767px){.component{margin-top:15px}}.margin-top-lg{position:relative;margin-top:-125px}@media (max-width:991px){.margin-top-lg{margin-top:0}.margin-top-lg.order-1.order-md-2{margin-top:-125px}}@media (max-width:991px){.padding-bottom{padding-bottom:40px}}.section .row.HowWeTeach-sec>div{margin-bottom:0}.centerText{text-align:center}@media (max-width:767px){.centerText{text-align:left}}
/* Brand rule: the shared section title is centred by default and switches to
   left-aligned on mobile, matching .centerText above. Applied to the shared
   section title component so every element using it follows the guideline
   without repeating the rule per element. */
.cwb-section-title,.cwb-section-title h1,.cwb-section-title h2,.cwb-section-title h3,.cwb-section-title h4,.cwb-section-title h5,.cwb-section-title h6,.cwb-section-title p,.cwb-section-description,.cwb-section-description p{text-align:center}
@media (max-width:767px){.cwb-section-title,.cwb-section-title h1,.cwb-section-title h2,.cwb-section-title h3,.cwb-section-title h4,.cwb-section-title h5,.cwb-section-title h6,.cwb-section-title p,.cwb-section-description,.cwb-section-description p{text-align:left}}
/* Section heading spacing.

   Spacing here is owned by the heading block and expressed as bottom margins
   only, so it travels with whatever is actually present: leave the description
   out and its spacing goes with it, with nothing left behind to collapse or
   compensate for.

   1. The block owns the gap to the content below it, so that gap no longer
      depends on what the next element happens to be. The site's general
      `component` spacing is a top margin, which meant an element that wrapped
      its content in `component` sat further from the heading than one that did
      not — the same heading spacing differently per element.
   2. Inside the block, each part carries its own bottom margin and the last
      one clears it, so title-only, description-only and both are all spaced
      correctly without needing to know which case applies.
   3. The inherited top margins are zeroed rather than the site-wide
      `component` rule being changed, which is relied on in several hundred
      places and is not safe to alter globally. */
/* Full Width Text's section label sits in a row that centres its contents,
   which is right for the title and body text but not for the label: the same
   label in other elements is left aligned with its rule under the left edge.
   These rules restore that, leaving the rest of the section centred.

   The rule under the label needs `.centerText` in the selector to sit above
   the centring rule further down this stylesheet, which is otherwise an exact
   specificity tie and would win simply by coming later. */
.cwb-element--vc-full-width-text .title{text-align:left}
.cwb-element--vc-full-width-text .centerText .title .body-small::after,
.cwb-element--vc-full-width-text .title .body-small::after{left:0;right:auto;margin:0}

/* Button layout for Full Width Text. These rules were previously written into
   the page as a <style> block per element, targeting `.flex-button` with no
   scoping — so on a page with several of these elements, every block applied to
   all of them and the last one decided the layout for the whole page. Scoping
   them to the section's own class means each element keeps its own setting.
   Both layouts stack on mobile, as before. */
.cwb-buttons--stacked .flex-button{margin-top:25px}
.cwb-buttons--side .flex-button{display:inline-flex;margin-left:12px;margin-top:25px}
@media (max-width:767px){
.cwb-buttons--stacked .flex-button,.cwb-buttons--side .flex-button{display:block;margin-left:0}
.cwb-buttons--stacked .flex-button .text-center,.cwb-buttons--side .flex-button .text-center{text-align:left!important}
}

/* Flexible Content images render as a real <img> inside the ratio box rather
   than as a CSS background, so they carry alt text, a srcset and lazy loading.
   Bootstrap's .ratio>* already positions and fills the image; object-fit takes
   over from the background-size: cover the background version relied on.

   Scoped to .cwb-image, which only this element emits, so the other elements
   still rendering .callout-img as a background are untouched. */
.cwb-image>img{width:100%;height:100%;object-fit:cover;object-position:center;display:block}

/* The overlay tint sits above the image. It used to be a <style> block keyed to
   a random class, colouring Bootstrap's .ratio::before — which no longer works
   once the box has a positioned child, because the image paints over it. The
   colour now comes in as a custom property and the tint is its own layer. */
.cwb-image--overlay::after{content:"";position:absolute;inset:0;z-index:1;background:var(--cwb-image-overlay,transparent);pointer-events:none}

/* Flexible Content slider slides carry a real <img> for the same reasons. The
   box keeps its .callout-img sizing, so object-fit and object-position stand in
   for the background-size: cover and background-position: right it used to
   inherit, and border-radius: inherit keeps the rounded corners the background
   used to get for free. */
.cwb-slider__img>img{width:100%;height:100%;object-fit:cover;object-position:right;display:block;border-radius:inherit}
.cwb-slider__img--overlay::after{content:"";position:absolute;inset:0;z-index:1;background:var(--cwb-slider-overlay,transparent);pointer-events:none}

/* A slide height set on the element. The class is only present when a height was
   actually entered, so sliders without one keep the theme's own 550px/270px.
   Outweighing .slick-slider.full--slider .callout-img on specificity replaces
   the !important the old per-slider <style> block relied on. */
.cwb-slider--height .slick-slider.full--slider .callout-img{height:var(--cwb-slider-height)}

/* A slide shape sizes the slide instead, through Bootstrap's own ratio classes.
   Those hold the box open with padding, which cannot work while the theme is
   also setting an explicit height, so the height is released here. Unlike the
   fixed height, a shape scales with the column, so these slides shrink on a
   phone rather than keeping their desktop height. */
.cwb-slider--ratio .slick-slider.full--slider .callout-img{height:auto;min-height:0}

/* Three older rules further down the stylesheet also reach these images, and all
   three outrank `.cwb-slider__img>img` on specificity, so they were winning:

     .slick-slider .slick-slide img{max-height:40vh}   - caps the image short of
       its box, which is what stopped a shape having any visible effect
     .slick-slider .slick-slide img{border-radius:0}   - under 767px only
     .callout-img{min-height:370px}                    - under 767px only, and
       handled by the min-height:0 above

   They were written for images sized by their own height. These slides are
   sized by the box around them, so the image should fill it. */
.cwb-slider .slick-slider .cwb-slider__img>img{max-height:none;border-radius:inherit}

/* The caption wrapper is a <figure> so that its <figcaption> is valid. Only the
   bottom margin is reset - Bootstrap's reboot gives every figure 1rem of it -
   because the 20px above the caption comes from .component and should stay. */
.cwb-slider figure{margin-bottom:0}

/* The arrows are positioned against the slider, so anything under the image
   pushes them off the picture: the stylesheet's own `top: calc(50% - 50px)`
   centres them on the whole slide and then lifts them a further 25px, which is
   why they sat high on a slider with no captions and dropped on one with them.

   They now centre on the image, by discounting the caption strip. One caption's
   worth of space is held open on every slide of a slider that has captions -
   see vc_sol_flex_slider() - so the strip is the same height on all of them and
   the arrows do not move as you page through. A slider with no captions
   discounts nothing and centres on the image directly. */
.cwb-slider{--cwb-slider-caption:0px}
.cwb-slider--captions{--cwb-slider-caption-h:30px;--cwb-slider-caption:calc(20px + var(--cwb-slider-caption-h))}
.cwb-slider--captions figure.sub-heading{min-height:var(--cwb-slider-caption-h)}
.cwb-slider .slick-slider--with-icon .slick-arrow{top:calc((100% - var(--cwb-slider-caption))/2 - 25px)}

/* Slick wraps each slide's contents in an inline-block, which sits on a text
   baseline. Where a slide contains text - a caption - that text supplies the
   baseline and the wrapper fills its line box. Where it does not, the baseline
   falls back to the wrapper's bottom margin edge and the line box adds room for
   descenders underneath it: 7px at this font size. So a slide with a caption
   and one without differ in height by more than the caption, and with Slick's
   adaptiveHeight the slider grows as you page onto an uncaptioned slide.

   Aligning the wrapper to the top of its line box removes the descender space,
   so every slide is the height of its own contents. */
.cwb-slider .slick-slide>div>div{vertical-align:top}

/* Video Content thumbnail. It is a real <img> in a Bootstrap ratio box now, and
   `.ratio > *` sizes it to 100%/100% without saying how to fill that box - the
   default is `fill`, which stretched a 976x650 photo into a 16:9 slot. */
.cwb-video>.cwb-video__img{object-fit:cover;object-position:center}

/* The control that opens the video is a <button> rather than a <div>, so that it
   can be reached and operated from a keyboard. A button brings the browser's own
   chrome with it - grey fill, outset border, padding - which drew a box around
   the play circle; the circle itself comes from .icon--border on the icon.
   display:block rather than the button default of inline-block, so it does not
   sit on a text baseline and reserve descender space under itself. */
.callout--video .img-overlay button.main-icon{
    display: block;
    padding: 0;
    border: 0;
    background: none;
    color: inherit;
    cursor: pointer;
    -webkit-appearance: none;
    appearance: none;
}

/* Focus has to be visible now that this can be focused at all. */
.callout--video .img-overlay button.main-icon:focus-visible{
    outline: 3px solid currentColor;
    outline-offset: 4px;
}

/* Flexible Content Embed. The caption is inside a <figure> so the <figcaption>
   is valid, which brings Bootstrap's 1rem figure margin with it - the spacing
   under an embed is owned by whatever follows it, as it was before the wrapper
   existed. The frame itself is sized by the .ratio box around it, replacing the
   inline width/height the iframe used to carry. */
.cwb-embed{margin-bottom:0}

.cwb-section-heading{margin-bottom:30px}
.cwb-section-heading>*{margin-top:0;margin-bottom:10px}
.cwb-section-heading>*:last-child{margin-bottom:0}
.cwb-section-heading+*{margin-top:0}

/* Paragraphs inside a section description are separated.
 *
 * A blank line in the field makes wpautop write a second <p>, but the theme's
 * typography reset reduces every <p> to `margin:0`, so the two ran together
 * with a 0px gap and read as one paragraph. This restores the 1rem Bootstrap
 * gives a <p> by default, for this container only.
 *
 * `:not(:last-child)` rather than zeroing the last one: a lone paragraph is
 * itself the last child and so is never given a margin, and if a description
 * ends in something other than a <p> - a list, say - the paragraphs before it
 * still get their spacing. The gap under the whole block stays the 10px the
 * rule above gives it. */
.cwb-section-description p:not(:last-child){margin-bottom:16px}
/* The shared section label reuses the `title` styling so it matches the same
   label elsewhere, but that styling carries its own large bottom margin. Inside
   the heading block the spacing is owned by the block, so it is normalised here
   — and the label stays left aligned with its rule under the left edge, even
   where the title and description above it are centred. */
.cwb-section-heading .cwb-section-label{margin-bottom:10px;text-align:left}
.cwb-section-heading .cwb-section-label:last-child{margin-bottom:0}
.cwb-section-heading .cwb-section-label .body-small::after{left:0;right:auto;margin:0}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6,p{margin:0}@media (max-width:767px){.extra-display-h1{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:end;-ms-flex-align:end;align-items:flex-end}}@media (max-width:767px){}@media (max-width:767px){}@media (max-width:767px){}@media (max-width:767px){}@media (max-width:767px){}@media (max-width:767px){}.h7{font-size:25px;font-weight:700;line-height: inherit;}@media (max-width:767px){.h7{font-size:18px}}.h8{font-size:22px;font-weight:700;line-height:24px}@media (max-width:767px){.h8{font-size:20px;line-height:24px}}.h9{font-size:16px;font-weight:400}.stand-first{font-size:22px;font-weight:600;line-height:24px}.body-large{font-size:20px;font-weight:400;line-height:24px}.body-large-bold{font-size:20px;line-height:24px;font-weight:700}/* .body-medium is a deliberate editor choice ("Text medium normal") selected in
   the backend, so it keeps its own size/weight/line-height. It is no longer
   hardcoded into element templates — template text inherits the Global Options
   body typography instead. */
.body-medium{font-size:18px;font-weight:400;line-height:24px}.body-medium-bold{font-size:18px;line-height:24px;font-weight:600}.body-small{font-size:16px;font-weight:400;line-height:22px}.body-small-bold{font-size:16px;font-weight:600;line-height:22px}.p,p{font-size:16px;font-weight:400;margin:0}.p span,p span{font-weight:700}.active-link,a{font-size:18px;font-weight:700;text-decoration:none}.copyright{font-size:14px}.mid-font{font-size:16px;font-weight:700}.marked{text-decoration:underline;-webkit-text-decoration-color:#6f96b7;text-decoration-color:#6f96b7}.font-45{font-size:45px;line-height:49px}@media (max-width:767px){.font-45{font-size:30px;line-height:36px}}.header{background:0 0;-webkit-box-shadow:0 5px 10px rgba(0,0,0,.2);box-shadow:0 5px 10px rgba(0,0,0,.2);position:absolute;left:0;right:0;top:0;z-index:1030}header .full-width{background:rgba(16,23,30,.6)}header .full-width .link{padding-right:20px;position:relative}header .full-width .link:last-child:after{display:none}header .full-width .link:after{content:"";position:absolute;right:4px;height:1px;width:20px;background:#6f96b7;top:57%}header .full-width .link .btn-link,header .full-width .link .btn-modal{font-size:14px;color:#fff}header .full-width .link .btn-link:after,header .full-width .link .btn-modal:after{display:none}header .full-width .link:last-child{padding-right:0}header .container-fluid{padding:0 15px}header .container-fluid .col-lg-6{margin:0}header .sub-heading{margin-bottom:0}header .logo-img img{max-width:275px;width:auto}@mediaheader .header-btns .btn.btn--secondary{background:#6f96b7;border-color:#6f96b7;margin-left:15px;padding:9px 13px 9px 13px;-webkit-filter:drop-shadow(1px 1px 0 rgba(0, 20, 58, .85));filter:drop-shadow(1px 1px 0 rgba(0, 20, 58, .85))}header .navigation-bar{background:#c41f2f;padding:8px 0 0;-webkit-box-shadow:1px 1px 0 rgba(0,20,58,.85);box-shadow:1px 1px 0 rgba(0,20,58,.85)}header .navigation-bar .navbar-nav a.nav-link,header .navigation-bar .navbar-nav a.nav-link.active,header .navigation-bar .navbar-nav a.nav-link:active,header .navigation-bar .navbar-nav a.nav-link:focus,header .navigation-bar .navbar-nav a.nav-link:hover{color:#fff;font-size:16px;padding-top:12px}header.header.darkHeader{background:rgba(16,23,30,.6)}@media (max-width:767px){header.header.darkHeader{position:fixed;background:#c41f2f}}header.header.darkHeader .full-width,header.header.darkHeader>.container-fluid{-webkit-transition:all .5s;transition:all .5s}header.header.darkHeader .navigation-bar{position:fixed;top:0;left:0;right:0}header .navbar-nav>.nav-item{padding-bottom:0}header .navbar-nav>.nav-item .nav-link{padding-bottom:0;color:#10171e}header .navbar-nav>.nav-item .nav-link i{font-size:20px;font-weight:700;margin-left:8px;top:2px;position:relative}header .navbar-nav>.nav-item .nav-link::after{display:block;content:"";border-bottom:solid 6px #e9e8e6;-webkit-transform:scaleX(0);transform:scaleX(0);-webkit-transition:-webkit-transform 250ms ease-in-out;transition:-webkit-transform 250ms ease-in-out;transition:transform 250ms ease-in-out;transition:transform 250ms ease-in-out,-webkit-transform 250ms ease-in-out;padding-bottom:20px}header .navbar-nav>.nav-item .nav-link.active:after,header .navbar-nav>.nav-item .nav-link:hover:after{-webkit-transform:scaleX(1);transform:scaleX(1);padding-bottom:20px}header .navbar-nav>.nav-item.contact-btn{display:none}header .navbar-nav>.nav-item.contact-btn a{background:#6f96b7;border-color:#6f96b7;margin-top:-8px;min-height:51px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;font-size:18px;-webkit-filter:drop-shadow(1px 1px 0 rgba(0, 20, 58, .85));filter:drop-shadow(1px 1px 0 rgba(0, 20, 58, .85));font-weight:700}header .link{margin-right:8px}header .link:last-child{margin-right:0}.navbar-toggler{border:2px solid #fff;background:0 0;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding:13px;border-radius:6px}.navbar-toggler:focus{-webkit-box-shadow:none;box-shadow:none}.navbar-toggler>span{font-size:16px;color:#fff;font-weight:700}.navbar-toggler .icon{width:20px;float:left;margin-left:10px}.navbar-toggler .icon .line{height:2px;background:#fff;float:left;width:100%;margin-bottom:5px}.navbar-toggler .icon .line:last-child{margin-bottom:0}@media (max-width:991px){.header>.container-fluid #mid-menu li{padding:7px;margin-left:5px;font-size:14px;-webkit-box-flex:1;-ms-flex:1 1 100%;flex:1 1 100%}.header>.container-fluid #mid-menu li:first-child{margin:0!important}.header>.container-fluid .navbar-toggler{position:absolute;right:15px;top:8px}.header>.container-fluid .navbar-toggler .icon{margin-left:0}}.centerText .title .body-small::after{right:0;margin:auto}@media (max-width:767px){.centerText .title .body-small::after{margin:0}}.label_title{text-transform:uppercase;font-size:16px;position:relative;color:#10171e;padding-bottom:10px;margin-bottom:40px}.label_title::before{content:"";height:1px;width:30px;background:#c41f2f;position:absolute;bottom:0}/* No text-transform here on purpose: section labels print exactly as they are
   typed. They used to be forced to upper case, which meant a label entered in
   sentence case still displayed in capitals and there was no way to have it
   otherwise. Labels already written in capitals are unaffected, since that is
   how they are stored. */
.title{margin-bottom:35px}@media (max-width:767px){.title{margin-bottom:20px}}.title .body-small{position:relative;font-weight:400;margin:0;padding-bottom:18px;line-height:24px}/* The rule under a section label follows the section's Accent Background
   Colour, so it picks up the profile in use and falls back to the Default
   Colour Profile, then to the shared black default, like the other accent
   details. It used to be painted by the 1. Brand profile's section background
   colour regardless of which profile the section was actually using. */
.title .body-small:after{content:"";position:absolute;left:0;bottom:0;width:30px;height:2px;background:var(--cwb-accent-bg,#000)}.title-with-border{padding:24px 0 16px;border-bottom:1px solid #007dba;margin-bottom:30px}.card .card-body .title>p.body-small{font-size:14px;padding-bottom:22px}.card .card-body .title>p.body-small:after{height:2px}.welcome--section{padding-top:60px;background-size:contain;border-top:3px solid}.welcome--section .title p{line-height:initial}.welcome--section .hash-list{margin-top:30px}.welcome--section p{max-width:100%}@media (max-width:767px){.welcome--section p{max-width:100%}}@media (max-width:767px){.welcome--section .margin-top-lg .single-img:nth-child(2){display:none}}.list{font-size:18px;font-weight:400;margin-top:25px}.list ul{padding:0}.list ul li{margin-bottom:15px;position:relative;padding-left:20px;list-style:none}.list ul li span{font-weight:700}.list ul li:after{content:"";position:absolute;height:8px;width:8px;border-radius:50%;left:0;top:10px;background:#10171e}.list--IconWithText-list{padding:0;margin:0}@media (max-width:767px){.list--IconWithText-list .card-body{padding:15px 10px}}.list--IconWithText-list.blue-icon li .icon{color:#c41f2f}.list--IconWithText-list.margin-B-sm li{margin-bottom:4px}.list--IconWithText-list.alignitem-start li{-webkit-box-align:start;-ms-flex-align:start;align-items:start}.list--IconWithText-list.blue--txt ul li a{color:#0089ff}.list--IconWithText-list ul li{display:-webkit-box;display:-ms-flexbox;display:flex;font-size:18px;padding:0;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.list--IconWithText-list ul li:after{display:none}.list--IconWithText-list ul li i{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;margin-right:14px;font-size:24px;margin-top:3px;width:20px}@media (max-width:767px){.list--IconWithText-list ul li i{margin-right:8px}}.list--IconWithText-list ul li a{color:#10171e;font-size:18px}.list--IconWithText-list.bordered--icon i{border:3px solid;border-radius:50%;height:50px;width:50px}.list--IconWithText-list.bordered--icon-sm i{border:3px solid;border-radius:50%;font-size:14px;height:30px;width:30px}.number-list{padding:0;list-style-type:none;counter-reset:section}.number-list li{display:-webkit-box;display:-ms-flexbox;display:flex;position:relative;font-weight:400}.number-list li:before{content:counters(section, ".") ". ";counter-increment:section;padding-right:10px;color:#727271}.number-list li h6{font-size:16px}.number-list.blue-txt{color:#c41f2f}.list--with-precircle ul li{margin-bottom:5px}.list--with-precircle ul li h6{font-size:18px}ul.small-items.ul-marker{position:relative;left:15px;width:calc(100% - 15px)}ul.small-items.ul-marker li{padding-left:0}.icon-with-heading{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.icon-with-heading .icon{float:left;margin-right:10px}.icon-with-heading .icon>div{height:66px;width:66px;background:#c41f2f;border-radius:50%;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;font-size:24px;font-weight:600;color:#fff}.icon-with-heading .icon>div>sub{font-size:16px}.btn:focus,.btn:focus-visible{outline:0;-webkit-box-shadow:none;box-shadow:none}.link i{margin-left:4px;top:2px;position:relative}.link .btn-link,.link .btn-modal{padding:0;text-decoration:none;font-weight:700;position:relative;text-align:left;padding-right:15px;color:#6f96b7;font-size:18px}.link .btn-link span,.link .btn-modal span{font-weight:400}.link .btn-link--onlylink:after{display:none}.link .btn-link:after,.link .btn-modal:after{content:"\f105";font-family:"Font Awesome 5 Free";top:2px;margin-left:7px;position:relative}.link .btn-link--withouticon:after{position:relative;top:3px}.link .btn-link.simple-link,.link .simple-link.btn-modal{padding:0;color:#6f96b7}.link .btn-link.simple-link:after,.link .simple-link.btn-modal:after{position:relative}.link .btn-modal{padding-right:25px;color:#6f96b7}.link .btn-modal:after{content:"\f067";font-family:"Font Awesome 5 Free";position:absolute;right:-10px;border:2px solid;border-radius:50%;height:20px;width:20px;font-size:11px;text-align:center;top:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.link .btn-expand{padding:0;text-decoration:none;font-weight:700;position:relative;text-align:left;color:#6f96b7}.link .btn-expand:after{content:"\f107";font-family:"Font Awesome 5 Free";top:2px;margin-left:7px;position:absolute;right:-15px}.link .btn-expand~.component{display:none}.link .expand-content{display:none}.link .btn-primary{padding:0 30px;border:3px solid #6f96b7;font-weight:700;background:#6f96b7;color:#fff;min-width:90px;font-size:17px;line-height:19px;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;height:44px}@media (max-width:767px){.link .btn-primary{padding:10px;min-height:44px;height:initial}}.link .btn-primary.btn-primary--border{background:0 0;min-width:199px}.link .btn-primary.btn-primary--border:hover{background:0 0}.link .btn-primary.btn--secondary{border:3px solid #6f96b7;background:#6f96b7;font-weight:700;font-size:18px;padding:15px 26px 15px 13px}.link .btn-primary.btn--secondary.btn--bordered{color:#fff;border-color:#fff;background:0 0}.link .btn-primary.btn--secondary.btn-link,.link .btn-primary.btn--secondary.btn-modal{padding:18px 35px 18px 15px}.link .btn-primary.btn--secondary.btn-link:after,.link .btn-primary.btn--secondary.btn-modal:after{top:52%;margin-left:7px;position:absolute;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);right:5px}.link .btn-primary:hover{background:#c41f2f;border-color:#c41f2f;color:#fff}.link .btn-primary.disabled{background:#ddd;border-color:#ddd}.link .dark-link{padding:0;margin:0}.link .btn--play{padding-left:60px;position:relative;margin-top:30px}@media (max-width:767px){.link .btn--play{padding-left:40px}}.link .btn--play:after{content:"\f04b";font-family:'Font Awesome 5 Free';position:absolute;left:15px;font-size:14px;font-weight:lighter;top:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);border:3px solid;height:50px;width:50px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;border-radius:50%;background-color:rgba(70,70,70,.25)}@media (max-width:767px){.link .btn--play:after{height:30px;width:30px;font-size:8px;top:38%;margin-left:0}}.link .btn--play span{font-size:14px;font-weight:400}@media (max-width:767px){.link .btn--play{margin-top:0}}.modal-overlay{position:absolute;left:0;top:0;bottom:0;right:0}.link .modal-overlay button.btn-modal,.modal-overlay .link button.btn-modal,.modal-overlay button.btn-link{display:-webkit-box;display:-ms-flexbox;display:flex;height:100%;-webkit-box-align:end;-ms-flex-align:end;align-items:flex-end;-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end;padding-right:10px;color:#6f96b7;margin:0;right:10px;width:100%;padding-right:0}.link .modal-overlay button.btn-modal i,.modal-overlay .link button.btn-modal i,.modal-overlay button.btn-link i{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;height:35px;width:35px;border:2px solid;border-radius:50%;text-align:right;margin-bottom:10px;margin-right:0}.link .modal-overlay button.btn-modal:after,.modal-overlay .link button.btn-modal:after,.modal-overlay button.btn-link:after{display:none}.link .modal-overlay.sm--modal button.btn-modal i,.modal-overlay.sm--modal .link button.btn-modal i,.modal-overlay.sm--modal button.btn-link i{height:20px;width:20px;font-size:12px;border-color:#6f96b7;color:#6f96b7}.hero{padding:35vh 15px 20vh;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;color:#fff;background-size:cover;background-repeat:no-repeat;background-position:center;position:relative;padding:0;min-height:50vh}.hero:before{content:"";position:absolute;top:0;bottom:0;left:0;right:0}.hero .container,.hero .container-fluid{position:relative}@media (max-width:767px){.hero{padding:35vh 0 25vh}}.hero--centertext .caption{text-align:center}@media (max-width:767px){.hero--centertext .caption{text-align:left}}.hero .btn{color:#fff}@media (max-width:767px){.hero .btn{font-size:20px}.hero .btn span{display:block}}.hero .small-header{height:auto;padding:0}.hero .small-header .overlay{position:relative;height:initial}.hero .small-header .overlay .caption{padding:200px 15px 50px}.bg-video-wrap{position:relative;overflow:hidden;width:100%;background:no-repeat center center/cover}@media screen and (max-width:959px){.bg-video-wrap{margin-top:60px}}.bg-video-wrap video{min-width:100%;min-height:100vh;z-index:1}.bg-video-wrap .overlay{width:100%;position:absolute;top:0;left:0;background-size:3px 3px;z-index:2;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;color:#fff;bottom:0}.bg-video-wrap .overlay .btn{color:#fff}.bg-video-wrap .overlay .caption{padding-top:20%}@media (max-width:991px){.bg-video-wrap .overlay .caption{padding-top:0}}.bg-video-wrap .overlay .caption .btn{color:#fff}@media (max-width:767px){.bg-video-wrap .overlay .caption .btn{font-size:20px}.bg-video-wrap .overlay .caption .btn span{display:block}}@media (max-width:767px){.welcome--section .h4{font-size:25px}.welcome--section .row>div.order-1.order-md-2.margin-top-lg{margin-top:-135px;margin-bottom:20px}}.bg-overlay{position:absolute;left:0;top:0;bottom:0;right:0}.full-width-section{background-size:cover;background-repeat:no-repeat;position:relative}.full-width-section>.img-overlay{position:absolute;top:0;bottom:0;left:0;right:0;background:rgba(0,0,0,.4);color:#fff;display:-webkit-box;display:-ms-flexbox;display:flex;width:100%;padding:50px;border-radius:3px}.full-width-section .callout-img .img-overlay{background:0 0}@media (max-width:991px){.full-width-section .callout-img{min-height:initial}.full-width-section .callout-img .img-overlay{position:relative}}.custom-input{color:#10171e}input:focus~label,input:valid~label,textarea:focus~label,textarea:valid~label{font-size:.75em;color:#727271;top:3px;-webkit-transition:all 125ms ease;transition:all 125ms ease;left:3px;padding:0 0 0 11px}@media (max-width:767px){}.optional{color:#727271;margin-left:15px}@media (max-width:767px){.optional{font-size:14px}}.myselect{width:100%;height:100%;padding-bottom:75px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;background-image:radial-gradient(at top,#b5e6cf,#9dddad)}.myselect .select{width:225px;height:40px;cursor:pointer;background-color:#fff;-webkit-box-shadow:0 2px 0 #fff;box-shadow:0 2px 0 #fff;border-radius:2px}.myselect .select_expand{width:0;height:40px;position:absolute;top:0;right:0}.myselect .select_expand::after{content:">";position:absolute;top:50%;right:0;-webkit-transform:translate(-50%,-50%) rotate(90deg) scaleY(1.75);transform:translate(-50%,-50%) rotate(90deg) scaleY(1.75);color:#3e3e3e;font-size:28px;pointer-events:none;z-index:2;-webkit-transition:all 250ms cubic-bezier(.4,.25,.3,1);transition:all 250ms cubic-bezier(.4,.25,.3,1);opacity:.6}.myselect .select_expand:hover::after{opacity:1}.myselect .select_expand:checked::after{-webkit-transform:translate(-50%,-50%) rotate(90deg) scaleX(-1) scaleY(1.75);transform:translate(-50%,-50%) rotate(90deg) scaleX(-1) scaleY(1.75)}.myselect .select_expandLabel{display:block;width:100%;height:40px;position:absolute;top:0;left:0;cursor:pointer}.myselect .select_close{display:none}.myselect .select_closeLabel{width:100vw;height:100vh;position:fixed;top:0;left:0;display:none}.myselect .select_items{width:100%;position:absolute;top:0;left:0;border:2px solid #2fb5d1;border-radius:2px;padding-top:40px}.myselect .select_input{display:none}.myselect .select_label{-webkit-transition:all 250ms cubic-bezier(.4,.25,.3,1);transition:all 250ms cubic-bezier(.4,.25,.3,1);display:block;height:0;font-size:1.2rem;line-height:40px;overflow:hidden;color:#3e3e3e;background-color:#fff;cursor:pointer;padding-left:20px}.myselect .select_label-placeholder{height:40px;vertical-align:middle;position:absolute;top:0;left:0;opacity:.6;background-color:transparent}.myselect .select_expand:checked+.select_closeLabel{display:block}.myselect .select_expand:checked+.select_closeLabel+.select_options .select_label{height:40px}.myselect .select_expand:checked+.select_closeLabel+.select_options .select_label:hover{background-color:#f7f7f7}.myselect .select_expand:checked+.select_closeLabel+.select_options+.select_expandLabel{display:none}.myselect .select_input:checked+.select_label{height:40px;margin-top:-40px}.text-underline{text-decoration:underline;color:#6f96b7;font-weight:700;font-size:large}.form-step__controls a{margin-top:20px}a#form-enquiry-main-step{float:right}.level-percentage p{width:85%}@media (max-width:767px){.level-percentage p{width:100%}}.level-percentage .card .card-body{padding:25px}.level-percentage .card .card-body p{font-size:28px;line-height:32px;width:100%}.level-percentage .card .card-body p.body-small,.level-percentage .card .card-body p.body-small-bold{font-size:20px;line-height:24px}@media (max-width:767px){.level-percentage .card .card-body p{font-size:16px;line-height:20px}}@media (max-width:767px){.level-percentage .card .card-body .h4{font-size:25px}}.slick-slider{padding:0}@media (max-width:767px){.slick-slider .slick-track{left:-20px}}.slick-slider .slick-slide{padding:0 10px}.slick-slider .slick-slide img{max-height:40vh;-o-object-fit:cover;object-fit:cover}@media (max-width:767px){.slick-slider .slick-slide img{border-radius:0}}.slick-slider--with-icon .slick-arrow{position:absolute;border-radius:50%;width:50px;height:50px;top:calc(50% - 50px);border:2px solid #10171e;z-index:99;background:#fff;font-size:30px;font-weight:900;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.slick-slider--with-icon .slick-arrow.slick-next{right:-55px;-webkit-transform:rotate(180deg);transform:rotate(180deg)}.slick-slider--with-icon .slick-arrow.slick-prev{left:-55px;-webkit-transform:rotate(180deg);transform:rotate(180deg)}@media (max-width:767px){.slick-slider--with-icon .slick-arrow{display:none}}@media (max-width:767px){.slick-slider .slick-list .slick-slide{width:90%;padding:0 10px 0 0;margin-right:0}.slick-slider figcaption{padding:0 15px}}.slick-slider.full--slider .callout-img{height:550px}@media (max-width:767px){.slick-slider.full--slider .callout-img{height:270px}}.slick-slider.half--slider .callout-img{height:270px}@media (max-width:767px){.extraspace{margin-left:0;margin-right:-15px}}@media (max-width:767px){.slick-carousel{overflow:hidden}}.transport-section .centertext{text-align:center}@media (max-width:767px){.transport-section .centertext{text-align:left}}.transport-section svg{margin-right:10px;height:50px}.transport-section .list svg{height:auto}.transport-section .styled-input input{width:50%}@media (max-width:991px){.transport-section .styled-input input{width:70%;margin-bottom:10px}}@media (max-width:767px){.transport-section .styled-input input{width:70%;margin-bottom:15px}}@media (max-width:575px){.transport-section .styled-input input{width:75%;margin-bottom:20px}}.fee-table .table{margin-bottom:0}.fee-table .table thead th{background:#c41f2f;color:#fff;border-bottom:0;padding:15px 20px;vertical-align:middle;font-size:18px}@media (max-width:767px){.fee-table .table thead th{padding:15px 10px}}.fee-table .table thead th h6{margin:0;font-size:18px}.fee-table .table tbody{background:#f8f8f8;border-bottom:0}.fee-table .table tbody tr{border-bottom:0;border-color:#c41f2f}.fee-table .table tbody tr td,.fee-table .table tbody tr th{padding:15px 20px;font-size:16px}@media (max-width:767px){.fee-table .table tbody tr td,.fee-table .table tbody tr th{padding:20px 10px}}.fee-table .table .prize{text-align:right}.fee-table .feeoption{display:none}.fee-table .prize{position:relative;white-space:nowrap}.fee-table .prize h6{font-size:16px}@media (max-width:767px){.fee-table .prize .feeDD{position:absolute;top:8px;right:12px}.fee-table .prize .feeDD:before{right:12px;top:5px}.fee-table .prize .feeDD select{min-width:150px;padding:7px}}.fee-table+.component p{font-size:16px}.fee-table.fixed-table .table tr th{width:33.3%}.take-alook .card{background:0 0;-webkit-box-shadow:none;box-shadow:none}.take-alook .card .card-body{padding:25px 0;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}@media (max-width:767px){.take-alook .card .card-body{padding:25px 0 0}}.booking-sec{padding:35px 80px}@media (max-width:991px){.booking-sec{padding:0}}@media (max-width:767px){.booking-sec{padding:25px 0}.booking-sec>.col-lg-12,.booking-sec>.col-lg-8{padding:0}.booking-sec .link .btn-primary.btn-primary--border{min-width:auto}}.booking-sec .mt-40{margin-top:40px}@media (max-width:767px){.booking-sec .mt-40{margin-top:20px}}.booking-sec .btn--secondary{color:#10171e;padding:16px 25px 16px 16px;border-width:2px}.booking-sec .btn--secondary:after{top:50%;-webkit-transform:translate(0,-50%);transform:translate(0,-50%)}@media (max-width:767px){.booking-sec .btn--secondary{padding:12px 10px;font-size:16px}}.booking-sec .forminput{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;margin-bottom:15px}.booking-sec .forminput .input-box{width:calc(100% - 55px)}@media (max-width:767px){.booking-sec .forminput .input-box{width:calc(100% - 40px)}}.booking-sec .forminput:last-child{margin-bottom:0}.booking-sec .forminput .icon{border-radius:50%;height:40px;width:40px;background:#00c07b;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;color:#fff;font-size:20px;margin-left:15px;visibility:hidden}@media (max-width:767px){.booking-sec .forminput .icon{margin-left:8px;height:32px;width:32px;font-size:18px}}.booking-sec .forminput input,.booking-sec .forminput select,.booking-sec .forminput textarea{width:100%}.booking-sec .forminput.filled-chk input,.booking-sec .forminput.filled-chk textarea{border-color:#00c07b}.booking-sec .forminput.filled-chk .icon{visibility:visible;margin-top:0}.booking-sec .forminput.filled-chk .icon .fa-exclamation{display:none}@media (max-width:767px){.booking-sec .forminput.filled-chk.forminput>div.link{width:calc(100% - 40px)}}.booking-sec .forminput.filled-chk.select.forminput>div.link{width:auto}.booking-sec .forminput.error-input input,.booking-sec .forminput.error-input select,.booking-sec .forminput.error-input textarea{border-color:#ff5f5f}.booking-sec .forminput.error-input .icon{background:0 0;border:3px solid;color:#ff5f5f;visibility:visible}.booking-sec .forminput.error-input .icon .fa-check{display:none}@media (max-width:767px){.booking-sec .forminput.error-input .icon{margin-top:0}}.booking-sec .forminput .text-overlay{position:absolute;right:15px;top:12px;color:#727271}.booking-sec .form-group.fake-select{white-space:nowrap}.booking-sec .styled-input select{border:2px solid;width:100%;font-size:16px;border-radius:4px;font-weight:600;height:50px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding:0 15px 0 8px;width:auto;-webkit-appearance:auto;-moz-appearance:auto;appearance:auto}@media (max-width:767px){.form-step .row>.order-md-1.order-2{margin-top:45px}.form-step .row>.order-md-1.order-2 .h8{margin-bottom:10px}}.booking-sec .btn-primary{background:#6f96b7;border-color:#6f96b7}.booking-sec .btn-primary.booking-sec .btn-primary:hover{background:#c41f2f;border-color:#c41f2f;color:#fff}.dropdown{float:right}.dropdown .dropdown-toggle{padding-right:35px}.dropdown .dropdown-toggle:after{border:0!important;content:"\f107";font-family:'Font Awesome 5 Free';position:absolute;top:10px;right:15px;-webkit-transition:all .5s;transition:all .5s}.dropdown .dropdown-toggle.show:after{-webkit-transform:rotate(180deg);transform:rotate(180deg)}.dropdown .dropdown-menu{-webkit-transform:translate(0,47px);transform:translate(0,47px);padding:0;border:0;border-radius:0;top:-5px!important}.dropdown .dropdown-menu a{color:#10171e;padding:8px 10px}.feeDD{position:relative;font-weight:700}.feeDD .select-box{position:relative;display:block;width:100%;margin:0 auto;font-size:18px}.feeDD .select-box__current{position:relative;cursor:pointer;outline:0}.feeDD .select-box__current:focus+.select-box__list{opacity:1;-webkit-animation-name:none;animation-name:none}.feeDD .select-box__current:focus+.select-box__list .select-box__option{cursor:pointer}.feeDD .select-box__current:focus .select-box__icon{-webkit-transform:rotate(180deg);transform:rotate(180deg);top:9px;right:4px}.feeDD .select-box__icon{position:absolute;right:15px;-webkit-transform:translateY(-50%);transform:translateY(-50%);width:20px;-webkit-transition:.2s ease;transition:.2s ease;right:12px;top:18px}.feeDD .select-box__value{display:-webkit-box;display:-ms-flexbox;display:flex}.feeDD .select-box__input{display:none}.feeDD .select-box__input:checked+.select-box__input-text{display:block}.feeDD .select-box__input-text{display:none;width:100%;margin:0;padding:6px 15px;border:2px solid #fff;color:#fff;text-align:left;min-width:175px;font-size:18px;font-weight:700}@media (max-width:767px){.feeDD .select-box__input-text{min-width:155px;font-size:16px;font-weight:700;padding:6px 10px}}.feeDD .select-box__list{position:absolute;width:100%;padding:0;list-style:none;opacity:0;-webkit-animation-name:HideList;animation-name:HideList;-webkit-animation-duration:.5s;animation-duration:.5s;-webkit-animation-delay:.5s;animation-delay:.5s;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards;-webkit-animation-timing-function:step-start;animation-timing-function:step-start;z-index:999;-webkit-box-shadow:0 15px 30px -10px rgba(0,0,0,.1);box-shadow:0 15px 30px -10px rgba(0,0,0,.1)}.feeDD .select-box__option{display:block;padding:10px;background-color:#fff;text-align:left;font-size:16px;color:#10171e}@media (max-width:767px){.feeDD .select-box__option{font-size:14px;padding:10px}}.feeDD .select-box__option:focus,.feeDD .select-box__option:hover{background-color:#f8f8f8}@-webkit-keyframes HideList{from{-webkit-transform:scaleY(1);transform:scaleY(1)}to{-webkit-transform:scaleY(0);transform:scaleY(0)}}@keyframes HideList{from{-webkit-transform:scaleY(1);transform:scaleY(1)}to{-webkit-transform:scaleY(0);transform:scaleY(0)}}.card{border:0;-webkit-box-shadow:0 0 30px rgba(16,23,30,.15);box-shadow:0 0 30px rgba(16,23,30,.15);height:100%}.card--white{color:#10171e}.card img{height:200px;-o-object-fit:cover;object-fit:cover;width:100%}@media (max-width:767px){.card .card-title.body-large-bold{font-size:18px;padding:0;margin:0}}.card.blue-heading{border-radius:0}.card.blue-heading .card-header{background:#c41f2f;color:#fff;padding:20px;border-radius:0}@media (max-width:767px){.card.blue-heading .card-header.body-large-bold{font-size:18px;margin:0}}@media (max-width:767px){.card.blue-heading .card-header{padding:20px 10px}.card.blue-heading .card-header .body-large-bold,.card.blue-heading .card-header p{font-size:16px}}.card.blue-heading .card-body{padding:30px 20px}@media (max-width:767px){.card .card-header.section--blue .body-large-bold,.card .card-header.section--blue .body-medium-bold{font-size:16px}}.card .card-body{border-radius:0 0 3px 3px}@media (max-width:767px){.card .card-body{padding:15px 10px}}.card .card-body .component{margin-top:0}.card .card-body .component:first-child .btn{margin-top:0}.card .card-body .component .btn{margin-top:20px}.card .card-body .title .body-small{line-height:initial;padding-top:5px;padding-bottom:18px}.card .card-body .title+.component>.btn{margin-top:15px}@media (max-width:767px){.card .card-body .btn.simple-btn{font-size:16px}}.card.card--bordered{background:0 0;border:2px solid;border-radius:3px}.card.card--bordered .card-body{background:0 0}.card.horizontal--card{margin-top:15px;height:auto}.card.horizontal--card:nth-child(n+1){margin-top:20px}.card.horizontal--card .component{margin:0}.card.horizontal--card .component a{color:#6f96b7}.card.horizontal--card .component .body-medium-bold,.card.horizontal--card .component .body-small{font-size:14px;line-height:18px;text-align:left}.card.horizontal--card:first-child{margin-top:0}.card.horizontal--card .row{min-height:117px}.card.horizontal--card .row>div:last-child{display:-webkit-box;display:-ms-flexbox;display:flex}.card.horizontal--card .row>div:last-child .component:first-child{margin-top:0!important;padding-top:0!important}.card.horizontal--card img{width:100%;height:120px}@media (max-width:991px){.card.horizontal--card img{min-height:120px;height:auto}}@media (max-width:767px){.card.horizontal--card .row>div,.card.horizontal--card .row>div.col-lg-4,.card.horizontal--card .row>div.col-lg-6{margin-bottom:0;margin-top:0}.card.horizontal--card .body-large-bold{font-size:18px}}.card.horizontal--card.img--100 img{height:140px}.card.horizontal--card.img--100 .card-body{padding:10px}@media (max-width:767px){.card.horizontal--card.img--100 .card-body{padding:15px}}.card.horizontal--card-sm img{height:100px}.card.horizontal--card-md img{height:120px}.IconWithText-list .card-header{min-height:60px;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.card-three-col .card img{height:200px}.padding-50{padding:50px}@media (max-width:767px){.padding-50{padding:15px}}@media (max-width:767px){.section--blue .card-header .body-large-bold,.section--blue .card-header p{font-size:16px}}.one-column .card-body{padding:25px 15px}@media (max-width:767px){.one-column .card-body{padding:10px}}.one-column .btn-primary{width:50%;min-width:220px}@media (max-width:767px){.one-column .link{max-width:calc(100% - 35px)}.one-column .modal-overlay.link{max-width:100%;right:0;bottom:6px}}.one-column .modal-overlay i{margin-bottom:9px}.one-column .simple-link{font-size:30px;line-height:34px;margin-bottom:15px}.two-column .btn-primary{width:100%}.two-column .simple-link{font-size:20px;line-height:24px;margin-bottom:15px}.two-column .card,.two-column>div>.component{height:100%}.two-column .card-body{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;padding:25px 15px}@media (max-width:767px){.two-column .card-body{padding:10px 10px 0}}.blue-txt{color:#c41f2f}@media (max-width:767px){.link .fixedage-btn{min-width:200px}}.rotate-minus-55{-webkit-transform:rotate(-55deg);transform:rotate(-55deg)}@media (max-width:575px){.rotate-minus-55{-webkit-transform:rotate(0);transform:rotate(0)}}.rotate-plus-55{-webkit-transform:rotate(55deg);transform:rotate(55deg)}@media (max-width:575px){.rotate-plus-55{-webkit-transform:rotate(0);transform:rotate(0)}}.equal-height>div>.component,.equal-height>div>.component>.card{height:100%}.equal-height .card-body{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}.margin-top-30{margin-top:-30px}@media (max-width:767px){.margin-top-30{margin-top:0}}.age-school .container-fluid .row>div{margin-bottom:0}.arrow-padding-top{padding-top:30px;padding-bottom:10px}@media (max-width:767px){.arrow-padding-top{padding-top:10px}}.section--grey .btn-close,.section--white .btn-close{color:#c41f2f;border-color:#c41f2f;background:#fff;padding:0}.section--grey .btn-close:hover,.section--white .btn-close:hover{color:#c41f2f}.bg-light .btn-close{color:#c41f2f;border-color:#c41f2f;background:#fff;padding:0}.bg-light .btn-close:hover{color:#c41f2f}.modal{z-index:500001}.modal .btn-close{float:right;background:0 0;border-radius:3px;border:2px solid #10171e;color:#10171e;opacity:1;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;font-size:24px;height:40px;width:40px;position:absolute;right:25px;top:25px;z-index:999;padding:0}.modal .btn-close i{top:0;margin-left:0}.modal .btn-close:hover{color:#10171e}@media (max-width:767px){.modal .btn-close{right:15px;top:15px}}.modal-link-list{margin-top:0}.modal-link-list ul{padding:0}.modal-link-list ul li{list-style:none;padding:10px 30px;border-bottom:1px solid #ddd}.modal-dialog{height:100vh;margin:0 auto;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}@media (max-width:767px){.modal-dialog{margin:0;max-width:100%}}@media (max-width:991px){.modal-dialog{min-width:80%}}.modal-content{border-radius:12px}@media (max-width:767px){.modal-content{min-height:100vh;border-radius:0;border:0}}.modal-content .modal-header{border-top-left-radius:12px;border-top-right-radius:12px;background:0 0;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.modal-content .modal-header .modal-title,.modal-content .modal-header>div{width:100%;font-size:28px}.modal-content .modal-body{border-bottom-left-radius:12px;border-bottom-right-radius:12px;background:0 0;max-height:80vh;overflow-y:auto;padding:0}@media (max-width:767px){.modal-content .modal-body{max-height:100vh;overflow-y:auto}}.extra--padding .modal-body{padding:80px 60px;overflow-y:auto;max-height:90vh}@media (max-width:991px){.extra--padding .modal-body{padding:80px 30px 30px}}@media (max-width:767px){.extra--padding .modal-body{padding:80px 15px 15px}}@media (max-width:767px){.extra--padding.mob-P-0 .modal-body{padding:0}}.header--padding .modal-header{padding:75px 25px 15px}.onlyheader--padding .booking-sec{padding:80px}@media (max-width:991px){.onlyheader--padding .booking-sec{padding:80px 30px 30px}}@media (max-width:767px){.onlyheader--padding .booking-sec{padding:80px 15px 15px}}#classmodal .btn.h4{font-size:25px;line-height:28px}#classmodal .btn-close{background:#fff}@media (max-width:767px){#classmodal .row>div.order-2.order-md-1{margin-top:0}#classmodal .img-sec .callout-img{min-height:200px}}.section--grey .slick-slider .slick-arrow,.section--white .slick-slider .slick-arrow{background:#fff;color:#10171e;border-color:#10171e}.section--grey .slick-slider .slick-arrow.slick-disabled,.section--white .slick-slider .slick-arrow.slick-disabled{color:rgba(150,150,150,.5);border-color:rgba(150,150,150,.5);background-color:transparent}.bg-light .slick-slider .slick-arrow{background:#fff;color:#10171e;border-color:#10171e}.slick-slider .slick-arrow{background:0 0;color:#fff;border-color:#fff}.slick-slider .slick-arrow.slick-disabled{color:rgba(150,150,150,.5);border-color:rgba(150,150,150,.5);background-color:transparent}@media (max-width:767px){.slick-slider .slick-arrow{display:none}}.slick-modal.extra--padding .modal-dialog{width:100%;max-width:960px}@media (max-width:991px){.slick-modal.extra--padding .modal-dialog{max-width:80%}}@media (max-width:767px){.slick-modal.extra--padding .modal-dialog{max-width:100%}}.slick-modal.extra--padding .modal-body{padding:80px}@media (max-width:991px){.slick-modal.extra--padding .modal-body{padding:80px 70px 30px}}@media (max-width:767px){.slick-modal.extra--padding .modal-body{padding:65px 0 0 15px}}.slick-modal.extra--padding .modal-body .btn-close{color:#fff;border-color:#fff}.slick-modal.extra--padding .modal-body .slick-slider{margin-top:50px}@media (max-width:767px){.slick-modal.extra--padding .modal-body .slick-slider{margin-top:0}}.slick-modal img{width:100%;-o-object-position:top;object-position:top}.slick-modal .content{width:75%}@media (max-width:767px){.slick-modal .content{width:100%}}.slick-modal .content .title{margin-bottom:20px}.slick-modal .content .title .body-small{text-transform:initial;line-height:initial;margin-top:6px}#herovideo-modal .modal-dialog{width:100%;max-width:100%;border-radius:0;position:fixed}#herovideo-modal .modal-dialog .modal-content{max-width:60%}@media (max-width:991px){#herovideo-modal .modal-dialog .modal-content{max-width:80%}}@media (max-width:767px){#herovideo-modal .modal-dialog .modal-content{max-width:100%}}#herovideo-modal .modal-dialog .modal-content .modal-body{padding:100px 25px 25px}@media (max-width:767px){#herovideo-modal .modal-dialog .modal-content .modal-body{padding:0}#herovideo-modal .modal-dialog .modal-content .modal-body iframe{height:50vh;min-height:300px}#herovideo-modal .modal-dialog .modal-content .modal-body .btn-close{background:#fff}}#herovideo-modal .modal-content,#herovideo-modal .modal-dialog{height:100vh;width:100vw;max-width:100vw}#herovideo-modal iframe{height:100vh}#herovideo-modal .btn-close{background:#fff}.video_wrapper{position:relative;padding-bottom:56.25%;padding-top:25px;height:0}.video_wrapper iframe{position:absolute;top:0;left:0;width:100%;height:100%}.selectschool .modal-dialog{width:75%;max-width:910px}@media (max-width:767px){.selectschool .modal-dialog{width:100%}}.selectschool .modal-dialog .modal-title{text-align:center}@media (max-width:767px){.selectschool .modal-dialog .modal-title{margin-bottom:10px}}.selectschool .modal-dialog .modal-body{overflow-y:auto;max-height:100vh}.selectschool .modal-dialog .modal-body>.row:first-child{padding-top:80px}.selectschool .modal-dialog .modal-body>.row:nth-child(2){padding:30px 60px 45px}@media (max-width:767px){.selectschool .modal-dialog .modal-body>.row:nth-child(2){padding:0}}.selectschool .modal-dialog .modal-body>.row:nth-child(3){padding:60px}@media (max-width:767px){.selectschool .modal-dialog .modal-body>.row:nth-child(3){padding:15px}}.selectschool .modal-dialog .row{margin:0}.selectschool .modal-dialog .card .card-body{padding:10px}.selectschool .modal-dialog .card .card-body .h5{line-height:initial}@media (max-width:767px){.selectschool .modal-dialog .card .card-body .h5{font-size:16px}}@media (max-width:767px){.selectschool .modal-dialog .card .card-body .p{font-size:14px}}.selectschool .modal-dialog .card img{height:120px}#transport .icon{height:50px;width:50px;border:2px solid;border-radius:50%;font-size:20px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;background:#c41f2f;color:#fff;margin-right:10px}#transport .icon+div{width:calc(100% - 70px)}ul#myTab{border-bottom:2px solid #c41f2f}ul#myTab li{-webkit-box-flex:1;-ms-flex:1 1 auto;flex:1 1 auto;margin-left:2px;margin-right:2px;border:0}ul#myTab li:first-child{margin-left:0}ul#myTab li:last-child{margin-right:0}ul#myTab li button{width:100%;background:#f0f0f0;border:0;border-radius:0;margin-bottom:0;color:#10171e;font-weight:700;padding:14px 15px}ul#myTab li button.active{background:#c41f2f;color:#fff}div#myTabContent{padding:40px 0}@media (max-width:767px){div#myTabContent{padding:20px 0}div#myTabContent .fade{display:block;opacity:1}}div#myTabContent button[data-bs-toggle=tab]{width:100%;border:0;background:0;text-align:left;color:#10171e;font-weight:700;border-bottom:3px solid #c41f2f;padding-left:0;margin-bottom:15px}.single-img:nth-child(n+1){margin-top:40px}.single-img:first-child{margin-top:0}.callout-img{height:100%;position:relative;background-repeat:no-repeat;background-size:cover;background-position:right;border-radius:3px}.callout-img img{border-radius:3px}@media (max-width:767px){.callout-img{min-height:370px;background-position:center}}@media (max-width:767px){.callout-img.only--img{min-height:195px}}.callout-img .img-overlay{position:absolute;top:0;bottom:0;left:0;right:0;background:rgba(0,0,0,.4);color:#fff;display:-webkit-box;display:-ms-flexbox;display:flex;width:100%;padding:50px;border-radius:3px}.callout-img .img-overlay>div{width:85%}@media (max-width:767px){.callout-img .img-overlay>div{width:90%}}@media (max-width:767px){.callout-img .img-overlay{padding:50px}}@media (max-width:767px){.callout-img .img-overlay{padding:50px 0}}.callout-img .img-overlay .btn{color:#fff;border-color:#fff}.callout-img.center--content .img-overlay{-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.callout-img.leftBottom-content .img-overlay{-webkit-box-align:end;-ms-flex-align:end;align-items:flex-end}.callout-img.full--img{min-height:580px}@media (max-width:767px){.callout-img.full--img{min-height:500px;background-position:right}.callout-img.full--img .img-overlay{-webkit-box-align:end;-ms-flex-align:end;align-items:flex-end}}.callout-img.halfcol--img{min-height:300px}.callout-img.halfcol--img .img-overlay{padding:15px}@media (min-width:768px){.callout-img.halfcol--img{min-height:210px}}@media (max-width:767px){.callout-img.halfcol--img{min-height:210px}}.callout-img.map--img{height:353px}@media (max-width:767px){.callout-img.map--img{height:195px;min-height:initial}}.callout-img.fullonly--img{min-height:570px}@media (max-width:767px){.callout-img.fullonly--img{min-height:290px;height:290px}}.callout--video{height:100%;position:relative;background-repeat:no-repeat;background-size:cover;background-position:right;border-radius:3px;height:350px}@media (max-width:767px){.callout--video{height:170px;background-position:center}}.callout--video .img-overlay{position:absolute;top:0;bottom:0;left:0;right:0;background:rgba(0,0,0,.4);color:#fff;display:-webkit-box;display:-ms-flexbox;display:flex;width:100%;padding:80px;border-radius:3px;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.callout--video .img-overlay .icon--border{border:3px solid;border-radius:50%;height:85px;width:85px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;background:rgba(0,0,0,.25)}@media (max-width:767px){.callout--video .img-overlay .icon--border{height:50px;width:50px;font-size:16px}}.callout--video.full--img{min-height:500px}@media (max-width:767px){.callout--video.full--img{min-height:320px;height:320px}}.callout--background{min-height:500px;position:relative;background-repeat:no-repeat;background-size:cover;background-position:right;display:-webkit-box;display:-ms-flexbox;display:flex}@media (max-width:767px){.callout--background{min-height:500px;-webkit-box-align:end;-ms-flex-align:end;align-items:flex-end}}.callout--background:before{content:"";position:absolute;background:rgba(0,0,0,.4);top:0;bottom:0;left:0;right:0}.callout--background .container,.callout--background .container-fluid{position:relative;color:#fff}.callout--background .btn.btn-primary--border{color:#fff;border-color:#fff}.video-content-sec{border-radius:0 3px 3px 0;padding:40px 20px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}@media (max-width:767px){.video-content-sec{border-radius:0 0 3px 3px;padding:15px}}.video-content-sec.section--blue{background:#c41f2f;color:#fff}.video-content-sec.section--grey,.video-content-sec.section--white{color:#10171e}.video-content-sec.center-content{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.video-content-sec.topbottom-content{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}.video-content-sec.topbottom-content .component{width:100%}figcaption{font-size:14px;font-weight:400;margin-top:8px}.news--section .callout-img{height:200px;min-height:200px}.link .news--section .btn.h7.btn-modal,.news--section .btn.btn-link.h7,.news--section .link .btn.h7.btn-modal{font-size:25px}@media (max-width:767px){.link .news--section .btn.h7.btn-modal,.news--section .btn.btn-link.h7,.news--section .link .btn.h7.btn-modal{font-size:20px;line-height:24px;margin-bottom:5px}}@media (max-width:767px){.news--section .h5{font-size:30px;line-height:36px}}.easysteps{border:0}.easysteps .step-component{height:100%;position:relative}.easysteps .step-component .card{height:100%}@media (max-width:767px){.easysteps .step-component .card{margin-bottom:15px;height:calc(100% - 15px)}.easysteps .step-component .card .card-body{padding:20px;display:-webkit-box;display:-ms-flexbox;display:flex}}.easysteps .step-component .card h5{font-size:18px;margin-top:15px;line-height:22px}@media (max-width:767px){.easysteps .step-component .card h5{margin-top:0}}.easysteps .step-component .steparrow{position:absolute;right:-58px;top:15%;z-index:1}@media (max-width:767px){.easysteps .step-component .steparrow{right:initial;top:initial;z-index:1;bottom:-7px;-webkit-transform:rotate(90deg);transform:rotate(90deg);left:8px}.easysteps .step-component .steparrow svg{height:25px}}.easysteps .step-component svg path{fill:#6f96b7}.easysteps .card-body{text-align:center;padding:25px}@media (max-width:767px){.easysteps .card-body{-webkit-box-align:center;-ms-flex-align:center;align-items:center;text-align:left}.easysteps .card-body h6{margin:0}}.easysteps .card-body .steps{background:#c41f2f;width:65px;height:65px;border-radius:50%;color:#fff;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;font-size:22px;margin:auto}@media (max-width:767px){.easysteps .card-body .steps{margin-right:15px}}.easysteps .row>div.col-lg-3,.easysteps .row>div.col-lg-4,.easysteps .row>div.col-lg-6,.easysteps .row>div.col-lg-8{margin:0}#shettle-modal svg,.shuttle-cards svg{margin-bottom:5px}#shettle-modal svg path,.shuttle-cards svg path{fill:#6f96b7}.hash-list ul{margin:0;padding:0;list-style:none}.hash-list ul li{padding-left:20px;position:relative;margin-bottom:15px}.hash-list ul li:before{content:"";position:absolute;left:0;top:13px;height:1px;background:#c41f2f;width:10px}.hash-list--withouticon ul{margin:0;padding:0;list-style:none}.hash-list--withouticon ul li{margin-top:15px}.hash-list--withouticon ul li:first-child{margin-top:0}.hash-list .blue-txt{color:#c41f2f}.list--IconWithText-list ul li{margin-bottom:5px}.list--IconWithText-list .icon i{height:50px;width:50px;border:2px solid;border-radius:50%;font-size:20px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;background:#c41f2f;color:#fff}.list--IconWithText-list.list--sm li{margin-bottom:6px}.list--IconWithText-list.list--sm .link a{font-size:16px}.list--IconWithText-list.withouticon li{margin-bottom:15px}.list--IconWithText-list.withouticon .icon i{background:0 0;color:#10171e;border:0;font-size:26px;height:auto;margin-right:5px;width:30px;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.list--IconWithText-list .btn{padding-right:0}@media (max-width:767px){.list--IconWithText-list .btn{font-size:16px;line-height:20px}}.list--IconWithText-list .btn>span{font-size:16px}.icon-with-heading.icon-sm .icon>div{height:35px;width:35px;font-size:16px}.icon-with-heading.icon-sm .icon>div i{margin:0;top:0}.icon-with-heading a{color:#6f96b7}.TopBorder{border-top:3px solid #fff}.TopBorder--dark{border-top:3px solid #6f96b7}.BottomBorder{border-bottom:3px solid #fff}.BottomBorder--dark{border-bottom:3px solid #6f96b7}.TopBottomBorder{border-top:3px solid #fff;border-bottom:3px solid #fff}.TopBottomBorder--dark{border-top:3px solid #6f96b7;border-bottom:3px solid #6f96b7}.rating-sec{border-radius:6px;padding:40px 20px;text-align:center;color:#fff;margin:auto}.rating-sec .link a{color:#fff}@media (max-width:991px){.rating-sec .link a{padding-right:0;text-align:center}}.rating-sec .stars{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.rating-sec .stars div{margin:0 2px 5px}.rating-sec .stars div svg{float:left}.rating-sec .stars div svg path{fill:#fff}.rating-sec .stars.star--sm svg{height:32px;width:34px;float:left}.rating-sec--grey,.rating-sec--white{color:#10171e;background:#fff}.rating-sec--grey .link a,.rating-sec--white .link a{color:#10171e}.rating-sec--grey .stars div,.rating-sec--white .stars div{margin:0 2px 5px}.rating-sec--grey .stars div svg path,.rating-sec--white .stars div svg path{fill:#c41f2f}.rating-sec.float-right{float:right}@media (max-width:991px){.rating-sec.float-right{float:none}}.rating-sec.float-left{float:left}@media (max-width:991px){.rating-sec.float-left{float:none}}@media (max-width:991px){.rating-sec{max-width:100%}}.social-icons{padding-left:25px;margin-top:0}.social-icons a{font-size:24px;line-height:20px;color:#10171e;margin-right:10px}/* Accordion colours follow the section's colour profile: the header bar uses
   the profile's Accent Background/Text, and the divider line, chevron and its
   circle use the profile's Icon Background/Colour. Each falls back to the
   Default Colour Profile, then to the shared black/white default, which is
   what the var() fallbacks below express. */
.accordion .accordion-item{border:0;margin-bottom:15px;border-bottom:3px solid var(--cwb-icon-color,#fff);border-radius:5px 5px 0 0}.accordion .accordion-item:last-child{margin-bottom:0}
/* Content blocks inside an accordion item. Each block holds its own optional
   heading plus its content, so spacing is owned by the block rather than being
   set per element (or typed in by hand). Only a bottom margin is used, cleared
   on the last block so it never doubles up with the body's own padding. */
.accordion .accordion-item .accordion-body .accordion-block{margin-bottom:20px}
.accordion .accordion-item .accordion-body .accordion-block:last-child{margin-bottom:0}
.accordion .accordion-item .accordion-body .accordion-block>*:first-child{margin-top:0}
.accordion .accordion-item .accordion-body .accordion-block .h6{margin-bottom:10px}
/* Accordion block image. The Bootstrap ratio wrapper sets the aspect box and
   absolutely positions the image to fill it; object-fit reproduces what
   background-size:cover and background-position:center did when this was a CSS
   background, and the radius is clipped on the wrapper so the image corners
   match the previous .callout-img styling. */
.accordion .accordion-item .accordion-body .accordion-block__media{border-radius:3px;overflow:hidden}
.accordion .accordion-item .accordion-body .accordion-block__media img{width:100%;height:100%;object-fit:cover;object-position:center}.accordion .accordion-item .accordion-header{border-radius:5px 5px 0 0;background:0 0;border-bottom:0}.accordion .accordion-item .accordion-header button{background:var(--cwb-accent-bg,#000);border-radius:5px 5px 0 0;color:var(--cwb-accent-text,#fff);font-weight:700;border:0;-webkit-box-shadow:none;box-shadow:none;padding:13px 15px;min-height:70px;font-size:20px;line-height:initial}.accordion .accordion-item .accordion-header button:after{border:3px solid var(--cwb-icon-color,#fff);color:var(--cwb-icon-color,#fff);height:44px;width:44px;border-radius:50%;font-weight:700;background:var(--cwb-icon-bg,#000);content:"\f106";font-family:'Font Awesome 5 Free';font-size:20px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.accordion .accordion-item .accordion-header button:not(.collapsed)::after{content:"\f106";font-family:'Font Awesome 5 Free';-webkit-transform:rotate(-180deg);transform:rotate(-180deg)}.accordion .accordion-item .accordion-body{padding-bottom:50px}@media (max-width:767px){.accordion .accordion-item .accordion-body{padding:20px 15px}}.acc__card{margin-bottom:15px;border-bottom:3px solid #6f96b7}.acc__title{cursor:pointer;position:relative;text-align:left;background:#fff;border-radius:5px 5px 0 0;color:#c41f2f;font-weight:700;border:0;padding:0 15px;height:70px;font-size:20px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.acc__title::after{width:44px;height:44px;position:absolute;right:10px;top:17px;-webkit-transition:all .2s ease-in-out;transition:all .2s ease-in-out;content:"\f107";font-family:"Font Awesome 5 Free";border:3px solid;border-radius:50%;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.acc__title.active::after{-webkit-transform:rotate(180deg);transform:rotate(180deg);-webkit-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.acc__panel{background:#fff;color:#212121;display:none;margin:0;padding:2em;text-align:left}.bottom-step{position:relative;background-size:cover;background-repeat:no-repeat;background-position:right}.bottom-step.section--blue:before{background:rgba(0,32,92,.5)}.bottom-step.section--grey:before{background:rgba(240,240,240,.7)}.bottom-step.section--white:before{background:rgba(255,255,255,.7)}.bottom-step:before{content:"";position:absolute;top:0;bottom:0;left:0;right:0}.bottom-step .container,.bottom-step .container-fluid{position:relative}.bottom-step .container .row>div:nth-child(n+4),.bottom-step .container-fluid .row>div:nth-child(n+4){margin-top:15px}@media (max-width:767px){.bottom-step .container .row>div:nth-child(n+4),.bottom-step .container-fluid .row>div:nth-child(n+4){margin-top:0}}.bottom-step .container .row .h5,.bottom-step .container-fluid .row .h5{margin:0}.bottom-step .linkcard{height:100%}.bottom-step .linkcard .card{height:100%}@media (max-width:767px){.bottom-step .linkcard{padding-bottom:15px}}.age-school .link .btn-primary{background:#c41f2f;border-color:#c41f2f}.age-school .link .btn-primary.btn-primary--border{background:0 0;border-color:#6f96b7}@media (max-width:767px){.age-school img{height:100px;background-position:center top}.age-school .btn.h5{font-size:16px;margin-bottom:5px}.age-school .btn.h5:after{display:none}.age-school .row>div.order-3.order-md-2{margin-top:0;margin-bottom:0}.age-school .component{margin-top:0}}.age-school .row .order-2.order-md-1{margin:0}.age-school .row>div.col-lg-3,.age-school .row>div.col-lg-4,.age-school .row>div.col-lg-6,.age-school .row>div.col-lg-8{margin:0}.age-school svg path{fill:#6f96b7}@media (max-width:767px){.age-school svg{height:44px}}.filters{margin:1em 0;padding:0;float:left;width:100%}.filters .filters__item{float:left;width:auto;margin-right:45px;list-style:none}.filters .filters__item a.filter{font-size:14px;color:#10171e;-webkit-transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out}.filters .filters__item a.filter:after{display:block;content:"";border-bottom:solid 4px #c93;-webkit-transform:scaleX(0);transform:scaleX(0);-webkit-transition:-webkit-transform 250ms ease-in-out;transition:-webkit-transform 250ms ease-in-out;transition:transform 250ms ease-in-out;transition:transform 250ms ease-in-out,-webkit-transform 250ms ease-in-out}.filters .filters__item a.filter.active:after,.filters .filters__item a.filter:hover:after{-webkit-transform:scaleX(1);transform:scaleX(1)}.gallery{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;padding:0}.gallery li{list-style:none;width:31.3%;margin:1%;float:left}@media (max-width:767px){.gallery li{width:48%;margin-bottom:30px}}@media (max-width:575px){.gallery li{width:98%;margin-bottom:30px}}.gallery li .card{height:100%}.gallery li .card .component{margin-top:0}.gallery li .card .card-body .btn.btn-link,.gallery li .card .card-body .link .btn.btn-modal,.link .gallery li .card .card-body .btn.btn-modal{font-size:25px;line-height:30px;margin-bottom:10px;margin-top:20px}.is-hidden,.onload-show{display:none}.select-dropdown{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;position:relative;width:100%;height:44px}.select-dropdown.filters .filters__item a.filter:after{border:0}.select-dropdown .option{padding:0 30px 0 10px;min-height:44px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;background:#fff;position:absolute;top:0;width:100%;pointer-events:none;-webkit-box-ordinal-group:3;-ms-flex-order:2;order:2;z-index:1;-webkit-transition:background .4s ease-in-out;transition:background .4s ease-in-out;-webkit-box-sizing:border-box;box-sizing:border-box;overflow:hidden;white-space:nowrap;font-size:14px;font-weight:700;color:#10171e}.select-dropdown .option:hover{background:#f0f0f0}.select-dropdown:focus .option{position:relative;pointer-events:all}.select-dropdown input{opacity:0;position:absolute;left:-99999px}.select-dropdown input:checked+label{-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1;z-index:2;background:#fff;border-top:none;position:relative;padding-left:100px}.select-dropdown input:checked+label:after{content:"\f107";font-family:'Font Awesome 5 Free';position:absolute;right:15px;top:8px;pointer-events:none;z-index:3;font-size:20px}.select-dropdown .option:hover:after{-webkit-transform:rotate(90deg);transform:rotate(90deg)}.select-dropdown input:checked+label:before{position:absolute;right:0;height:44px;width:44px;content:""}.select-dropdown .overlay-txt{position:absolute;z-index:9;color:#333;left:15px;top:7px}.alert{margin:0}.alert .circlebtn{height:44px;width:44px;border:2px solid #fff;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;padding:0;border-radius:50%;color:#fff;opacity:1;font-size:22px;background:0 0;top:50%;-webkit-transform:translate(-34%,-50%);transform:translate(-34%,-50%)}.alert .circlebtn:after{content:"\f00d";font-family:'Font Awesome 5 Free'}.alert .link .btn-link,.alert .link .btn-modal,.alert.white--alert{color:#fff}.fixed-alert{position:fixed;top:0;left:0;right:0;z-index:9999}.cookie-policy{position:fixed;bottom:0;left:0;right:0;padding:10px 15px;z-index:9999}.cookie-policy .alert{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.cookie-policy .alert p{font-size:12px;width:80%}.cookie-policy .alert .cookie-btn{color:#fff;background:#c41f2f;min-width:130px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;font-size:16px;position:relative;opacity:1}@media (max-width:767px){.cookie-policy .alert{display:block;padding:15px}.cookie-policy .alert p{width:100%;margin-bottom:15px}.cookie-policy .alert .cookie-btn{width:100%;padding:20px 0}}footer{color:#fff;position:relative;background-size:auto;background-repeat:no-repeat;background-position:right;background-color:#727271}footer .container,footer .container-fluid{position:relative}footer .component h6{color:#fff;font-weight:300}footer .footer-list ul{list-style:none;padding:0;margin:0}footer .footer-list ul a{color:#fff;font-size:16px}footer .social-icons{padding:0}footer .social-icons a{color:#fff}footer .copyright{text-align:right}@media (max-width:767px){footer .copyright{text-align:left;margin-top:20px}footer .copyright p{text-align:left}}footer.bottom--footer,footer.bottom-bar{background:#10171e;padding:40px 0}@media (max-width:767px){footer.bottom--footer,footer.bottom-bar{text-align:center}}@media (max-width:767px){footer.bottom--footer img,footer.bottom-bar img{max-width:200px;margin-top:20px}}footer.bottom--footer.section>.container-fluid>.row>div,footer.bottom--footer.section>.container>.row>div,footer.bottom-bar.section>.container-fluid>.row>div,footer.bottom-bar.section>.container>.row>div{margin-bottom:0}footer.bottom--footer:before,footer.bottom-bar:before{display:none}.triangle:after{content:"";height:0;width:0;border-left:12px solid transparent;border-right:12px solid transparent;border-top:20px solid #fff;position:absolute;bottom:-20px;left:25px}.triangle.card{margin-top:20px}.triangle.card:first-child{margin-top:0}@media (max-width:767px){.triangle.card .card-body>.component>.link>.btn{float:right;margin-top:15px}}@media (max-width:767px){.triangle.card .h6{font-size:25px}}.easy-step-title{font-size:70px;font-weight:700;line-height:70px}@media (max-width:767px){.easy-step-title{font-size:25px;line-height:30px}}.section--blue{color: #fff;}

/* Post-legacy header CTA normalization */
.header-btns #mid-menu {
    display: flex;
    flex-direction: row;
    justify-content: flex-end;
    gap: 15px;
    margin: 0;
    padding: 0;
}

.header-btns #mid-menu > li {
    flex: 0 0 auto !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none;
    text-align: center;
    background: none !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    filter: none !important;
}

.header-btns #mid-menu > li > a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 100px;
    min-height: 47px;
    height: 47px;
    padding: 7px 15px !important;
    border: 0;
    border-radius: 3px;
    line-height: 1.2;
    text-align: center;
    text-decoration: none;
    filter: none;
}

.header-btns #mid-menu > li > a::after,
.header-btns #mid-menu > li > a:hover::after,
.header-btns #mid-menu > li > a:focus::after {
    display: none;
}

@media screen and (max-width: 991px) {
    .header-btns #mid-menu {
        gap: 7px;
    }

    .header-btns #mid-menu > li > a {
        min-width: 0;
        min-height: 44px;
        height: 44px;
        padding: 7px 10px !important;
        font-size: 14px;
    }
}

/* Post-legacy sticky main-nav CTA normalization */
.header {
    box-shadow: 0 5px 10px rgba(0, 0, 0, .2);
}

.header .navigation-bar,
.header.header.darkHeader .navigation-bar {
    padding: 0 !important;
    box-shadow: none !important;
}

.header.header.darkHeader .navigation-bar {
    box-shadow: 0 5px 10px rgba(0, 0, 0, .2) !important;
}

@media screen and (min-width: 992px) {
    .navigation-bar .nav-col .ubermenu-main {
        width: 100%;
    }

    .navigation-bar .nav-col .ubermenu-main .ubermenu-nav {
        display: flex;
        align-items: stretch;
        justify-content: space-between;
        width: 100%;
    }

    .navigation-bar .nav-col .ubermenu-main .ubermenu-nav > .ubermenu-item-level-0 {
        flex: 1 1 auto;
        text-align: center;
    }

    .navigation-bar .nav-col .ubermenu-main .ubermenu-nav > .ubermenu-item-level-0 > .ubermenu-target {
        min-height: 54px;
        padding-bottom: 15px !important;
        padding-top: 15px !important;
        text-align: center;
    }
}

.navigation-bar .nav-col nav > ul > li.sticky-contact-menu-item {
    display: none !important;
    margin: 0 !important;
    padding: 0 !important;
    width: auto !important;
}

.navigation-bar .nav-col nav > ul > li:has(> a.contact-btn) {
    display: none !important;
    margin: 0 !important;
    padding: 0 !important;
    width: auto !important;
}

.header.header.darkHeader .navigation-bar .nav-col nav > ul > li.sticky-contact-menu-item {
    display: flex !important;
    align-items: center;
    flex: 0 0 auto;
}

.header.header.darkHeader .navigation-bar .nav-col nav > ul > li:has(> a.contact-btn) {
    display: flex !important;
    align-items: center;
    flex: 0 0 auto;
}

.header.header.darkHeader .navigation-bar a.ubermenu-target.ubermenu-item-layout-default.ubermenu-item-layout-text_only.contact-btn {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    min-width: 100px;
    min-height: 42px;
    height: 42px;
    margin: 0 !important;
    padding: 7px 15px !important;
    border: 0 !important;
    border-radius: 3px;
    line-height: 1.2;
    text-align: center;
    text-decoration: none;
    filter: none;
}

.header.header.darkHeader .navigation-bar a.ubermenu-target.ubermenu-item-layout-default.ubermenu-item-layout-text_only.contact-btn::after,
.header.header.darkHeader .navigation-bar a.ubermenu-target.ubermenu-item-layout-default.ubermenu-item-layout-text_only.contact-btn:hover::after,
.header.header.darkHeader .navigation-bar a.ubermenu-target.ubermenu-item-layout-default.ubermenu-item-layout-text_only.contact-btn:focus::after {
    display: none;
}

.header.header.darkHeader .navigation-bar a.ubermenu-target.ubermenu-item-layout-default.ubermenu-item-layout-text_only.contact-btn:hover,
.header.header.darkHeader .navigation-bar a.ubermenu-target.ubermenu-item-layout-default.ubermenu-item-layout-text_only.contact-btn:focus {
    border: 0 !important;
}

/* ==========================================================================
   Header responsive normalization

   This is the authoritative post-legacy layer for header breakpoints.
   Older header, UberMenu, and ShiftNav rules remain above for compatibility;
   shared responsive behaviour should be added here first, then old rules can
   be removed in smaller QA-backed passes.
   ========================================================================== */

:root {
    --kyubi-admin-bar-height: 0px;
    --kyubi-mobile-header-height: 75px;
    --kyubi-mobile-header-toggle-offset: 11px;
}

body.admin-bar {
    --kyubi-admin-bar-height: var(--wp-admin--admin-bar--height, 32px);
}

@media screen and (max-width: 782px) {
    body.admin-bar {
        --kyubi-admin-bar-height: var(--wp-admin--admin-bar--height, 46px);
    }
}

@media screen and (min-width: 992px) {
    .header div#navbarMain {
        display: block !important;
    }

    .header .header-phone {
        text-align: right;
    }

    .header .header-phone a {
        white-space: nowrap;
    }

    .header .header-btns #mid-menu {
        flex-wrap: nowrap;
    }

    .header .navigation-bar {
        display: block;
    }

    #shiftnav-toggle-main,
    div#shiftnav-main {
        display: none !important;
    }

    body.admin-bar .header.header.darkHeader .navigation-bar {
        top: var(--kyubi-admin-bar-height) !important;
    }
}

@media screen and (min-width: 992px) and (max-width: 1199px) {
    .header .header-btns #mid-menu {
        gap: 8px;
    }

    .header .header-btns #mid-menu > li > a {
        min-width: 86px;
        padding-right: 12px !important;
        padding-left: 12px !important;
    }
}

@media screen and (max-width: 991px) {
    header.header.header-layout-standard,
    header.header.header-layout-overlay {
        position: relative;
        background: var(--kyubi-header-bg-color, rgba(16, 23, 30, .6)) !important;
    }

    .header .header-phone,
    .header .navigation-bar {
        display: none !important;
    }

    .header.header.darkHeader {
        position: fixed;
        right: 0;
        left: 0;
        top: var(--kyubi-admin-bar-height);
        background: var(--kyubi-header-bg-color, rgba(16, 23, 30, .6)) !important;
    }

    body.darkHeader-down .header.header.darkHeader + #content {
        padding-top: var(--kyubi-compact-header-height, var(--kyubi-mobile-header-height));
    }

    .header .mobile-fluid {
        display: block;
    }

    .header .mobile-fluid > .row {
        flex-wrap: nowrap;
    }

    .header .mobile-fluid > .row > .main-logo {
        display: block !important;
        flex: 1 1 auto;
        width: auto;
        max-width: none;
        margin-bottom: 0 !important;
        opacity: 1;
        visibility: visible;
        transition: opacity .18s ease;
        overflow: hidden;
    }

    .header .header-btns {
        display: flex !important;
        flex: 0 1 0;
        width: 0;
        max-width: 0;
        margin: 0 !important;
        padding-right: 0;
        padding-left: 0;
        opacity: 0;
        visibility: hidden;
        transition: opacity .18s ease;
        overflow: hidden;
    }

    .header .header-mobile-toggle-wrap {
        align-items: center;
        flex: 0 0 60px;
        width: 60px;
        max-width: 60px;
        margin-bottom: 0 !important;
    }

    .header .header-mobile-toggle {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 44px;
        min-width: 44px;
        height: 44px;
        flex: 0 0 44px;
        padding: 0;
        border: 3px solid currentColor;
        border-radius: 3px;
        background: transparent;
        color: #fff;
        font-size: 0;
        line-height: 1;
        text-decoration: none;
    }

    .header .header-mobile-toggle i {
        font-size: 25px;
        line-height: 1;
    }

    .header .header-mobile-toggle i::before {
        content: "\f0c9";
        font-family: "Font Awesome 5 Free";
        font-weight: 900;
    }

    body.shiftnav-open .header .header-mobile-toggle i::before {
        content: "\f00d";
    }

    @media (prefers-reduced-motion: reduce) {
        .header .mobile-fluid > .row > .main-logo,
        .header .header-btns {
            transition: none;
        }
    }

    .header .logo-img img,
    .header .header-logo {
        width: auto;
        max-height: 60px !important;
        padding: 10px 0;
    }

    #shiftnav-toggle-main {
        display: none !important;
    }

    div#shiftnav-main {
        right: 0;
        left: 0;
        top: calc(var(--kyubi-admin-bar-height) + var(--kyubi-mobile-header-height));
        width: auto;
        max-width: none;
        height: calc(100vh - var(--kyubi-admin-bar-height) - var(--kyubi-mobile-header-height)) !important;
        max-height: calc(100vh - var(--kyubi-admin-bar-height) - var(--kyubi-mobile-header-height)) !important;
        overflow-x: hidden;
        -webkit-transform: translateX(100%);
        transform: translateX(100%);
    }

    div#shiftnav-main .shiftnav-inner,
    div#shiftnav-main .shiftnav-nav,
    div#shiftnav-main .shiftnav-menu,
    div#shiftnav-main .menu-item,
    div#shiftnav-main .shiftnav-target {
        max-width: 100%;
    }

    body.darkHeader-down div#shiftnav-main {
        top: calc(var(--kyubi-admin-bar-height) + var(--kyubi-mobile-header-height)) !important;
    }

    body.shiftnav-open div#shiftnav-main.shiftnav-open-target,
    body.shiftnav-transitioning div#shiftnav-main.shiftnav-open-target {
        -webkit-transform: translateX(0);
        transform: translateX(0);
    }

    body.darkHeader-down .header.header.darkHeader .mobile-fluid > .row > .main-logo {
        flex: 0 1 0;
        width: 0;
        max-width: 0;
        opacity: 0;
        visibility: hidden;
    }

    body.darkHeader-down .header.header.darkHeader .header-btns {
        flex: 1 1 auto;
        width: auto;
        max-width: none;
        opacity: 1;
        visibility: visible;
    }

    body.darkHeader-down .header.header.darkHeader .header-mobile-toggle-wrap {
        flex-basis: 60px;
        width: 60px;
        max-width: 60px;
    }

    body.darkHeader-down .header.header.darkHeader .header-btns #mid-menu {
        width: 100%;
    }

    body.darkHeader-down .header.header.darkHeader .header-btns > div {
        display: block !important;
        width: 100%;
    }

    body.darkHeader-down .header.header.darkHeader .header-btns #mid-menu > li {
        flex: 1 1 0 !important;
    }

    body.darkHeader-down .header.header.darkHeader .header-btns #mid-menu > li > a {
        width: 100%;
    }

    body.darkHeader-down #header_remind_popup {
        display: none !important;
    }
}

@media screen and (max-width: 767px) {
    :root {
        --kyubi-mobile-header-height: 75px;
        --kyubi-mobile-header-toggle-offset: 11px;
    }
}

/* Post-legacy search layout overrides */
.search-results-page > .section > .container-fluid {
    max-width: 960px;
    margin-right: auto;
    margin-left: auto;
}

.search-results-page .no-results.search-no-results {
    width: 100%;
    max-width: none;
}

.search-results-page .no-results.search-no-results .page-title {
    margin-bottom: 12px;
    font-size: 24px;
    line-height: 1.2;
    font-weight: 700;
}

/* Prevent legacy off-canvas elements from creating page-level horizontal scroll.
 *
 * Deliberately not on `html`. `overflow-x: hidden` there forces `overflow-y` to
 * compute to `auto`, which makes the root element the scroll container and keeps
 * the page scrollbar attached to it. Bootstrap's modal then hides `body`'s
 * overflow and adds a matching `padding-right` to make up for a scrollbar it
 * expects to disappear - but it does not disappear, because it belongs to
 * `html`, so the page simply lost 15px and everything shifted left.
 *
 * With `html` left alone, the viewport takes its overflow from `body` instead,
 * horizontal overflow is still clipped, and hiding `body`'s overflow really does
 * remove the scrollbar - so the compensation nets out to nothing.
 */
html {
    max-width: 100%;
}

body,
#page {
    max-width: 100%;
    overflow-x: hidden;
}

/* Post-legacy Gravity Forms multi-step button baseline.
 * Button colours are supplied by the active Redux colour profile. */
.gform_wrapper:not(.combined-form .gform_wrapper) .gform_page_footer,
.gform_wrapper:not(.combined-form .gform_wrapper) .gform-page-footer {
    display: flex !important;
    position: relative;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    width: 100%;
    margin-top: 24px;
    padding-top: 24px;
}

.gform_wrapper:not(.combined-form .gform_wrapper) .gform_previous_button,
.gform_wrapper:not(.combined-form .gform_wrapper) .gform_next_button,
.gform_wrapper:not(.combined-form .gform_wrapper) .gform_button.button {
    display: inline-flex !important;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    min-width: 120px;
    height: 44px;
    min-height: 44px;
    margin: 0;
    padding: 0 48px;
    /* Width and style only, deliberately not the colour. The border exists so a
       solid button and an outlined one next to it come out the same height; it
       is not meant to be seen on the solid ones. The colour belongs to the
       Redux profile rules, which set border-color to the button's own
       background for Next and Submit and to the outline colour for Previous -
       but this selector outranks them, so `currentColor` here overrode both and
       drew a 2px ring in the button's text colour. Left unset, those rules
       apply, and a profile that sets no button colours still falls back to
       currentColor, which is what border-color initialises to. */
    border-width: 2px;
    border-style: solid;
    border-radius: 4px;
    box-sizing: border-box;
    box-shadow: none;
    font-size: 16px;
    font-weight: 700;
    line-height: 1.2;
    text-align: center;
    text-decoration: none;
    cursor: pointer;
    transition: background-color .15s ease-in-out, border-color .15s ease-in-out, color .15s ease-in-out;
}

.gform_wrapper:not(.combined-form .gform_wrapper) .gform_previous_button.is-loading,
.gform_wrapper:not(.combined-form .gform_wrapper) .gform_next_button.is-loading,
.gform_wrapper:not(.combined-form .gform_wrapper) .gform_button.button.is-loading {
    pointer-events: none;
    cursor: progress;
}

.gform_wrapper:not(.combined-form .gform_wrapper) .gform_previous_button {
    border-width: 3px;
    background-color: transparent;
}

.gform_wrapper:not(.combined-form .gform_wrapper) .gform_next_button,
.gform_wrapper:not(.combined-form .gform_wrapper) .gform_button.button {
    margin-left: auto;
}

.gform_wrapper:not(.combined-form .gform_wrapper) .gform_previous_button:hover,
.gform_wrapper:not(.combined-form .gform_wrapper) .gform_previous_button:focus {
    background-color: transparent;
}

.gform_wrapper:not(.combined-form .gform_wrapper) .gform_next_button:hover,
.gform_wrapper:not(.combined-form .gform_wrapper) .gform_next_button:focus,
.gform_wrapper:not(.combined-form .gform_wrapper) .gform_button.button:hover,
.gform_wrapper:not(.combined-form .gform_wrapper) .gform_button.button:focus {
}

.gform_wrapper:not(.combined-form .gform_wrapper) .gform_previous_button:focus-visible,
.gform_wrapper:not(.combined-form .gform_wrapper) .gform_next_button:focus-visible,
.gform_wrapper:not(.combined-form .gform_wrapper) .gform_button.button:focus-visible {
    outline: 2px solid #1e90ff;
    outline-offset: 2px;
}

.gform_wrapper:not(.combined-form .gform_wrapper) .gform-button-spinner {
    position: absolute;
    top: 50%;
    right: auto;
    display: block;
    width: 18px;
    height: 18px;
    margin: 0;
    border: 2px solid currentColor;
    border-top-color: transparent;
    border-radius: 50%;
    color: inherit;
    filter: drop-shadow(0 0 1px #fff) drop-shadow(0 0 1px rgba(16, 23, 30, .45));
    transform: translateY(-50%);
    animation: kyubi-gform-button-spinner .75s linear infinite;
}

@keyframes kyubi-gform-button-spinner {
    to {
        transform: translateY(-50%) rotate(360deg);
    }
}

@media (prefers-reduced-motion: reduce) {
    .gform_wrapper:not(.combined-form .gform_wrapper) .gform-button-spinner {
        animation: none;
        border-top-color: currentColor;
        opacity: .45;
    }
}

.gform_wrapper:not(.combined-form .gform_wrapper) .gform_page_footer .gform_ajax_spinner,
.gform_wrapper:not(.combined-form .gform_wrapper) .gform-page-footer .gform_ajax_spinner,
.gform_wrapper:not(.combined-form .gform_wrapper) .gform_page_footer .gform-loader,
.gform_wrapper:not(.combined-form .gform_wrapper) .gform-page-footer .gform-loader,
.gform_wrapper:not(.combined-form .gform_wrapper) .gform_page_footer img.form__spinner,
.gform_wrapper:not(.combined-form .gform_wrapper) .gform-page-footer img.form__spinner {
    display: none;
}

/* Override Gravity Forms' legacy small-screen control and footer layout rules. */
@media only screen and (max-width: 641px) {
    .gform_wrapper.gform_legacy_markup_wrapper input:not([type="radio"]):not([type="checkbox"]):not([type="image"]):not([type="file"]):not([type="button"]):not([type="submit"]),
    .gform_wrapper.gform_legacy_markup_wrapper select {
        min-height: 52px !important;
        line-height: 1.2 !important;
    }

    .gform_wrapper:not(.combined-form .gform_wrapper) .gform_page_footer,
    .gform_wrapper:not(.combined-form .gform_wrapper) .gform-page-footer {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
        align-items: center;
        gap: 16px;
    }

    .gform_wrapper:not(.combined-form .gform_wrapper) .gform_page_footer > .gform_previous_button,
    .gform_wrapper:not(.combined-form .gform_wrapper) .gform-page-footer > .gform_previous_button {
        grid-column: 1;
        justify-self: start;
    }

    .gform_wrapper:not(.combined-form .gform_wrapper) .gform_page_footer > .gform_next_button,
    .gform_wrapper:not(.combined-form .gform_wrapper) .gform-page-footer > .gform_next_button,
    .gform_wrapper:not(.combined-form .gform_wrapper) .gform_page_footer > .gform_button.button,
    .gform_wrapper:not(.combined-form .gform_wrapper) .gform-page-footer > .gform_button.button {
        grid-column: 2;
        justify-self: end;
        margin-left: 0;
    }

    .gform_wrapper:not(.combined-form .gform_wrapper) .gform_previous_button,
    .gform_wrapper:not(.combined-form .gform_wrapper) .gform_next_button,
    .gform_wrapper:not(.combined-form .gform_wrapper) .gform_button.button {
        width: auto !important;
        max-width: 100%;
        height: 44px !important;
        min-height: 44px !important;
        line-height: 1.2 !important;
    }

    .gform_wrapper:not(.combined-form .gform_wrapper) .gform_previous_button {
        margin-bottom: 0 !important;
    }
}

/* A compact mobile form footer needs full-width, stacked actions. */
@media only screen and (max-width: 480px) {
    .gform_wrapper:not(.combined-form .gform_wrapper) .gform_page_footer,
    .gform_wrapper:not(.combined-form .gform_wrapper) .gform-page-footer {
        grid-template-columns: minmax(0, 1fr);
        row-gap: 12px;
    }

    .gform_wrapper:not(.combined-form .gform_wrapper) .gform_page_footer > .gform_previous_button,
    .gform_wrapper:not(.combined-form .gform_wrapper) .gform-page-footer > .gform_previous_button,
    .gform_wrapper:not(.combined-form .gform_wrapper) .gform_page_footer > .gform_next_button,
    .gform_wrapper:not(.combined-form .gform_wrapper) .gform-page-footer > .gform_next_button,
    .gform_wrapper:not(.combined-form .gform_wrapper) .gform_page_footer > .gform_button.button,
    .gform_wrapper:not(.combined-form .gform_wrapper) .gform-page-footer > .gform_button.button,
    .gform_wrapper:not(.combined-form .gform_wrapper) .gform_previous_button,
    .gform_wrapper:not(.combined-form .gform_wrapper) .gform_next_button,
    .gform_wrapper:not(.combined-form .gform_wrapper) .gform_button.button {
        grid-column: 1;
        justify-self: stretch;
        width: 100% !important;
        max-width: none;
        margin-left: 0;
    }
}

footer.has-footer-background-image::before {
    background: rgba(var(--cognita-footer-overlay-rgb, 114, 114, 113), 0.9);
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    content: "";
}

.site-footer.has-footer-accreditation {
    padding-top: 0;
}

.footer-accreditation-logo {
    text-align: center;
}

/* ==========================================================================
   Typography token layer (Phase 3)
   Consumes the CSS custom properties emitted in wp_head by
   inc/core-functions/typography-tokens.php. Appended last so this shared,
   token-driven scale wins — by source order at equal specificity — over the
   legacy hand-authored and minified-block heading rules above. Intentional
   contextual component sizes (e.g. .fee-table th h6, .number-list li h6,
   .easysteps .card h5) are higher specificity and are deliberately left to win.
   The competing legacy base-scale heading rules have been removed; component
   and single-post/news heading scales remain out of scope for this layer.
   ========================================================================== */

h1, .h1 { font-family: var(--font-family-heading); font-weight: var(--font-weight-regular); font-size: var(--h1-size); line-height: var(--heading-line-height); margin-bottom: var(--heading-margin-bottom); }
h2, .h2 { font-family: var(--font-family-heading); font-weight: var(--font-weight-regular); font-size: var(--h2-size); line-height: var(--heading-line-height); margin-bottom: var(--heading-margin-bottom); }
h3, .h3 { font-family: var(--font-family-heading); font-weight: var(--font-weight-regular); font-size: var(--h3-size); line-height: var(--heading-line-height); margin-bottom: var(--heading-margin-bottom); }
h4, .h4 { font-family: var(--font-family-heading); font-weight: var(--font-weight-regular); font-size: var(--h4-size); line-height: var(--heading-line-height); margin-bottom: var(--heading-margin-bottom); }
h5, .h5 { font-family: var(--font-family-heading); font-weight: var(--font-weight-regular); font-size: var(--h5-size); line-height: var(--heading-line-height); margin-bottom: var(--heading-margin-bottom); }
h6, .h6 { font-family: var(--font-family-heading); font-weight: var(--font-weight-regular); font-size: var(--h6-size); line-height: var(--heading-line-height); margin-bottom: var(--heading-margin-bottom); }

/* Hero / display title — layered on top of the base H1 (D2). */
/*
 * Hero title size scales fluidly between mobile and the configured desktop
 * value, instead of using the desktop value unchanged at every width (far too
 * large on a phone) or a fixed pixel override at one specific breakpoint (the
 * .hero .overlay .display-h1{font-size:45px} rule this replaces, which only
 * ever applied in a narrow 991–1100px band and ignored the configured size).
 *
 * clamp(min, preferred, max) picks the middle value once it falls between the
 * other two, so this needs no breakpoints or extra Global Options fields:
 *   - max is the exact configured Hero/Compact Hero Title Size, so desktop is
 *     completely unaffected — the preferred value exceeds it well before
 *     typical desktop widths, and clamp() holds at max from that point on.
 *   - preferred (8vw) is what actually drives the scaling on anything
 *     narrower — 8% of the viewport width — so it shrinks continuously with
 *     the screen instead of jumping between fixed sizes at breakpoints.
 *   - min (45% of the configured size) stops it shrinking indefinitely on the
 *     narrowest phones; it scales with whatever the desktop value is set to,
 *     rather than being a fixed floor unrelated to it.
 */
.display-h1 { font-family: var(--font-family-heading); font-weight: var(--font-weight-regular); font-size: clamp(calc(var(--display-h1-size) * .45), 8vw, var(--display-h1-size)); line-height: var(--heading-line-height); }
.small-header h1.display-h1 { font-size: clamp(calc(var(--display-h1-size-compact) * .45), 8vw, var(--display-h1-size-compact)); }

/* Extra-large selectable title tier (D3) — responsive ladder preserved. */
.extra-display-h1 { font-size: var(--extra-display-h1-size); }
@media (max-width: 767px) { .extra-display-h1 { font-size: var(--extra-display-h1-size-md); } }
@media (max-width: 420px) { .extra-display-h1 { font-size: var(--extra-display-h1-size-sm); } }

/* Contextual heading variants (D4) — default to their base level, tunable later. */
h2.block-title { font-size: var(--h2-block-title-size); }
.page-content h3.secondary, .side-bar h3.secondary { font-size: var(--h3-secondary-size); }
h4 a { font-size: var(--h4-link-size); }

/* Body line-height only. Body font-family/size/weight remain on the legacy
   Redux "body, p" output for now (full body tokenisation is a later pass) —
   this single property is token-driven because the Body Line Height Redux
   sub-field was converted from a px value coupled to font-size into a
   dedicated unitless ratio field, and Redux's own compiler does not skip
   emitting a property just because its input is hidden. */
body, p, .p { line-height: var(--body-line-height); }

/* Video Content — the Video Thumbnail Image Ratio field.
 *
 * The thumbnail sits in a Bootstrap .ratio box, which takes its height from a
 * ::before with padding-top set from --bs-aspect-ratio. The same element also
 * carries .callout--video and .center--content, and those set an outright
 * height — 400px, 170px under 768px — which wins over a height derived from
 * content. So the field was inert: every choice rendered the same 400px box,
 * and the thumbnail was cropped to whatever shape that left.
 *
 *     before   ratio-16x9 on a 732px column   box 732x400   the ratio wanted 412
 *
 * The two classes stay, because the play overlay and its circled icon are
 * styled as their descendants. Only the height they impose is given back. */
.cwb-video.callout--video.center--content { height: auto; }

/* Video Content — the caption sits with the video, inside its column.
 *
 * It used to be written into a row of its own after the two column row, which
 * put it below whichever column was taller rather than below the video. Where
 * the right column ran past the video the caption was left stranded — 61px
 * clear of it on Southbank's Our Community.
 *
 * A <figure> brings margin-bottom: 1rem with it. The old markup cancelled that
 * with Bootstrap's mb-0; the class went with the row, so it is set here. */
.cwb-video-caption { margin-bottom: 0; }

/* Video Content — the right column is a white card by default.
 *
 * It used to get its white from `section--white`, which the element added
 * whenever no colour profile applied. That class was doing two jobs at once:
 * painting the background and hardcoding the text colour, and its partner
 * `section--blue` forced `color:#fff` for every profile — so a light profile
 * produced white text on a pale background.
 *
 * The colour profile is applied properly now, as an inline background with a
 * text colour worked out from it, and an inline declaration beats this rule.
 * A profile with no background colour configured falls back to this white,
 * which is what the old code did too. */
.video-content-sec { background-color: #fff; }

/* Card Slider — the arrows and dots follow the Icon colours.
 *
 * The element used to offer three colour pickers, one for the arrows and two
 * for the dots, each writing an !important rule into the middle of the page.
 * The arrows are now the same circular, bordered control the Flexible Content
 * and Image Slider sliders use, which `cognita_wpbakery_slider_arrow_styles()`
 * already paints from Icon Background and Icon Colour in Global Options.
 *
 * slick-slider--with-icon parks its arrows 55px outside the slider, which suits
 * a full-width image slider and would hang them off the edge of a card row —
 * they sit just inside here instead. */
.card-items-slider .slick-arrow {
    position: absolute;
    top: calc(50% - 25px);
    z-index: 99;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 50px;
    height: 50px;
    padding: 0;
    border: 2px solid #10171e;
    border-radius: 50%;
    background: #fff;
    font-size: 30px;
    line-height: 1;
    cursor: pointer;
}
.card-items-slider .slick-arrow.slick-prev { left: 0; transform: rotate(180deg); }
.card-items-slider .slick-arrow.slick-next { right: 0; transform: rotate(180deg); }

/* Room for the arrows to sit beside the cards rather than on top of them.
 *
 * The other sliders park theirs 55px outside, which works because their content
 * does not reach the edge of the row. A card row does, so the space is made
 * inside the row and the arrows occupy it. Only where the arrows are shown -
 * below 768px they are hidden and the cards use the full width. */
@media (min-width: 768px) {
    .card-items-slider { padding-left: 60px; padding-right: 60px; }
}

/* The rule under a section label sits at the left of the label, not the middle.
 *
 * `.centerText .title .body-small::after` re-centres it with `right:0;margin:auto`,
 * and scores the same as the shared label rule, so whichever came later in the
 * stylesheet won - which was the centring one. Full Width Text already carried a
 * copy of this fix scoped to itself; this is the same fix for every element that
 * uses the shared section heading, by naming the class the label already has. */
.cwb-section-heading .cwb-section-label.title .body-small::after { left: 0; right: auto; margin: 0; }

/* Dots take the accent colour rather than a hardcoded black. */
.card-items-slider .slick-dots li button:before { color: var(--cwb-accent-bg, #10171e); opacity: .35; }
.card-items-slider .slick-dots li.slick-active button:before { color: var(--cwb-accent-bg, #10171e); opacity: 1; }

/* image_only cards keep the rounded bottom the card body would otherwise give
   them. This was a bare `.card-img-top` rule written into the page, unscoped,
   so it rounded every card image on the page and not just this slider's.
   Cards - Columns is the same cards without the carousel and takes the same
   rule. */
.card-items-slider .card-img-top--only .card-img-top,
.cwb-cards .card-img-top--only .card-img-top {
    border-bottom-left-radius: calc(.25rem - 1px);
    border-bottom-right-radius: calc(.25rem - 1px);
}

/* The Thumbnail Card's title follows the section's Text Link Colour.
 *
 * `.card.horizontal--card .component a` hardcodes #6f96b7 and, at three
 * classes to their two, outweighs the per-profile link rules Global Options
 * writes - so the title stayed that blue whatever the profile said. Naming the
 * anchor's own class outweighs it in turn, and --cwb-link carries the profile's
 * colour, falling back to the hardcoded value so nothing moves where no link
 * colour is set. The other seven elements sharing `.horizontal--card` keep the
 * rule they have. */
.card.horizontal--card .component a.cwb-card-link{color:var(--cwb-link,#6f96b7)}
.card.horizontal--card .component a.cwb-card-link:hover{color:var(--cwb-link-hover,#6f96b7)}

/* The gap between Content Grid cards when they wrap onto another row.
 *
 * This was `mb-3` on each card, which is the right gap between rows but also
 * sits under the last row, leaving 16px of empty space under the whole grid.
 * `row-gap` is only applied between wrapped flex lines, so the spacing between
 * rows is identical and there is nothing trailing. 1rem to match the mb-3 it
 * replaces. */
.cwb-grid-row{row-gap:1rem}

/* Content Grid images render as a real <img> inside the box rather than as a
   CSS background, so they carry alt text, a srcset and lazy loading. object-fit
   takes over from the background-size: cover the background version relied on,
   and object-position stands in for background-position, so the Image Position
   field keeps working exactly as it did.

   Scoped to .cwb-grid-image, which only this element emits. `.halfcol--img`
   looks like the class to use, but Flexible Content paints the same
   `.callout-img.halfcol--img` box, so naming it would restyle that element's
   images too. */
.cwb-grid-image>img{width:100%;height:100%;object-fit:cover;object-position:center;display:block;border-radius:inherit}

/* A chosen shape outweighs the theme's fixed height.
 *
 * The box carries both a Bootstrap ratio class and `min-height`, and between
 * roughly 576px and 767px the min-height was the larger of the two and won - a
 * 16:9 image measured 1.21 at a 600px viewport instead of 1.78. The height only
 * comes from the min-height when no shape was chosen, which is what the empty
 * choice in that field means. */
.cwb-grid-image[class*="ratio-"]{min-height:0}

/* A card image cropped to a chosen shape.
 *
 * Only present when the editor picked one - without .ratio the image keeps its
 * own proportions, which is what every card had before the field existed.
 *
 * Bootstrap's .ratio>* already positions the image and stretches it to fill the
 * box, which would distort it; object-fit crops it instead, the same way
 * .cwb-image>img does for Flexible Content. */
.cwb-thumbnail__img.ratio>img{width:100%;height:100%;object-fit:cover;object-position:center;display:block}

/* Five across on a desktop.
 *
 * Bootstrap has no column class for a fifth, because 12 does not divide by
 * five, and `row-cols-lg-5` scores the same as the `col-md-6` already on each
 * card - so which of the two won would be decided by their order inside
 * bootstrap.min.css rather than by intent. The card keeps `col-12 col-md-6`
 * for phone and tablet and takes its desktop width from here, where this
 * stylesheet's later source order settles it.
 *
 * Two to four across need nothing: those are col-lg-6, col-lg-4 and col-lg-3. */
@media (min-width: 992px) {
    .cwb-cards.cwb-cards--5 > .col-md-6 { flex: 0 0 auto; width: 20%; }
}

/* Flexible Content - Card =================================================
 *
 * An image beside a small stack of text and buttons. Seven other elements
 * share `.horizontal--card`, so everything here names `.cwb-flex-card` and
 * reaches this element alone. */

/* The image fills the card.
 *
 * `.card.horizontal--card.img--100 img` sets height:140px, so a card whose
 * text ran past that was left with a 140px image and white space beneath it -
 * 210px and 201px cards with a 140px image on the test page. Four classes
 * outscore that rule without needing !important.
 *
 * The image comes out of the flow so the text decides the card's height, and
 * min-height keeps the 140px floor it has always had when the text is the
 * shorter of the two. */
.card.horizontal--card.cwb-flex-card .cwb-flex-card__media {
    position: relative;
    min-height: 140px;
    height: 100%;
    /* The card's own corners, on the two the image sits against. Other cards
     * get these from `rounded-start` on the <img>, which cannot work here: the
     * image is positioned to fill a box it no longer sizes, so the corners
     * belong to the box and are clipped rather than drawn on the image. The
     * radius is read from the card rather than repeated, so the two cannot
     * drift apart. */
    overflow: hidden;
    border-radius: var(--bs-card-border-radius, 6px) 0 0 var(--bs-card-border-radius, 6px);
}

/* An image with no text beside it is the whole card, so it takes all four. */
.card.horizontal--card.cwb-flex-card .cwb-flex-card__media--full {
    border-radius: var(--bs-card-border-radius, 6px);
}

.card.horizontal--card.cwb-flex-card.img--100 .cwb-flex-card__media > img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

/* Stacked below Bootstrap's `sm`, image on top, the way every other card
 * behaves. With the image absolutely positioned the box has no height of its
 * own once there is no longer a neighbour stretching it, so it is given a
 * shape. Above this width the two halves keep the proportions they have always
 * had, so nothing else needs a breakpoint. */
@media (max-width: 575.98px) {
    .card.horizontal--card.cwb-flex-card .cwb-flex-card__media {
        min-height: 0;
        aspect-ratio: 16 / 9;
        /* Stacked, so the rounded pair moves from the left to the top. */
        border-radius: var(--bs-card-border-radius, 6px) var(--bs-card-border-radius, 6px) 0 0;
    }

    .card.horizontal--card.cwb-flex-card .cwb-flex-card__media--full {
        border-radius: var(--bs-card-border-radius, 6px);
    }
}

/* The body used to sit in a `.col-7`, which is what
 * `.card.horizontal--card .col-7 .card-body` styled. It is `col-sm-7` now that
 * the two halves stack, so the rule is re-hung on the body's own class. */
.card.horizontal--card.cwb-flex-card .cwb-flex-card__body {
    display: flex;
    justify-content: space-between;
    flex-direction: column;
    /* Bootstrap's own card padding, the 16px every other card element gets.
     * `.card.horizontal--card.img--100 .card-body` sets 10px, and 15px below
     * 768px, which left the text almost against the image. That rule scores
     * the same four classes as this one, so source order settles it - and it
     * is shared with the Thumbnail Card, which keeps its 10px. */
    padding: var(--bs-card-spacer-y) var(--bs-card-spacer-x);
}

/* Flexible Content - Rating ===============================================
 *
 * This block has never had a rule of its own. Every `.stars` rule in this
 * stylesheet is scoped to `.rating-sec`, which only 3 Columns full height
 * emits - so the stars rendered as inline SVGs with no layout, no gap and no
 * colour but the white written into the path. Its own class, so nothing here
 * reaches that element. */
.cwb-rating {
    display: flex;
    align-items: center;
    gap: 4px;
    /* The section's Accent Background, the same property the list markers and
     * the slider dots take. A profile with no accent set falls back to the
     * Default profile's before it ever reaches CSS; black is for a section
     * with no profile at all. */
    color: var(--cwb-accent-bg, #000);
}

/* Only when something follows it in the column, so a rating standing on its
 * own does not add a gap under the last thing on the card. :last-child counts
 * elements, so a rating that is the only block is last as well as first and
 * takes nothing either way. */
.cwb-rating:not(:last-child) {
    margin-bottom: 10px;
}

/* Sized so five never wrap out of a half-width column: the stars are 48x45 in
 * the file, which is 190px across at this height before gaps. Width follows
 * the viewBox. */
.cwb-rating .cwb-rating__star {
    flex: 0 0 auto;
    width: auto;
    height: 38px;
}

@media (max-width: 575.98px) {
    .cwb-rating .cwb-rating__star {
        height: 28px;
    }
}

/* Flexible Content - Image with overlay ===================================
 *
 * `.callout-img.halfcol--img` is shared with Content Grid and with Flexible
 * Content's own Image type, so everything here names `cwb-overlay-image` and
 * reaches this one alone. */

/* The picture was a CSS background on the box, fixed at `min-height: 210px`
 * whatever shape it was. It is an <img> filling a box of a chosen shape now,
 * so the crop is object-fit and the height comes from the ratio. */
.callout-img.halfcol--img.cwb-overlay-image {
    /* Three classes: `.callout-img.halfcol--img{min-height:210px}` is two, and
     * it sits in the compiled block at the foot of this file, so an equal
     * score would be settled by source order in its favour - which held the
     * box at 210px and broke the shape in a narrow column. */
    min-height: 0;
}

.cwb-overlay-image > .cwb-overlay-image__img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
}

/* The overlay covers the whole picture - a 40% tint with the text sitting at
 * the bottom of it, which is what `.callout-img .img-overlay` and
 * `.leftBottom-content` have always described. Bootstrap's `.ratio > *`
 * stretches it to the box for free, so there is nothing to add; it is only
 * noted here because shrinking it to its own text turns the tint into a band
 * across the bottom instead. */

/* Table - Fees, Term Dates, Staff List ====================================
 *
 * "Fixed Table Column Width" did almost nothing. It adds `.fixed-table`, and
 * the only rule for it was `.fee-table.fixed-table .table tr th{width:33.3%}`
 * - hardcoded to three columns, and never setting `table-layout`, so with the
 * default `auto` the browser was free to ignore the width entirely. Both
 * blocks using it are two-column tables, where it measured a plain 50/50.
 *
 * `table-layout: fixed` with no width at all divides the columns equally,
 * whatever their number, which is what the option's name promises. The 33.3%
 * has to be undone for that to work; three classes, because the rule setting
 * it is two and sits in the compiled block at the foot of this file. */
.fee-table.fixed-table .table.table-with-multi-cell {
    table-layout: fixed;
}

.fee-table.fixed-table .table.table-with-multi-cell tr th {
    width: auto;
}

/* The table's own colours follow the section's colour profile.
 *
 * Both were hardcoded to the brand red: the heading background and the line
 * under a row. They take the profile's accent now, falling back to that same
 * red where a section has no profile, so nothing moves where none is set. A
 * heading given a profile of its own paints itself inline and overrides this.
 *
 * Scoped to `.table-with-multi-cell`, because `.fee-table .table` is shared
 * with the retired Fees Heading element. */
.fee-table .table.table-with-multi-cell thead th {
    background: var(--cwb-accent-bg, #c41f2f);
}

.fee-table .table.table-with-multi-cell tbody tr {
    border-color: var(--cwb-accent-bg, #c41f2f);
}

/* Childs journey thumbnails ==============================================
 *
 * The two tints were <style> blocks written into the body, one per card, each
 * keyed to a `wp_rand()` class that changed on every page load. They are a
 * custom property on the element now, so there is one rule for all of them. */
.cwb-popup__tint {
    position: relative;
}

.cwb-popup__tint::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    background: var(--cwb-popup-tint, transparent);
    pointer-events: none;
}

/* The modal image was a CSS background on a fixed-height box, built from the
 * full-size original. It is an <img> filling that same box now, so it carries
 * a srcset, lazy loading and the Media Library's alt text - and the Image
 * position field reaches it through object-position, which is the first time
 * that field has done anything at all. */
.cwb-popup__modal-img {
    position: relative;
    overflow: hidden;
}

.cwb-popup__modal-img > .cwb-popup__modal-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

/* Category Tabs Grid
   ------------------------------------------------------------------------- */

/* Column count.
 *
 * The card width came from a hardcoded `.gallery li{width:31.3%}` - three
 * across, with no way to choose. These override that from 768px up only, so the
 * existing two-across and one-across rules below 768px and 576px still decide
 * the small screens. Two classes beat the single-class rule they override. */
@media (min-width: 768px) and (max-width: 991px) {
    /* Two across on a tablet whatever the choice, the same as the other card
     * elements, which take col-md-6 through this range. The base rule is
     * 31.3%, so three of these cards - a date, a title, an excerpt and a
     * button each - used to share a tablet row. */
    .gallery.cwb-catgrid li { width: 48%; }
}

@media (min-width: 992px) {
    .gallery.cwb-catgrid--2 li { width: 48%; }
    .gallery.cwb-catgrid--3 li { width: 31.3%; }
    .gallery.cwb-catgrid--4 li { width: 23%; }
}

/* A card image cropped to a chosen shape, the same treatment the other card
 * elements use: Bootstrap's .ratio positions and stretches the image, which
 * would distort it, so object-fit crops it instead. */
.cwb-catgrid__img.ratio > img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
}

/* Card title and card button colours are not set here.
 *
 * The card carries `cwb-default-colours`, the shared class this plugin already
 * prints rules for, which pins text links, the solid primary button and the
 * outline button to the Default Colour Profile - hover and active states
 * included. That is the right profile here whichever style the card button
 * uses, because the card keeps its white background whatever profile the
 * section around it is using. Two bespoke rules that did a narrower version of
 * the same job have been removed in favour of it. */

/* Where the card button sits. Centre is the default; the class is always
 * present, so this also replaces the inline `text-align` the button used to
 * carry, and `.centerText`, which switches to left below 767px. */
/* The card list's own bottom margin goes with its padding: the space under
 * the cards belongs to the View All button, which now carries it, so a grid
 * without one ends at the cards. */
.gallery.cwb-catgrid { margin-bottom: 0; }

/* The View All button stays centred at every width. `.centerText` centres on a
 * desktop but switches to left below 767px, which is not what this wants. */
.cwb-catgrid__viewall { text-align: center; }

.cwb-catgrid__btn-wrap--left   { text-align: left; }
.cwb-catgrid__btn-wrap--center { text-align: center; }
.cwb-catgrid__btn-wrap--right  { text-align: right; }

/* The category tab list.
 *
 * Spacing came from two places at once - `.filters{margin:1em 0}` plus an
 * `mb-4` on the element - giving 18px above and 24px below a 31px list. The
 * class is gone from the markup and the margin is set here in one place: none
 * on top, where the section padding or the heading block's own bottom margin
 * already provides the gap, and 24px below to separate the tabs from the cards. */
ul.cwb-catgrid-filters {
    margin-top: 0;
    margin-bottom: 12px;
}

/* 14px was small against 18px body copy. */
ul.cwb-catgrid-filters .filters__item a.filter {
    font-size: 16px;
    color: var(--cwb-link, #10171e);
}

ul.cwb-catgrid-filters .filters__item a.filter:hover,
ul.cwb-catgrid-filters .filters__item a.filter:focus,
ul.cwb-catgrid-filters .filters__item a.filter.active {
    color: var(--cwb-link-hover, #10171e);
}

/* The sliding rule under a tab keeps its animation and takes the section's
 * Accent Background Colour, the same source as the rule under a section label
 * and under each card's meta line. It was painted from a head style hardcoded
 * to the 1. Brand profile's background colour, with !important - which is why
 * this carries one too, and an extra element in the selector to outrank it. */
ul.cwb-catgrid-filters li.filters__item a.filter:after {
    border-bottom-color: var(--cwb-accent-bg, #000) !important;
}

/* The card meta line carries the gap to the title, rather than the title's
 * link carrying it above itself.
 *
 * The link takes `margin-top: 20px` from `.gallery li .card .card-body
 * .btn.btn-link`, which is five classes deep, hence the length of the selector
 * that zeroes it. The 14px below the meta line replaces it, so the spacing
 * belongs to the element that owns it and disappears with it when the meta
 * line is set to show neither.
 *
 * The rule's own padding drops from 22px to 18px, matching the section label:
 * `.title .body-small` sets 18px, and `.card .card-body .title>p.body-small`
 * was overriding it with 22px at four classes and an element, so this carries
 * one class more. */
.card .card-body .component.cwb-catgrid__meta {
    margin-bottom: 14px;
}

.card .card-body .component.cwb-catgrid__meta > p.body-small {
    padding-bottom: 18px;
}

.gallery li .card .card-body .cwb-catgrid__title .btn.btn-link {
    margin-top: 0;
    margin-bottom: 0;
    padding-right: 0;
}

/* The card button sits outside .card-body, so that the card's own flex column
 * can hold it at the foot whatever height the content above it comes to. That
 * part works; what it did not inherit was .card-body's horizontal padding, so
 * a left- or right-aligned button sat flush against the card edge, 16px out of
 * line with the title and text above it. It takes the same spacing token the
 * card body uses, so the two stay in step.
 *
 * Moving the button inside .card-body and pinning it with `margin-top: auto`
 * is the tidier structure, but .card-body sits inside .topcontent, which is a
 * plain block and does not grow - so it would need that wrapper restructured
 * too, and that is what holds a row of cards to a common height. Not worth
 * risking for spacing that this fixes exactly. */
.cwb-catgrid__btn-wrap {
    padding-left: var(--bs-card-spacer-x, 16px);
    padding-right: var(--bs-card-spacer-x, 16px);
}
