/**********
Locations - INS Locator
**********/
html {
    scroll-behavior: smooth;
}

body {
    width: 100%;
    padding: 0;
    margin: 0;
}

hr.grey{
    margin:0px;
    border-bottom: 1px solid #F2F4F8;
}
hr.darkgrey{
    margin:0px;
    border-bottom: 1px solid #F0F1F3;
}
hr.lightgrey{
    margin:0px;
    border-bottom: 1px solid #f2f2f2;
}
hr.full{
    width:100%;
    max-width: 100%;
}


.bg-main{
    background-color: var(--color-main);
}

.header .logo-image{
    max-width: 190px;
}
.header .bg-main a{
    font-style: normal;
    font-weight: 600;
    font-size: 12px;
    line-height: 12px;
    color: #FFFFFF;
    letter-spacing: 1px;
    text-transform: uppercase;
}

.footer .logo-image{
    max-width: 256px;
}
.footer .sub-logo{
    font-family: var(--font-family-01);
    font-style: normal;
    font-weight: 400;
    font-size: 12px;
    line-height: 18px;
    color: #505565;
    max-width:256px;
}
.footer .footer-text{
    font-family: var(--font-family-01);
    font-style: normal;
    font-weight: 400;
    font-size: 14px;
    line-height: 24px;
    color: #8B90A0;
}

.footer .footer-text a{
    color: #8b90a0;
    font-size: 14px;
    text-decoration: none;
    font-weight: 600;
}
.footer .footer-text a:hover{
    color: #58b7dd;
}


#results-list {
    overflow: auto;
    min-height: 350px;
    height: calc(100vh - 100px);
    display: none;
}
#results-list .result{
    margin: 0;
}
#results-list .placeholder-img {
    height: 100%;
    border-radius: var(--ins-border-radius);
}
#results-list .result .current-sched{
    font-weight: 700;
    color: var(--color-font-head);
}

.map-info-card-wrapper .links ins-button button,
#results-list .links ins-button button{
    font-weight: 600 !important;
    font-size: 14px;
    line-height: 14px;
    letter-spacing: 1px;
    font-family: var(--font-family-01);
    padding: 0px 32px;
    height:46px;
}


.map-info-card-wrapper ins-button:not(:first-child) button,
#results-list .result ins-button:not(:first-child) button{
    margin-left: 16px;
}

#results-list .featured-tag span,
.map-info-card-wrapper .featured-tag span{
    display: inline-block;
    font-family: var(--font-family-01);
    font-style: normal;
    font-weight: 600;
    font-size: 10px;
    line-height: 10px;
    color: #FFFFFF;
    background: #0A2435;
    border-radius: 2px;
    padding: 6px 8px;
    letter-spacing: 1px;
    text-transform: uppercase;
}
#results-list .featured-tag span i,
.map-info-card-wrapper .featured-tag span i{
    margin-right: 3px;
}

#results-list h3,
.map-info-card-wrapper h3{
    line-height: var(--typography-x-large);;
}

.search-locations ins-input [class*=ins-] label,
.search-locations [class*=ins-] label, 
.search-locations label, 
.search-locations .ins-form-field-wrap .ins-form-label,
.search-locations .ins-select-label-wrap {
    font-family: var(--font-family-01);
    font-weight: 600;
    font-size: var(--typography-small);
    line-height: var(--typography-medium);
    color: var(--color-font-head);
    margin-bottom: 7px;
}

.search-field button { display: inline-block; margin-top: 27px; }

.search-field .ins-form-field-wrap,
.search-field .ins-select-wrap{
    margin-bottom: 0px;
}

.location-details .h1-font{
    line-height: var(--typography-xxx-large);
}

.location-details #location-google-map {
    width: 100%;
    height: 300px;
}

.location-details .locator-gallery img{
    border-radius: 0px;
}
.location-details .locator-faq .ins-accordion-item_header>.inner-head{
    padding:16px;
}
.location-details .locator-faq .ins-accordion-item_header>.inner-head span.heading{
    line-height:24px;
}

.location-details .register-with{
    font-style: normal;
    font-weight: 400;
    font-size: 16px;
    line-height: 24px;
    color: #505565;
}


.locator-search .ins-accordion-item_header {
    padding-top: 0;
}
.locator-search .ins-accordion-item_header > .inner-head {
    border: none;
    padding: 0;
    line-height: 19px;
    font-weight: 400;
}

.locator-search .ins-accordion-item .ins-accordion-item_header > .inner-head {
    color: var(--color-font-sub);
}
.locator-search .ins-accordion-item .ins-accordion-item_header > .inner-head > span,
.locator-search .ins-accordion-item .ins-accordion-item_header > .inner-head > div{
    vertical-align: middle;
    color: var(--color-font-body);
}
.locator-search .ins-accordion-item .ins-accordion-item_header > .inner-head .ins-accordion-item_header_caret-wrap{
    position: relative;
    display: inline-block;
    top: 0px;
    margin-left: 10px;
}
.locator-search .ins-accordion-item .ins-accordion-item_header > .inner-head .ins-accordion-item_header_caret-wrap > span{
    padding: 0px;
}

.locator-search .ins-accordion-item_header > .inner-head .heading,
.locator-search .ins-accordion-item_content > .inner-content > .grid-x .cell {
    font-family: var(--font-family-03);
    font-size: var(--typography-small);
    line-height: 14px;
    vertical-align: middle;
}

.locator-search .ins-accordion-item.open > .ins-accordion-item_header > .inner-head {
    border: none;
    background-color: transparent;
}

.locator-search .ins-accordion-item_header_caret-wrap {
    right: 0;
}

.locator-search .ins-accordion-item_header .open-icon, .ins-accordion-item_header .close-icon {
    padding-left: 0;
    padding-right: 0;
}

.locator-search .ins-accordion-item_content .inner-content {
    border: none;
    padding: 0;
    padding-left: 25px;
    padding-top: 6px;
    color: var(--color-font-body);
    font-size: var(--typography-x-small);
}

.ins-locator-wrapper {
    position: relative;
}


.ins-locator-wrapper button{
    border-radius: 25px;
}
.ins-locator-wrapper .ins-locator-wrapper button.solid{
    background-color: var(--color-main);
    font-weight: 600 !important;
    font-size: 14px;
    line-height: 14px;
    letter-spacing: 1px;
    font-family: var(--font-family-01);
    padding: 0px 32px;
    height: 46px;
}
.ins-locator-wrapper ins-button button.blue.outlined{
    border: 2px solid var(--color-main);
    font-weight: 600 !important;
    font-size: 14px;
    line-height: 14px;
    letter-spacing: 1px;
    font-family: var(--font-family-01);
    padding: 0px 32px;
    height: 46px;
}

.ins-locator-wrapper #results-list {
    list-style: none;
    margin-left: 0;
}
.ins-locator-wrapper #results-list li {
    /*padding-bottom: 48px;*/
    /*padding-top: 48px;*/
    padding: 24px 24px 0px 24px;
    /*margin-left: 0;*/
}
.ins-locator-wrapper #results-list li > div{
    padding-bottom: 24px;
    border-bottom: var(--ins-border-style) var(--ins-border-thickness) var(--ins-border-color);
}
.ins-locator-wrapper #results-list li:last-child > div{
    border-bottom: 0px;
}

.ins-locator-wrapper #results-list li .location-p {
    padding-left: 26px;
    position: relative;
}
.ins-locator-wrapper #results-list li .location-p .detail-label{
    font-size: var(--typography-small);
}
.ins-locator-wrapper #results-list li .location-p .location-icon {
    position: absolute;
    left: 0;
    top: 6px;
}

.ins-locator-wrapper #results-list li:last-child {
    padding-bottom: 0;
    border-bottom: none;
}

.grid-x > .results-img-wrap {
    height: 150px;
    width: 212px;
    margin-bottom: 16px;
    margin-right: 12px;
    padding-left: 0;
}

.grid-x > .results-content-wrap {
    width: calc(100% - 224px);
}

.results-img-wrap img {
    max-height: 200px;
    width: 100%;
    height: 100%;
    border-radius: var(--ins-border-radius);
    object-fit: cover;
}

#search-results a {
    color: var(--color-font-sub);
}

#search-results a:hover {
    color: var(--color-main);
}

.location-contact-details .website-link a{
    font-family: var(--font-family-01);
    font-style: normal;
    font-weight: 400;
    font-size: 16px;
    line-height: 24px;
    color: #8B90A0;
}
.location-contact-details .website-link a i{
    vertical-align: initial;
    padding-right: 1px;
    font-size: 12px;
}
.location-contact-details .social-media-link a i{
    font-weight: 400;
    font-size: 24px;
    line-height: 24px;
    color: #8B90A0;
    padding-right: 16px;
}
.location-contact-details .social-media-link a:hover i,
.location-contact-details .website-link a:hover i{
    color: #58b7dd;
}


@media screen and (min-width: 1023px) and (max-width: 1154px) {
    #results-map {
        width: 55%;
    }
    #locator-map.hide-results {
        width: 45%;
    }
    .grid-x > .results-img-wrap {
        width: 100%;
        padding: 0;
    }
}
@media screen and (max-width: 1023px) {
    .grid-x > .results-content-wrap {
        width: 100%;
    }
    .grid-x > .results-img-wrap {
        width: 100%;
        padding: 0;
    }
}
@media screen and (max-width: 670px) {
    #results-list {
        height: auto;
    }
    .locator-search .ins-accordion-item_header > .inner-head {
        max-width: 300px;
    }
    .ins-locator-wrapper #results-list li:last-child {
        padding-bottom: 48px;
    }
    
}
@media screen and (max-width: 639px) {
    #results-map ins-button+ins-button button {
        margin-bottom: 0;
    }

    .location-details{
        padding-left: 24px;
        padding-right: 24px;
    }

    .location-details .location-content .enquireLocationBtn button{
        display: block;
        width: 100%;
    }

    .search-field #search-submit{
        display: block;
    }
    .search-field #search-submit button{
        margin-top: 0px;
        display: block;
        width: 100%;
    }
    .search-locations.search-field > div{
        padding-left: 24px;
        padding-right: 24px;
    } 

    .result .links ins-button{
        display: block;
    }
    .result .links ins-button button{
        display: block;
        width: 100%;
    }
    .map-info-card-wrapper .links ins-button{
        display: block;
    }
    .map-info-card-wrapper .links ins-button button{
        display: block;
        width: 100%;
    }

    .map-info-card-wrapper ins-button:not(:first-child) button, 
    #results-list .result ins-button:not(:first-child) button{
        margin-left: 0px;
        margin-top: 16px;
    }

    .footer .sub-logo{
        max-width:100%;
    }
    .footer > .grid-container{
        padding-right: 24px;
        padding-left: 24px;
    }

    .locator-legend.grid-container{
        padding-right: 24px;
        padding-left: 24px;
    }

}
@media screen and (max-width: 340px) {
    .ins-locator-wrapper #results-list li {
        margin: 0;
    }
}

.btn-container a.ins-button + ins-button:last-child button {
    margin-bottom: 0;
}

.ins-locator-wrapper #results-list li .location-name {
    font-family: var(--font-family-03);
    font-size: var(--typography-x-large);
    line-height: 29px;
    font-weight: 600;
    color: var(--color-font-head);
    margin: 0;
}
.ins-locator-wrapper #results-list li .location-name:hover {
    color: var(--color-main);
}

.ins-locator-wrapper #results-list li p:not(.location-name) {
    font-family: var(--font-family-02);
    font-size: var(--typography-small);
    color: var(--color-font-body);
    line-height: 24px;
}

.ins-locator-wrapper ins-drawer .ins-drawer-wrap .ins-content.left.custom-width {
    left: -720px;
}

.ins-locator-wrapper ins-drawer .ins-drawer-header h4 {
    font-family: var(--font-family-01);
    font-weight: 700;
    font-size: var(--typography-xx-large);
    color: var(--color-font-head);
    line-height: normal;
}

.ins-locator-wrapper ins-drawer .form-wrapper {
    padding: 12px;
}

@media screen and (max-width: 720px) {
    .ins-locator-wrapper .results-img-wrap {
        margin-bottom: 16px;
        width: 100%;
        height: auto;
    }

    #results-list .placeholder-img {
        height: 150px;
    }

    ins-drawer .ins-drawer-wrap .ins-content.left {
        width: 100% !important;
    }
}

.ins-locator-wrapper ins-drawer .ins-content p [class*="icon-"],
.map-info-card-wrapper .content-wrapper p [class*="icon-"]
 {
    padding-right: 12px;
    display: inline-block;
    width: 25px;
    vertical-align: top;
    margin-top: 2px;
    line-height: 17px;
}
.ins-locator-wrapper ins-drawer .ins-content p span{
    display: inline-block;
    width: 85%;
}

.map-info-card-wrapper .image-wrapper img{
    height: 146px;
    object-fit: cover;
    object-position: center;
    width:100%;
}

.location-contact-details p [class*="icon-"],
.location-contact-details a [class*="icon-"] {
    padding-right: 12px;
}

.location-contact-details .get-directions {
    color: var(--color-main);
}

.location-contact-details a {
    color: var(--color-font-sub);
}

.location-contact-details a:hover {
    color: var(--color-main);
}

.location-contact-details .enquireLocationBtn > button{
    width:100%;
}

.contact ul li {
    margin-bottom: 8px;
}

.contact ul.days li {
    color: var(--color-font-head);
}

/* Google Map CSS Overwrites */
.gm-style .gm-style-iw-c,
.gm-style-iw-d {
    padding: 0;
    max-width: initial !important;
    overflow: auto !important;
    max-height: none !important;
}
.gm-style-iw.gm-style-iw-c button {
    top: 0 !important;
    right: 0 !important;
}
.gm-style-iw.gm-style-iw-c button.gm-ui-hover-effect {
    opacity: 1 !important;
}

.gm-style-iw.gm-style-iw-c button.gm-ui-hover-effect::before,
.gm-style-iw.gm-style-iw-c button.gm-ui-hover-effect::after {    
    content: '';
    position: absolute;
    border-radius: 2px;
    width: 14px;
    height: 1px;
    background-color: #e4e6ec;
    top: 16px;
    box-shadow: 1px 1px 3px rgba(140, 148, 164, 0.3);
}

.gm-style-iw.gm-style-iw-c button.gm-ui-hover-effect::before {
    -webkit-transform: rotate(45deg);
    -moz-transform: rotate(45deg);
    transform: rotate(45deg);
    left: 9px;
}

.gm-style-iw.gm-style-iw-c button.gm-ui-hover-effect::after {
    -webkit-transform: rotate(-45deg);
    -moz-transform: rotate(-45deg);
    transform: rotate(-45deg);
    right: 7px;
}

.gm-style-iw.gm-style-iw-c button.gm-ui-hover-effect img {
    display: none !important;
}

/* Map Info Card CSS */
#ins-locator-map {
    border-radius: var(--ins-border-radius);
    width: 100%;
    min-height: 350px;
    height: calc(100vh - 100px)
}

#ins-locator-map .btn-search-results {
    display: none;
}

#locator-map.show-results .btn-search-results,
#locator-map.hide-results .btn-search-results {
    display: block;
}

#locator-map .gm-ui-hover-effect>span{
    background-color: #FFFFFF;
}

#locator-map .gm-style-iw.gm-style-iw-c button.gm-ui-hover-effect::before, 
#locator-map .gm-style-iw.gm-style-iw-c button.gm-ui-hover-effect::after{
    width: 14px;
    height: 2px;
    top: 14px;
    background-color: #FFFFFF;
    box-shadow: none;
}

.pac-container:after {
    background-image: none !important;
    height: 0px;
}

.map-info-card-wrapper {
    position: relative;
    width: 100%;
    max-width: 374px;
}
.content-wrapper {
    padding: 24px;
}

.content-wrapper .location-name {
    font-family: var(--font-family-01);
    font-size: 16px;
    line-height: 20px;
    font-weight: 700;
    margin: 0;    
    color: #2B2B2B;
}

.content-wrapper p:not(.location-name) {
    font-family: var(--font-family-01);
    font-size: 14px;
    line-height: 24px;
    color: #595959;
    font-weight: 400;
    overflow: hidden;
    text-overflow: ellipsis;
}
.content-wrapper p .detail-label{
    font-size: 12px;
    line-height: 15px;
    vertical-align: text-top;
}

#locator-enquiry-form .ins-input-tel-wrap .iti .iti__flag-container .iti__selected-flag {
    min-height: 39px;
    padding: 5px 8px;
}

#fdca-locator-enquiry-form .ins-form-error,
#locator-enquiry-form .ins-form-error{
    font-family: var(--font-family-03);
    font-weight: 400;
    font-size: var(--typography-x-small);
    line-height: normal;
    color: var(--color-error);
    display: none;
}

#fdca-locator-enquiry-form [has-error="true"] .ins-form-error,
#locator-enquiry-form [has-error="true"] .ins-form-error{
    display: inline-block;
}

#fdca-locator-enquiry-form ins-button button.blue.solid{
    border-radius: 25px;
    font-weight: 600 !important;
    font-size: 14px;
    line-height: 14px;
    letter-spacing: 1px;
    font-family: var(--font-family-01);
    padding: 0px 32px;
    height: 46px;
}

#fdca-locator-enquiry-form [type=checkbox]{
    margin:0px 0px;
    vertical-align: middle;
}
#fdca-locator-enquiry-form .checkbox-label{
    font-family: var(--font-family-01);
    font-weight: 600;
    font-size: 12px;
    line-height: 22px;
    vertical-align: middle;
}


.opening-hours p{
    font-family: var(--font-family-01);
    font-weight: 400;
    font-size: 16px;
    line-height: 24px;
}
.opening-hours .day{
    color: var(--color-font-body);
}
.opening-hours .sched{
    color: var(--color-font-body);
}

.map-info-card-wrapper div.description > p{
    display: -webkit-box;
    -webkit-line-clamp: 5;
    -webkit-box-orient: vertical;
    overflow: hidden;
    font-size: 14px;
    line-height: 24px ;
    color: var(--color-font-body);
}

#results-list .results-content-wrap .category,
.content-wrapper .category {
    font-family: var(--font-family-01);
    text-transform: uppercase;
    display: block;
    letter-spacing: 0.5px;
    font-size: 12px;
    line-height: 12px;
    font-weight: 700;
}
#results-list .results-content-wrap .category.educator,
.content-wrapper .category.educator {
    color: #D93B20;
}
#results-list .results-content-wrap .category.service,
.content-wrapper .category.service {
    color: #FAA61A;
}



@media screen and (min-width: 781px) and (max-width: 1023px) {
    .map-info-card-wrapper,
    .gm-style img {
        max-width: 320px;
    }
}

@media screen and (max-width: 670px) {
    #locator-map.show-results .btn-search-results,
    #locator-map.hide-results .btn-search-results {
        display: none;
    }
    
}

@media screen and (min-width: 640px) and (max-width: 780px) {
    .map-info-card-wrapper,
    .gm-style img {
        max-width: 265px;
    }
}

@media screen and (max-width: 639px) {
    .map-info-card-wrapper ins-button button {
        display: inline-block;
        width: auto;
        margin-bottom: 0;
    }

    #ins-locator-map {
        min-height: 100vh;
        width: auto;
    }
}

@media screen and (max-width: 420px) {
    .gm-style .gm-style-iw-c {
        max-width: 280px !important;
    }

    .gm-style-iw-d .image-wrapper a {
        display: block;
        width: 100%;
        height: 140px;
        overflow: hidden;
    }

    .gm-style-iw-d .image-wrapper a img {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }

    .map-info-card-wrapper,
    .gm-style img {
        max-width: 280px;
    }

    .gm-style-iw-d .content-wrapper .location-name {
        font-size: 18px;
        line-height: initial;
    }

    .gm-style-iw.gm-style-iw-c button[title="Close"] {
        top: 5px !important;
        right: 5px !important;
    }

    .gm-style-iw.gm-style-iw-c button[title="Close"] img {
        width: 16px !important;
        height: 16px !important;
    }

    .ins-locator-wrapper .search-field {
        width: 100%;
    }

    /* Google Maps Mobile Styles */
    #ins-locator-map .gmnoprint button {
        font-size: 14px !important;
        height: 34px !important;
    }

    #ins-locator-map button.gm-fullscreen-control {
        width: 34px !important;
        height: 34px !important;
    }

    .gm-control-active>img {
        height: 14px !important;
        width: 14px !important;
    }
}

.disclaimer-container a,
.locator-legends a{
    color: #58b7dd;
    font-size: 16px;
    line-height: 24px;
    font-weight: 600;
    text-decoration: none;
}

.locator-disclaimer.small {
    font-size: 14px;
    font-style: italic;
}

.locator-legends.heading{
    display: flex;
    align-items: center;
}

.locator-legends.heading img{
    padding-top: 0;
    margin-right: 16px;
    padding-bottom: 0;
    vertical-align: middle;
    display: inline-block;
}
.locator-legends.heading h2{
    display: inline-block;
    vertical-align: middle;
}

.maplegends{
    display: flex;
    margin-right: 16px;
    align-items: center;
}
.maplegends-pargraph{
    font-family: var(--font-family-01);
    color: #4a4a4a;
    margin-bottom: 0;
    padding-right: 16px;
    font-size: 14px;
    line-height: 14px;
    font-weight: 600;
}
.maplegends-pargraph.small{
    margin-bottom: 0;
    padding-right: 0;
    color: var(--color-font-body);
    font-size: var(--typography-x-small);
    font-weight: 400;
}
.maplegends-pin{
    margin-right: 8px;
    display: inline-block;
}


.go-back-nav a{
    font-family: var(--font-family-01);
    font-weight: 600;
    font-size: 12px;
    line-height: 12px;
    letter-spacing: 1px;
    text-transform: uppercase;
    color: #0A2435;
}

.availability{
    color: #0DB14B;
}
.availability.false{
    color: #EB3800;
}

.thank-you h2{
    font-size: 48px;
    line-height: 48px;
}

.thank-you-img i{
    color: #37B68F;
    font-size: 5rem;
    font-weight: 600;
}

.subtext{
    font-family: var(--font-family-01);
    font-weight: 400;
    font-size: 12px;
    line-height: 16px;
    color: #8B90A0;
}

ins-drawer#locator-form-drawer .ins-drawer-header.sticky{
    position: relative;
}
ins-drawer#locator-form-drawer .ins-drawer-header.sticky+.ins-drawer-body{
    margin-top: 0px;
}

.mini-cards-cont > div{
    display: inline-block;
}
.mini-cards-cont .mini-cards{
    background-color: #F0F1F3;
    border-radius: 4px;
    padding: 6px 10px;
    margin-right:8px;
    font-weight: 600;
    font-size: 12px;
    line-height: 14px;
    font-family: var(--font-family-01);
    color: #505565;
    margin-bottom: 8px;
}

.specialisation .special-title{
    font-family: var(--font-family-01);
    font-weight: 600;
    font-size: 24px;
    line-height: 24px;
    color: #0A2435;;
}
.specialisation .special-list ul li{
    font-family: var(--font-family-01);
    font-weight: 600;
    font-size: 16px;
    line-height: 24px;
    color: #505565;
}

.dynamic-content,
.dynamic-content p{
    font-weight: 400;
    font-size: 16px;
    line-height: 24px;
    color: #8B90A0;
}

.emp{
    font-weight: 600;
    color: #505565;
}


#swal2-content .ins-loader-wrap--title{
    font-size: var(--typography-x-large);
    font-family: var(--font-family-01);
    color: var(--color-font-head);
    margin-bottom: 0;
    font-weight: 600;
}